Fix DamageModifier crashes when an actor is demolished.
Demolish calls GetDamageModifier with a null Damage.
This commit is contained in:
@@ -92,7 +92,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (!IsProne)
|
if (!IsProne)
|
||||||
return 100;
|
return 100;
|
||||||
|
|
||||||
if (damage.DamageTypes.IsEmpty)
|
if (damage == null || damage.DamageTypes.IsEmpty)
|
||||||
return 100;
|
return 100;
|
||||||
|
|
||||||
var modifierPercentages = info.DamageModifiers.Where(x => damage.DamageTypes.Contains(x.Key)).Select(x => x.Value);
|
var modifierPercentages = info.DamageModifiers.Where(x => damage.DamageTypes.Contains(x.Key)).Select(x => x.Value);
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
int IDamageModifier.GetDamageModifier(Actor attacker, Damage damage)
|
int IDamageModifier.GetDamageModifier(Actor attacker, Damage damage)
|
||||||
{
|
{
|
||||||
if (attacker.Owner.IsAlliedWith(self.Owner) && damage.Value < 0 && !Info.ModifyHealing)
|
if (!Info.ModifyHealing && attacker.Owner.IsAlliedWith(self.Owner) && damage != null && damage.Value < 0)
|
||||||
return FullDamage;
|
return FullDamage;
|
||||||
|
|
||||||
var world = self.World;
|
var world = self.World;
|
||||||
|
|||||||
Reference in New Issue
Block a user