* Medical/Security records now use the max/min age.
* merge conflict
* Refactors crew records (#72725)
I have attempted or otherwise started this project at least 4 times. I
am sick of it being on my calendar. The code needs it. I need it.
- This makes crew records a proper datum rather than assigning
properties record.fields.
- General, medical, and security records are merged.
- Did some slight refactoring here and there for things that looked
obvious.
- Wanted states are now defined (and you can suspect someone through
sechud)
- pAI (unrelated but annoying) had some poorly named exported types that
i made more specific
- Job icons are moved back to the JS side (I wanted to get icons for
initial rank without passing trim)
<details>
<summary>previews</summary>
Editable fields & security console

Medical records

Look and feel of the more current version

</details>
TGUI'd some of the worst UIs in the game.
Creating new records is made much simpler.
Manifest_inject is made readable.
Probably bug fixes
🆑
refactor: Crew records have been refactored.
refactor: Medical records -> TGUI
refactor: Security records -> TGUI
refactor: Warrants console -> TGUI
qol: Players are now alerted when their fines are paid off.
qol: Cleaned up sec hud examination text.
qol: Adding and deleting crimes is easier.
qol: Writing crimes in the console sets players to arrest.
qol: You can now mark someone as a suspect through sec hud.
/🆑
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* I've got something that now actually works
Just got to incorporate the records into what players can actually see.
* Turns out that client has already been transferred after all
* Adds the past records in the TGUI records (they're kinda ugly but it works, so y'know)
* Whoops
* Hate you too sometimes Prettier
* Fixes ghost roles using LITERAL records, which caused problems
* Fixes the leaks caused by ghost roles not getting their name right because of the stupid freaking special() proc
* I hate list operations man they're so stupid
* Fixes the stars on the crew manifest!
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
[NO GBP] Lazy Template Cordoning | Double Runtime Fix (#72709)
## About The Pull Request
Adds automatic cordoning to block reservations.
Also fixes an issue where ChangeTurf would cause SSicon_smoothing to
throw runtimes by calling QUEUE_SMOOTH regardless of initialization
completion
## Why It's Good For The Game
## Changelog
---------
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Organizes the lists in `admin_verbs.dm` because I got sick and tired of looking at them, and one in particular (#72151)
Title for the most part.
I was told, many, MANY, moons go, as a downstream host, that one of
these lists would rarely ever get touched.
What a fat lie that was.
The more I had to stare at this list the more infuriated I got with it.
Now, I just went ahead and organized most of the lists in this file, as
well as fixing comments to fit the format of `/* hey bozo */`. Where
applicable, things were organized into `/datums/admins/` and
`/client/proc` as well.
🆑 Jolly
code: The lists in admin_verbs.dm was organized to be made better. This
shouldn't affect the panels admins use at all, since they're already
alphabetized.
/🆑
* Literally already broke the sorting rules within 2 seconds
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Small changes to some card-related debug verbs (#72361)
## About The Pull Request
Test Card Distribution debug verb has been altered slightly to prevent
runtimes. Backing out of any one of the menus would send null as an
argument, and cause a runtime.
The Validate Cards verb now returns a message if no errors are found. I
kept mistakenly clicking this verb thinking it was the Cardpack
Distribution one, and would get confused whenever nothing happened. Now
it returns a message!
Also converts some of the stuff I touch into snake case because pretty
code is nice.
## Why It's Good For The Game
Closes#66987. Feedback for the random debug buttons I accidentally
click is good.
## Changelog
🆑 Rhials
fix: backing out of the Test Card Packs debug menu will no longer cause
a runtime
fix: Validate Cards debug verb now gives feedback if no errors are
detected.
/🆑
* Small changes to some card-related debug verbs
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Gives admins the ability to enable hostile environments at will. (#72018)
* Gives admins the ability to enable hostile environments at will.
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Admin verb to send message on PDA (#70790)
* base
* oh, oh.
* uh, dots?
* no hdd, only computer
* kill let in UI(but not in func)
* Admin verb to send message on PDA
Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
* List Them Out - A Modern Revision On Extracting Global Lists (#70080)
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* List Them Out - A Modern Revision On Extracting Global Lists
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Completely refactors hallucinations, and also adds a few
* delete 5 old hallucination types that should have been removed
* Fixed old leftover tips conflicts
* Fixes all the leftover conflicts and otherwise broken code
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Cleans up populate world code (#69752)
* cleans up populate world
* fix debug text
* cleanup
Co-authored-by: tattle <article.disaster@ gmail.com>
* Cleans up populate world code
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
* CTF qol update for admins, map selection and admins can't render CTF unplayable by accident anymore. (#69710)
About The Pull Request
When CTF map unloading was originally created in had an unforeseen consequence of not entirely removing parts of the ongoing CTF round, namely the flags, as a result of this, this system that was originally made as a precursor to map rotation was not really usable. Since this was added various PRs have made this more and less buggy but the recent CTF voting PR has caused unloading CTF rounds to be a one way process without far more involved admin intervention to reverse. As such, I've made the disable CTF buttons admins have access to only disable CTF and not unload the map entirely. I've left the function to unload the map in incase a situation arises where an admin or maintainer really needs to get rid of the CTF map.
Removing this functionality also removes a really clunky but theoretical function of it, being that you could repeatedly unload and reload the CTF map to get one of your choice, since this is not an option anymore this PR also allows admins to pick a CTF map when they start CTF themself.
EDIT: I fixed the bug introduced by the CTF voting PR, CTF maps can now be reloaded after being unloaded, the flag issue is still around so it shouldn't be used without admin supervision however. Also unloading is a debug verb now.
Why It's Good For The Game
Map unloading was super buggy so it shouldn't be easily accessible.
Since admins cannot repeatedly unload and reload CTF maps anymore to get the one they want they can now just pick the one they want from a list which is significantly less dumb.
Changelog
cl
admin: When admins start CTF they can now choose which map is played or choose random as its always been
admin: Admins can no-longer permanently break CTF by unloading the map accidentally
spellcheck: Fixed a typo in the Map Description for CTF Cruiser
fix: CTF can now be reloaded after being unloaded
/cl
* CTF qol update for admins, map selection and admins can't render CTF unplayable by accident anymore.
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* [MIRROR] Mob Ability Sequences Again Again (I swear this time)
* [MIRROR] Fix: Cult construct can attack while their spells are on cooldown (All spells no longer have a Melee CD by default) [MDB IGNORE]
* Update code/datums/actions/cooldown_action.dm
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.
* our changes
* yes
* 0
* Update blackmesa.dmm
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Fishing, Version 1 (#67691)
Adds fishing and fishing minigame.
You use fishing rod to fish.
Equipping specific bait/hook/reels will affect your success chances.
You can fish out fish,items and other things.
Fishing Equipment
Fishing rods have three slots: Bait, Reel and Hook.
Any food can be used as bait but dedicated bait makes fishing easier.
You can buy hook and line sets
New bait types:
Worms : Buy can of them at cargo (alternative acquirement method pending)
Doughballs : Use knife on flat piece of dough to get five of them.
Fishing rod types:
Basic : Print these at the lathe, nothing fancy here.
Tech: Experimental tech. Provides infinite bait
Fishing rods can also hook and reel normal items.
Equipment screen and reeling video
Fishing spots
Keep in mind this PR is meant to add the basic systems and i intend to fill these with more fish in future PR's so wait with suggestions until then.
Lavaland lava (no fish here right now, just other stuff), requires reinforced line to fish in.
Maintenance moisture traps.
Beach away mission water.
Fishing portal available for purchase from cargo - This is stopgap until we fill more spots.
Difficulty depends on fishing spot, fish type, and the fish traits and rod setup combinations.
All fish types can have specific traits, most common ones being favourite and disliked bait types/categories.
Other
Fishing catalog now lists fishing related info
New admin debug verb, fishing calculator that show probabilities with different setups so it's easier to balance this.
Fish now have average weight and size. Make sure to boast if you catch a big one.
Adds tgui mouse passthrough
Screens
Sprites:
Fishing portal sprite by @ ArcaneMusic
Other sprites by @ Mey-Ha-Zah
Bad ones by me. (Could still use better fishing minigame backgrounds)
Sounds:
https://freesound.org/people/soundscalpel.com/sounds/110393/https://freesound.org/people/soundslikewillem/sounds/343748/
* Fishing, Version 1
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Adds Puzzgrid smite to trap enemy gamers in a fiendishly hard puzzle (#66855)
* Puzzgrids
* Adds Puzzgrid smite to trap enemy gamers in a fiendishly hard puzzle
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Improper forced qdel cleanup, some expanded del all verbs (#66595)
* Removes all supurfolus uses of QDEL_HINT_LETMELIVE
This define exists to allow abstract, sturucturally important things to
opt out of being qdeleted.
It does not exist to be a "Immune to everything" get out of jail free
card.
We have systems for this, and it's not appropriate here.
This change is inherently breaking, because things might be improperly
qdeling these things. Those issues will need to be resolved in future,
as they pop up
* Changes all needless uses of COMSIG_PARENT_PREQDELETED
It exists for things that want to block the qdel. If that's not you,
don't use it
* Adds force and hard del verbs, for chip and break glass cases
respectively
The harddel verb comes with two options before it's run, to let you
tailor it to your level of fucked
* Damn you nova
Adds proper parent returns instead of . = ..()
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
* Ensures immortality talismans cannot delete their human if something goes fuckey. Thanks ath/oro for pointing this out
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
* Improper forced qdel cleanup, some expanded del all verbs
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
* Adds a colorblind accessability testing tool (#65217)
* Adds a colorblind accessability testing tool
I keep finding myself worrying about if things I create will be parsable
for colorblind people. So I've made a debug tool for approximating
different extreme forms of colorblindness.
It's very very much a hack. We can't do the proper correction required
to actually deal directly with long medium and short wavelengths of
light, so we need to rely on approximations. Part of that means say,
bright things being brighter then they ought to be. S not how people
actually experience things, but it's not something we can do anything
about in byond.
Anyway uh, it works by taking color matrixes, and using the plane master
grouping system floyd added to apply them to most all parts of the game
you would want to color correct.
There's some slight fragility here, but I couldn't think of a better way
of handling it.
We also need to deal with planes that have BLEND_MULTIPLY as their
blendmode, since that fucks up the filter. I've come up with a hack for
it, since I wanted to avoid breaking anything.
Oh and since I want it to apply to huds too I added plane masters to
represent them. I think that's about it.
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Adds a colorblind accessability testing tool
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Going stealth mode now drops your orbiters, and blocks people from orbiting you. (#64968)
* Stealthmin buffs in favor of orbiters
* The project I'm doing is cool as hell but it's not in this PR
* No toggle orbitability
* Going stealth mode now drops your orbiters, and blocks people from orbiting you.
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes heretic target assignment, also adds a debug verb to help debug objectives and similar (#64909)
Closes#64897
This PR adds a new debug button to spawn in a bunch of human dummies, assign them to one of each station job, and add them to the manifest to simulate a "full crew" on a live server.
This PR also fixes heretic target assignment. shuffle_inplace() doesn't return the list it shuffled, so the loops never functioned, and all targets were randomly picked instead of picked with the logic.
* Fixes heretic target assignment, also adds a debug verb to help debug objectives and similar
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* OPFOR PART ONE
* 0
* E
* E
* 0
* E
* e
* Update opposing_force_datum.dm
* E
* E
* Admin stuffs
* Admin control GUI
* E
* Chat
* 0
* Update opposing_force_datum.dm
* System messages, better admin chat procs, UI fixes.
* Update _basemap.dm
* who thought holding a ref to the client was a good fucking idea?
* 0
* Update opposing_force_datum.dm
* Update modular_skyrat/modules/opposing_force/code/opposing_force_datum.dm
* Equipment tab
* equipment part 2
* Tidy up, finishing up equipments panel, some font fixes
* clarity and continuity
* Update opposing_force_datum.dm
* more logic fixes
* Update opposing_force_datum.dm
* weeee
* Update opposing_force_datum.dm
* chat commands
* 0
* ee
* Update opposing_force_datum.dm
* Itemspawning
* Assassinate objectives only need one kill
* new commands
* Update opposing_force_datum.dm
* f
* weee roundend report
* E
* ew
* E
* E
* more fixes
* E
* E
* Update opposing_force_datum.dm
* Update opposing_force_datum.dm
* Fixes
* request opfor
* Update admin_procs.dm
* Update adminhelp.dm
* Update opposing_force_datum.dm
* fex
* admin info panel, approve checks, queue position checks
* panel improvements, better logging format
* Barboza equipment list Vol 1 (#10386)
* Update opposing_force_equipment.dm
* silly little changes to the silly little code
i doubt this will be seen by anyone teehee
* OpFor Prep Balance
Shotguns have been prepped into opfor catalog. Model 23-37 is now an 8 rounder pump action, M2 is untouched as a semi auto peacekeeper variation and SAS14 is semi auto as it was meant to be
* OpFor Prep Balance
Shotguns have been prepped into opfor catalog. Model 23-37 is now an 8 rounder pump action, M2 is untouched as a semi auto peacekeeper variation and SAS14 is semi auto as it was meant to be. 23-37 keeps its beanbag load while M2 comes with slugs as a proper combat shotgun
* Gear Pass 1
* Mag Variety for SAS14
Since its gonna be an opfor exclusive why not add some choices. Refilling its ammo is nigh impossible so here comes new mags!
* Gear Pass 2
yes I 'code' in github web
* Gear Pass 3
just martial arts and some stuff for today, tomorrow i add the discord suggestions
* opfor equipment up the ass
woo spider
* descs for everyone
* g357
* altyn
* Gear Pass 4
syndicakes and nri
* Item Variety Document for Opfor
* gunman loadout
* gunman update
* Gear Pass 5
gear harder
* Update opposing_force_equipment.dm
* big typo fuckup fix
* lcoat desc fix
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/opposing_force/code/opposing_force_equipment.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/opposing_force/code/opposing_force_equipment.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/opposing_force/code/opposing_force_equipment.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/opposing_force/code/opposing_force_equipment.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/opposing_force/code/opposing_force_equipment.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/opposing_force/code/opposing_force_equipment.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/opposing_force/code/opposing_force_equipment.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* DocNameChange
also no more shamwow
* Update opposing_force_equipment.dm
* Update modular_skyrat/modules/sec_haul/code/guns/guns.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update modular_skyrat/modules/sec_haul/code/guns/guns.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Update items.dm
* Update opposing_force_equipment.dm
* Update modular_skyrat/modules/opposing_force/code/items.dm
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* More Categories and Expanded Title
Adds loadouts and explosives tab, increases title limit to 40 instead of 20 for objectives
* Apply suggestions from code review
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: dawsonkeyes <76002401+dawsonkeyes@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Automatic changelog generation for PR #10386 [ci skip]
* E
* Update opposing_force_equipment.dm
* E
* Update items.dm
* Vol2Remastered (#10413)
* Update modular_skyrat/modules/opposing_force/code/opposing_force_datum.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Bye bye high-frequency sword
* Fixed the space cash too
* Review comments
* Update counter.dm
* general antagonist ban
* opfor ban
* Update opposing_force_subsystem.dm
Co-authored-by: ErdinyoBarboza <erdinyobarboza@gmail.com>
Co-authored-by: dawsonkeyes <76002401+dawsonkeyes@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#59676)
Refactors dbcore to work off a subsystem if executed async and limits the maximum amount of concurrent async queries to 25.
This has been tested locally on a mysql docker image and there were no crashes (as long as you didn't run it with debug extools) + data was getting recorded fine.
Why It's Good For The Game
May or may not resolve terry crashes, however, each query creates a new thread which takes up 2mb, preventing the game from using that 2mb. This can lead to ooms if they stack up, e.g. due to poor connectivity. This solves that issue.
maintainer note: this did not actually resolve the crashes, but has value anyway. Crashes were sidestepped fixed by finding out Large Address Awareness works
cl
refactor: Refactors dbcore.dm to possibly resolve the crashes that happen on Terry.
/cl
* Fixes an oversight in database code and cleans up telemetry (#64177)
As it is right now, we never actually clear the temporary list processing_queries
So if the subsystem is for some reason unable to complete a run, we will just whip right back around to it again
If it's been long enough, this could even cause horrific log spam. There was just now a manuel round with roughly 30k undeleted query errors. not good.
But what was actually not deleting you may ask?
Well
When you create a db request, a 5 minute timer starts. after those 5 minutes are up, the request is qdeleted by the db subsystem
This is to prevent the creation of unused requests, and to handle requests that are never cleaned up
Telemetry code was creating all of its db requests inside a for loop that could check tick, and then later
attempting to call them in series
Since requests by default sleep, this almost always lead to undeleted queries, which harddel'd given long enough periods
I've fixed this by moving the data gathering away from the query creation
Why is it good for the game
I was working on atmos code, happy, safe in my delusion, when suddenly I got a ping from tattle freaking out over 200 undeleted queries a second
This resolves that issue, so I can once again live in peace
Changelog
cl
admin: Telemetry code will spam you with undeleted query logs much less often now!
server: Improved how the db subsystem handles undeleted queries, should never have an incident like that again
/cl
* Fixes an error in telemetry queries (#64205)
* Hardsynced time_track.dm with upstream
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* stealthed admins no longer count on the orbiting menu (#63940)
Currently, you can tell if someone is being orbited by a stealthed admin by checking the orbit menu and seeing if there's an extra orbiter compared to what you see visually orbiting them. This makes it so stealthmins don't contribute to the orbiter count to avoid that.
* Stealthed admins no longer count as orbiters in the orbit menu
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>