mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
Merge pull request #6588 from Crazylemon64/random_barrier
Adds a random barrier for use in mapping
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
var/main_power_timer = null
|
||||
var/backup_power_timer = null
|
||||
var/spawnPowerRestoreRunning = 0
|
||||
var/welded = null
|
||||
var/welded = FALSE
|
||||
var/locked = 0
|
||||
var/lights = 1 // bolt lights show by default
|
||||
var/datum/wires/airlock/wires = null
|
||||
@@ -90,6 +90,9 @@
|
||||
icon = 'icons/obj/doors/Doorext.dmi'
|
||||
assembly_type = /obj/structure/door_assembly/door_assembly_ext
|
||||
|
||||
/obj/machinery/door/airlock/welded
|
||||
welded = 1
|
||||
|
||||
/obj/machinery/door/airlock/glass
|
||||
name = "Glass Airlock"
|
||||
icon = 'icons/obj/doors/Doorglass.dmi'
|
||||
@@ -557,8 +560,8 @@ About the new airlock wires panel:
|
||||
return
|
||||
|
||||
/obj/machinery/door/airlock/attack_ghost(mob/user)
|
||||
ui_interact(user)
|
||||
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/door/airlock/attack_ai(mob/user)
|
||||
ui_interact(user)
|
||||
|
||||
@@ -987,17 +990,17 @@ About the new airlock wires panel:
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
/obj/machinery/door/airlock/New()
|
||||
..()
|
||||
/obj/machinery/door/airlock/initialize()
|
||||
. = ..()
|
||||
wires = new(src)
|
||||
if(closeOtherId != null)
|
||||
spawn (5)
|
||||
for(var/obj/machinery/door/airlock/A in airlocks)
|
||||
if(A.closeOtherId == closeOtherId && A != src)
|
||||
closeOther = A
|
||||
break
|
||||
for(var/obj/machinery/door/airlock/A in airlocks)
|
||||
if(A.closeOtherId == closeOtherId && A != src)
|
||||
closeOther = A
|
||||
break
|
||||
if(frozen)
|
||||
welded = 1
|
||||
welded = TRUE
|
||||
if(welded)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/door/airlock/hatch/gamma/attackby(C as obj, mob/user as mob, params)
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
/obj/effect/spawner/random_barrier
|
||||
name = "random tile"
|
||||
var/list/result = list(
|
||||
/turf/simulated/floor/plasteel = 1,
|
||||
/turf/simulated/wall = 1,
|
||||
/obj/structure/falsewall = 1,
|
||||
/obj/effect/spawner/window/reinforced = 1,
|
||||
/obj/machinery/door/airlock = 1,
|
||||
/obj/machinery/door/airlock/welded = 1,
|
||||
/obj/structure/barricade/wooden = 1)
|
||||
|
||||
// This needs to come before the initialization wave because
|
||||
// the thing it creates might need to be initialized too
|
||||
/obj/effect/spawner/random_barrier/New()
|
||||
. = ..()
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T)
|
||||
log_runtime(EXCEPTION("Barrier spawner placed in nullspace!"), src)
|
||||
return
|
||||
var/thing_to_place = pickweight(result)
|
||||
if(ispath(thing_to_place, /turf))
|
||||
T.ChangeTurf(thing_to_place)
|
||||
else
|
||||
new thing_to_place(T)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/spawner/random_barrier/wall_probably
|
||||
name = "probably a wall"
|
||||
result = list(
|
||||
/turf/simulated/wall = 9,
|
||||
/obj/structure/falsewall = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/random_barrier/floor_probably
|
||||
name = "probably a floor"
|
||||
result = list(
|
||||
/turf/simulated/floor/plasteel = 3,
|
||||
/turf/simulated/wall = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/random_barrier/obstruction
|
||||
name = "obstruction"
|
||||
result = list(
|
||||
/turf/simulated/wall = 1,
|
||||
/obj/structure/falsewall = 1,
|
||||
/obj/structure/barricade/wooden = 1,
|
||||
/obj/machinery/door/airlock/welded = 1
|
||||
)
|
||||
|
||||
/obj/effect/spawner/random_barrier/possibly_welded_airlock
|
||||
name = "possibly welded airlock"
|
||||
result = list(
|
||||
/obj/machinery/door/airlock = 3,
|
||||
/obj/machinery/door/airlock/welded = 1
|
||||
)
|
||||
@@ -691,6 +691,7 @@
|
||||
#include "code\game\objects\effects\spawners\bombspawner.dm"
|
||||
#include "code\game\objects\effects\spawners\gibspawner.dm"
|
||||
#include "code\game\objects\effects\spawners\lootdrop.dm"
|
||||
#include "code\game\objects\effects\spawners\random_barrier.dm"
|
||||
#include "code\game\objects\effects\spawners\vaultspawner.dm"
|
||||
#include "code\game\objects\effects\spawners\windowspawner.dm"
|
||||
#include "code\game\objects\items\ashtray.dm"
|
||||
|
||||
Reference in New Issue
Block a user