public int reduceMp(int value){
  mpLock.lock();
  try {
    int newMp=this.currentMp - value;
    if (newMp < 0) {
      newMp=0;
    }
    this.currentMp=newMp;
  }
  finally {
    mpLock.unlock();
  }
  if (value != 0) {
    onReduceMp();
  }
  return currentMp;
}

public int reduceMp ( int value ) { mpLock . lock ( ) ; try { int newMp = this . currentMp - value ; if ( newMp < 0 ) { newMp = 0 ; } this . currentMp = newMp ; } finally { mpLock . unlock ( ) ; } if ( value != 0 ) { onReduceMp ( ) ; } return currentMp ; }
this method is called whenever caller wants to absorb creatures ' s hp
