Added new verbs to the EventKit tab: "Map Message - Create", which spawns a new red admin environmental message, this one does not delete other messages placed by the user, allowing GMs to place as many as they want. "Map Message - Remove" which lists all env messages in the world by their message text, allowing admins/GMs to remove any particular one.
The main purpose of these is for event stuff really, I thought it could be useful for setting up a specific description of something not-visible on a tile.
Added a Generic Item and associated Eventkit verb Spawn Generic Item. Much like the Generic structure but is designed for hand held devices that can be picked up.
To both of the item and structure, added a bunch of options for effects: Sparks, Flash, Flicker Lights and Spawn Item.
Added the ability to upload custom sprites to both verbs, by selecting "Upload Own Sprite" from the list of sprites, along with some warnings that non 32x sprites will need to have their positions adjusted.
Added a Generic Structure and associated Eventkit verb Spawn Generic Structure. This allows staff to create a structure with customisable interactions, ranging from whether it can be turned on, wrenched down and so on to how how long it takes to turn on, what text appears when it happens and if it plays a sound.
- Changes verb obtaining proc to be all staff
- Changes check_rights for R_EVENT
Force pushed:
- adds verb to event_manager verblist as well
- Makes it work with ANY of R_ADMIN|R_EVENT|R_FUN
* Creates new proc in pda/messenger.dm to handle fake conversation creation
* Creates new eventkit datum and holder var on client for remembering identitities
* Creates new proc as eventkit R_FUN verb for managing prop identities
* Creates new proc on pda to create a fake event prop conversation in new eventkit
* Creates new topic in admin/view_variables/topic.dm and helper.dm to call new proc on pda
- 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
* 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.
*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
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.
Tested on my test server and nothing appeared to be broken. Overlays were showing up as expected.
Ghosts no longer became space/stairs/stole someone's tail
Makes a 'Save Configuration' verb, that saves your name, flavortext, eye color, chassis, and card emotion!
Then, to go with this, updates the various ways to become a pAI to allow you to load your configuration data into the pAI, rather than having to manually enter it every time.
Also makes the ghost notification verb and the 'new personality submitted' message both print the same message, and puts it on a 5 minute cooldown so it can't be spammed too often (the ghost one still makes the screens light up as often as you push it, it just only prints the message in the chat every so often)
Additionally, tweaks the release all proc so that it won't trigger the release message and sound when the only targets inside of you are absorbed and it's not releasing absorbed people.
Also removes the admin notification when people use the 'Adjust Mass' verb to not deliver an admin notification, because it doesn't reeeally matter? It's the kind of message we never pay any attention to. So! Instead I changed it to log it instead, so it can still be investigated if need be, but without clogging up chat.
*Finishes up the partially-implemented event HUD (The one the event pref in the VORE character setup tab is for) and adds a verb to let event managers give it to people (can be used by right-clicking them, or from the "Fun" verb tab.
Tested.
- Tweaks the proc for Virgo uplink beacons to not give away information about traitors
- Removes the Void Cell from antag uplinks
- Adds a combat defibrillator for Mercenaries
- Adds the cabin shelter capsule to uplinks
- Adds some stuff for admin use of uplinks
- Fixes bug with adminspawn ERT job not getting PDAs
- Adds an admin command to set up an uplink on a character
- Fixes Retired Admin to work properly
- Splits off VORE's adminverb list for improved downstream support
- Fixes retired staff not being able to talk in staff chats