diff --git a/code/datums/spawners_menu.dm b/code/datums/spawners_menu.dm index 06b6dbc76a8..c6b64cc3a7a 100644 --- a/code/datums/spawners_menu.dm +++ b/code/datums/spawners_menu.dm @@ -30,9 +30,9 @@ this["important_warning"] = "" this["amount_left"] = 0 for(var/spawner_obj in GLOB.mob_spawners[spawner]) + var/obj/effect/mob_spawn/ghost_role/mob_spawner = spawner_obj if(!this["desc"]) if(istype(spawner_obj, /obj/effect/mob_spawn)) - var/obj/effect/mob_spawn/ghost_role/mob_spawner = spawner_obj if(!mob_spawner.allow_spawn(user, silent = TRUE)) continue this["you_are_text"] = mob_spawner.you_are_text @@ -41,8 +41,9 @@ else var/obj/object = spawner_obj this["desc"] = object.desc - this["amount_left"] += 1 - if(this["amount_left"] > 0) + this["amount_left"] += mob_spawner.uses + this["infinite"] += mob_spawner.infinite_use + if(this["amount_left"] > 0 || this["infinite"]) data["spawners"] += list(this) for(var/mob_type in GLOB.joinable_mobs) var/list/this = list() diff --git a/tgui/packages/tgui/interfaces/SpawnersMenu.tsx b/tgui/packages/tgui/interfaces/SpawnersMenu.tsx index 50366a22b2f..12f06cfdb62 100644 --- a/tgui/packages/tgui/interfaces/SpawnersMenu.tsx +++ b/tgui/packages/tgui/interfaces/SpawnersMenu.tsx @@ -10,6 +10,7 @@ type SpawnersMenuContext = { type spawner = { name: string; amount_left: number; + infinite: boolean; desc?: string; you_are_text?: string; flavor_text?: string; @@ -31,9 +32,15 @@ export const SpawnersMenu = (props) => { title={capitalizeAll(spawner.name)} buttons={ - - {spawner.amount_left} left - + {spawner.infinite ? ( + + Infinite + + ) : ( + + {spawner.amount_left} left + + )}