Commit Graph

7345 Commits

Author SHA1 Message Date
Rainfey b9d2f5a409
Refactor antag rule code (#23445)
* Initial Pass, Rev, Thief

* Zombie initial pass

* Rebase, Traitor

* Nukeops, More overloads

* Revert RevolutionaryRuleComponent

* Use TryRoundStartAttempt, Rewrite nukie spawning

* Comments, Add task scheduler to GameRuleSystem

* Zombie initial testing done

* Sort methods, rework GameRuleTask

* Add CCVar, Initial testing continues

* Might as well get rid of the obsolete logging

* Oops, i dont know how to log apparently

* Suggested formatting fixes

* Suggested changes

* Fix merge issues

* Minor optimisation

* Allowed thief to choose other antags

* Review changes

* Spawn items on floor first, then inserting

* minor tweaks

* Shift as much as possible to ProtoId<>

* Remove unneeded

* Add exclusive antag attribute

* Fix merge issues

* Minor formatting fix

* Convert to struct

* Cleanup

* Review cleanup (need to test a lot)

* Some fixes, (mostly) tested

* oop

* Pass tests (for real)

---------

Co-authored-by: Rainfall <rainfey0+git@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>

(cherry picked from commit 4e6c59cfe5)
2024-03-07 01:06:59 +01:00
c4llv07e a76703ff6c
Fix cryostorage removing minds of players who have entered ghost role (#24991)
* 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>
(cherry picked from commit ee614dec5c)
2024-03-07 01:05:31 +01:00
Cojoke b9cb4bd2f1
Makes the e-sword light plasma fires, as intended. (#25665)
* Makes the e-sword light plasma fires, as intended.

* remove blank line

(cherry picked from commit dddec4dcc6)
2024-03-07 01:05:13 +01:00
Menshin 37c7ac7931
Add space heaters (#25250)
(cherry picked from commit 9884351101)
2024-03-07 01:05:02 +01:00
metalgearsloth b595bb9805
NPC steering blending (#25666)
* 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

(cherry picked from commit f819404f6d)
2024-03-07 01:04:55 +01:00
metalgearsloth 0c65749187
Fix projectiles (#25636)
(cherry picked from commit d204896bf5)
2024-03-07 01:03:19 +01:00
Julian Giebel c9f4910cb9
News UI overhaul and PDA notifications (#19610)
(cherry picked from commit 0752acdc2c)
2024-03-07 01:02:24 +01:00
LankLTE b5e4b7049f
Zombie Diona Fixes (#25404)
No reform, zombie nymphs

(cherry picked from commit cc865c547b)
2024-03-07 00:59:50 +01:00
Whisper e0d84f2db2
Whisper bleed update v3 (#25434)
* Whisper bleed update v3

* missed a few

* Add bleeding message to health analyzer.

* Fix bleed notification not updating.

* Apparently this either doesnt exist

(cherry picked from commit ff65cb7b0c)
2024-03-07 00:59:34 +01:00
Ed 64ccfc1afb
Handheld Mass Scanner (#25526)
* handheld

* Update meta.json

* Update meta.json

* Update cargo.yml

* research

* add to borg

* bruh

* borg to T2

* fix

(cherry picked from commit 7a5f81ddb4)
2024-03-07 00:59:22 +01:00
Pieter-Jan Briers e7a3b82a8d
Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.

(cherry picked from commit e00f74505c)
2024-03-07 00:57:05 +01:00
Pieter-Jan Briers 5d93d35fdf
Character profile sanitization improvements (#25579)
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.

(cherry picked from commit 8d244f7b76)
2024-03-07 00:56:04 +01:00
Tayrtahn f40668818b
Add a container display to dispenser UI (#25391)
* Implemented contents display for dispenser UI

* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Resolve the netent into a euid first

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 100ece2e20)
2024-03-07 00:53:04 +01:00
metalgearsloth e7304108e2
Panic bunker fix (#25538)
* Panic bunker fix

I admin

* tired

(cherry picked from commit b26acc9547)
2024-03-07 00:53:01 +01:00
Vasilis 976ae5a466
Add server name into the replay final (#25564)
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.

(cherry picked from commit 3ef4e83558)
2024-03-07 00:52:58 +01:00
Kara fc393559e4
Don't double-dip survival intensity scaling (#25570)
(cherry picked from commit de36ebe2df)
2024-03-07 00:52:54 +01:00
778b e51ff3d3bf
Added ContainerSpawnPoint check for integration test (#25446)
* 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>
(cherry picked from commit 87def406bc)
2024-03-07 00:52:41 +01:00
Debug b1958e9ac6
Revert "Cleanup ExecutionSystem (#24382)"
This reverts commit dc56c5992f.
2024-03-07 00:51:07 +01:00
nikthechampiongr dc56c5992f
Cleanup ExecutionSystem (#24382) 2024-03-05 09:55:50 +01:00
ArchPigeon 96d1370bfd
Remove the ability for command or any antag-safe role from being initial infected in zombie mode (#25529)
Remove the ability for command to be initial infected in zombie mode

(cherry picked from commit 5806401502)
2024-03-05 09:50:11 +01:00
beck-thompson 8502f6e1f5
Fixed Fire Extinguisher safety range (#25534)
(cherry picked from commit 84fff930c2)
2024-03-05 09:50:09 +01:00
metalgearsloth cd8b5b96b5
Optimise DecalOverlay (#25266)
ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now.

(cherry picked from commit d8e5f5c24b)
2024-03-05 09:49:43 +01:00
Pieter-Jan Briers 905bb83a2d
Make department / job list sorting consistent. (#25486)
* 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!

(cherry picked from commit 715794dd41)
2024-03-05 09:49:19 +01:00
Pieter-Jan Briers 324ea7fbc8
Switch project files to C# 12. (#25487)
Just unlocks new language features like primary constructors.

(cherry picked from commit b1de6dd601)
2024-03-05 09:49:02 +01:00
Tayrtahn 164c06f6ed
Add prediction to Openable (#25477)
* Fix formatting problem with FullOpened

* Moved to Shared and networked

* Revert "Fix formatting problem with FullOpened"

This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.

(cherry picked from commit 381bb9020a)
2024-03-05 09:48:52 +01:00
Tayrtahn ef6958e1cf
Fix examine text bug for Openable Drinkables (#25478)
Break up Opened/Closed and fill level onto separate lines

(cherry picked from commit 146c7b272d)
2024-03-05 09:48:49 +01:00
Nemanja 384c060ea5
Predict doors and airlocks (#25419)
* predict doors and airlocks

* prying, too

* ack

* eek

(cherry picked from commit ce0a51fc29)
2024-03-05 09:48:41 +01:00
HoofedEar e96254fb4c
Add RequiresGrid component (#23394)
* saving working code

* add checks for deletion

(cherry picked from commit 487dd113b0)
2024-03-05 09:48:10 +01:00
beck-thompson 67acf16d1a
Changed radio jammer wattage from 6 -> 2 (#25432)
Changed wattage from 6 -> 2

(cherry picked from commit 48213ebb65)
2024-03-05 09:46:25 +01:00
genderGeometries 6d902b62a6
Crop harvest int cast fix (#25453)
* deleted int cast on solution amount

* deleted int cast on solution amount for real

(cherry picked from commit 1360d57eea)
2024-03-05 09:46:14 +01:00
metalgearsloth 9516ab5794
Fix bwoink sounds (#25441)
* Fix bwoink sounds

Didn't get a chance to test with 2 clients as I'm about to sleep but otherwise I'll check tomorrow.

* a

(cherry picked from commit 79c6385ca7)
2024-03-05 09:45:58 +01:00
keronshb fd4445253d
Moves muted to shared (#25374)
* moves muted to shared

* fixes usings

* Update MutedComponent.cs

funny webedit

* Update MutedComponent.cs

oops using statement webedit

(cherry picked from commit 046c874dae)
2024-03-05 09:45:27 +01:00
Fildrance d0a55859df
fix: #25102 cryo pod now uses health-analyzer system to update body state in UI (#25109)
* 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>
(cherry picked from commit ef849a0156)
2024-03-05 09:44:53 +01:00
Krunklehorn 9338e0d12b
Voice trigger fixes, death acidifier typos (#24941)
* Fixed length check, added attempt event, added popups on failure

* Fixed file name typo, fixed description

* Converted to else-if

(cherry picked from commit f29575f43f)
2024-03-05 09:44:49 +01:00
dffdff2423 6757f63a90
Add option for admins to disable bwoink (#25008)
* 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

(cherry picked from commit a3c93b0bd7)
2024-03-05 09:43:40 +01:00
Debug 9822e6f6e1
Fix CarryingSystem 2024-03-05 09:42:54 +01:00
metalgearsloth 345cb0f96d
Remove contests (#25425)
- Not mentioned anywhere ingame.
- Stupid.

(cherry picked from commit 012e6e6c86)
2024-03-05 09:39:03 +01:00
Debug 9a246f9527
Remove drones, fix InnateToolSystem (#25372) 2024-03-05 09:34:57 +01:00
deltanedas 1d24249d49
make midround antag spawn code better (#919)
* kill shitcode

* give each midround antag its own spawn rule

* using

* break test real

* typographical error

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-03-02 23:27:13 +01:00
Guess-My-Name da049f789d
Psionic insulation and invisibility fix (#887)
* fix

* invis people can no longer see other invis people
2024-02-23 19:36:40 +01:00
VMSolidus 0f9414b5ea
Fix deep fryer divide by zero (#886)
Update DeepFryerSystem.cs
2024-02-22 04:55:58 +00:00
Guess-My-Name b9dd5eddb1
oracle wrong item message cooldown (#885)
no more oracle spam
2024-02-22 05:32:37 +01:00
Debug a0511fcfc0
Merge pull request #878 from DebugOk/25394
Early merge
2024-02-21 04:28:15 +01:00
Vasilis 0c95a1db1a
Add roundid to replay_final.yml (#25398)
oopsy i forgor

(cherry picked from commit 5170593e85)
2024-02-21 04:08:52 +01:00
Pieter-Jan Briers 837272c745
Fix admin notes and database time nonsense. (#25280)
God bloody christ. There's like three layers of shit here.

So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.

Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.

Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.

Fixes #19897

(cherry picked from commit 2e6eaa45c5)
2024-02-21 04:03:44 +01:00
Vasilis f1bacc31d2
Hotfix: Set round end information for replays back to null on round start instead of round end (#25394)
* Hotfix

* I dont think i need this now

(cherry picked from commit 2548b13abf)
2024-02-21 04:03:40 +01:00
Debug 9af8726a1e
Wait no it was correct
Signed-off-by: Debug <49997488+DebugOk@users.noreply.github.com>
2024-02-21 00:41:06 +01:00
Debug 4e080593aa
Incorrect math resulting in false negative
Webedit ops

Signed-off-by: Debug <49997488+DebugOk@users.noreply.github.com>
2024-02-21 00:34:36 +01:00
Debug bc0baa6797
Make periapsis only have 10 non-whitelisted slots, and make whitelist not shit (#874)
Whitelist
2024-02-20 20:46:17 +01:00
ArchPigeon 783284ab0f
Stop wagging tails on crit (#25323)
* Add Flammable Touch Reaction for liquid tritium

* Stop tail wagging action on crit

* Revert "Add Flammable Touch Reaction for liquid tritium"

This reverts commit 41be57b058a0cdee0cecfc51eb1c4a25631e62f3.

(cherry picked from commit e8eddf57f6)
2024-02-18 23:39:38 +01:00