* What sitting on code does to a branch + no mo owner v2
* Replacing ViewVariables with AutoNetworkedField + Missed One V2
* Removing Virtual Methods & Renaming ForensicsSystem to SharedForensicsSystem (Also made it abstract) V2
* IProduceWidgets Review Changes & some of my own V2
* Lil Cleanup V2
* Part 1 of Review Changes (Only thing left is the BUI stuff and the constructor) V2
* It now WORKS!!! (Still needs the BUI and constuctor changes, ill figure it out later)
* Test (Removal of ServerSide VomitSystem.cs)
* Ok...
* Moved System BloodstreamSystem.cs to SharedBloodstreamSystem.cs & deleted client BloodStreamSystem.cs to make SharedBloodstreamSystem.cs sealed. (No Unregistered errors)
* Prediction
* Fix?
* No mo log error?
* Revert "No mo log error?"
This reverts commit 50c15a3deab6af9dffd7baed45820bae5558e41f.
* Constructor going up
* No ForensicScannerBoundUserInterface.cs (It doesnt wanna scan anymore but it doesnt crash)
* For Conflicts
* Guh
* Yea
* Organization & no ErrorHell (maybe)
* Dirtying
* Dirtying take 2
* Revert "Dirtying take 2"
This reverts commit 5735012e21f43808db3ae010fce268eac24d0583.
* the dirties dont do much here
* For Conflict
* Readded
* Another Conflict Commit Fix
* Conflict Fix Thrice
* Empty Space
* Keep it simple
* Add it back in
* Move BloodstreamSystem stuff thats causing the error back to system. This'll prob fix the conflict
* Conflict fix?
* Trust the fix
* Looked at other prediction PR's, they had better code.
* To not mix up the system in client
* Removing Conflict
* For conflict
* For the conflic fix, will be removed later
* Scuffed Fix
* Removal & Adding the Decouple
* Took some HEAVY pointers from SirWarocks work. The Roadblock has been CLEARED, DOAFTERS WORK NOW!!
* Cleanup & Optimizing, mostly comps.
* More Optimization, most of this is just imported Warock Code, his QOL included. Did not want to remove SolutionDNA's tho, mostly due to a Log.Debug in OnPrint.
* Forgot that the Print Refreshes, more of Warocks work.
* Removing Loc.GetString
* All of BloodStream to Shared, hopefully no errors.
* Sketchy Dirty Removed
* Removed Timer.Spawn, added FrameUpdate cause anything else only updated when the window opened, & a bit of cleanup.
* No mo Mispredict
* GenerateDnaEvent Predicted
* Forgot the user
* I knew it was real, bloodstutter is REAL and now GONE.
* Cant dirty NewEntityBloodData due to potential stutter, so its safer to put it all back into server. again...
* Clearer
* Thank you leahcat, no more identity leak.
* Routine Maintenance
* sealing the class
* it checks for this now?!
* While im here, FileScope Namespaces & removing unused namespaces
* Update Attribute Type (SirWarock Import), it works and is much easier to read.
* Forever Fixing Conflicts
* Readonly Genocide & Partial Maxing
* LGTM, BloodstreamSystem moved to SharedBloodstreamSystem!
* Sohn
* If OG Github back push this commit
* One Billionth Commit Fix
* Removed client/server stuff
* Made implicit
* NewLine & comment on why AutoGenCompState is true
* Updatin the rest of the Popups to use Entity
* I think that's what they meant? It looks cleaner at least.
* Mass Attribute for LocalEvents that are safe to change.
* Putting it back as abstract
* maybe?
* Guhh, rolling back empty client/server of BloodStream
* Removed Client/Server BloodstreamSystems, changed access modifier from protected to private, & renamed SharedBloodstreamSystem to BloodstreamSystem
* From Protected to Private
* Removed comment & made it explicit on what changed to true
* Guh, hopefully thats all of it...
* Forgot
* Review
* Test Push
* Line 316 in SharedForensicsSystem was causing the errors, better to play it safe
* Review Changes
* Update Content.Shared/Forensics/Events.cs
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
* The only thing SolutionDNAs does is search and clears itself. I see no reason to keep it
* The print.disabled didnt properly disable when cleared. So ill just use the old if check
* Figured out the rest of the SubscribeLocalEvents and networking BloodData cause its fully in Shared
---------
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
* part 1
* second pass
* final fix
* last fix i swear
* an even bigger genius
* regex missed this
* should be all of em?
* oops
* yeah
* Revert "should be all of em?"
This reverts commit 4dd54d1b9a76977b4cf8d6008358e4dacdee6eb1.
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* 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>
* Initial commit
* Clean-up
* Fix ftl, new damage
* ftl fix for real
* Updates based on feedback
* Child implant fix
* Make the UI only open when implanter is in draw mode
* Review fixes
* shunting
* Fake Mindshield (With some bad sprites)
- Add FakeMindshield System and Component
- Add FakeMindsheildImplantSystem and Component
- modify ShowMindShieldIconsSystem to check for FakeMindshields
- add all supporting yaml for the Implants, action and uplink
- add loc file stuff
- add unfinished sprites
* Cleanup, add to thief toolbox, remove metagame
- Move Implant sameness check to AFTER the implant DoAfter
to prevent instant identification of Deception Implants
- cleanup the systems and components
- add the fake mindshield to the Thief toolbox
* part 1 of fixing the folder problem
* Make the fakemindshield sprite folder lowercase
* CR - Move ImplantCheck into shared, cleanup
- Moved ImplantCheck and eventsubscription into Shared
- Remove Client/Server extensions of FakeMindshieldImplantSystem and
FakeMindShieldSystem and make shared Sealed
- make OnToggleMindshield Private, use the event!
* CR - Cleanup extra lines, fix some Prototype
- cleaned up extra liens in ImplanterSystem and
SharedFakeMindshieldSystem from when i was developing
- Uplink catalog no longer lists the implant in 2 spots,
only implants now, also uses the On state action icon
- added a comment about why it's reraising the action event
rather than directly interacting with the FakeMindshield Component
* Fake Mindshield CR:
- Added a comment about IsEnabled
- moved OnFakeMindShieldToggle to Entity<> from Uid, Comp
- fixed some formatting in uplink_catalog
* CR - Add a bit more comment
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
* Add more DNA interactions
* remove unused import
* update based on feedback
* Add event for chemistrysystem.injector
* move event to shared; transfer dna to implanter
* doafter and interaction event fixes
* add BreakOnHandChange
* doh
* use events instead of updating component directly
* Add DataFields to ForensicScannerComponent fields
* Convert most events to system api call
In CanImplant, FirstOrDefault would make up a new implant with default
values if there wasn't any to inject. This resulted in localization
errors and exceptions. Replacing with FirstOrNull fixes the issue.
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Rewrite all implanter and implant descriptions
* Make implanter status control resemble syringe's
* Add implant description to implanter examine
* Remove unused usings