diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 622051ba6c..4521ac08c8 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -66,7 +66,6 @@
attack_verb = list("HONKED")
var/spam_flag = 0
-
/obj/item/weapon/c_tube
name = "cardboard tube"
desc = "A tube... of cardboard."
@@ -77,141 +76,6 @@
throw_speed = 4
throw_range = 5
-/obj/item/weapon/cane
- name = "cane"
- desc = "A cane used by a true gentleman."
- icon = 'icons/obj/weapons.dmi'
- icon_state = "cane"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi',
- )
- force = 5.0
- throwforce = 7.0
- w_class = ITEMSIZE_NORMAL
- matter = list(DEFAULT_WALL_MATERIAL = 50)
- attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed")
-
-/obj/item/weapon/cane/concealed
- var/concealed_blade
-
-/obj/item/weapon/cane/concealed/New()
- ..()
- var/obj/item/weapon/material/butterfly/switchblade/temp_blade = new(src)
- concealed_blade = temp_blade
- temp_blade.attack_self()
-
-/obj/item/weapon/cane/concealed/attack_self(var/mob/user)
- var/datum/gender/T = gender_datums[user.get_visible_gender()]
- if(concealed_blade)
- user.visible_message("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!", "You unsheathe \the [concealed_blade] from \the [src].")
- // Calling drop/put in hands to properly call item drop/pickup procs
- playsound(user.loc, 'sound/weapons/holster/sheathout.ogg', 50, 1)
- user.drop_from_inventory(src)
- user.put_in_hands(concealed_blade)
- user.put_in_hands(src)
- user.update_inv_l_hand(0)
- user.update_inv_r_hand()
- concealed_blade = null
- else
- ..()
-
-/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user)
- if(!src.concealed_blade && istype(W))
- var/datum/gender/T = gender_datums[user.get_visible_gender()]
- user.visible_message("[user] has sheathed \a [W] into [T.his] [src]!", "You sheathe \the [W] into \the [src].")
- playsound(user.loc, 'sound/weapons/holster/sheathin.ogg', 50, 1)
- user.drop_from_inventory(W)
- W.loc = src
- src.concealed_blade = W
- update_icon()
- else
- ..()
-
-/obj/item/weapon/cane/concealed/update_icon()
- if(concealed_blade)
- name = initial(name)
- icon_state = initial(icon_state)
- item_state = initial(icon_state)
- else
- name = "cane shaft"
- icon_state = "nullrod"
- item_state = "foldcane"
-
-/obj/item/weapon/cane/whitecane
- name = "white cane"
- desc = "A white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others."
- icon = 'icons/obj/weapons.dmi'
- icon_state = "whitecane"
-
-/obj/item/weapon/cane/whitecane/attack(mob/M as mob, mob/user as mob)
- if(user.a_intent == I_HELP)
- user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!")
- return
- else
- ..()
-
-/obj/item/weapon/cane/crutch
- name ="crutch"
- desc = "A long stick with a crosspiece at the top, used to help with walking."
- icon_state = "crutch"
- item_state = "crutch"
-
-//Code for Telescopic White Cane writen by Gozulio
-
-/obj/item/weapon/melee/collapsable_whitecane
- name = "telescopic white cane"
- desc = "A telescoping white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others."
- icon = 'icons/obj/weapons.dmi'
- icon_state = "whitecane1in"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi',
- )
- slot_flags = SLOT_BELT
- w_class = ITEMSIZE_SMALL
- force = 3
- var/on = 0
-
-/obj/item/weapon/melee/collapsable_whitecane/attack_self(mob/user as mob)
- on = !on
- if(on)
- user.visible_message("\The [user] extends the white cane.",\
- "You extend the white cane.",\
- "You hear an ominous click.")
- icon_state = "whitecane1out"
- item_state_slots = list(slot_r_hand_str = "whitecane", slot_l_hand_str = "whitecane")
- w_class = ITEMSIZE_NORMAL
- force = 5
- attack_verb = list("smacked", "struck", "cracked", "beaten")
- else
- user.visible_message("\The [user] collapses the white cane.",\
- "You collapse the white cane.",\
- "You hear a click.")
- icon_state = "whitecane1in"
- item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null)
- w_class = ITEMSIZE_SMALL
- force = 3
- attack_verb = list("hit", "poked")
-
- if(istype(user,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = user
- H.update_inv_l_hand()
- H.update_inv_r_hand()
-
- playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1)
- add_fingerprint(user)
-
- return
-
-/obj/item/weapon/melee/collapsable_whitecane/attack(mob/M as mob, mob/user as mob)
- if(user.a_intent == I_HELP)
- user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!")
- return
- else
- ..()
-
-
/obj/item/weapon/disk
name = "disk"
icon = 'icons/obj/discs_vr.dmi' //VOREStation Edit
diff --git a/code/game/objects/items/weapons/canes.dm b/code/game/objects/items/weapons/canes.dm
new file mode 100644
index 0000000000..f7688fb2d1
--- /dev/null
+++ b/code/game/objects/items/weapons/canes.dm
@@ -0,0 +1,124 @@
+/obj/item/weapon/cane
+ name = "cane"
+ desc = "A cane used by a true gentleman."
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "cane"
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi',
+ )
+ force = 5.0
+ throwforce = 7.0
+ w_class = ITEMSIZE_NORMAL
+ matter = list(DEFAULT_WALL_MATERIAL = 50)
+ attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed")
+
+/obj/item/weapon/cane/crutch
+ name ="crutch"
+ desc = "A long stick with a crosspiece at the top, used to help with walking."
+ icon_state = "crutch"
+ item_state = "crutch"
+
+/obj/item/weapon/cane/concealed
+ var/concealed_blade
+
+/obj/item/weapon/cane/concealed/New()
+ ..()
+ var/obj/item/weapon/material/butterfly/switchblade/temp_blade = new(src)
+ concealed_blade = temp_blade
+ temp_blade.attack_self()
+
+/obj/item/weapon/cane/concealed/attack_self(var/mob/user)
+ var/datum/gender/T = gender_datums[user.get_visible_gender()]
+ if(concealed_blade)
+ user.visible_message("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!", "You unsheathe \the [concealed_blade] from \the [src].")
+ // Calling drop/put in hands to properly call item drop/pickup procs
+ playsound(user.loc, 'sound/weapons/holster/sheathout.ogg', 50, 1)
+ user.drop_from_inventory(src)
+ user.put_in_hands(concealed_blade)
+ user.put_in_hands(src)
+ user.update_inv_l_hand(0)
+ user.update_inv_r_hand()
+ concealed_blade = null
+ else
+ ..()
+
+/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user)
+ if(!src.concealed_blade && istype(W))
+ var/datum/gender/T = gender_datums[user.get_visible_gender()]
+ user.visible_message("[user] has sheathed \a [W] into [T.his] [src]!", "You sheathe \the [W] into \the [src].")
+ playsound(user.loc, 'sound/weapons/holster/sheathin.ogg', 50, 1)
+ user.drop_from_inventory(W)
+ W.loc = src
+ src.concealed_blade = W
+ update_icon()
+ else
+ ..()
+
+/obj/item/weapon/cane/concealed/update_icon()
+ if(concealed_blade)
+ name = initial(name)
+ icon_state = initial(icon_state)
+ item_state = initial(icon_state)
+ else
+ name = "cane shaft"
+ icon_state = "nullrod"
+ item_state = "foldcane"
+
+/obj/item/weapon/cane/white
+ name = "white cane"
+ desc = "A white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others."
+ icon_state = "whitecane"
+
+/obj/item/weapon/cane/white/attack(mob/M as mob, mob/user as mob)
+ if(user.a_intent == I_HELP)
+ user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!")
+ return TRUE
+ else
+ . = ..()
+
+
+//Code for Telescopic White Cane writen by Gozulio
+
+/obj/item/weapon/cane/white/collapsible
+ name = "telescopic white cane"
+ desc = "A telescopic white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others."
+ icon_state = "whitecane1in"
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi',
+ )
+ slot_flags = SLOT_BELT
+ w_class = ITEMSIZE_SMALL
+ force = 3
+ var/on = 0
+
+/obj/item/weapon/cane/white/collapsible/attack_self(mob/user as mob)
+ on = !on
+ if(on)
+ user.visible_message("\The [user] extends the white cane.",\
+ "You extend the white cane.",\
+ "You hear an ominous click.")
+ icon_state = "whitecane1out"
+ item_state_slots = list(slot_r_hand_str = "whitecane", slot_l_hand_str = "whitecane")
+ w_class = ITEMSIZE_NORMAL
+ force = 5
+ attack_verb = list("smacked", "struck", "cracked", "beaten")
+ else
+ user.visible_message("\The [user] collapses the white cane.",\
+ "You collapse the white cane.",\
+ "You hear a click.")
+ icon_state = "whitecane1in"
+ item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null)
+ w_class = ITEMSIZE_SMALL
+ force = 3
+ attack_verb = list("hit", "poked", "prodded")
+
+ if(istype(user,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = user
+ H.update_inv_l_hand()
+ H.update_inv_r_hand()
+
+ playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1)
+ add_fingerprint(user)
+ return TRUE
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_general.dm b/code/modules/client/preference_setup/loadout/loadout_general.dm
index 5fd43d268a..121378723f 100644
--- a/code/modules/client/preference_setup/loadout/loadout_general.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_general.dm
@@ -4,11 +4,11 @@
/datum/gear/cane/white
display_name = "white cane"
- path = /obj/item/weapon/cane/whitecane
+ path = /obj/item/weapon/cane/white
/datum/gear/cane/white2
display_name = "telescopic white cane"
- path = /obj/item/weapon/melee/collapsable_whitecane
+ path = /obj/item/weapon/cane/white/collapsible
/datum/gear/crutch
display_name = "crutch"
diff --git a/vorestation.dme b/vorestation.dme
index d142e7b532..9c806d9d89 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -1145,7 +1145,11 @@
#include "code\game\objects\items\weapons\autopsy.dm"
#include "code\game\objects\items\weapons\bones.dm"
#include "code\game\objects\items\weapons\candle.dm"
+<<<<<<< HEAD:vorestation.dme
#include "code\game\objects\items\weapons\cards_ids_vr.dm"
+=======
+#include "code\game\objects\items\weapons\canes.dm"
+>>>>>>> 728bb26... Repaths collapsible white canes to not anger beepsky (#6896):polaris.dme
#include "code\game\objects\items\weapons\cigs_lighters.dm"
#include "code\game\objects\items\weapons\clown_items.dm"
#include "code\game\objects\items\weapons\cosmetics.dm"