* would you rather have infinite traitors but no game or infinite game but no game
* whitespace of doom
* also don't need that anymore!
* I'm fucking stupid actually :P
* fix that bug before someone else has to dive it in 2030
* pish
* merge my fixes!!!
* Initial commit with shredder base functionality
* Fix items being deleted and make items continue moving after a grid tile gets deleted
* Make a bunch of previously unpullable/unrecyclable things work
* temp commit
* Fix the recycling hitbox to actually be good code
* Fix material spawning via tiles
* Finish up the prototype visuals for the shredder
* SHRED EVERYTHING
* Add reduced efficiency for recycling with shreder
* Fix miss in conflict merge
* Make more things pullable
* Update shredder textures to look different to recyclers
* Remove unused
* "fix" repairability and sprites
* Update sprites, set up TODO-s
* Fix switches, description
* Fix up some comments
* Add "Do Not Map" to the smelter
* Add to meta.json
* Review fixes
* Review changes
* Review changes
* Remove readonly in new system
* Aaaand partial class
* Fix the final test issues
* Update and resolve merge conflicts
* Update the impulse strength to match new mass values
* Fix issues after merge conflict
* Update size, fix physics resolve errors, prevent computers/circuitboards from being deleted
* Review comments
* Fix tiles giving steel
* Add a todo about tilestacking
* fix ancient 2022 ghost test failures
* remove my logs
* update the comment to be accurate
* remove braces
* better loggeewafsafasafsafsfasfasfasafs
* What does bro even do?
* Scope creep my ass
* why was this shit not pushed????
* gone...
* fix that
* review plus buildd
* asfsafsafsafsafas
* grug
* burber
* I'll fix this later
* shrimply die
* also this
* it's snerf or snuthin
* assaads
* round snend
* aaaa
* fix this shit for real
* actually, don't start GameRules until MapInit now that I think aboot it.
* forgot u
* don't actually need this part nullable
* Deffer comp removal
* one liner
* do that too
* chungus
* Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?)
* deferred removal :V
* aaaaaaaaaaaaaaa
* whhop
* Whoop
* better
* landmine that I placed for myself then forgot about lmao
* cleanup
* FUCKING `!`
* gotovo
* amogus
* please don't check by metadata I beg
* waawsasfdfsasfa
* sfafsasfafsas
* fdsaasffsasfa
* code
* fix
* fasasffasfasfsad
* chungaas
* I may be stupid
* gra
* graaaaaaaaaaaaaaaaa
* comment
* gra
* clearing is not predicted and would require major refactors, so don't cache on client.
* lame shit :P
* last holes
* nukeopsfsafsasafsfafsa
* why was that shit public bruh
* bubrbgwahrghfaka
* dynamic
* revert change that did nothing lmao
Since #45062 the zap chain also covers whatever the target is buckled
to or pulled by, and TryRevive spoke its diagnosis for every one of
them. A patient on a bed therefore got an "inanimate object" warning
about the bed. Keep the chain heal/shock, emit the message only for
the original target, and cover it with an integration test.
* init
* further work
TODO:
- Sprite
- Fix sound playing if item(s) were removed
* work work work
TODO:
- Sprite
* clean
* sprite
* yeah
* guh
* multi item support
* Update ForcedItemStatusEffectComponent.cs
* review + balance i dk
* HOTFIX TeleportActionSystem map coords (#45659)
* Fix target map coords
* Improve performance
* Bonus improvement
* refactor: updated changelog
* refactor: fix changelog entry
---------
Co-authored-by: Fildrance <fildrance@gmail.com>
* [HOTFIX] fixing chameleon projector (#45689)
SpriteSystem.CopySprite instead of direct Copy Component
* Hotfix - Grappling gun assuming either end has physics component (#45683)
a can of monster does miracles at 4am
* Hotfix: Return hunger slowdown back to Starving from Peckish (#45693)
move hunger slowdown back to starving
* HOTFIX Set AI camera static to accessible variant by default (#45673)
* disable AI static
* comment
* [HOTFIX] Prevent Off-Station Objective Targets (#45692)
* init
* targets
* attempt 1 at this
* init
* rename file
* dont roll unkillable antags for kill objectives
* refactor: do not allocate on MindGetAllAntagTags when fail to get MindComponent, remove unneeded linq
* refactor: cleanup and added test for new condition. might be oddly specific but...
* oversight
* refactor: test cleanup after review
* refactor: fix changelog (AGAIN GOD DAMMIT)
* refactor: revert changelog thing, make it separate PR
---------
Co-authored-by: Fildrance <fildrance@gmail.com>
* [HOTIFX] Changelog actualisation for stable release (#45738)
* [HOTFIX] fix: make changelog discord publication not fail on missing 'labels' (#45779)
fix: make changelog discord publication not fail on missing 'labels' tag in changelog entry (which does not exist).
---------
Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: xsainteer <156868231+xsainteer@users.noreply.github.com>
Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
* init
* targets
* attempt 1 at this
* init
* rename file
* dont roll unkillable antags for kill objectives
* refactor: do not allocate on MindGetAllAntagTags when fail to get MindComponent, remove unneeded linq
* refactor: cleanup and added test for new condition. might be oddly specific but...
* oversight
* refactor: test cleanup after review
* refactor: fix changelog (AGAIN GOD DAMMIT)
* refactor: revert changelog thing, make it separate PR
---------
Co-authored-by: Fildrance <fildrance@gmail.com>
* refactor: entity table condition injection and hierarhical condition checks
* refactor: rename IsNotRepeatingCondition into ExcludeEntitiesFromContextCondition, simplify EntityTableSelectorWithChildrenBase.CheckConditions logic, + new test
* refactor: fix test using old name of condition
* refactor: renaming
* refactor: fix no condition + RequireAll case and added test
* refactor: GetSpawns no more virtual
* refactor: more tests!
* refactor: use ScopedConditionsRestore for child conditions in EntityTableSelectorWithChildrenBase, not for current type conditions
* refactor: extracted notify-on-non-functioning feature from emitter component
* refactor: revert server side PowerStateSystem usage of SubscribeLocalEvent - it is not calling base Initialize, skip SetWorkingState raising event on init
* refactor: ensureAPC is now conditional for powerstate
* refactor: fix double notifiation on destruction and on un-powering for emitter
* refactor: added LocTurnedOff for NotifyOnNonFunctioningComponent, fix double alert on destruction, removed emitter-deconstructed-broadcast as it is unused (cannot deconstruct withou unanchor)
* refactor: modernize server PowerStateSystem subscription
* refactor: update and modernize PowerStatePrototypeTest
* refactor: give APE specific radio message upon unlocking
* refactor: extracted PowerStateSystem.SetPowerLoad to split init from triggering is-working change event
* Update Content.Server/Power/EntitySystems/PowerStateSystem.cs
---------
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* flerp
* pr comments: mostly comment editting, but also add one missing dirty for alerts
* force basesateffect to run update on first load
* I have ridden the mighty moon worm
* oh good, it just didn't work before :)
* oop
* Remove TCS for constructioncomponentvalid
Shaves 1m of test time off of my PC can't imagine how much for gh runner.
* refactor: modernize ConstructionPrototypeTest.ConstructionComponentValid a tiny bit
---------
Co-authored-by: Fildrance <fildrance@gmail.com>
* Make every EntitySystem partial
* Oobs thats for a diff PR
* Also oops on that one
* Test systems
* git are we fr
* Update file templates
* cleanup empty classes while we are here
* forgor
---------
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
* Fix#42713 - refactor UnlockStateIncrementPerNode to allow sibling nodes to count towards time adding
* Only one foreach loop needed
* removed unnecessary variable
* whoops
* Remember that triggering the 'unlock target' node shouldn't count as failing the unlock!
* previous fix was incorrect
* refactor: whitespaces, unused usings and cleanup
* refactor: tests for special unlocking case timer
* refactor: fix namespaces for SharedXenoArtifactSystem after merge with master
---------
Co-authored-by: Fildrance <fildrance@gmail.com>
* component outline
* System port
* super bonk detour
* working good!
* relay changes
* the death of clumsy
* why it stop working??
* now to test it
* tested it
* Actual genuine tests
* final checks
* buff up catch test
* annoying test fail
* refactor: minor whitespace and var rename changes
* refactor: changed comments on top of methods to xml-doc for ClumsyStatusEffectSystem
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
* refactor: small selection of tests for EntityTableSystem
* refactor: extract variables, format indents in Prototypes string use proxy SProtoMan property
* ready
* oop forgot the HUD stuff
* woooo examinable generalized tooooo
* oop I forgot to rename the files
* bungled the merge, I guess
* this is called hubris
* Verin's comments
* PR comments
how did I use `ProtoId<> Hunger` in more than a few spots but then just say "thirst can stay a literal :^)"?
also changed a few spots to my beloved
```
functionInvocation(
one
param
per
line
)
```
```
* Satiation effect condition now with ADDED FUNCTIONALITY?? :o
* tfw you trust the markov chain recommendation because long generic type names are tough q-q
* TFW YOU TRUST THE MARKOV CHAIN BUT IT DOESN'T UNDERSTAND THE DIFFERING SEMANTICS OF MAX AND MIN AHHHHH
* tfw you think to yourself "i need to fix the effects", but then forget to and the code doesn't even compile.
* centralize satiation constants
* other small comments
* The enum is dead.
But at what cost?
* oop
* like 12 more ooperses
* green checks are mine by right; I have performed the rites; I have done my part; you will not deny me this succor
* oops I changed the semantics from `<=` to just `<` and didn't update the tests :)
* serialization has bested me :agony:
also PR comments
* never trust the auto merge :agony:
* literally just this
* force engine back to master because idk why it's different
* fix randomness and update master
* submodule fuckery
* fall before my might
* okay I ran the linter, ARE YOU HAPPY??
* cursed ovis, trouble me no more
* protoman stuff
* inb4 linter bonks me
* break non-critical stuff from the main satiation proto
* 
inb4 this breaks something somewhere lmao
* my two greatest PRs COLLIDE
I wonder why robust says it's changed :hmmclueless
* sanity is at an all-time low
* serialization, I guess
* I don't believe you
* field deltas on class \w*satiation\w*components
* PR comments
* 我做泥團子 😔
* doc + kill one property that's trivially accessible after the threshold caching changes
* fixes
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
* Job weight rework
Instead of global job priorities we do:
- Fill up minimum job slots first by priority. Has same-department / anyone / never fallbacks.
- Players get their jobs by pref, filling up up to roundstart values on gamemapprototype (AKA maximums)
Default weights are used if the map doesn't specify.
* a
* I square to god
* better
* VendingMachineComponent upd
* move components
* small fix
* move some fields to VendingMachineEjectComponent
* move some fields to VendingMachineVisualsComponent
* fix
* move some fields to VendingMachineDispenseOnHitComponent
* move NextEmpEject to VendingMachineEjectComponent
* upd
* split shared system to eject
* no more dummies for name
* fix contraband inventory
* small fix
* and again
* move VendingMachineDispenseOnHitComponent to server
* upd dispense
* upd
* move visuals to client
* fix
* move canshoot to server
* fix client
* fix
* upd
* fix merge
* fix
* upd1
* afterhandlestate
* upd
* more docs and protoid
* upd visuals
* upd components
* reorganize
* Entity<>
* revert AfterAutoHandleState
* Tram!
* add tram to test file and add prototype
* fixed prototype
* fixed map and prototype
* small changes
* changed dorms and tool room
* Ready for review.
please dont be too harsh i will cry
* Various fixes
medical front, sci front. edited some maints. fixed cramped atmos. added warden bedroom
* small updates
* new maints rooms and small fixes
* i hope this doesnt break anything
* i dont think anyone reads these
* renamed everything
* Firelock 198X is a fun game
tiles under doors, fixed airlock access in parts, more maints stuff. tried to fix tram air
* still no idea how many people belong on this station
* Genpop, silos and more!
* Fixed Sec and atmos pipes
* i am a fool
* sec entrance to genpop. more engi parts and tram adjustments
* everytime i fix something i break something else
* small fixes and tram stuff
* added turrets and attempted to fix mail system
* Resolved most issues from playtest and changed prototype
* small changes
* minor tweaks
* More small fixes
* changes from feedback
* colored pipes
* redid turrets
* small fixes
* chem, comm and other changes
* someone else might need to finish this
* air and power fix in sec
* fixed vault and minor firelocks around the station
* lawyer and map test/pool
* bugfixing
* maint and misc changes
* no more diy teg
* tram speed limited
* changed job roster adn added Tram Driver spawn
* im an idiot
* final changes
* fix tests
* fix tests for real this time
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* real
* ill add reporter to marathon soon
* haha emisse doesn't know the roles mapped on the map everyone point and laugh at her
* Update the Wizden maxpop count
---------
Co-authored-by: emisse <99158783+Emisse@users.noreply.github.com>