From 88e42b2e1513875a208fca1ba59460a9406441be Mon Sep 17 00:00:00 2001 From: Seris02 Date: Thu, 30 Jan 2020 18:07:35 +0800 Subject: [PATCH 1/3] *crunch crunch stomp stomp* --- code/modules/clothing/shoes/magboots.dm | 24 +++++++++++++++++++ .../uplink/uplink_items/uplink_roles.dm | 7 ++++++ 2 files changed, 31 insertions(+) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 952dbe0ad8..4086ad6073 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -57,3 +57,27 @@ 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/equipped(mob/user,slot) + . = ..() + if (slot == SLOT_SHOES) + RegisterSignal(user, COMSIG_MOVABLE_MOVED,.proc/crush) + else + UnregisterSignal(user,COMSIG_MOVABLE_MOVED) + +/obj/item/clothing/shoes/magboots/crushing/dropped(mob/user) + . = ..() + UnregisterSignal(user,COMSIG_MOVABLE_MOVED) \ No newline at end of file diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm index 89d3c25700..0e25cc594b 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") From 450f33de3928f4fa62f6042cb3f2e976341efd89 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Fri, 31 Jan 2020 11:46:10 +0800 Subject: [PATCH 2/3] fix --- code/modules/clothing/shoes/magboots.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 4086ad6073..ed4f5c3d24 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -71,13 +71,18 @@ to_chat(A,"[user]'s magboots press down on you, crushing you!") A.emote("scream") -/obj/item/clothing/shoes/magboots/crushing/equipped(mob/user,slot) +/obj/item/clothing/shoes/magboots/crushing/attack_self(mob/user) . = ..() - if (slot == SLOT_SHOES) + 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) + RegisterSignal(user, COMSIG_MOVABLE_MOVED,.proc/crush) + /obj/item/clothing/shoes/magboots/crushing/dropped(mob/user) . = ..() - UnregisterSignal(user,COMSIG_MOVABLE_MOVED) \ No newline at end of file + UnregisterSignal(user,COMSIG_MOVABLE_MOVED) From dd09fa554f3048bb09e59518950b2322041fe98a Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Fri, 31 Jan 2020 11:54:30 +0800 Subject: [PATCH 3/3] Update code/modules/clothing/shoes/magboots.dm Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/modules/clothing/shoes/magboots.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index ed4f5c3d24..8864add0d8 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -80,7 +80,7 @@ /obj/item/clothing/shoes/magboots/crushing/equipped(mob/user,slot) . = ..() - if (slot == SLOT_SHOES) + if (slot == SLOT_SHOES && magpulse) RegisterSignal(user, COMSIG_MOVABLE_MOVED,.proc/crush) /obj/item/clothing/shoes/magboots/crushing/dropped(mob/user)