* Set max version
* Updates most references to .proc (Leaves a couple to check check_grep)
* Actually add check
* Oops
* Hopefully exclude the one place we do want .proc
* AAAAAAA
* Trying this instead
* Hopefully checks go green
* Switch to NAMEOF_STATIC
* Makes 515 acutally build
* LIBCALL
* [ADMIN] Chganges auth backend to use the forums instead of the DB
* Remove dbranks flag
* I'm dumb
* re-promotes myself
* Re-use datums, rather than continually re-making them
* Delete the datum instead, easier to manage
* Moved to an inhertiance based system for permissions management
* Proccall protection and logging
* Linter
* Update config
* Fixes pp I hope
* Two letters made it do a bad, I am sad
* Clears forums admins when reloading
* Adds db support
* Update config
* Re-enables forum integration
* No editing the funny datum
* Allow me to do the funny during the test merge
* Didn't commit the changes
* Copying and pasting hard
* Sanitize ckey
* Var is unnecessary
* Small debug log to debug dono chat
* Fixes wrong proc call
* Move log, will be a bit much, but is fine because its temporary
* Made better log message
* Fixed reload admins, added debug log to json_decode that was erroring
* Expanded forums integration error handling
* Fully protects funny lists
* adds a proc to check if the antags completed their objectives
* autodoc
* untypes my loops
* antag datum option
* fullwin
* standardizes objective checking
* now we only check for malf antagdatums
* Adds support for dynamic mathing
* Adds Dynamic Main Files.
* Adds Dynamic loading to yogstation.dme
* Probably adds dynamic related changes.
* Fixes code I didn't add, won't fix my retardation.
* Adds "/datum/game_mode/proc/admin_panel()" because it's apparently important.
* Adds dynamic related code.
* Adds more dynamic related code.
* Fixes error: possible unreachable code here on line 313
* Fixes copy and paste error.
code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm, line 390, column 2:
error: possible unreachable code here
* Adds a testing change to fix the lint
* Undos paranthesis
* LintFixTry#2
* Adds Shadowling
* adds a slash
* adds some logging
* Adds IMMERSION
Thank you Theos for the help!
* FIXES IMMERSION
* Adds Mindshield Implants for Dynamic
* Adds the mindshield implant into dynamic
* Adds the mindshield stuff yadayadayda
* adds another slash
* removes said slash
* test addes imp_ before mindshield on line 427
* redo
* test
* Going to try and do this again #1
* syndie_kit/mindshield/
* gets rid of an error
* renames to imp_mindshield
* Maybe I'm just super retarded.
* v
* #include "code\game\objects\items\implants\implant_mindshieldtot.dm"
DOES THIS FIX IT DOES THIS FIX IT
* oops
* recompile
* Part of getting rid of weights, relies on dice rolls
* Adds dice roll, adds the ability for clock cult to roll
* Readjusts weight and costs, no more weight
* ahem fuck you travis or whatever the hell your name is - recompile
* Oh god oh fuck clock cult cost 0 for a while, oh god oh fuck meteors are now in, only coming in at threat 100 and higher. Shadowling requirement shifted,
* recompile
* Rev Fix
* Allows more midrounds to play
* Clockwork additions and whatnot
* Adds Vampire, and some changes to the requirements, and whatnot.
* Fixed Jobs to Roles
* Adds Vampire to Late Join
* Adds vampire cooldown to roundstart
* Adds Traitor_Ruleset to Vampire
* Adds Vamps to midround
* recompile
* Shadowling Modification
* Revs are now under the flag TRAITOR_RULESET, shadowling change, attempts to keep the round from ending if all the shadowlings die.
* Makes mindshield limited stock, now costs 1 tc, very small chance to show up in surplus crate, isn't illegal tech, player mininum is 30
* Adds cargo crate discounts
Thank you Jamie and Gamer for helping!
* Adds the party crate to discount
* Adds Zombies to the midround
* Recompile
* FUCK YOU RECOMPILE ALREADY
* recompile
* Jungle Fever can now roll.
* Only need one vampire candidate now.
* Fix
* Ah shit it seems you're utterly fucked.
* Update dynamic_rulesets_roundstart.dm
If set to TRUE, dynamic mode will be able to draft this ruleset again later on. (doesn't apply for roundstart rules(?))
* No Highpop req for shadowling
* Adds Darkspawn
* Adds some logging.
Co-authored-by: Theos <theubernyan@gmail.com>
Co-authored-by: fluffe9911 <dablank02@hotmail.com>
* Valentines antagonists will no longer stop mulligan (#42772)
* <3
* oooh now i get it
* oooh now i get it p2
* oooh now i get it p3
* exodia!!
* even more performance saving
* missed ')'
* Valentines antagonists will no longer stop mulligan
* Merge pull request #42862 from AutomaticFrenzy/patch/cant-believe-dm-accepts-this
Fix some incorrect list/ type annotations
* Fix some incorrect list/ type annotations
fixes#41885
the problems with picking centcom antags are in the issue post. if this isn't a good idea, i can just make it check for the thunderdome arena area instead.
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
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.