Indestructible turfs are no longer affected by necropolis tendrils or the lava staff (#22641)

* Indestructible turfs are no longer affected by necropolis tendrils or the lava staff

* a better proc name
This commit is contained in:
Joan Lung
2017-01-04 07:59:39 +13:00
committed by oranges
parent caf81101c6
commit 36eeb75770
5 changed files with 27 additions and 16 deletions
+3
View File
@@ -10,6 +10,9 @@
icon = 'icons/turf/walls.dmi'
explosion_block = 50
/turf/closed/indestructible/TerraformTurf(path, defer_change = FALSE, ignore_air = FALSE)
return
/turf/closed/indestructible/acid_act(acidpwr, acid_volume, acid_id)
return 0
+3
View File
@@ -10,6 +10,9 @@
icon = 'icons/turf/floors.dmi'
icon_state = "floor"
/turf/open/indestructible/TerraformTurf(path, defer_change = FALSE, ignore_air = FALSE)
return
/turf/open/indestructible/sound
name = "squeeky floor"
var/sound
+7 -3
View File
@@ -157,8 +157,12 @@
if(L)
qdel(L)
//wrapper for ChangeTurf()s that you want to prevent/affect without overriding ChangeTurf() itself
/turf/proc/TerraformTurf(path, defer_change = FALSE, ignore_air = FALSE)
return ChangeTurf(path, defer_change, ignore_air)
//Creates a new turf
/turf/proc/ChangeTurf(path, defer_change = FALSE,ignore_air = FALSE)
/turf/proc/ChangeTurf(path, defer_change = FALSE, ignore_air = FALSE)
if(!path)
return
if(!use_preloader && path == type) // Don't no-op if the map loader requires it to be reconstructed
@@ -172,8 +176,8 @@
Destroy() //❄
var/turf/W = new path(src)
W.proximity_checkers = old_checkers
if(!defer_change)
W.AfterChange(ignore_air)
W.blueprint_data = old_blueprint_data
@@ -665,21 +665,22 @@
user.visible_message("<span class='danger'>[user] points [src] at [T]!</span>")
timer = world.time + create_delay + 1
if(do_after(user, create_delay, target = T))
user.visible_message("<span class='danger'>[user] turns \the [T] into [transform_string]!</span>")
message_admins("[key_name_admin(user)] fired the lava staff at [get_area(target)]. [ADMIN_COORDJMP(T)]")
log_game("[key_name(user)] fired the lava staff at [get_area(target)] [COORD(T)].")
T.ChangeTurf(turf_type)
timer = world.time + create_cooldown
qdel(L)
var/old_name = T.name
if(T.TerraformTurf(turf_type))
user.visible_message("<span class='danger'>[user] turns \the [old_name] into [transform_string]!</span>")
message_admins("[key_name_admin(user)] fired the lava staff at [get_area(target)]. [ADMIN_COORDJMP(T)]")
log_game("[key_name(user)] fired the lava staff at [get_area(target)] [COORD(T)].")
timer = world.time + create_cooldown
playsound(T,'sound/magic/Fireball.ogg', 200, 1)
else
timer = world.time
qdel(L)
return
qdel(L)
else
user.visible_message("<span class='danger'>[user] turns \the [T] into [reset_string]!</span>")
T.ChangeTurf(reset_turf_type)
timer = world.time + reset_cooldown
playsound(T,'sound/magic/Fireball.ogg', 200, 1)
var/old_name = T.name
if(T.TerraformTurf(reset_turf_type))
user.visible_message("<span class='danger'>[user] turns \the [old_name] into [reset_string]!</span>")
timer = world.time + reset_cooldown
playsound(T,'sound/magic/Fireball.ogg', 200, 1)
/obj/effect/overlay/temp/lavastaff
icon_state = "lavastaff_warn"
@@ -1047,7 +1047,7 @@
visible_message("<span class='boldannounce'>The tendril falls inward, the ground around it widening into a yawning chasm!</span>")
for(var/turf/T in range(2,src))
if(!T.density)
T.ChangeTurf(/turf/open/chasm/straight_down/lava_land_surface)
T.TerraformTurf(/turf/open/chasm/straight_down/lava_land_surface)
qdel(src)
/mob/living/simple_animal/hostile/spawner/lavaland/goliath