Skip to content

Commit

Permalink
Added DropLimb proc for more consistent IPC damage. Also added blood …
Browse files Browse the repository at this point in the history
…cloud effect.
  • Loading branch information
EJDenton committed Jun 17, 2024
1 parent 02a5eeb commit cbae4e3
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions code/modules/research/xenoarchaeology/finds/finds_special.dm
Original file line number Diff line number Diff line change
Expand Up @@ -158,18 +158,34 @@

///Is called when the statue is destroyed. Deals sufficiently consequential damage to IPCs and non-IPCS. Dionae are the least affected.
/obj/item/vampiric/proc/bloodcall_final(var/mob/living/carbon/human/hero)
var/obj/item/vampiric/statue = src
var/reagent_amount = 50
var/datum/reagents/chem = new/datum/reagents(reagent_amount)
chem.my_atom = statue
chem.add_reagent(/singleton/reagent/blood, reagent_amount)

var/datum/effect/effect/system/smoke_spread/chem/smoke = new
smoke.show_log = 0 // This displays a log on creation
smoke.show_touch_log = 1 // This displays a log when a player is chemically affected
smoke.set_up(chem, 10, 0, statue, 120)
smoke.start()
qdel(chem)

if(!istype(hero))
return

if(!istype(hero.species, /datum/species/machine))
to_chat(hero, SPAN_HIGHDANGER("What have you done?! You feel an incredible pull as the statue breaks. The force crushes your hands and pulls your blood into an unseen void."))
hero.apply_damage(40, DAMAGE_BRUTE, BP_L_HAND)
hero.apply_damage(40, DAMAGE_BRUTE, BP_R_HAND)
hero.vessel.remove_reagent(/singleton/reagent/blood,rand(120,175))
return

hero.apply_damage(700, DAMAGE_BRUTE, BP_GROIN)
hero.apply_damage(700, DAMAGE_BRUTE, BP_GROIN) //The way IPC limbs seem to act I needed the double damage to ensure it was removed.
to_chat(hero, SPAN_HIGHDANGER("What have you done?! You feel like you're being ripped in half!"))
var/obj/item/organ/external/bishop = hero.get_organ(BP_GROIN)
to_chat(hero, SPAN_HIGHDANGER("What have you done?! An unseen force grips you and starts to pull in opposite directions!"))
hero.apply_damage(75, DAMAGE_BRUTE, BP_CHEST)
bishop.droplimb(FALSE, DROPLIMB_BLUNT) //Damage to the chest, groin, and droplimb proc should guarantee a decent simulation of the IPC being ripped in half.

return

///Adds an option to attack the statue with an item in-hand. If you have sufficient force it destroys the statue and calls the bloodcall_final proc.
Expand All @@ -184,8 +200,8 @@
playsound(get_turf(src), 'sound/species/revenant/grue_screech.ogg', 200, TRUE)
playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 70, 1)
shatter_material.place_shard(get_turf(src))
qdel(src)
bloodcall_final(user)
qdel(src)
return ..()

//animated blood 2 SPOOKY
Expand Down

0 comments on commit cbae4e3

Please sign in to comment.