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