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 3d8843c8575..7e3bb95f108 100644 Binary files a/icons/mob/inhands/equipment/kitchen_lefthand.dmi and b/icons/mob/inhands/equipment/kitchen_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/kitchen_righthand.dmi b/icons/mob/inhands/equipment/kitchen_righthand.dmi index 4e5664bbc0c..0aa87d9558b 100644 Binary files a/icons/mob/inhands/equipment/kitchen_righthand.dmi and b/icons/mob/inhands/equipment/kitchen_righthand.dmi differ diff --git a/icons/obj/weapons/stabby.dmi b/icons/obj/weapons/stabby.dmi index be125b5f31d..80c4cf86802 100644 Binary files a/icons/obj/weapons/stabby.dmi and b/icons/obj/weapons/stabby.dmi differ diff --git a/icons/obj/weapons/stabby_wide.dmi b/icons/obj/weapons/stabby_wide.dmi new file mode 100644 index 00000000000..fa5c96f8a49 Binary files /dev/null and b/icons/obj/weapons/stabby_wide.dmi differ