]> git.smokeofanarchy.ru Git - space-station-14.git/commit
Roundstart variation game rules (#24397)
authorKara <lunarautomaton6@gmail.com>
Wed, 31 Jan 2024 05:52:35 +0000 (22:52 -0700)
committerGitHub <noreply@github.com>
Wed, 31 Jan 2024 05:52:35 +0000 (21:52 -0800)
commitcc24ba6a317c4bee84ffa1eda8397c255ca92be9
tree1fa7c57d508107d11c53a68e949315f7f6f9ca29
parent1029142740f53d1a6e8701b410f2ab63b13df4f6
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
37 files changed:
Content.IntegrationTests/Tests/GameRules/SecretStartsTest.cs
Content.Server/Chemistry/Containers/EntitySystems/SolutionContainerSystem.cs
Content.Server/Fluids/EntitySystems/PuddleSystem.cs
Content.Server/GameTicking/GameTicker.GamePreset.cs
Content.Server/GameTicking/GameTicker.GameRule.cs
Content.Server/GameTicking/Rules/Components/RoundstartStationVariationRuleComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/Components/StationVariationPassRuleComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/GameRuleSystem.Utility.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/GameRuleSystem.cs
Content.Server/GameTicking/Rules/RoundstartStationVariationRuleSystem.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/SecretRuleSystem.cs
Content.Server/GameTicking/Rules/VariationPass/BaseEntityReplaceVariationPassSystem.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/EntityReplaceVariationPassComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/EntitySpawnVariationPassComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/PoweredLightVariationPassComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/PuddleMessVariationPassComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/ReinforcedWallReplaceVariationPassComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/ReplacementMarkers/ReinforcedWallReplacementMarkerComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/ReplacementMarkers/WallReplacementMarkerComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/Components/WallReplaceVariationPassComponent.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/EntitySpawnVariationPassSystem.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/PoweredLightVariationPassSystem.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/PuddleMessVariationPassSystem.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/ReinforcedWallReplaceVariationPassSystem.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/VariationPassSystem.cs [new file with mode: 0644]
Content.Server/GameTicking/Rules/VariationPass/WallReplaceVariationPassSystem.cs [new file with mode: 0644]
Content.Server/Light/EntitySystems/PoweredLightSystem.cs
Content.Server/Station/Components/StationVariationHasRunComponent.cs [new file with mode: 0644]
Content.Server/Station/Events/StationPostInitEvent.cs
Content.Server/Station/Systems/StationSystem.cs
Content.Server/StationEvents/Events/StationEventSystem.cs
Content.Shared/Storage/EntitySpawnEntry.cs
Resources/Prototypes/Entities/Objects/Power/lights.yml
Resources/Prototypes/Entities/Structures/Walls/walls.yml
Resources/Prototypes/GameRules/roundstart.yml
Resources/Prototypes/GameRules/variation.yml [new file with mode: 0644]
Resources/Prototypes/game_presets.yml