* Scope creep my ass
* why was this shit not pushed????
* gone...
* fix that
* review plus buildd
* asfsafsafsafsafas
* grug
* burber
* I'll fix this later
* shrimply die
* also this
* it's snerf or snuthin
* assaads
* round snend
* aaaa
* fix this shit for real
* actually, don't start GameRules until MapInit now that I think aboot it.
* forgot u
* don't actually need this part nullable
* Deffer comp removal
* one liner
* do that too
* chungus
* Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?)
* deferred removal :V
* aaaaaaaaaaaaaaa
* whhop
* Whoop
* better
* landmine that I placed for myself then forgot about lmao
* cleanup
* FUCKING `!`
* gotovo
* amogus
* please don't check by metadata I beg
* waawsasfdfsasfa
* sfafsasfafsas
* fdsaasffsasfa
* code
* fix
* fasasffasfasfsad
* chungaas
* I may be stupid
* gra
* graaaaaaaaaaaaaaaaa
* comment
* gra
* clearing is not predicted and would require major refactors, so don't cache on client.
* lame shit :P
* last holes
* nukeopsfsafsasafsfafsa
* why was that shit public bruh
* bubrbgwahrghfaka
* dynamic
* revert change that did nothing lmao
* ports chat follow function from AL and removes PJB implementation
forgor to commit earlier so it's just one chunk
* fixes accidental MiscTab.xaml restructuring
* fix name color
* remove unused function
* cvar summary
* typo
* accidental doc removal
* fix test fail
* fix test fail
* like i said first pr :|
* inject in constructor
* adds chat links to Local, Whisper, LOOC and Dead Chat respects Admin ghost privacy
* i hate chat code
* remove cvar
* single events file
* adds CanGhostWarp back
* filter for admin ghosts
* move tag
* remove ChatLinkTag.cs
* fix speechbubble rendering
* i want to bash my brain in
* kill chatcode
* formatting
* testfail
* still not working
* atleast deadchat works now
* even prettier TextLinkTag.cs
* fix speechbubble rendering for looc
* docs
* renaming and better docs
* Revert "remove cvar"
This reverts commit 1acb168f
* final changes (hopefully)
* requested changes
* can't parse -
* change TextLinkTag again
* formatting and typo
Co-authored-by: Connor Huffine <chuffine@gmail.com>
* quickfix
* no logging for now actually
* i will work on this in the morning
* restructuring
* wip
* final restructuring and docs
* still not done btw
* review
* docfix
* actually we can filter for admin ghosts
* doc
* fix color
* fix fix color
* review
* all I care to clean up
* bold names
* doc
* admin warp
* fixed
* fsaasffsa
* GOD ONCE SAID: GOOD ENOUGH
* they call me the shuffler
* admin chat links
* forgor newline
* fix?
* actual fix
* dumb stuff
* chungus
---------
Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
* Make every EntitySystem partial
* Oobs thats for a diff PR
* Also oops on that one
* Test systems
* git are we fr
* Update file templates
* cleanup empty classes while we are here
* forgor
---------
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
* Create new SetChatCommand.cs class
* Obsoleted the old "setchat" classes.
* Removed the obsolete classes
* Small fixes
* Small fixes reprise
* Fixed issues in PR
* Fixed issues in PR
* Renamed command and properly localized it.
* Renamed command and properly localized it.
* Updated Admin UI
* redundant members
* catch IonLawSystem instances
* return the ion law sawmill, fix LogMan instances
* SalvageSystem LogManager inst
* IonLawSystem: public Sawmill
* what even is initialization order?
* Remove all IPrototypeManager instances
* Remove redundant IComponentFactory instances too
* Found some stragglers
* DestructibleSystem.PrototypeManager: no dependency
* not based
* add new cvar
* add command to change the cvar
* send chat alert when the cvar is changed
* add new button to server tab to toggle that cvar
* block deadchat
* make it partial
* empty commit
* add completion
* use the helper
* new line in the end
* remove white line
* fix for sending server announcmente while the server is still loading
* just use ?
* remove changes to chat manager
* make messages dull /j
---------
Co-authored-by: Beck Thompson <beck-thompson-kde@outlook.com>
* apply negate accents system
* add toggle to voice mask ui
* roll negateaccents into voice mask system, delete negate accents comp&system, update yml entries
* convert button to ToggleButton and some cleanup
* retry for heisenfail
* accent toggle
* update names and add mask active check for accent hiding
* looc and deadchat speak interrupt events
* comment
* admin log tweak
* clean up log entity targets; switch admin deadchat logged entity from player to mob
* one event only
* rename event, broadcast player session with the event
* 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>
* move to shared
* entity effect to shared
* refactor: whitespaces+xml-doc typo fixups
* refactor: a little bit more of xml-doc typos fixups
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* 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
* idk no longer shrugs
* accidentally had this in here!
* this was accidentally in here too!
* fucked up the removal
* fucked it up again this should HOPEFULLY be the last one
turns out it's hard to revert the edit of a file that's just numbers and spaces who woulda thunk?
* Restore SpaceStation14.sln to master
* Restore development.toml
---------
Co-authored-by: Tayrtahn <tayrtahn@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>
* Properly cache regexes in chat sanitization/accents
Wow I wonder if `new Regex()` has a cost to it *looks at server profile*.
* Avoid lag caused by Tippy command completions
CompletionHelper.PrototypeIDs explicitly says *not* to use it with EntityPrototype. Unsurprisingly, reporting a completion result for every entity prototype in the game is a *bad idea*.
* Add active count metrics to some high-load systems
Mover & NPCs
I suspect the thing that caused the Leviathan round to shit itself on performance is NPC spam in space or something. So let's verify that.
* Enable parallel processing on pow3r again
Originally disabled due to a theory of it causing bugs, it was re-enabled on Vulture, and I'm not aware of it having caused any issues there.
* Replace hashset with bitflags for AtmosMonitor alert types.
Allocating these hashsets was like 20% of the CPU of atmos, somehow.
* Cache HashSet used for space movement collider checks
Turns out this was a ton of server allocations. Huh.
* Component for clothes to suppress scream noise
GaggedComponent + AddGaggedClothingComponent and relevant systems to make them work.
Currently only stifles the scream _action_, not all emotes
because if a mime can silently emote, so can gagged you!
* fix comments
* swap to inventory relay
and make it more general such that specific emotes or emotes of a given category can be blocked
* power gloves shouldn't block snapping
* easy fixes
* blockable emote event
* pr comments, switch to using emote event mostly
* pr comments
add beforeEmoteEvent
add emote blocker name to popup
maybe some other stuff, I forget
* get rid of emoteevent's source because I don't need it anymore
* smol clean
* formatting, style, and one minor thing where having a muzzle in your pocket would gag you
* checkpoint
* pt 2
* pt... i forgot
* pt 4
* patch
* More test fixes
* optimization!!!
* the REAL hand system
* fix RetractableItemActionSystem.cs oversight
* the review
* test
* remove test usage of body prototype
* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* hellcode
* hellcode 2
* Minor cleanup
* test
* Chasing the last of the bugs
* changes
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>