private void OnCreamPiedHitBy(EntityUid uid, CreamPiedComponent creamPied, ThrowHitByEvent args) { if (!EntityManager.EntityExists(args.Thrown) || !EntityManager.TryGetComponent(args.Thrown, out CreamPieComponent? creamPie)) { return; } SetCreamPied(uid, creamPied, true); CreamedEntity(uid, creamPied, args); _stunSystem.TryParalyze(uid, TimeSpan.FromSeconds(creamPie.ParalyzeTime), true); }
private void OnCreamPiedHitBy(EntityUid uid, CreamPiedComponent creamPied, ThrowHitByEvent args) { if (args.Thrown.Deleted || !args.Thrown.TryGetComponent(out CreamPieComponent? creamPie)) { return; } SetCreamPied(uid, creamPied, true); CreamedEntity(uid, creamPied, args); _stunSystem.TryParalyze(uid, TimeSpan.FromSeconds(creamPie.ParalyzeTime)); }
public void SetCreamPied(EntityUid uid, CreamPiedComponent creamPied, bool value) { if (value == creamPied.CreamPied) { return; } creamPied.CreamPied = value; if (EntityManager.TryGetComponent(uid, out AppearanceComponent? appearance)) { appearance.SetData(CreamPiedVisuals.Creamed, value); } }
private void OnCreamPiedHitBy(EntityUid uid, CreamPiedComponent creamPied, ThrowHitByEvent args) { if (args.Thrown.Deleted || !args.Thrown.TryGetComponent(out CreamPieComponent? creamPie)) { return; } SetCreamPied(uid, creamPied, true); CreamedEntity(uid, creamPied, args); if (ComponentManager.TryGetComponent(uid, out SharedStunnableComponent? stun)) { stun.Paralyze(creamPie.ParalyzeTime); } }
protected override void CreamedEntity(EntityUid uid, CreamPiedComponent creamPied, ThrowHitByEvent args) { creamPied.Owner.PopupMessage(Loc.GetString("cream-pied-component-on-hit-by-message", ("thrower", args.Thrown))); creamPied.Owner.PopupMessageOtherClients(Loc.GetString("cream-pied-component-on-hit-by-message-others", ("owner", creamPied.Owner), ("thrower", args.Thrown))); }
protected virtual void CreamedEntity(EntityUid uid, CreamPiedComponent creamPied, ThrowHitByEvent args) { }