Disallow effects from being scanned by the chameleon projector (#38017)

* henk

* iseffect
This commit is contained in:
vuonojenmustaturska
2018-05-25 15:36:56 +03:00
committed by letterjay
parent cc088d9113
commit 1d1dc1aca8
9 changed files with 19 additions and 16 deletions
@@ -239,10 +239,10 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(final_countdown) // We're already doing it go away
return
final_countdown = TRUE
var/image/causality_field = image(icon, null, "causality_field")
add_overlay(causality_field, TRUE)
var/speaking = "[emergency_alert] The supermatter has reached critical integrity failure. Emergency causality destabilization field has been activated."
radio.talk_into(src, speaking, common_channel, get_spans(), get_default_language())
for(var/i in SUPERMATTER_COUNTDOWN_TIME to 0 step -10)
@@ -260,7 +260,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
speaking = "[i/10]..."
radio.talk_into(src, speaking, common_channel, get_spans(), get_default_language())
sleep(10)
explode()
/obj/machinery/power/supermatter_crystal/proc/explode()
@@ -273,7 +273,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) )
var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(L, src) + 1) )
L.rad_act(rads)
var/turf/T = get_turf(src)
for(var/mob/M in GLOB.player_list)
if(M.z == z)
@@ -598,7 +598,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
AM.visible_message("<span class='danger'>\The [AM] slams into \the [src] inducing a resonance... [AM.p_their()] body starts to glow and catch flame before flashing into ash.</span>",\
"<span class='userdanger'>You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"</span>",\
"<span class='italics'>You hear an unearthly noise as a wave of heat washes over you.</span>")
else if(isobj(AM) && !istype(AM, /obj/effect))
else if(isobj(AM) && !iseffect(AM))
AM.visible_message("<span class='danger'>\The [AM] smacks into \the [src] and rapidly flashes to ash.</span>", null,\
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
else
@@ -620,10 +620,10 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
else if(istype(AM, /obj/singularity))
return
else if(isobj(AM))
if(!istype(AM, /obj/effect))
if(!iseffect(AM))
investigate_log("has consumed [AM].", INVESTIGATE_SUPERMATTER)
qdel(AM)
if(!istype(AM, /obj/effect))
if(!iseffect(AM))
matter_power += 200
//Some poor sod got eaten, go ahead and irradiate people nearby.