* 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>
* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out
* Missed one
* Missed another
* Fix data field ids
* Add the chameleon controller implant
* address the issues (Git please dont kill me)
* Address the review and fix some merge conflicts!
* Cleanup
* Add use delay
* Silly mistakes
* Making a PR at 2 am: Gone wrong
* Predict use delay and disable the buttons until you can choose another
* First phase custom clothing
* Better system, now relays to agent id and mindshield. Chameleon loadouts are a lot better to work with as well
* Address the review! No more evil goto
* Slams way is better I should have read more closely xD
* Some of the jobs
* Add to Cargo, CentComm, Service, Passenger, Ninja, Cluwne, Wizard + Minor changes to existing; Add chameleon to bandanas, medals, jugsuits and HUDs
* Add everything else
* Fix test
* Job name
* This looks better
* Add department organization
* Minor cleanup
* Added some mindshields
* Remove redudent comment and change funcion name to be clearer
* Fix cluwne outfit
* fix merge conflicts
---------
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
* Extracts magic strings from Tag calls
When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!
* Adds missing libraries
* Remove not yet implemented TagSystem changes
* Fix tag spelling error
Genuinely surprised there was only 1!
* Styling and proper type changes
* Styling
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.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>
* Make mind shield implants unable to be implanted more than once
* Default AllowMultipleImplants to false and update implanters.yml
* Use TryComp instead of TryGetComponent
* Deny multiple implants for fun implants too.
* Make comment more precise
* 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
* fixes subdermal exception
* Changes linq check to a foreach loop to remove the entities, also moves TODO note to containersystem
* comment to push change
* removes dummy comment