Merge pull request #8550 from Greenjoe12345/swordsandbow

Historic Weapons Expansion
This commit is contained in:
Sypsoti
2022-04-17 20:33:53 -05:00
committed by GitHub
16 changed files with 321 additions and 3 deletions
@@ -23,4 +23,58 @@
name = "katana"
desc = "Woefully underpowered in D20. This one looks pretty sharp."
icon_state = "katana"
slot_flags = SLOT_BELT | SLOT_BACK
slot_flags = SLOT_BELT | SLOT_BACK
/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("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
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
@@ -174,3 +174,60 @@
base_icon = "riding_crop"
icon_state = "riding_crop0"
attack_verb = list("cropped","spanked","swatted","smacked","peppered")
/obj/item/weapon/material/twohanded/spear/pike
name = "pike"
icon_state = "pike0"
base_icon = "pike"
desc = "A long spear used by the infantry in ancient times."
edge = TRUE
attack_verb = list("attacked", "poked", "jabbed", "gored", "stabbed")
default_material = "steel"
applies_material_colour = 0
drop_sound = 'sound/items/drop/woodweapon.ogg'
pickup_sound = 'sound/items/pickup/woodweapon.ogg'
/obj/item/weapon/material/twohanded/spear/halberd
icon_state = "halberd0"
base_icon = "halberd"
name = "halberd"
desc = "A sharp axe mounted on the top of a long spear."
applies_material_colour = 0
edge = 1
attack_verb = list("attacked", "poked", "jabbed","gored", "chopped", "cleaved", "torn", "cut", "stabbed")
drop_sound = 'sound/items/drop/woodweapon.ogg'
pickup_sound = 'sound/items/pickup/woodweapon.ogg'
can_cleave = TRUE
/obj/item/weapon/material/twohanded/spear/pike/pitchfork
icon_state = "pitchfork0"
base_icon = "pitchfork"
name = "pitchfork"
desc = "An old farming tool, not something you would find at hydroponics."
applies_material_colour = 0
/obj/item/weapon/material/twohanded/zweihander
icon_state = "zweihander0"
base_icon = "zweihander"
name = "zweihander"
desc = "A german upgrade to the einhander models of ancient times."
force = 20
w_class = ITEMSIZE_LARGE
slot_flags = SLOT_BACK
force_wielded = 30
unwielded_force_divisor = 1
thrown_force_divisor = 0.75
edge = TRUE
sharp = 1
edge = 1
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
default_material = "steel"
can_cleave = TRUE
/obj/item/weapon/material/twohanded/zweihander/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("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
@@ -25,6 +25,8 @@
slot_flags = SLOT_BELT
drop_sound = 'sound/items/drop/backpack.ogg'
pickup_sound = 'sound/items/pickup/backpack.ogg'
sprite_sheets = list(
SPECIES_TESHARI = 'icons/mob/species/teshari/back.dmi')
// -----------------------------
// Trash bag
@@ -395,3 +397,17 @@
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/forensics/swab,/obj/item/weapon/sample/print,/obj/item/weapon/sample/fibers,/obj/item/weapon/evidencebag)
// -----------------------------
// Quiver (arrow bag)
// -----------------------------
/obj/item/weapon/storage/bag/quiver
name = "quiver"
icon = 'icons/obj/storage.dmi'
icon_state = "quiver"
desc = "A quiver for storing arrows."
max_storage_space = 100 //holds 25 arrows
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_LARGE
slot_flags = SLOT_BACK
can_hold = list(/obj/item/weapon/arrow/wood)