Files
2026-01-24 16:34:15 -05:00

1053 lines
34 KiB
YAML

# SPDX-FileCopyrightText: 2022 T-Stalker <43253663+DogZeroX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 612 <125925684+612git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 CrigCrag <137215465+CrigCrag@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Jackrost <jackrost@mail.ru>
# SPDX-FileCopyrightText: 2023 Kevin Zheng <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2023 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Sailor <109166122+Equivocateur@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Scribbles0 <91828755+Scribbles0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Slava0135 <40753025+Slava0135@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 deltanedas <deltanedas@laptop>
# SPDX-FileCopyrightText: 2023 deltanedas <user@zenith>
# SPDX-FileCopyrightText: 2023 potato1234_x <79580518+potato1234x@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.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 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Bellwether <157836624+BellwetherLogic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Bellwether <null>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BramvanZijp <56019239+BramvanZijp@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 ElectroJr <leonsfriedrich@gmail.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 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 FungiFellow <151778459+FungiFellow@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Futuristic-OK <141568243+Futuristic-OK@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 Hmeister-real <118129069+Hmeister-real@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 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustUser <157776977+I-JustUser-I@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 Lye <128915833+Lyroth001@users.noreply.github.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 Nairod <110078045+Nairodian@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 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Plykiya <plykiya@protonmail.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 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 ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ScarKy0 <scarky0@onet.eu>
# 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 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 The Canned One <greentopcan@gmail.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 Vyacheslav Kovalevsky <40753025+Slava0135@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 crasg <109207982+Scruq445@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 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 qwerltaz <69696513+qwerltaz@users.noreply.github.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 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 Fishbait <Fishbait@git.ml>
# 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 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Roudenn <romabond091@gmail.com>
# 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 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.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 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@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 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 unknown <Administrator@DESKTOP-PMRIVVA.kommune.indresogn.no>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entityTable
id: BasicCalmEventsTable
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
children:
- id: AnomalySpawn
- id: BluespaceArtifact
- id: BluespaceLocker
- id: BreakerFlip
- id: BureaucraticError
- id: ClericalError
- id: CockroachMigration
- id: GasLeak
- id: GreytideVirus
- id: IonStorm # its calm like 90% of the time smh
- id: JobDistributionError
- id: KudzuGrowth
- id: MassHallucinations
- id: MimicVendorRule
- id: MouseMigration
- id: PowerGridCheck
- id: RandomSentience
- id: SlimesSpawn
- id: SolarFlare
- id: SnakeSpawn
- id: SpiderClownSpawn
- id: SpiderSpawn
- id: VentClog
- id: TidemindDevelop # Goobstation - Tidemind
- id: MothroachSpawn # DeltaV
- id: DerelictCyborgSyndicateSpawn # Goobstation - usually calm
- id: MalignRiftSpawn # DeltaV
- id: FloorGoblinMidRound # Goobstation
- id: ClownGoblinMigration # Goobstation - New Midrounds
- id: SantaClausSpawn # Goobstation, remove after new year
- type: entityTable
id: BasicAntagEventsTable
table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
children:
- id: ClosetSkeleton
- id: DragonSpawn
- id: KingRatMigration
- id: NinjaSpawn
- id: ParadoxCloneSpawn
#- id: RevenantSpawn # GoobStation - removed till rework
- id: SleeperAgents
- id: HereticMidround # Goob
- id: ChangelingMidround # Goob
- id: ZombieOutbreak
- id: LoneOpsSpawn
- id: DerelictCyborgSpawn
- id: BlobSpawn # Goobstation - Blob
- id: LoneAbductorSpawn # Shitmed - Starlight Abductors
- id: DuoAbductorSpawn # Shitmed - Starlight Abductors
- id: BingleSpawn #Goobstation - Bingle
- id: SlaughterDemonMidround # Goobstation - Slaughter Demon
- id: XenomorphsInfestation # WD EDIT
#- id: GreyTideAntagMidround # Goobstation - New Midrounds
#- id: SingulothKnightsMidround # Goobstation - New Midrounds
#- id: DarkLordMidround # Goobstation - New Midrounds
#- id: MimeAssassinMidround # Goobstation - New Midrounds
#- id: DarkPriestMidround # Goobstation - New Midrounds
#- id: VoxRaidersMidround # Goobstation - New Midrounds
#- id: TunnelClownMidround # Goobstation
#- id: WraithMidround # Goobstation - Wraith
#TODO when midrounds are "reviewed" by the chudmins add them back
#TODO When Slasher is Ready - id: SlasherSpawn # Goobstation - The Slasher
- type: entity
id: BaseStationEvent
parent: BaseGameRule
abstract: true
components:
- type: GameRule
delay:
min: 10
max: 20
- type: entity
id: BaseStationEventShortDelay
parent: BaseGameRule
abstract: true
components:
- type: GameRule
delay:
min: 10
max: 20
- type: entity
id: BaseStationEventLongDelay
parent: BaseGameRule
abstract: true
components:
- type: GameRule
delay:
min: 40
max: 60
- type: entity
id: AnomalySpawn
parent: BaseStationEventShortDelay
components:
- type: StationEvent
startAnnouncementColor: "#18abf5"
startAudio:
path: /Audio/Announcements/announce.ogg
weight: 8
duration: 35
chaos: # Goobstation
Anomaly: 100
eventType: Chaotic # Goobstation
# Goobstation
- type: GameRule
chaosScore: 70
- type: AnomalySpawnRule
- type: entity
id: BluespaceArtifact
parent: BaseStationEventShortDelay
components:
- type: GameRule
delay:
min: 30
max: 30
chaosScore: 40 # Goobstation
- type: StationEvent
startAnnouncementColor: "#18abf5"
startAudio:
path: /Audio/Announcements/announce.ogg
weight: 8
duration: 35
chaos: # Goobstation
Anomaly: 40
eventType: Chaotic # Goobstation
- type: BluespaceArtifactRule
- type: entity
id: BluespaceLocker
parent: BaseGameRule
components:
- type: StationEvent
weight: 2
reoccurrenceDelay: 5
earliestStart: 1
duration: 1
chaos: # Goobstation
Anomaly: 40
eventType: Neutral # Goobstation
# Goobstation
- type: GameRule
chaosScore: 40
- type: BluespaceLockerRule
- type: entity
id: BreakerFlip
parent: BaseGameRule
components:
- type: StationEvent
weight: 7
duration: 1
minimumPlayers: 15
chaos: # Goobstation
Power: 100
eventType: Maintenance # Goobstation
# Goobstation
- type: GameRule
chaosScore: 60
- type: BreakerFlipRule
- type: entity
id: BureaucraticError
parent: BaseGameRule
components:
- type: StationEvent
startAnnouncement: station-event-bureaucratic-error-announcement
minimumPlayers: 25
weight: 3
duration: 1
eventType: Neutral # Goobstation
# Goobstation
- type: GameRule
chaosScore: 50
- type: BureaucraticErrorRule
ignoredJobs:
- StationAi
- type: entity
id: ClericalError
parent: BaseGameRule
components:
- type: StationEvent
startAnnouncement: station-event-clerical-error-announcement
minimumPlayers: 15
weight: 5
duration: 1
eventType: Chaotic # Goobstation
# Goobstation
- type: GameRule
chaosScore: 30
- type: ClericalErrorRule
- type: entity
parent: BaseGameRule
id: ClosetSkeleton
components:
- type: StationEvent
weight: 5
duration: 1
minimumPlayers: 10
eventType: Chaotic # Goobstation
# Goobstation
- type: GameRule
chaosScore: 60
- type: RandomEntityStorageSpawnRule
prototype: MobSkeletonCloset
- type: entity
parent: BaseGameRule
id: DragonSpawn
components:
- type: StationEvent
weight: 2 # Goobstation - was 3
earliestStart: 30 # Goobstation was 45
#recorruenceDelay: 20 # Goobstation - no longer needed
maxOccurrences: 1 # Goobstation
minimumPlayers: 50
duration: null
chaos: # Goobstation
Hostile: 20
Friend: 20
Combat: 40
Death: 100
Medical: 100
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 600
- type: SpaceSpawnRule
spawnDistance: 0
- type: AntagSpawner
prototype: MobDragon
- type: DragonRule
- type: AntagObjectives
objectives:
- CarpRiftsObjective
- DragonSurviveObjective
- type: AntagSelection
agentName: dragon-round-end-agent-name
definitions:
- spawnerPrototype: SpawnPointGhostDragon
min: 1
max: 1
pickPlayer: false
mindRoles:
- MindRoleDragon
- type: entity
parent: BaseGameRule
id: NinjaSpawn
components:
- type: StationEvent
weight: 3 # Goobstation - was 6
duration: null
earliestStart: 30 # Goobstation - was 45
#reoccurrenceDelay: 20 # Goobstation - no longer needed
maxOccurrences: 1 # Goobstation
minimumPlayers: 30
chaos: # Goobstation
Hostile: 20
Friend: 20
Combat: 40
Death: 40
Medical: 40
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 300
- type: SpaceSpawnRule
- type: AntagLoadProfileRule
# Goobstation start
speciesOverride: Human
speciesOverrideBlacklist:
- Yowie
- IPC
- Diona
- Abductor
- Harpy
- Plasmaman # EE
# Goobstation end
- type: AntagObjectives
objectives:
- StealResearchObjective
- DoorjackObjective
- SpiderChargeObjective
- TerrorObjective
- MassArrestObjective
- NinjaSurviveObjective
- type: AntagSelection
agentName: ninja-round-end-agent-name
definitions:
- spawnerPrototype: SpawnPointGhostSpaceNinja
min: 1
max: 1
pickPlayer: false
startingGear: SpaceNinjaGear
roleLoadout:
- RoleSurvivalEVA
briefing:
text: ninja-role-greeting
color: Green
sound: /Audio/Misc/ninja_greeting.ogg
components:
- type: SpaceNinja
- type: NpcFactionMember
factions:
- Syndicate
- type: AutoImplant
implants:
- MicroBombImplant # Goobstation
- type: RandomMetadata
nameSegments:
- NamesNinjaTitle
- NamesNinja
nameFormat: name-format-ninja
mindRoles:
- MindRoleNinja
- type: entity
parent: BaseGameRule
id: ParadoxCloneSpawn
components:
- type: StationEvent
weight: 5
duration: null
earliestStart: 20
reoccurrenceDelay: 20
minimumPlayers: 15
eventType: Chaotic # Goobstation
# Goobstation
- type: GameRule
chaosScore: 80
- type: ParadoxCloneRule
objectiveBlacklist:
tags:
- ParadoxCloneObjectiveBlacklist
targetBlacklist: # Goobstation
components:
- BorgBrain # No copying the AI or borgs.
- AntagImmune # No copying people who are immune to antags. (Gemini Hologram, Ghost bar, etcetera.)
- type: AntagObjectives
objectives:
- ParadoxCloneKillObjective
- ParadoxCloneLivingObjective
- type: AntagRandomSpawn # TODO: improve spawning so they only start in maints
- type: AntagSelection
agentName: paradox-clone-round-end-agent-name
definitions:
- spawnerPrototype: SpawnPointGhostParadoxClone
min: 1
max: 1
pickPlayer: false
startingGear: ParadoxCloneGear
roleLoadout:
- RoleSurvivalVoxTank # give vox something to breath in case they don't get a copy
- RoleSurvivalPlasmaTank # Goobstation
briefing:
text: paradox-clone-role-greeting
color: lightblue
sound: /Audio/Misc/paradox_clone_greeting.ogg
mindRoles:
- MindRoleParadoxClone
#- type: entity Goobstaion start - disabled until rework
# parent: BaseGameRule
# id: RevenantSpawn
# components:
# - type: StationEvent
# weight: 3.5
# duration: 1
# earliestStart: 30
# minimumPlayers: 20
# chaos: # Goobstation
# Hostile: 20
# Friend: 20
# Combat: 40
# Death: 100
# Medical: 100
# eventType: HostilesSpawn # Goobstation
# # Goobstation
# - type: GameRule
# chaosScore: 450
# - type: RandomSpawnRule
# prototype: MobRevenant goobstation end
# Goob - wiz of our own
#- type: entity
# parent: BaseWizardRule
# id: WizardSpawn
# components:
# - type: StationEvent
# weight: 1 # rare
# duration: 1
# earliestStart: 30
# reoccurrenceDelay: 60
# minimumPlayers: 10
# - type: AntagSelection
# agentName: wizard-round-end-name
# definitions:
# - spawnerPrototype: SpawnPointGhostWizard
# min: 1
# max: 1
# playerRatio: 1
# pickPlayer: false
# startingGear: WizardBlueGear
# roleLoadout:
# - RoleSurvivalExtended
# briefing:
# text: wizard-role-greeting
# color: Turquoise
# # TODO: Need Wizard Start sound
# #sound: "/Audio/Ambience/Antag/wizard_start.ogg"
# # TODO: WizardComp as needed
# components:
# - type: NpcFactionMember
# factions:
# - Wizard
# - type: RandomMetadata
# nameSegments:
# - NamesWizardFirst
# - NamesWizardLast
# mindRoles:
# - MindRoleWizard
# disabled until event is rewritten to be more interesting
#- type: entity
# id: FalseAlarm
# parent: BaseGameRule
# components:
# - type: StationEvent
# weight: 15
# duration: 1
# - type: FalseAlarmRule
- type: entity
id: GasLeak
parent: BaseStationEventShortDelay
components:
- type: StationEvent
startAnnouncement: station-event-gas-leak-start-announcement
startAudio:
path: /Audio/Announcements/attention.ogg
endAnnouncement: station-event-gas-leak-end-announcement
weight: 8
chaos:
Atmos: 100
Medical: 50
eventType: Maintenance # Goobstation
# Goobstation
- type: GameRule
chaosScore: 80 # most of the time scrubbers just clean it
- type: GasLeakRule
- type: entity
id: KudzuGrowth
parent: BaseStationEventLongDelay
components:
- type: StationEvent
earliestStart: 15
minimumPlayers: 15
weight: 7
duration: 240
chaos:
Hostile: 20
Friend: 20
Medical: 100
eventType: Maintenance # Goobstation
# Goobstation
- type: GameRule
chaosScore: 80
- type: KudzuGrowthRule
- type: entity
id: PowerGridCheck
parent: BaseStationEventShortDelay
components:
- type: StationEvent
weight: 5
startAnnouncement: station-event-power-grid-check-start-announcement
endAnnouncement: station-event-power-grid-check-end-announcement
startAudio:
path: /Audio/Announcements/power_off.ogg
params:
volume: -4
duration: 60
maxDuration: 120
eventType: Interference # Goobstation
# Goobstation
- type: GameRule
chaosScore: 80
- type: PowerGridCheckRule
- type: entity
parent: BaseGameRule
id: SolarFlare
components:
- type: StationEvent
weight: 8
startAnnouncement: station-event-solar-flare-start-announcement
endAnnouncement: station-event-solar-flare-end-announcement
startAudio:
path: /Audio/Announcements/attention.ogg
duration: 120
maxDuration: 240
chaos: # Goobstation
Friend: 20
eventType: Interference # Goobstation
# Goobstation
- type: GameRule
chaosScore: 60
- type: SolarFlareRule
onlyJamHeadsets: true
affectedChannels:
- Common
extraChannels:
- Command
- Engineering
- Medical
- Science
- Security
- Service
- Supply
extraCount: 2
lightBreakChancePerSecond: 0.0003
doorToggleChancePerSecond: 0.001
- type: entity
id: VentClog
parent: BaseStationEventLongDelay
components:
- type: StationEvent
startAnnouncement: station-event-vent-clog-start-announcement
startAudio:
path: /Audio/Announcements/attention.ogg
earliestStart: 15
minimumPlayers: 15
weight: 5
duration: 60
chaos: # Goobstation
Mess: 200
eventType: Interference # Goobstation
# Goobstation
- type: GameRule
chaosScore: 70
- type: VentClogRule
- type: entity
id: SlimesSpawn
parent: BaseStationEventShortDelay
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
startAudio:
path: /Audio/Announcements/aliens.ogg
earliestStart: 20
minimumPlayers: 15
weight: 7 # Goobstation - was 5
duration: 30 # DeltaV: was 60, used as a delay now
chaos: # Goobstation
Hostile: 20
Medical: 50
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 200
- type: VentCrittersRule
table: !type:GroupSelector # DeltaV: EntityTable instead of spawn entries
children:
- id: XenobioSlimeBabySpawner # goob edit - nuke wizden slimes in favor of xenobio
- type: entity
id: SnakeSpawn
parent: BaseStationEventShortDelay
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
startAudio:
path: /Audio/Announcements/attention.ogg
earliestStart: 20
minimumPlayers: 15
weight: 7 # Goobstation - was 5
duration: 30 # DeltaV: was 60, used as a delay now
chaos: # Goobstation
Hostile: 20
Medical: 50
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 240
- type: VentCrittersRule
table: !type:GroupSelector # DeltaV: EntityTable instead of spawn entries
children:
- id: MobPurpleSnake
- id: MobSmallPurpleSnake
- id: MobCobraSpace
- type: entity
id: SpiderSpawn
parent: BaseStationEventShortDelay
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
startAudio:
path: /Audio/Announcements/aliens.ogg
earliestStart: 20
minimumPlayers: 15
weight: 7 # Goobstation - was 5
duration: 30 # DeltaV: was 60, used as a delay now
chaos: # Goobstation
Hostile: 20
Medical: 50
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 240
- type: VentCrittersRule
table: # DeltaV: EntityTable instead of spawn entries
id: MobGiantSpiderAngry
- type: entity
id: SpiderClownSpawn
parent: BaseStationEventShortDelay
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
startAudio:
path: /Audio/Announcements/attention.ogg
earliestStart: 45 # DeltaV - was 20
minimumPlayers: 30 # DeltaV - was 20
weight: 3 # Goobstation - was 1.5
duration: 30 # DeltaV: was 60, used as a delay now
chaos: # Goobstation
Hostile: 20
Medical: 50
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 240
- type: VentCrittersRule
playerRatio: 20 # DeltaV: Clown spiders are very robust
table: # DeltaV: EntityTable instead of spawn entries
id: MobClownSpider
- type: entity
id: ZombieOutbreak
parent: BaseGameRule
components:
- type: StationEvent
earliestStart: 60 # Goobstation - was 90 (impossible on goob)
minimumPlayers: 40
weight: 1 # Zombies was happening basically every single survival round, so now it's super rare
duration: 1
chaos: # Goobstation
Hostile: 100
Medical: 200
Death: 200
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 1400
- type: ZombieRule
- type: AntagSelection
definitions:
- prefRoles: [ InitialInfected ]
max: 3
playerRatio: 10
blacklist:
components:
- BibleUser
- ZombieImmune
- AntagImmune
briefing:
text: zombie-patientzero-role-greeting
color: Plum
sound: "/Audio/Ambience/Antag/zombie_start.ogg"
components:
- type: PendingZombie #less time to prepare than normal
minInitialInfectedGrace: 300
maxInitialInfectedGrace: 450
- type: ZombifyOnDeath
- type: IncurableZombie
- type: InitialInfected
mindRoles:
- MindRoleInitialInfected
- type: entity
parent: BaseNukeopsRule
id: LoneOpsSpawn
components:
- type: StationEvent
earliestStart: 35
weight: 2.5 # Goobstation - was 5.5
minimumPlayers: 50 # Goobstation - was 20
duration: 1
chaos: # Goobstation
Hostile: 200
Medical: 200
Death: 200
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
chaosScore: 700
- type: RuleGrids
- type: LoadMapRule
gridPath: /Maps/Shuttles/ShuttleEvent/striker.yml
- type: NukeopsRule
roundEndBehavior: Nothing
- type: AntagSelection
definitions:
- spawnerPrototype: SpawnPointLoneNukeOperative
min: 1
max: 1
pickPlayer: false
startingGear: SyndicateLoneOperativeGearFull
unequipOldGear: true
roleLoadout:
- RoleSurvivalNukie
components:
- type: NukeOperative
- type: RandomMetadata
nameSegments:
- NamesSyndicatePrefix
- NamesSyndicateNormal
nameFormat: name-format-nukie-generic
- type: NpcFactionMember
factions:
- Syndicate
mindRoles:
- MindRoleNukeops
- type: AntagLoadProfileRule # Goobstation
speciesOverride: Human
alwaysUseSpeciesOverride: true
- type: entity
parent: BaseTraitorRule
id: SleeperAgents
components:
- type: StationEvent
earliestStart: 30
weight: 8
minimumPlayers: 15
maxOccurrences: 1 # can only happen once per round
startAnnouncement: station-event-communication-interception
startAudio:
path: /Audio/Announcements/intercept.ogg
duration: null # the rule has to last the whole round not 1 second
occursDuringRoundEnd: false
eventType: HostilesSpawn # Goobstation
# Goobstation
- type: GameRule
- type: AlertLevelInterceptionRule
- type: AntagSelection
definitions:
- prefRoles: [ TraitorSleeper ]
fallbackRoles: [ Traitor ]
min: 1
max: 2
playerRatio: 10
chaosScore: 200 # Goobstation - same as roundstart traitor gamerule
blacklist:
components:
- AntagImmune
- CommandStaff
mindRoles:
- MindRoleTraitorSleeper
- type: entity
id: MassHallucinations
parent: BaseGameRule
components:
- type: StationEvent
weight: 7
duration: 150
maxDuration: 300
reoccurrenceDelay: 30
chaos: # Goobstation
Friend: 20
eventType: Chaotic # Goobstation
# Goobstation
- type: GameRule
chaosScore: 30
- type: MassHallucinationsRule
minTimeBetweenIncidents: 0.1
maxTimeBetweenIncidents: 300
maxSoundDistance: 7
sounds:
collection: Paracusia
- type: entity
parent: BaseGameRule
id: IonStorm
components:
- type: StationEvent
weight: 8
reoccurrenceDelay: 20
duration: 1
chaos: # Goobstation
Hostile: 10
Friend: 20
Mess: 30
eventType: Chaotic # Goobstation
# Goobstation
- type: GameRule
chaosScore: 150
- type: IonStormRule
- type: entity
id: MimicVendorRule
parent: BaseGameRule
components:
- type: StationEvent
earliestStart: 0
minimumPlayers: 20
maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it
weight: 5
chaos: # Goobstation
Hostile: 20 # for when they're actually properly hostile
Hunger: 10
Thirst: 10
eventType: Neutral # Goobstation
# Goobstation
- type: GameRule
chaosScore: 20
- type: MobReplacementRule
- type: entity
id: GreytideVirus
parent: BaseStationEventShortDelay
components:
- type: StationEvent
startAudio:
path: /Audio/Announcements/attention.ogg
weight: 5
minimumPlayers: 25
reoccurrenceDelay: 20
chaos: # Goobstation
Atmos: 15
Mess: 30
eventType: Maintenance # Goobstation
# Goobstation
- type: GameRule
chaosScore: 160
- type: GreytideVirusRule
accessGroups:
- Cargo
- Command
- Engineering
- Research
- Security
- Service
blacklist:
- External # don't space everything
- type: entity
parent: BaseGameRule
id: SmugglerStashVariationPass
components:
- type: StationEvent
earliestStart: 0
duration: 1
minimumPlayers: 1
maxOccurrences: 2
weight: 10
- type: RandomSpawnRule
prototype: RandomSatchelSpawner
- type: entity
parent: BaseGameRule
id: DerelictCyborgSpawn
components:
- type: StationEvent
weight: 5
earliestStart: 15
reoccurrenceDelay: 20
minimumPlayers: 4
duration: null
chaos: # Goobstation
# can be both hostile and friendly
Hostile: 10
Friend: -10
eventType: Chaotic # Goobstation
# Goobstation
- type: GameRule
chaosScore: 80
- type: SpaceSpawnRule
spawnDistance: 0
- type: AntagSpawner
prototype: PlayerBorgDerelict
- type: AntagSelection
definitions:
- spawnerPrototype: SpawnPointGhostDerelictCyborg
min: 1
max: 1
pickPlayer: false