mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 00:58:26 +01:00
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user