Commit Graph

1097 Commits

Author SHA1 Message Date
Fildrance c43f3d500d 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-23 12:52:41 +01:00
Tobias Berger 974a0be949
Revert polymorphed entities before gibbing if revert on death. (#3492)
* Early merge of space-wizards/space-station-14/pull/36645

* Fixes for DeltaV

* minor formating fixes

---------

Co-authored-by: Sol <ewokgotswag222@gmail.com>
2025-04-17 11:08:44 +01:00
deltanedas 64417d3063
nuke autolathe/protolathe (#3079)
* nuke autolathe/protolathe

* change protolathe in construction test

* :trollface:

* remove evil boards from mysta locker

* remove hyper convection boards from the tech

* update guidebook

* make epi guidebook not lies

* migrate the boards to null

* nospawn because migrations dont apply for some maps

* a

* grr

---------

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-04-14 22:40:05 -04:00
deltanedas bc54a0c373
Merge pull request #3394 from deltanedas/upstream-ops
upstream merge 06/04/2025
2025-04-12 15:46:26 +01:00
deltanedas 1be6959466
Merge pull request #3410 from deltanedas/thaven-test-fix-2-ops
fix thaven mood test part 2
2025-04-09 18:16:02 +01:00
J 6571868f3b 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-06 21:35:59 +01:00
metalgearsloth 3410a10c94 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-06 21:35:57 +01:00
pathetic meowmeow 3fd75f210d Improve sprite fading behaviour (#35863)
* Click through faded sprites

* Count the mouse position for which sprites to fade
2025-04-06 21:35:57 +01:00
Fildrance 0e022994cb 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-04-06 20:52:12 +01:00
metalgearsloth 0fdb024752 Add BUI ctor tests (#31463)
5 lines of eaten iocmanager.injectdependencies led to this.
2025-04-06 20:52:00 +01:00
Tayrtahn c15b86a216 Delete AccessReaderTest.TestTags (#36153) 2025-04-06 20:49:17 +01:00
Tayrtahn 4cfb8e36e3 Fix embedded projectile deletion not being tracked by container (#36123)
* Remove deleted projectiles from the container tracking them

* Gotta dirty the container

* Remove the container component when all embedded projectiles are gone

* Add test

* No clientside deletion of networked entities

* Move cleanup logic before deletion
2025-04-06 20:43:53 +01:00
Tayrtahn 98fbce1001 Fix error when disconnecting the client while a projectile is embedded (#36048)
* Add test for disconnecting the client while a projectile is embedded

* Add check for non-terminating grid or map

* Add test that an embeddable detaches when the target is deleted.

* Remove Explicit tag from TestDisconnectWhileEmbedded
2025-04-06 20:38:23 +01:00
Tayrtahn b4c3549f40 Allow NukeOps test to function with multiple RuleGrids (#36049) 2025-04-06 20:36:55 +01:00
Tayrtahn 0df4732375 Fix migrations not being applied to PostMapInitTest (#35933)
* Fix migrations not being applied to PostMapInitTest

* formatting

* Raise the event outside the loop so it only happens once
2025-03-23 16:59:12 +00:00
Tayrtahn 0aa1fe7017 Fix wrong assert message in DeviceLinkingTest (#35964) 2025-03-23 16:17:17 +00:00
metalgearsloth 8850b504cc Sloth's subfloor vismask adventure (#35347)
* Add a subfloor vismask

Significantly cuts down on sent entity count.

* More optimisations

* Fix command

* Fixes

* namespace cleanup

* Review

* Vismasks

* Content update

* Bandaid

* awewa

* Revert these

* reh

* Update Content.Shared/SubFloor/TrayScannerComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-23 16:15:07 +00:00
Tayrtahn 0ad2fe8e71 Add a test to verify that all device signal sink ports can trigger (#35891)
* Add test of all device link sink ports

* Revert the fixed problem to prove that the test works.
Revert "Fix SpawnAndDeleteAllEntitiesInTheSameSpot heisentest (#32330)"

This reverts commit 4704309b4e7673e18019cb06701f66beaba9b1a2.

* Revert "Revert the fixed problem to prove that the test works."

This reverts commit cf0dbe797243552d8a63afefced2acd6829c3887.

* Assert that test devices aren't deleted between port triggers

* Test each port on a different map too

* Convert Linq to guard clauses

* Update Content.IntegrationTests/Tests/DeviceLinking/DeviceLinkingTest.cs

* More informative failure message

* Delete map after each test

* Don't bother sorting by ID

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-23 15:54:34 +00:00
Tayrtahn 5f5435ebef Let LocalizedDatasetPrototypeTest report multiple failures (#35876) 2025-03-23 15:52:08 +00:00
Tayrtahn 68c1525eab Make NukeOpsTest list RuleGrids on failure (#35873) 2025-03-23 15:50:01 +00:00
Tayrtahn 923472e3ca Add interaction tests for vending machines (#35801)
* Add interaction test for vending machines

* Add test of UI basic UI interactions

* Added test for dispensing an item

* Simplify and internalize test yaml

* Add check for restocking with wrong restock box

* Add test for breaking and repairing
2025-03-23 15:46:10 +00:00
metalgearsloth 9c1204ae08 Update b2dynamictree (#30630) 2025-03-09 23:24:40 +00:00
deltanedas f5e36cd0cd Add AssertMultiple to ContrabandTest (#35662)
* add AssertMultiple to ContrabandTest

* do the same for magazine visuals test

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-03-09 23:24:39 +00:00
deltanedas 9a82e8cee5 nuke metempsychosis 2025-03-09 21:02:29 +00:00
deltanedas f5035365a4
fix thaven mood test (#3158)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-03-08 19:42:27 +00:00
deltanedas f97350b31e
fine-grained mapping prevention (#3076)
* add all code for mapping categories

* add some mapping categories

* add categories to a few things

* ignore prototypes on client

* gaming

* shoukou ops

* chibi ops

* cc real

* sid meiers pirates!

* old ai sat

* pen

* make test errors better, listening post

* fix remaining tests, remove turret toolbox from a wreck

* john gaming

* reduce diff on stamps file

* update test

* :trollface:

* :trollface:

* :trollface:

* :trollface:

* :trollface:

* aaaa

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>

* resave centcomm

* orphan is good??

* gnu world order

* ok good

* update test to skip old files, not merge for maps

---------

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-03-06 13:10:24 +00:00
deltanedas f411ef7f0e merge master but real 2025-03-04 12:32:35 +00:00
deltanedas 0f3edc0b39
port better borgs from frontier (#3110)
* BetterBorgs: droppable, swappable cyborg item interactions (#2766)

* WIP: droppable, swappable, insertable cyborg items

* Half-baked borg HandPlaceholderComponent

* cyborg: sprite representation for empty slots

* nullable prototype

---------

Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>

* BorgSystem: check droppable items for duped mods (#2887)

* BorgSystem: check droppable items for duped mods

* Cache item comparer

* BorgSystem: Unremoveable after equip (#2854)

* raise interaction events to add fibers to things

---------

Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-03-04 12:10:32 +00:00
deltanedas 21e9219e5e make centcomm a grid 2025-03-04 12:09:42 +00:00
deltanedas ffeec8f481 centcomm isnt a grid 2025-03-04 12:07:39 +00:00
deltanedas 0bd022a8eb grrr... kitten... put on your uniform NOW! 2025-03-03 17:54:55 +00:00
deltanedas c978732b91 major cleanup of roboisseur test 2025-03-02 23:55:40 +00:00
deltanedas a1f67dd325 update shipyard test 2025-03-01 21:28:37 +00:00
Winkarst 721c722695 Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``StartingGearPrototypeStorageTest`` (#35474)
* Cleanup

* Fix
2025-03-01 14:28:21 +00:00
Winkarst 3f0791cb09 Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``MindTests`` (#35473)
* Cleanup

* Fix
2025-03-01 14:28:21 +00:00
Winkarst b8169082f2 Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``MaterialPrototypeSpawnsStackMaterialTest`` (#35472)
* Cleanup

* Fix
2025-03-01 14:28:21 +00:00
Winkarst b8d6a344e2 Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``MaterialArbitrageTest`` (#35471)
Cleanup
2025-03-01 14:28:21 +00:00
Winkarst 3da42b2b7b Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``InteractionTest`` (#35470)
Cleanup
2025-03-01 14:28:21 +00:00
Winkarst fe7234184c Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``HumanInventoryUniformSlotsTest`` (#35469)
* Cleanup

* Fix
2025-03-01 14:28:21 +00:00
Winkarst 9ffa277f40 Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``HandTests`` (#35468)
* Cleanup

* Update

* Fix
2025-03-01 14:28:21 +00:00
Winkarst afb99ac2e4 Cleanup: Use ``MapSystem.DeleteMap`` instead of ``IMapManager.DeleteMap`` in ``CargoTest`` (#35467)
* Cleanup

* Update

* Fix
2025-03-01 14:28:21 +00:00
metalgearsloth 6613a4622e Fix admin test arena (#35444)
* Fix admin test arena

* Add to GridsLoadableTest

* QueueDel map, remove nullable

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-03-01 14:18:37 +00:00
Tayrtahn 4174396b8d Add interaction tests for prying airlocks (#35409) 2025-03-01 14:13:56 +00:00
Leon Friedrich 42bc746ad0 Remove unnecessary prototype reloading in integration tests (#35199) 2025-03-01 13:36:44 +00:00
Ignaz "Ian" Kraft 30c8a2b16b Added a test for the MagazineVisualsComponent and fixed found issues (#34491) 2025-03-01 13:36:43 +00:00
Leon Friedrich f9aeb28bc7 "DO NOT MAP" items integration test (#34711) 2025-03-01 13:27:39 +00:00
ElectroJr e8bf7a09d7 Expand whitelist 2025-03-01 13:24:45 +00:00
ElectroJr 38a250f1bd Fix merge conflict 2025-03-01 13:23:48 +00:00
Leon Friedrich 6d25660029 Refactor map loading & saving (#34020) 2025-03-01 13:20:37 +00:00
metalgearsloth 9c7766c9bd Add planet lighting (#32522)
* Implements a Dynamic Lighting System on maps.

* Edit: the night should be a little bit brighter and blue now.

* Major edit: everything must be done on the client side now, with certain datafield replicated.
Changes were outlined in the salvage to accommodate the new lighting system.

* Edit: The offset is now serverside, this makes the time accurate in all situations.

* Removing ununsed import

* Minor tweaks

* Tweak in time precision

* Minor tweak + Unused import removed

* Edit: apparently RealTime is better for what I'm looking for

* Fix: Now the time is calculated correctly.

* Minor tweaks

* Adds condition for when the light should be updated

* Add planet lighting

* she

* close-ish

* c

* bittersweat

* Fixes

* Revert "Merge branch '22719' into 2024-09-29-planet-lighting"

This reverts commit 9f2785bb16aee47d794aa3eed8ae15004f97fc35, reversing
changes made to 19649c07a5fb625423e08fc18d91c9cb101daa86.

* Europa and day-night

* weh

* rooves working

* Clean

* Remove Europa

* Fixes

* fix

* Update

* Fix caves

* Update for engine

* Add sun shadows (planet lighting v2)

For now mostly targeting walls and having the shadows change over time. Got the basic proof-of-concept working just needs a hell of a lot of polish.

* Documentation

* a

* Fixes

* Move blur to an overlay

* Slughands

* Fixes

* Remove v2 work

* Finalise

---------

Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
2025-03-01 13:18:06 +00:00