From 76ebb69fc2ed66d84288f7a638d5575a90f41e80 Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Thu, 8 Jun 2023 19:46:05 +1000 Subject: [PATCH] tgui no yell rebase to master --- .../eventkit/gm_interfaces/mob_spawner.dm | 25 ++++--- tgui/packages/tgui/interfaces/MobSpawner.tsx | 68 ++++++++++++++----- 2 files changed, 66 insertions(+), 27 deletions(-) diff --git a/code/modules/eventkit/gm_interfaces/mob_spawner.dm b/code/modules/eventkit/gm_interfaces/mob_spawner.dm index 8b0eac1054..a182dad666 100644 --- a/code/modules/eventkit/gm_interfaces/mob_spawner.dm +++ b/code/modules/eventkit/gm_interfaces/mob_spawner.dm @@ -24,8 +24,6 @@ /datum/eventkit/mob_spawner/tgui_static_data(mob/user) var/list/data = list() - data["mob_paths"] = typesof(/mob); - data["initial_x"] = usr.x; data["initial_y"] = usr.y; data["initial_z"] = usr.z; @@ -43,12 +41,13 @@ data["path"] = path; - var/mob/M = new path(); - if(M) - data["default_path_name"] = M.name; - data["default_desc"] = M.desc; - data["default_flavor_text"] = M.flavor_text; - qdel(M); + if(path) + var/mob/M = new path(); + if(M) + data["default_path_name"] = M.name; + data["default_desc"] = M.desc; + data["default_flavor_text"] = M.flavor_text; + qdel(M); return data @@ -60,7 +59,11 @@ return switch(action) if("select_path") - path = params["path"] + var/list/choices = typesof(/mob) + var/newPath = tgui_input_list(usr, "Please select the new path of the mob you want to spawn.", items = choices) + + path = newPath + return TRUE if("loc_lock") loc_lock = !loc_lock @@ -77,6 +80,10 @@ var/y = params["y"] var/z = params["z"] + if(!name) + to_chat(usr, "Name cannot be empty.") + return FALSE + var/turf/T = locate(x, y, z) if(!T) to_chat(usr, "Those coordinates are outside the boundaries of the map.") diff --git a/tgui/packages/tgui/interfaces/MobSpawner.tsx b/tgui/packages/tgui/interfaces/MobSpawner.tsx index d54e9d9d5f..87abe39565 100644 --- a/tgui/packages/tgui/interfaces/MobSpawner.tsx +++ b/tgui/packages/tgui/interfaces/MobSpawner.tsx @@ -1,6 +1,6 @@ import { BooleanLike } from '../../common/react'; import { useBackend, useLocalState } from '../backend'; -import { Button, Dropdown, Flex, Input, Knob, LabeledList, NumberInput, Section, Tabs, TextArea } from '../components'; +import { Button, Flex, Input, Knob, LabeledList, NumberInput, Section, Tabs, TextArea } from '../components'; import { Window } from '../layouts'; type Data = { @@ -12,8 +12,6 @@ type Data = { default_speak_emotes: string[]; - mob_paths: string[]; - loc_lock: BooleanLike; loc_x: number; loc_y: number; @@ -55,11 +53,23 @@ const GeneralMobSettings = (props, context) => { const { act, data } = useBackend(context); const [amount, setAmount] = useLocalState(context, 'amount', 1); - const [name, setName] = useLocalState(context, 'name', data.default_path_name); + const [name, setName] = useLocalState( + context, + 'name', + data.default_path_name + ); const [desc, setDesc] = useLocalState(context, 'desc', data.default_desc); - const [flavorText, setFlavorText] = useLocalState(context, 'flavorText', data.default_flavor_text); + const [flavorText, setFlavorText] = useLocalState( + context, + 'flavorText', + data.default_flavor_text + ); - const [sizeMultiplier, setSizeMultiplier] = useLocalState(context, 'sizeMultiplier', 100); + const [sizeMultiplier, setSizeMultiplier] = useLocalState( + context, + 'sizeMultiplier', + 100 + ); const [x, setX] = useLocalState(context, 'x', data.initial_x); const [y, setY] = useLocalState(context, 'y', data.initial_y); @@ -72,18 +82,26 @@ const GeneralMobSettings = (props, context) => {
- setName(val)} /> + setName(val)} + /> - act('select_path', { path: val })} + content={data.path || 'Select Path'} + onClick={(val) => act('select_path')} /> - setAmount(val)} /> + setAmount(val)} + /> { maxValue={256} onChange={(e, val) => setZ(val)} /> - act('loc_lock')} /> + act('loc_lock')} + /> - setRadius(val)} /> + setRadius(val)} + />
@@ -129,7 +157,11 @@ const GeneralMobSettings = (props, context) => { Description:
-