diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index cca6d6624d1..051f856bebf 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -12,6 +12,8 @@ if(size > M.maxsize) return 0 return 1 + else if (M.emagged == 1) + return 1 return 0 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 88440c4eef1..57e62d7ef13 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -39,6 +39,7 @@ var/datum/effect/effect/system/spark_spread/spark_system = new var/lights = 0 var/lights_power = 6 + var/emagged = 0 //inner atmos var/use_internal_tank = 0 @@ -659,6 +660,16 @@ /obj/mecha/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/card/emag)) + if(istype(src, /obj/mecha/working/ripley) && emagged == 0) + emagged = 1 + usr << "\blue You slide the [W] through the [src]'s ID slot." + playsound(src.loc, "sparks", 100, 1) + src.desc += "
\red The mech's equiptment slots spark dangerously!" + else + usr <<"\red The [src]'s ID slot rejects the [W]." + return + if(istype(W, /obj/item/device/mmi) || istype(W, /obj/item/device/mmi/posibrain)) if(mmi_move_inside(W,user))