TG: Renamed the prisoner computer's file to prisoner and added a sanity check.

The singularity is now able to eat things like signs and chameleon projectors'
projections.
A few other misc runtime fixes. r2916
This commit is contained in:
Ren Erthilo
2012-04-09 13:28:45 +01:00
parent 73f2c98e76
commit 4a39151e9e
8 changed files with 339 additions and 353 deletions
+3 -1
View File
@@ -650,12 +650,14 @@ Traitors and the like can also be revived with the previous role mostly intact.
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
if(confirm != "Yes") return
//Due to the delay here its easy for something to have happened to the mob
if(!M) return
if(usr.key != M.key && M.client)
log_admin("[key_name(usr)] has gibbed [key_name(M)]")
message_admins("[key_name_admin(usr)] has gibbed [key_name_admin(M)]", 1)
if (istype(M, /mob/dead/observer))
if(istype(M, /mob/dead/observer))
gibs(M.loc, M.viruses)
return
+29 -71
View File
@@ -975,85 +975,43 @@ note dizziness decrements automatically in the mob's Life() proc.
statpanel("Spells","[S.charge_counter]/[S.charge_max]",S)
if("holdervar")
statpanel("Spells","[S.holder_var_type] [S.holder_var_amount]",S)
#if 1
/client/proc/station_explosion_cinematic(var/derp)
if(mob)
var/mob/M = mob
M.loc = null // HACK, but whatever, this works
if (M.client&&M.hud_used)//They may some times not have a hud, apparently.
var/obj/screen/boom = M.hud_used.station_explosion
M.client.screen += boom
if(ticker)
switch(ticker.mode.name)
if("nuclear emergency")
flick("start_nuke", boom)
if("AI malfunction")
flick("start_malf", boom)
else
boom.icon_state = "start"
sleep(40)
M << sound('explosionfar.ogg')
boom.icon_state = "end"
if(!derp) flick("explode", boom)
else flick("explode2", boom)
sleep(40)
if(ticker)
switch(ticker.mode.name)
if("nuclear emergency")
if(!derp) boom.icon_state = "loss_nuke"
else boom.icon_state = "loss_nuke2"
if("malfunction")
boom.icon_state = "loss_malf"
if("blob")
return//Nothin here yet and the general one does not fit.
else
boom.icon_state = "loss_general"
#elif
/client/proc/station_explosion_cinematic(var/derp)
if(!mob)
return
var/mob/M = mob
M.loc = null // HACK, but whatever, this works
/client/proc/station_explosion_cinematic(var/station_missed)
if(!mob || !ticker) return
if(!mob.client || !mob.hud_used || !ticker.mode) return
// M.loc = null this might make it act weird but fuck putting them in nullspace, it causes issues.
var/obj/screen/boom = mob.hud_used.station_explosion
if(!istype(boom)) return
if(!M.hud_used)
return
mob.client.screen += boom
switch(ticker.mode.name)
if("nuclear emergency")
flick("start_nuke", boom)
if("AI malfunction")
flick("start_malf", boom)
else
boom.icon_state = "start"
var/obj/screen/boom = M.hud_used.station_explosion
screen += boom
if(ticker)
switch(ticker.mode.name)
if("nuclear emergency")
flick("start_nuke", boom)
if("AI malfunction")
flick("start_malf", boom)
else
boom.icon_state = "start"
sleep(40)
M << sound('explosionfar.ogg')
mob << sound('explosionfar.ogg')
boom.icon_state = "end"
if(!derp)
flick("explode", boom)
else
flick("explode2", boom)
if(!station_missed) flick("explode", boom)
else flick("explode2", boom)
sleep(40)
if(ticker)
switch(ticker.mode.name)
if("nuclear emergency")
if (!derp)
boom.icon_state = "loss_nuke"
else
boom.icon_state = "loss_nuke2"
if("AI malfunction")
boom.icon_state = "loss_malf"
else
boom.icon_state = "loss_general"
#endif
switch(ticker.mode.name)
if("nuclear emergency")
if(!station_missed) boom.icon_state = "loss_nuke"
else boom.icon_state = "loss_nuke2"
if("malfunction")
boom.icon_state = "loss_malf"
if("blob")
return//Nothin here yet and the general one does not fit.
else
boom.icon_state = "loss_general"
return
// facing verbs
@@ -1,8 +1,6 @@
var/global/list/uneatable = list(
/turf/space,
/obj/effect,
/obj/effect/overlay,
/obj/effect/rune,
/mob/aiEye
)