* Update for new render API
- Fix mob movement incorrectly causing rotation lerps sometimes.
- Update API calls to use the new render-specific methods.
* Thanks rider
* augh wrong event
* Buckle, vehicle, and mover fixes
* Rename render poses to render transforms
* garbage
* adjust fields of meal recipe prototype
* document microwave recipe datafields
* use file scoped namespace for microwave recipes
* more of this
* localize every microwave recipe
* make microwave system shared
* refactor recipe reagent contents
* refactor recipe solids + add material ingredient datafield
* im making this a bit less silly
* awa
* move this shit out
* move this shit out also
* refactor Wzhzhzh
* im gonna shorten this parameter by 1 actually
* move this into recipes
* make processcontents a little better(?)
* clean imports
* rename a struct
* use cooking ingredients struct
* comment
* use whitelist for this
* unused dependency
* rearranged the parameters of get recipe portions
* rearrange some stuff
* clean up more imports
* move container related functions into separate file
* move this function out of ProcessContents
* prevent microwaves from having items inserted while active
* use IsPowered in microwave system
* use byref syntax and Entity<>
* moving the override up
sorry i like it being up here
* refactor microwave updating
* clean up recipe finish logic
* im renaming this function actually
* move some functions around
* move more stuff around
* some comments
* fix compiler error
* fix the yml of all microwave recipes
* use materials instead of solids for this stuff
* oops
* fix this
* turn microwave sparks into datafield
* move activelymicrowaved events into separate folder
* make UpdateUserInterfaceState use entity only
* rearrange some functions
* move UI functions out
* comment microwave UI stuff
* more comments
* comment recipe functions
* refactor GetTotalIngredients to use an operator
* give CookingIngredients addition methods
* comment the rest of CookingIngredients
* make subtraction functions clearer?
* remove redundant comment
* handle zero/negative ingredient cases
* simplify subtract contents logic
* fix these comments
* typo
* add microwave recipe test
* move active microwave methods
* comment active microwave methods
* comment cooking methods
* comment microwave methods
* change setappearance to use entity<>
* add some public api decorators
* comment all of MicrowaveComponent
* use file-scoped namespace for MicrowaveComponent
* comment
* fix baguette sword
* maybe...?
* oh oops
* document the rest of the owl
* kill the massive YML breaking change
* fix protoman dependency
* move shared microwave stuff to SharedMicrowaveSystem
* fix usings
* move microwave components to shared
* fix up microwave datafields
* move APIs to shared
* move activemicrowave methods to shared
* initialize on shared
* move ui functions to shared
* add actor here
* stuff
* predict microwave update loop
* make clientside microwave system
* adjust the update loop for microwaves
* clean up
* add field deltas to microwaves
* dirty fields instead of whole component
* move this to the partial
* move GetRecipesForMicrowave to shared
* comments
* predict microwave BUI
* oops
* refactor microwave bui update
* move UI messages to shared
* move messages to UI file
* move init to shared
* move container methosd to shared
* oops my using
* move cooking functions into partial
* move cooking methods to shared
* move microwave recipe methods to shared
* move the rest of the microwave events to shared
* update imports
* remove custom type serializer
* better (?) microwave UI prediction
* fix list notations
* OK IT WAS THE DATAFIELDS
* add IOC inject
* dont use IOC for htis
* sealed
* prediction fixes pt1
* make microwave cooking updates more consistent
* datafield tweaks
* test for multiple portions in microwave recipes
* test for multiple recipe portions
* better(?) prediction for malfunctions
* remove redundant comment
* prevent solution reactions in microwave
* cleanup some microwave stuff
* eh i think this should be container actually
* this can be API i think
* reduce system redundancy
* this has to be public
* use resolve pattern for explode
* use GetMicrowaveContents in microwave system
* this can be an API too
* add conversion script for unlocalized recipes
* use EnsureComp instead of AddComp
* suffering
* fix recipe prediction
* fix the audio
* reduce redundant networking
* i think this should be autopaused?
* nevermind we use dynamic portions in the test
* oops i wrote the test wrong
* make lemoon cake take 2 lemoons again
sorry test fail
* rename "materials" to "stacks"
realized theyre different
* add stack guidebook quantities
* Kill audio
* fix lemoon cake recipe for real?
* mark PortionedRecipe as a datadefinition
* fix the microwave timer
* review
* cleanup
* Update SharedMicrowaveSystem.Recipes.cs
* update
* add audio params
* review: inject microwavesystem
* review: named variable
* review: move dependencies
* review: use gametest for recipe test
* review: make access attributes standalone
* rename prototypes and datafields
* review: rename this var
* review: move this function down
* review: remove these scripts
* actually this should stay
* refactor cook time buttons
* review: use a color name for this
* fix timer reset
* Dirty
* review: make ActivelyMicrowavedComponent networked
* review: slarti comments part 1
* review: remove serializable attribute from CookingIngredients
* rename file
* review: more microwave audio boilerplate. yippee!
* review: use resolve pattern for TryGetStackId
i dont like the way this makes the rest of the code look but we ball maybe. i dont know what else to do here
* review: move ui update to constructor
* review: kill LastCookUpdated
* actually i do this instead
* fixed up the PR
* cleanup
* ///
* Update microwave.yml
---------
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
* refactor: EntityTableContext methods now use strongly typed keys, which are bound to type of value you want to extract from context.
* refactor: remove unused attributes
* refactor: extracted EntityTableContext into separate file, fixed xml-doc
* Solving #43723 by making zombies clumsy (they are unable to hold anything in their hands, passing items to them will fail).
Also made zombies uncuff themselves whenever they transform (seeing as they no longer lose their hands meaning that cuffs would otherwise remain on them)
* Cleaning up the code
* Renamed ClumsyHoldStatusEffectComponent.cs to ClumsyGrabStatusEffectComponent.cs (and renamed associated files).
I think "ClumsyGrab" works better than "ClumsyHold" (as the effect happens when the item is first grabbed, not whilst the item is being held).
everything still works
Reordered appropriate functions in ClumsyStatusTest.cs and ClumsyStatusEffectSystem.cs to retain alphabetical order.
* oopsies :p
* Appeased the YAMLLinter (at the cost of a somewhat hackier implementation).
ZombieSystem.Transform.cs now applies the zombie clumsiness via creating a new PermanentStatusEffectComponent with StatusEffectClumsyZombie as its status effect.
* requested changes have been made
(also re-added newline to end of clumsy-component.ftl because it has a newline at the end of it on the master branch, I guess it's probably supposed to be there)
* reordering so private members (including new one) are before the internal member
* hands are forcibly emptied - even if something's glued to them.
* UnZombify should remove the lingering ZombieClumsy status effect
(still needs to revert the rest of the zombification process, but at least the new bit I added can be undone)
* Minor refactor of my own refactor. New order of operations:
1. Uncuffs zombie (if needed)
2. Attempts to `DropAll` items from hands
3. Iterates through hand containers to empty them (removes otherwise unremovable items from hands)
Will refactor process to force drop all items if #45844 becomes implementable + is merged.
* formatting
* how the hell did the metabolizer code go missing!?
* uncuffing now happens in a safer way
less likely to accidentally infinitely loop
* tweaking that one comment I was asked to tweak (this is unrelated to the hand malarkey)
hopefully it won't lead to any merge conflicts later on
* formatting
* file style
---------
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
* 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>