Commit Graph

5469 Commits

Author SHA1 Message Date
metalgearsloth
a436032963 Fix tippy speech time (#36616) 2025-04-16 08:23:40 -04:00
SlamBamActionman
0da8984431 Fix certain foldable items not being possible to store in crates/lockers (#36625)
Remove OnStoreThisAttempt
2025-04-16 13:54:42 +02:00
J
b1c08582d5 Various system spring cleaning (#36206)
* Various systems warnings cleanup

* Last changes before submitting PR

* Add guard for transform component, fix failing test

* Small corrections

* Audio params to specifiers datafields

* Using audio params on components and configs
2025-04-16 13:08:22 +02:00
J
2a80540b70 Construction spring cleaning (#36163)
* Construction warnings cleanup

* More construction warnings cleanup

* Fix failing ITests - Remove unnecessary casts and dodgy anchroing implementation.

* Checking anchor status before setting

* Reusing shared system call

* inlining anchor setting
2025-04-16 13:02:41 +02:00
metalgearsloth
0a750fd6db Blindness networking (#36623)
* Blindness networking

Nothing actually sets this.

* Update Content.Shared/Traits/Assorted/PermanentBlindnessComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-16 12:27:25 +02:00
metalgearsloth
7e3f3a7ca3 Combat mode prediction thing (#36620)
Was written before predicted popups prolly
2025-04-16 12:27:10 +02:00
Flareguy
92b0f62500 New Experimental Science T3: Desynchronizer (#35752)
* desynchronizer real

* yaml stuff from slarti branch

* C# stuff

* oops

* review

* improve

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-16 11:33:39 +10:00
Nemanja
83c2fdb619 Restore Artifexium Effect (#36595)
* Restore Artifexium

* popup

* small tweaks
2025-04-16 00:49:58 +02:00
Nemanja
bbc0a09493 XenoArch Rebalancing (#36604)
* Miscellaneous XenoArch Rebalancing

* Miscellaneous XenoArch Rebalancing

* 1 durability anomaly node

* better version
2025-04-16 00:38:26 +02:00
Nemanja
22468b4d40 Sentient Artifacts Can Self-Activate Again (#36598)
Sentient Artifacts
2025-04-16 08:24:58 +10:00
Fildrance
d38042a0c0 3mo xeno archeology (first phase) (#33370)
* DAG Adjacency Matrix & Tests

* Fix sandbox type errors

* First pass on procgen

* Procgen adjustments

* Networking

* Cruft and god and beauty and analysis console

* convert to data types that dont make me want to kill myself

* starting work on console UI

* drawing nodes n shit

* damn that ui FUCKS

* XAT

* Add a bunch of basic triggers

* Fix trigger gen

* Add node info into the analysis console UI

* Add node unlocking

* more trigger cuz thats pretty cool

* final triggers + incorporate gnostic faith

* some ui changes, mostly

* Fix orphaned procgen segments

* its not random dipshit

* yeah... this one will make pjb happy....

* we call it a day for the UI

* imagine... shared power code...

* extraction WIP but we gotta sidequest momentarily

* oh hey would you look at that its the actual functionality

* distrotrased

* Small departure for randomness.

* ok yep yep indeed that is an effect very cool.

* thanos snap oldcode

* fuck it we ball

* feat: node scanner now displays triggered nodes. Removed unused old artifact systems and related code (most of it). xml-doc and minor fixups.

* refactor: most of preparations, cleanup and groundwork. also segment-related tests

* feature: all basic effects returning

* feat: finished effects lits, created weight lists for struct and handheld artifacts, fixed throw trigger and music ApplyComponent artifact effects not working

* feat: prevent non-first-time-predicted calls in shared artifact effect systems

* fix: remove gun effect from artifact effects - as it interferes with 'activate artefact' action

* fix: foam reagent selection, neat ApplyComponents art effect scenarios, handheld art is RadiationReceiver again

* fix: moved spawn/ pry&throw effect systems back to server part of code - entity duplication bugs were not quite fun

* refactor: fix protos

* refactor: fix linter

* fix: fix old artifact component names in yml

* fix: no more throwing error on artifact spawn with empty XAEFoamComponent.Reagents

* fix: removed old component usage in maps

* fix: remove more deleted components from map

* fix: ContainerContainer is now part of initial artifact entity, it won't be affecting UninitializedSaveTest

* refactor: fix tests, add loc description to toolshed commands

* Changed node scanner to tell the whole story about current artifact state

* refactor: remove excessive get of EntityCoordinates in XAE systems, removed Value access in NodeScannerDisplay

* fix: turned off TriggerInteraction, removed XAESpawn usage and system, EmpSystem now can use EntityCoordinates,

* fix: moved SharedXenoArtifactSystem.CancelUnlockingOnGraphStructureChange into RebuildXenoArtifactMetaData to lessen code coupling

* fix: XenoArtifactEffectJunkSpawn moved invalid rolls declaration

* refactor: set default value for XenoArtifactComponent.EffectsTable for tests

* fix: now explosions XAE can be activated for effect

* refactor: added some usedelay so artifactuse would'nt be spammed

* refactor: artifact-related hints improvements

* fix: artifact no longer spawns fauna into itself

* refactor: xml-doc and minor refactoring

* refactor: xml-doc for Xeno Artifact systems, renaming of questionable XAT systems

* map for playtest, TODO REVERT THIS

* fix: magboots trigger art from a mile

* refactor: bind artifact animation to unlocking state

* feat: radiation dmg now have reference to source (and artifacts won't irradiate themselves)

* fix: random artifact node durability now is rolled for max and not current value

* refactor: gas effects are more rare, hand-held artifact effects are filtered properly now, rad dmg trigger now requires only 20 dmg for activation

* feat: animations and sound effects for artifact force-use and failed finish of unlocking phase

* use only 1 file with art use animation

* refactor: minor artifact dmg triggers tuning

* feat: now nodes that CAN be unlocked are displayed with specific color in console.

* feat: now unlocking stage time is dynamic and it depends on amount of triggers player activated correctly. Failed one stops incrementing

* feat: now non-active unlocked nodes return more points if durability was not wasted

* feat: now puddle/foam effects change description of node

* fix: fix test failure

* refactor: renamed phasing effect, fixed failing test for elkridge

* minor balance changes

* refactor: split rare materials into separate effects

* feat: unlocked nodes without successor wont listen to unlocks, node unlock is not activating node

* fix: removed OnIrradiatedEvent duplicate c-tor

* revert changes of reach for playtest

* revert last row empty line removal on reach.yml

* fix: fix PVS bug, born from attempt to relay event to art nodes that were not synced yet to the client

* fix: fix elkridge for tests (again)

* refactor: xml-doc, more stuff predicted, allocation optimization in XAE/XAT systems

* refactor: naming

* refactor: extract variable refactor for XAEApplyComponentsSystem.OnActivated insides

* fix: duplicate xeno artifact unlocking sound fixed

* feat: CreatePuddle xeno artifact effect now can have min and max borders for chamicals to be drafted, minor XAECreatePuddleSystem refactor

* feat: networking for shared XAE components + xml-doc leftovers

* refactor: more xml-doc, fix XAEApplyComponentsComponent.Components not being serializable but trying to be

* refactor: xml-docs and XAEThrowThingsAroundSystem now uses circle and not box for prying tiles

* refactor: xml-docs, minor refactors

* revert XenoArtifactCommand.ArtifactPrototype being PrototId

* refactor: simplify the way ExtractionResearchLabel works

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-15 10:34:53 +10:00
Nemanja
ed3e4c7d4e Fix station income instantly accumulating roundstart (#36572)
Fix station money accumulating roundstart
2025-04-15 01:00:34 +02:00
Token
ace3682de3 Item HeldPrefix and Clothing EquippedPrefix toggler (#33054)
* Item and clothes prefix toggler
Handles Item.HeldPrefix and ClothingComponent.EquippedPrefix respectively

* stunbaton and magboots sprites activations to Toggler yml

* review

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 15:50:21 -07:00
MilenVolf
fc12739df0 Fix the ability to kill clumsy mobs by force climbing (#33844)
* Make clumsy work only when dragged by owner entity & Check for reclaimer comp

* Revert "Make clumsy work only when dragged by owner entity & Check for reclaimer comp"

This reverts commit 7ff984bbc2e53f7070580a4cc4b1b43f8f0461d0.

* Remove check that passes if somebody forces us to climb
2025-04-15 00:04:56 +02:00
ArtisticRoomba
6c2c5935ed fix RangeNumberSelector to actually be inclusive (#36155)
* fix RangeNumberSelector to actually be inclusive

* Convert all random number stuff to randomint and prune unused code

* another heisentest???

* another heisentest after a heisentest. im going to lose it.
2025-04-14 17:02:49 -04:00
metalgearsloth
9d03081fda Predict DamagePopup (#36547)
* Predict DamagePopup

Pretty easy one.

* cleanup and localize

* oops

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-14 21:10:09 +02:00
Tayrtahn
110ed2736f Convert spam letters to a LocalizedDataset (#36393)
* Convert spam letters to a LocalizedDataset

* Error -> warning

* Comments

* Add migrations for old spam mail entities
2025-04-14 19:38:21 +02:00
Ben
b01ca8e57e fix #31963: Stopped climbing movent while in containers (#32033)
* hack to resolve offset issues while in locker

* moved movment cancel from lerp to init

* Added DoAfter canceling for buckling and stowing

* changed container event & removed inventory check from climb initation

* resolved integration test fail

* style

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 17:56:14 +02:00
BramvanZijp
cf14cb3eb5 The long overdue downfall of stun meta - Stamina resists on Nukie & ERT Suits. (#35580)
* Add stamina damage resistance

* Probably starting a civil war within the community.

* Tweak some values, my chart was outdated.

* Tone down the values

* Allow a way to bypass the resistances, which forks downstream can use.

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Comment out the changes to non-deathsquad suits.

* minor text fix e

* review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 17:27:26 +02:00
Alfred Baumann
5e74afc72c Fix IDs without station records not being able to have nonstandard contents (#34921)
* fix ID console resetting to passenger

* review

* whoopsie! whitespace

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-14 17:02:27 +02:00
Pieter-Jan Briers
843d79be5f Fire extinguishers can now extinguish items, including when held/worn (#36267)
* Fire extinguishers now put out candles

This did not actually require any changes to flammable or extinguishers directly, the only necessary changes were to make the collision actually work.

Vapor entities (also used for fire extinguishers) now have a collision layer, so they can hit items.

Added a new FlammableSetCollisionWake component to actually enable collision on candles while they are lit, because otherwise CollisionWake on entities gets in the way too.

* Extinguishing items is now relayed to held/worn items

This means held candles get extinguished too.

Involved moving the core logic of ExtinguishReaction into an event so that it can be relayed via the existing hand/inventory relay logic.

* Add helper functions for subscribing to relayed events.

Use these in FlammableSystem

* Make extinguishers work on cigarettes too

A bunch of renaming to make the rest of my code work with SmokableComponent

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-04-14 19:00:47 +10:00
Leon Friedrich
4f8f2de561 Remove invalid error logging in HideLayerClothingSystem (#36529) 2025-04-14 14:56:37 +10:00
Leon Friedrich
6af4a4d9b8 Fix user interface interaction validation (#36480) 2025-04-14 02:09:56 +10:00
ArchRBX
d2bfa2fdda Examining now shows Coords on Handheld GPS, Coord readout update frequency increased (#31814)
* initial commit

* fixed LoadSaveTicksSaveBagel failure

* fixes issues raised in beck's review, yay!

* remove redundant variable

* removed delay on coordinate update, removed system update loop

* changed delay from 0.2s to 0.5s as travelling at high speeds would make it kinda illegible

* 0.35s seems to be the sweet-spot

* fixes merge conflicts

* remove unused dependencies

* review

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-13 11:29:13 -04:00
Verm
8084f48328 Fix sometimes still not dropping pulls after crit/death (#31637) 2025-04-13 16:52:25 +02:00
Nemanja
12b75beeab Departmental Economy (#36445)
* Cargo Accounts, Request Consoles, and lock boxes

* Funding Allocation Computer

* final changes

* test fix

* remove dumb code

* ScarKy0 review

* first cour

* second cour

* Update machines.yml

* review

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
2025-04-13 15:22:36 +02:00
ruddygreat
f61bbebb7f Fixes hitscan weapons not respecting reflectTypes (#34203)
* removes otherwise unused events that broke reflectType

* that last one broke everything. this actually fixes it

* minor cleanup

* move some stuff around for optimisation

---------

Co-authored-by: Ruddygreat <ruddygreat1@gmail.com>
2025-04-13 21:42:03 +10:00
Quantum-cross
4d41e720bb Fix for anomaly double explosion sound and sprite scaling flicker before removal (#36489)
* Fix anomaly supercrit explosion sound playing twice.

* Fix so that the supercritical anomaly doesn't scale back to normal visually before removal.
2025-04-13 01:27:00 +02:00
UpAndLeaves
fa09c540a2 Dehardcode zombie damage values (#36494)
* Quick, send it!

* no spaces, no fun

* Noooo I have to adhere to good code standards
2025-04-12 13:43:31 -07:00
Errant
0c6e21dec2 PlayerPanel Follow button (#36466)
* Follow button

* remove event stuff
2025-04-12 22:00:46 +02:00
Tayrtahn
76e72893c9 Add warnings when TagSystem methods are called with string literals (#36281)
Apply ForbidLiteralAttribute to all appropriate TagSystem methods
2025-04-12 16:18:31 +02:00
Milon
3a6441932e Directional BoundUserInterfaceMessageAttempt content edition (#36320) 2025-04-12 01:33:32 +10:00
Nemanja
1540880eb2 Predict Labels (#36406)
* Predict Labels

* nitpicks
2025-04-10 22:19:48 -07:00
slarticodefast
f6bfce38da remove mind roles from EntityWhitelist (#36089)
* remove mind roles from EntityWhitelist

* remove redundant dependency
2025-04-10 20:45:12 +10:00
beck-thompson
149c42f385 Predict inflatable barriers verb (#32420)
* First commit

* evil

* Made it not do weird things

* address review!
2025-04-10 20:39:13 +10:00
beck-thompson
3135b2ab3e Fix matchstick prediction issues (#31418)
* First commit

* Minor fixes please ymal error begone

* If this fixes it

* Last chance

* How

* Forgot

* First fixes

* Added correct component tags

* Minor cleanup

* Address review!

* Namespace change

* Fix yaml yelling

* Changes

* Update namespace

* Removed the unneeded files
2025-04-08 23:00:57 +02:00
slarticodefast
b276524468 fix rmobjective command and add completion options (#36396)
fix rmobjective command
2025-04-08 16:54:13 +02:00
Quantum-cross
716c0ef51f Allow sound to play at the start of anomaly supercritical animation (#36260)
* Add datafield to AnomalyComponent to play a sound when an anomaly enters supercriticality

* use Entity<T> pattern

* use implicit default for nullable

* don't forget to resolve the AnomalyComponent...

* Add comment for StartSupercriticalEvent "ent" parameter

* use implicit casts from Entity<T> to EntityUid

* StartSupercriticalEvent requires AnomalyComponent to resolve
2025-04-08 19:11:32 +10:00
slarticodefast
50bbb1c101 predict IgnitionSourceComponent (#36310)
* PREDICTION

* comment

* don't overwrite event args

* totally not a web edit

* intn't
2025-04-06 17:54:47 -07:00
ArtisticRoomba
9b86624d30 Fix blocked UI interaction on unpowered devices (#36319)
init
2025-04-05 23:05:42 +02:00
UpAndLeaves
d083842f1f Centcomm death rattle implant (#36113)
* behold!

* minor name change 👍

* Remove fields 👍

* Changes it to parent off DeathRattleImplant

* Adds implants round start and fixes hypothetical bug

* Update Resources/Prototypes/Entities/Mobs/Player/humanoid.yml

As per slarticodefast's suggestion

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-04-05 09:21:10 -07:00
slarticodefast
aa24066450 move DeviceLinking events to shared (#36307)
move events
2025-04-05 14:20:14 +02:00
J
af9526197a Extracts magic strings from Tag calls (#36305)
* Extracts magic strings from Tag calls

When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!

* Adds missing libraries

* Remove not yet implemented TagSystem changes

* Fix tag spelling error

Genuinely surprised there was only 1!

* Styling and proper type changes

* Styling

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-04 20:20:19 -04:00
metalgearsloth
d844ec250e Remove embed mispredict (#36297)
* Remove embed mispredict

I don't know why this is here but it doesn't seem to cause issues and transforms should be fully predicted so if there are bugs I will deal with them as they come up.

* a
2025-04-04 19:49:21 +02:00
metalgearsloth
b501026dcd Mob collision tweaks (#36296)
* Mob collision tweaks

- Remove the dot product default so moving also pops it.
- Cleanup the cvars so admins can adjust

* Gas canister revert
2025-04-04 17:14:04 +02:00
metalgearsloth
593804b517 Mob collisions (#34580)
* Conveyor optimisations

- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.

* Blocker version

* Finish

* Final

* Mob collisions

* impulses

* Collision smoothing

* Locked in

* 30tps working

* r

* fixes

* Best

* Fixes + CVars

* CVars in place

* Pushies

* Opt attempt 1

* Revert "Opt attempt 1"

This reverts commit 5ccd72dcbea09261a992aa1f7f05df169a1ce676.

* Fix mispredicts

* Ready-ish

* better

* Cleanup

* Fix conveyor power mispredict

* Forgetting to actually do deltas

* Fix buckle pushes

* Bagel save

* Revert "Bagel save"

This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.

* Conveyor resave

* Fix prediction

* Mob movement rewrite

* Bandaid

* Working version

* Tentatively working

* Friction to fix cornering

* More fixes

* Revert bagel

* Revert this

* Bad parity

* Working

* Fixes

* Woops

* Doc comments

* Pen cap cvar

* StandingState cleanup and sub

* Fix downed mobs

* fish

* client

* Disable pushing on tests

* More variables

* Movement mods

* Mass diff

* 1 more tweak

* Cvar
2025-04-05 00:33:52 +11:00
Luna "YuNii" Henrich
db62336618 Stop ghosts from being logged to Airlocks (#36261)
* stop ghosts from being logged

* thanks rider for the random import

* add new tag PreventAccessLogging

* once again removing random auto imports

* inverted if for code readability

* switch to ProtoId<> usage
2025-04-04 00:24:30 +02:00
Tayrtahn
c8fe3651e5 Add prediction to electric grills (#36241)
* Prediction for EntityHeaterSystem

* Switch to Entity<T>

* meh

* Move popup inside ChangeSetting

* Fix grill visually turning on when changing setting while power is off

* Add note about my failed quest

* Why isn't this an IDE warning?

* Move comment above switch expression in SettingPower
2025-04-01 09:43:19 -07:00
Fildrance
19f3497b35 refactor: simple radial menu for easier creation (#34639)
* it works! kinda

* so it works now

* minor cleanup

* central button now is useful too

* more cleanup

* minor cleanup

* more cleanup

* refactor: migrated code from toolbox (as it was rejected as too specific)

* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame

* refactor: major reworks!

* renamed DrawBagleSector to DrawAnnulusSector

* Remove strange indexing

* Regularize math

* refactor: re-orienting segment elements to be Y-mirrored

* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button

* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.

* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters

* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly

* fix: enabled any functional keys pressed when pushing radial menu buttons

* fix: radial menu sector now scales with UIScale

* fix: accept only one event when clicking on radial menu ContextualButton

* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always

* feat: simple radial menu prototype for easier creation

* refactor: cleanup, restored emote filtering, button models now have class hierarchy

* refactor: remove usage of closure from 'outside code'

* refactor: remove non existing type from UiControlTest

* refactor: remove unused using

* refactor: revert ability to declare radial menu layers in xaml, scale 32px sprites using scale in radial menu

* refactor: whitespaces

* refactor: subscribe for dispose on existing radial menus

* feat: now simple radial menu button models can have custom color for each sector background (and hover background color). Also added OpenOverMouseScreenPosition inside SimpleRadialMenu

* fix: AI door menu now can be closed by verb if it gets unpowered

* refactor: simplify hiding border, extended xml-doc for simple radial menu settings

* refactor: remove linq

* fix: fix AI radial action serialization using invalid type

* refactor: fix duplicate ShowDeviceNotRespondingPopup for AI by properly checking if it can interact

* refactor: whitespaces, changed list to array in simple radial button preparing methods

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2025-03-31 12:57:47 +03:00
beck-thompson
fc0a6dfdb3 Cleanup and small update to the stethoscope! (#36210)
* First commit

* Address most of the review!
2025-03-30 22:27:08 -04:00