- separates the composition of cyborgs into modules, iconsets, chassis,
upgrades
- modules / chassis atm can provide items, so can upgrades; in the
future we will want to probably generalize the item API a bit so
components can work
- chassis now can (unimplemented) easily be made to give different stats
- reorganizes all the cyborg sprites
- adds generalized item mounts with redirection support and tears out
legacy cyborg items
- entirely rebalances modules & writes some new lawsets in for future
use
---------
Co-authored-by: silicons <silicons@silicons.dev>
tl;dr refactors supplypacks to a new system
- all access locks yanked from crates other than the ones that actually
need to be locked
- preps system for reworks, translates stuff over to a new format
- adds unified subsystem parsing & support for other descriptors for
cargo crate contents other than typepath
i decided to atomize my prs a little
- map obfuscation module upgraded
- obfuscation now happens via mangling id, inspired by nebula. atoms loaded with the same mangling id will generate the same obfuscated ids from a given and matching input id
- /datum/map_injection added; it's a composition-based system for modifying maps during spawn
- /datum/map_injection/starting_gear; inspired by barotrauma, pretty much just injects starting gear as necessary with a given configuration. multiple of these can be stacked in a given maploading.
- /obj/map_helper/gear_marker; markers for where starting_gear should populate things.
<!-- 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
- All ores have been converted to become stacks.
- Various for loops have been destroyed due to ore stacks now existing.
- Bluespace crystals is detyped from being ores (request of Sili)
- Mining satchels have been recoded to be more like ore boxes (there's
an update I'd like to do to them later that will include even bigger ore
satchels so I decided this was necessary) and their capacity has been
buffed to carrying 200 ores instead of 50. People can now shove up to 7
ore stacks into their backpack with this update, so I decided that made
sense.
- .dm file containing ore box code was renamed.
- fixed a bug that allowed you to dupe ores using the ore box ("take"
was called twice when inserting ores by hand)
- Some minor polishing of ore box code, particularly examine code,
interaction feedback, and allowing you to climb onto boxes.
- Ore boxes when destroyed will drop all of their ores, unless there's
too much ore (up to 200 stacks will be dropped). It'll also drop 5
hardwood planks. People who accidentally shoot their box with their PKA,
rejoice.
- You can craft ore boxes using 5 hardwood planks.
## Why It's Good For The Game
Having ores be stackable will greatly reduce lag. Otherwise, QoL changes
good.
## 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: You can climb ore boxes.
qol: Ore boxes will drop their contents when destroyed. You can also
craft ore boxes using hardwood planks now.
balance: Mining satchels can now carry 200 ores instead of 50.
fix: Ore box examines look proper now.
fix: Fixed a bug that allowed you to dupe ores using the ore box.
imageadd: stacks_ore.dmi was added. It holds ore stack stuff.
code: Orebox DM file renamed to ore_box.dm
code: Bluespace crystals are detyped from being ores.
refactor: Ore is now stackable. This will reduce lag when miners are out
causing havoc or shoving ore onto conveyor belts.
/🆑
<!-- 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
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>
## 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>
<!-- 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 did this because some of the old text() uses would cause BYOND Beta
version 515.1607 to no longer compile. (Which is a bug but still an
excuse to finally deal with this)
## Beware
I hastily did this.
## Changelog
🆑
code: Converted all text("[]", foo) to "[foo]"
/🆑
* Painus
* Yep
* Moar
* Let the agony begin
* text.dm
* scramble.dm
* time.dm
* fix
* unsorted.dm
* job_controller.dm
* _legacy
* computerfiles.dm
* events.dm
* global_iterator.dm
* topic_input.dm
* underwear.dm
* uplink
* periodic_news.dm again
* areas
* genes
Also renamed midget to dwarfism as it's a slur.
* changeling
* Cult
* gamemodes
* machinery
* mecha
* effects
* objects part 1
* Fine I'll commit the YAML
* objects part 2
* moar
* atmos
* ooga
* ahrde
* You can tell my sanity is going down
* Second-To-Last Step
* Almost
* Poggers
* nvm we're not ready for that <.<
* Test
* minor
* start
* i hate people who pack shit into one file
* sigh
* regex
* inventory rework
* stubs
* regex
* this is insanity
* oh no
* backend moment
* a
* changes
* wild
* regexing
* changes
* put in hands
* more errorS
* attackby
* more helpers
* replacements
* wild
* fixes
* pain
* fxies
* fixes
* unneeded
* ape
* ape
* wild
* wild
* more
* wild
* there
* fixes
* fixes
* l
* wild
* more
* moer
* fixes
* enough for todayd
* regexing
* long time coming
* shaking and crying
* end me
* fixes
* fixes
* e
* fxies
* rig refactor moment
* fixes
* fixes
* fixes
* fixes
* out with the shitcode
* thanks git
* partial rig rewrite here we go
* more
* fixes
* WWWW
* ok
* wild
* bitfield defines
* nobludgeon
* pain
* pain
* fixes
* more
* wild
* wild
* fixes
* pain
* move behaviorsr
* fixes
* next up, finishing core procs
* y
* .
* time to finish this
* time to finish this
* propagate accessories
* hate this accursed engine
* hate this accursed engine
* pain
* more
* cancer
* epic
* genuinely hate
* wild
* that
* why
* circuitry is my bane
* y
* how
* sort
* logging
* logging
* im dying
* fixes
* next
* f
* more
* epic style
* fixes
* on meta
* fix
* wild
* uh
* quirky
* fixes
* agh
* pain
* fixes
* fix
* sigh
* a
* epic1
* fixes
* ugh
* epic
* fixes
* uhh.
* is this even a fix
* fix
* fixes
* fixes
* we love optimization
* wear over system
* correct
* worn over stuff
* just augments
* coggy
* implant magnetic catch
* implant magnetic catch
* fixe
* a
* g
* t
* fix
* fix
* wack!
* fix
* a
* semantics
* fix
* that
* fixes
* handle denesting
* w
* fixes
* e
* bugs
* fixes
* fixes
* unit tests
* absolutely wild
* fixes
* fix
* fix
* fixes
* on god this is bad
* fixes
* fixes
* fix
* fix
* wacky!
* fix
* wack
* manual
* fixes
* closets
* OOPS
* wack
* pain
* pain
* flags
* regex
* fixes
* wakc
* changes
* more
* augh
* more
* replaces
* more
* that
* acc
* acc
* fix
* fix
* fix
* oh woops that was important
* wack
* epic
Co-authored-by: fake_vm_user <fake_vm_user>
Co-authored-by: VM_USER <VM_USER>