From 6c1488d642f78f71f811dfd2ae7f725e1a964382 Mon Sep 17 00:00:00 2001 From: Matt Atlas Date: Tue, 14 Feb 2023 21:20:23 +0100 Subject: [PATCH] Adds Soul (Machetes) (#15777) --- .../weapons/material/material_weapons.dm | 16 ++++-- .../objects/items/weapons/material/misc.dm | 48 ++++++++++++++++-- .../clothing/under/accessories/holster.dm | 13 +++++ code/modules/research/xenoarchaeology/misc.dm | 2 + html/changelogs/mattatlas-sovl.yml | 42 +++++++++++++++ icons/obj/item/clothing/accessory/holster.dmi | Bin 9657 -> 10129 bytes icons/obj/item/melee/machete.dmi | Bin 0 -> 982 bytes maps/sccv_horizon/sccv_horizon-1_deck_1.dmm | 4 ++ 8 files changed, 119 insertions(+), 6 deletions(-) create mode 100644 html/changelogs/mattatlas-sovl.yml create mode 100644 icons/obj/item/melee/machete.dmi diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index bf5d43c0742..68321de7e8a 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -17,6 +17,8 @@ var/applies_material_colour = TRUE var/unbreakable var/force_divisor = 0.5 + var/max_force = 40 //any damage above this is added to armor penetration value + var/max_pen = 100 //any penetration above this value is ignored var/thrown_force_divisor = 0.5 var/default_material = DEFAULT_WALL_MATERIAL var/material/material @@ -44,11 +46,19 @@ return material /obj/item/material/proc/update_force() + var/new_force if(edge || sharp) - force = material.get_edge_damage() + new_force = material.get_edge_damage() else - force = material.get_blunt_damage() - force = round(force*force_divisor) + new_force = material.get_blunt_damage() + new_force = round(new_force*force_divisor) + force = min(new_force, max_force) + + if(new_force > max_force) + armor_penetration = initial(armor_penetration) + new_force - max_force + armor_penetration += 2*max(0, material.protectiveness - 2) + armor_penetration = min(max_pen, armor_penetration) + throwforce = round(material.get_blunt_damage()*thrown_force_divisor) /obj/item/material/proc/set_material(var/new_material) diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 3132ffcfebf..c0b7191c917 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -70,6 +70,48 @@ icon_state = "unathiknife" attack_verb = list("ripped", "torn", "cut") +/obj/item/material/hatchet/machete + name = "machete" + desc = "A long, sturdy blade with a rugged handle. Leading the way to cursed treasures since before space travel." + icon = 'icons/obj/item/melee/machete.dmi' + item_icons = list( + slot_l_hand_str = 'icons/obj/item/melee/machete.dmi', + slot_r_hand_str = 'icons/obj/item/melee/machete.dmi', + ) + hitsound = 'sound/weapons/bladeslice.ogg' + contained_sprite = TRUE + icon_state = "machete" + item_state = "machete" + worn_overlay = "handle" + w_class = ITEMSIZE_NORMAL + slot_flags = SLOT_BELT|SLOT_HOLSTER + default_material = MATERIAL_TITANIUM + max_force = 20 + force_divisor = 0.2 + build_from_parts = TRUE + +/obj/item/material/hatchet/machete/Initialize() + . = ..() + if(build_from_parts) + var/image/I = image(icon, icon_state = "machete_handle") + I.color = pick(COLOR_BLUE, COLOR_RED, COLOR_CYAN, COLOR_BLACK, COLOR_AMBER, COLOR_GREEN, COLOR_OLIVE, COLOR_GUNMETAL, COLOR_DARK_BLUE_GRAY) + add_overlay(I) + +/obj/item/material/hatchet/machete/unbreakable + unbreakable = TRUE + +/obj/item/material/hatchet/machete/steel + name = "fabricated machete" + desc = "A long, machine-stamped blade with a somewhat ungainly handle. Found in military surplus stores, malls, and horror movies since before interstellar travel." + default_material = MATERIAL_STEEL + matter = list(MATERIAL_STEEL = 15000, MATERIAL_PLASTIC = 2500) + +/obj/item/material/hatchet/machete/deluxe + name = "deluxe machete" + desc = "A fine example of a machete, with a polished blade, wooden handle, and a leather cord loop." + icon_state = "machetedx" + build_from_parts = FALSE + /obj/item/material/hook name = "meat hook" desc = "A sharp, metal hook that sticks into things." @@ -79,7 +121,7 @@ item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_kitchen.dmi', slot_r_hand_str = 'icons/mob/items/righthand_kitchen.dmi', - ) + ) sharp = 1 edge = TRUE force_divisor = 0.25 @@ -91,7 +133,7 @@ item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_hydro.dmi', slot_r_hand_str = 'icons/mob/items/righthand_hydro.dmi', - ) + ) icon_state = "hoe" item_state = "hoe" force_divisor = 0.25 // 5 with weight 20 (steel) @@ -106,7 +148,7 @@ item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_hydro.dmi', slot_r_hand_str = 'icons/mob/items/righthand_hydro.dmi', - ) + ) force_divisor = 0.275 // 16 with hardness 60 (steel) thrown_force_divisor = 0.25 // 5 with weight 20 (steel) sharp = 1 diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index 1529414781b..8eef9d95f10 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -231,4 +231,17 @@ desc = "A brown utility holster which can't hold actual firearms. This particular one is designed for custodial personnel." icon_state = "custodial_brown_hip" item_state = "custodial_brown_hip" + +/obj/item/clothing/accessory/holster/utility/machete + name = "machete sheath" + desc = "A handsome synthetic leather sheath with matching belt." + icon_state = "holster_machete" + item_state = "thigh_brown" + icon = 'icons/obj/item/clothing/accessory/holster.dmi' + allowed_items = list( + /obj/item/material/hatchet/machete, + /obj/item/material/hatchet/machete/deluxe, + /obj/item/material/hatchet/machete/unbreakable, + /obj/item/material/hatchet/machete/steel + ) /********** Utility Holsters End **********/ diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm index 985a76e72a2..f58f51dac95 100644 --- a/code/modules/research/xenoarchaeology/misc.dm +++ b/code/modules/research/xenoarchaeology/misc.dm @@ -91,6 +91,8 @@ new /obj/item/device/beacon_locator(src) new /obj/item/device/radio/beacon(src) new /obj/item/pickaxe(src) + new /obj/item/material/hatchet/machete/steel(src) + new /obj/item/clothing/accessory/holster/utility/machete(src) new /obj/item/device/measuring_tape(src) new /obj/item/pickaxe/hand(src) new /obj/item/storage/bag/fossils(src) diff --git a/html/changelogs/mattatlas-sovl.yml b/html/changelogs/mattatlas-sovl.yml new file mode 100644 index 00000000000..27ba83f44a1 --- /dev/null +++ b/html/changelogs/mattatlas-sovl.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: MattAtlas + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added machetes and machete holsters to the excavation closets in Research EVA and to the expedition weaponry locker in the Intrepid." + - rscadd: "Material weapons now have armour penetration (increasing further if their damage exceeds a maximum force of 40), with the effectiveness depending on the material." diff --git a/icons/obj/item/clothing/accessory/holster.dmi b/icons/obj/item/clothing/accessory/holster.dmi index ce12d1d4dcd64bf450af59246663c463678f9c42..c8732014245e1665c17a09996a4e8546717615a9 100644 GIT binary patch literal 10129 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 Vba+1({3HwVSXoo4?4k9m{{~593S$5O diff --git a/icons/obj/item/melee/machete.dmi b/icons/obj/item/melee/machete.dmi new file mode 100644 index 0000000000000000000000000000000000000000..3e4f92627f910f4a0e62d4cb7c145cf35d2a4bac GIT binary patch literal 982 zcmV;{11bE8P)004jp0{{R3ySgwu|k&)co+$kw3IyyR`pPw%;FS4$#o}QjpRaLLAtzTbXn3$2MsHk*5 z3083`Q78Z`MHz8%05miN*VorR9{@^91o!v%nVFf4jErV807XRrDk=bYN;0^3R=~i( z&4w^&00001bW%=J06^y0W&i*Hih5L7bVOxyV{&P5bZKvH004NLQ&wCiyO-da zsm}D>`Q{u$WxElIvZ^?KnSQwbausfCp5^5Ij^+!N`}uJ? zdDJ@C-ds1MpZodIwsg_s@pyhFpKt3GZL6ufrpbx@YcH3cs`+aC&Z`Xq=(?_XAU;&hK>6H0001gKfDMn3Xe*x2rUYepY@ywEef+- zWMhVw+-6gT)?8^rhE~4~89Mw%L*IZZ3I~^;G4u(jLRpBYlH}z64;a0Hi