Merge pull request #12557 from silicons/life

Splits Life() into procs for physical and biological life processes in preparation for stasis beds
This commit is contained in:
Lin
2020-06-21 18:32:58 -05:00
committed by GitHub
94 changed files with 494 additions and 450 deletions
@@ -123,7 +123,9 @@
trauma = _trauma
return ..()
/mob/living/split_personality/Life()
/mob/living/split_personality/BiologicalLife(seconds, times_fired)
if(!(. = ..()))
return
if(QDELETED(body))
qdel(src) //in case trauma deletion doesn't already do it
@@ -132,8 +134,6 @@
trauma.switch_personalities()
qdel(trauma)
..()
/mob/living/split_personality/Login()
..()
to_chat(src, "<span class='notice'>As a split personality, you cannot do anything but observe. However, you will eventually gain control of your body, switching places with the current personality.</span>")
+5 -5
View File
@@ -30,7 +30,7 @@ GLOBAL_LIST_EMPTY(cinematics)
/datum/cinematic
var/id = CINEMATIC_DEFAULT
var/list/watching = list() //List of clients watching this
var/list/locked = list() //Who had notransform set during the cinematic
var/list/locked = list() //Who had mob_transforming set during the cinematic
var/is_global = FALSE //Global cinematics will override mob-specific ones
var/obj/screen/cinematic/screen
var/datum/callback/special_callback //For special effects synced with animation (explosions after the countdown etc)
@@ -45,7 +45,7 @@ GLOBAL_LIST_EMPTY(cinematics)
GLOB.cinematics -= src
QDEL_NULL(screen)
for(var/mob/M in locked)
M.notransform = FALSE
M.mob_transforming = FALSE
return ..()
/datum/cinematic/proc/play(watchers)
@@ -70,7 +70,7 @@ GLOBAL_LIST_EMPTY(cinematics)
for(var/mob/M in GLOB.mob_list)
if(M in watchers)
M.notransform = TRUE //Should this be done for non-global cinematics or even at all ?
M.mob_transforming = TRUE //Should this be done for non-global cinematics or even at all ?
locked += M
//Close watcher ui's
SStgui.close_user_uis(M)
@@ -79,7 +79,7 @@ GLOBAL_LIST_EMPTY(cinematics)
M.client.screen += screen
else
if(is_global)
M.notransform = TRUE
M.mob_transforming = TRUE
locked += M
//Actually play it
@@ -254,4 +254,4 @@ Nuke.Explosion()
Narsie()
-> Cinematic(CULT,world)
*/
*/
+1 -1
View File
@@ -109,7 +109,7 @@
AM.visible_message("<span class='boldwarning'>[AM] falls into [parent]!</span>", "<span class='userdanger'>[oblivion_message]</span>")
if (isliving(AM))
var/mob/living/L = AM
L.notransform = TRUE
L.mob_transforming = TRUE
L.Paralyze(200)
var/oldtransform = AM.transform
+2 -2
View File
@@ -52,9 +52,9 @@
to_chat(affected_mob, pick(stage5))
if(QDELETED(affected_mob))
return
if(affected_mob.notransform)
if(affected_mob.mob_transforming)
return
affected_mob.notransform = 1
affected_mob.mob_transforming = 1
for(var/obj/item/W in affected_mob.get_equipped_items(TRUE))
affected_mob.dropItemToGround(W)
for(var/obj/item/I in affected_mob.held_items)