* Makes timer subsystems available as a new subsystem type (#59073)
* Makes timer subsystems available as a new subsystem type
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
* ambience subsystem no longer plays to people in lobby (#59071)
* ambience subsystem no longer plays to people in lobby
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882)
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more)
* AAAAAAAA
* Update spellbook.dm
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* tramprocess only fires on maps with trams (#58940)
* SStramprocess only fires on maps with trams actually present on the map
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* it is coming
* fuckin' spelling
* more :)
* saaave meeeee
* id/pda work
except roundstart 😠
* kindaworks ehhh
* special request :)
* manifest me baby
* I am a coder with high standards
i can make spaghetti
oh no you're meeting all my standards
* hos is the department dead
* modularisation begin
* /
* manifest sorting
and by that I mean oh god the lists
* manifests, but modular
* plug n play
* module complete
* blueshield ipcs have monitors for heads :)
* fuck
* Update _job.dm
* Update jobs.dm
* more titles
* even MORE
* i forgot the document
* Update jobs.dm
* counsellor and code cleanup
* Liberty. Reason. Justice. Civility. Edification. Perfection.
* MAIL.
* Update jobs.dm
* Update _job.dm
* couple title changes
no bug fix yet gimme time
* i
* CRITICAL FIX
and some modularisation
* Off-duty
* brigoff, and some cleanup
* everybody loves a clown
so why don't you?
* Update job.dm
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fixes a fuck ton more harddels (#58779)
Redoes how geese handle eating shit, it was fucking stupid and caused harddels, and while this method is technically slower in the best case, it's a fucking goose
Fixes action related harddels, I hate how they work but at least this way they won't hold refs.
Fixes the hierophont causing its beacon to harddel
Removes the M variable from megafauna actions, it was used like a typed owner and caused harddels, so I burned it
Fixes target and targets_from harddels, replaces all setters of target with LoseTarget and GiveTarget, which should help maintain behavior. I'm not sure if this breaks anything, but if it does we should fix the assumptions that code makes instead of reverting this change
Fixes more area_senstive_contents related harddels, we need to allow the mob to move before clearing out its list.
Fixes marked object harddels (I'm coming for you admin team)
Fixes a language based human harddel
Fixes managed overlay related harddels (This was just emissive blockers, but I think this is a good safety net to have. If we clear the overlay list we should clear this one as well)
Fixes bot core harddels, I hate the fact that this exists but it has no reason to know who its owner is
Adds a walk(src, 0) to simple_animal destroy, it's the best bang for the buck in terms of stopping spurious harddels. Walk related harddels aren't that expensive in the first place, since byond does the same thing I'm doing here, but this makes finding mob harddels easier, so let's go with it
I fixed another source of part harddels, I hate fullupgrade so much
Fixes all the sound loop harddels
* Fixes a fuck ton more harddels
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* [semi-modular] Renames Brig Officer to Correction Officer on request of Gandalf
* Update jobs.dm
* my name i
* s Patrick, I'm 31, and I'm not here to cause harm. Please do not contact the police , please don't alert the authorities, please don't freak out. I'm not going to kill myself or hurt anyone or anything like that, but please don't freak out. My name is Patr
* go on
* ???
* Update security.dm
* more, more
* Dear top I'm writing you this tomato I'm writing this email to make sure you know that I tried to make a fund video unfortunately, unfortunately that didn't turn out so well my hypothesis in my experience Haitians were not happening as well as I plant and I'm really sorry you'll never happen again, please don't fire me I hope we can still be best friends your if if fewer from your best friend sure not now if if if if if, Thank you again,. Sharma 908 auburn 500 Joe favor employee
Co-authored-by: louiseedwardstuart <bonniefluff>
* Removes CHECK_TICK from overlays, following the same theory as instant explosions. (#58382)
as we learned with instant explosions, sleeping needlessly between appearance changes results in a heavier sendmaps load, let's see how this performs
* Removes CHECK_TICK from overlays, following the same theory as instant explosions.
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
* Adds a : to garbage logging (#58672)
Every other stat has a : attached to it, and not having this makes parsing these files into workable data fucking suffering
* Adds a : to garbage logging
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* SDQL Spells & Menu to Give Them to Players (#58118)
SDQL spells are spells that execute an SDQL query. This requires a config flag to be enabled in game_options.txt. When enabled, admins with debug verbs have the ability to open a menu allowing them to define all the relevant vars for the spell, including icons and spell requirements.
It also fixes a bug with superuser SDQL queries always runtime if they try to call a proc.
Co-authored-by: Emmett Gaines <ninjanomnom@ gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Adds SDQL Spells & a Menu to Give Them to Players - Take 2: Commit Cleanup
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Emmett Gaines <ninjanomnom@ gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Corrects a define regarding the amount of mail arriving on station + QOL changes. (#58723)
There was a math error in mail's implementation in the economy SS when I switched it over to delta_time, so that basically the time-based define MAX_MAIL_PER_MINUTE was being multiplied by delta_time. Just one problem, delta_time was being considered in deciseconds as usual, but my chimp brain failed to recognize that, meaning that the maximum amount of mail arriving on station was around 100x more than expected.
This corrects the delta_time variable to think in terms of MINUTE time defines, not just a static decimal multipliers.
Junk mail is funny and good, but you'll never read any of these if you get 200+ letters every shift just like it.
Additionally, adds some fluff text to the examine_more of letters, to let players know that you can use destination taggers to sne and distribute letters once they arrive.
QOL tweak is just to make cargo players and in-game purists lives easier.
* Corrects a define regarding the amount of mail arriving on station + QOL changes.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor
- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.
* Miscellaneous changes
- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments
- Removes a whole bunch of argname = 0 in explosion calls.
* Removes named callback arguments.
* Changes the explosion signals to just use the arguments list
Adds a simple framework to let objects respond to explosions occurring inside of them.
Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.
Makes the explosive compressor and blastcannon actually use the TTVs they are given.
Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments
*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Renews Maintenance Drones
* And these have conflicts too, but you can't see them
* Skyrat Map Updates (Adding Supermatter Room Area)
Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Makes the GAS system only update the icon when it has changed (#58337)
* Makes the GAS system only update the icon when it has changed
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
* Fix overlay subsystem holding on to excessive amounts of icons. (#58378)
* Fix overlay subsystem holding on to excessive amounts of icons.
The use of the icon file reference should be ok because they aren't ref counted anyways,
* Rename icon
* Makes the shit actually work
* Removes caching all together.
* fix compile errors
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fix overlay subsystem holding on to excessive amounts of icons.
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern. (#58236)
About The Pull Request
ID cards when equipped will check the player's living hours if the USE_LOW_LIVING_HOUR_INTERN flag is set. If their living hours is less than the first of the following (checked in order from 1st to 3rd until a valid value is found):
Config USE_LOW_LIVING_HOUR_INTERN_HOURS
Config USE_EXP_RESTRICTIONS_HEADS_HOURS
Hardcoded 15 hours
Then their ID card is tagged as Intern Assignment, unless they're a Head of Staff in which case they become an Assignment-in-Training.
PDAs, Wallets and Tablets also update any ID cards they hold, so equipping a PDA, Tablet or Wallet will also update any ID cards inside it.
This occurs automatically, even if the card does not belong to the owner. This only occurs when the user's assigned_role is a station job.
* Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>