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);
}