/datum/component/weed_food
A component that can be attached to a mob/living to be merged with weeds after a delay. Attempting to attach a new weed_food even if one already exists is equivalent to calling start().
Attach this to any mob/living that is dead (death or initialized dead) and it should handle the rest.
Vars | |
absorbing_weeds | The weeds that we are merging/merged with |
---|---|
active | Whether we are waiting on timer to merge |
merged | Whether we are merged with weeds |
parent_buckle | The obj that our parent is buckled to and we have registered a signal |
parent_mob | The living mob that we are bound to |
parent_nest | A nest our parent is buckled to and we have registered a signal |
parent_turf | The turf that our parent is on |
timer_id | Any active timer for a pending merge |
unmerged_time | The time we were unmerged (just to handle weeds upgrading) |
weed_appearance | The overlay image when merged |
Procs | |
merge_with_weeds | Finish becomming one with the weeds Returns TRUE if merged successfully |
on_after_buckle | SIGNAL_HANDLER for COMSIG_OBJ_AFTER_BUCKLE |
on_forsaken | SIGNAL_HANDLER for COMSIG_GLOB_GROUNDSIDE_FORSAKEN_HANDLING |
on_move | SIGNAL_HANDLER for COMSIG_MOVABLE_TURF_ENTERED |
on_nest_deletion | SIGNAL_HANDLER for COMSIG_PARENT_QDELETING of nest |
on_preignition | SIGNAL_HANDLER for COMSIG_LIVING_PREIGNITION of weeds |
on_rejuv | SIGNAL_HANDLER for COMSIG_LIVING_REJUVENATED and COMSIG_HUMAN_REVIVED |
on_update | SIGNAL_HANDLER for COMSIG_HUMAN_SET_UNDEFIBBABLE & COMSIG_WEEDNODE_GROWTH |
on_weed_deletion | SIGNAL_HANDLER for COMSIG_PARENT_QDELETING of weeds |
start | Try to start the process to turn into weeds Returns TRUE if started successfully |
stop | Try to stop the process turning into weeds Returns TRUE if stopped successfully (was active when called) |
unmerge_with_weeds | Undo the weedening Returns TRUE if unmerged successfully (always) |
Var Details
absorbing_weeds
The weeds that we are merging/merged with
active
Whether we are waiting on timer to merge
merged
Whether we are merged with weeds
parent_buckle
The obj that our parent is buckled to and we have registered a signal
parent_mob
The living mob that we are bound to
parent_nest
A nest our parent is buckled to and we have registered a signal
parent_turf
The turf that our parent is on
timer_id
Any active timer for a pending merge
unmerged_time
The time we were unmerged (just to handle weeds upgrading)
weed_appearance
The overlay image when merged
Proc Details
merge_with_weeds
Finish becomming one with the weeds Returns TRUE if merged successfully
on_after_buckle
SIGNAL_HANDLER for COMSIG_OBJ_AFTER_BUCKLE
on_forsaken
SIGNAL_HANDLER for COMSIG_GLOB_GROUNDSIDE_FORSAKEN_HANDLING
on_move
SIGNAL_HANDLER for COMSIG_MOVABLE_TURF_ENTERED
on_nest_deletion
SIGNAL_HANDLER for COMSIG_PARENT_QDELETING of nest
on_preignition
SIGNAL_HANDLER for COMSIG_LIVING_PREIGNITION of weeds
on_rejuv
SIGNAL_HANDLER for COMSIG_LIVING_REJUVENATED and COMSIG_HUMAN_REVIVED
on_update
SIGNAL_HANDLER for COMSIG_HUMAN_SET_UNDEFIBBABLE & COMSIG_WEEDNODE_GROWTH
on_weed_deletion
SIGNAL_HANDLER for COMSIG_PARENT_QDELETING of weeds
start
Try to start the process to turn into weeds Returns TRUE if started successfully
stop
Try to stop the process turning into weeds Returns TRUE if stopped successfully (was active when called)
unmerge_with_weeds
Undo the weedening Returns TRUE if unmerged successfully (always)