Merge pull request #15527 from phil235/ReviveFixes

Fixes blindness overlay after reviving.
This commit is contained in:
AnturK
2016-02-15 23:17:55 +01:00
11 changed files with 53 additions and 63 deletions
+19 -2
View File
@@ -1,4 +1,15 @@
/mob/living/carbon/brain/Life()
set invisibility = 0
set background = BACKGROUND_ENABLED
if (notransform)
return
if(!loc)
return
. = ..()
handle_emp_damage()
/mob/living/carbon/brain/handle_breathing()
return
@@ -30,9 +41,15 @@
death()
*/
/mob/living/carbon/brain/handle_status_effects()
/mob/living/carbon/brain/proc/handle_emp_damage()
if(emp_damage)
emp_damage = max(emp_damage-1, 0)
if(stat == DEAD)
emp_damage = 0
else
emp_damage = max(emp_damage-1, 0)
/mob/living/carbon/brain/handle_status_effects()
return
/mob/living/carbon/brain/handle_disabilities()
return
@@ -39,7 +39,7 @@ var/global/posibrain_notif_cooldown = 0
spawn(askDelay) //Seperate from the global cooldown.
notified = 0
update_icon()
if(brainmob.stat == CONSCIOUS && brainmob.client)
if(brainmob.client)
visible_message("<span class='notice'>The positronic brain pings, and its lights start flashing. Success!</span>")
else
visible_message("<span class='notice'>The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?</span>")
@@ -99,6 +99,9 @@ var/global/posibrain_notif_cooldown = 0
brainmob << "<b>As a synthetic intelligence, you answer to all crewmembers, as well as the AI.</b>"
brainmob << "<b>Remember, the purpose of your existence is to serve the crew and the station. Above all else, do no harm.</b>"
brainmob.mind.assigned_role = "Positronic Brain"
brainmob.stat = CONSCIOUS
dead_mob_list -= brainmob
living_mob_list += brainmob
visible_message("<span class='notice'>The positronic brain chimes quietly.</span>")
update_icon()
@@ -123,8 +126,6 @@ var/global/posibrain_notif_cooldown = 0
if(CONSCIOUS)
if(!src.brainmob.client)
msg += "It appears to be in stand-by mode.\n" //afk
if(UNCONSCIOUS)
msg += "<span class='warning'>It doesn't seem to be responsive.</span>\n"
if(DEAD)
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
else
@@ -139,7 +140,6 @@ var/global/posibrain_notif_cooldown = 0
brainmob.real_name = brainmob.name
brainmob.loc = src
brainmob.container = src
dead_mob_list -= brainmob
ping_ghosts("created")
..()
+10 -7
View File
@@ -690,10 +690,7 @@ var/const/GALOSHES_DONT_HELP = 4
radiation = 0
nutrition = NUTRITION_LEVEL_FED + 50
bodytemperature = 310
eye_damage = 0
disabilities = 0
eye_blind = 0
eye_blurry = 0
ear_deaf = 0
ear_damage = 0
hallucination = 0
@@ -711,10 +708,16 @@ var/const/GALOSHES_DONT_HELP = 4
reagents.addiction_list = list()
for(var/datum/disease/D in viruses)
D.cure(0)
if(stat == DEAD)
dead_mob_list -= src
living_mob_list += src
stat = CONSCIOUS
var/obj/item/organ/internal/brain/BR = getorgan(/obj/item/organ/internal/brain)
if(BR) //can't revive if the mob has no brain
if(stat == DEAD)
dead_mob_list -= src
living_mob_list += src
stat = CONSCIOUS
BR.damaged_brain = 0 //if the brain itself is damaged we heal it
set_blindness(0)
set_blurriness(0)
set_eye_damage(0)
if(ishuman(src))
var/mob/living/carbon/human/human_mob = src
human_mob.restore_blood()
+4 -8
View File
@@ -469,10 +469,7 @@ Sorry Giacom. Please don't be mad :(
radiation = 0
nutrition = NUTRITION_LEVEL_FED + 50
bodytemperature = 310
eye_damage = 0
disabilities = 0
eye_blind = 0
eye_blurry = 0
ear_deaf = 0
ear_damage = 0
hallucination = 0
@@ -484,6 +481,9 @@ Sorry Giacom. Please don't be mad :(
dead_mob_list -= src
living_mob_list += src
stat = CONSCIOUS
set_blindness(0)
set_blurriness(0)
set_eye_damage(0)
updatehealth()
update_fire()
regenerate_icons()
@@ -962,7 +962,7 @@ Sorry Giacom. Please don't be mad :(
src << "<span class='notice'>You're too exhausted to keep going...</span>"
Weaken(5)
setStaminaLoss(health - 2)
update_health_hud()
update_health_hud()
/mob/proc/update_sight()
return
@@ -1102,10 +1102,6 @@ Sorry Giacom. Please don't be mad :(
clear_fullscreen("high")
clear_alert("high")
/mob/proc/update_vision_overlays()
return
/mob/proc/cure_blind() //when we want to cure the BLIND disability only.
return
-14
View File
@@ -890,17 +890,3 @@ var/list/ai_list = list()
AT.get_remote_view_fullscreens(src)
else
clear_fullscreen("remote_view", 0)
/mob/living/silicon/ai/update_vision_overlays()
if(!client)
return
if(stat == DEAD) //if dead we just remove all vision impairments
clear_fullscreens()
return
if(eye_blind)
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
else
clear_fullscreen("blind")
@@ -1248,25 +1248,6 @@
update_canmove()
update_headlamp()
/mob/living/silicon/robot/update_vision_overlays()
if(!client)
return
if(stat == DEAD) //if dead we just remove all vision impairments
clear_fullscreens()
return
if(eye_blind)
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
else
clear_fullscreen("blind")
if(client.eye != src)
var/atom/A = client.eye
A.get_remote_view_fullscreens(src)
else
clear_fullscreen("remote_view", 0)
/mob/living/silicon/robot/fully_replace_character_name(oldname, newname)
..()
if(oldname != real_name)
+7 -1
View File
@@ -25,10 +25,16 @@
nodamage = 0
/obj/item/projectile/magic/fireball/Range()
var/mob/living/L = locate(/mob/living) in (range(src, 1) - firer)
var/turf/T1 = get_step(src,turn(dir, -45))
var/turf/T2 = get_step(src,turn(dir, 45))
var/mob/living/L = locate(/mob/living) in T1 //if there's a mob alive in our front right diagonal, we hit it.
if(L && L.stat != DEAD)
Bump(L) //Magic Bullet #teachthecontroversy
return
L = locate(/mob/living) in T2
if(L && L.stat != DEAD)
Bump(L)
return
..()
/obj/item/projectile/magic/fireball/on_hit(target)
+1 -1
View File
@@ -476,7 +476,7 @@
return
/obj/machinery/disposal/bin/get_remote_view_fullscreens(mob/user)
if(!(user.sight & (SEEOBJS|SEEMOBS)))
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 2)