Adds Soul (Machetes) (#15777)

This commit is contained in:
Matt Atlas
2023-02-14 21:20:23 +01:00
committed by GitHub
parent 590d0fe81e
commit 6c1488d642
8 changed files with 119 additions and 6 deletions
@@ -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)
@@ -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