- changed PhosphorousFire.DoSpecialDamage to match SVE's handling:

* Everything with a damage factor for fire only uses that.
* Everything that bleeds takes half damage
* Robots take quarter damage.
This commit is contained in:
Christoph Oelckers 2018-11-16 21:36:21 +01:00
parent 8c57447108
commit cfa11046ab

View file

@ -244,11 +244,18 @@ class PhosphorousFire : Actor
override int DoSpecialDamage (Actor target, int damage, Name damagetype)
{
// This may look a bit weird but is the same as in SVE:
// For the bosses, only their regular 0.5 damage factor for fire applies.
let firedamage = target.ApplyDamageFactor('Fire', damage);
if (firedamage != damage) return damage; // if the target has a factor, do nothing here. The factor will be applied elsewhere.
// For everything else damage is halved, for robots quartered.
damage >>= 1;
if (target.bNoBlood)
{
return damage / 2;
damage >>= 1;
}
return Super.DoSpecialDamage (target, damage, damagetype);
return damage;
}
// This function is mostly redundant and only kept in case some mod references it.