Commit Graph

2432 Commits

Author SHA1 Message Date
Selis
4b6aa323e9 Bugfix for the Bugfix 2023-08-14 01:07:10 +02:00
Selis
95826dcb4b SQL Injection Fix 2023-08-13 21:50:03 +02:00
Runa Dacino
057077b443 adds: New Vvar button to inflict internal bleeding on human mobs
Adds a new button to the dropdown menu in VV that brings up a dialogue requesting bleeding severity and location before inflicting the requested wound.

In case of targetting a player mob, we notify them with a custom pain message and log it to prevent potential abuse.
2023-08-06 17:56:56 +02:00
Heroman3003
9f28fdc9b5 Merge pull request #15187 from Runa-Dacino/carbonai
Adds means for staff to initialize new mob ai or modify existing ai type
2023-07-30 04:53:20 +10:00
Heroman3003
d55c465d51 Merge pull request #15172 from Runa-Dacino/event_notify
Adds(feature): Triggerable Landmarks for Event-help
2023-07-30 04:51:45 +10:00
Runa Dacino
6b0adb782f tweak(Event Triggers): Implements requested changes
- Merges Personal, Vis and Aud checks into a single var
- Removes excessive isObserver check
- Permits removing other staff's stuff with an explicit confirmation and request to ask them first
- Removes Invisibility = 100 setting from new()
- Adds check for potential null responses
- Clarifies comment in type definition.
2023-07-29 14:05:59 +02:00
Heroman3003
310a2a3b47 Merge pull request #15182 from Runa-Dacino/entity_narrate_tweak2
perf: replaces references in entity narrate with weakrefs
2023-07-29 20:39:59 +10:00
Runa Dacino
5c02c5a60a Adds: New button in VV dropdown for adding/modifying mob ai
Adds a new button to the dropdown of "View Variables" for mobs that works for subtypes of mob/living.

This new button automates setting a new ai type for a mob, making sure it's properly garbage collected and then simplifies setting faction, intent and ensures carbon mobs wake up.
2023-07-28 21:30:01 +02:00
Runa Dacino
fd584eee32 perf: replaces references in entity narrate with weakrefs
Replaces all direct references held in the /datum with WEAKREF(atom). This should reduce potential lag impacts from stuff getting blown up or dying or becoming invalid.
2023-07-27 13:36:13 +02:00
Runa Dacino
6e087c1328 tweak: Adds ability to add atoms to entity narrate while in buildmode
- Adds "ALT MMB" under "AI MODE" in buildmode to bring up add_mob_for_narration verb
- Updates Hint with new information
- Fixes bad hint for wander toggle (Shift-> CTRL for NOT wander)
2023-07-25 12:08:40 +02:00
Runa Dacino
04778c9e99 tweak(entity_narrate): Enables using ++, __, and || for all atoms
wraps message for non-mob entities in encode_html_emphasis after learning it exists
2023-07-24 17:43:13 +02:00
Runa Dacino
694a5b617b Adds(feature): Triggerable Landmarks for Event-help
- Adds a new verb to staff with FUN permissions under the eventkit tab
     - name: "Manage Event Triggers"
     - Permits creating "Notification" and "Narration" landmarks
     - Permits deleting/teleporting to self-created landmarks at any time
     - Permits deleting other staff's landmarks if DC'd/Inactive
     - Permits teleporting to other staff's landmarks at any time
(the landmark management buttons I couldn't implement without code repetition due to managing others' landmarks needing (imo) admin logging)
 - Adds new landmark subtype: event_trigger
     - Handles notification of staff/team depending on options
     - May autodelete if requested
     - Makes a loud bwoink at the creator if requested
     - Is triggered by the base DM proc /Crossed(var/atom/movable/AM)
     - Ghosts and NPCs don't trigger it.
 - Adds a subtype of event_trigger, auto_narrate
     - Adds functionality to automatically print a normal/red message to player entering the turf with the landmark.
     - Alternatively, allows creating a visible/audible message when the turf is triggered
     - Inherits all behaviours of event_trigger otherwise
  -Adds new global list, "event_triggers"
      - It is an associative list of key:list(element1,element2,element3) form
      - key is the staffmember's ckey, elements are references to event_trigger landmarks they created
2023-07-24 17:38:11 +02:00
Runa Dacino
5579f7f324 tweak(entity narrate): makes non-mob atoms use "The" in narration
Makes it so non-mob atoms with either \improper names, or lowercase names or names without "The" become preceeded by "The" when narrated using loud & talk, loud & emote, not-loud & talk, not-loud & emote.

Preceeding with lower case "the" causes doubling of "the", but that's a general byond issue and is solved by proper capitalization or use of \proper and it causing issues here would cause issues elsewhere anyway.

Done per request from ResidentCody
2023-07-01 11:22:11 +02:00
Selis
271ff9408f Spell Fixes 2023-06-18 12:47:36 +02:00
Heroman3003
3f0a1a4e69 Merge pull request #14987 from Runa-Dacino/alternatesolution
Alternate to https://github.com/VOREStation/VOREStation/pull/14959 New Admin verb: Report Player Status
2023-06-10 14:05:36 +10:00
Runa Dacino
f46af8ba0d Merge branch 'master' into entity_narration_TGUI 2023-06-09 09:58:35 +02:00
Runa Dacino
a9cbd8fa4f New Admin verb: Report Player Status
* Adds a new verb in the "EventKit" tab
* New verb copies player_list and sorts it into an assoc list of area:(players)
* It then prints out each area's list of players, giving their (x,y) coordinates
* It also notifies of how long since their last action, rounded to nearest minute
* Players who took ABSOLUTELY NO ACTION for 15 minutes are pruned to reduce clutter
* Tracks pruned players, players who are actually in-game as mob/living
* Reports this as well.
2023-06-07 17:11:45 +02:00
Runa Dacino
fd7e89f011 entity_narrate: Minor tweaks
* Removed special protection for mobs with clients
* * Instead, the GM is warned not to abuse this and each use will be logged
* * Added logging everywhere we previously used return or continue to prevent client narration
* * Kept !!!Player!!! typing rather than showing their actual path
* Added prevention of duplicate entity names.
* * Recursively calls the add entity proc until cancelled or a valid name is given
* Only sanitizes the message after it's passed to mob_args() for basic interface, and only for non-mob ones as mob one calls procs that sanitize the input themselves
* Likewise for TGUI, sanitization is only done within the actual narration proc to avoid double sanitization breaking things.
* While at it, I re-introduced [mode] to classic input's instruction string. I had it originally, then removed it while pruning code duplication. I realize I can add it back now.
2023-06-06 17:43:57 +02:00
ItsSelis
10d2178516 More 515 Compatibility 2023-06-05 19:29:40 +02:00
Runa Dacino
ae92270cc2 Extends entity narrate functionality with TGUI
*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!
2023-06-05 17:25:14 +02:00
Heroman3003
9d0d12b899 Merge pull request #14960 from Runa-Dacino/fixeventthing
Removes eventkit from non-staff browser. fixing bug by doing so
2023-06-04 09:32:36 +10:00
Runa Dacino
cee4575856 Removes eventkit from non-staff browser
* Changes Open Mob Spawner to be a proc
* Adds Open Mob Spawner to admin_verbs_spawn
2023-06-04 01:18:03 +02:00
Runa Dacino
d71653c9b6 Adds functionality to buildmode's AI mode to adjust a.i wander behavior
* Works by clicking on ANY object/turf/mob
* MMB + Shift = Wander
* MMB + CTRL = NOT wander
* Adds this info to help button
2023-06-03 18:41:33 +02:00
Runa Dacino
4ab3c8f882 Adds sanitization, reduces code duplication
* Makes entity_narrate() call entity_narrate_args() with input gleaned from user interface
* Sanitizes text input. Multiple times: custom IDs are sanitized on creation
* Interface text input sanitized on input
* Sanitizes arguments of argument based function as well
* Enables multi-line text input when making messages using interface.
* Multiline also works with commandline tool using \n
2023-06-02 16:39:10 +02:00
Runa Dacino
5bcc0a2d5d Extends functionality to include turfs
* Changed type checks to check for /atom for non-mobs
* Changed static typing to use /atom for non-mobs
* Rearranged code logic where relevant so we only check for /atom if mob/living came out invalid
* Added a guard clause against observers on adding a ref. Only added to this as there's hopefully no way to access ghosts with the remaining procs
* Also added "Remove All" as an option for removing refs. It requires confirmation.
2023-06-01 21:31:52 +02:00
Runa Dacino
6c2ee4a4ce Adds a set of new admin verbs for narrating (obj &mob)
*Adds verbs to client: Narrate Entity, ... (Add ref), ... (Remove ref), ... (Interface)
* Adds new Client var to hold reference to entity_narrate datum instance
*Creates entity_narrate datum to hold list of unique/custom entity names, and an assoc list of name:atomref
* All listed client verbs initialize the datum onto the client var for later use when first used
* User is expected to right click mobs within viewrange to add them to ref list
* User is prompted to create a unique identifier to generate the key:value pair
* User may either request an interface to do the narration (interface)
* User may alternatively go narrate-mob "identifier" "speak/emote" "narration" into command line
* In case of argument call, message may be ommited to bring up non-multiline tgui_input_text
* User may remove entities from their personal list at will
* Users adding entities to their personal list are logged
* Users attempting to add players to their personal list are likewise logged
* Users succeeding despite this are logged if they try to speak for them
* If type is mob/living, it uses .say and .custom_emote() procs
* .say uses the mob's languages, stutters and so forth
* if type is obj/, user must specific speech verb when composing narration.
* User may narrate from any range.
* Each proc checks for R_FUN permission and prevents using if lacking rights
2023-06-01 17:41:37 +02:00
Heroman
a7ac53831f Fixes MRE unpacking and Intercom Convo 2023-03-12 06:41:32 +10:00
Casey
db38041456 Merge pull request #14641 from Heroman3003/admin-perm-fixes-also-sound
Fixes some admin perms not being properly checked
2023-03-09 15:33:21 -05:00
Heroman
5ec9f5ea62 Fixes some admin perms not being properly checked 2023-03-09 14:27:19 +10:00
Seris02
aadd99ba94 more fixed admin hrefs 2023-03-01 11:27:34 +08:00
Selis
9552d54f90 Adds Href Token to database banning forms 2023-02-12 12:38:29 +01:00
C.L
5ddab5e959 Removes ability for Retired Admins to see staff chats.
Does exactly what it says on the tin.
2023-02-11 13:47:23 -05:00
ItsSelis
1331815606 Admin href fax topic thing fix 2023-02-07 22:14:20 +01:00
Spookerton
e88b875cd5 Adds a proc to fix player notes listings 2023-02-04 15:37:44 -05:00
Heroman
f2e04e6bdf Adds new admin character spawn method 2023-01-13 15:11:20 +10:00
Heroman
21fa63b533 Fixes two admin bugs 2022-12-31 14:18:17 +10:00
Heroman
64149a5d5b Adds fireworks and their launchers 2022-12-25 21:15:33 +10:00
Heroman
d5ef5d6a05 Gives borgs access to human emotes 2022-12-19 06:33:30 +10:00
ItsSelis
a4422b9d65 Properly fixes object spawner 2022-12-14 21:39:09 +01:00
ItsSelis
ecc6159d3a Hrefs to create object window 2022-12-14 21:24:15 +01:00
ItsSelis
779b4db5c0 Added missing href tokens 2022-12-14 21:08:49 +01:00
Heroman3003
3537c20742 Merge pull request #14188 from ItsSelis/selis-admin-tokens
Adds admin tokens
2022-12-12 05:40:48 +10:00
ItsSelis
b3b64e49d6 Adds mentor panel 2022-12-11 17:51:21 +01:00
ItsSelis
cc3659c048 More conversions 2022-12-11 14:31:02 +01:00
ItsSelis
cd3356ead9 Adds token functionality 2022-12-11 13:50:52 +01:00
Casey
2c6bd88519 Merge pull request #14140 from Very-Soft/bookmanagement
Buffs library book management
2022-11-26 17:41:32 -05:00
Heroman
291ba2f736 Adjusts smite list 2022-11-27 08:25:59 +10:00
VerySoft
54840123d2 Fixy 2022-11-26 15:54:22 -05:00
VerySoft
de382a6eb5 Buffs library book management
These are mostly copy pasta edits of things that already work, however, I do not know how to set up a database on my test server, so! These tools have not been tested beyond compiling and running and seeing that the window pops up.

They work the same way as the existing method of book deletion though, so there's little reason to think they will do anything especially differently.
2022-11-26 15:39:28 -05:00
VerySoft
745f1f6f36 One more tweak 2022-11-21 19:35:00 -05:00