mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-23 07:42:16 +00:00
Refactored hitby to be in line with TG's version. Refactored item weight defines to a more clear naming scheme, also in line with TG's version. Refactored how the movement bumps are handled, ported signals to handle them, in preparation for the movement update. Fixed disposal hit bouncing the hitting atom on the wall. Items do not push other items anymore if they are tiny.
197 lines
6.5 KiB
Plaintext
197 lines
6.5 KiB
Plaintext
/obj/item/material/harpoon
|
|
name = "harpoon"
|
|
sharp = 1
|
|
edge = TRUE
|
|
desc = "Tharr she blows!"
|
|
icon_state = "harpoon"
|
|
item_state = "harpoon"
|
|
force_divisor = 0.3 // 18 with hardness 60 (steel)
|
|
thrown_force_divisor = 0.85
|
|
attack_verb = list("jabbed","stabbed","ripped")
|
|
|
|
/obj/item/material/harpoon/proc/prime()
|
|
return
|
|
|
|
/obj/item/material/harpoon/explosive
|
|
name = "explosive harpoon"
|
|
|
|
/obj/item/material/harpoon/explosive/prime()
|
|
playsound(get_turf(src), 'sound/items/countdown.ogg', 125, 1)
|
|
addtimer(CALLBACK(src, PROC_REF(detonate)), 3 SECONDS)
|
|
return
|
|
|
|
/obj/item/material/harpoon/explosive/proc/detonate()
|
|
explosion(get_turf(src), -1, -1, 2)
|
|
qdel(src)
|
|
|
|
/obj/item/material/hatchet
|
|
name = "hatchet"
|
|
desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
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 = "hatchet"
|
|
item_state = "hatchet"
|
|
force_divisor = 0.2 // 12 with hardness 60 (steel)
|
|
thrown_force_divisor = 0.75 // 15 with weight 20 (steel)
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
sharp = 1
|
|
edge = TRUE
|
|
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1)
|
|
attack_verb = list("chopped", "torn", "cut")
|
|
applies_material_colour = 0
|
|
drop_sound = 'sound/items/drop/axe.ogg'
|
|
pickup_sound = 'sound/items/pickup/axe.ogg'
|
|
surgerysound = 'sound/items/surgery/hatchet.ogg'
|
|
|
|
/obj/item/material/hatchet/can_woodcut()
|
|
return TRUE
|
|
|
|
/obj/item/material/hatchet/butch
|
|
name = "butcher's cleaver"
|
|
icon = 'icons/obj/kitchen.dmi'
|
|
icon_state = "butch"
|
|
item_state = "butch"
|
|
contained_sprite = TRUE
|
|
desc = "A huge thing used for chopping and chopping up meat."
|
|
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
|
|
slot_flags = SLOT_BELT
|
|
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
|
|
/obj/item/material/hatchet/butch/can_woodcut()
|
|
return FALSE
|
|
|
|
/obj/item/material/hatchet/unathiknife
|
|
name = "duelling knife"
|
|
desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
item_icons = list(
|
|
slot_l_hand_str = 'icons/mob/items/weapons/lefthand_knives.dmi',
|
|
slot_r_hand_str = 'icons/mob/items/weapons/righthand_knives.dmi',
|
|
)
|
|
icon_state = "unathiknife"
|
|
attack_verb = list("ripped", "torn", "cut")
|
|
|
|
/obj/item/material/hatchet/unathiknife/can_woodcut()
|
|
return FALSE
|
|
|
|
/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 = WEIGHT_CLASS_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)
|
|
AddOverlays(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/hatchet/lumber
|
|
name = "woodcutting hatchet"
|
|
desc = "Made from the very things you cut down."
|
|
icon_state = "axe"
|
|
item_state = "axe"
|
|
|
|
/obj/item/material/hook
|
|
name = "meat hook"
|
|
desc = "A sharp, metal hook that sticks into things."
|
|
icon = 'icons/obj/kitchen.dmi'
|
|
icon_state = "hook_knife"
|
|
item_state = "hook_knife"
|
|
contained_sprite = TRUE
|
|
sharp = 1
|
|
edge = TRUE
|
|
force_divisor = 0.25
|
|
|
|
/obj/item/material/minihoe // -- Numbers
|
|
name = "mini hoe"
|
|
desc = "It's used for removing weeds or scratching your back."
|
|
icon = 'icons/obj/weapons.dmi'
|
|
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)
|
|
thrown_force_divisor = 0.25 // as above
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
attack_verb = list("slashed", "sliced", "cut", "clawed")
|
|
|
|
/obj/item/material/scythe
|
|
name = "scythe"
|
|
desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow."
|
|
icon_state = "scythe"
|
|
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
|
|
edge = TRUE
|
|
throw_speed = 1
|
|
throw_range = 3
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
slot_flags = SLOT_BACK
|
|
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 2)
|
|
attack_verb = list("chopped", "sliced", "cut", "reaped")
|
|
|
|
/obj/item/material/scythe/sickle
|
|
name = "sickle"
|
|
desc = "A short sharp and curved blade on a handle, this tool makes it easy to cut grass."
|
|
icon_state = "sickle"
|
|
force_divisor = 0.175 // 16 with hardness 60 (steel)
|
|
thrown_force_divisor = 0.04 // 5 with weight 20 (steel)
|
|
throw_speed = 2
|
|
throw_range = 3
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
|
|
/obj/item/material/scythe/sickle/warsickle
|
|
name = "war sickle"
|
|
desc = "A short and wickedly curved blade, this sickle was often used as a melee weapon by ancient Unathi civilizations."
|
|
icon = 'icons/obj/unathi_ruins.dmi'
|
|
icon_state = "warsickle"
|
|
item_state = "warsickle"
|
|
contained_sprite = TRUE
|
|
slot_flags = SLOT_BELT
|
|
force_divisor = 0.7 // 42 when wielded with hardnes 60 (steel)
|
|
thrown_force_divisor = 0.5 // 10 when thrown with weight 20 (steel)
|
|
applies_material_colour = FALSE
|
|
|
|
/obj/item/material/scythe/sickle/warsickle/bronze/Initialize(newloc, material_key)
|
|
. = ..(newloc, MATERIAL_BRONZE)
|