diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index e90d6bf1..5761d4f5 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -69,7 +69,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \
new/datum/stack_recipe("air alarm frame", /obj/item/alarm_frame, 2), \
new/datum/stack_recipe("fire alarm frame", /obj/item/firealarm_frame, 2), \
- new/datum/stack_recipe("metal bat", /obj/item/weapon/metal_bat, 5), \
+ new/datum/stack_recipe("metal bat", /obj/item/weapon/twohanded/baseballbat/metal, 5), \
null, \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \
)
@@ -102,7 +102,6 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
*/
var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1), \
- new/datum/stack_recipe("plasteel bat", /obj/item/weapon/pla_bat, 5), \
new/datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1), \
new/datum/stack_recipe("RUST fuel assembly port frame", /obj/item/rust_fuel_assembly_port_frame, 12, time = 50, one_per_turf = 1), \
new/datum/stack_recipe("RUST fuel compressor frame", /obj/item/rust_fuel_compressor_frame, 12, time = 50, one_per_turf = 1), \
@@ -135,7 +134,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
new/datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0), \
new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \
- new/datum/stack_recipe("wooden bat", /obj/item/weapon/wood_bat, 5), \
+ new/datum/stack_recipe("wooden bat", /obj/item/weapon/twohanded/baseballbat, 5), \
// new/datum/stack_recipe("apiary", /obj/item/apiary, 10, time = 25, one_per_turf = 0, on_floor = 0)
)
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 0d1c3456..695b7fc9 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -147,6 +147,19 @@ var/last_chew = 0
/obj/item/weapon/handcuffs/cable/white
color = "#FFFFFF"
+/obj/item/weapon/handcuffs/cable/attackby(var/obj/item/I, mob/user as mob)
+ ..()
+ if(istype(I, /obj/item/stack/rods))
+ var/obj/item/stack/rods/R = I
+ if(R.get_amount() > 0)
+ R.use(1)
+ var/obj/item/weapon/wirerod/W = new /obj/item/weapon/wirerod
+
+ user.put_in_hands(W)
+ user << "You wrap the cable restraint around the top of the rod."
+ del(src)
+ update_icon(user)
+
/obj/item/weapon/handcuffs/cyborg
dispenser = 1
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index a4d694fb..02a297a7 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -183,11 +183,7 @@
return
/*
- *
- *
- *Stun Rod, WALL OF TEXT!
- *
- *
+ *Stun Rod
*/
/obj/item/weapon/melee/baton/stunrod
@@ -207,3 +203,18 @@
bcell = new/obj/item/weapon/cell/high(src)
update_icon()
return
+
+/*
+ *Cattleprod
+ */
+
+/obj/item/weapon/melee/baton/cattleprod
+ name = "stunprod"
+ desc = "An improvised stun baton."
+ icon_state = "stunprod_nocell"
+ item_state = "prod"
+ force = 3
+ throwforce = 5
+ hitcost = 2500
+ attack_verb = list("poked")
+ slot_flags = null
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index bb714ca9..b4b813d5 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -3,6 +3,8 @@
* Twohanded
* Fireaxe
* Double-Bladed Energy Swords
+ * Spear
+ * Baseball bats (2x)
*/
/*##################################################################
@@ -18,14 +20,14 @@
*/
/obj/item/weapon/twohanded
var/wielded = 0
- var/force_unwielded = 0
var/force_wielded = 0
var/wieldsound = null
var/unwieldsound = null
+ var/base_icon
/obj/item/weapon/twohanded/proc/unwield()
wielded = 0
- force = force_unwielded
+ force = initial(force)
name = "[initial(name)]"
update_icon()
@@ -52,6 +54,7 @@
return unwield()
/obj/item/weapon/twohanded/update_icon()
+ icon_state = "[base_icon][wielded]"
return
/obj/item/weapon/twohanded/pickup(mob/user)
@@ -106,6 +109,7 @@
*/
/obj/item/weapon/twohanded/fireaxe // DEM AXES MAN, marker -Agouri
icon_state = "fireaxe0"
+ base_icon = "fireaxe"
name = "fire axe"
desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?"
force = 5
@@ -113,14 +117,9 @@
edge = 1
w_class = 4.0
slot_flags = SLOT_BACK
- force_unwielded = 10
force_wielded = 40
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
-/obj/item/weapon/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons.
- icon_state = "fireaxe[wielded]"
- return
-
/obj/item/weapon/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity)
if(!proximity) return
..()
@@ -142,6 +141,7 @@
*/
/obj/item/weapon/twohanded/dualsaber
icon_state = "dualsaber0"
+ base_icon = "dualsaber"
name = "double-bladed energy sword"
desc = "Handle with care."
force = 3
@@ -149,7 +149,6 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
- force_unwielded = 3
force_wielded = 30
wieldsound = 'sound/weapons/saberon.ogg'
unwieldsound = 'sound/weapons/saberoff.ogg'
@@ -159,10 +158,6 @@
sharp = 1
edge = 1
-/obj/item/weapon/twohanded/dualsaber/update_icon()
- icon_state = "dualsaber[wielded]"
- return
-
/obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/user as mob)
..()
if((CLUMSY in user.mutations) && (wielded) &&prob(40))
@@ -179,4 +174,49 @@
if(wielded)
return 1
else
- return 0
\ No newline at end of file
+ return 0
+
+/*
+ * Glass/makeshift spear
+ */
+/obj/item/weapon/twohanded/spear
+ icon_state = "spearglass0"
+ base_icon = "spearglass"
+ name = "spear"
+ desc = "A haphazardly-constructed yet still deadly weapon of ancient design."
+ force = 11
+ w_class = 4.0
+ slot_flags = SLOT_BACK
+ force_wielded = 22 // Was 13, Buffed - RR
+ throwforce = 20
+ throw_speed = 3
+ edge = 0
+ sharp = 1
+ flags = NOSHIELD
+ hitsound = 'sound/weapons/bladeslice.ogg'
+ attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")
+
+/*
+ * Baseball bats
+ */
+/obj/item/weapon/twohanded/baseballbat
+ desc = "The quality is a swing and a miss."
+ name = "wooden bat"
+ icon_state = "woodbat0"
+ base_icon = "woodbat"
+ force = 5
+ force_wielded = 10
+ throwforce = 5
+ throw_speed = 5
+ throw_range = 10
+ w_class = 4.0
+ flags = FPRINT | TABLEPASS
+ attack_verb = list("struck out", "beat", "bludgeoned", "homerunned")
+ hitsound = 'sound/weapons/genhit3.ogg'
+
+/obj/item/weapon/twohanded/baseballbat/metal
+ name = "metal bat"
+ icon_state = "metalbat0"
+ base_icon = "metalbat"
+ force = 7
+ force_wielded = 15
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 9ac82b03..2b8801e1 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -241,41 +241,35 @@
locked = 1
update_icon()
-/obj/item/weapon/metal_bat
- desc = "The quality is a swing and a miss."
- name = "Metal Bat"
- icon_state = "metalbat"
- item_state = "bat_l"
- force = 15.0
- throwforce = 5.0
- throw_speed = 5
- throw_range = 10
- w_class = 4.0
- flags = FPRINT | TABLEPASS
- attack_verb = list("struck out", "beat", "bludgeoned", "homerunned")
+obj/item/weapon/wirerod
+ name = "wired rod"
+ desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit."
+ icon_state = "wiredrod"
+ item_state = "rods"
+ flags = CONDUCT
+ force = 8
+ throwforce = 10
+ w_class = 3
+ attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
-/obj/item/weapon/pla_bat
- desc = "The quality is a swing and a miss."
- name = "Plasteel Bat"
- icon_state = "plabat"
- item_state = "bat_l"
- force = 20.0
- throwforce = 5.0
- throw_speed = 5
- throw_range = 10
- w_class = 4.0
- flags = FPRINT | TABLEPASS
- attack_verb = list("struck out", "beat", "bludgeoned", "homerunned")
-/obj/item/weapon/wood_bat
- desc = "The quality is a swing and a miss."
- name = "Wooden Bat"
- icon_state = "woodbat"
- item_state = "bat_l"
- force = 10.0
- throwforce = 5.0
- throw_speed = 5
- throw_range = 10
- w_class = 4.0
- flags = FPRINT | TABLEPASS
- attack_verb = list("struck out", "beat", "bludgeoned", "homerunned")
\ No newline at end of file
+obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob)
+ ..()
+ if(istype(I, /obj/item/weapon/shard))
+ var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear
+
+ user.put_in_hands(S)
+ user << "You fasten the glass shard to the top of the rod with the cable."
+ del(I)
+ del(src)
+ update_icon(user)
+
+ else if(istype(I, /obj/item/weapon/wirecutters))
+ var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod
+
+ user.put_in_hands(P)
+ user << "You fasten the wirecutters to the top of the rod with the cable, prongs outward."
+ del(I)
+ del(src)
+ update_icon(user)
+ update_icon(user)
diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi
index 9b3211d5..b45ee521 100644
Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ
diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi
index dd33e7d6..01272c27 100644
Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index 401851a8..74853c2d 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ