* Clean up TitleWindowManager.cs
- I did not like how `OnHostnameChange()` always needed a string even though that string would always just be the hostname, so now it's just part of its function
- The extra function made to just trigger `OnHostnameChange()` are removed. It just runs the right function off the bat.
- Checking for `ClientRunLevel.InGame` for setting the title without the hostname, which means the previous joined server won't appear for a split second before being corrected by the new cvars being set. Or if the server prefers no host name in the titlebar by the time we connect.
* review
* Sus
* Add DatePicker
* DatePicker fixes
- Now uses `DateOnly` (currently fails sandbox, but PJB has promised to add
it in engine)
- Add MinDate and MaxDate fields
- Use constructor instead of parsing date string
* skeleton
* ok I think I understand this now
* xaml more like xam L
* good enough individual law control
* Works
* Final checks
* Final_Final.exe.docx
* removed unecessary usings
* locstrings
* doc comments
* requested changeds except var
* visual stuff
* I could write a manifesto about how much I dislike var
* color tweak + other thing
* request changed minus the inheritance
* sans Boxcontainer
* :/
* cache find
* requested changed
* removed usings
* Moved margin and removed unecessary BoxContainer
* 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>
* Fix species not being ordered alphabetically in the character customization UI
* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@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
* Added special crayon with infinite charges for borg usage.
* Use battery system to manage charges.
* Reverted extra changes
* Set charge on init
* removed init assignment
* Added comments to crayoncomponent
* tweaked comments
* Working with the new charges component, but at what cost?
* Remvoed extra field
* Apply suggestion from @slarticodefast
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Apply suggestion from @slarticodefast
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Apply suggestion from @slarticodefast
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Apply suggestion from @slarticodefast
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Fix renamed variables and descriptions in comments
* Variable naming, comment cleanup and autonetworking.
* Fix for test case, modified on init
* Cleaned up/merged charges logic
* review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* add intrinsic store, replace revenant store with it.
* migrate PAI and also move to shared where possible
* fix typos and clean up... intrinisic
* oops, hopefully fixes test
* Move to StoreSystem and ActionGrant
* documentation and remove thing
* review
---------
Co-authored-by: Jessica M <jessica@maybe.sh>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add log statement for missing guidebook proto
Also removed an unused parameter.
* Update Content.Client/Guidebook/DocumentParsingManager.cs
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Switched obsolete logger usages to use Sawmill
Fix the majority of obsolete logger usages outside the engine code.
* Fix injection in ChatManager and revert BuildMech changes
* Removed extra manual injection
* Reduced extra static injection and reverted changes to CommandButton as it needs engine changes.
* Removed two more cases of double injection and an extra using
* Reverted changes for Inventory Display
* Moved sawmill setup outside constructor in Table to resolve test failure
* crossing the pond
* share some station records
* share some criminal records
* single system
* comments
* minor touchups
* I always forget this part
* requested changes
* revert predicted spawn
* requested changes
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
* Content - change the (should-be-obsolete) DisposeAllChildren into the more robust RemoveAllChildren.
* Remove duplicate calls.
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Many newer overlays use IRenderTextures that are sized to the rendered viewport. This was completely broken, because a single viewport can be rendered on multiple viewports in a single frame.
The end result of this was that in the better case, constant render targets were allocated and freed, which is extremely inefficient. In the worse case, many of these overlays completely failed to Dispose() their render targets, leading to *extremely* swift VRAM OOMs.
This fixes all the overlays to properly cache resources per viewport. This uses new engine functionality, so it requires engine master.
This is still a pretty lousy way to do GPU resource management but, well, anything better needs a render graph, so...
* Initial commit
* Fixing merge conflict
* Merge conflict fixed
* Anchorable entities can now be marked as 'unanchorable'
* Revert "Anchorable entities can now be marked as 'unanchorable'"
This reverts commit 6a502e62a703cf06bd36ed3bdefe655fc074cfc5
This functionality will be made into a separate PR
* Error sprite
* Update AI core appearance with sustained damage, spawn scrap on destroyed
* Added intellicard sprite
* AI damage overlays
* Added fixtures
* AI core accent changes when damaged or low on power
* Bug fix and pop up messages for inserting AIs into inoperable cores
* Updated 'dead' sprite
* Destroying the AI core reduces the number of AI job slots available
* AI battery duration set to 10 minutes
* Initial commit
* Allow MMIs used in the construction of AI cores to take them over
* Initial resources commit
* Initial code commit
* Sprite update
* Bug fixes and updates
* Basic console UI
* Code refactor
* Added lock screen
* Added all outstanding UI features
* Added purge sprites
* Better appearance handling
* Fixed issue with purge sprite
* Finalized UI design
* Major components finalized
* Bit of clean up
* Removed some code that was used for testing
* Tweaked some text
* Removed extra space
* Added the circuitboard to the RD's locker
* Addressed reviewer comments plus tweaks
* Addressed reviewer comments plus tweaks
* Removed instances of granular damage
* Various improvements
* Removed testing code
* Fixed issue with disabled buttons
* Finalized code
* Addressed review comments
* Added a spare Station AI core electronics to the research director's locker
* Fixing build failure
* Addressed review comments
* Addressed review comments
* Added reverse path for construction graph
* Removed unneeded reference
* Parts can be purchased through cargo
* Fixing merge conflict
* Merge conflict resolved
* Fixing merge conflict
* Code update
* Code updates
* Increased AI core health and gave it a sell price to fix test fail
* Added screen static sprite
* Added better support for ghosted AI players plus code tweaks
* Various improvements and clean up
* Increased purge duration to 60 seconds
* Fixed needless complication
* Addressed reviewer comments part 1
* Addressed reviewer comments part 2
* Further fixes
* Trying lower battery values to see if it fixes the test fail
* Adjusted power values again
* Addressed review comments
* Addressed review comments
* Fixed test fail
* Fixed bug with endless rebooting. Using rejuvenation on an AI core revives the AI inside.
* Added pop up text
* Bug fix
* Tweaks and fixes
* Fixed restoration console not updating when the AI finishes rebooting
* Update SharedStationAiSystem.Held.cs
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
* move all the radio components and system to Shared.
* duh split impl
* address reviews
* cleanup
---------
Co-authored-by: walksanatora <walkerffo22@gmail.com>
* 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>
* Revert "Disable vulpkanin human hair (#40144)"
This reverts commit d02aa1a4e2.
* You can once again shave your pet Vulp
* I can see the ass, I'm safe
* Rectified docstring as I am a good person
* I am doing this instead of playing Silksong please help
* Fix forgetting to re-add shader overriding