mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-09 14:15:22 +01:00
23ad8a48fa
* bring it back now y'all * adds a bunch of other changes * pretty much works at this point * grep * Fixes some bugs, still chasing some down * Add observers to recursive mob check, ensuring they can see messages from their orbitted atom * tidy some things up * resolve * remove unnecessary checks * Address todos, minor cleanups * oh dear * initial testing * Fix some vulnerabilities (oops) * Fix some other bugs from testing * ci fixes * Add some contingencies against clicking things you shouldn't * fix some noted bugs * Add observe to admin jump, improve messaging * add a few more fixes that should mostly address some runtimes * oh this wasn't really great * one last thing * Fix suit inventory problem * Remove merge artifact * Add some missing parens * Prevents you from observing other ghosts, and should fix the getting stuck outside of your body issue. * we love testing * adds to player panel * Fix more bugs with observers getting stuck outside of their body * cleans up player panel, verb offerings * shit * Update code/_onclick/hud/alert.dm welp Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> * Fixes some targeting issues * Fixes targeting on aobserve * Fix some weird storage bugs * clean up some doulbed up follow links * Update code/modules/admin/player_panel.dm Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> * Adds some checks for ghost observe * Remove mentor debug log * ahhhhhhhhh that'll do it * Cleans up some additional checks that were not quite what they should have been * better logging, too * mochi review * one more thing * Gets robot huds mostly working * hopefully fix folks not getting observe * Fix order of operations causing a runtime on qdeleting * Remove some unnecessary stack traces * Apply suggestions from code review Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> * Fix bug with items in your inventory disappearing on changing HUD modes * Fix some bugs with the observe verbs * possibly fix nullspace issues * funny review * missed one --------- Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
91 lines
2.5 KiB
Plaintext
91 lines
2.5 KiB
Plaintext
// There, now `stat` is a proper state-machine
|
|
|
|
/mob/living/proc/KnockOut(updating = TRUE)
|
|
if(stat == DEAD)
|
|
stack_trace("KnockOut called on a dead mob.")
|
|
return FALSE
|
|
|
|
else if(stat == UNCONSCIOUS)
|
|
return FALSE
|
|
|
|
create_attack_log("<font color='red'>Fallen unconscious at [atom_loc_line(get_turf(src))]</font>")
|
|
add_attack_logs(src, null, "Fallen unconscious", ATKLOG_ALL)
|
|
log_game("[key_name(src)] fell unconscious at [atom_loc_line(get_turf(src))]")
|
|
set_stat(UNCONSCIOUS)
|
|
ADD_TRAIT(src, TRAIT_DEAF, STAT_TRAIT)
|
|
ADD_TRAIT(src, TRAIT_FLOORED, STAT_TRAIT)
|
|
ADD_TRAIT(src, TRAIT_IMMOBILIZED, STAT_TRAIT)
|
|
ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, STAT_TRAIT)
|
|
|
|
if(updating)
|
|
update_sight()
|
|
update_blind_effects(TRUE)
|
|
set_typing_indicator(FALSE)
|
|
if(hud_used && client)
|
|
hud_used.show_hud(HUD_STYLE_ACTIONHUD)
|
|
|
|
return TRUE
|
|
|
|
/mob/living/proc/WakeUp(updating = TRUE)
|
|
if(stat == DEAD)
|
|
stack_trace("WakeUp called on a dead mob.")
|
|
return FALSE
|
|
|
|
else if(stat == CONSCIOUS)
|
|
return FALSE
|
|
|
|
create_attack_log("<font color='red'>Woken up at [atom_loc_line(get_turf(src))]</font>")
|
|
add_attack_logs(src, null, "Woken up", ATKLOG_ALL)
|
|
log_game("[key_name(src)] woke up at [atom_loc_line(get_turf(src))]")
|
|
set_stat(CONSCIOUS)
|
|
REMOVE_TRAITS_IN(src, STAT_TRAIT)
|
|
|
|
if(updating)
|
|
update_sight()
|
|
update_blind_effects(force_clear_sleeping = TRUE)
|
|
if(hud_used && client)
|
|
hud_used.show_hud(HUD_STYLE_STANDARD)
|
|
|
|
return TRUE
|
|
|
|
// death() is used to make a mob die
|
|
|
|
// handles revival through other means than cloning or adminbus (defib, IPC repair)
|
|
/mob/living/proc/update_revive(updating = TRUE)
|
|
if(stat != DEAD)
|
|
return FALSE
|
|
|
|
create_attack_log("<font color='red'>Came back to life at [atom_loc_line(get_turf(src))]</font>")
|
|
add_attack_logs(src, null, "Came back to life", ATKLOG_ALL)
|
|
log_game("[key_name(src)] came back to life at [atom_loc_line(get_turf(src))]")
|
|
set_stat(UNCONSCIOUS) // this is done as `WakeUp` early returns if they are `stat = DEAD`
|
|
WakeUp()
|
|
|
|
if(suiciding)
|
|
message_admins("[key_name(src)] was revived after having committed suicide. This is likely a bug.")
|
|
|
|
GLOB.dead_mob_list -= src
|
|
GLOB.alive_mob_list |= src
|
|
REMOVE_TRAIT(src, TRAIT_RESPAWNABLE, GHOSTED)
|
|
|
|
last_words = null
|
|
timeofdeath = null
|
|
|
|
if(updating)
|
|
update_blind_effects()
|
|
update_sight()
|
|
updatehealth("update revive")
|
|
reload_fullscreen()
|
|
|
|
SEND_SIGNAL(src, COMSIG_LIVING_REVIVE, updating)
|
|
|
|
if(mind)
|
|
for(var/S in mind.spell_list)
|
|
var/datum/spell/spell = S
|
|
spell.UpdateButtons()
|
|
|
|
return TRUE
|
|
|
|
/mob/living/proc/check_death_method()
|
|
return TRUE
|