Disallow effects from being scanned by the chameleon projector (#38017)
* henk * iseffect
This commit is contained in:
committed by
letterjay
parent
cc088d9113
commit
1d1dc1aca8
+3
-3
@@ -100,8 +100,8 @@
|
||||
R.time *= 2 //Building walls becomes slower when the Ark activates
|
||||
mass_recall()
|
||||
recalls_remaining++ //So it doesn't use up a charge
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
var/list/open_turfs = list()
|
||||
for(var/turf/open/OT in orange(1, T))
|
||||
if(!is_blocked_turf(OT, TRUE))
|
||||
@@ -283,7 +283,7 @@
|
||||
for(var/turf/closed/wall/W in RANGE_TURFS(2, src))
|
||||
W.dismantle_wall()
|
||||
for(var/obj/O in orange(1, src))
|
||||
if(!O.pulledby && !istype(O, /obj/effect) && O.density)
|
||||
if(!O.pulledby && !iseffect(O) && O.density)
|
||||
if(!step_away(O, src, 2) || get_dist(O, src) < 2)
|
||||
O.take_damage(50, BURN, "bomb")
|
||||
O.update_icon()
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
mech_sized = TRUE
|
||||
|
||||
/obj/effect/portal/wormhole/teleport(atom/movable/M)
|
||||
if(istype(M, /obj/effect)) //sparks don't teleport
|
||||
if(iseffect(M)) //sparks don't teleport
|
||||
return
|
||||
if(M.anchored)
|
||||
if(!(ismecha(M) && mech_sized))
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
/datum/chemical_reaction/proc/goonchem_vortex(turf/T, setting_type, range)
|
||||
for(var/atom/movable/X in orange(range, T))
|
||||
if(istype(X, /obj/effect))
|
||||
if(iseffect(X))
|
||||
continue
|
||||
if(!X.anchored)
|
||||
var/distance = get_dist(X, T)
|
||||
|
||||
Reference in New Issue
Block a user