* Podspawn admin verb, like spawn, but more IC
🆑 coiax
admin: New 'Podspawn' verb, which functions like 'Spawn', except
any atoms movable spawned will be dropped in via a no-damage, no-explosion
Centcom supply pod.
/🆑
Essentially, sometimes you want to spawn stuff in, quickly, in an adhoc manner.
Use of the full Centcom launchbay is fine if you're doing a full blown drop or event
or want some customisation, but sometimes you want a quick supply pod.
The admin smite "Supply Pod (Quick)" has been used for this purpose, but it has a side
effect of setting people on fire and damaging them, which isn't what you want
if it's just for spawning stuff in.
* Adds option to Game Panel->Create Object
* Code review I
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.
Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.
The legacy ban system is removed.
The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.
New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.
New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.
Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.
cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
* converts to using key instead of ckey for user facing logs and ui
* more key_name for airlock wires
* futureproofing check for if key changes
* --onlyckeymatch script argument and fail/success counter
* fix
* Qdels all queries, adds sleep handling
* DB Core messages admins about undeleted queries
* Compile fixes. Adds missing set waitfor
* Remove world/New shennanigans. Add DBQuery/BlockingExecute()
* Less spammy notifications to admins about undeleted queries
* Increase dbcore fire time to 1 minute
* Upgrade undeleted query warning
* Better place of death
* Fix build
* Remove BlockingExecute, see BSQL PR for why
* Yep, missed that one.
* Psyche, that's the WRONG QUERY!!
The logging is now stored in the persistent client/player_details datum,
that will survive an entire round
The existing mob log is retained and a new admin verb is added to access
it. It will only show logs for the mob in question, across all players
who possibly spent time in that mob
A new log type is added that tracks the mobs the player changes across
into and the times they occured, to better help admins manage complex
situations, this also appears in the mob log as a record of the players
who entered/exited control of the mob
This is primarily a compatibility layer that enables both forward and backward compatibility for all past and future APIs based on the detected running TGS version. It also bundles all it's includes to make future upgrades not have to modify the dme, heck, could even use a submodule if it wanted (not happening). No other changes necessary.
There's an upcoming event system and new chat management functions. Check them out here: 303448457e/DMAPI/tgs.dm
Also added /datum/proc/CanProcCall()
* Adds a cancel button to the timing section of turning the nuke on.
* Adds a custom input for managing job slots. No longer must it be infinite or many add button clicks.
* Adds |null on all input (I believe they need that to have the cancel button)
and updates from !holder to new admin check
* Implement antagonist reputation system
* Cleanup
* Quadruple point values, maybe a bit underwhelming before
* Simple feedback changes. Waiting on input on a couple questions for the other requests.
* * Comment out unnecessary variable
* Half of the requested changes (testing in game pending, standby)
* Last set of changes. This should be finished now.
* Remove line causing a warning to fix Travis build
* Antag Panel & Friends Refactor
* Prettfying
* Removes abduction also blob from default configs.
* Ninja fixes
* Ninjafix
* First draft of the new check_antags
* I love coding without compiler
* Yes
* Fixes
* Check_antags part 2
* Fixes and cleanup
* Okay should be good now.
* Adds simple no move & no tc syndie for events
* Integrates toggle objective pr
* Why i even bother.
* Offer mob shows all antags
* Some minor visual stuff
* Proper name for the helper
* Roundend report refactor
* I won't be fixining every moved part but here you go
* Preparation for feedback
* Fixup
* First draft of feedback (wip)
* Simple version of feedback for custom objectives/explanation texts
* Debug verb removal
* Fixes & show again action button
* Admin objective handling
* Fix and first step of css standarization.
* Every time
* More css
* Fix
* Fixes, abductee datum, css tweak
* Feedback and css fix
* CLIENT DETAILS DATUM + CLIENT ACTIONS + spilled css fix
* Integrates clockult badcode
* Fix
* Fix lists in assoc feedback
* Unified antagonists and teams feedbacks, bumped up antagonists version
* Adds chat link to reopen the the report
* Fixes some clockcult stuff, passes antag name to feedback
* review stuff
* fix
* Adds some missing spacing
* Roundend corners, has css gone too far.
* Spacing between same antags
* Changeling and traitor objectives now have same spacing
* Wizar report typo fix
* Wrap brother team.
* Also move it to more relevant file
* Fixes cult summon objective
* Fixes roundend report for full-round observers
* Fixes wizard with apprentices roundend report
* Tutorial scarabs don't show in roundend anymore, adds some check_ticks
* Prettier station goals
* Merges roundend delay things
* Spread the lag around
* Fixes relogin qdeling eminence
* ckey -> key
* wip
* wip2
* makes code actually compile on 511 + fixes
* versioning
* s
* adds python conversion script, schema change and removes 'force ' from item_used_for_combat
* fix to compile
* forgot to actually commit this
* Free codebase churn
* fixes dviewmob
* a commit
* Partial revert "Free codebase churn"
This reverts commit 9dd41b3860c331637bbc85e694dd32dc59768ad5.
* better fix to dviewmob
* renames living_mob_list to alive_mob_list, adds mob_living_list and carbon_list
* make some use out of the shiny carbon list
* make some use out of the shiny new living list
* more things, also make the mobs subsystem (Life) use living list
* bonus
* domo arigato mr. roboto
* compile fixes, also made the drone code less dumb
* better?
* make admin message prettier
* honk
* fixes blobs
* rev fixes
* one small thing
🆑 ninjanomnom
add: You can now select a nearby area to expand when using a blueprint instead of making a new area.
add: New shuttle areas can be created using blueprints. This is currently not useful but will be used later for shuttle construction.
tweak: Blueprints can modify existing areas on station.
admin: Blueprint functionality has been added to the debug tab as a verb.
/🆑
Additionally the code for getting all turfs in a contained space has been refactored for some pretty good performance improvements.
Old proc: Self CPU 8.816, Total CPU: 10.009, Real Time: 10.009, Calls: 5000
New proc: Self CPU 4.174, Total CPU: 9.000, Real Time: 9.001, Calls: 5000
They've been moved into a area helpers file.
* New API for service communication
* Safer this way
* Gives the game the ability to kill itself
* tick_lag
* Sanity check
* Updates comment
* Formalization of the server tools API
* Fixes, finishes, and cleanup
* Remove unecessary scoping
* Compile fixes
* Didn't Ctrl+S
* Reimplement chat commands
* Fixup
* Required parameters
* Fax
* Testing
* Fix ON_TOPIC
* The more defines the more better
* That's bass ackwards
* Fix tgs2
* Fuck it, call him pichael
* Do this
* No, we only use the modern methods now
* Remove tgs2 relay support
* Remove kebab
* Kill kill kill
* This is back baby
* Missed a GLOB
* Remove DownloadPRDetails()
* Cache custom commands by name
* Adds "notify" chat command
* Use the official API
* Fix API misuse
* Readme licensing memes
* Fix API
* Moves chat new game announcement to when the API is confirmed compatible
* Add TGS3.json
* Fix the input options
* Removes notify command
* Configuration datum refactor
* More WIP
* New easier on the eyes format
* More WIP
* Finished config.txt
* Fucktons more WIP
* The end of conversion draws near...
* Add all this shit
* Done converting entries finally
* Hunting down compile errors
* More WIP
* MORE CONVERSIONS
* More WIP
* More WIP
* Oh shit only 90 errors this time!
* IT COMPILES!!!
* Fixes world start runtimes
* Makes Station Z Levels a global list
* Things didnt get committed
* Define
* Removes files
* Fix mind.dm
* Wrong list name
* (
* Fixes rev checks and signpost
* Makes it actually compile
* Signpost fix
* I hate these sign posts
* Never use the web editor
There's a certain issue of people spoofing real byond links to admins. Now all links should come with a generated key that is validated when the Topic is run.
Added DEBUG_ADMIN_HREFS to debug this system while we test it (Allows hrefs without tokens and complains about it in the logs)
Just add [HrefToken()] as a parameter to all admin hrefs. Anything that ends up running through VV or Holder will be verified
* Ports Paradise Job exp system
* changed to use json_decode and json_encode as recommended by oranges
* updates changelog
* Reee cyberboss
* Changes to use a seperate table
* Updates database changelog
Changes to use mediumint
* Back to wip we go.
Changes sql stuff to how mso suggested
Attempts the changes requested in the other pr.
* work on stuff.
* work on stuff.
* Renamed proc for time remaining.
Fixed updating time amounts.
Added delay to fix firing at roundstart
* exp is now stored in a global list, and only updated to the db at round end.
* some stuff
* Added button to toggle exempt status on a player.
Still need to make it update the db
* REEE Jordie.
Undoes delaying exp updating to round end.
Adds the updating filtering to the update_exp_client proc which is used again
* Lowers a bunch of the times needed.
* Makes tracking per job instead of per department.
Department time is now calculated from job time.
* Whoops forgot to update master first. Lemme save this
Reverb should play cheeki breeki to people
* I think I did this right.
Too tired to test atm.
Busy rewatching twintails ni narimasu
* Removes var from proc arguments
Fixes database stuff
* Does some requested changes.
Makes special_role be tracked instead of bundled under special.
* Done, but need to refactor how it handles ghost roles.
* Less false data wew
* Changes
* Updates db version
More changes
* More changes
* More changes
* revision fix
* OOPS
* fix schemas
* Makes SQL error logging handled by Execute
Gang role tracking now strips out the gang name and is generic.