using Robust.Shared.Configuration; namespace Content.Shared._NF.CCVar; [CVarDefs] public sealed class NFCCVars { /* * Respawn */ /// /// Whether or not respawning is enabled. /// public static readonly CVarDef RespawnEnabled = CVarDef.Create("nf14.respawn.enabled", true, CVar.SERVER | CVar.REPLICATED); /// /// Respawn time, how long the player has to wait in seconds after going into cryosleep. Should be small, misclicks happen. /// public static readonly CVarDef RespawnCryoFirstTime = CVarDef.Create("nf14.respawn.cryo_first_time", 20.0f, CVar.SERVER | CVar.REPLICATED); /// /// Respawn time, how long the player has to wait in seconds after death, or on subsequent cryo attempts. /// public static readonly CVarDef RespawnTime = CVarDef.Create("nf14.respawn.time", 1200.0f, CVar.SERVER | CVar.REPLICATED); /// /// Whether or not returning from cryosleep is enabled. /// public static readonly CVarDef CryoReturnEnabled = CVarDef.Create("nf14.uncryo.enabled", true, CVar.SERVER | CVar.REPLICATED); /// /// The time in seconds after which a cryosleeping body is considered expired and can be deleted from the storage map. /// public static readonly CVarDef CryoExpirationTime = CVarDef.Create("nf14.uncryo.maxtime", 1440 * 60f, CVar.SERVER | CVar.REPLICATED); // StarHorizon: Changed from 3 hours (180 minutes) to 24 hours (1440 minutes) /* * Game */ /// /// If false, the game will not display the round's objectives in the summary window. /// public static readonly CVarDef GameShowObjectives = CVarDef.Create("nf14.game.showobjectives", false, CVar.ARCHIVE | CVar.SERVERONLY); /* * Public Transit */ /// /// Whether public transit is enabled. /// public static readonly CVarDef PublicTransit = CVarDef.Create("nf14.publictransit.enabled", true, CVar.SERVERONLY); /* * World Gen */ /// /// The number of Trade Stations to spawn in every round /// public static readonly CVarDef MarketStations = CVarDef.Create("nf14.worldgen.market_stations", 1, CVar.SERVERONLY); /// /// The number of Cargo Depots to spawn in every round /// public static readonly CVarDef CargoDepots = CVarDef.Create("nf14.worldgen.cargo_depots", 4, CVar.SERVERONLY); /// /// The number of Optional Points Of Interest to spawn in every round /// public static readonly CVarDef OptionalStations = CVarDef.Create("nf14.worldgen.optional_stations", 7, CVar.SERVERONLY); /// /// The multiplier to add to distance spawning calculations for a smidge of server setting variance /// public static readonly CVarDef POIDistanceModifier = CVarDef.Create("nf14.worldgen.distance_modifier", 1f, CVar.SERVERONLY); /// /// The maximum number of times to retry POI placement during world generation. /// public static readonly CVarDef POIPlacementRetries = CVarDef.Create("nf14.worldgen.poi_placement_retries", 10, CVar.SERVERONLY); /* * Shipyard */ /// /// Whether the Shipyard is enabled. /// public static readonly CVarDef Shipyard = CVarDef.Create("shuttle.shipyard", true, CVar.SERVERONLY); /// /// Base sell rate (multiplier: 0.95 = 95%) /// public static readonly CVarDef ShipyardSellRate = CVarDef.Create("shuttle.shipyard_base_sell_rate", 0.95f, CVar.SERVERONLY); /* * Salvage */ /// /// The maximum number of shuttles able to go on expedition at once. /// public static readonly CVarDef SalvageExpeditionMaxActive = CVarDef.Create("nf14.salvage.expedition_max_active", 15, CVar.REPLICATED); /// /// Cooldown for failed missions. /// public static readonly CVarDef SalvageExpeditionFailedCooldown = CVarDef.Create("nf14.salvage.expedition_failed_cooldown", 1200f, CVar.REPLICATED); /// /// Transit time in hyperspace in seconds. /// public static readonly CVarDef SalvageExpeditionTravelTime = CVarDef.Create("nf14.salvage.expedition_travel_time", 50f, CVar.REPLICATED); /// /// Whether or not to skip the expedition proximity check. /// public static readonly CVarDef SalvageExpeditionProximityCheck = CVarDef.Create("nf14.salvage.expedition_proximity_check", true, CVar.REPLICATED); /* * Smuggling */ /// /// The maximum number of smuggling drop pods to be out at once. /// Taking another dead drop note will cause the oldest one to be destroyed. /// public static readonly CVarDef SmugglingMaxSimultaneousPods = CVarDef.Create("nf14.smuggling.max_simultaneous_pods", 5, CVar.REPLICATED); /// /// The maximum number of dead drops (places to get smuggling notes) to place at once. /// public static readonly CVarDef SmugglingMaxDeadDrops = CVarDef.Create("nf14.smuggling.max_sector_dead_drops", 10, CVar.REPLICATED); /// /// The minimum number of FUCs to spawn for anti-smuggling work. /// public static readonly CVarDef SmugglingMinFucPayout = CVarDef.Create("nf14.smuggling.min_fuc_payout", 1, CVar.REPLICATED); /// /// The shortest time to wait before a dead drop spawns a new smuggling note. /// public static readonly CVarDef DeadDropMinTimeout = CVarDef.Create("nf14.smuggling.min_timeout", 900, CVar.REPLICATED); /// /// The longest time to wait before a dead drop spawns a new smuggling note. /// public static readonly CVarDef DeadDropMaxTimeout = CVarDef.Create("nf14.smuggling.max_timeout", 5400, CVar.REPLICATED); /// /// The shortest distance that a smuggling pod will spawn away from Frontier Outpost. /// public static readonly CVarDef DeadDropMinDistance = CVarDef.Create("nf14.smuggling.min_distance", 6500, CVar.REPLICATED); /// /// The longest distance that a smuggling pod will spawn away from Frontier Outpost. /// public static readonly CVarDef DeadDropMaxDistance = CVarDef.Create("nf14.smuggling.max_distance", 8000, CVar.REPLICATED); /// /// The smallest number of dead drop hints (paper clues to dead drop locations) at round start. /// public static readonly CVarDef DeadDropMinHints = CVarDef.Create("nf14.smuggling.min_hints", 0, CVar.REPLICATED); // Used with BasicDeadDropHintVariationPass /// /// The largest number of dead drop hints (paper clues to dead drop locations) at round start. /// public static readonly CVarDef DeadDropMaxHints = CVarDef.Create("nf14.smuggling.max_hints", 0, CVar.REPLICATED); // Used with BasicDeadDropHintVariationPass /* * Discord */ /// /// URL of the Discord webhook which will send round status notifications. /// public static readonly CVarDef DiscordRoundWebhook = CVarDef.Create("discord.round_webhook", string.Empty, CVar.SERVERONLY); /// /// Discord ID of role which will be pinged on new round start message. /// public static readonly CVarDef DiscordRoundRoleId = CVarDef.Create("discord.round_roleid", string.Empty, CVar.SERVERONLY); /// /// Send notifications only about a new round begins. /// public static readonly CVarDef DiscordRoundStartOnly = CVarDef.Create("discord.round_start_only", false, CVar.SERVERONLY); /// /// URL of the Discord webhook which will relay all round end messages. /// public static readonly CVarDef DiscordLeaderboardWebhook = CVarDef.Create("discord.leaderboard_webhook", string.Empty, CVar.SERVERONLY); /* * Auth */ public static readonly CVarDef ServerAuthList = CVarDef.Create("frontier.auth_servers", "", CVar.CONFIDENTIAL | CVar.SERVERONLY); public static readonly CVarDef AllowMultiConnect = CVarDef.Create("frontier.allow_multi_connect", true, CVar.CONFIDENTIAL | CVar.SERVERONLY); /* * Events */ /// /// A scale factor applied to a grid's bounds when trying to find a spot to randomly generate a crate for bluespace events. /// public static readonly CVarDef CrateGenerationGridBoundsScale = CVarDef.Create("nf14.events.crate_generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY); /* * Atmos */ /// /// If true, allows map extraction (scrubbing a planet's atmosphere). /// public static readonly CVarDef AllowMapGasExtraction = CVarDef.Create("nf14.atmos.allow_map_gas_extraction", false, CVar.SERVER | CVar.REPLICATED); /* * Audio */ /// /// The volume of expedition ending music. /// public static readonly CVarDef SalvageExpeditionMusicVolume = CVarDef.Create("nf14.audio.expedition_music_volume", 0.50f, CVar.CLIENTONLY | CVar.ARCHIVE); /* * Interface */ /// /// If true, the admin overlay will display the players starting position. /// public static readonly CVarDef AdminOverlayBalance = CVarDef.Create("nf14.ui.admin_overlay_balance", true, CVar.CLIENTONLY | CVar.ARCHIVE); /* * Xenoarchaeology */ /// /// If true, the admin overlay will display the players starting position. /// public static readonly CVarDef XenoarchSingleUseNodes = CVarDef.Create("nf14.xenoarch.single_use_nodes", true, CVar.REPLICATED); /* * Greeting */ /// /// If true, enables a radio greeting whenever a new player spawns. /// public static readonly CVarDef NewPlayerRadioGreetingEnabled = CVarDef.Create("nf14.greeting.enabled", true, CVar.REPLICATED); /// /// The maximum playtime, in minutes, for a new player radio message to be sent. /// public static readonly CVarDef NewPlayerRadioGreetingMaxPlaytime = CVarDef.Create("nf14.greeting.max_playtime", 180, CVar.REPLICATED); // Three hours /// /// The channel the radio message should be sent off on. /// public static readonly CVarDef NewPlayerRadioGreetingChannel = CVarDef.Create("nf14.greeting.channel", "Service", CVar.REPLICATED); }