* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)
* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.
* refactor: incapsulated info on current lobby track in simple record
* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic
* refactor: xml-doc for LobbyPlaylistChangedEvent
* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* add SubGamemodes comp/sys
* remove RuleChance from thief rule
* use SubGamemodes for adding thief rule instead of adding ThiefRule component to random gamemodes
* clean up thief rule prototype
* add better logging + end rule if it fails to start
* march 1st incident
* preset ops
* the dreaded
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Alert autoremove v0
* Code cleanup and timing
* comment
* Tritium, code compression
* not resolving manually
* reduced lookups, new comp
* fix-fix yes
* use RemCompDeferred, handle OnUnpaused
* missed a todo
* entitysystem resolve
* remove unnecessary component updates
* remove AlertState from comp, move EntityUnpausedEvent actions to AlertStateComponent's Timespan
* Code cleanup
* comments
* combines AutoRemove input into Clear
* minor logic adjustment that does not really change anything but is less ambiguous
* fix(research): Fix `ResearchSystem.Client` `UpdateClientInterface` preconditions.
Fixes a paradox where selecting a research server requires a research server to already be selected.
This would softlock the research client until it is reconstructed.
* style: Discards the discard operator
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* fix cryo removed minds of players who entered ghost role
Signed-off-by: c4llv07e <kseandi@gmail.com>
* better way to handle cryo with mind in it
Signed-off-by: c4llv07e <kseandi@gmail.com>
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
* NPC steering blending
Significantly more stable than using LastSteerDirection and also AntiStuck never got tripped locally when I was running around. I also left future notes for me to cleanup the pathfinder in future.
* Remove index
* Whisper bleed update v3
* missed a few
* Add bleeding message to health analyzer.
* Fix bleed notification not updating.
* Apparently this either doesnt exist
Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists.
Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff.
Also I made the character profile validation logic take dependencies in via parameter because fuck resolves.
Turns out this is not what serverid was for... i guess you can find server familys with this so im not gonna remove it. Best we get for server name is the admin logs server name.
* Added logic for ContainerSpawnPoint checks
* Improved with template function
* fixed nullable
* hehe
* hehe T?
* added type check before cast
* another nullable fix
* and another one
* return to old code (found typo)
* Code cleanup
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Creat Execution Component and add to sharp items
* Kill Server ExecutionSystem. Create ExecutionSystem in shared. Create ActiveExecution Component.
Transferred the Execution system into shared. Heavily re-wrote the system in order to reduce duplication,
and remove gun code from the system.
The melee weapon modifier which was dependant on swing rate was removed.
The ActiveExecutionComponent was created in order to apply the damage modifier to the shot from a gun execution.
It is added just before the gun fires and removed after an attempt is made.
* Fix bugs
The execution completed text will now only show up if the gun fires.
The client also no longer crashes because I forgot to network the component.
* Remove clumsy text
* Make BaseSword abstract
* Add ExecutionComponent to every weapon
* Fix bug
* Remove execution comp from battery weapons
Currently the gun system does not have a way to alter hitscan damage like it does with projectiles.
* Cleanup
* Revert "Remove clumsy text"
This reverts commit a46da6448d5d179a4e936f9213d5622bedb58a16.
* Actually fix the ExecutionSystem
Everything about the shot goes through the gun system now.
The Damage multiplier is only applied when a projectile impacts the target so people that get in the way don't get hit
with 9 times damage for no reason.
In order to make suicides work I needed to create fake EntityCoordinates because the gun system and the projectile
system do not play well with a projectile that has the same start and end position.
* Make launchers able to execute
* Fix prediction bug
The OnAmmoShotEvent is only raised on the server.
* Readd ability for clowns to accidentally shoot themselves while executing
* Cleanup
* Reset melee cooldown to initial value
* Address reviews fix bug
Addressed reviews on overriding messages.
Now I actually mark doafters as handled.
Return normal cooldown to some meleeweapons I forgot on the previous commit.
* Address Reviews
Remove duplication
* Exorcise codebase
Remove evil null coercion that I was sure I removed a while ago
* Address reviews again
* Remove melee weapon attack logic and rely on the system. Remove gun and
melee checks.
* Make system functional again and cleanup
* Remove code I forgot to remove
* Cleanup
* stalled
* Selectively revert gun penetration
The collision layer check doesn't work and I don't have time to fix it.
* Fixes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* please tell me this is empty
* it wasn't empty, fixing that
* This should fix it
* fix for the fix
* address changes
* fix
* Added some comments, hoping that failed test was a fluke.
* Make department / job list sorting consistent.
This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.
We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).
Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.
* Fix jittery job icons in lists.
They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.
Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)
Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.
Also gave a margin next to the icon on the crew manifest. Margins people!
* Fix formatting problem with FullOpened
* Moved to Shared and networked
* Revert "Fix formatting problem with FullOpened"
This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.
* fix: cryo pod now uses health-analyzer system to update body state in UI
* refactor: use EntityEventRefHandler instead ComponentEventRefHandler in CryoPodComponent subscribe on EntRemovedFromContainerMessage
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Add option for admins to disable bwoink
In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.
* Add silent indicator to discord relay
* Use string interpolation
* Fix drones
* They dont need a full bloodstream
* Incorrect indentation
* Nuke drones
* Fix ClothingHeadHatCatEars
* Remove last mention of drones
* Implement requested changes
* Remove second shove check.
* Change when popups and sounds are created.
Reduces phantom shoves that feel bad.
* why didn't i think of this i saw it earlier...
* Replaced Is fields with prefix
* remove some dependencies to fix tests???