From abec2296a5d34d132fe4a408d61bedfd95f1889e Mon Sep 17 00:00:00 2001 From: Adrian16199 Date: Tue, 6 Feb 2024 15:04:38 +0100 Subject: [PATCH] Allow metapsionic to detect mindswapped bodys. Reason: Because there is no other way to find out unless you were at the place right before someone mindswapped. To-do: Find out why it crashes because at the least its better if it crashes compared to doin a workin build but the power doesnt work anymore. --- .../Psionics/Abilities/MetapsionicPowerSystem.cs | 15 ++++++++++++++- .../en-US/nyanotrasen/abilities/psionic.ftl | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs b/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs index b775117b716..6a68909c67f 100644 --- a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs +++ b/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/MetapsionicPowerSystem.cs @@ -54,7 +54,13 @@ private void OnShutdown(EntityUid uid, MetapsionicPowerComponent component, Comp } private void OnPowerUsed(EntityUid uid, MetapsionicPowerComponent component, MetapsionicPowerActionEvent args) - { + { + if (HasComp(entity)) + + _popups.PopupEntity(Loc.GetString("metapsionic-pulse-mindswapped"), uid, uid, PopupType.LargeCaution); + args.Handled = true; + return; + foreach (var entity in _lookup.GetEntitiesInRange(uid, component.Range)) { if (HasComp(entity) && entity != uid && !HasComp(entity) && @@ -64,6 +70,13 @@ private void OnPowerUsed(EntityUid uid, MetapsionicPowerComponent component, Met args.Handled = true; return; } + + if (HasComp(entity) && entity != uid) + { + _popups.PopupEntity(Loc.GetString("metapsionic-pulse-mindswapped"), uid, uid, PopupType.LargeCaution); + args.Handled = true; + return; + } } _popups.PopupEntity(Loc.GetString("metapsionic-pulse-failure"), uid, uid, PopupType.Large); _psionics.LogPowerUsed(uid, "metapsionic pulse", 2, 4); diff --git a/Resources/Locale/en-US/nyanotrasen/abilities/psionic.ftl b/Resources/Locale/en-US/nyanotrasen/abilities/psionic.ftl index 91ae21233a3..4fd3e12a92d 100644 --- a/Resources/Locale/en-US/nyanotrasen/abilities/psionic.ftl +++ b/Resources/Locale/en-US/nyanotrasen/abilities/psionic.ftl @@ -9,6 +9,7 @@ action-description-metapsionic = Send a mental pulse through the area to see if metapsionic-pulse-success = You detect psychic presence nearby. metapsionic-pulse-failure = You don't detect any psychic presence nearby. metapsionic-pulse-power = You detect that {$power} was used nearby. +metapsionic-pulse-mindswapped = You detect that someone is mindswapped action-name-dispel = Dispel action-description-dispel = Dispel summoned entities such as familiars or forcewalls.