674 lines
25 KiB
YAML
674 lines
25 KiB
YAML
# 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
|