From 92aea96dd1aba53b0a6b0bdcbc23915b1f06b8d5 Mon Sep 17 00:00:00 2001 From: Cocacolagua <48032385+Cocacolagua@users.noreply.github.com> Date: Tue, 5 Oct 2021 17:07:38 -0300 Subject: [PATCH 1/4] Adds tactical slip shoes --- code/datums/action.dm | 7 ++++++ code/datums/uplink_item.dm | 13 ++++++----- code/modules/clothing/shoes/miscellaneous.dm | 24 ++++++++++++++++++++ 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/code/datums/action.dm b/code/datums/action.dm index be7f82494f9..8a23b87e6e0 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -423,6 +423,13 @@ /datum/action/item_action/remove_badge name = "Remove Holobadge" + +// Clown Acrobat Shoes +/datum/action/item_action/rolling + name = "Tactical Roll" + desc = "Activates the clown shoes' ankle-stimulating module, allowing the user to do a short slide forward going through anyone." + button_icon_state = "clown" + // Jump boots /datum/action/item_action/bhop name = "Activate Jump Boots" diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 4e59d8ad6dd..ae0a0d4198c 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -167,18 +167,19 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) //Clown /datum/uplink_item/jobspecific/clowngrenade name = "Banana Grenade" - desc = "A grenade that explodes into HONK! brand banana peels that are genetically modified to be extra slippery and extrude caustic acid when stepped on" + desc = "A grenade that explodes into HONK! brand banana peels that are genetically modified to be extra slippery and extrude caustic acid when stepped on." reference = "BG" item = /obj/item/grenade/clown_grenade cost = 5 job = list("Clown") -/datum/uplink_item/jobspecific/clownmagboots - name = "Clown Magboots" - desc = "A pair of modified clown shoes fitted with an advanced magnetic traction system. Look and sound exactly like regular clown shoes unless closely inspected." - reference = "CM" - item = /obj/item/clothing/shoes/magboots/clown +/datum/uplink_item/jobspecific/clownslippers + name = "Clown Acrobatic Shoes" + desc = "A pair of modified clown shoes fitted with a built-in propultion system that allows the user to perform a short slip below anyone." + reference = "CAS" + item = /obj/item/clothing/shoes/clown_shoes/tactical cost = 3 + surplus = 75 job = list("Clown") /datum/uplink_item/jobspecific/trick_revolver diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 329bea01f9d..0ece784db82 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -111,6 +111,30 @@ desc = "Standard-issue shoes of the wizarding class clown. Damn they're huge! And powerful! Somehow." magical = TRUE +/obj/item/clothing/shoes/clown_shoes/tactical + actions_types = list(/datum/action/item_action/rolling) + var/slide_distance = 6 + var/recharging_rate = 100 + var/recharging_time = 0 + +/obj/item/clothing/shoes/clown_shoes/tactical/ui_action_click(mob/user, action) + if(!isliving(user)) + return + if(recharging_time > world.time) + to_chat(user, "The boot's internal propulsion needs to recharge still!") + return + user.pass_flags += PASSMOB + user.Weaken(2) + playsound(src, 'sound/effects/stealthoff.ogg', 50, 1, 1) + recharging_time = world.time + recharging_rate + user.visible_message("[usr] slides forward!") + var/sliding_this_way = user.dir + for(var/i=0, i Date: Tue, 5 Oct 2021 22:15:23 -0300 Subject: [PATCH 2/4] finishing touches --- code/datums/uplink_item.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 29 ++++++++++++++++---- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index ae0a0d4198c..6fb7771edb0 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -175,7 +175,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/jobspecific/clownslippers name = "Clown Acrobatic Shoes" - desc = "A pair of modified clown shoes fitted with a built-in propultion system that allows the user to perform a short slip below anyone." + desc = "A pair of modified clown shoes fitted with a built-in propultion system that allows the user to perform a short slip below anyone. Turning on the waddle dampeners removes the slowdown on the shoes." reference = "CAS" item = /obj/item/clothing/shoes/clown_shoes/tactical cost = 3 diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 0ece784db82..92c87e60fb9 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -114,7 +114,7 @@ /obj/item/clothing/shoes/clown_shoes/tactical actions_types = list(/datum/action/item_action/rolling) var/slide_distance = 6 - var/recharging_rate = 100 + var/recharging_rate = 80 var/recharging_time = 0 /obj/item/clothing/shoes/clown_shoes/tactical/ui_action_click(mob/user, action) @@ -123,17 +123,34 @@ if(recharging_time > world.time) to_chat(user, "The boot's internal propulsion needs to recharge still!") return - user.pass_flags += PASSMOB + var/prev_dir = user.dir + var/prev_pass_flags = user.pass_flags + user.pass_flags |= PASSMOB user.Weaken(2) + user.dir = prev_dir playsound(src, 'sound/effects/stealthoff.ogg', 50, 1, 1) recharging_time = world.time + recharging_rate - user.visible_message("[usr] slides forward!") - var/sliding_this_way = user.dir + user.visible_message("[usr] slips forward!") for(var/i=0, iYou switch off the waddle dampeners!") + enabled_waddle = TRUE + slowdown = SHOES_SLOWDOWN+1 + else + to_chat(user, "You switch on the waddle dampeners, [src] no longer slows you down!") + enabled_waddle = FALSE + slowdown = SHOES_SLOWDOWN /obj/item/clothing/shoes/jackboots name = "jackboots" From b2fa47b372479241e0e9ede45376c57f1dd1b177 Mon Sep 17 00:00:00 2001 From: Cocacolagua <48032385+Cocacolagua@users.noreply.github.com> Date: Tue, 5 Oct 2021 22:42:35 -0300 Subject: [PATCH 3/4] slippers > sliders --- code/datums/action.dm | 6 +++--- code/datums/uplink_item.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/datums/action.dm b/code/datums/action.dm index 8a23b87e6e0..4ba27fb037d 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -425,9 +425,9 @@ // Clown Acrobat Shoes -/datum/action/item_action/rolling - name = "Tactical Roll" - desc = "Activates the clown shoes' ankle-stimulating module, allowing the user to do a short slide forward going through anyone." +/datum/action/item_action/slipping + name = "Tactical Slip" + desc = "Activates the clown shoes' ankle-stimulating module, allowing the user to do a short slip forward going under anyone." button_icon_state = "clown" // Jump boots diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 6fb7771edb0..b25a10913dd 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -177,7 +177,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "Clown Acrobatic Shoes" desc = "A pair of modified clown shoes fitted with a built-in propultion system that allows the user to perform a short slip below anyone. Turning on the waddle dampeners removes the slowdown on the shoes." reference = "CAS" - item = /obj/item/clothing/shoes/clown_shoes/tactical + item = /obj/item/clothing/shoes/clown_shoes/slippers cost = 3 surplus = 75 job = list("Clown") diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 92c87e60fb9..0a21a136995 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -111,13 +111,13 @@ desc = "Standard-issue shoes of the wizarding class clown. Damn they're huge! And powerful! Somehow." magical = TRUE -/obj/item/clothing/shoes/clown_shoes/tactical - actions_types = list(/datum/action/item_action/rolling) +/obj/item/clothing/shoes/clown_shoes/slippers + actions_types = list(/datum/action/item_action/slipping) var/slide_distance = 6 var/recharging_rate = 80 var/recharging_time = 0 -/obj/item/clothing/shoes/clown_shoes/tactical/ui_action_click(mob/user, action) +/obj/item/clothing/shoes/clown_shoes/slippers/ui_action_click(mob/user, action) if(!isliving(user)) return if(recharging_time > world.time) @@ -137,7 +137,7 @@ user.SetWeakened(0) user.pass_flags = prev_pass_flags -/obj/item/clothing/shoes/clown_shoes/tactical/CtrlClick(mob/living/user) +/obj/item/clothing/shoes/clown_shoes/slippers/CtrlClick(mob/living/user) if(!isliving(user)) return if(user.get_active_hand() != src) From cbcb09ac2e70c3effbc253ccffeb7ede2864551f Mon Sep 17 00:00:00 2001 From: Cocacolagua <48032385+Cocacolagua@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:57:00 -0300 Subject: [PATCH 4/4] first review --- code/datums/uplink_item.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 29 ++++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index b25a10913dd..12e2f1f71e1 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -175,7 +175,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/jobspecific/clownslippers name = "Clown Acrobatic Shoes" - desc = "A pair of modified clown shoes fitted with a built-in propultion system that allows the user to perform a short slip below anyone. Turning on the waddle dampeners removes the slowdown on the shoes." + desc = "A pair of modified clown shoes fitted with a built-in propulsion system that allows the user to perform a short slip below anyone. Turning on the waddle dampeners removes the slowdown on the shoes." reference = "CAS" item = /obj/item/clothing/shoes/clown_shoes/slippers cost = 3 diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 0a21a136995..4c23bbdff38 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -96,6 +96,9 @@ if(user.get_active_hand() != src) to_chat(user, "You must hold [src] in your hand to do this.") return + toggle_waddle(user) + +/obj/item/clothing/shoes/clown_shoes/proc/toggle_waddle(mob/living/user) if(!enabled_waddle) to_chat(user, "You switch off the waddle dampeners!") enabled_waddle = TRUE @@ -114,12 +117,14 @@ /obj/item/clothing/shoes/clown_shoes/slippers actions_types = list(/datum/action/item_action/slipping) var/slide_distance = 6 - var/recharging_rate = 80 + var/recharging_rate = 8 SECONDS var/recharging_time = 0 +/obj/item/clothing/shoes/clown_shoes/slippers/item_action_slot_check(slot, mob/user) + if(slot == slot_shoes) + return TRUE + /obj/item/clothing/shoes/clown_shoes/slippers/ui_action_click(mob/user, action) - if(!isliving(user)) - return if(recharging_time > world.time) to_chat(user, "The boot's internal propulsion needs to recharge still!") return @@ -128,27 +133,23 @@ user.pass_flags |= PASSMOB user.Weaken(2) user.dir = prev_dir - playsound(src, 'sound/effects/stealthoff.ogg', 50, 1, 1) + playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, 1) recharging_time = world.time + recharging_rate - user.visible_message("[usr] slips forward!") - for(var/i=0, i[user] slips forward!") + for(var/i in 1 to slide_distance) step(user, user.dir) sleep(1) user.SetWeakened(0) user.pass_flags = prev_pass_flags -/obj/item/clothing/shoes/clown_shoes/slippers/CtrlClick(mob/living/user) - if(!isliving(user)) - return - if(user.get_active_hand() != src) - to_chat(user, "You must hold [src] in your hand to do this.") - return + +/obj/item/clothing/shoes/clown_shoes/slippers/toggle_waddle(mob/living/user) if(!enabled_waddle) to_chat(user, "You switch off the waddle dampeners!") enabled_waddle = TRUE - slowdown = SHOES_SLOWDOWN+1 + slowdown = initial(slowdown) else - to_chat(user, "You switch on the waddle dampeners, [src] no longer slows you down!") + to_chat(user, "You switch on the waddle dampeners, [src] no longer slow you down!") enabled_waddle = FALSE slowdown = SHOES_SLOWDOWN