As reported here #6909 there were a few Requests Consoles that didn't have correct Department names.
This pull request fixes that, sets proper Department Types for a few Request Consoles and also makes the Requests Consoles' names more consistent in general by adding the 's' to 'Requests' everywhere.
Fixes#6909
This PR is depending on #4868 for it's ui framework. This PR mostly makes new SSrecords subsystem responsible for storing records. This should replace old datacore.
Make new SSrecords.
Make things use SSrecords and whole code compile
Made VueUi button <vui-button> to push parameters as JSON, preserving client side data stricture.
Add new records console and admin record management.
I am mostly looking for feedback regarding SSrecords and it's data storage mechanism criticism (It's using lists for storage)
Xenomorphs are pretty much badly done and don't really fit at all. This pr fully removes the human type ones, alongside with the infection, eggs and facehuggers.
Warning! Big Scary Change!
NTSL2+ is a re-work of NTSL.
The goals of this rework are to remove worries regarding server load, and make it impossible for a malicious program to crash the server.
The result is an asynchronous daemon based interpreted language, called NTSL2+.
The Daemon in question can be found Here
Features:
Programming Language worth considering a programming language
Limit-able execution - Unable to hold the server up
Runs on Modular Computers
Shitty in-game networking.
Players can finally write their own laptop programs I cannot stress that enough.
So I noticed that Jump To Mob proc of both observer and admin version is using wrong list, and it does not actually work on any mob because the mob it is looking for is of different format in the list.
Fixes Jump To Mob for Ghost tab and Admin tab.
Makes Jump To Mob use same list as Follow. Which makes it list things like carp(2) or if mob is dead or a ghost.
Renames admin Jump To mob. Making admin panel use admin proc, instead of public.
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
The bluespace squid doesnt have tentacles, because in the recent tentacle changes the author didnt check if anything used the tentacle styles that have been renamed.
It is weird to have cameras in each single bathroom on the station, especially since it lets people peak into shower if door is open. This can also add edge to the antags.
from left to right
security, medical, meson, material, science, thermal, welder, night vision, standard (no hud)
None add any flash protection except the welder HUD (only partly).
Adds some features and fixes some shit:
Closing of tickets sent to Discord will now alert discord as well.
Adds a reminder period for tickets which starts after they're opened. It's intended to remind staff to close their tickets. Say, something like 10 minutes since opening sounds like a solid idea. If the staff who claimed it is offline, then all staff are reminded of it.
Adds the logging of all tickets to the database at the end of round. Sortable by staff closing, person opening, time opened, time closed, and round ID. This is primarily for Aboshehab.
A user ahelping creates a ticket. Any further ahelps while that ticket is open will go to that ticket (and either adminhelp or pm an admin assigned to the ticket, if one has taken it).
A user can close their own ticket up until an admin takes it.
Admins can take tickets either manually or just by replying to the PM.
An admin taking a ticket notifies other admins.
If another admin attempts to take or respond to an assigned ticket, they receive a notification asking if they would like to join the ticket or cancel (any number of admins can join a ticket).
When an admin finishes with a ticket, they must close it -- both for logistics and closure for the user.
If there is an open ticket assigned to an active admin, round end is automatically delayed (unassigned tickets or tickets assigned to disconnected or afk admins do not delay). Round end will automatically continue once all active tickets are closed.
Both staff and non-staff have access to a ticket panel listing tickets, their statuses, and their messages. Non-staff can only see their own tickets. This panel is optional and all features are available inline with chat.
Changed trench coat, detective's trench coat, and gentlecoat to all be able to button up and down
Also updated all references of old path to new
Finished!
* Repaths eyes, observers, dview, and new_players to /mob/abstract subtypes.
* Adds /mob/abstract, a base type for 'abstract' mobs that aren't meant to be directly affected by the game world.
Adds ability to get server updates to Discord using webhook API, instead of complicated bot API. Simple config options make it a breeze to add / remove linked channels.
changes:
Openturfs now properly handle recursive icon copy.
Openturfs can now have icons, for translucent or bordered turfs. This works with the smoothing engine (or anything really)
Added openturf debug verb that lists ordering of the openturf.
Openturfs can now mark themselves as solid, for things like windows or ice.
BSTs can now toggle falling for themselves.
Fixes#3488.
changes:
Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
changes:
Ported some timer fixes from /tg/ (timerid overflow fix, invalid deltimer logging)
Removed pointless air alarm elections.
Cleaned up some area code and moved area var definitions into areas.dm.
The nuke now only destroys Zs connected to the Z it detonates on. (Fixes#2552)
The nuke no longer destroys CC.
Nukes now dust mobs.
Cascades now dust all mobs on all non-admin levels.
Fixed a bug where SSexplosives would not honor the is_rec var.
Improved the efficiency of /proc/random_station_area().
Bluespace Bugs can now teleport out again.
Bluespace Technicians can now turn off their x-ray vision without needing to remove their glasses.
Human-types no longer make footstep sounds when lying down, unconscious, or dead.
Removes a whole bunch of in world loops.
Reworks SSmachinery to hold two lists: all_machines and processing_machines. all_machines contains all machines 5ever. All of them. Literally. Forever. And ever. processing_machines only contains machines that process with the SSmachinery controller.
I checked most types at runtime on the live server to see whether they're in processing_machines or in all_machines, and did debug to ensure that most machinery ends up and stays in all_machines.
Includes a basic UT to make sure all mapped in machinery types remain within the all_machines list post-init.
changes:
Storage objects can now defer shrinkwrapping of contents until the next stackframe if things are being put in them without using fill() (such as autodrobes & BSTs)
SSair init properly yells at the admins when it's done.
changes:
Replaces a lot of in-world loops with more specific lists.
Recipes are now copied in SSmachinery/Recover()
Fixed bad sorting on all_areas list.
Added skeleton Destroy() to SMESes as they did not have one and are failing to GC.
Seems to shorten SSatoms init a bit, maybe from removal of in-world in MULEs?
Fixes#2803Fixes#2553Fixes#2597 (Couldn't find a cleaner way to make this work, unfortunately. Not all procs-as-verbs can be used as procs.)
Fixes#2498Fixes#2912
changes:
Added a isopenturf() macro, equivalent to istype(thing, /turf/simulated/open).
Converted most/all instances of istype(/turf/simulated/open) to isopenturf().
Made update_above()' aware of queue status & inlined a proc-call.
Features:
Removal of BOREALIS (python module) as it's not used.
Removes ToR ban feature in lieu of IPIntel.
New BOREALIS config to alert staff if server starts as hidden.
Adminhelps now inform admins on discord if dibsed (when they were sent to discord anyways).
Adds hub visibility to the server access control panel.
Adds mirror ban spotting via ban panel. It now redirects to the linked ban if one is found.
CCIAA now get alerted as to how many of them are online and active when receiving faxes and emergency messages via Discord.
Removed unused C/C++ libraries. The socket_talk module is a generic UDP shipper, of which Arrow implemented a better version. lib nudge is not even compiled for use. lib_nudge module is uncompiled and no longer used, as we use cURL for the bot.
Removed depracted APIs and config settings related to the previous point.
Whitelisted jobs now appear properly in the job selection window as [WHITELISTED].
Job ban reasons can now be viewed from player preferences window.
Await admin approval for final CCIAA requests and implement. RIP CCIAA.
Fix age bans for jobs and antags (dynamic ones, ofc).
Implement https://forums.aurorastation.org/viewtopic.php?f=18&t=8283
The system used to be of complexity O(n^2). Essentially two for loops running per every argument. Which ended up being surprisingly slow (there were instances where I saw the argument parser as using quite a lot of CPU time).
This replaces it with a more linear algorithm. It's somewhere near O(n) where n is the length of the unparsed query. Which is more stable and faaaster. This comes with two changes, however:
Parameters inside the query now have to be delimited from both sides with : (colons). The alternative to this would be to use something like $n or just assume that space marks the end of a marker. Only the former is workable, the latter would break a few queries already.
Arguments in the argument array no longer have to be prefixed by : (colons). So, while in the query you would write :thing:, you'd initialize the array of args as: list("thing" = somevar). It could be made to work without it, but eh, I think this is fine.
Argument validation is slightly weaker. What I mean by this is that with the old system, unused keys would result in an error. This is no longer a thing. Missing keys will still result in an error, however.
One more improvement: double delimiting removes an edge case where if key A partially covers key B, depending on the order, key A would mangle key B.
Updated and tested all queries that I could find. So this should be good.
What it says on the tin.
IPIntel and BYOND account age relating panic bunker settings from TG. Also implements methods for potentially tagging VM users. Ontop of all of this, creates a spiffy UI for admins with R_SERVER to adjust the settings of the entire suite at runtime.