* Non-obsoletion warnings as errors in Release.
* Add two other obsoletions related to collection expressions.
These are not present in the codebase, but may become so in the future.
* Exempt NU1903 so the project can't mysteriously stop building.
* Fix some FULL_RELEASE mistakes.
* diff fix
* Resharper caught this one. Note to self: Wire up resharper to CI in another PR.
Ban database refactor (#42495)
* Ban DB refactor seems to work at a basic level for PostgreSQL
* New ban creation API
Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).
* Make the migration irreversible
* Re-implement ban notifications
The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.
* Fix some split query warnings
* Implement migration on SQLite
* More comments
* Remove required from ban reason
SS14.Admin changes would like this
* More missing AsSplitQuery() calls
* Fix missing ban type filter
* Fix old CreateServerBan API with permanent time
* Fix department and role ban commands with permanent time
* Re-add banhits navigation property
Dropped this on accident, SS14.Admin needs it.
* More ban API fixes.
* Don't fetch ban exemption info for role bans
Not relevant, reduces query performance
* Regenerate migrations
* Fix adminnotes command for players that never connected
Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.
* Great shame... I accidentally committed submodule update...
* Update GDPR scripts
* Fix sandbox violation
* Fix bans with duplicate info causing DB exceptions
Most notably happened with role bans, as multiple departments may include the same role.
* initial visual nubody
* oops overlay
* im so pheeming rn
* conversion...
* tests
* comeback of the underwear
* oops eyes
* blabbl
* zeds
* yaml linted
* search and visible count constraints
* reordering
* preserve previously selected markings colors
* fix test
* some ui niceties
* ordering
* make DB changes backwards-compatible/downgrade-friendly
* fix things again
* fix migration
* vulpkanin markings limit increase
* wrapping
* code cleanup and more code cleanup and more code cleanup and more code cleanup and
* fix slop ports
* better sampling API
* make filter work + use the method i made for its intended purpose
* fix test fails real quick
* magic mirror cleanup, remove TODO
* don't 0-init the organ profile data
* remove deltastates
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Nubody
* fix test fails
* gibbing
* lung test returns
* doc comment
* hand organ test
* giblet test
* yaml formatting
* returning
* relocate
* trimming
* re-smite
* oops thusd tweak
* arachnids have slower metabolism i guess
* never mind the old behaviour is bad actually
* rider whyyy
* style changes and allat
* fix collision
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Decouple gibbing from the body system
* allow gibs that don't drop giblets
* pass through user
* prediction gon
* comment
* destructible
* playpvs
* very very very very very very very minor cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Entity<T>, skipping Magazine and ChamberMagazine
* missed some
* AUGH!!
* ballistic examine
* dotnet hates me
* WHY ARE YOU CALLED THAT!!!!
* cheers aada
* no longer calls evac if evac is called or if the round is over
* can't recall shuttle
* some commentary
* can recall next round
* cancel evac recalling
* add this back
* only call once
* admins can recall anyway now
* 1 bool is better than 2 i guess
* some cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* cleanup
* fix fixtures
* this belongs into the next PR
* review
* misc
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@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>
* eye on the prize
* OnStackInteractUsing, TryMergeStacks, TryMergeToHands, TryMergeToContacts
* namespace
* Use, get count, getMaxCount
* component access
* add regions, mark TODO
* obsolete TryAdd, public TryMergeStacks
* GetMaxCount
* event handlers
* event handlers
* SetCount
* client server event handlers
* move to shared
* Revert "move to shared"
This reverts commit 45540a2d6b8e1e6d2a8f83a584267776c7edcd73.
* misc changes to shared
* split
* spawn and SpawnNextToOrDrop
* SpawnMultipleAtPosition, SpawnMultipleNextToOrDrop, CalculateSpawns, general server cleanup
* Rename Use to TryUse.
* Small misc changes
* Remove obsolete functions
* Remove some SetCount calls
* Partialize
* small misc change
* don't nuke the git dif with the namespace block
* Comments and reordering
* touchup to UpdateLingering
* Summary comment for StackStatusControl
* Last pass
* Actual last pass (for now)
* I know myself too well
* fixup
* goodbye lingering
* fixes
* review
* fix test
* second look
* fix test
* forgot
* remove early comp getting
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* add silicon smite
* change string to prototypes
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
* alphabetitize
* fix stuff scar broke
* clean
* make target have the silicon mindrole
* simple check
* defined a private readonly proto for the silicon mind role
* simple check
---------
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
* 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>
* Init Commit
* Typos
* Commit 2
* Save Interaction Test Mob from failing
* ssss
* Confident I've gotten all the correct prototypes
* Whoops forgot to edit those
* aaaaa
* Better solution
* Test fail fixes
* Yaml fix
* THE FINAL TEST FIX
* Final fix(?)
* whoops
* Added a WeightlessnessChangedEvent
* Check out this diff
* Wait I'm dumb
* Final optimization and don't duplicate code
* Death to IsWeightless
* File scoped namespaces
* REVIEW
* Fix test fails
* FIX TEST FAILS REAL
* A
* Commit of doom
* borgar
* We don't need to specify on map init apparently
* Fuck it
* LOAD BEARING COMMENT
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>