Make some damage sources not cancel do afters (#24635)
- poison chemicals (HealthChange effect) - being on fire - guardians transferring damage to owner
This commit is contained in:
committed by
GitHub
parent
dfa10be890
commit
3e3cb10a96
@@ -402,7 +402,7 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
if (TryComp(uid, out TemperatureComponent? temp))
|
if (TryComp(uid, out TemperatureComponent? temp))
|
||||||
_temperatureSystem.ChangeHeat(uid, 12500 * damageScale, false, temp);
|
_temperatureSystem.ChangeHeat(uid, 12500 * damageScale, false, temp);
|
||||||
|
|
||||||
_damageableSystem.TryChangeDamage(uid, flammable.Damage * damageScale);
|
_damageableSystem.TryChangeDamage(uid, flammable.Damage * damageScale, interruptsDoAfters: false);
|
||||||
|
|
||||||
AdjustFireStacks(uid, flammable.FirestackFade * (flammable.Resisting ? 10f : 1f), flammable);
|
AdjustFireStacks(uid, flammable.FirestackFade * (flammable.Resisting ? 10f : 1f), flammable);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,7 +115,11 @@ namespace Content.Server.Chemistry.ReagentEffects
|
|||||||
var scale = ScaleByQuantity ? args.Quantity : FixedPoint2.New(1);
|
var scale = ScaleByQuantity ? args.Quantity : FixedPoint2.New(1);
|
||||||
scale *= args.Scale;
|
scale *= args.Scale;
|
||||||
|
|
||||||
args.EntityManager.System<DamageableSystem>().TryChangeDamage(args.SolutionEntity, Damage * scale, IgnoreResistances);
|
args.EntityManager.System<DamageableSystem>().TryChangeDamage(
|
||||||
|
args.SolutionEntity,
|
||||||
|
Damage * scale,
|
||||||
|
IgnoreResistances,
|
||||||
|
interruptsDoAfters: false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,7 +262,11 @@ namespace Content.Server.Guardian
|
|||||||
if (args.DamageDelta == null || component.Host == null || component.DamageShare > 0)
|
if (args.DamageDelta == null || component.Host == null || component.DamageShare > 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_damageSystem.TryChangeDamage(component.Host, args.DamageDelta * component.DamageShare, origin: args.Origin);
|
_damageSystem.TryChangeDamage(
|
||||||
|
component.Host,
|
||||||
|
args.DamageDelta * component.DamageShare,
|
||||||
|
origin: args.Origin,
|
||||||
|
interruptsDoAfters: false);
|
||||||
_popupSystem.PopupEntity(Loc.GetString("guardian-entity-taking-damage"), component.Host.Value, component.Host.Value);
|
_popupSystem.PopupEntity(Loc.GetString("guardian-entity-taking-damage"), component.Host.Value, component.Host.Value);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user