* 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
* Removes HasFlag usage in SolutionContainerComponent
Co-authored-by: py01 <pyronetics01@gmail.com>
* Fix SpawnEntitiesBehavior crash and add test
* Fix comparer, add duplicated behavior
Turns out this isn't Java
* Threshold behaviors are now "linearly" executed
* Fixes YAML threshold behaviors to be linear
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Revert "Make handheld explosives affect tiles (#2806)"
This reverts commit 005e142949.
* Fixes tiles being destroyed under walls by an explosion
* Extra imports removed
* Handles explosion in space and different grids
This handle explosions across different grids, and tiles are still protected if there is an entity airtight and currently blocking air on top of them that survived the explosion.
* Some bug fixes
- The way tiles were being protected was silly.
- Big explosions cause a lot of objects to trigger multiple events and at the same time they are destroyed.
- Explosions spawning inside containers like closets work now.
* Range bug fixes
* Explosive
The explosion works even if the entity exploding is inside multiple 'layers' of containers like.
bomb -> survival box -> tool box -> closet
* Explosions are different now
Explosion can't jump over walls now.
Explosions work like rays now, if an explosion breaks a wall it can scatter inside the room.
If entities are behind impassable entities that survive the blast they are left unscathed.
* Little fix
* Remove the extra lookup of tiles
* Another small change
* Restore the second lookup
I thought this was extra, but this protects the tile under it if there is an Impassable entity on top. None wants anchored girders on top of lattice/space
* Changing order of conditions
IsBlockedTurf is cheaper to run than InRangeUnobstructed.
* Yep
* Clothing & Gender fields: Add to database [MODIFIED TO NOT DEPEND ON SAPHIRE-DB-REFACTOR]
Sorry about this, Saphire.
* Clothing & Gender fields: Add UI [FALLBACK II]
* Clothing & Gender fields: Actually apply gender
* Clothing & Gender fields: Import innerclothingskirt field from my previous attempt
Couldn't import actual prototypes because of a change to IDs
* Clothing & Gender fields: Add innerclothingskirt field to everything
* Clothing & Gender fields: Jumpskirts now work
* Clothing & Gender fields: Gender field will follow sex field if it's not different (UX improvement) [FALLBACK II]
* Clothing & Gender fields: Gender -> Pronouns to reduce confusion. Also, fix profile summary. Properly. [FALLBACK II]
* Clothing & Pronoun fields: Refactor so that profile equipment adjustments are performed in StartingGearPrototype.
If you are holding the explosive in your hard or inventory, this should make affect the tiles around you. At the moment it only affects entities. I will refactor this class a little more.