diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 952dbe0ad8..8864add0d8 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -57,3 +57,32 @@ name = "blood-red magboots" icon_state = "syndiemag0" magboot_state = "syndiemag" + +/obj/item/clothing/shoes/magboots/crushing + desc = "Normal looking magboots that are altered to increase magnetic pull to crush anything underfoot." + +/obj/item/clothing/shoes/magboots/crushing/proc/crush(mob/living/user) + if (!isturf(user.loc) || !magpulse) + return + var/turf/T = user.loc + for (var/mob/living/A in T) + if (A != user && A.lying) + A.adjustBruteLoss(rand(10,13)) + to_chat(A,"[user]'s magboots press down on you, crushing you!") + A.emote("scream") + +/obj/item/clothing/shoes/magboots/crushing/attack_self(mob/user) + . = ..() + if (magpulse) + RegisterSignal(user, COMSIG_MOVABLE_MOVED,.proc/crush) + else + UnregisterSignal(user,COMSIG_MOVABLE_MOVED) + +/obj/item/clothing/shoes/magboots/crushing/equipped(mob/user,slot) + . = ..() + if (slot == SLOT_SHOES && magpulse) + RegisterSignal(user, COMSIG_MOVABLE_MOVED,.proc/crush) + +/obj/item/clothing/shoes/magboots/crushing/dropped(mob/user) + . = ..() + UnregisterSignal(user,COMSIG_MOVABLE_MOVED) diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm index 09f6e94763..3c3245a0fd 100644 --- a/code/modules/uplink/uplink_items/uplink_roles.dm +++ b/code/modules/uplink/uplink_items/uplink_roles.dm @@ -224,3 +224,10 @@ cost = 5 //Low ammo, and deals same as 10mm but emp-able item = /obj/item/gun/energy/emitter restricted_roles = list("Chief Engineer", "Station Engineer", "Atmospheric Technician") + +/datum/uplink_item/role_restricted/crushmagboots + name = "Crushing Magboots" + desc = "A pair of extra-strength magboots that crush anyone you walk over." + cost = 2 + item = /obj/item/clothing/shoes/magboots/crushing + restricted_roles = list("Chief Engineer", "Station Engineer", "Atmospheric Technician")