diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index ee6e35106eca..721d086aca5b 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -102,7 +102,7 @@ var/target_health = L.health for(var/t in trophies) var/obj/item/crusher_trophy/T = t - T.on_mark_detonation(target, user) + T.on_mark_detonation(target, user, src) //we pass in the kinetic crusher so that on_mark_detonation can use the properties of the crusher to reapply marks: see malformed_bone if(!QDELETED(L)) if(!QDELETED(C)) C.total_damage += target_health - L.health //we did some damage, but let's not assume how much we did @@ -412,3 +412,20 @@ /obj/effect/temp_visual/hierophant/wall/crusher duration = 75 + +//Legion (Megafauna) +/obj/item/crusher_trophy/malformed_bone + name = "malformed bone" + desc = "A piece of bone caught in the act of division. Suitable as a trophy for a kinetic crusher." + icon_state = "malf_bone" + denied_type = /obj/item/crusher_trophy/malformed_bone + bonus_value = 40 + +/obj/item/crusher_trophy/malformed_bone/effect_desc() + return "mark detonation to have a [bonus_value]% chance to trigger a second detonation" + +/obj/item/crusher_trophy/malformed_bone/on_mark_detonation(mob/living/target, mob/living/user, obj/item/twohanded/required/kinetic_crusher/hammer_synced) + if(hammer_synced) + for(var/mob/living/L in oview(2,user))//fuck you and everything around you with a mark + if(prob(bonus_value) && !L.has_status_effect(STATUS_EFFECT_CRUSHERMARK)) + L.apply_status_effect(STATUS_EFFECT_CRUSHERMARK,hammer_synced) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 68bfc5c0ea70..0e8dde35a30f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -169,6 +169,9 @@ Difficulty: Medium loot = list(/obj/item/staff/storm, /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker, /obj/item/keycard/necropolis) + crusher_loot = list(/obj/item/crusher_trophy/malformed_bone,/obj/item/staff/storm, + /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker, + /obj/item/keycard/necropolis) //the way it is now you can get this if you just whip out the crusher towards the end but nobody's gonna do that probably elimination = FALSE else if(prob(10)) loot = list(/obj/structure/closet/crate/necropolis/tendril) diff --git a/icons/obj/lavaland/artefacts.dmi b/icons/obj/lavaland/artefacts.dmi index 9c3b2490c833..8200901f1825 100644 Binary files a/icons/obj/lavaland/artefacts.dmi and b/icons/obj/lavaland/artefacts.dmi differ