diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm
index e7dfc96ab5..6fb85e5ad5 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -1,377 +1,3 @@
-<<<<<<< HEAD
-/obj/item/restraints
- breakouttime = 600
-
-//Handcuffs
-
-/obj/item/restraints/handcuffs
- name = "handcuffs"
- desc = "Use this to keep prisoners in line."
- gender = PLURAL
- icon = 'icons/obj/items_and_weapons.dmi'
- icon_state = "handcuff"
- lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
- flags_1 = CONDUCT_1
- slot_flags = SLOT_BELT
- throwforce = 0
- w_class = WEIGHT_CLASS_SMALL
- throw_speed = 3
- throw_range = 5
- materials = list(MAT_METAL=500)
- origin_tech = "engineering=3;combat=3"
- breakouttime = 600 //Deciseconds = 60s = 1 minute
- armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50)
- var/cuffsound = 'sound/weapons/handcuffs.ogg'
- var/trashtype = null //for disposable cuffs
-
-/obj/item/restraints/handcuffs/attack(mob/living/carbon/C, mob/living/carbon/human/user)
- if(!istype(C))
- return
- if(user.disabilities & CLUMSY && prob(50))
- to_chat(user, "Uh... how do those things work?!")
- apply_cuffs(user,user)
- return
-
- // chance of monkey retaliation
- if(ismonkey(C) && prob(MONKEY_CUFF_RETALIATION_PROB))
- var/mob/living/carbon/monkey/M
- M = C
- M.retaliate(user)
-
- if(!C.handcuffed)
- if(C.get_num_arms() >= 2 || C.get_arm_ignore())
- C.visible_message("[user] is trying to put [src.name] on [C]!", \
- "[user] is trying to put [src.name] on [C]!")
-
- playsound(loc, cuffsound, 30, 1, -2)
- if(do_mob(user, C, 30) && (C.get_num_arms() >= 2 || C.get_arm_ignore()))
- apply_cuffs(C,user)
- to_chat(user, "You handcuff [C].")
- SSblackbox.add_details("handcuffs","[type]")
-
- add_logs(user, C, "handcuffed")
- else
- to_chat(user, "You fail to handcuff [C]!")
- else
- to_chat(user, "[C] doesn't have two hands...")
-
-/obj/item/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user, var/dispense = 0)
- if(target.handcuffed)
- return
-
- if(!user.drop_item() && !dispense)
- return
-
- var/obj/item/restraints/handcuffs/cuffs = src
- if(trashtype)
- cuffs = new trashtype()
- else if(dispense)
- cuffs = new type()
-
- cuffs.loc = target
- target.handcuffed = cuffs
-
- target.update_handcuffed()
- if(trashtype && !dispense)
- qdel(src)
- return
-
-/obj/item/restraints/handcuffs/sinew
- name = "sinew restraints"
- desc = "A pair of restraints fashioned from long strands of flesh."
- icon = 'icons/obj/mining.dmi'
- icon_state = "sinewcuff"
- item_state = "sinewcuff"
- breakouttime = 300 //Deciseconds = 30s
- cuffsound = 'sound/weapons/cablecuff.ogg'
-
-/obj/item/restraints/handcuffs/cable
- name = "cable restraints"
- desc = "Looks like some cables tied together. Could be used to tie something up."
- icon_state = "cuff_red"
- item_state = "coil_red"
- lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
- materials = list(MAT_METAL=150, MAT_GLASS=75)
- origin_tech = "engineering=2"
- breakouttime = 300 //Deciseconds = 30s
- cuffsound = 'sound/weapons/cablecuff.ogg'
- var/datum/robot_energy_storage/wirestorage = null
-
-/obj/item/restraints/handcuffs/cable/attack(mob/living/carbon/C, mob/living/carbon/human/user)
- if(!istype(C))
- return
- if(wirestorage && wirestorage.energy < 15)
- to_chat(user, "You need at least 15 wire to restrain [C]!")
- return
- return ..()
-
-/obj/item/restraints/handcuffs/cable/apply_cuffs(mob/living/carbon/target, mob/user, var/dispense = 0)
- if(wirestorage)
- if(!wirestorage.use_charge(15))
- to_chat(user, "You need at least 15 wire to restrain [target]!")
- return
- return ..(target, user, 1)
-
- return ..()
-
-/obj/item/restraints/handcuffs/cable/red
- icon_state = "cuff_red"
- item_state = "coil_red"
-
-/obj/item/restraints/handcuffs/cable/yellow
- icon_state = "cuff_yellow"
- item_state = "coil_yellow"
-
-/obj/item/restraints/handcuffs/cable/blue
- icon_state = "cuff_blue"
- item_state = "coil_blue"
-
-/obj/item/restraints/handcuffs/cable/green
- icon_state = "cuff_green"
- item_state = "coil_green"
-
-/obj/item/restraints/handcuffs/cable/pink
- icon_state = "cuff_pink"
- item_state = "coil_pink"
-
-/obj/item/restraints/handcuffs/cable/orange
- icon_state = "cuff_orange"
- item_state = "coil_orange"
-
-/obj/item/restraints/handcuffs/cable/cyan
- icon_state = "cuff_cyan"
- item_state = "coil_cyan"
-
-/obj/item/restraints/handcuffs/cable/white
- icon_state = "cuff_white"
- item_state = "coil_white"
-
-/obj/item/restraints/handcuffs/alien
- icon_state = "handcuffAlien"
-
-/obj/item/restraints/handcuffs/fake
- name = "fake handcuffs"
- desc = "Fake handcuffs meant for gag purposes."
- breakouttime = 10 //Deciseconds = 1s
-
-/obj/item/restraints/handcuffs/fake/kinky
- name = "kinky handcuffs"
- desc = "Fake handcuffs meant for erotic roleplay."
- icon_state = "handcuffGag"
-
-/obj/item/restraints/handcuffs/cable/attackby(obj/item/I, mob/user, params)
- ..()
- if(istype(I, /obj/item/stack/rods))
- var/obj/item/stack/rods/R = I
- if (R.use(1))
- var/obj/item/wirerod/W = new /obj/item/wirerod
- remove_item_from_storage(user)
- user.put_in_hands(W)
- to_chat(user, "You wrap the cable restraint around the top of the rod.")
- qdel(src)
- else
- to_chat(user, "You need one rod to make a wired rod!")
- return
- else if(istype(I, /obj/item/stack/sheet/metal))
- var/obj/item/stack/sheet/metal/M = I
- if(M.get_amount() < 6)
- to_chat(user, "You need at least six metal sheets to make good enough weights!")
- return
- to_chat(user, "You begin to apply [I] to [src]...")
- if(do_after(user, 35, target = src))
- if(M.get_amount() < 6 || !M)
- return
- var/obj/item/restraints/legcuffs/bola/S = new /obj/item/restraints/legcuffs/bola
- M.use(6)
- user.put_in_hands(S)
- to_chat(user, "You make some weights out of [I] and tie them to [src].")
- remove_item_from_storage(user)
- qdel(src)
- else
- return ..()
-
-/obj/item/restraints/handcuffs/cable/zipties/cyborg/attack(mob/living/carbon/C, mob/user)
- if(iscyborg(user))
- if(!C.handcuffed)
- playsound(loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2)
- C.visible_message("[user] is trying to put zipties on [C]!", \
- "[user] is trying to put zipties on [C]!")
- if(do_mob(user, C, 30))
- if(!C.handcuffed)
- C.handcuffed = new /obj/item/restraints/handcuffs/cable/zipties/used(C)
- C.update_handcuffed()
- to_chat(user, "You handcuff [C].")
- add_logs(user, C, "handcuffed")
- else
- to_chat(user, "You fail to handcuff [C]!")
-
-/obj/item/restraints/handcuffs/cable/zipties
- name = "zipties"
- desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use."
- icon_state = "cuff_white"
- lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
- materials = list()
- breakouttime = 450 //Deciseconds = 45s
- trashtype = /obj/item/restraints/handcuffs/cable/zipties/used
-
-/obj/item/restraints/handcuffs/cable/zipties/used
- desc = "A pair of broken zipties."
- icon_state = "cuff_white_used"
- item_state = "cuff_white"
-
-/obj/item/restraints/handcuffs/cable/zipties/used/attack()
- return
-
-
-//Legcuffs
-
-/obj/item/restraints/legcuffs
- name = "leg cuffs"
- desc = "Use this to keep prisoners in line."
- gender = PLURAL
- icon = 'icons/obj/items_and_weapons.dmi'
- icon_state = "handcuff"
- lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
- flags_1 = CONDUCT_1
- throwforce = 0
- w_class = WEIGHT_CLASS_NORMAL
- origin_tech = "engineering=3;combat=3"
- slowdown = 7
- breakouttime = 300 //Deciseconds = 30s = 0.5 minute
-
-/obj/item/restraints/legcuffs/beartrap
- name = "bear trap"
- throw_speed = 1
- throw_range = 1
- icon_state = "beartrap"
- desc = "A trap used to catch bears and other legged creatures."
- origin_tech = "engineering=4"
- var/armed = 0
- var/trap_damage = 20
-
-/obj/item/restraints/legcuffs/beartrap/Initialize()
- . = ..()
- icon_state = "[initial(icon_state)][armed]"
-
-/obj/item/restraints/legcuffs/beartrap/suicide_act(mob/user)
- user.visible_message("[user] is sticking [user.p_their()] head in the [src.name]! It looks like [user.p_theyre()] trying to commit suicide!")
- playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
- return (BRUTELOSS)
-
-/obj/item/restraints/legcuffs/beartrap/attack_self(mob/user)
- ..()
- if(ishuman(user) && !user.stat && !user.restrained())
- armed = !armed
- icon_state = "[initial(icon_state)][armed]"
- to_chat(user, "[src] is now [armed ? "armed" : "disarmed"]")
-
-/obj/item/restraints/legcuffs/beartrap/Crossed(AM as mob|obj)
- if(armed && isturf(src.loc))
- if(isliving(AM))
- var/mob/living/L = AM
- var/snap = 0
- var/def_zone = "chest"
- if(iscarbon(L))
- var/mob/living/carbon/C = L
- snap = 1
- if(!C.lying)
- def_zone = pick("l_leg", "r_leg")
- if(!C.legcuffed && C.get_num_legs() >= 2) //beartrap can't cuff your leg if there's already a beartrap or legcuffs, or you don't have two legs.
- C.legcuffed = src
- src.loc = C
- C.update_inv_legcuffed()
- SSblackbox.add_details("handcuffs","[type]")
- else if(isanimal(L))
- var/mob/living/simple_animal/SA = L
- if(SA.mob_size > MOB_SIZE_TINY)
- snap = 1
- if(L.movement_type & FLYING)
- snap = 0
- if(snap)
- armed = 0
- icon_state = "[initial(icon_state)][armed]"
- playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
- L.visible_message("[L] triggers \the [src].", \
- "You trigger \the [src]!")
- L.apply_damage(trap_damage,BRUTE, def_zone)
- ..()
-
-/obj/item/restraints/legcuffs/beartrap/energy
- name = "energy snare"
- armed = 1
- icon_state = "e_snare"
- trap_damage = 0
- flags_1 = DROPDEL_1
-
-/obj/item/restraints/legcuffs/beartrap/energy/New()
- ..()
- addtimer(CALLBACK(src, .proc/dissipate), 100)
-
-/obj/item/restraints/legcuffs/beartrap/energy/proc/dissipate()
- if(!ismob(loc))
- do_sparks(1, TRUE, src)
- qdel(src)
-
-/obj/item/restraints/legcuffs/beartrap/energy/attack_hand(mob/user)
- Crossed(user) //honk
-
-/obj/item/restraints/legcuffs/beartrap/energy/cyborg
- breakouttime = 20 // Cyborgs shouldn't have a strong restraint
-
-/obj/item/restraints/legcuffs/bola
- name = "bola"
- desc = "A restraining device designed to be thrown at the target. Upon connecting with said target, it will wrap around their legs, making it difficult for them to move quickly."
- icon_state = "bola"
- breakouttime = 35//easy to apply, easy to break out of
- gender = NEUTER
- origin_tech = "engineering=3;combat=1"
- var/knockdown = 0
-
-/obj/item/restraints/legcuffs/bola/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback)
- if(!..())
- return
- playsound(src.loc,'sound/weapons/bolathrow.ogg', 75, 1)
-
-/obj/item/restraints/legcuffs/bola/throw_impact(atom/hit_atom)
- if(..() || !iscarbon(hit_atom))//if it gets caught or the target can't be cuffed,
- return//abort
- var/mob/living/carbon/C = hit_atom
- if(!C.legcuffed && C.get_num_legs() >= 2)
- visible_message("\The [src] ensnares [C]!")
- C.legcuffed = src
- src.loc = C
- C.update_inv_legcuffed()
- SSblackbox.add_details("handcuffs","[type]")
- to_chat(C, "\The [src] ensnares you!")
- C.Knockdown(knockdown)
-
-/obj/item/restraints/legcuffs/bola/tactical//traitor variant
- name = "reinforced bola"
- desc = "A strong bola, made with a long steel chain. It looks heavy, enough so that it could trip somebody."
- icon_state = "bola_r"
- breakouttime = 70
- origin_tech = "engineering=4;combat=3"
- knockdown = 20
-
-/obj/item/restraints/legcuffs/bola/energy //For Security
- name = "energy bola"
- desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests."
- icon_state = "ebola"
- hitsound = 'sound/weapons/taserhit.ogg'
- w_class = WEIGHT_CLASS_SMALL
- breakouttime = 60
-
-/obj/item/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom)
- if(iscarbon(hit_atom))
- var/obj/item/restraints/legcuffs/beartrap/B = new /obj/item/restraints/legcuffs/beartrap/energy/cyborg(get_turf(hit_atom))
- B.Crossed(hit_atom)
- qdel(src)
- ..()
-=======
/obj/item/restraints
breakouttime = 600
@@ -744,4 +370,4 @@
B.Crossed(hit_atom)
qdel(src)
..()
->>>>>>> b6d349e... Remove drop_item, drop_item_v, put_in_hands_or_del (#31386)
+