From 854a1606dacb097767633eff900f2bf454154d51 Mon Sep 17 00:00:00 2001 From: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com> Date: Sun, 6 Oct 2024 14:28:07 +0500 Subject: [PATCH] Fix: Syndie depot locker is only spawned when there is a loot (#26979) * fixing depot * Update code/game/objects/effects/spawners/random/random_spawner.dm Co-authored-by: warriorstar-orion Signed-off-by: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com> --------- Signed-off-by: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com> Co-authored-by: warriorstar-orion --- .../map_files/RandomRuins/SpaceRuins/syndiedepot.dmm | 12 ------------ code/game/objects/effects/spawners/depot_spawners.dm | 6 ++++++ .../effects/spawners/random/random_spawner.dm | 5 +++++ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm index 2a893c1aa0f..5ff98a04973 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm @@ -147,14 +147,12 @@ on = 1 }, /obj/effect/spawner/random/syndicate/loot/common, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/syndicate_depot/core) "aB" = ( /obj/effect/spawner/random/syndicate/loot/common, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -345,7 +343,6 @@ /area/syndicate_depot/core) "bc" = ( /obj/effect/spawner/random/syndicate/loot/rare, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -371,7 +368,6 @@ on = 1 }, /obj/effect/spawner/random/syndicate/loot/rare, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -418,7 +414,6 @@ dir = 8 }, /obj/effect/spawner/random/syndicate/loot/common, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -428,7 +423,6 @@ dir = 4 }, /obj/effect/spawner/random/syndicate/loot/common, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -539,7 +533,6 @@ /area/syndicate_depot/core) "bE" = ( /obj/effect/spawner/random/syndicate/loot/officer, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -577,7 +570,6 @@ }, /area/syndicate_depot/outer) "bJ" = ( -/obj/structure/closet/secure_closet/syndicate/depot, /obj/effect/spawner/random/syndicate/trapped_documents, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -800,7 +792,6 @@ /area/syndicate_depot/core) "cm" = ( /obj/effect/spawner/random/syndicate/loot/armory, -/obj/structure/closet/secure_closet/syndicate/depot/armory, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -812,14 +803,12 @@ on = 1 }, /obj/effect/spawner/random/syndicate/loot/armory, -/obj/structure/closet/secure_closet/syndicate/depot/armory, /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/syndicate_depot/core) "co" = ( /obj/effect/spawner/random/syndicate/loot/armory, -/obj/structure/closet/secure_closet/syndicate/depot/armory, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1129,7 +1118,6 @@ dir = 8 }, /obj/effect/spawner/random/syndicate/loot/rare, -/obj/structure/closet/secure_closet/syndicate/depot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, diff --git a/code/game/objects/effects/spawners/depot_spawners.dm b/code/game/objects/effects/spawners/depot_spawners.dm index 49742158d15..6f8548fabff 100644 --- a/code/game/objects/effects/spawners/depot_spawners.dm +++ b/code/game/objects/effects/spawners/depot_spawners.dm @@ -58,12 +58,16 @@ /obj/effect/spawner/random/syndicate/trapped_documents name = "50pc trapped documents" icon_state = "folder" + spawn_inside = /obj/structure/closet/secure_closet/syndicate/depot loot = list( /obj/item/documents/syndicate/yellow, /obj/item/documents/syndicate/yellow/trapped, ) // Loot +/obj/effect/spawner/random/syndicate/loot + spawn_inside = /obj/structure/closet/secure_closet/syndicate/depot + /obj/effect/spawner/random/syndicate/loot/common name = "syndicate depot loot, common" icon_state = "loot" @@ -87,6 +91,7 @@ /obj/effect/spawner/random/syndicate/loot/stetchkin name = "syndicate depot loot, 20pct stetchkin" icon_state = "stetchkin" + spawn_inside = null spawn_loot_chance = 80 loot = list( /obj/item/gun/projectile/automatic/pistol, @@ -155,6 +160,7 @@ /obj/effect/spawner/random/syndicate/loot/armory name = "syndicate depot loot, armory" + spawn_inside = /obj/structure/closet/secure_closet/syndicate/depot/armory // Combat orientated items that could give the player an advantage if an antag messes with them. loot = list( /obj/item/autosurgeon/organ/syndicate/oneuse/razorwire, diff --git a/code/game/objects/effects/spawners/random/random_spawner.dm b/code/game/objects/effects/spawners/random/random_spawner.dm index 880454842f7..f0152ffd2a7 100644 --- a/code/game/objects/effects/spawners/random/random_spawner.dm +++ b/code/game/objects/effects/spawners/random/random_spawner.dm @@ -35,6 +35,8 @@ var/spawn_random_angle = FALSE /// Whether blackbox should record when the spawner spawns. var/record_spawn = FALSE + /// Where do we want to spawn an item (closet, safe etc.) + var/spawn_inside // Brief explanation: // Rather then setting up and then deleting spawners, we block all atomlike setup @@ -57,6 +59,9 @@ var/list/spawn_locations = get_spawn_locations(spawn_scatter_radius) var/spawn_loot_count = isnull(lootcount_override) ? src.spawn_loot_count : lootcount_override + if(spawn_inside) + new spawn_inside(loc) + if(spawn_all_loot) spawn_loot_count = INFINITY spawn_loot_double = FALSE