init
This commit is contained in:
300
Prototypes/GameRules/cargo_gifts.yml
Normal file
300
Prototypes/GameRules/cargo_gifts.yml
Normal file
@@ -0,0 +1,300 @@
|
||||
# SPDX-FileCopyrightText: 2023 Tom Leys <tom@crump-leys.com>
|
||||
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
|
||||
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 ShadeAware <57020074+ShadeAware@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
|
||||
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# Tables -- Add your new event to this Table if you want it to happen via the basic/ramping schedulers.
|
||||
|
||||
- type: entityTable
|
||||
id: CargoGiftsTable
|
||||
table: !type:GroupSelector # ~~we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp~~ But we arent doing that shit yet, it picks a random one StationEventComp be damned.
|
||||
children:
|
||||
- id: GiftsEngineering
|
||||
- id: GiftsFireProtection
|
||||
- id: GiftsJanitor
|
||||
- id: GiftsMedical
|
||||
- id: GiftsPizzaPartyLarge
|
||||
- id: GiftsPizzaPartySmall
|
||||
- id: GiftsSecurityGuns
|
||||
- id: GiftsSecurityRiot
|
||||
- id: GiftsSpacingSupplies
|
||||
- id: GiftsVendingRestock
|
||||
|
||||
# Game Rules
|
||||
|
||||
- type: entity
|
||||
id: CargoGiftsBase
|
||||
parent: BaseGameRule
|
||||
abstract: true
|
||||
components:
|
||||
- type: GameRule
|
||||
delay:
|
||||
min: 10
|
||||
max: 10
|
||||
- type: StationEvent
|
||||
startColor: "#18abf5"
|
||||
startAudio:
|
||||
path: /Audio/Announcements/announce.ogg
|
||||
- type: CargoGiftsRule
|
||||
sender: cargo-gift-default-sender
|
||||
|
||||
- type: entity
|
||||
id: GiftsPizzaPartySmall
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 5
|
||||
duration: 120
|
||||
earliestStart: 20
|
||||
chaos: # Goobstation
|
||||
Hunger: -80
|
||||
Thirst: -40
|
||||
eventType: FreeStuff # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -15
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-pizza-small
|
||||
dest: cargo-gift-dest-bar
|
||||
gifts:
|
||||
FoodPizza: 2 # 8 pizzas
|
||||
FoodBarSupply: 1
|
||||
FoodSoftdrinks: 2
|
||||
CrateVendingMachineRestockRobustSoftdrinks: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsPizzaPartyLarge
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 2
|
||||
duration: 240
|
||||
earliestStart: 20
|
||||
minimumPlayers: 40
|
||||
chaos: # Goobstation
|
||||
Hunger: -300
|
||||
Thirst: -120
|
||||
eventType: FreeStuff # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -30
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-pizza-large
|
||||
dest: cargo-gift-dest-bar
|
||||
gifts:
|
||||
FoodPizzaLarge: 1 # 16 pizzas
|
||||
FoodBarSupply: 1
|
||||
FoodSoftdrinksLarge: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsEngineering
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 5
|
||||
duration: 240
|
||||
earliestStart: 30
|
||||
minimumPlayers: 10
|
||||
chaos: # Goobstation
|
||||
Atmos: -300
|
||||
Power: -100
|
||||
eventType: FreeStuffUseful # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -40
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-eng
|
||||
dest: cargo-gift-dest-eng
|
||||
gifts:
|
||||
EngineeringCableBulk: 1
|
||||
AirlockKit: 1
|
||||
MaterialSteel: 1
|
||||
MaterialPlasteel: 1
|
||||
MaterialGlass: 1
|
||||
CrateVendingMachineRestockEngineering: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsVendingRestock
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 4
|
||||
duration: 120
|
||||
minimumPlayers: 40
|
||||
earliestStart: 30
|
||||
chaos: # Goobstation
|
||||
Hunger: -100
|
||||
Thirst: -100
|
||||
eventType: FreeStuff # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -20
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-vending
|
||||
dest: cargo-gift-dest-supp
|
||||
gifts:
|
||||
CrateVendingMachineRestockHotDrinks: 3
|
||||
CrateVendingMachineRestockBooze: 1
|
||||
CrateVendingMachineRestockNutriMax: 1
|
||||
CrateVendingMachineRestockRobustSoftdrinks: 2
|
||||
CrateVendingMachineRestockVendomat: 1
|
||||
CrateVendingMachineRestockGetmoreChocolateCorp: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsJanitor
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 6
|
||||
duration: 120
|
||||
minimumPlayers: 30
|
||||
earliestStart: 20
|
||||
chaos: # Goobstation
|
||||
Mess: -200
|
||||
eventType: FreeStuff # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -20
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-cleaning
|
||||
dest: cargo-gift-dest-janitor
|
||||
gifts:
|
||||
ServiceJanitorial: 2
|
||||
ServiceLightsReplacement: 2
|
||||
ServiceJanitorBiosuit: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsMedical
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 8
|
||||
duration: 120
|
||||
earliestStart: 20
|
||||
minimumPlayers: 30
|
||||
chaos: #Goobstation
|
||||
Medical: -200
|
||||
Friend: 10
|
||||
eventType: FreeStuffUseful # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -40
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-medical-supply
|
||||
dest: cargo-gift-dest-med
|
||||
gifts:
|
||||
MedicalSupplies: 1
|
||||
MedicalChemistrySupplies: 1
|
||||
EmergencyBruteKit: 1
|
||||
EmergencyAdvancedKit: 1
|
||||
MedicalBiosuit: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsSpacingSupplies
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 4
|
||||
duration: 120
|
||||
earliestStart: 10
|
||||
minimumPlayers: 40
|
||||
chaos: # Goobstation
|
||||
Atmos: -300
|
||||
eventType: FreeStuffUseful # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -40
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-space-protection
|
||||
dest: cargo-gift-dest-supp
|
||||
gifts:
|
||||
EmergencyInternalsLarge: 2
|
||||
EmergencyInflatablewall: 1
|
||||
EmergencyAdvancedKit: 1
|
||||
MedicalBiosuit: 1
|
||||
EmergencyO2Kit: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsFireProtection
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 4
|
||||
duration: 120
|
||||
earliestStart: 20
|
||||
minimumPlayers: 40
|
||||
chaos: # Goobstation
|
||||
Atmos: -200
|
||||
eventType: FreeStuffUseful # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -35
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-fire-protection
|
||||
dest: cargo-gift-dest-supp
|
||||
gifts:
|
||||
EmergencyFire: 2
|
||||
EmergencyBurnKit: 1
|
||||
EmergencyBruteKit: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsSecurityGuns
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 3
|
||||
duration: 120
|
||||
earliestStart: 20
|
||||
minimumPlayers: 50
|
||||
chaos: # Goobstation
|
||||
Hostile: -100
|
||||
Combat: -100
|
||||
eventType: FreeStuffUseful # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -90
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-security-guns
|
||||
dest: cargo-gift-dest-sec
|
||||
gifts:
|
||||
SecurityArmor: 3
|
||||
ArmorySmg: 1
|
||||
ArmoryShotgun: 1
|
||||
ArmoryLaser: 1
|
||||
ArmoryRifle: 1
|
||||
|
||||
- type: entity
|
||||
id: GiftsSecurityRiot
|
||||
parent: CargoGiftsBase
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 4
|
||||
duration: 120
|
||||
earliestStart: 20
|
||||
minimumPlayers: 50
|
||||
chaos: # Goobstation
|
||||
Hostile: -30
|
||||
Combat: -30
|
||||
eventType: FreeStuffUseful # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -80
|
||||
- type: CargoGiftsRule
|
||||
description: cargo-gift-security-riot
|
||||
dest: cargo-gift-dest-sec
|
||||
gifts:
|
||||
SecurityRiot: 2
|
||||
SecurityRestraints: 2
|
||||
SecurityNonLethal: 2
|
||||
SecurityNonlethalThrowables: 1
|
||||
1052
Prototypes/GameRules/events.yml
Normal file
1052
Prototypes/GameRules/events.yml
Normal file
File diff suppressed because it is too large
Load Diff
328
Prototypes/GameRules/meteorswarms.yml
Normal file
328
Prototypes/GameRules/meteorswarms.yml
Normal file
@@ -0,0 +1,328 @@
|
||||
# SPDX-FileCopyrightText: 2024 12rabbits <53499656+12rabbits@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 August Sun <45527070+august-sun@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 AutoOtter <joshuademorris@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 DieselMohawk <gavin.drinka@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Dimastra <65184747+Dimastra@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Dimastra <dimastra@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
|
||||
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 JIPDawg <51352440+JIPDawg@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 JIPDawg <JIPDawg93@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 MisterMecky <mrmecky@hotmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Partmedia <kevinz5000@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
|
||||
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 PopGamer46 <yt1popgamer@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 PursuitInAshes <pursuitinashes@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 QueerNB <176353696+QueerNB@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 RumiTiger <154005209+RumiTiger@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Saphire Lattice <lattice@saphi.re>
|
||||
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Spessmann <156740760+Spessmann@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Unisol <1929445+Unisol@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 august-sun <45527070+august-sun@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 august-sun <45527070+august.sun@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 coolboy911 <85909253+coolboy911@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
|
||||
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
|
||||
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 lunarcomets <140772713+lunarcomets@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 osjarw <oskariwjarvinen@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 stellar-novas <stellar_novas@riseup.net>
|
||||
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 yglop <95057024+yglop@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Comet.Void <80859724+CometVoid@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 CometVoid <cometsstrile@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
## Event Tables
|
||||
|
||||
- type: entityTable
|
||||
id: MeteorSwarmDustEventsTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- id: GameRuleSpaceDustMinor
|
||||
- id: GameRuleSpaceDustMajor
|
||||
|
||||
- type: entityTable
|
||||
id: MeteorSwarmSmallChanceEventsTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- id: GameRuleMeteorSwarmSmall
|
||||
prob: 0.15
|
||||
|
||||
- type: entityTable
|
||||
id: MeteorSwarmMildTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: MeteorSwarmDustEventsTable
|
||||
- !type:NestedSelector
|
||||
tableId: MeteorSwarmSmallChanceEventsTable
|
||||
|
||||
- type: entityTable
|
||||
id: BasicMeteorSwarmEventsTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: MeteorSwarmDustEventsTable
|
||||
- id: GameRuleMeteorSwarmSmall
|
||||
- id: GameRuleMeteorSwarmMedium
|
||||
- id: GameRuleMeteorSwarmLarge
|
||||
- id: GameRuleUristSwarm
|
||||
- id: ImmovableRodSpawn
|
||||
|
||||
- type: weightedRandomEntity
|
||||
id: MeteorSpawnAsteroidWallTable
|
||||
weights:
|
||||
MeteorRock: 10
|
||||
MeteorRockCoal: 5
|
||||
MeteorRockQuartz: 5
|
||||
MeteorRockTin: 5
|
||||
MeteorRockSilver: 2
|
||||
MeteorRockGold: 2
|
||||
MeteorRockPlasma: 2
|
||||
MeteorRockDiamond: 2
|
||||
MeteorRockUranium: 0.5
|
||||
MeteorRockBananium: 0.5
|
||||
MeteorRockBSCrystal: 0.5 # Goobstation
|
||||
|
||||
## Event Schedulers
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: MeteorSwarmScheduler
|
||||
components:
|
||||
- type: GameRule
|
||||
- type: BasicStationEventScheduler
|
||||
minimumTimeUntilFirstEvent: 600 # 10 min
|
||||
minMaxEventTiming:
|
||||
min: 300 # 5 min - Goob Edit
|
||||
max: 5400 # 90 min - Goob Edit
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: BasicMeteorSwarmEventsTable
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: MeteorSwarmMildScheduler
|
||||
components:
|
||||
- type: GameRule
|
||||
- type: BasicStationEventScheduler
|
||||
minimumTimeUntilFirstEvent: 600 # 10 min
|
||||
minMaxEventTiming:
|
||||
min: 300 # 5 min - Goob Edit
|
||||
max: 5400 # 90 min - Goob Edit
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: MeteorSwarmMildTable
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: KesslerSyndromeScheduler
|
||||
components:
|
||||
- type: GameRule
|
||||
- type: RampingStationEventScheduler
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: BasicMeteorSwarmEventsTable
|
||||
|
||||
## Game Rules
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: GameRuleMeteorSwarm
|
||||
abstract: true
|
||||
components:
|
||||
- type: GameRule
|
||||
- type: StationEvent
|
||||
reoccurrenceDelay: 1
|
||||
earliestStart: 12
|
||||
minimumPlayers: 25
|
||||
- type: MeteorSwarm
|
||||
|
||||
- type: entity
|
||||
parent: GameRuleMeteorSwarm
|
||||
id: GameRuleSpaceDustMinor
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 44
|
||||
earliestStart: 2
|
||||
minimumPlayers: 0
|
||||
chaos: # Goobstation
|
||||
Power: 10
|
||||
Atmos: 10
|
||||
- type: MeteorSwarm
|
||||
announcement: null
|
||||
announcementSound: null
|
||||
nonDirectional: true
|
||||
meteors:
|
||||
MeteorSpaceDust: 1
|
||||
waves:
|
||||
min: 2
|
||||
max: 3
|
||||
meteorsPerWave:
|
||||
min: 3
|
||||
max: 5
|
||||
|
||||
- type: entity
|
||||
parent: GameRuleMeteorSwarm
|
||||
id: GameRuleSpaceDustMajor
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 22
|
||||
minimumPlayers: 0
|
||||
chaos: # Goobstation
|
||||
Power: 25
|
||||
Atmos: 25
|
||||
- type: MeteorSwarm
|
||||
announcement: station-event-space-dust-start-announcement
|
||||
announcementSound: /Audio/Announcements/attention.ogg
|
||||
nonDirectional: true
|
||||
meteors:
|
||||
MeteorSpaceDust: 1
|
||||
waves:
|
||||
min: 2
|
||||
max: 3
|
||||
meteorsPerWave:
|
||||
min: 8
|
||||
max: 12
|
||||
|
||||
- type: entity
|
||||
parent: GameRuleMeteorSwarm
|
||||
id: GameRuleMeteorSwarmSmall
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 18
|
||||
minimumPlayers: 15
|
||||
chaos: # Goobstation
|
||||
Power: 40
|
||||
Atmos: 40
|
||||
- type: MeteorSwarm
|
||||
meteors:
|
||||
MeteorSmall: 7
|
||||
MeteorMedium: 3
|
||||
|
||||
- type: entity
|
||||
parent: GameRuleMeteorSwarm
|
||||
id: GameRuleMeteorSwarmMedium
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 10
|
||||
chaos: # Goobstation
|
||||
Power: 50
|
||||
Atmos: 50
|
||||
- type: MeteorSwarm
|
||||
meteors:
|
||||
MeteorSmall: 3
|
||||
MeteorMedium: 6
|
||||
MeteorLarge: 1
|
||||
|
||||
- type: entity
|
||||
parent: GameRuleMeteorSwarm
|
||||
id: GameRuleMeteorSwarmLarge
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 5
|
||||
chaos: # Goobstation
|
||||
Power: 60
|
||||
Atmos: 60
|
||||
- type: MeteorSwarm
|
||||
meteors:
|
||||
MeteorSmall: 2
|
||||
MeteorMedium: 4
|
||||
MeteorLarge: 4
|
||||
|
||||
- type: entity
|
||||
parent: GameRuleMeteorSwarm
|
||||
id: GameRuleUristSwarm
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 0.05
|
||||
- type: MeteorSwarm
|
||||
announcement: station-event-meteor-urist-start-announcement
|
||||
announcementSound: /Audio/Announcements/attention.ogg
|
||||
meteors:
|
||||
MeteorUrist: 1
|
||||
waves:
|
||||
min: 3
|
||||
max: 3
|
||||
meteorsPerWave:
|
||||
min: 10
|
||||
max: 10
|
||||
|
||||
- type: entity
|
||||
id: ImmovableRodSpawn
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-immovable-rod-start-announcement
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
weight: 3.5
|
||||
reoccurrenceDelay: 1
|
||||
duration: 1
|
||||
earliestStart: 30
|
||||
minimumPlayers: 25
|
||||
chaos: # Goobstation
|
||||
Power: 100
|
||||
Atmos: 100
|
||||
- type: ImmovableRodRule
|
||||
rodPrototypes:
|
||||
- id: ImmovableRodKeepTiles
|
||||
prob: 0.94
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodMop
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodShark
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodClown
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodBanana
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodHammer
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodThrongler
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodGibstick
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
- id: ImmovableRodWeh
|
||||
prob: 0.0075
|
||||
orGroup: rodProto
|
||||
69
Prototypes/GameRules/midround.yml
Normal file
69
Prototypes/GameRules/midround.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2023 Ed <96445749+TheShuEd@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2023 Flareguy <78941145+Flareguy@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
|
||||
# SPDX-FileCopyrightText: 2024 Aviu00 <93730715+Aviu00@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Plykiya <plykiya@protonmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
|
||||
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 SX_7 <sn1.test.preria.2002@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 keronshb <54602815+keronshb@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 loltart <159829224+loltart@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 loltart <lo1tartyt@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: Thief
|
||||
components:
|
||||
- type: ThiefRule
|
||||
- type: AntagObjectives
|
||||
objectives:
|
||||
- EscapeThiefShuttleObjective
|
||||
- type: AntagRandomObjectives
|
||||
sets:
|
||||
- groups: ThiefBigObjectiveGroups
|
||||
prob: 0.7
|
||||
maxPicks: 1
|
||||
- groups: ThiefObjectiveGroups
|
||||
maxPicks: 10
|
||||
maxDifficulty: 2.5
|
||||
- type: AntagSelection
|
||||
selectionTime: IntraPlayerSpawn # Goobstation
|
||||
agentName: thief-round-end-agent-name
|
||||
definitions:
|
||||
- prefRoles: [ Thief ]
|
||||
max: 3
|
||||
playerRatio: 15
|
||||
chaosScore: 100 # Goobstation
|
||||
lateJoinAdditional: true
|
||||
allowNonHumans: true
|
||||
multiAntagSetting: NotExclusive
|
||||
startingGear: ThiefGear
|
||||
jobBlacklist: [ Chaplain ] # GOOBSTATION
|
||||
blacklist:
|
||||
components:
|
||||
- CommandStaff
|
||||
components:
|
||||
- type: Pacified
|
||||
- type: Thieving
|
||||
stripTimeReduction: 2
|
||||
stealthy: true
|
||||
mindRoles:
|
||||
- MindRoleThief
|
||||
briefing:
|
||||
sound: "/Audio/Misc/thief_greeting.ogg"
|
||||
174
Prototypes/GameRules/pests.yml
Normal file
174
Prototypes/GameRules/pests.yml
Normal file
@@ -0,0 +1,174 @@
|
||||
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 yglop <95057024+yglop@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 Tim <timfalken@hotmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 Timfa <timfalken@hotmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# tables
|
||||
|
||||
- type: entityTable
|
||||
id: CalmPestEventsTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- id: SnailMigrationLowPop
|
||||
- id: CockroachMigration
|
||||
- id: MouseMigration
|
||||
|
||||
- type: entityTable
|
||||
id: SpicyPestEventsTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- id: KingRatMigration
|
||||
- id: SnailMigration
|
||||
|
||||
# events
|
||||
|
||||
- type: entity
|
||||
id: MouseMigration
|
||||
parent: BaseStationEventShortDelay
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-vent-creatures-start-announcement
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
earliestStart: 15
|
||||
weight: 6
|
||||
duration: 30 # DeltaV: was 50, used as a delay now
|
||||
chaos: # Goobstation
|
||||
Mess: 10 # there's 15 morbillion mice usually and they're easy to kill
|
||||
eventType: Neutral # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: 20
|
||||
- type: VentCrittersRule
|
||||
table: !type:GroupSelector # DeltaV: EntityTable instead of spawn entries
|
||||
children:
|
||||
- id: SpawnMobMouse
|
||||
- id: MobMouseCancer
|
||||
weight: 0.02
|
||||
# Events always spawn a critter regardless of Probability https://github.com/space-wizards/space-station-14/issues/28480 I added the Rat King to their own event with a player cap.
|
||||
|
||||
- type: entity
|
||||
id: KingRatMigration
|
||||
parent: BaseStationEventShortDelay
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-vent-creatures-start-announcement
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
earliestStart: 15
|
||||
weight: 6
|
||||
duration: 30 # DeltaV: was 50, used as a delay now
|
||||
minimumPlayers: 30 # Hopefully this is enough for the Rat King's potential Army (it was not, raised from 15 -> 30)
|
||||
chaos: # Goobstation
|
||||
Mess: 10
|
||||
Hostile: 1 # low chance to spawn rat king
|
||||
eventType: HostilesSpawn # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: 25
|
||||
- type: VentCrittersRule
|
||||
table: !type:GroupSelector # DeltaV: EntityTable instead of spawn entries
|
||||
children:
|
||||
# Goobstation
|
||||
- id: SpawnMobMouse
|
||||
- id: MobMouseCancer
|
||||
weight: 0.02
|
||||
- id: MobLootbug # Goobstation
|
||||
weight: 0.08
|
||||
specialEntries:
|
||||
- id: SpawnPointGhostRatKing
|
||||
prob: 0.001
|
||||
|
||||
- type: entity
|
||||
id: CockroachMigration
|
||||
parent: BaseStationEventShortDelay
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-vent-creatures-start-announcement
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
weight: 6
|
||||
duration: 30 # DeltaV: was 50, used as a delay now
|
||||
chaos: # Goobstation
|
||||
Mess: 15
|
||||
Hostile: 2
|
||||
eventType: Neutral # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: 20
|
||||
- type: VentCrittersRule
|
||||
table: !type:GroupSelector # DeltaV: EntityTable instead of spawn entries
|
||||
children:
|
||||
- id: MobCockroach
|
||||
weight: 0.79
|
||||
- id: MobMothroach
|
||||
weight: 0.20
|
||||
- id: MobSquackroach # Goobstation
|
||||
weight: 0.1
|
||||
- id: MobLootbug # Goobstation
|
||||
weight: 0.3
|
||||
- id: MobMoproach
|
||||
weight: 0.01
|
||||
|
||||
- type: entity
|
||||
id: SnailMigrationLowPop
|
||||
parent: BaseStationEventShortDelay
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-vent-creatures-start-announcement
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
weight: 6
|
||||
duration: 30 # DeltaV: was 50, used as a delay now
|
||||
chaos: # Goobstation
|
||||
Friend: -5
|
||||
Mess: 5
|
||||
eventType: Neutral # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: 20
|
||||
- type: VentCrittersRule
|
||||
table: !type:GroupSelector # DeltaV: EntityTable instead of spawn entries
|
||||
children:
|
||||
- id: MobSnail
|
||||
- id: MobSnailSpeed
|
||||
- id: MobSnailMoth
|
||||
|
||||
- type: entity
|
||||
id: SnailMigration
|
||||
parent: BaseStationEventShortDelay
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-vent-creatures-start-announcement
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
earliestStart: 15
|
||||
weight: 6
|
||||
duration: 30 # DeltaV: was 50, used as a delay now
|
||||
minimumPlayers: 30
|
||||
chaos: # Goobstation
|
||||
Mess: 5
|
||||
Hostile: 1 # the very low gib snail prob
|
||||
eventType: Chaotic # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: 30
|
||||
- type: VentCrittersRule
|
||||
table: !type:GroupSelector # DeltaV: EntityTable instead of spawn entries
|
||||
children:
|
||||
- id: MobSnail
|
||||
weight: 0.84
|
||||
- id: MobSnailSpeed
|
||||
weight: 0.08
|
||||
- id: MobSnailMoth
|
||||
weight: 0.08
|
||||
# Goobstation
|
||||
- id: MobSnailInstantDeath
|
||||
weight: 0.0004
|
||||
40
Prototypes/GameRules/random_sentience.yml
Normal file
40
Prototypes/GameRules/random_sentience.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
- type: entity
|
||||
id: RandomSentience
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 6
|
||||
duration: 1
|
||||
maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
chaos: # Goobstation
|
||||
Mess: 5
|
||||
Friend: -5
|
||||
eventType: Neutral # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: 20
|
||||
- type: RandomSentienceRule
|
||||
minSentiences: 2
|
||||
maxSentiences: 5
|
||||
|
||||
- type: localizedDataset
|
||||
id: RandomSentienceEventData
|
||||
values:
|
||||
prefix: random-sentience-event-data-
|
||||
count: 6
|
||||
|
||||
- type: localizedDataset
|
||||
id: RandomSentienceEventStrength
|
||||
values:
|
||||
prefix: random-sentience-event-strength-
|
||||
count: 8
|
||||
673
Prototypes/GameRules/roundstart.yml
Normal file
673
Prototypes/GameRules/roundstart.yml
Normal file
@@ -0,0 +1,673 @@
|
||||
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2022 Moony <moonheart08@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2022 Paul Ritter <ritter.paul1@googlemail.com>
|
||||
# SPDX-FileCopyrightText: 2022 TekuNut <13456422+TekuNut@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2023 Moony <moony@hellomouse.net>
|
||||
# SPDX-FileCopyrightText: 2023 Skye <22365940+Skyedra@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2023 coolmankid12345 <55817627+coolmankid12345@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2023 coolmankid12345 <coolmankid12345@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2023 moonheart08 <moonheart08@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
|
||||
# SPDX-FileCopyrightText: 2024 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Adrian16199 <144424013+Adrian16199@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
|
||||
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
|
||||
# SPDX-FileCopyrightText: 2024 Alex Pavlenko <diraven@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Alice "Arimah" Heurlin <30327355+arimah@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
|
||||
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 HS <81934438+HolySSSS@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
|
||||
# SPDX-FileCopyrightText: 2024 Jezithyr <jezithyr@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 MACMAN2003 <macman2003c@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
|
||||
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Plykiya <plykiya@protonmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 PoTeletubby <108604614+PoTeletubby@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Rainfall <rainfey0+git@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Rainfey <rainfey0+github@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Redfire1331 <125223432+Redfire1331@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Rouge2t7 <81053047+Sarahon@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Truoizys <153248924+Truoizys@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
|
||||
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
|
||||
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
|
||||
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 lanse12 <cloudability.ez@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 neutrino <67447925+neutrino-laser@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 osjarw <62134478+osjarw@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 redfire1331 <Redfire1331@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
|
||||
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
|
||||
# SPDX-FileCopyrightText: 2024 Арт <123451459+JustArt1m@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 August Eymann <august.eymann@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Errant <35878406+Errant-4@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 IrisTheAmped <iristheamped@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 SX_7 <sn1.test.preria.2002@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 Southbridge <7013162+southbridge-fur@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Tayrtahn <tayrtahn@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 keronshb <54602815+keronshb@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 loltart <159829224+loltart@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 loltart <lo1tartyt@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
- type: entity
|
||||
id: BaseGameRule
|
||||
abstract: true
|
||||
components:
|
||||
- type: GameRule
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: RespawnDeadRule
|
||||
components:
|
||||
- type: RespawnDeadRule
|
||||
alwaysRespawnDead: true
|
||||
- type: RespawnTracker
|
||||
respawnDelay: 10
|
||||
deleteBody: false
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: SubGamemodesRule
|
||||
components:
|
||||
- type: SubGamemodes
|
||||
rules:
|
||||
- id: Thief
|
||||
prob: 0.5
|
||||
- id: Heretic # goob edit
|
||||
prob: 0.2
|
||||
- id: Devil # Goob
|
||||
prob: 0.02
|
||||
- id: Shadowling # Goob
|
||||
prob: 0.02
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: DummyNonAntagChance
|
||||
components:
|
||||
- type: SubGamemodes
|
||||
rules:
|
||||
- id: DummyNonAntag
|
||||
prob: 0.3
|
||||
|
||||
- type: entity
|
||||
id: DeathMatch31
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: DeathMatchRule
|
||||
rewardSpawns:
|
||||
- id: HealingToolbox
|
||||
- id: ClothingOuterArmorBasicSlim
|
||||
orGroup: loot
|
||||
- id: ClothingHeadHelmetBasic
|
||||
orGroup: loot
|
||||
- id: SoapNT
|
||||
orGroup: loot
|
||||
- id: Bola
|
||||
orGroup: loot
|
||||
- id: Spear
|
||||
orGroup: loot
|
||||
- id: ClothingShoesGaloshes
|
||||
orGroup: loot
|
||||
- id: FoodPieBananaCream
|
||||
orGroup: loot
|
||||
- id: Stimpack
|
||||
orGroup: loot
|
||||
- type: KillCalloutRule
|
||||
- type: PointManager
|
||||
- type: RespawnDeadRule
|
||||
- type: RespawnTracker
|
||||
respawnDelay: 5
|
||||
|
||||
- type: entity
|
||||
id: InactivityTimeRestart
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: InactivityRule
|
||||
inactivityMaxTime: 600
|
||||
roundEndDelay: 10
|
||||
|
||||
- type: entity
|
||||
id: MaxTimeRestart
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: MaxTimeRestartRule
|
||||
roundMaxTime: 300
|
||||
roundEndDelay: 10
|
||||
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseGameRule
|
||||
id: BaseNukeopsRule
|
||||
components:
|
||||
- type: RandomMetadata #this generates the random operation name cuz it's cool.
|
||||
nameSegments:
|
||||
- NamesOperationPrefix
|
||||
- NamesOperationSuffix
|
||||
nameFormat: name-format-nuclear-operation
|
||||
- type: NukeopsRule
|
||||
- type: RuleGrids
|
||||
- type: AntagSelection
|
||||
agentName: nukeops-roundend-name # Goobstation
|
||||
- type: AntagLoadProfileRule
|
||||
speciesOverride: Human
|
||||
speciesOverrideBlacklist:
|
||||
#Species that do not work with nukies should be included in this list.
|
||||
#Once the issues are fixed the species should be removed from this list to be enabled.
|
||||
#Balance concerns are not a valid reason to disable a species, except for high-impact Nukie-specific exploits.
|
||||
#- Vox
|
||||
- Yowie # Goobstation
|
||||
- Plasmaman # EE
|
||||
- type: AntagObjectives # Goobstation
|
||||
objectives:
|
||||
- NukeopsDetonateObjective
|
||||
|
||||
|
||||
- type: entity
|
||||
parent: BaseNukeopsRule
|
||||
id: Nukeops
|
||||
components:
|
||||
- type: GameRule
|
||||
minPlayers: 20
|
||||
- type: LoadMapRule
|
||||
mapPath: /Maps/_Goobstation/Nonstations/nukieplanet.yml # goob edit
|
||||
- type: AntagSelection
|
||||
selectionTime: PrePlayerSpawn
|
||||
definitions:
|
||||
- prefRoles: [ NukeopsCommander ]
|
||||
fallbackRoles: [ Nukeops, NukeopsMedic ]
|
||||
spawnerPrototype: SpawnPointNukeopsCommander
|
||||
startingGear: SyndicateCommanderGearFull
|
||||
unequipOldGear: true
|
||||
chaosScore: 300 # Goobstation
|
||||
roleLoadout:
|
||||
- RoleSurvivalNukie
|
||||
components:
|
||||
- type: NukeOperative
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- NamesSyndicateElite
|
||||
nameFormat: name-format-nukie-commander
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- Syndicate
|
||||
mindRoles:
|
||||
- MindRoleNukeopsCommander
|
||||
- prefRoles: [ NukeopsMedic ]
|
||||
fallbackRoles: [ Nukeops, NukeopsCommander ]
|
||||
spawnerPrototype: SpawnPointNukeopsMedic
|
||||
startingGear: SyndicateOperativeMedicFull
|
||||
unequipOldGear: true
|
||||
chaosScore: 300 # Goobstation
|
||||
roleLoadout:
|
||||
- RoleSurvivalNukie
|
||||
components:
|
||||
- type: NukeOperative
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- NamesSyndicateNormal
|
||||
nameFormat: name-format-nukie-agent
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- Syndicate
|
||||
- type: SurgerySpeedModifier # shitmed
|
||||
speedModifier: 2
|
||||
mindRoles:
|
||||
- MindRoleNukeopsMedic
|
||||
- prefRoles: [ Nukeops ]
|
||||
fallbackRoles: [ NukeopsCommander, NukeopsMedic ]
|
||||
spawnerPrototype: SpawnPointNukeopsOperative
|
||||
max: 10 # Goobstation / 古布空间站 - 没有限制的核特工
|
||||
playerRatio: 16 # Goobstation
|
||||
chaosScore: 300 # Goobstation
|
||||
startingGear: SyndicateOperativeGearFull
|
||||
unequipOldGear: true
|
||||
roleLoadout:
|
||||
- RoleSurvivalNukie
|
||||
components:
|
||||
- type: NukeOperative
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- NamesSyndicateNormal
|
||||
nameFormat: name-format-nukie-operator
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- Syndicate
|
||||
mindRoles:
|
||||
- MindRoleNukeops
|
||||
|
||||
# Goobstation
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseGameRule
|
||||
id: BaseTraitorRuleNoObjectives
|
||||
components:
|
||||
- type: TraitorRule
|
||||
# TODO: codewords in yml
|
||||
# TODO: uplink in yml
|
||||
- type: AntagSelection
|
||||
agentName: traitor-round-end-agent-name
|
||||
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseTraitorRuleNoObjectives
|
||||
id: BaseTraitorRule
|
||||
components:
|
||||
- type: AntagRandomObjectives
|
||||
sets:
|
||||
- groups: TraitorObjectiveGroups
|
||||
maxDifficulty: 5
|
||||
|
||||
# Goobstation - order swapped since admin verbs use .Last() for some reason
|
||||
# TODO: Fix that
|
||||
- type: entity
|
||||
id: TraitorReinforcement
|
||||
parent: BaseTraitorRuleNoObjectives # Goobstation
|
||||
components:
|
||||
- type: TraitorRule
|
||||
giveUplink: false
|
||||
giveCodewords: false # It would actually give them a different set of codewords than the regular traitors, anyway
|
||||
giveBriefing: false
|
||||
- type: AntagSelection
|
||||
selectionTime: PostPlayerSpawn # Goobstation
|
||||
definitions:
|
||||
- prefRoles: [ Traitor ]
|
||||
blacklist: # Goobstation
|
||||
components:
|
||||
- CommandStaff
|
||||
mindRoles:
|
||||
- MindRoleTraitorReinforcement
|
||||
|
||||
- type: entity
|
||||
parent: BaseTraitorRule
|
||||
id: Traitor
|
||||
components:
|
||||
- type: GameRule
|
||||
minPlayers: 5
|
||||
- type: AntagSelection
|
||||
selectionTime: IntraPlayerSpawn # Goobstation
|
||||
definitions:
|
||||
- prefRoles: [ Traitor ]
|
||||
max: 8
|
||||
playerRatio: 10
|
||||
chaosScore: 150 # Goobstation
|
||||
blacklist:
|
||||
components:
|
||||
- CommandStaff # Goobstation
|
||||
- AntagImmune
|
||||
- Changeling # Goobstation
|
||||
lateJoinAdditional: true
|
||||
mindRoles:
|
||||
- MindRoleTraitor
|
||||
|
||||
- type: entity
|
||||
id: Revolutionary
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: GameRule
|
||||
minPlayers: 15
|
||||
chaosScore: 1000 # Goobstation - intentionally not per-antag
|
||||
- type: RevolutionaryRule
|
||||
- type: AntagSelection
|
||||
selectionTime: IntraPlayerSpawn # Goobstation
|
||||
definitions:
|
||||
- prefRoles: [ HeadRev ]
|
||||
max: 3
|
||||
playerRatio: 15
|
||||
blacklist:
|
||||
components:
|
||||
- CommandStaff # Goobstation
|
||||
jobBlacklist: [ Mime ] # Goobstation
|
||||
briefing:
|
||||
text: head-rev-role-greeting
|
||||
color: CornflowerBlue
|
||||
sound: "/Audio/Ambience/Antag/headrev_start.ogg"
|
||||
startingGear: HeadRevGear
|
||||
components:
|
||||
- type: Revolutionary
|
||||
- type: HeadRevolutionary
|
||||
mindRoles:
|
||||
- MindRoleHeadRevolutionary
|
||||
|
||||
- type: entity
|
||||
id: Sandbox
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: SandboxRule
|
||||
|
||||
- type: entity
|
||||
id: Secret
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: SecretRule
|
||||
|
||||
# TODO: merg goob and upstream wizards
|
||||
#- type: entity
|
||||
# abstract: true
|
||||
# parent: BaseGameRule
|
||||
# id: BaseWizardRule
|
||||
# components:
|
||||
# - type: AntagObjectives
|
||||
# objectives:
|
||||
# - WizardSurviveObjective
|
||||
# - WizardDemonstrateObjective
|
||||
# - type: LoadMapRule
|
||||
# gridPath: /Maps/Shuttles/wizard.yml
|
||||
# - type: RuleGrids
|
||||
# - type: AntagSelection
|
||||
# - type: AntagLoadProfileRule
|
||||
# speciesOverride: Human
|
||||
|
||||
#- type: entity
|
||||
# parent: BaseWizardRule
|
||||
# id: Wizard
|
||||
# components:
|
||||
# - type: GameRule
|
||||
# minPlayers: 10
|
||||
# - type: AntagSelection
|
||||
# agentName: wizard-round-end-name
|
||||
# selectionTime: PrePlayerSpawn
|
||||
# definitions:
|
||||
# - prefRoles: [ Wizard ]
|
||||
# max: 1
|
||||
# playerRatio: 1
|
||||
# spawnerPrototype: SpawnPointGhostWizard
|
||||
# roleLoadout:
|
||||
# - RoleSurvivalExtended
|
||||
# briefing:
|
||||
# text: wizard-role-greeting
|
||||
# color: Turquoise
|
||||
# # TODO: Need Wizard Start sound
|
||||
# #sound: "/Audio/Ambience/Antag/wizard_start.ogg"
|
||||
# startingGear: WizardBlueGear
|
||||
# # TODO: WizardComp as needed
|
||||
# components:
|
||||
# - type: NpcFactionMember
|
||||
# factions:
|
||||
# - Wizard
|
||||
# - type: RandomMetadata
|
||||
# nameSegments:
|
||||
# - names_wizard_first
|
||||
# - names_wizard_last
|
||||
# mindRoles:
|
||||
# - MindRoleWizard
|
||||
|
||||
- type: entity
|
||||
id: Zombie
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: GameRule
|
||||
minPlayers: 20
|
||||
delay:
|
||||
min: 600
|
||||
max: 900
|
||||
# Goobstation
|
||||
chaosScore: 1200
|
||||
# Goobstation
|
||||
- type: Tag
|
||||
tags:
|
||||
- LoneRunRule
|
||||
- type: ZombieRule
|
||||
- type: AntagSelection
|
||||
definitions:
|
||||
- prefRoles: [ InitialInfected ]
|
||||
max: 4
|
||||
playerRatio: 15
|
||||
jobBlacklist: [ Chaplain ] # Goobstation
|
||||
blacklist:
|
||||
components:
|
||||
- CommandStaff # Goobstation
|
||||
- ZombieImmune
|
||||
- AntagImmune
|
||||
briefing:
|
||||
text: zombie-patientzero-role-greeting
|
||||
color: Plum
|
||||
sound: "/Audio/Ambience/Antag/zombie_start.ogg"
|
||||
components:
|
||||
- type: PendingZombie
|
||||
- type: ZombifyOnDeath
|
||||
- type: IncurableZombie
|
||||
- type: InitialInfected
|
||||
mindRoles:
|
||||
- MindRoleInitialInfected
|
||||
|
||||
# This rule makes the chosen players unable to get other antag rules, as a way to prevent metagaming job rolls.
|
||||
# Put this before antags assigned to station jobs, but after non-job antags (NukeOps/Wiz).
|
||||
- type: entity
|
||||
id: DummyNonAntag
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: GameRule
|
||||
minPlayers: 5
|
||||
- type: AntagSelection
|
||||
selectionTime: IntraPlayerSpawn # Pre-selection before jobs; assignment doesn't really matter though, we only care about the pre-selection to block other antags.
|
||||
removeUponFailedSpawn: false
|
||||
definitions:
|
||||
- prefRoles: [ InitialInfected, Traitor, Thief, HeadRev ]
|
||||
max: 2
|
||||
playerRatio: 30
|
||||
|
||||
# event schedulers
|
||||
|
||||
# goob edit - separate event schedulers
|
||||
- type: entityTable
|
||||
id: BasicGameRulesTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: BasicCalmEventsTable
|
||||
- !type:NestedSelector
|
||||
tableId: BasicAntagEventsTable
|
||||
- !type:NestedSelector
|
||||
tableId: CargoGiftsTable
|
||||
- !type:NestedSelector
|
||||
tableId: CalmPestEventsTable
|
||||
- !type:NestedSelector
|
||||
tableId: SpicyPestEventsTable
|
||||
|
||||
- type: entityTable
|
||||
id: BasicGameRulesTableNoAntag
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: BasicCalmEventsTable
|
||||
- !type:NestedSelector
|
||||
tableId: CargoGiftsTable
|
||||
- !type:NestedSelector
|
||||
tableId: CalmPestEventsTable
|
||||
- !type:NestedSelector
|
||||
tableId: SpicyPestEventsTable
|
||||
|
||||
- type: entityTable
|
||||
id: AllGameRulesTable
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: BasicGameRulesTableNoAntag
|
||||
- !type:NestedSelector
|
||||
tableId: BasicAntagEventsTable
|
||||
|
||||
- type: entityTable
|
||||
id: SpaceTrafficControlTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: UnknownShuttlesFriendlyTable
|
||||
- !type:NestedSelector
|
||||
tableId: UnknownShuttlesFreelanceTable
|
||||
- !type:NestedSelector
|
||||
tableId: UnknownShuttlesHostileTable
|
||||
|
||||
- type: entity
|
||||
id: BasicStationEventScheduler
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: BasicStationEventScheduler
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: BasicGameRulesTable
|
||||
|
||||
- type: entity
|
||||
id: AntagStationEventScheduler
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: BasicStationEventScheduler
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: BasicAntagEventsTable
|
||||
minMaxEventTiming:
|
||||
min: 600
|
||||
max: 900
|
||||
|
||||
- type: entity
|
||||
id: RampingStationEventScheduler
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: RampingStationEventScheduler
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: BasicGameRulesTable
|
||||
|
||||
- type: entity
|
||||
id: BasicStationEventSchedulerNoAntag
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: BasicStationEventScheduler
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: BasicGameRulesTableNoAntag
|
||||
# goob edit end
|
||||
|
||||
- type: entity
|
||||
id: SpaceTrafficControlEventScheduler # iff we make a selector for EntityTables that can respect StationEventComp restrictions, or somehow impliment them otherwise in said tables,
|
||||
parent: BaseGameRule # we can remerge this with the other schedulers, but it will silently fail due to that limitation without a separate scheduler to balance atm.
|
||||
components:
|
||||
- type: BasicStationEventScheduler
|
||||
minimumTimeUntilFirstEvent: 2700 # 45 mins #shows up like half way through shift.
|
||||
minMaxEventTiming:
|
||||
min: 1200 # 20 mins
|
||||
max: 7200 # 120 mins # you probably arent getting a second visitor shuttle in one round, but it is possible.
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: SpaceTrafficControlTable
|
||||
|
||||
- type: entity
|
||||
id: SpaceTrafficControlFriendlyEventScheduler
|
||||
parent: BaseGameRule
|
||||
components:
|
||||
- type: BasicStationEventScheduler
|
||||
minimumTimeUntilFirstEvent: 1200 # 20 mins
|
||||
minMaxEventTiming:
|
||||
min: 600 # 10 mins
|
||||
max: 1800 # 30 mins
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: UnknownShuttlesFriendlyTable
|
||||
|
||||
# variation passes
|
||||
- type: entity
|
||||
id: BasicRoundstartVariation
|
||||
parent: BaseGameRule
|
||||
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
|
||||
- id: SmugglerStashVariationPass
|
||||
prob: 0.90
|
||||
- id: SolarPanelDamageVariationPass
|
||||
- id: SolarPanelEmptyVariationPass
|
||||
- id: BasicDecalDirtVariationPass
|
||||
- id: BasicDecalGraffitiVariationPass
|
||||
- id: BasicDecalBrunsVariationPass
|
||||
prob: 0.50
|
||||
orGroup: monospaceDecals
|
||||
- id: BasicDecalDirtMonospaceVariationPass
|
||||
prob: 0.50
|
||||
orGroup: monospaceDecals
|
||||
313
Prototypes/GameRules/unknown_shuttles.yml
Normal file
313
Prototypes/GameRules/unknown_shuttles.yml
Normal file
@@ -0,0 +1,313 @@
|
||||
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
|
||||
# SPDX-FileCopyrightText: 2024 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Fishbait <Fishbait@git.ml>
|
||||
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 LankLTE <135308300+LankLTE@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
|
||||
# SPDX-FileCopyrightText: 2024 fishbait <gnesse@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# Shuttle Game Rule Tables -- If you dont add your rules to these they wont be used by the games schedulers.
|
||||
|
||||
- type: entityTable
|
||||
id: UnknownShuttlesFriendlyTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- id: UnknownShuttleCargoLost
|
||||
- id: UnknownShuttleTravelingCuisine
|
||||
- id: UnknownShuttleDisasterEvacPod
|
||||
- id: UnknownShuttleHonki
|
||||
- id: UnknownShuttleFrontierProspector #Goobstation - Salvage shuttle event
|
||||
- id: UnknownShuttleNTQuark
|
||||
- id: UnknownShuttleCruiser
|
||||
- id: UnknownShuttleCryptid
|
||||
- id: UnknownShuttleEternal
|
||||
- id: UnknownShuttleFlatline
|
||||
- id: UnknownShuttleGym
|
||||
- id: UnknownShuttleNTIncorporation
|
||||
- id: UnknownShuttleJoe
|
||||
- id: UnknownShuttleLambordeere
|
||||
- id: UnknownShuttleMeatZone
|
||||
- id: UnknownShuttleMicroshuttle
|
||||
- id: UnknownShuttleSpacebus
|
||||
- id: UnknownShuttleAlienTourist # Goobstation
|
||||
|
||||
- type: entityTable
|
||||
id: UnknownShuttlesFreelanceTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- id: UnknownShuttleSyndieEvacPod
|
||||
|
||||
- type: entityTable
|
||||
id: UnknownShuttlesHostileTable
|
||||
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
|
||||
children:
|
||||
- id: LoneOpsSpawn
|
||||
#- id: UnknownShuttleManOWar # Goob - Nuke the man-o-war
|
||||
- id: UnknownShuttleInstigator
|
||||
|
||||
# Shuttle Game Rules
|
||||
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseGameRule
|
||||
id: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming
|
||||
startAudio:
|
||||
path: /Audio/Announcements/attention.ogg
|
||||
weight: 4 #Common, but not every round
|
||||
reoccurrenceDelay: 30
|
||||
earliestStart: 20 # Goobstation
|
||||
duration: 1
|
||||
maxOccurrences: 1 # should be the same as [copies] in shuttle_incoming_event.yml
|
||||
chaos: # Goobstation
|
||||
Friend: -20
|
||||
Power: -10 # can be salvaged for power
|
||||
eventType: FriendlySpawn # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -140
|
||||
- type: RuleGrids
|
||||
- type: LoadMapRule
|
||||
|
||||
- type: entity
|
||||
parent: BaseUnknownShuttleRule
|
||||
id: UnknownShuttleCargoLost
|
||||
components:
|
||||
- type: StationEvent
|
||||
maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: ShuttleCargoLost
|
||||
|
||||
- type: entity
|
||||
parent: BaseUnknownShuttleRule
|
||||
id: UnknownShuttleTravelingCuisine
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming
|
||||
maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: TravelingCuisine
|
||||
|
||||
- type: entity
|
||||
parent: BaseUnknownShuttleRule
|
||||
id: UnknownShuttleDisasterEvacPod
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming
|
||||
maxOccurrences: 3 # should be the same as [copies] in shuttle_incoming_event.yml
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: DisasterEvacPod
|
||||
|
||||
# The power of 3 clowns proved too strong for the players and may need to be 1984'ed. Replace this with a more engaging clown shuttle.
|
||||
- type: entity
|
||||
parent: BaseUnknownShuttleRule
|
||||
id: UnknownShuttleHonki
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
weight: 2
|
||||
chaos: # Goobstation
|
||||
Friend: -10
|
||||
Mess: 20
|
||||
eventType: Chaotic # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -80
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Honki
|
||||
|
||||
- type: entity
|
||||
parent: BaseUnknownShuttleRule
|
||||
id: UnknownShuttleSyndieEvacPod
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: null # It should be silent.
|
||||
weight: 4 # lower because weird freelance roles
|
||||
maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: SyndieEvacPod
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleNTQuark
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: null # It should be silent.
|
||||
weight: .5 # Hopefully this is uncommon enough, it needs to be uncommon enough that people wont waste time metaknowledging it.
|
||||
earliestStart: 45 # late to hopefully have enough ghosts to fill all roles quickly.
|
||||
minimumPlayers: 25
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: NTQuark
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleCruiser
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
weight: 2 # Its just a big ship, so it needs to be rarer to be interesting.
|
||||
chaos: # Goobstation
|
||||
Friend: -60
|
||||
eventType: FriendlySpawn # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -150
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Cruiser
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleCryptid
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Cryptid
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleEternal
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Eternal
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleFlatline
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
chaos: # Goobstation
|
||||
Friend: -20
|
||||
Medical: -20
|
||||
eventType: FriendlySpawn # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -140
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Flatline
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleGym
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
weight: 3 # Its just a big ship, so it needs to be rarer to be interesting.
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Gym
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleNTIncorporation
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
weight: 2 # Its just a big ship, so it needs to be rarer to be interesting.
|
||||
earliestStart: 45 # late to hopefully have enough ghosts to fill all roles quickly. (5-6)
|
||||
chaos: # Goobstation
|
||||
Friend: -50
|
||||
eventType: FriendlySpawn # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: -150
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: NTIncorporation
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleInstigator
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: null #dont nark on antags
|
||||
weight: 1 # lower because antags.
|
||||
earliestStart: 50 # late to hopefully have enough ghosts to fill all roles quickly (3) and because antags
|
||||
chaos: # Goobstation
|
||||
# holy mini-nukies
|
||||
Hostile: 80
|
||||
Death: 100
|
||||
Medical: 100
|
||||
eventType: HostilesSpawn # Goobstation
|
||||
# Goobstation
|
||||
- type: GameRule
|
||||
chaosScore: 900
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Instigator
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleJoe
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Joe
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleLambordeere
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Lambordeere
|
||||
|
||||
# Goob - Nuke the man-o-war
|
||||
#- type: entity
|
||||
# id: UnknownShuttleManOWar
|
||||
# parent: BaseUnknownShuttleRule
|
||||
# components:
|
||||
# - type: StationEvent
|
||||
# startAnnouncement: station-event-unknown-shuttle-incoming #Leaving this one because theyre like primitives and its funnier
|
||||
# weight: 1 # lower because antags
|
||||
# earliestStart: 50 # late to hopefully have enough ghosts to fill all roles quickly. (4) & antags
|
||||
# chaos: # Goobstation
|
||||
# # it's 4 free agent barely-equipped dudes
|
||||
# Hostile: 60
|
||||
# Medical: 20
|
||||
# Death: 20
|
||||
# - type: LoadMapRule
|
||||
# preloadedGrid: ManOWar
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleMeatZone
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Meatzone
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleMicroshuttle
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
weight: 4
|
||||
maxOccurrences: 4
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Microshuttle
|
||||
|
||||
- type: entity
|
||||
id: UnknownShuttleSpacebus
|
||||
parent: BaseUnknownShuttleRule
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: station-event-unknown-shuttle-incoming #!!
|
||||
- type: LoadMapRule
|
||||
preloadedGrid: Spacebus
|
||||
194
Prototypes/GameRules/variation.yml
Normal file
194
Prototypes/GameRules/variation.yml
Normal file
@@ -0,0 +1,194 @@
|
||||
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
|
||||
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# Base
|
||||
|
||||
- type: entity
|
||||
id: BaseVariationPass
|
||||
parent: BaseGameRule
|
||||
abstract: true
|
||||
components:
|
||||
- type: StationVariationPassRule
|
||||
|
||||
# Actual rules
|
||||
|
||||
- type: entity
|
||||
id: BasicPoweredLightVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: PoweredLightVariationPass
|
||||
|
||||
- type: entity
|
||||
id: SolidWallRustingVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: WallReplaceVariationPass
|
||||
- type: EntityReplaceVariationPass
|
||||
entitiesPerReplacementAverage: 50
|
||||
entitiesPerReplacementStdDev: 10
|
||||
replacements:
|
||||
- id: WallSolidRust
|
||||
|
||||
- type: entity
|
||||
id: ReinforcedWallRustingVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: ReinforcedWallReplaceVariationPass
|
||||
- type: EntityReplaceVariationPass
|
||||
entitiesPerReplacementAverage: 50
|
||||
entitiesPerReplacementStdDev: 10
|
||||
replacements:
|
||||
- id: WallReinforcedRust
|
||||
|
||||
- type: entity
|
||||
id: BasicTrashVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: EntitySpawnVariationPass
|
||||
tilesPerEntityAverage: 35
|
||||
tilesPerEntityStdDev: 4
|
||||
entities:
|
||||
- id: RandomSpawner
|
||||
|
||||
- type: entity
|
||||
id: BasicDecalDirtVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: EntitySpawnVariationPass
|
||||
tilesPerEntityAverage: 80
|
||||
tilesPerEntityStdDev: 5
|
||||
entities:
|
||||
- id: DecalSpawnerDirtWide
|
||||
|
||||
- type: entity
|
||||
id: BasicDecalGraffitiVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: EntitySpawnVariationPass
|
||||
tilesPerEntityAverage: 120
|
||||
tilesPerEntityStdDev: 5
|
||||
entities:
|
||||
- id: DecalSpawnerGraffiti
|
||||
|
||||
- type: entity
|
||||
id: BasicDecalBrunsVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: EntitySpawnVariationPass
|
||||
tilesPerEntityAverage: 120
|
||||
tilesPerEntityStdDev: 10
|
||||
entities:
|
||||
- id: DecalSpawnerBurns
|
||||
|
||||
- type: entity
|
||||
id: BasicDecalDirtMonospaceVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: EntitySpawnVariationPass
|
||||
tilesPerEntityAverage: 80
|
||||
tilesPerEntityStdDev: 10
|
||||
entities:
|
||||
- id: DecalSpawnerDirtMonospace
|
||||
|
||||
- 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
|
||||
- SpaceGlue
|
||||
- Sulfur
|
||||
- Acetone
|
||||
- Bleach
|
||||
- quantity: 40
|
||||
weight: 3
|
||||
reagents:
|
||||
- Blood
|
||||
- CopperBlood
|
||||
- Slime
|
||||
- quantity: 25
|
||||
weight: 1
|
||||
reagents:
|
||||
- Omnizine
|
||||
- Desoxyephedrine
|
||||
- Napalm
|
||||
- Radium
|
||||
- Gold
|
||||
- Silver
|
||||
- Sodium
|
||||
- JuiceThatMakesYouWeh
|
||||
|
||||
- type: weightedRandomFillSolution
|
||||
id: RandomFillTrashPuddleBloodbath
|
||||
fills:
|
||||
- quantity: 80
|
||||
weight: 1
|
||||
reagents:
|
||||
- Blood
|
||||
|
||||
- type: entity
|
||||
id: BasicPuddleMessVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: PuddleMessVariationPass
|
||||
randomPuddleSolutionFill: RandomFillTrashPuddle
|
||||
|
||||
- type: entity
|
||||
id: BloodbathPuddleMessVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: PuddleMessVariationPass
|
||||
tilesPerSpillAverage: 150
|
||||
tilesPerSpillStdDev: 10
|
||||
randomPuddleSolutionFill: RandomFillTrashPuddleBloodbath
|
||||
|
||||
- type: entity
|
||||
id: CutWireVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: CutWireVariationPass
|
||||
wireCutChance: 0.01
|
||||
maxWiresCut: 20
|
||||
blacklist:
|
||||
components:
|
||||
- ParticleAcceleratorControlBox
|
||||
|
||||
- type: entity
|
||||
id: SolarPanelDamageVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: SolarPanelReplaceVariationPass
|
||||
- type: EntityReplaceVariationPass
|
||||
entitiesPerReplacementAverage: 30
|
||||
entitiesPerReplacementStdDev: 5
|
||||
replacements:
|
||||
- id: SolarPanelBroken
|
||||
|
||||
- type: entity
|
||||
id: SolarPanelEmptyVariationPass
|
||||
parent: BaseVariationPass
|
||||
components:
|
||||
- type: SolarPanelReplaceVariationPass
|
||||
- type: EntityReplaceVariationPass
|
||||
entitiesPerReplacementAverage: 30
|
||||
entitiesPerReplacementStdDev: 5
|
||||
replacements:
|
||||
- id: SolarAssembly
|
||||
Reference in New Issue
Block a user