Exemple #1
0
 /**
  * Hurt this entity.
  *
  * @param amount
  */
 public final void damageEntity(float amount) {
   Entity2DHurtEvent eventHurt = new Entity2DHurtEvent(this, amount);
   if (!Scarlet.eventReactor.post(eventHurt)) {
     return;
   }
   float newAmount = eventHurt.amt;
   if (ai != null) {
     if (ai.canHostTakeDamage()) {
       ai.onHostDamaged(newAmount);
       if (ai.getCurrentHealth() <= 0) {
         setDead();
       }
     }
     return;
   }
   health -= newAmount;
   if (health < 0) {
     if (!Scarlet.eventReactor.post(new Entity2DKilledEvent(this))) {
       return;
     }
     setDead();
   }
 }