From ec5a376ea342f84d1ed1301394010b88aea45e91 Mon Sep 17 00:00:00 2001 From: MelokG <99420088+MelokGleb@users.noreply.github.com> Date: Thu, 20 Mar 2025 23:20:41 +0300 Subject: [PATCH] Wildhunter's Butchering Knife (#90013) --- .../kinetic_crusher_trophies.dm | 2 + .../kinetic_crusher/trophies_fauna.dm | 8 ++++ .../mining_loot/megafauna/blood_drunk.dm | 42 ++++++++++++++++++ .../hostile/megafauna/blood_drunk_miner.dm | 2 +- .../inhands/equipment/kitchen_lefthand.dmi | Bin 2289 -> 2567 bytes .../inhands/equipment/kitchen_righthand.dmi | Bin 2571 -> 2924 bytes icons/obj/weapons/stabby.dmi | Bin 5913 -> 6036 bytes icons/obj/weapons/stabby_wide.dmi | Bin 0 -> 402 bytes 8 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 icons/obj/weapons/stabby_wide.dmi diff --git a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm index be8530a678d..7d01752982d 100644 --- a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm +++ b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm @@ -13,6 +13,8 @@ var/trophy_id /// what type of trophies will block this trophy from being added, must be overriden var/denied_type = /obj/item/crusher_trophy + /// what item will drop if you cut it with wildhunter's knife + var/wildhunter_drop = null /obj/item/crusher_trophy/examine(mob/living/user) . = ..() diff --git a/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm b/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm index 378ff0f6dce..fdc1564004c 100644 --- a/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm +++ b/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm @@ -10,6 +10,7 @@ denied_type = /obj/item/crusher_trophy/watcher_wing trophy_id = TROPHY_WATCHER bonus_value = 5 + wildhunter_drop = /obj/item/stack/sheet/sinew /obj/item/crusher_trophy/watcher_wing/effect_desc() return "mark detonation to prevent certain creatures from using certain attacks for [bonus_value*0.1] second\s" @@ -33,6 +34,7 @@ icon_state = "magma_wing" gender = NEUTER bonus_value = 5 + wildhunter_drop = /obj/item/stack/sheet/sinew /obj/item/crusher_trophy/blaster_tubes/magma_wing/effect_desc() return "mark detonation to make the next destabilizer shot deal [bonus_value] damage" @@ -50,6 +52,7 @@ desc = "A carefully preserved frozen wing from an icewing watcher. Suitable as a trophy for a kinetic crusher." icon_state = "ice_wing" bonus_value = 8 + wildhunter_drop = /obj/item/stack/sheet/sinew //legion /obj/item/crusher_trophy/legion_skull @@ -58,6 +61,7 @@ icon_state = "legion_skull" denied_type = /obj/item/crusher_trophy/legion_skull bonus_value = 3 + wildhunter_drop = /obj/item/organ/monster_core/regenerative_core/legion // if you killed blood drunk you can afford stabilizer potions sooo.... /obj/item/crusher_trophy/legion_skull/effect_desc() return "a kinetic crusher to recharge [bonus_value*0.1] second\s faster" @@ -80,6 +84,7 @@ denied_type = /obj/item/crusher_trophy/goliath_tentacle bonus_value = 2 trophy_id = TROPHY_GOLIATH_TENTACLE + wildhunter_drop = /obj/item/stack/sheet/animalhide/goliath_hide /// Your missing health is multiplied by this value to find the bonus damage var/missing_health_ratio = 0.1 /// Amount of health you must lose to gain damage, according to the examine text. Cached so we don't recalculate it every examine. @@ -108,6 +113,7 @@ denied_type = /obj/item/crusher_trophy/lobster_claw trophy_id = TROPHY_LOBSTER_CLAW bonus_value = 1 + wildhunter_drop = /obj/item/organ/monster_core/rush_gland /obj/item/crusher_trophy/lobster_claw/effect_desc() return "mark detonation to briefly rebuke the target for [bonus_value] seconds" @@ -123,6 +129,7 @@ desc = "A fang from a brimdemon's corpse." denied_type = /obj/item/crusher_trophy/brimdemon_fang trophy_id = TROPHY_BRIMDEMON_FANG + wildhunter_drop = /obj/item/organ/monster_core/brimdust_sac /// Cartoon punching vfx var/static/list/comic_phrases = list("BOOM", "BANG", "KABLOW", "KAPOW", "OUCH", "BAM", "KAPOW", "WHAM", "POW", "KABOOM") @@ -141,6 +148,7 @@ icon_state = "bileworm_spewlet" desc = "A baby bileworm. Suitable as a trophy for a kinetic crusher." denied_type = /obj/item/crusher_trophy/bileworm_spewlet + wildhunter_drop = /obj/item/stack/sheet/animalhide/bileworm ///item ability that handles the effect var/datum/action/cooldown/mob_cooldown/projectile_attack/dir_shots/spewlet/ability diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm b/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm index 55db2372a6c..4cccf8993ab 100644 --- a/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm +++ b/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm @@ -121,3 +121,45 @@ balloon_alert(user, "[active ? "opened" : "closed"] [src]") playsound(src, 'sound/effects/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000)) return COMPONENT_NO_DEFAULT_MESSAGE + +// Wildhunter's butchering knife + +/obj/item/knife/hunting/wildhunter + name = "wildhunter's butchering knife" + desc = "A magical knife made out of ashen stone. It was used to butcher local fauna by best hunters. Cuts everything to the simplest." + icon = 'icons/obj/weapons/stabby_wide.dmi' + inhand_icon_state = "wildhuntingknife" + icon_state = "wildhuntingknife" + icon_angle = 180 + force = 20 + wound_bonus = 15 + w_class = WEIGHT_CLASS_NORMAL + sharpness = SHARP_EDGED + attack_verb_continuous = list("slices", "hunts", "butchers", "pierces") + attack_verb_simple = list("slice", "hunt", "butcher", "pierce") + +//best butchering tool +/obj/item/knife/hunting/wildhunter/set_butchering() + AddComponent(\ + /datum/component/butchering, \ + speed = 1.5 SECONDS , \ + effectiveness = 110, \ + bonus_modifier = 0, \ + ) + +/obj/item/knife/hunting/wildhunter/make_stabby() + return + +//cut those trophies +/obj/item/knife/hunting/wildhunter/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!istype(interacting_with, /obj/item/crusher_trophy)) + return NONE + var/obj/item/crusher_trophy/trophy = interacting_with + if(isnull(trophy.wildhunter_drop)) + return NONE + balloon_alert(user, "cutting trophy...") + if(!do_after(user, 4 SECONDS, trophy)) + return ITEM_INTERACT_BLOCKING + new trophy.wildhunter_drop(trophy.drop_location()) + qdel(trophy) + return ITEM_INTERACT_SUCCESS diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index d3c9556a9d1..1af4234db35 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -37,7 +37,7 @@ Difficulty: Medium rapid_melee = 5 // starts fast because the saw's closed. gets reduced appropriately when extended, see their transform_weapon ability pixel_x = -16 base_pixel_x = -16 - crusher_loot = list(/obj/item/melee/cleaving_saw, /obj/item/gun/energy/recharge/kinetic_accelerator, /obj/item/crusher_trophy/miner_eye) + crusher_loot = list(/obj/item/melee/cleaving_saw, /obj/item/gun/energy/recharge/kinetic_accelerator, /obj/item/crusher_trophy/miner_eye, /obj/item/knife/hunting/wildhunter) loot = list(/obj/item/melee/cleaving_saw, /obj/item/gun/energy/recharge/kinetic_accelerator) wander = FALSE del_on_death = TRUE diff --git a/icons/mob/inhands/equipment/kitchen_lefthand.dmi b/icons/mob/inhands/equipment/kitchen_lefthand.dmi index 3d8843c85758efa7ae55ade36981d59b72891b80..7e3bb95f10884e0aaebc6b5f1b665d91ee57891c 100644 GIT binary patch literal 2567 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 diff --git a/icons/obj/weapons/stabby_wide.dmi b/icons/obj/weapons/stabby_wide.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fa5c96f8a497eda316f2132c23387c77dc6771b9 GIT binary patch literal 402 zcmV;D0d4+?P)LN|>d06dQ|`0cAst4ON4Ufgk`VqoOD%7(TNs**JZAnxUYuh}kqj@itSC zgp;CKvZ0_@q99PEprDB2F0Mggp$p{%L`AX}8+Ku}Of w2yC;00EX)!&Jr>}mw*BmoZcoWkcJlk0Oj`{_J^h}cmMzZ07*qoM6N<$f{bI8{Qv*} literal 0 HcmV?d00001
2F0Mggp$p{%L`AX}8+Ku}Of w2yC;00EX)!&Jr>}mw*BmoZcoWkcJlk0Oj`{_J^h}cmMzZ07*qoM6N<$f{bI8{Qv*} literal 0 HcmV?d00001