Commit graph

247 commits

Author SHA1 Message Date
Dmitry
7244f00e83 merge remote wizden/master 2026-10-05 18:57:03 +07:00
qwerltaz
e39cd127d9
fix some station events targeting off-station grids (#45813)
* fix vent critters spawning off station

* I polish the code

* add utility to get entities ONLY on the station. use in vent critters rule.

* fix station events affecting outside grids

* better argument names for GetEntitiesWithComponentOnStation

* BreakerFlipRule

* \n

* fix doc in GetEntitiesWithComponentOnStation

* keep the comments

* remove BreakerFlipRuleComponent Blacklist

* minor cleanup

* review

* format

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-03 19:17:59 +00:00
SnappingOpossum
5fa5ac3853
Fix immovable rod spawning and convert them to use EntityTables (#46264)
* Move immovable rods to entity tables + fix them spawning

* Review

* Missed some whitespace.
2026-10-01 18:53:39 +00:00
Dmitry
9f20d8bc46 merge remote wizden/master 2026-09-30 12:45:41 +07:00
Dmitry
b1861ffb69 merge remote wizden/master 2026-09-30 12:42:28 +07:00
Whatstone
456c291073
SpaceSpawnRule: generate around grid center, not local origin (#46225)
* SpaceSpawnRule: generate around grid center, N try

* handle non-positive MaxAttempts

it'll just spawn on the arc at a random position, like it does now!

* comment

* fix use of indices in spawn point index list

you absolute boob

* MaxAttempts, clear before FindGridsIntersecting

Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>

* formattt

---------

Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>
2026-09-29 20:55:19 +00:00
Whatstone
27ca7ebbc6
Cleanup: Resolve GameRule warnings. (#46094)
* Resolve StationEvent warnings

* fix misuses of ent after rename, paracusia flip

* oh god more rules

* comments, whitespace, unnecessary precision

* comments, NotNull->IsNull

oops

* more consistent ent vs. ent.Owner, whitespace

* Greytide: "with accress from... access groups"
2026-09-20 17:55:24 +00:00
Dmitry
5ea431e0e0 GameTicker upstream fix
StationEvents
2026-09-20 03:12:58 +07:00
Whatstone
a023e5784c
Cleanup: Remove byte order markers from most files (#45796) 2026-09-17 23:23:54 +10:00
Princess Cheeseballs
2c6ffecf62
Move GameTicker to Shared (#45834)
* Scope creep my ass

* why was this shit not pushed????

* gone...

* fix that

* review plus buildd

* asfsafsafsafsafas

* grug

* burber

* I'll fix this later

* shrimply die

* also this

* it's snerf or snuthin

* assaads

* round snend

* aaaa

* fix this shit for real

* actually, don't start GameRules until MapInit now that I think aboot it.

* forgot u

* don't actually need this part nullable

* Deffer comp removal

* one liner

* do that too

* chungus

* Honestly makes more sense here, plus WHY are we doing all that shit on "GameRuleAdded" rather than GameRuleStarted(?)

* deferred removal :V

* aaaaaaaaaaaaaaa

* whhop

* Whoop

* better

* landmine that I placed for myself then forgot about lmao

* cleanup

* FUCKING `!`

* gotovo

* amogus

* please don't check by metadata I beg

* waawsasfdfsasfa

* sfafsasfafsas

* fdsaasffsasfa

* code

* fix

* fasasffasfasfsad

* chungaas

* I may be stupid

* gra

* graaaaaaaaaaaaaaaaa

* comment

* gra

* clearing is not predicted and would require major refactors, so don't cache on client.

* lame shit :P

* last holes

* nukeopsfsafsasafsfafsa

* why  was that shit public bruh

* bubrbgwahrghfaka

* dynamic

* revert change that did nothing lmao
2026-09-16 19:34:19 +00:00
Jessica M
6a9421f18a
remove all instances of  (ZERO WIDTH NO-BREAK SPACE) (#46040)
remove all instances of 
2026-09-15 20:48:08 +00:00
DrSmugleaf
65f5f67cd5
Make every EntitySystem partial (#45220)
* Make every EntitySystem partial

* Oobs thats for a diff PR

* Also oops on that one

* Test systems

* git are we fr

* Update file templates

* cleanup empty classes while we are here

* forgor

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-14 18:24:47 +00:00
deltanedas
cf7fde3d62
Big prototype and datafield cleanup (#45202)
* giant protoid cleanup

* yml changes

* !

---------

Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-08-12 02:07:22 +00:00
w3ryfrate
02e8523f05
BreakerFlipRule tweaks and ApcToggleBreaker cleanup (#45097)
* Logging fixed + minor clean-up of ApcToggleBreaker method

* ATS is no longer targeted by BreakFlipRule

* Fixed typo

* Now uses Uid

* Now uses Uid

* Fixed look-up

* Added blacklist to BreakerFlipComponent to specify which entities shouldn't trigger the game rule

* small fix
2026-08-11 21:33:52 +00:00
Krunklehorn
8d1829335e
Power outages are shorter and only affect the main (largest) grid (#37841)
* Cancel if APC is in unpowered list

* Also prevent re-power via re-construction

* Revert useless dependency

* Reduced event time by 10-20 seconds

* Move to ApcSystem

* Also verify game rule is active

* Empty commit

* Move station and affected checking

* Check for main station grid

* Fix format warnings

* Somehow this got duplicated

* Make GetRuleAffectingEntity() also check for BecomesStationComponent

* Make APCSystem also check for ActivegameRuleComponent

* Removed redundant checks and duplicate logic

* Add GridEventEligibleComponent with flag for PowerGridChecks

* Propagate GridEventEligibleComponent.

* Revert GridEventEligible

* Use GetLargestGrid
2026-08-11 04:55:02 +00:00
phönix
da8bf6df00
Predict intercom examine. (#43107)
* radiosystem is funny

* review

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

* dont forget your tests

* dont forget your loc

* networking

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

* dont return because its breaks

* uh

* review

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>

* more predictions and cleanup

* refactor: just me, being picky about whitespaces and commetns formatting

---------

Co-authored-by: slarticodefast <slarticodefast@users.noreply.github.com>
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: Tayrtahn <Tayrtahn@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-08-10 07:59:08 +00:00
slarticodefast
0b5bacf5c2
Refactor and predict Alert Levels (#41122)
* prediction

* fix

* reviews

* warnings

* cleanup

* grupdate

* bruh

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
2026-07-27 05:11:33 +00:00
Rouden
4d0c40f358
Predict StationRecords (#40240)
* Make StationRecords YAML savable

* Update SharedStationRecordsSystem.cs

* Predict Station Records

* Attribute subs, query Resolve & DirtyFields

* Cleanup, prediction fixes, locale fixes

* Update GeneralRecordsUi.cs

Remove GeneralStationRecordConsoleState and obsolete SelectStationRecord
2026-07-17 03:36:39 +00:00
Whatstone
9b29477f87
Cleanup: remove more redundantly defined EntitySystem members (#44470)
* redundant members

* catch IonLawSystem instances

* return the ion law sawmill, fix LogMan instances

* SalvageSystem LogManager inst

* IonLawSystem: public Sawmill

* what even is initialization order?
2026-07-02 19:12:23 +00:00
Whatstone
f42f8df6d1
Cleanup: ProtoMan Part 2 - remove Client and Server EntitySystem IPrototypeManager instances (#44416)
* Remove all IPrototypeManager instances

* Remove redundant IComponentFactory instances too

* Found some stragglers

* DestructibleSystem.PrototypeManager: no dependency

* not based
2026-06-29 21:33:56 +00:00
eoineoineoin
ae66092d88
Remove player workarounds for PowerGridCheckRule (#32130)
Fix exploits for PowerGridCheckRule

Don't allow breakers to be toggled while rule is active
Turn off newly-constructed APCs while rule is active
2026-06-29 11:01:05 +00:00
Whatstone
f339f58945
Replace all uses of System.Random with IRobustRandom, resolve all System.Random warnings. (#32)
* Remove all uses of System.Random

* Use IRobustRandom in BinomialNumberSelector.Get

* Remove remaining ToolRefinableSystem S.Random inst
2026-06-16 23:38:37 +00:00
Eveloop
22a547c7c8
Use dependency injection for EntityQuery<T>s in Content.Server (#43566)
* Replace usages of EntityQuery with dependency injected ones in Content.Server

* Remove unused EntityQuery dependencies

* Restore CheckPressureAndFire override method

* Revert EntityQuery refactor changes to DisposalTubeSystem.cs & DisposableSystem.cs

* Infer Transform/Metadata directly instead of passing (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Apply suggestions from code review

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-05-17 15:59:37 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
Centronias
38f7800370
Single item cargo orders are delivered in Parcel Wrap instead of crates (#40834)
* - rework a bunch of cargo orders to not send a crate with just one thing
  - instead sends the item, wrapped
- add ability for cargo orders to wrap the item ordered in parcel wrap
- cargo order name and descriptions are now localization strings, but still 99.99% of the time just get that info from the entity they're spawning
- small refactor to how cargo orders move around in cargo code so that the actual order proto is kept around longer
- small rework to certain restock cargo orders to halve the cost and number of items received in one order

* oop

* Suffering

* Arbitrary containers for cargo products

* I ran the tests locally and they passed, github please rerun :)

* massage Slarti's work into this.
Mainly by taking the API wrapping ability out back with the rifle q-q

* testfail fake

* wow `_applyingState` is useful, I wonder where I should've been using that in other PRs before :^)

* pr comments

* tfw the hook doesn't update the submodule

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

Co-authored-by: āda <ss.adasts@gmail.com>

* PR comments

* fixies

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

* Update Content.Shared/ParcelWrap/Systems/ParcelWrappingSystem.WrappedParcel.cs

* fix wrapped parcel entity name + audio

* Actually read PR comments

* Apply suggestions from code review

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

---------

Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-03-15 13:45:46 +00:00
Moony
93dccc34c5
Content-side IRobustRandom cleanup. (#43231)
* Content-side fixes for engine IRobustRandom rejig.

* Define for ensuring SetSeed works.

* Poke.

* Poke

* Poke.
2026-03-14 17:37:02 +00:00
ScarKy0
f3bb1becf5
Vent Hordes (#43047)
* init

* port hostiles to hordes, fakeout horde

* cleaning, docs

* i may be blind sometimes

* i may be even blinder

* remove friendly announcements

* fuck it

* i love microbalancing

* review

* review

* review p2

* Update Resources/Prototypes/GameRules/pests.yml

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* review + powercreep

* lower the times to account for the gamerule delay

* review

* review

* fuck this return actually

* fial

---------

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-03-11 23:28:47 +00:00
Pieter-Jan Briers
7b1ed2bd29
Remove duplicate loc getstring calls (#42648)
guh
2026-01-25 23:02:57 +00:00
pathetic meowmeow
8cf744ec55
Visual nubody (humanoid appearance refactor) (#42476)
* initial visual nubody

* oops overlay

* im so pheeming rn

* conversion...

* tests

* comeback of the underwear

* oops eyes

* blabbl

* zeds

* yaml linted

* search and visible count constraints

* reordering

* preserve previously selected markings colors

* fix test

* some ui niceties

* ordering

* make DB changes backwards-compatible/downgrade-friendly

* fix things again

* fix migration

* vulpkanin markings limit increase

* wrapping

* code cleanup and more code cleanup and more code cleanup and more code cleanup and

* fix slop ports

* better sampling API

* make filter work + use the method i made for its intended purpose

* fix test fails real quick

* magic mirror cleanup, remove TODO

* don't 0-init the organ profile data

* remove deltastates

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 07:07:53 +00:00
B_Kirill
c1a21693fa
Cleanup warnings: Use TransformSystem for anchoring (#39778)
* Cleanup

* Bonus

* I hope this helps

* Revert
2025-09-23 14:52:51 +12:00
Pieter-Jan Briers
0c97520276
Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
FungiFellow
0bbe335a3a
Stop Sentience Event targeting Zombified Creatures (#39950)
* Strip Target From Zed

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs

* Update RandomSentienceRule.cs
2025-08-29 13:48:31 +02:00
slarticodefast
d4f96fd1c6
predict morgue and crematorium (#39293) 2025-08-21 16:49:50 -07:00
metalgearsloth
fd52f698c7
Predict PoweredLights (#36541)
* Move PoweredLight to shared

* Predict the rest of the owl

* reacher

* compinit & anim

* Fix names

* Revert this?

* Fix these

* chicken drummies

* deita

* Fix

* review

* fix

* fixes

* fix PVS weirdness

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-08-11 23:06:28 +02:00
Nemanja
1374ceea47
Move some Station methods into shared (#38976) 2025-08-08 11:22:34 -04:00
DrSmugleaf
00826aaad6
Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out (#37959)
* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out

* Missed one

* Missed another

* Fix data field ids
2025-07-10 05:06:51 +02:00
Tayrtahn
f09bade8e7
Validate remaining ProtoId strings (#38747)
Validate remaining ProtoId strings
2025-07-04 22:55:45 +02:00
Tayrtahn
75db49f9c0
Clean up all missing EntitySystem proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
pathetic meowmeow
3d40bebbef
Allow cargo request computers to send orders to the primary account (#37943) 2025-06-09 11:11:19 -04:00
Tayrtahn
d28c64f76a
Fix some misc warnings (#37858)
Fix misc warnings
2025-05-27 19:54:19 -04: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
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
Winkarst
ebc1bff4cb
Cleanup: Use `SoundCollectionSpecifier instead of string literals in PowerGridCheckRule` (#35449)
* Cleanup

* Update

* .

* Volume
2025-02-25 08:16:10 +11:00
Winkarst
45e7891706
Cleanup: Pass in `IComponentFactory in EntityPrototype.TryGetComponent calls inside ImmovableRodRule` (#35462)
Cleanup
2025-02-24 18:57:39 +01:00
ScarKy0
dd28f17b9a
Fix access configurator debug assert (#34330)
* fix

* greytide fix

* fix admin log

* Dirty
2025-01-09 19:22:28 -05:00
slarticodefast
c28f4fdc7f
Fix greytide virus hitting other maps (#33806)
fix greytide virus hitting other maps
2024-12-11 15:30:29 +01:00
slarticodefast
470c869ce2
Greytide Virus station event (#33547)
* proof of concept

* full implementation

* I commited a crime

* t

* min players increase
2024-11-27 00:50:20 +11:00
The Canned One
581a4d14fc minor Derelict Cyborg code changes. 2024-10-04 08:31:55 +02:00
The Canned One
963009a440 Changes IonStorm related code with no gameplay changes. 2024-10-03 11:34:24 +02:00
The Canned One
7169788e16 changed very minor stuff with no gameplay alterations. 2024-10-01 11:23:19 +02:00