* Data-driven NPC behaviors
* Nuked AiLogicProcessor
* BehaviorSets are now all stored in yaml (might try making actions also yaml someday)
* Added a test to validate all BehaviorSets
* Might also try pooling actions in the future to reduce allocs but that'll be way down the line (cough physics).
* Forgot to re-add sorting nothing suss
* Remove last references
* Proper vector2i serialization for tile atmos (#3266)
* update map files
* update submodule
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
* Remove weird "S" jumpsuit from existence (#3267)
* Change character names to use datasets prototypes (#3259)
* Remove old name lists in .txts
* Fix tests
* LATEST MASTER TECHNOLOGY
* Converts AdminMenu to partially use XAML (#3231)
* Cleans up Hydroponics content. (#3025)
* Adds to IgnoredComponents.cs
* Jackboots
* Half Done
* Moved to diff PR
* Everything functional
* Fixed Sprays
* Nice
* Fixed
* Update submodule
* Fix tests
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Stacked sprite visualizer (#3096)
* Add Stack Visualizer
* Add cigarette pack resources
Adds transparent layers for visualizing cigarettes
* Add Bag Open/Close Visualizer
So storage opened in inventory can have different icons when opened
or closed.
* Create a component that only enumerates single item
Used for creating stuff like matchbox, or cigarettes. As a bonus.
It will only update stack visualizer for that particullar item.
* Refactoring stuff
* Fix other usage of stack in Resources
* Add docs
* Apply suggestions from code review
Apply metalgearsloth suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Applied suggestions from metalgearsloth
* Changed SingleItemStorageComponent to StorageCounterComponent
Difference. New component doesn't spawn items, merely counts them.
* Refactored StackVisualizer
* Fix breakage with master
* Update Resources/Prototypes/Entities/Objects/Consumable/fancy.yml
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update with MGS suggestions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* ApcNet updating fix (#3078)
* GridPowerComponent
* ApcNet Powered update bugfix
* PowerTest fix
* Add GridPower to Saltern
* test fix
* Update canceling cleanup
* code cleanup
* nullable & code cleanup for test
* undo power test nullable
* Replaces GridPowerSystem with ApcNetSystem
* build fix
* Update Content.Server/GameObjects/EntitySystems/ApcNetSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Change all XAML to use spacestation14.io namespace (#3277)
* fix pizzaboxes (#3291)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
* Spikes fix reopened (#3203)
* DoAfter, dead and stun check, DragDropOn
* Not ignored anymore
* Copied comment deleted
* Herbert's an ass
* Woops
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Make component states dependant on the player getting them (#3280)
* Make component states dependant on the player getting them
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Updated submodule to v0.3.7.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Acruid <shatter66@gmail.com>
* Hoe fix (#3296)
* Initial (#3297)
* Sort reagent dispenser entries (#3272)
* Sort reagent dispenser entries
Saves manually doing it.
* zumzum's suggestion
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Made firelocks damageable & destructible (#3303)
* Move job priority enum parity test ot unit tests (#3300)
* Spill hand contents when dropping them in a fall (#3304)
* Spill hand contents when dropping them due to falling down
* Better approach
* cleanup
* grammar
* stupid
* PauseManager moved to Shared (#3288)
* Namespace changes for moving IPauseManager to shared.
* Namespace changes for moving ITimerManager from Timers to Timing.
* Rebase Fixes.
* Update engine submodule to v0.3.8
* Improves kick, teleport and ban menus (#3312)
* Fix the admin panel not showing the account name (#3322)
* Fix name serialization for secret stashes (#3301)
* Fix name serialization for secret stashes
* Fix old usages of secret part name
* Separate ghost warp message into two (#3310)
* Separate ghost warp message into two
* Remove redundant arguments
* Address reviews
* Move properties up
* Add health overlay and a command to toggle it (#3278)
* Add health overlay bar and a command to toggle it
* Remove empty line
* Content PR for YAML hot reloading (#3319)
* Content PR for YAML hot reloading
* Add CanAdminReloadPrototypes (host permission)
* IndexedPrototype fixes
* Update RobustToolbox
* Update RobustToolbox
* Add an unconspicuous, meaningless and in no way motivated by any external force XML doc to buckle component
* Update RobustToolbox
* Update submodule to v0.3.12.
* Removed unused using statements that prevented compiling.
Removed references to IIndexedPrototype that does not exist anymore in the engine.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Leo <lzimann@users.noreply.github.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: collinlunn <60152240+collinlunn@users.noreply.github.com>
Co-authored-by: komunre <49118681+komunre@users.noreply.github.com>
Co-authored-by: Acruid <shatter66@gmail.com>
Co-authored-by: Peptide90 <78795277+Peptide90@users.noreply.github.com>
Co-authored-by: Clyybber <darkmine956@gmail.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
* Remove unused IChatCommand.
* Lots of refactoring into a shared context.
* Removed ICommonSession from server concmd Execute.
* Added argStr parameter to concmd execute.
* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.
* Finally move shells and commands into shared.
* Console commands can now be registered directly without a class in a shared context.
* Engine API Changes.
* Repair rebase damage.
* Update Submodule.
* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable
* Copy sound logic to destructible component for now
* Fix typo
* Fix prototype error
* Remove breakable component damageable reference
* Remove breakable construction reference
* Remove ruinable component
* Move thresholds to individual components and away from damageable
* Add threshold property to damageable component code
* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states
* Being alive isn't normal
* Fix not reading the id
* Merge fixes
* YAML fixes
* Grammar moment
* Remove unnecessary dependency
* Update thresholds doc
* Change naming of thresholds to states in MobStateComponent
* Being alive is once again normal
* Make DamageState a byte
* Bring out classes structs and enums from DestructibleComponent
* Add test for destructible thresholds
* Merge fixes
* More merge fixes and fix rejuvenate test
* Remove IMobState.IsConscious
* More merge fixes someone please god review this shit already
* Fix rejuvenate test
* Update outdated destructible in YAML
* Fix repeatedly entering the current state
* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test
* Update saltern
* Rate-limit AI updates
Stop the public servers from getting hammered too hard.
* Add logger for the AI limit as well.
* Also support AI maxupdates <= 0
Juuusssttt in case
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Add test that puts all components on an entity and checks for no exceptions
Also fix all the exceptions that happened because of this
* Add comments to the test
* Fix nullable errors
* Fix more nullable errors
* More nullable error fixes
* Unignore basic actor component
* Fix more nullable errors
* NULLABLE ERROR
* Add string interpolation
* Merge if checks
* Remove redundant pragma warning disable 649
* Address reviews
* Remove null wrappers around TryGetComponent
* Merge conflict fixes
* APC battery component error fix
* Fix power test
* Fix atmos mapgrid usages
* AI sleeping
AI no longer update when dead.
* It was easier to merge master and re-apply it.
* Update AiControllerComponent.cs
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Server EntitySystem cleanup
I went after low-hanging fruit systems.
* Add / change to internal access modifiers to systems
* Use EntityQuery to get components instead
* Add sealed modifier to systems
* Remove unused imports
* Add jetbrains annotation for unused classes
* Removed some pragmas for dependencies
This should also fix a decent chunk of the server build warnings, at least the ones that matter.
* Also disposals
* Update Content.Server/GameObjects/EntitySystems/GravitySystem.cs
* Fix build
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Add test to check all LogicNames in prototypes
* Change CreateProcessor to AiLogicProcessor (I thought I'd already done this as I remember PJB telling me to do this but apparently I'm an idiot)
* Temporarily remove invalid AiControllers
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>