* Explosions
* fix yaml typo
and prevent silly UI inputs
* oop
* Use modified contains() checks
And remove IEnumerable
* Buff nuke, nerf meteors
* optimize the entity lookup stuff a bit
* fix tile (0,0) error
forgot to do an initial Enumerator.MoveNext(), so the first tile was always the "null" tile.
* remove celebration
* byte -> int
* remove diag edge tile dict
* fix one bug
but there is another
* fix the other bug
turns out dividing a ushort leads to rounding errors. Why TF is the grid tile size even a ushort in the first place.
* improve edge map
* fix minor bug
If the initial-explosion tile had an airtight entity on it, the tile was processed twice.
* some reviews (transform queries, eye.mapid, and tilesizes in overlays)
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* is map paused
* GetAllTiles ignores space by default
* WriteLine -> WriteError
* First -> FirstOrDefault()
* default prototype const string
* entity query
* misc review changes
* grid edge max distance
* fix fire texture defn
bad use of type serializer and ioc-resolves
* Remove ExplosionLaunched
And allow nukes to throw items towards the outer part of an explosion
* no hot-reload disclaimer
* replace prototype id string with int index
* optimise damage a tiiiiny bit.
* entity queries
* comments
* misc mirror comments
* cvars
* admin logs
* move intensity-per-state to prototype
* update tile event to ECS event
* git mv
* Tweak rpg & minibomb
also fix merge bug
* you don't exist anymore go away
* Fix build
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* fuck
* oh boy
* Sorted every chem into guide groups
* WHY ARE YOU NOT ABSTRACT
* removes the target thing in favor of simply generating everything.
* eee
* Add group for med
* Update wiki JSON generation to use System.Text.Json
* Fix error on shutdown during wiki JSON generation
* First pass at automatic wiki workflow
* Add a temporary workaround while the build is continuing to give errors
* Update workflow to reference correct API url, track dependency.
* Compile wiki actions into one job rather than two
* Update page name to reference editable page
* Add other JSON file and parameterize root page path
* A few steps closer to using `System.Text.Json` to serialize properly
* Revert System.Text.Json and return to Newtonsoft.Json.
* Revert the revert. Return to System.Text.Json.
This reverts commit a5ea98dfdcfab3f605ac4d82d3b110f099324308.
* Add and register UniversalJsonConverter class.
* Narrow triggers for update-wiki GitHub action.
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Move entity solution entity systems to shared
* Move SolutionComponents to Server
* Fix namespaces
* Remove Networked Component.
* Fixes
* Add components to ignore list
* Rename SolutionContainerCaps -> Capability
* Move IExamine event to Chemistry System.
* ECS the ISolutionChange into SolutionChangeEvent
* Unify SolutionContainer into a single shared component
* Replace ISolutionInteraction with SolutionContainerComponent
* Move all methods from SolutionContainer to ChemistrySystem
* Refactor EntitySystem calls to Dependencies
* Refactor SolutionContainer to SolutionManager
* Fix yamls
* Fix test fails
* Fix post merge issues
* Fix various issues with SolutionManager
* More fixes
* Fix more components
* Fix events not being directed
* Fixes for Hypospray
* Separate removal and iteration on Metabolism
* Fix creampie problems
* Address some of sloth's issues
* Refactors for Systems
* Refactored solution location
* Fix tests
* Address more sloth issues
* Fix dependency
* Fix merge conflicts
* Add xmldocs for Capabilities components
* Remove HasSolution/TryGetDefaultSolution and Add/Remove Drainable/Refillable
* Replace Grindable/Juiceable with Extractable
* Refactor field names
* Fix Drainable
* Fix some issues with spillable and injector
* Fix issues with Grinder
* Fix Beaker having duplicate solutions
* Fix foaming
* Address some MGS issues
* Fix Uid issues
* Fix errors in solution Tranfer
* Fixed some extra values constant values
* Cola is drinkable now
* serv3 in shared pt 1
* beginning of deepclone api
* progress in implementing ideepclone & serv3 in content
* adds target
* its cant hurt you it cant hurt you
* more changes to content.server
* adds dataclasses
* almost there
* renamed & edited entry
* finishes refactoring content to use serv3
* gasmixture runtimes, next: reagentunit
* fucin hell that was an annoying one
* adds flags
* fixes some yaml errors
* removes comment
* fixes generic components for now
* removes todo
actually clones values my god paul
fixes bug involving resolving custom data classes from other proj
renames dataclass
fixes spritecomp
adds WithFormat.Constants support
* adds deepclone to ResistanceSet
* adds a bunch of deepclone implementations
adds a deepclone analyzer (TODO)
adds a deep clone fallback for classes & structs
* fixes a bunch of runtimes
* adds deepclone to entityuid
* adds generator to sln
* gets rid of warnings
* fixes
* argh
* componentdata refactors
* more deepclone impl
* heck me i reworked all of content deepclone
* renames custom dataclasstarget
* misc
* reworks prototypes
* deepclone nuke
* renamed customdataclass attribute
* fixes everything
* misc fixed
* the killcommit
* getting there
* changed yamlfieldattribute namespace
* adds back iselfserialize
* renames everything to data(field/definition)
* ouch
* Fix most errors on content
* Fix more errors in content
* Fix some components
* work on tests
* fixes some customdataclasses
* fuggin shit
* yes
* yeas
* Remove data classes
* Data field naming fixes
* arg
* Git resetti RobustToolbox
* Merge fixes
* General fixes
* Fix startup serialization errors
* Fix DamageContainerPrototype when supported classes or types are null
* Implement construction graph step type serializer
* Fix up construction serialization
* Fix up construction serialization part 2
* Fix null list in technology database component
* Fix body serialization
* Fix entity storage serialization
* Fix actions serialization
* Fix AI serialization
* Fix reaction serialization
* Fix body serialization
* Fix grid atmosphere serialization
* Rename IServ3Manager to ISerializationManager
* Convert every non generic serializer to the new format, general fixes
* Serialization and body system fix
* pushinheritance fix
* Update all prototypes to have a parent and have consistent id/parent properties
* Merge fixes
* smh my head
* cuddling slaps
* Content commit for engine PR
* stuff
* more fixes
* argh
* yes even you are fixed
* changelog fixes
* fixes seeds
* argh
* Test fixes
* Add writing for alert order prototype
* Fix alert order writing
* FIX
* its been alot ok
* Fix the rest of the visualizers
* Fix server alerts component tests
* Fix alert prototype tests not using the read value
* Fix alert prototype tests initializing serialization multiple times
* THIS IS AN AMERICAN CODEBASE GOD BLESS THE USA
* Add ImplicitDataDefinitionForInheritors to IMechanismBehavior
Fixes the behaviors not being found
* Fix NRE in strap component
Good night to the 1 buckle optimization
* Fix clothing component slot flags serialization tag
* Fix body component in all components test
* Merge fixes
* ffs
* Make construction graph prototype use serialization hooks
* human yaml linted
* a
* Do the thing for construction
* stuff
* a
* monke see yaml linter
* LINT HARDER
* Remove redundant todo
* yes
* Add skip hook argument to readers and copiers
* we gamin
* test/datafield fixes
* adds more verbose validation
* moves linter to action
* Improve construction graph step type serializer error message
* Fix ammo box component NRE
* gamin
* some updates to the linter
* yes
* removes that test
* misc fixes
* array fix
priority fix
misc fixes
* adds proper info the validation
* adds alwaysrelevant usa
* Make yaml linter take half as long to run (~50% less)
* Make yaml linter 5 times faster (~80% less execution time)
* based vera being based
* fixes mapsaving
* warning cleanup & moves surpressor
* removes old msbuild targets
* Revert "Make yaml linter 5 times faster (~80% less execution time)"
This reverts commit 3e6091359a26252c3e98828199553de668031c63.
* Add -nowarn to yaml linter run configuration
* Improve yaml linter message feedback
* Make dependencies an argument instead of a property on the serialization manager
* yamllinting slaps
* Clean up type serializers
* Move yaml linter code to its own method
* Fix yaml errors
* Change yaml linter action name and remove -nowarn
* yaml linter please shut
* Git resetti robust toolbox
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Engine namespace changes.
* Automated remove redundant using statements.
* Simplified Graphics namespace.
* Apparently the container system stores full type names in the map file.😞 This updates those names.
* API Changes to LocalizationManager.LoadCulture.
* Update submodule to v0.3.2
* Moves ContainsReagent from SolutionContainer to Solution
GetMajorReagentId from SOlutionContainer to Solution
Makes capability checks use HasFlag
Moves Solution Color calculation from SolutionContainer to Solution
Replaces SolutionContainerCaps.NoExamine with CanExamine
Misc SolutionContainer.Capabilities yaml cleanup
* Moves IReactionEffect from server to shared
* Moves ReactionPrototype from server to shared
* Moves SolutionValidReaction from SolutionContainer to ChemicalReactionSystem
* Moves PerformReaction from SolutionContainer to ChemicalReactionSystem
* Moves CheckForReaction from SolutionContainer to ChemicalReactionSystem
* Removes unused SolutionContainer methods
* Removes now-unused GetMajorReagentId from SOlutionContainer
* ChemicalReactionSystem comments
* Replaces usage of SolutionContainer.ContainsReagent and replaces it with SolutionContainer.Solution.ContainsReagent
* ChemicalReactionSystem ProcessReactions
* Moves ExplosionReactionEffect to shared, comments out server code, TODO: figure out how to let ReactionEffects in shared do server stuff
* Fixes SolutionContainer.CheckForReaction infinite recursion
* Moves IReactionEffect and ExplosionReactionEffect back to server
* Moves ChemicalReactionSystem and ReactionPrototype back to server
* Uncomments out Explosion code
* namespace fixes
* Moves ReactionPrototype and IReactionEffect from Server to Shared
* Moves ChemicalReactionSystem from Server to Shared
* ChemicalReaction code partial rewrite
* Moves CanReact and PerformReaction to Solution
* Revert "Moves CanReact and PerformReaction to Solution"
This reverts commit bab791c3ebd0ff39d22f2610e27ca04f0d46d6b8.
* Moves ChemistrySystem from Server to Shared
* diff fix
* TODO warning
Co-authored-by: py01 <pyronetics01@gmail.com>
* Move chemical reaction effects into Chemistry/ReactionEffects/ subfolder
* Replace hardcoded StomachComponent metabolism with IMetabolizable
The benefits of this approach are that reagent metabolism effects are not hardcoded into StomachComponent, and metabolism effects can be more easily chained together in yaml prototypes, and reagents can have different metabolism rates. One problem with this approach is that getting metabolism rates slower than 1u / second is impossible. Implementing #377 should resolve that problem.
* Fix DefaultFood and DefaultDrink so they remove reagent regardless of Hunger/ThirstComponent presence
Previously if neither of those were present the reagents wouldn't be removed from the stomach. This fixes that.
* Additional comment on function
* Make metabolizer interface implementations explicit
Also removed some unused using statements
* Make StomachComponent._reagentDeltas readonly
* Fix misleading variable names and docs for metabolizables
Changes one of the arguments for `IMetabolizable.Metabolize()` to be called `tickTime` instead of `frameTime` to more accurately reflect it's purpose. It's not really the frametime, but the time since the last metabolism tick. Also updated and expanded the docs to reflect this and to be more clear.