using Content.Server.Destructible.Thresholds;
+using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server.GameTicking.Components;
/// Component attached to all gamerule entities.
/// Used to both track the entity as well as store basic data
/// </summary>
-[RegisterComponent]
+[RegisterComponent, EntityCategory("GameRules")]
public sealed partial class GameRuleComponent : Component
{
/// <summary>
entity-category-name-actions = Actions
+entity-category-name-game-rules = Game Rules
id: Actions
name: entity-category-name-actions
hideSpawnMenu: true
+
+- type: entityCategory
+ id: GameRules
+ name: entity-category-name-game-rules
+ hideSpawnMenu: true
- type: entity
id: GiftsPizzaPartySmall
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 5
- type: entity
id: GiftsPizzaPartyLarge
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 2
- type: entity
id: GiftsEngineering
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 5
- type: entity
id: GiftsVendingRestock
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 4
- type: entity
id: GiftsJanitor
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 6
- type: entity
id: GiftsMedical
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 8
- type: entity
id: GiftsSpacingSupplies
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 4
- type: entity
id: GiftsFireProtection
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 4
- type: entity
id: GiftsSecurityGuns
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 3
- type: entity
id: GiftsSecurityRiot
parent: CargoGiftsBase
- noSpawn: true
components:
- type: StationEvent
weight: 4
id: BaseStationEvent
parent: BaseGameRule
abstract: true
- noSpawn: true
components:
- type: GameRule
delay:
id: BaseStationEventShortDelay
parent: BaseGameRule
abstract: true
- noSpawn: true
components:
- type: GameRule
delay:
id: BaseStationEventLongDelay
parent: BaseGameRule
abstract: true
- noSpawn: true
components:
- type: GameRule
delay:
- type: entity
id: AnomalySpawn
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncementColor: "#18abf5"
- type: entity
id: BluespaceArtifact
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: GameRule
delay:
- type: entity
id: BluespaceLocker
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
weight: 2
- type: entity
id: BreakerFlip
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
weight: 7
- type: entity
id: BureaucraticError
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-bureaucratic-error-announcement
- type: entity
id: ClericalError
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-clerical-error-announcement
- type: entity
parent: BaseGameRule
id: ClosetSkeleton
- noSpawn: true
components:
- type: StationEvent
weight: 5
- type: entity
parent: BaseGameRule
id: DragonSpawn
- noSpawn: true
components:
- type: StationEvent
weight: 6.5
- type: entity
parent: BaseGameRule
id: NinjaSpawn
- noSpawn: true
components:
- type: StationEvent
weight: 6
- type: entity
parent: BaseGameRule
id: RevenantSpawn
- noSpawn: true
components:
- type: StationEvent
weight: 7.5
#- type: entity
# id: FalseAlarm
# parent: BaseGameRule
-# noSpawn: true
# components:
# - type: StationEvent
# weight: 15
- type: entity
id: GasLeak
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-gas-leak-start-announcement
- type: entity
id: KudzuGrowth
parent: BaseStationEventLongDelay
- noSpawn: true
components:
- type: StationEvent
earliestStart: 15
- type: entity
id: MeteorSwarm
parent: BaseStationEventLongDelay
- noSpawn: true
components:
- type: StationEvent
earliestStart: 30
- type: entity
id: MouseMigration
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
- type: entity
id: CockroachMigration
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
- type: entity
id: PowerGridCheck
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
weight: 5
- type: entity
id: RandomSentience
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
weight: 6
- type: entity
parent: BaseGameRule
id: SolarFlare
- noSpawn: true
components:
- type: StationEvent
weight: 8
- type: entity
id: VentClog
parent: BaseStationEventLongDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-vent-clog-start-announcement
- type: entity
id: SlimesSpawn
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
- type: entity
id: SpiderSpawn
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
- type: entity
id: SpiderClownSpawn
parent: BaseStationEventShortDelay
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-vent-creatures-start-announcement
- type: entity
id: ZombieOutbreak
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
earliestStart: 50
prototype: InitialInfected
- type: entity
- noSpawn: true
parent: BaseNukeopsRule
id: LoneOpsSpawn
components:
prototype: Nukeops
- type: entity
- noSpawn: true
parent: BaseTraitorRule
id: SleeperAgentsRule
components:
- type: entity
id: MassHallucinations
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
weight: 7
- type: entity
id: ImmovableRodSpawn
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
startAnnouncement: station-event-immovable-rod-start-announcement
orGroup: rodProto
- type: entity
- noSpawn: true
parent: BaseGameRule
id: IonStorm
components:
- type: entity
id: MimicVendorRule
parent: BaseGameRule
- noSpawn: true
components:
- type: StationEvent
earliestStart: 0
threats: NinjaThreats
- type: entity
- noSpawn: true
parent: BaseGameRule
id: Thief
components:
- type: entity
id: BaseGameRule
abstract: true
- noSpawn: true
components:
- type: GameRule
- type: entity
- noSpawn: true
parent: BaseGameRule
id: RespawnDeadRule
components:
deleteBody: false
- type: entity
- noSpawn: true
parent: BaseGameRule
id: SubGamemodesRule
components:
- type: entity
id: DeathMatch31
parent: BaseGameRule
- noSpawn: true
components:
- type: DeathMatchRule
rewardSpawns:
- type: entity
id: InactivityTimeRestart
parent: BaseGameRule
- noSpawn: true
components:
- type: InactivityRule
inactivityMaxTime: 600
- type: entity
id: MaxTimeRestart
parent: BaseGameRule
- noSpawn: true
components:
- type: MaxTimeRestartRule
roundMaxTime: 300
- type: AntagLoadProfileRule
- type: entity
- noSpawn: true
parent: BaseNukeopsRule
id: Nukeops
components:
agentName: traitor-round-end-agent-name
- type: entity
- noSpawn: true
parent: BaseTraitorRule
id: Traitor
components:
- type: entity
id: Revolutionary
parent: BaseGameRule
- noSpawn: true
components:
- type: GameRule
minPlayers: 15
- type: entity
id: Sandbox
parent: BaseGameRule
- noSpawn: true
components:
- type: SandboxRule
- type: entity
id: Secret
parent: BaseGameRule
- noSpawn: true
components:
- type: SecretRule
- type: entity
id: Zombie
parent: BaseGameRule
- noSpawn: true
components:
- type: GameRule
minPlayers: 20
- type: entity
id: BasicStationEventScheduler
parent: BaseGameRule
- noSpawn: true
components:
- type: BasicStationEventScheduler
- type: entity
id: RampingStationEventScheduler
parent: BaseGameRule
- noSpawn: true
components:
- type: RampingStationEventScheduler
- type: entity
id: BasicRoundstartVariation
parent: BaseGameRule
- noSpawn: true
components:
- type: RoundstartStationVariationRule
rules:
id: BaseVariationPass
parent: BaseGameRule
abstract: true
- noSpawn: true
components:
- type: StationVariationPassRule
- type: entity
id: BasicPoweredLightVariationPass
parent: BaseVariationPass
- noSpawn: true
components:
- type: PoweredLightVariationPass
- type: entity
id: SolidWallRustingVariationPass
parent: BaseVariationPass
- noSpawn: true
components:
- type: WallReplaceVariationPass
- type: EntityReplaceVariationPass
- type: entity
id: ReinforcedWallRustingVariationPass
parent: BaseVariationPass
- noSpawn: true
components:
- type: ReinforcedWallReplaceVariationPass
- type: EntityReplaceVariationPass
- type: entity
id: BasicTrashVariationPass
parent: BaseVariationPass
- noSpawn: true
components:
- type: EntitySpawnVariationPass
tilesPerEntityAverage: 35
- type: entity
id: BasicPuddleMessVariationPass
parent: BaseVariationPass
- noSpawn: true
components:
- type: PuddleMessVariationPass
randomPuddleSolutionFill: RandomFillTrashPuddle
- type: entity
id: BloodbathPuddleMessVariationPass
parent: BaseVariationPass
- noSpawn: true
components:
- type: PuddleMessVariationPass
tilesPerSpillAverage: 150
- type: entity
id: CutWireVariationPass
parent: BaseVariationPass
- noSpawn: true
components:
- type: CutWireVariationPass
wireCutChance: 0.01