omen 
omen.dm: For when you want someone to have a really bad day
When you attach an omen component to someone, they start running the risk of all sorts of bad environmental injuries, like nearby vending machines randomly falling on you, or hitting your head really hard when you slip and fall, or you get shocked by the tram rails at an unfortunate moment.
Omens are removed once the victim is either maimed by one of the possible injuries, or if they receive a blessing (read: bashing with a bible) from the chaplain.
Vars | |
| bless_fixable | If TRUE being blessed by the chaplain can remove the omen |
|---|---|
| damage_mod | Base damage from negative events. Cursed take 25% of this damage. |
| incidents_left | How many incidents are left. If 0 exactly, it will get deleted. |
| luck_mod | Base probability of negative events. Cursed are half as unlucky. |
| on_death | Callback invoked on death |
| tracked_lights | List of light fixtures nearby - we track their state to see if they break or toggle |
| vessel | Whatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending |
Procs | |
| InheritComponent | This is a omen eat omen world! The stronger omen survives. |
| check_accident | Every time we move we need to check a few things for potential incidents |
| check_airlock_crush | When we obstruct an airlock, there's a chance it will crush us instead of stopping like it should |
| check_bless | Hijack the mood system to see if we get the blessing mood event to cancel the omen |
| check_break_zap | When a light we track breaks, there's a chance of zapping us |
| check_death | Severe deaths. Normally lifts the curse. |
| check_slip | If we get knocked down, see if we have a really bad slip and bash our head hard |
| check_toggle_zap | When a light we track is toggled on or off, there's a chance of zapping us |
| check_vending | When we vend an item from a vending machine, there's a chance the machine will tip |
| death_explode | Creates a localized explosion that shakes the camera |
| fall_down | Attempts to throw us down a nearby open space |
| light_zap | Zap the target with electricity from a light fixture |
| mirror_interaction | Gaze into a mirror and see if something bad happens |
| on_life | On life tick, run a few generic checks for accidents, and track nearby lights |
| roll_for_accident | Roll an accident happening, factoring in a few things, based on some base change. |
| spontaneous_combustion | Randomly burst into flames |
| track_light | Start tracking a light, because it's near us and could be a threat |
| untrack_light | Stop tracking a light, either because it broke or we moved away from it |
| vessel_qdeleting | Vessel got deleted, set it to null |
Var Details
bless_fixable 
If TRUE being blessed by the chaplain can remove the omen
damage_mod 
Base damage from negative events. Cursed take 25% of this damage.
incidents_left 
How many incidents are left. If 0 exactly, it will get deleted.
luck_mod 
Base probability of negative events. Cursed are half as unlucky.
on_death 
Callback invoked on death
tracked_lights 
List of light fixtures nearby - we track their state to see if they break or toggle
vessel 
Whatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending
Proc Details
InheritComponent
This is a omen eat omen world! The stronger omen survives.
check_accident
Every time we move we need to check a few things for potential incidents
check_airlock_crush
When we obstruct an airlock, there's a chance it will crush us instead of stopping like it should
check_bless
Hijack the mood system to see if we get the blessing mood event to cancel the omen
check_break_zap
When a light we track breaks, there's a chance of zapping us
check_death
Severe deaths. Normally lifts the curse.
check_slip
If we get knocked down, see if we have a really bad slip and bash our head hard
check_toggle_zap
When a light we track is toggled on or off, there's a chance of zapping us
check_vending
When we vend an item from a vending machine, there's a chance the machine will tip
death_explode
Creates a localized explosion that shakes the camera
fall_down
Attempts to throw us down a nearby open space
light_zap
Zap the target with electricity from a light fixture
mirror_interaction
Gaze into a mirror and see if something bad happens
on_life
On life tick, run a few generic checks for accidents, and track nearby lights
roll_for_accident
Roll an accident happening, factoring in a few things, based on some base change.
spontaneous_combustion
Randomly burst into flames
track_light
Start tracking a light, because it's near us and could be a threat
untrack_light
Stop tracking a light, either because it broke or we moved away from it
vessel_qdeleting
Vessel got deleted, set it to null