-
Notifications
You must be signed in to change notification settings - Fork 506
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Life changes #19560
base: master
Are you sure you want to change the base?
Life changes #19560
Conversation
!wip Collidewith refactor have to go in first |
!review |
if(LAZYLEN(spell_masters)) | ||
for(var/obj/screen/movable/spell_master/spell_master in spell_masters) | ||
spell_master.update_spells(0, src) | ||
|
||
if(stat != DEAD) | ||
return TRUE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The meaning of the returned value should be documented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was supposed to be TRUE for "yes i am alive and processing" and FALSE or null for "i'm dead" but the Life procs are too inconsistent for it to be reliable, and I'm not rewriting them all to be at the moment
Note that this isn't different than other implementations of Life() that are already in the codebase, where they return TRUE at the end of it and null or FALSE otherwise, see eg. /mob/living/simple_animal/Life
that returns a straight 1
Refactored Life() to receive seconds per tick and times fired as parameters.
Life() now cannot be slept in, turned various sleepings into async calls procs.
Optimized mob AI subsystems, gave them new priorities levels and flags.
Grab upgrades are now elaborated asynchronously, tweaked them to avoid stacking multiple upgrades.
Fixed plains tyrants keeping sending messages about stomping even if dead.