Adds a new jsx element to the login screen when using fax machines, a button in the top right corner which when pushed calls the request_roles() verb, and thus initiates the auto fax dialogue for the player.
This element has a tooltip to explain what it does when hovered.
Furthermore, for when EITHER the fax machine has an ID && logged in, BUT no paper is inserted OR paper is inserted && target destination is part of admin_departments (centcom, job board, supply) - it displays a blurb about automated staff requests with some semi-IC, semi-OOC text and the same button.
adds a new general functionality to LoginScreen.js
Adds a new JSX element to the LoginScreen file that takes machine type as its prop and returns a per-machine relevant element. This is needed for the fax functionality, and already has it defined.
Adds new interface element to the "Mobspawner"
- AI Settings Section (besides position settings)
- - Button to toggle custom/default AI values
- - Button to select predefined AI types
- - Button to sanitized text input ANY faction
- - Button to select predefined attack intents
- - All above buttons default to the mob's type definition, unless unsafe, then they instead use hardcoded defaults
Modal.js had a VOREStation-specific change to allow it to handle text input/the enter key.
This was removed in commit ( 4b7873210a )
This change reverts that change, re-adding the logic for enter/keydown.
Fixes ( https://github.com/VOREStation/VOREStation/issues/14982 )
*Bug: tgui checked for "nitrogen" when gas id was n2
*Fix: changed nitrogen's GASES entry to "nitrogen
*Tweak: Extend logic to create two search strings: string 1 sets all char values to lower case, string 2 sets each word's first character to Be Capitalized. We check all lowercase against ids, and we check Capitalized Words against names.
*Testing: Added tests for underscore (id) and wrong case (all low without underscore)
RestrictedInput was updated to require a new prop, "allowFloats" during the TGUI Update.
In DM, to my understanding, we don't care about int vs floats.
Where we do want to enforce integer values,
tgui_input_number(round_value) already exists.
Therefore, setting the allowFloats prop in RestrictedInput to True should be more than fine for numberinputModal.
* Adds updateicon() call to belly transfers
* Rebundles tgui.bundle.js
* Adds four new bellyobj vars:
* visible_belly_minimum_prey
* overlay_min_prey_size
* override_min_prey_size
* override_min_prey_num
* Adds extended overlay logic to robot updateicon() for dogborgs
* If belly contents lower than minimum_prey, dont show anything
* Otherwise, if min_prey_size 0, show regardless
* Otherwise, only show if prey size_multiplier greater than min size
* However, if override_min_prey_size is true, check LAZYLEN(belly.content)
* If this list's length is greater than override_min_prey_num, show belly overlay regardless of prey size
* Extends vorepanel_vr, belly_obj_vr and vorepanel.js with the necessary code to enable the above
* New option per vorebelly that silicons may use to choose between overlay type
* If picking sleeper, it works as it currently did.
* If picking vorebelly, it gives them sleeper/analyzer/etc belly overlay if their belly's contents are >= 1
* Consequently adds a new belly_obj var to track this
* Adds user.updateicon() call to perform_the_nom() to trigger belly overlay update
* Edits robot_vr's updateicon() to contain logic for sleeper vs vorebelly pref
* For now uses sleeper_r overlay since it exists for ALL icon_states
* Ideally either me or someone I enslave creates sleeper_o overlay using orange colours where relevant. However, rather not delay implementation for this
*Adds all the necessary procs for TGUI functionality as backend
*Creates EntityNarrate.tsx
*Extends entity_narrate datum with helper vars for TGUI
*TGUI window now allows:
* * Multi Selection
* * Single Selection
* * It shows details if single
* * It shows how many if multi
* * Allows picking between subtle/loud
* * Allows picking between talk/emote
* * Allows sending messages every 0.5 seconds
* * Uses new textbox feature to make editing and tracking narration easy!
* Creates trait_tutorial_tgui.dm to act as backend, adds to vorestation.dme
* Creates TraitTutorial.tsx to act as frontend
* Modifies traits_tutorial.dm for TGUI compatibility
* Adds comment to var/tutorial definition on how to make it pretty in TGUI
* Modifies logic in trait_tutorial to catch empty trait lists.
* Edits bloodsucker obligate/freeform to add another <br>
* Adds a "global" pref to set default belly privacy behaviour
* "global" pref shows up with prefs like "devourable"
* Adds per-belly pref that, if changed from "default", overrides "global" pref
* per-belly pref in "options" of belly, same column as "save digestion"
* Global options: True/False (subtle/loud)
* Per-belly options: "default", "subtle", "loud"
* Governs attempting to ingest
* Governs successful ingestion
* Governs expelling one/all contents
* does NOT work for slipvore
* Ingestion only works for /mob/living
* Expulsion also works for objects
* Expulsion also has its volume lowered
* Involves touching TGUI