* Fix angry bees in a worn backpack gibbing the player
* Properly handle being contained in a container that does not have EntityStorageComponent
* Delete YAML reference to removed property
* Remove redundant check, rename field to feedback
* fix mice not eating despite being hungry
* Update Content.Server/NPC/Systems/NPCUtilitySystem.cs
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
* do same fix for thirst
---------
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
* 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>
* Hope I'm not forgetting anything...
* They call me the sender the way I'm sending it.
* remove commented out YAML
* last of the slop
* fix test fails
* first batch of test fails
* no more test fails
* make cryo pods work again.
* Make cryo work better-er
* I didn't like that a firesuit helmet was so effective on its own so I decided to be a dick about it.
* review.com
* oop
* actually real quick do this
* fix YAML issues
* IHeatContainer my beloved <3
* borger
* not networked :(
* jackets
* burgeewqjfrwjkhaskfjfsahjkfsahjkfsahjkfsajhkfsa
* utter yaml nonsense
* phishing
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Axes the easy IMapManager references
* Axes the references to unported (obsolete) IMapManager methods
* Converts salvageruler command to a LocalizedEntityCommand so it can use SharedMapSystem
* Removes IMapManager from GameTicker
This required axing the map nuke during restart, but that should be fine?
Maps are entities so EntityManager.FlushEntities should delete them all and that's the preceding line
* submodule update(?)
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Remove all IPrototypeManager instances
* Remove redundant IComponentFactory instances too
* Found some stragglers
* DestructibleSystem.PrototypeManager: no dependency
* not based
* Do a prepass on entities and fixtures
* Add an early exit on proxy intersections
* Redo styling and formatting
* Formatting redo
* Readd moved comment
* Respace comment
* Whitespace
* Initial commit
* Added pods
* Transit tubes should no longer connect with disposal pipes
* Updated the transit tube sprites
* Revisited how the transit tubes work
* Fixing merge conflict
* Updated sprites
* Simplified disposal component collections and updated yaml
* Moved the majority of the disposals code to Shared
* Move disposed ents via physics
* Disposal unit now use generic visualizers
* Followers of disposed entities have predicted movement
* Made BeingDisposedSystem shared
* Added documentation for some components
* Code clean up
* Removed unneeded container entries, tubes use directions instead of angles
* Many EntityUid/Comp -> Entity<Comp> changes
* Updated DisposableSystem
* Review of DisposalTubeSystem
* Review of DisposalUnitSystem
* Review of DisposalSignalRouterSystem
* Unit updates
* Fixing merge conflict
* Merge conflict resolved
* Re-organization of systems and components
* Allow trapped entities to escape endless loops
* Fix for item ejection
* UI updates
* Minor tweak
* Fixes for transit tubes
* Removed placeholder sprite
* Removed transit tubes (for now)
* Moved exit stun time to DisposalHolderComponent
* Added a limit on the amount of damage that can sustained from disposals travel
* Fix for PVS-related sound issues
* Added a limit on the number of entities that can be inserted into units
* Clean up
* Undid file scoping
* Fixed test fail
* Fixed test fail
* Increased min default capacity of disposal units
* Fixed audio spam occurring when dumping multiple items into a disposal unit
* Tile prying now occurs whenever exiting an open pipe
* Prevent attacking and interactions while traveling through disposals
* Added generic verbs for entering/exiting disposal units
* Fixed UI prediction bug
* Bug fixes
* Small improvements
* Moved the disposal holder prototype from the disposal entry to the unit
* Minor clean up
* Added support for a disposal holder despawn effect
* Added prediction guard
* Test fail fix
* Re-added new escape behavior
* Removed outdated PVS code
* Clean up
* More escape behavior changes
* More clean up
* Updated exit selection logic
* Bug fix
* More clean up
* Split up disposal unit code
* Cleaned up disposal units some more
* Adjusted exit throw distance
* Capitalized disposal and mailing unit window titles
* Bug fixes
* Taggers and routers show existing tags when the UI opens
* Fixed test fail
* test fail fix
* Minor performance improvement
* Minor improvement in pathing
* merge conflicts
* Fix heisentest
* Fixed mispredict
* Updated system referencing conventions
* Updated to account for changes made to the code
* Attempting to fix submodule issue
* Addressing test fails
* Additional fixes for tests
* Addressing reviewer comments
* Cleaned up exit randomization
* T-ray can see disposal pipes when in 'pipe' mode
* Fix for flush animation flickering
* mild thing
* fix both
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* ugh
* Pathfinidng to bins w/target.. figuring out inserting
* yea i dont know why this shit dont work
* finally got this shit working lmao
* cleanup stuff
* cleanup more
* do radius better
* removing unnecessary tags
* refactor to be more reusable
---------
Co-authored-by: Jessica M <jessica@maybe.sh>
* Medibot doAfter and some other improvements
* Clean-up
* Review fixes
* the army of medibots chasing someone is really funny
* misc cleanup
---------
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Entity<T>, skipping Magazine and ChamberMagazine
* missed some
* AUGH!!
* ballistic examine
* dotnet hates me
* WHY ARE YOU CALLED THAT!!!!
* cheers aada
* 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>
* kudzu edible, food htn starts at peckish, no nutrition needed for npc to eat
* fix kudzu tags
* remove old stomach 2 from ruminant body
* make kudzu nutrition non-zero
* skip targeting food if nutrition is zero
* move edible from baseKudzu
* LOCKED THE FUCK IN
* Forgot this little fella
* Crying
* All entity effects ported, needs cleanup still
* Commit
* HEHEHEHAW
* Shelve for now
* fixe
* Big
* First big chunk of changes
* Big if true
* Commit
* IT BUILDS!!!
* Fix LINTER fails
* Cleanup
* Scale working, cut down on some evil code
* Delete old Entity Effects
* Accidentally breaking shit by fixing bugs
* Fix a bunch of effects not working
* Fix reagent thresholds
* Update damage
* Wait don't change the gas metabolisms A
* Cleanup
* more fixes
* Eh
* Misc fixes and jank
* Remove two things, add bullshit, change condition to inverted
* Remove unused "Shared" system structure
* Namespace fix
* merge conflicts/cleanup
* More fixes
* Guidebook text begins
* Shelve
* Push
* More shit to push
* Fix
* Fix merg conflicts
* BLOOD FOR THE BLOOD GOD!!!
* Mild cleanup and lists
* Fix localization and comments
* Shuffle localization around a bit.
* All done?
* Nearly everything
* Is this the end?
* Whoops forgot to remove that TODO
* Get rid of some warnings for good measure...
* It's done
* Should make those virtual in case we want to override them tbqh...
* Update Content.Shared/EntityEffects/Effects/Botany/PlantAttributes/PlantDestroySeeds.cs
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
* Fix test fails real
* Add to codeowners
* Documentation to everything
* Forgot to push whoops
* Standardize Condition names
* Fix up metabolism a little as a treat
* review
* add IsServer checks
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
* - hugbot
- bdy with two arms because it needs two arms to hug
- is constructable from:
- box of hugs
- proximity sensor
- two borg arms
- lots of voice lines
- kinda like a medibot, it chases you down and then hugs you
- except if it's emagged, then it punches you :)
- it has a 2m cooldown per person by default
- MeleeAttackOperator
- Read the doc, but it's an operator which makes the NPC hit a target exactly once assuming it's in range.
- Used to make the hugbot attack
- RaiseEventForOwnerOperator
- Read the doc, but it's an operator which raises an event on the owning NPC.
- Used to make the hugbot hug extra code, specifically for the cooldown
- Changes to existing code:
- `ComponentFilter : UtilityQueryFilter` gets `RetainWithComp` added which, as the name implies, retains entities with the specified comps rather than removing them. Basically, it lets you negate the filter.
- `SpeakOperator : HTNOperator`'s `speech` field can use a `LocalizedDataSet` instead of just a locstring now
- (I updated all of the existing usages for this)
-
* two arms
* wait what if we just used mimebot arms so it doesn't look awful
* smort
* Shelve
* 22 file diff
* What if it was just better
* Hold that thought
* Near final Commit, then YAML hell
* 95% done with cs
* Working Commit
* Final Commit (Before reviews tear it apart and kill me)
* Add a really stupid comment.
* KILL
* EXPLODE TEST FAILS WITH MY MIND
* I hate it here
* TACTICAL NUCLEAR STRIKE
* Wait what the fuck was I doing?
* Comments
* Me when I'm stupid
* Food doesn't need solutions
* API improvements with some API weirdness
* Move non-API out of API
* Better comment
* Fixes and spelling mistakes
* Final fixes
* Final fixes for real...
* Kill food and drink localization files because I hate them.
* Water droplet fix
* Utensil fixes
* Fix verb priority (It should've been 2)
* A few minor localization fixes
* merge conflict and stuff
* MERGE CONFLICT NUCLEAR WAR!!!
* Cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Properly cache regexes in chat sanitization/accents
Wow I wonder if `new Regex()` has a cost to it *looks at server profile*.
* Avoid lag caused by Tippy command completions
CompletionHelper.PrototypeIDs explicitly says *not* to use it with EntityPrototype. Unsurprisingly, reporting a completion result for every entity prototype in the game is a *bad idea*.
* Add active count metrics to some high-load systems
Mover & NPCs
I suspect the thing that caused the Leviathan round to shit itself on performance is NPC spam in space or something. So let's verify that.
* Enable parallel processing on pow3r again
Originally disabled due to a theory of it causing bugs, it was re-enabled on Vulture, and I'm not aware of it having caused any issues there.
* Replace hashset with bitflags for AtmosMonitor alert types.
Allocating these hashsets was like 20% of the CPU of atmos, somehow.
* Cache HashSet used for space movement collider checks
Turns out this was a ton of server allocations. Huh.
* checkpoint
* pt 2
* pt... i forgot
* pt 4
* patch
* More test fixes
* optimization!!!
* the REAL hand system
* fix RetractableItemActionSystem.cs oversight
* the review
* test
* remove test usage of body prototype
* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* hellcode
* hellcode 2
* Minor cleanup
* test
* Chasing the last of the bugs
* changes
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>