diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index df59c077e0a..d4bf56f5803 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -422,7 +422,7 @@ if(. & EMP_PROTECT_CONTENTS) return selected_module?.on_deactivation(display_message = TRUE) - wearer.apply_damage(10 / severity, BURN, spread_damage=TRUE) + wearer.apply_damage(5 / severity, BURN, spread_damage=TRUE) to_chat(wearer, span_danger("You feel [src] heat up from the EMP, burning you slightly.")) if(wearer.stat < UNCONSCIOUS && prob(10)) wearer.emote("scream") diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index 69736850748..d7320f56b03 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -146,6 +146,7 @@ applied_cell = /obj/item/stock_parts/cell/super initial_modules = list( /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, /obj/item/mod/module/magnetic_harness, /obj/item/mod/module/jetpack, /obj/item/mod/module/pathfinder, @@ -171,6 +172,7 @@ req_access = list(ACCESS_SYNDICATE) initial_modules = list( /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, /obj/item/mod/module/magnetic_harness, /obj/item/mod/module/jetpack/advanced, /obj/item/mod/module/flashlight, @@ -205,7 +207,7 @@ initial_modules = list( /obj/item/mod/module/storage/large_capacity, /obj/item/mod/module/energy_shield/wizard, - /obj/item/mod/module/emp_shield, + /obj/item/mod/module/emp_shield/advanced, ) /obj/item/mod/control/pre_equipped/prototype @@ -302,7 +304,7 @@ initial_modules = list( /obj/item/mod/module/storage/bluespace, /obj/item/mod/module/welding, - /obj/item/mod/module/emp_shield, + /obj/item/mod/module/emp_shield/advanced, /obj/item/mod/module/magnetic_harness, /obj/item/mod/module/jetpack, ) @@ -315,6 +317,7 @@ /obj/item/mod/module/storage/bluespace, /obj/item/mod/module/hat_stabilizer, /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/emp_shield/advanced, ) /obj/item/mod/control/pre_equipped/chrono @@ -347,6 +350,7 @@ applied_core = /obj/item/mod/core/infinite initial_modules = list( /obj/item/mod/module/storage/bluespace, + /obj/item/mod/module/emp_shield/advanced, /obj/item/mod/module/welding, /obj/item/mod/module/stealth/ninja, /obj/item/mod/module/quick_carry/advanced, diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 8773296aa42..fbcf26394e7 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -189,8 +189,8 @@ /obj/item/mod/module/emp_shield name = "MOD EMP shield module" desc = "A field inhibitor installed into the suit, protecting it against feedback such as \ - electromagnetic pulses that would otherwise damage the electronic systems of the suit or devices on the wearer. \ - However, it will take from the suit's power to do so. Luckily, your PDA already has one of these." + electromagnetic pulses that would otherwise damage the electronic systems of the suit or it's modules. \ + However, it will take from the suit's power to do so." icon_state = "empshield" complexity = 1 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 @@ -202,6 +202,19 @@ /obj/item/mod/module/emp_shield/on_uninstall(deleting = FALSE) mod.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_WIRES|EMP_PROTECT_CONTENTS) +/obj/item/mod/module/emp_shield/advanced + name = "MOD advanced EMP shield module" + desc = "An advanced field inhibitor installed into the suit, protecting it against feedback such as \ + electromagnetic pulses that would otherwise damage the electronic systems of the suit or electronic devices on the wearer, \ + including augmentations. However, it will take from the suit's power to do so." + complexity = 2 + +/obj/item/mod/module/emp_shield/advanced/on_suit_activation() + mod.wearer.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + +/obj/item/mod/module/emp_shield/advanced/on_suit_deactivation(deleting) + mod.wearer.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + ///Flashlight - Gives the suit a customizable flashlight. /obj/item/mod/module/flashlight name = "MOD flashlight module" diff --git a/code/modules/uplink/uplink_items/nukeops.dm b/code/modules/uplink/uplink_items/nukeops.dm index da367c904a6..b9e7e95567a 100644 --- a/code/modules/uplink/uplink_items/nukeops.dm +++ b/code/modules/uplink/uplink_items/nukeops.dm @@ -638,12 +638,11 @@ cost = 15 purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS -/datum/uplink_item/suits/energy_shield - name = "MODsuit Energy Shield Module" - desc = "An energy shield module for a MODsuit. The shields can handle up to three impacts \ - within a short duration and will rapidly recharge while not under fire." - item = /obj/item/mod/module/energy_shield - cost = 15 +/datum/uplink_item/suits/emp_shield + name = "MODsuit Advanced EMP Shield Module" + desc = "An advanced EMP shield module for a MODsuit. It protects your entire body from electromagnetic pulses." + item = /obj/item/mod/module/emp_shield/advanced + cost = 5 purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS /datum/uplink_item/suits/injector