refactors the asset subsystem to make it much more managed
adds support for 'deferred' assets for tgui, which will be later used
for things like tgui character setup and admin panels.
deferred means that it'll be 'sent in a timely manner after the ui
opens', as opposed to 'sent before the ui opens'
---------
Co-authored-by: silicons <no@you.cat>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
Give medical a way to produce the standard supplies they might need
during their day to day operations.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
add: Added minilathe for medical
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
qol: Mapping subsystem now prints the active map to world, so you know
on which map IntTest errors occur
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
This is largely just synchronizing ZM with the latest upstream version,
though I also renamed SSzmimic to make updates like this easier.
Changes:
- It is no longer possible to outrun Z-Mimic, except now without the
cost of doubling ZM init time.
- `ZMM_LOOKBESIDE` is now supported to handle wide mobs as well as long
mobs. Use `ZMM_WIDE_LOAD` for both wide and long, such as scaled up
atoms.
- It is now possible for a turf to override its Z-Mimic appearance.
- `MZ_TERMINATOR` can now be specified to cause a turf to act as the
bottom of a ZM stack.
- `MZ_NO_SHADOW` can be specified to opt out of Z-M's darkening effect,
though lighting copy and AO are still active.
- Some bugs in layering caused by atoms moving up or down z-levels have
been fixed.
- Z-Mimic now has a basic performance profiler.
- ZM appearance fixup no longer breaks underlays.
65% multiplier - 10 per sheet constant loss
requested by @TheObserver-sys and signed off by me
mining rework will make this more balanced but vorestation has it; i
think it's fine to throw mining/science a bone.
---------
Co-authored-by: silicons <no@you.cat>
Co-authored-by: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
its adds an admin controllable and configurable ghost weight, and a
config to obfuscate the transfer vote by default (admin still can
decided to show the votes if they like)
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
add: Added ghost weight modifiers
config: Added config for transfer vote obfuscation
config: Added config for the transfer vote tie default
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
title
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
muh immursion!
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
🆑
spellcheck: CentComm => Centcom
spellcheck: NanoTrasen => Nanotrasen
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
admin: custom votes now have their own sound rather than the same as
transfer votes
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
3/3 is world structs and the fun that comes with that
this pr has:
- transitions
- new multiz system
- lookup optimizations
- misc updates
---------
Co-authored-by: silicons <no@you.cat>
see files changed:
- fixes lowwalls clickblocking
- pipes are now smaller
- fxies some table stuff
- air alarms
- buffs scrubbers
- buffs protean blob structure damage again are you happy now
@Ghostcoffeee
- both buffs and nerfs metal foam
- nerfs inflatables
- fixes weather
---------
Co-authored-by: silicons <no@you.cat>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
I kept putting off the gamemode removal (and eventual rewrite). This is
a good way to start
<details>
<summary>POV</summary>

</details>
## About The Pull Request
adds generic system for atom health / integrity / damage
everything that isn't flagged with not-bludgeonable can, well, now be
bludgeoned.
## Why It's Good For The Game
more interactive game world through the means of making people able to
break Everything.
## Changelog
🆑
add: atom damage - (almost) everything is now breakable.
refactor: new /atom level materials system
refactor: a lot of the combat system / click code
refactor: melee attack styles
/🆑
---------
Co-authored-by: silicons <no@you.cat>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
sometimes you wanna make the end result a surprise
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
add: Added option to make votes secret
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
This ports over and makes the jukebox media player into a subsystem wile
also overhauling / porting over virgo's tgui interface for jukeboxes.
This PR also brings over the Podzu music player and makes it available
to all players in cargo, loadouts, and venders.
It also has a function that is not at the moment working where you can
add more music as an admin. But if someone is willing to fix the admin
system I can see about making that function work instead of leaving it
commented out.
I will in another PR go over more of the broken songs and eliminate or
fix them. (I listen to music heavily when playing here)
## Why It's Good For The Game
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
The current Jukebox GUI is horrible and the current media player system
is not modular what so ever and is clunky to use, but the port of
virgo's jukebox UI is not really perfect, however it is leagues better
than Nano. (PLEASE I SUFFERED TO PORT IT)
Portable music players are really nice and sharing tunes with fellow
players is sweet.
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
add: Portable music players!, and improved Jukebox UI
tweak: jukebox.json
qol: Jukebox ui is not as clunky
fix: Jukebox ui
soundadd: Jukebox music?
code: media players, jukebox ui, and portable music player ui
refactor: refactored media players (they are their own subsystem now!)
config: Added more songs and also configured changes to the jukebox.json
to work with the changes
admin: some jukebox code (idk if what I did caused anything)
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
This PR aims to bring integrated circuits not only to a more up to date
version but also fix some features that weren't working.
For this I have used Baystations current circuits as a working
reference. I have compiled, tested and checked for runtimes.
Fixes include
- Tile analyzer and examiner being able to handle tiles
- Reference encoder and decoders doing their job
- Advanced pathfinder being able to path through access restricted doors
- The EPv2 circuit using an incompatible name for cloning
As a consequence for the advanced pathfinder I had to readjust how
access is given to circuits which now allows them to read the passkey of
ID's, store them, send them and so on. A minor tweak also adjusts the
TTS circuit to 1 second. Additionally, I have added an advanced signaler
that while it behaves identical to EPv2 it is able to work the moment
you print it without having to set an address (Not to mention that EPv2
often fails to create an address upon print)
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
1. **Tweaks/Nerfs Chlorine Gas.**
2. **Tweaks Virology Atmospherics Layout.**
## Why It's Good For The Game
1. _The gas was a little **too** good at killing everyone._
2. _Makes the scrubber loop a little more secure and puts it on a fresh
network, thanks to Kevin._
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
tweak: Tweaks Chlorine gas.
tweak: Adjusts Virology layout and scrubber net.
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
- adds astar with visualizer
- adds jps with visualizer
- transitions everything to subsystem calls
- subsystem now limits the number of calls that can go on at once for
performance reasons
"uh oh, silicons is fucking with integral game code while half asleep
again"
---------
Co-authored-by: silicons <no@you.cat>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
fix: Fixed the subsystem not registering overflow spawnpoints
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
i decided i'm following in stylemistake's light
the files in this pr are entirely written by me instead of regurgitated
tgcode;
i'm also marking a lot of other files but they're in their own prs
(inventory module in hand pr, materials/atom damage related stuff in
atom damage, etc)
Co-authored-by: silicons <no@you.cat>
## About The Pull Request
rewrites lathes
they are now embeddable within other interfaces, have unified controls +
queue management, and have support for using
- materials
- reagents
- even using / transforming existing items
rewrites /datum/design to be semi-singletons
adds SSresearch to hold designs
rewrites atom material system a bit
also:
- adds MIT license identifiers to some of my old TGUI work of which I am
the only one on the git history. i'd like to keep the tgui section and
my own code samples in there as MIT instead of AGPL.
- removes vorestation id restorers from maps because they're unused
nowadays
- removes partslathe as they're basically just unused
- Revamps sheetmaterials stylesheet as it really didn't need to just be
stacks.dmi
## Why It's Good For The Game
lathes sorely needed a redo
we want good materials support ontop of that.
also fixes autolathes :)
the "also" part is already covered above.
## Changelog
🆑
refactor: lathes are completely rewritten
fix: autolathe x5 and x10 buttons
del: autolathes can no longer be hacked. all hacked recipes are instead
accessible as normal recipes.
del: partslathes - redundant
del: id restoration consoles - unused / prohibited by server rules
/🆑
---------
Co-authored-by: silicons <no@you.cat>
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
admin: Nicer voting panel
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
cleans up config
adds new role time.tracking system
adds new panic bunker
adds new VPN detection system
unfucks the automated age gate
does a bunch more cleanups
refactors client security checks a little
---------
Co-authored-by: VM_USER <VM_USER>
Co-authored-by: silicons <no@you.cat>