diff --git a/code/datums/uplink/stealthy_weapons.dm b/code/datums/uplink/stealthy_weapons.dm index 2f4cab5ff72..570b8c33413 100644 --- a/code/datums/uplink/stealthy_weapons.dm +++ b/code/datums/uplink/stealthy_weapons.dm @@ -11,7 +11,7 @@ /datum/uplink_item/item/stealthy_weapons/concealed_cane name = "Concealed Cane Sword" - item_cost = 10 + item_cost = 40 path = /obj/item/weapon/cane/concealed /datum/uplink_item/item/stealthy_weapons/detomatix diff --git a/code/game/objects/items/weapons/canes.dm b/code/game/objects/items/weapons/canes.dm index ff76a1cc4b0..63d2222834f 100644 --- a/code/game/objects/items/weapons/canes.dm +++ b/code/game/objects/items/weapons/canes.dm @@ -24,10 +24,9 @@ /obj/item/weapon/cane/concealed/Initialize() . = ..() - var/obj/item/weapon/material/butterfly/switchblade/temp_blade = new(src) + var/obj/item/weapon/material/sword/katana/caneblade/temp_blade = new(src) concealed_blade = temp_blade - temp_blade.active = TRUE - temp_blade.update_force() + temp_blade.attack_self() /obj/item/weapon/cane/concealed/attack_self(var/mob/user) var/datum/gender/T = gender_datums[user.get_visible_gender()] @@ -41,10 +40,11 @@ user.update_inv_l_hand(0) user.update_inv_r_hand() concealed_blade = null + update_icon() else ..() -/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user) +/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/sword/katana/caneblade/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].") @@ -63,7 +63,7 @@ item_state = initial(icon_state) else name = "cane shaft" - icon_state = "nullrod" + icon_state = "caneshaft" item_state = "foldcane" /obj/item/weapon/cane/white @@ -122,4 +122,4 @@ playsound(src, 'sound/weapons/empty.ogg', 50, 1) add_fingerprint(user) - return TRUE \ No newline at end of file + return TRUE diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm index efc1615bdfe..e0a75ca8bd7 100644 --- a/code/game/objects/items/weapons/material/swords.dm +++ b/code/game/objects/items/weapons/material/swords.dm @@ -23,4 +23,64 @@ name = "katana" desc = "Woefully underpowered in D20. This one looks pretty sharp." icon_state = "katana" - slot_flags = SLOT_BELT | SLOT_BACK \ No newline at end of file + slot_flags = SLOT_BELT | SLOT_BACK + +/obj/item/weapon/material/sword/katana/caneblade + name = "cane blade" + desc = "Used for making people fall over instead of helping them stand up." + icon_state = "caneblade" + item_state = "caneblade" + +/obj/item/weapon/material/sword/rapier + name = "rapier" + desc = "A slender, fancy and sharply pointed sword." + icon_state = "rapier" + item_state = "rapier" + slot_flags = SLOT_BELT + applies_material_colour = 0 + attack_verb = list("attacked", "stabbed", "prodded", "poked", "lunged") + edge = 0 //rapiers are pointy, but not cutty like other swords + +/obj/item/weapon/material/sword/longsword + name = "longsword" + desc = "A double-edged large blade." + icon_state = "longsword" + item_state = "longsword" + applies_material_colour = 0 + slot_flags = SLOT_BELT | SLOT_BACK + can_cleave = TRUE + +/obj/item/weapon/material/sword/sabre + name = "sabre" + desc = "A sharp curved sword, a favored weapon of pirates far in the past." + icon_state = "sabre" + item_state = "sabre" + applies_material_colour = 0 //messes up the hilt color otherwise + slot_flags = SLOT_BELT + +/obj/item/weapon/material/sword/battleaxe + name = "battleaxe" + desc = "A one handed battle axe, still a deadly weapon." + icon_state = "axe" + item_state = "axe" + slot_flags = SLOT_BACK + attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") + applies_material_colour = 0 + drop_sound = 'sound/items/drop/axe.ogg' + pickup_sound = 'sound/items/pickup/axe.ogg' + can_cleave = TRUE + +/obj/item/weapon/material/sword/battleaxe/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") + if(unique_parry_check(user, attacker, damage_source) && prob(10)) + user.visible_message("\The [user] parries [attack_text] with \the [src]!") + playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1) + return 1 + return 0 + +/obj/item/weapon/material/sword/gladius + name = "gladius" + desc = "An ancient short sword, designed to stab and cut." + icon_state = "gladius" + item_state = "gladius" + applies_material_colour = 0 + slot_flags = SLOT_BELT diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 89e51f6bf36..cb504aa5512 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ