Skip to content

Commit e01728c

Browse files
authored
Disallow bible healing if target is dead (#8999)
1 parent 4c6b017 commit e01728c

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

Content.Server/Bible/BibleSystem.cs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@ private void OnAfterInteract(EntityUid uid, BibleComponent component, AfterInter
9292
{
9393
return;
9494
}
95-
if (args.Target == null || args.Target == args.User || !HasComp<MobStateComponent>(args.Target))
95+
96+
if (args.Target == null || args.Target == args.User || !TryComp<MobStateComponent>(args.Target, out var mobState)
97+
|| mobState.IsDead())
9698
{
9799
return;
98100
}
@@ -112,19 +114,19 @@ private void OnAfterInteract(EntityUid uid, BibleComponent component, AfterInter
112114
}
113115

114116
// This only has a chance to fail if the target is not wearing anything on their head and is not a familiar.
115-
if (!_invSystem.TryGetSlotEntity(args.Target.Value, "head", out var entityUid) && !HasComp<FamiliarComponent>(args.Target.Value))
117+
if (!_invSystem.TryGetSlotEntity(args.Target.Value, "head", out var _) && !HasComp<FamiliarComponent>(args.Target.Value))
116118
{
117119
if (_random.Prob(component.FailChance))
118120
{
119-
var othersFailMessage = Loc.GetString(component.LocPrefix + "-heal-fail-others", ("user", args.User),("target", args.Target),("bible", uid));
120-
_popupSystem.PopupEntity(othersFailMessage, args.User, Filter.Pvs(args.User).RemoveWhereAttachedEntity(puid => puid == args.User));
121+
var othersFailMessage = Loc.GetString(component.LocPrefix + "-heal-fail-others", ("user", args.User),("target", args.Target),("bible", uid));
122+
_popupSystem.PopupEntity(othersFailMessage, args.User, Filter.Pvs(args.User).RemoveWhereAttachedEntity(puid => puid == args.User));
121123

122-
var selfFailMessage = Loc.GetString(component.LocPrefix + "-heal-fail-self", ("target", args.Target),("bible", uid));
123-
_popupSystem.PopupEntity(selfFailMessage, args.User, Filter.Entities(args.User));
124+
var selfFailMessage = Loc.GetString(component.LocPrefix + "-heal-fail-self", ("target", args.Target),("bible", uid));
125+
_popupSystem.PopupEntity(selfFailMessage, args.User, Filter.Entities(args.User));
124126

125-
SoundSystem.Play("/Audio/Effects/hit_kick.ogg", Filter.Pvs(args.Target.Value), args.User);
126-
_damageableSystem.TryChangeDamage(args.Target.Value, component.DamageOnFail, true);
127-
return;
127+
SoundSystem.Play("/Audio/Effects/hit_kick.ogg", Filter.Pvs(args.Target.Value), args.User);
128+
_damageableSystem.TryChangeDamage(args.Target.Value, component.DamageOnFail, true);
129+
return;
128130
}
129131
}
130132

0 commit comments

Comments
 (0)