Commit Graph

4014 Commits

Author SHA1 Message Date
Debug a4fd13ae70
Fix current test fails 2024-02-08 13:05:23 +01:00
deltanedas c73f3837bd
predict egg cracking + refactor (#25028)
* move stuff to server and some refactoring

* update spikables to not use triggering

* add Delete bool just incase

* a new egg

* mom can we have webedit. no, we have webedit at home

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 55dbe26019ed22e11f017393c028c6760699343d)
2024-02-08 12:41:42 +01:00
Tayrtahn de74e0faed
Improved output distribution of RoundToLevels (#25026)
* Improved output distribution of RoundToLevels

* Updated tests

* Oops

(cherry picked from commit 9cee54e5a1b4efd1b8d511584b3e4dcbd7e7c529)
2024-02-08 12:41:40 +01:00
Rainfey ecf9634e0c
Make Health Analysers UI continuously update (#22449)
(cherry picked from commit 4129c77a5b7c4d5cdfa4763881bdaa443c128f33)
2024-02-08 12:39:55 +01:00
Kot 74fc6715fb
Allow opening doors mid-deny animation, if you have the access (#24969)
Allow opening doors mid-deny animation, if you have access ofc

(cherry picked from commit bedccf8e31c53faff90f46822efce6143e6dc2e1)
2024-02-08 12:39:03 +01:00
deltanedas b45675731d
move criminal records console component to shared (#24957)
* move criminal records console component to shared

* todone

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 9b1c88b78b4d27d7a762ebd80dc4294e9cf6332f)
2024-02-08 12:37:47 +01:00
keronshb 7b87d398ab
Actually fix store action upgrades (#24960)
actual fix this time

(cherry picked from commit b88a8f0bb2a4e1c9dca39bf0778aa3c6c947702f)
2024-02-08 12:37:33 +01:00
keronshb 452347902d
Store Action Upgrade Fix (#24959)
(cherry picked from commit e79d2b5561692f34c3ee88c0d2a5707982227af2)
2024-02-08 12:37:32 +01:00
deltanedas 965e1cae57
criminal records revival (#22510)
(cherry picked from commit 683591ab046eb720e6ccfd3d0f6e5574f5f7efbc)
2024-02-08 12:37:29 +01:00
metalgearsloth c639a4efbb
Predicted movement opening lockers (#24937)
Relay wasn't really networked properly and this annoys me.

EntityStorage is still pretty skrunkly but this fixes the main issue I think.

(cherry picked from commit 042feae2e91f41f7d39e55340405e3c448903d61)
2024-02-08 12:36:12 +01:00
themias fe0e533769
Add face bandanas (#24597)
* add face bandanas

* oops

* make face bandanas butcherable, also one bite

* oops

* Add mouth IdentityBlocker to bandanas

* refactor to use foldablecomponent

* remove some leftover bits

* remove HamsterWearable until face sprite updated

* oops

* review changes

* remove a few unneeded bits

(cherry picked from commit b503fe586423773ed6484a9ead8ff21673dcdc66)
2024-02-08 12:36:09 +01:00
keronshb 2675d7bd06
Adds a refund button & action upgrades for stores (#24518)
* adds refunds to stores

* Adds method to check for starting map

* comments, datafields, some requested changes

* turns event into ref event

* Adds datafields

* Switches to entity terminating event

* Changes store entity to be nullable and checks if store is terminating to remove reference.

* Tryadd instead of containskey

* Adds a refund disable method, disables refund on bought ent container changes if not an action

* Removes datafield specification

* Readds missing using statement

* Removes unused using statements

* What the heck is listing data

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 257909fd97c05bfde837a76afe5c5c612afc9f28)
2024-02-08 12:36:06 +01:00
Jezithyr 070af36c57
Emergency revert for pulling (#24923)
Revert "Pulling rework (#20906)"

This reverts commit 0d8254b2a2891f8d5623c9878bd0e567d0c7fe3c.

(cherry picked from commit c15b0691ec452e543a3cc6894a28bb409dbc65f8)
2024-02-08 12:34:47 +01:00
Arendian d6cb163db3
Fix sliding bug (#24846)
* Fix slip bug

* debug assert

* count

* DebugAssert

(cherry picked from commit 9e484c4b61352a81bb84e2e1e9e030d13ff1464a)
2024-02-08 12:32:21 +01:00
Krunklehorn c12dacd966
Travelling pointing arrows, brains can no longer point (#24864)
* Decoupled from gravity, constant animation time, manual networking, cubic interpolation

* Reduced overshoot

* Implemented PointAttemptEvent, reacts with mobstate & sleeping

* Brains can no longer point, PBs must be inside a chassis

* Removed chassis check, made callback more obvious

(cherry picked from commit d01d75073cc4179ca5e34cacccd2ca6387e2bf99)
2024-02-08 12:32:04 +01:00
Krunklehorn 731da5de6b
Fixed unable to select None for character spawn priority (#24897)
Allows None to be selected

(cherry picked from commit 778a704b5820811d9267a23a8c080a83bc606ae4)
2024-02-08 12:32:02 +01:00
Nemanja 49a1b47c09
Decouple panels and wires (#24840)
decouple panels and wires

(cherry picked from commit 5db6a3eafc08132b7415be23eb40506ca2f550a9)
2024-02-08 12:32:00 +01:00
metalgearsloth 7e7655b3c4
Pulling rework (#20906)
* Pulling rework

Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.

* More pulling cleanup

* stats

* More cleanup

* First draft

* More pulling

* weh

* Fix puller

* Pulling working

* Fix merge

* Dunked

* Self-merge time

(cherry picked from commit 0d8254b2a2891f8d5623c9878bd0e567d0c7fe3c)
2024-02-08 12:31:57 +01:00
Tayrtahn a1e09ff808
Update FollowerSystem's fix to use new helper property (#24889)
Updated FollowerSystem's fix to use new helper property

(cherry picked from commit 79e3a6630d94a7409500b5856fd2a1518533a3d9)
2024-02-08 12:31:40 +01:00
Jajsha 38bbf2bf5f
Various borg law fixes (#24870)
* Various fixes

* Fix bad ordering with scrambled law orders

(cherry picked from commit e4f6a4bea67e9ea99240c8053f6cbbdc70e62c7b)
2024-02-08 12:31:29 +01:00
Tayrtahn b659a3c61a
Fix pressing shift while held triggering escape (#24878)
* We meet again, my old friend.

* Helper property

(cherry picked from commit 31207006f50d342d2d29c366977ebf4f783a68ea)
2024-02-08 12:31:28 +01:00
Bixkitts 971502af2c
MeleeSoundComponent Working With 0 Damage (#24872)
* made hit sound logic potentially better

* Function already tries all fallbacks, no reason to return bool

* NoDamageSound execution path

(cherry picked from commit b98dc669741a3e5199e9fa03d82703821ab5284c)
2024-02-08 12:27:15 +01:00
Leon Friedrich dcf188f617
Fix storage destruction/deletion bug (#24882)
(cherry picked from commit 3ffa15ce3434f84012785c696c7d403bf3574f17)
2024-02-08 12:27:14 +01:00
Psychpsyo 3c2f10a9c0
Screen Shake Intensity Slider in Accessibility Settings (#24749)
* Reduced motion toggle disables screen shake

* Actually, screen shake is its own slider instead

* Cache screen shake intensity cvar

(cherry picked from commit ba0ca39a7ad5ceef2ae0582e13be5044e6f0a5f7)
2024-02-08 12:27:11 +01:00
deltanedas 5826739524
fix spray paint popup spam on invalid door (#24857)
fix popup spam on invalid door

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 58e28b5136261d4b308a1882fc64c542575d40e7)
2024-02-08 12:26:41 +01:00
metalgearsloth b6a3448108
Make popups nullable (#24802)
This standardises it with audio and whatever. Me when I sprinkle nullchecks everywhere.

Was 50/50 on making new non-nullable methods but figured it would bloat too hard and you can't access strings by .Value anyway.

(cherry picked from commit 606c5a8c8b1005de62c33d5de888f67a8eae0ccc)
2024-02-08 12:26:32 +01:00
deltanedas 0b0de4eb50
spray painter rework (#23287)
* refactor and add Department to PaintableAirlock, move it to server dir since its in namespace

* add departments to doors, cleanup

* add style -> departments mapping

* AirlockDepartmentsPrototype

* update shared spray stuff to have department

* name file the same as the class name

* department optional

* refactor spray painter system + send department

* fixy

* client

* no need to rewrite ActivateableUi

* pro ops

* the reckoning

* hiss

* .

* :trollface:

* add standard atmos colors to palette

* Update Content.Shared/SprayPainter/SharedSprayPainterSystem.cs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit c49c78bafaddc3ed69714eaf41920e1565dbd292)
2024-02-08 12:25:35 +01:00
metalgearsloth 2a839fcb94
Remove obsolete transform call (#24217)
* Remove obsolete transform call

Shrimple PR also fixed bad flatpack call that would break on non-standard tilesizes.

* Update calls

* weh

(cherry picked from commit 52808694e0a479c162930a0aae20e91b68bc67a4)
2024-02-08 12:23:11 +01:00
Magnus Larsen e0a3cfacea
Fix clientside storage Whitelists (#24063)
* Fix outdated component name in assaultbelt whitelist

RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)

* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared

* Move LightReplacerComponent to Shared

* Move Utensil, Mousetrap components to Shared

* Move SprayPainterComponent to Shared

The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.

* Add trivial Produce and Seed components to Client

This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
2024-02-08 12:22:58 +01:00
Aexxie 16d77d483e
Move grenade components to shared (#22691)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Delete .run/Content Server+Client.run.xml

HOW DID THIS GET IN HERE ITS NOT AHHHH

* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update ExplodeOnTriggerComponent.cs

* Revert "Delete .run/Content Server+Client.run.xml"

This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.

* Fix?

* cannot figure out how to get this to go back please forgive

* Fixes a network issue

* leftovers

* Fixes

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 467e983ba972a7ae749c95448febd19c7c285514)
2024-02-08 12:22:56 +01:00
nikthechampiongr 639d3af97a
Rev Components are no longer leaked + Rev and Zombie icon visibility to ghosts is now controlled by a cvar (#22194)
* Initial work on having the Rev icons not be visible to ghosts depending on a Cvar and a component.

This commit just makes it so that the revcomponent and headrev component
are not shared with clients that shouldn't know about them. This is due
to the concern that clients having access to those components, even if
no image was displayed could allow modified clients to have meta
knowledge of revs.

Currently this has the issue that if a player later
for example becomes a rev, none of the existing rev components get
networked to them. I am not sure there is currently an effecient
solution to this.

This is probably in an issue for a lot more stuff. I might just make it
so all the logic just moves to the client on whether to put the icon
again.

Also this commit adds the ShowRevIconsComponent to allow anyone with it to just
view rev icons.

* Rev components now get communicated to clients that didn't have them previously and the AntagIconSystem is now properly checking whether to give the icons.

We now dirty all the rev/headrev components when someone gets converted
or gets the ViewRevIcons component. The AntagIconSystem now checks
whether it should draw the icons mostly based on an event, this is still done
client side.

This is not a full proof solution to make it so clients can't know
someone is an antag when they shouldn't because:
1. There are other components that need similar treatment, to my
   knowledge not to for revs but for other antags. Maybe even the mind
   component. This could be addressed in future PRs.
2. We cannot ensure that clients forget about these components if the
   client gets deconverted for example. We can of course have code that
   does this, but it will necessarily need to be done on the client and
   if the client is modified then there is no way to ensure this.
   Of course at that point they should already know who their fellow
   revs are so this might not be an issue.

I now need to do the same thing for zombies in a future commit.
A similar system for nukies also needs to be looked at but I will not be
doing that in the PR this commit ends up in.

* Misc name changes and cleaning up the ZombieSystem

Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.

* Misc name changes and cleaning up the ZombieSystem

Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.

* Merged 2 if statements into 1 on the Zombiesystem.

* Cut down on code duplication in AntagStatusIconSystem

Now instead of having a seperate function for each component, there is 1 generic function. Functions for special cases
like the Rev/Headrev comp can have a separate function that does the special check and then calls the generic one.
This is done through the IAntagStatusIconComponent interface which provides a common interface to get the Icon.

* Removed some duplication from the SharedRevolutionarySystem with generics.

I have no idea why I didn't think of this sooner.

* Addressed Reviews I think

I think events get unsubbed automatically but I am probably missing something that I have not understood.
Either way this is a requested change.

* Replace war crimes with actual fixes for reviews

It was not clear to me what the reviews meant

* Addressed reviews by removing need for cvars.

Whether icons are visible to ghosts is now determined by a bool in IAntagStatusIcon which all antag components
with status icons should implement.

* Update Content.Shared/Revolutionary/SharedRevolutionarySystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 8b19b7fab9dd8fb115f65794d97a26ebb9aa1142)
2024-02-08 12:22:54 +01:00
Repo f016a076c2
Fix aHelp relay to detect AFK Admins (#24482)
* Add AFK detection for aHelp relay and admin specific afk time.

* Correct query to new refactor

* Change AFK timeout to 10min or else Pancake closes my PR 😭

* It wasnt a bug it was a feature, way less aHelps that way.

* aHelp Colors arn't real!

* Update Content.Shared/CCVar/CCVars.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 00841217062ba60d38320dfd2b93288548bb4201)
2024-02-08 12:22:51 +01:00
deltanedas 215d861bb8
make dialog window not evil (#24677)
* add Placeholder and make default buttons flags consistent w old behaviour

* DialogWindow ops

* make QuickDialog use DialogWindow

* Update Content.Client/UserInterface/Controls/DialogWindow.xaml

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 6b03aaaec78bd50c8f4730c9aa7d0f5cea76e782)
2024-02-08 12:21:02 +01:00
AJCM-git 8081242009
Cleanups PolymorphSystem/Components/Prototypes (#23721)
* Cleanups PolymorphSystem

* forgot this

* Nah

* Fix test

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit b8f0ed3975a4b887ca8dd75dcc07e0ac5ee11646)
2024-02-08 12:20:24 +01:00
metalgearsloth adddd74cff
Fix item toggles where no sound exists (#24807)
Oop

(cherry picked from commit bd86447f996e10a1befda16404f0155209efa0e1)
2024-02-08 12:20:04 +01:00
Arendian b98e16ff53
Spacelube slide (#24801)
* Space lube now makes you slide

* review

* oh lord he slippin

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 4f3b8d740cecfb736b018fd78a2be71f5397644d)
2024-02-08 12:17:49 +01:00
SlamBamActionman 69b3d47a60
Visitor job (#23972)
* Adds Visitor role and ShowInIdCardConsole property

* Add visitor to Agent ID card

* Fixes yaml test

* Fixes based on feedback

* Fixes based on feedback

(cherry picked from commit 1862f8aa1745f147fa54428179e568c9298a9fda)
2024-02-08 12:17:35 +01:00
Krunklehorn 922407e2e8
Client customization late-join spawner priority for arrivals/cryostorage (#24586)
* Initial commit, requires server restart to take effect

* Exposes callbacks directly instead, takes effect immediately

* Cleaned up control flow, swapped cvar for client customization

* Switched to int, dictionary of callbacks, migration

* Update Content.Shared/Preferences/SpawnPriorityPreference.cs

* krunkle stan

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

(cherry picked from commit ed0f2aa2213cc47b817476206a2dd0b4e7c176b1)
2024-02-08 12:16:20 +01:00
Ed 25dbae8f9c
Lock Anomaly generator to research access (#24464)
* small patch

* fix

* remove garbage

* fix

* moved to shared events

* fix

* LocId

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 498ad2d5d714c73d9212bda9d3d89d53b2001e04)
2024-02-08 12:11:07 +01:00
Sergey Dikiy f6f08bdc55
Added Warning state for AME (#24699)
added warning state for AME

(cherry picked from commit f3ff35dcfa5afb417c24ba9f21cfc2bc414d0c4f)
2024-02-08 12:11:05 +01:00
Kot 08840a5539
Fix SSD indicator (#24589)
Fix ssd indicator

(cherry picked from commit fed43f05d0e95d51e2426a80c7e8963d585c5521)
2024-02-08 12:10:34 +01:00
Jajsha 0b5c8fde9b
Tweak borg laws (#24698)
* Change emagged laws to append modifiers instead of completely changing them.

* Maybe fix everything not working

* bugfix

* Fix missing secrecy law and allow basic borgs to be emagged correctly

* Localization

* Actual localization

* test

* Test

* Remove dummy debug value

* Fix bad law ordering

* Tweak the secrecy law

* Minor law tweaks

* Remove obsolete argument

* Fix YAML

(cherry picked from commit 27592ba898201d0b09c95f6b0958503407d01bb5)
2024-02-08 12:08:02 +01:00
metalgearsloth 4c7c904549
Remove vehicles (#24681)
* Remove wheelchairs

Vehicle code is dogwater and wheelchairs just keeps exposing edgecases. If someone wants it brought it back they can do vehicle refactor.

* Also this one

* Remove vehicles

* goodbye vehicles

* Remove this check

* sasd

* Cronch

* Add sprites back

* jani

(cherry picked from commit d2f20d8955a25a32aa5fb9b3631a41921b464cd4)
2024-02-08 12:06:49 +01:00
Ed 86a9930c71
Anomaly bug fix (#24783)
fix

(cherry picked from commit 884a5441202dfbfe715460d3cea76ebf0dbcc550)
2024-02-08 12:04:53 +01:00
metalgearsloth 36e28ecfcf
Firestarter fixes (#24647)
* Firestarter fixes

- Actually networks the action.
- Namespace fixes.

* No networky for you

(cherry picked from commit a6ea8b210db079d30823e7b4d8faa32aefa17582)
2024-02-08 12:04:52 +01:00
Kara d35e2f39a7
Roundstart variation game rules (#24397)
* Raise `StationPostInitEvent` broadcast

* Basic variation pass handling

* standardize names + rule entities

* why does it work like that?

* add to defaults

* light break variation pass

* ent spawn entry

* move some stationevent utility functions to gamerule + add one for finding random tile on specified station

* forgot how statistics works

* powered light variation pass is good now

* station tile count function

* public method to ensure all solutions (for procedural use before mapinit)

* move gamerulesystem utility funcs to partial

* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit

* trash & puddle variation passes!

* oh yeah

* ehh lets live a little

* std

* utility for game rule check based on comp

* entprotoid the trash spawner oops

* generalize trash variation

* use added instead of started for secret rule

* random cleanup

* generic replacement variation system

* Wall rusting variation rule

* account for modifying while enumerating

* use localaabb

* fix test

* minor tweaks

* reinforced wall replacer + puddletweaker

(cherry picked from commit cc24ba6a317c4bee84ffa1eda8397c255ca92be9)
2024-02-08 12:03:43 +01:00
Kara d4f1f1fdf5
Reduce throwing recoil further (#24759)
(cherry picked from commit e82964bbf44ce2e6b10c585090eec2dd0cd27237)
2024-02-08 12:03:00 +01:00
themias 1f1c07a622
Allow IdentityBlocker partial coverage (#24741)
* Allow IdentityBlocker partial coverage

* rename to TotalCoverage

(cherry picked from commit d75f6c3db4f638e9a479fe40c8d50f0e6c137556)
2024-02-08 12:02:46 +01:00
Nemanja 59b820aeff
make lathe visuals not required (#24757)
(cherry picked from commit bd46d7cc8ab6ad92a4d5a7cdd12dd1ce8f6265e9)
2024-02-08 12:02:20 +01:00
DrSmugleaf 55845b0537
Fix ClimbSystem removing the climbing fixture when it still has contacts (#24756)
(cherry picked from commit 83901cafc5722a2e89092817dbd9beddff5a680f)
2024-02-08 12:02:19 +01:00