hunt_and_sacrifice
Allows the heretic to sacrifice living heart targets.
Vars | |
heretic_level_generated | Whether we've generated a heretic sacrifice z-level yet, from any heretic. |
---|---|
heretic_mind | A weakref to the mind of our heretic. |
return_timers | An assoc list of [ref] to [timers] - a list of all the timers of people in the shadow realm currently |
target_blacklist | Lazylist of minds that we won't pick as targets. |
Procs | |
after_helgrasp_ends | This proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target]. |
after_return_dead_target | This proc is called from [proc/return_target] if the target dies in the shadow realm. |
after_return_live_target | This proc is called from [proc/return_target] if the [sac_target] survives the shadow realm. |
after_target_sleeps | This proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep, shortly after the sacrifice occurs. |
after_target_wakes | This proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up. |
begin_sacrifice | This proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target]. |
disembowel_target | "Fuck you" proc that gets called if the chain is interrupted at some points. Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure. |
generate_heretic_z_level | Generate the sacrifice z-level. |
obtain_targets | Obtain a list of targets for the user to hunt down and sacrifice. Tries to get four targets (minds) with living human currents. |
on_target_death | If they die in the shadow realm, they lost. Send them back. |
on_target_escape | If they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed. |
return_target | This proc is called from [proc/begin_sacrifice] if the target survived the shadow realm, or COMSIG_LIVING_DEATH if they don't. |
sacrifice_process | Begin the process of sacrificing the target. |
Var Details
heretic_level_generated
Whether we've generated a heretic sacrifice z-level yet, from any heretic.
heretic_mind
A weakref to the mind of our heretic.
return_timers
An assoc list of [ref] to [timers] - a list of all the timers of people in the shadow realm currently
target_blacklist
Lazylist of minds that we won't pick as targets.
Proc Details
after_helgrasp_ends
This proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target].
It gives them a message letting them know it's getting easier and they're almost free.
after_return_dead_target
This proc is called from [proc/return_target] if the target dies in the shadow realm.
After teleporting the target back to the station (dead), it spawns a special red broken illusion on their spot, for style.
after_return_live_target
This proc is called from [proc/return_target] if the [sac_target] survives the shadow realm.
Gives the sacrifice target some after effects upon ariving back to reality.
after_target_sleeps
This proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep, shortly after the sacrifice occurs.
Teleports the [sac_target] to the heretic room, asleep. If it fails to teleport, they will be disemboweled and stop the chain.
Arguments
- sac_target - the mob being sacrificed.
- destination - the spot they're being teleported to.
after_target_wakes
This proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up.
Begins the survival minigame, featuring the sacrifice targets. Gives them Helgrasp, throwing cursed hands towards them that they must dodge to survive. Also gives them a status effect, Unholy Determination, to help them in this endeavor.
Then applies some miscellaneous effects.
begin_sacrifice
This proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].
Sets off a chain that sends the person sacrificed to the shadow realm to dodge hands to fight for survival.
Arguments
- sac_target - the mob being sacrificed.
disembowel_target
"Fuck you" proc that gets called if the chain is interrupted at some points. Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure.
generate_heretic_z_level
Generate the sacrifice z-level.
obtain_targets
Obtain a list of targets for the user to hunt down and sacrifice. Tries to get four targets (minds) with living human currents.
Returns FALSE if no targets are found, TRUE if the targets list was populated.
on_target_death
If they die in the shadow realm, they lost. Send them back.
on_target_escape
If they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed.
return_target
This proc is called from [proc/begin_sacrifice] if the target survived the shadow realm, or COMSIG_LIVING_DEATH if they don't.
Teleports [sac_target] back to a random safe turf on the station (or observer spawn if it fails to find a safe turf). Also clears their status effects, unregisters any signals associated with the shadow realm, and sends a message to the heretic who did the sacrificed about whether they survived, and where they ended up.
Arguments
- sac_target - the mob being sacrificed
- heretic - the heretic who originally did the sacrifice.
sacrifice_process
Begin the process of sacrificing the target.
Arguments
- user - the mob doing the sacrifice (a heretic)
- selected_atoms - a list of all atoms chosen. Should be (at least) one human.
- loc - the turf the sacrifice is occuring on