This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.
HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.
This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.
New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.
Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.
There's also some code cleanup to reduce copy pasting around the place from my changes.
Requires latest engine to support ImmutableArray<byte> in NetSerializer.
Fixes formatting of owned entity type property names. These are normally named "FooBar_Baz" by EF Core, but the snake case thing was turning them into "foo_bar__baz". The double underscore is now fixed.
We don't *yet* have any EF Core owned entity in use, but I am planning to add one. I don't know if downstreams are using any so this should still be marked as a breaking change.
Also fixed it creating and dropping a Compiled Regex instance for every name, the regex is now cached (and pregenerated).
* cant disguise to thing in a container
* copy cigarette visualiser
* prevent aghost throwing an error
* make disguises die in space
* fuck it rewrite it to not use polymorph
* fix action troll
* oop
* add vebr
* add access to the components
* 2/3
* fix
* relay damage from disguise to user
* fix integrity
* :trollface:
* :trollface:
* m
* kill integrity
* fix a bug
* review
* remove them from component
* relay flash effect to the disguise
* fix icon being weird
* change method since multiple systems cant handle same network event
* :trollface:
* actually network Disguise real
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Rework flaregun and add security shell gun
* Make flare gun twice as likely to appear in emergency lockers
* Security shell gun can now fire lethal shells like the flare gun used to be able to.
* Rebalance the sec shell gun material cost to primarily be steel instead of plastic
* Define the ShellShotgunLight tag in tags.yml
* Leave the no lethal shells for normal flareguns to a different PR.
* Move a comment to re-run checks.
* Bye bye lethal shells from plastic guns.
* Fix weird whitespace issue.
* Make the sec shell gun inherit the normal flare gun.
* Remove the rack verb and update the sec shell gun description
* Remove the ability to fire lethals from flare guns, pending blowing up the gun
---------
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
* Silicon Law Sound cue refactor
- Added CueEntityMind to Silicon Law system to more uniformally
send sounds to minds
- Switch all previous MindPlaySound to instead call to the new method
* Change SiliconLawEui to cue the mind
* CR: TryGetComponent and Change the Documentation
- Remove GetComponentOrNull for _entityManager.TryGetComponent
- Change SiliconLawProviderComponent.LawUploadSound to be more general
rather than just referencing lawboards
* Update Content.Server/Silicons/Laws/SiliconLawEui.cs
* Update Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs
* Silicon-law-cue-refactor - CR:
- Roll the cuing into NotifyLawsChanged via an optional variable for the
cue
- Modify "SetLaws" to take in an optional soundProvider for the cue
- modify Emagged, Ion, Eui and SetLaws to instead send the sound cue via
NotifyLawsChanged
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>