Emp prot tags are more specific, also no longer leak stealthy emp protection (#93211)

## About The Pull Request

Fixes #93199

EMP protection now specifies what it protects

Adds an EMP flag for things which should definitely not indicate they
are EMP proof

## Changelog

🆑 Melbert
fix: EMP proof objects now specify what they protect rather than only
implying it's 100% emp proof
fix: Some objects meant to stealthily be emp proof no longer broadcast
they are emp proof on examine
/🆑
This commit is contained in:
MrMelbert
2025-10-02 05:05:57 +02:00
committed by GitHub
parent 0516510180
commit e350c50a5c
11 changed files with 41 additions and 19 deletions
@@ -39,7 +39,7 @@
return
add_lightning_overlay(30 SECONDS)
playsound(organ_owner, 'sound/items/eshield_recharge.ogg', 40)
organ_owner.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS)
organ_owner.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS|EMP_NO_EXAMINE)
RegisterSignal(organ_owner, SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION), PROC_REF(activate_survival))
RegisterSignal(organ_owner, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act))
@@ -48,7 +48,7 @@
if(!core)
return
UnregisterSignal(organ_owner, SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION))
organ_owner.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS)
organ_owner.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS|EMP_NO_EXAMINE)
tesla_zap(source = organ_owner, zap_range = 20, power = 2.5e5, cutoff = 1e3)
qdel(src)