Files
Bubberstation/code/modules/awaymissions/mission_code/murderdome.dm
SyncIt21 227cdd2c7c [NO GBP] Patches & renaming for NO_DECONSTRUCTION flag (#82547)
## About The Pull Request

1. Renames `NO_DECONSTRUCTION` -> `NO_DEBRIS_AFTER_DECONSTRUCTION`. As
the name suggests when the object is deconstructed it won't drop any
items/debris. After my last refactor for this flag it now serves a new
purpose so its name has been changed to match that

2. Fixes objects that are now using `NO_DECONSTRUCTION` incorrectly.
Some of these changes include
- Removing the flag in objects where there are no means to deconstruct
them (e.g. jukebox, hydroponics soil, flora etc)
- Replacing the flags old purpose by overriding its tool procs so that
it regains its old behaviour(e.g. You once again cannot deconstruct ctf
reinforced tables, survival pods, indestructible windows etc)

## Changelog
🆑
code: renamed `NO_DECONSTRUCTION` to `NO_DEBRIS_AFTER_DECONSTRUCTION` so
its name matches its intended purpose
fix: fixes some items that incorrectly used `NO_DECONSTRUCTION` prior to
its refactor, meaning makes some objects non deconstructable again
/🆑
2024-04-10 18:58:11 -07:00

53 lines
1.8 KiB
Plaintext

/obj/structure/window/reinforced/fulltile/indestructible
name = "robust window"
flags_1 = PREVENT_CLICK_UNDER_1
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/obj/structure/window/reinforced/fulltile/indestructible/screwdriver_act(mob/living/user, obj/item/tool)
return NONE
/obj/structure/window/reinforced/fulltile/indestructible/wrench_act(mob/living/user, obj/item/tool)
return NONE
/obj/structure/window/reinforced/fulltile/indestructible/crowbar_act(mob/living/user, obj/item/tool)
return NONE
/obj/structure/grille/indestructible
obj_flags = CONDUCTS_ELECTRICITY
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/obj/structure/grille/indestructible/screwdriver_act(mob/living/user, obj/item/tool)
return NONE
/obj/structure/grille/indestructible/wirecutter_act(mob/living/user, obj/item/tool)
return NONE
/obj/effect/spawner/structure/window/reinforced/indestructible
spawn_list = list(/obj/structure/grille/indestructible, /obj/structure/window/reinforced/fulltile/indestructible)
/obj/structure/barricade/security/murderdome
name = "respawnable barrier"
desc = "A barrier. Provides cover in firefights."
deploy_time = 0
deploy_message = 0
/obj/structure/barricade/security/murderdome/make_debris()
new /obj/effect/murderdome/dead_barricade(get_turf(src))
/obj/effect/murderdome/dead_barricade
name = "dead barrier"
desc = "It provided cover in fire fights. And now it's gone."
icon = 'icons/obj/structures.dmi'
icon_state = "barrier0"
alpha = 100
/obj/effect/murderdome/dead_barricade/Initialize(mapload)
. = ..()
addtimer(CALLBACK(src, PROC_REF(respawn)), 3 MINUTES)
/obj/effect/murderdome/dead_barricade/proc/respawn()
if(!QDELETED(src))
new /obj/structure/barricade/security/murderdome(get_turf(src))
qdel(src)