Beispiel #1
0
 public float takeFireDamage(float delta, ObjectInteractable source)//Damage subtracts. deltas should be positive.
 {
     if (!dead && takesFireDamage)
     {
         if (delta >= 0.5f)
         {
             foreach (var observer in fireHitObservers)
             {
                 observer.trigger(source.gameObject);
             }
             foreach (var observer in fireDamageObservers)
             {
                 delta = observer.trigger(delta);
             }
         }
         BurningEffect burning = GetComponent <BurningEffect>();
         if (burning != null)
         {
             burning.addDuration(delta / 100);
         }
         return(takeRawDamage(applyArmor(fireArmor, delta), source));
     }
     else
     {
         return(0);
     }
 }