* 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>
* 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
* 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>
* icon group prototype
* prototype v2
* agent id uses groups
* working UI using groups
* UI work, new header
* formatting and misc work
* fix some texture scaling
* aesthetics
* tabs, scrollbar, MinSize
* commit
* commit
* commit
* commit
* Revert "commit"
This reverts commit 8f29ae30c69670c6dc8d5fba3dd6bd98f574830d.
* we're back
* well enough
* Final visuals for the Id (for now)
* code cleaning
* minor cleanup
* self review
* id card system changes
* try index -> resolve
* DisposeAllChildren -> RemoveAllChildren
* fix the id cards
* all pretty
* unneeded
* merge
* Review by Fildrance
* Review by Pok
* fix
* cleanup
* refactor: revert icon setsize changes back to good old '32', made container button be resizable for localization reasons
* jobIconGroup
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
* Remove all IPrototypeManager instances
* Remove redundant IComponentFactory instances too
* Found some stragglers
* DestructibleSystem.PrototypeManager: no dependency
* not based
* Validate string lengths serverside
* Organize usings
* Remove clientside check
* Also remove the cvar caching in the UI
It's one dictionary call, Michael. What could it cost?
* Initial commit
* Include uncertain crew and make it work for AI
* Add new definition to Silicon Rules 8
* Update based on review
* Remove Cluwne from job list
* ProtoIdify
* Update and also make monkey/corgi show IDs
* Remove unnecessary property
* Remove redundant code
* Carrrrd
* cleanup
* Nicer code
* Update to fix the spawn bug + agent ID
* Fix new icons
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* add door control module
* some commentary
* can't eject stuff anymore
* make xenoborg door remote eletrify doors
* clean yml
* anchors and aliases
* not show stuff about id in xenoborg access config
* engi xenoborg can see eletrified doors
* Update DamageableSystem to modern standards
* DamageContainerId -> DamageContainerID with lint flag
* Replace strings with protoids
* Make CVar subscription declarations all consistently whitespaced
* ChangeDamage -> TryChangeDamage, cope with C# jank
* Revert event signature changes
* Restore a comment
* Re-add two queries
* Init the queries
* Use appearanceQuery in DamageChanged
* Use damageableQuery in TryChangeDamage
* Use damageableQuery in SetDamageModifierSetId
* Final cleanup, fix sandboxing
* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage
* Re-organize DamageableSystem
* first big fuck you breaking change.
* THATS A LOT OF DAMAGE!!!
* Fix test fails
* test fixes 2
* push it
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* move to shared
* entity effect to shared
* refactor: whitespaces+xml-doc typo fixups
* refactor: a little bit more of xml-doc typos fixups
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Fix usages of TryIndex()
Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)
This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)
This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.
Fixes#39115
Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.
* fix tests
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add the chameleon controller implant
* address the issues (Git please dont kill me)
* Address the review and fix some merge conflicts!
* Cleanup
* Add use delay
* Silly mistakes
* Making a PR at 2 am: Gone wrong
* Predict use delay and disable the buttons until you can choose another
* First phase custom clothing
* Better system, now relays to agent id and mindshield. Chameleon loadouts are a lot better to work with as well
* Address the review! No more evil goto
* Slams way is better I should have read more closely xD
* Some of the jobs
* Add to Cargo, CentComm, Service, Passenger, Ninja, Cluwne, Wizard + Minor changes to existing; Add chameleon to bandanas, medals, jugsuits and HUDs
* Add everything else
* Fix test
* Job name
* This looks better
* Add department organization
* Minor cleanup
* Added some mindshields
* Remove redudent comment and change funcion name to be clearer
* Fix cluwne outfit
* fix merge conflicts
---------
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
* add a universal ID card to the universal access config
* make the admin access config have infinite range
* now checks for the BypassInteractionRange Tag instead
* Add suggested fix to the AccessOverrider system
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* remove other stuff I added
* another suggested change to avoid weird behaviour where you can use it from a distance
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add id binding system
* Change so it activates when added too
* Add to eventhumanoid
* Add PDA binding, try to fix some things
* Still not fixed, PDA is working right
* Move to server, add on mind instead
* Implement suggestions
* Fix things
* Finish review stuff
* Messed up cluwne
* Remove after only changing id too
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* feat: now when research is unlocked in console, approver of reasearch is radio-ed too
* refactor: now most of events that require actor name to be radio-ed or logged use TryGetIdentityShortInfoEvent which is subscibed by id-card system and borg system (to work for both carbon and synthetic life-forms)
* refactor: moved TryGetIdentityShortInfoEvent on id card system to shared, fixed cargo cent-com-originated orders
* remove unused check
* refactor: decoupled systems from IdCardSystem (those that are not dependent on it anymore)
* refactor: removed unuseed usings
* feat: emagged cargo/research consoles wont radio messages on buy/research confirm anymore
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* add tooltips to agentid job icons
* forgot to stage this
* make StatusIconPrototype abstract
* minor visual improvements
* cleanup
* use currentculture to sort job names
* review
* add LoggingDisabled to AccessReader
* add LogWireAction
* -m give everything besides high-security door a log wire
* make LogAccess public and support string arg
* add log when pulsing
* m
* l
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* THE syndie microwave
* Always burn to explode microwave when copying
* Make it so copying ids stop when the microwave is goign to explode
* Made explosion destroy the board and spit out the machine parts
* Move logic is MicrowaveSystem, make metal cooking use the same logic
* Fix passing the wrong malfunction time
* Shuttle cannot escape aggressive branding
* Always make it explode with an id
* Forgot to invert bool, move it after fry chance