mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 10:01:58 +00:00
## About The Pull Request Removes the quite weird 4 second density delay from security barriers. That's kind of what the grenade timer is for. Refactors barricade interactions to use tool acts and item_interaction(), rather than attackby. Also makes it so that wooden barricades don't....delete themselves and spawn a new one instead when repaired? ## Why It's Good For The Game > Security Barrier I think this was potentially depreciated code that was grandfathered forward in new forms. Very few places seem to explain WHY it has that but I think that might have been how barrier grenades used to spawn in their barrier from the grenade itself. Totally inexplicable really. > Refactors This codes old as hell, some of it nearly a decade. ## Changelog 🆑 qol: Security barrier grenades no longer have an arbitrary 4 second delay on becoming tangible. refactor: Barricades now use tool act and item interactions, and behave sanely. Looking at you wooden barricade. /🆑
46 lines
1.7 KiB
Plaintext
46 lines
1.7 KiB
Plaintext
|
|
/obj/structure/window/reinforced/fulltile/indestructible
|
|
name = "robust window"
|
|
move_resist = MOVE_FORCE_OVERPOWERING
|
|
flags_1 = PREVENT_CLICK_UNDER_1
|
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
|
|
|
|
|
/obj/structure/grille/indestructible
|
|
desc = "A STRONG framework of hardened plasteel rods, that you cannot possibly get through. If you were an engineer you would be drooling over its construction right now."
|
|
move_resist = MOVE_FORCE_OVERPOWERING
|
|
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."
|
|
|
|
/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)
|