mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-10-02 00:57:26 +00:00
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 cc24ba6a31)
This commit is contained in:
@@ -125,3 +125,22 @@
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: RampingStationEventScheduler
|
||||
|
||||
# variation passes
|
||||
- type: entity
|
||||
id: BasicRoundstartVariation
|
||||
parent: BaseGameRule
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: RoundstartStationVariationRule
|
||||
rules:
|
||||
- id: BasicPoweredLightVariationPass
|
||||
- id: BasicTrashVariationPass
|
||||
- id: SolidWallRustingVariationPass
|
||||
- id: ReinforcedWallRustingVariationPass
|
||||
- id: BasicPuddleMessVariationPass
|
||||
prob: 0.99
|
||||
orGroup: puddleMess
|
||||
- id: BloodbathPuddleMessVariationPass
|
||||
prob: 0.01
|
||||
orGroup: puddleMess
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
# Base
|
||||
|
||||
- type: entity
|
||||
id: BaseVariationPass
|
||||
parent: BaseGameRule
|
||||
abstract: true
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: StationVariationPassRule
|
||||
|
||||
# Actual rules
|
||||
|
||||
- type: entity
|
||||
id: BasicPoweredLightVariationPass
|
||||
parent: BaseVariationPass
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: PoweredLightVariationPass
|
||||
|
||||
- type: entity
|
||||
id: SolidWallRustingVariationPass
|
||||
parent: BaseVariationPass
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: WallReplaceVariationPass
|
||||
- type: EntityReplaceVariationPass
|
||||
entitiesPerReplacementAverage: 10
|
||||
entitiesPerReplacementStdDev: 2
|
||||
replacements:
|
||||
- id: WallSolidRust
|
||||
|
||||
- type: entity
|
||||
id: ReinforcedWallRustingVariationPass
|
||||
parent: BaseVariationPass
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: ReinforcedWallReplaceVariationPass
|
||||
- type: EntityReplaceVariationPass
|
||||
entitiesPerReplacementAverage: 12
|
||||
entitiesPerReplacementStdDev: 2
|
||||
replacements:
|
||||
- id: WallReinforcedRust
|
||||
|
||||
- type: entity
|
||||
id: BasicTrashVariationPass
|
||||
parent: BaseVariationPass
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: EntitySpawnVariationPass
|
||||
tilesPerEntityAverage: 35
|
||||
tilesPerEntityStdDev: 4
|
||||
entities:
|
||||
- id: RandomSpawner
|
||||
|
||||
- type: weightedRandomFillSolution
|
||||
id: RandomFillTrashPuddle
|
||||
fills:
|
||||
- quantity: 80
|
||||
weight: 5
|
||||
reagents:
|
||||
- Vomit
|
||||
- InsectBlood
|
||||
- WeldingFuel
|
||||
- Mold
|
||||
- quantity: 55
|
||||
weight: 4
|
||||
reagents:
|
||||
- PlantBGone
|
||||
- Potassium # :trollface:
|
||||
- VentCrud
|
||||
- Carbon
|
||||
- Hydrogen
|
||||
- Fat
|
||||
- SpaceLube
|
||||
- SpaceGlue
|
||||
- Sulfur
|
||||
- Acetone
|
||||
- Bleach
|
||||
- quantity: 40
|
||||
weight: 3
|
||||
reagents:
|
||||
- Blood
|
||||
- CopperBlood
|
||||
- Slime
|
||||
- quantity: 25
|
||||
weight: 1
|
||||
reagents:
|
||||
- Omnizine
|
||||
- Desoxyephedrine
|
||||
- Napalm
|
||||
- Radium
|
||||
- Gold
|
||||
- Silver
|
||||
- Sodium
|
||||
|
||||
- type: weightedRandomFillSolution
|
||||
id: RandomFillTrashPuddleBloodbath
|
||||
fills:
|
||||
- quantity: 80
|
||||
weight: 1
|
||||
reagents:
|
||||
- Blood
|
||||
|
||||
- type: entity
|
||||
id: BasicPuddleMessVariationPass
|
||||
parent: BaseVariationPass
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: PuddleMessVariationPass
|
||||
randomPuddleSolutionFill: RandomFillTrashPuddle
|
||||
|
||||
- type: entity
|
||||
id: BloodbathPuddleMessVariationPass
|
||||
parent: BaseVariationPass
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: PuddleMessVariationPass
|
||||
tilesPerSpillAverage: 150
|
||||
tilesPerSpillStdDev: 10
|
||||
randomPuddleSolutionFill: RandomFillTrashPuddleBloodbath
|
||||
Reference in New Issue
Block a user