From 7a833ed776e256c9f0150ec2bf1ddf08ec83c2db Mon Sep 17 00:00:00 2001 From: Dvir <39403717+dvir001@users.noreply.github.com> Date: Tue, 29 Oct 2024 12:53:02 +0200 Subject: [PATCH] Cvar cleanups (#2325) * Update CCVars.cs * CVAR Cleanups * Update CCVars.cs * NFCCVars Fixup * Update CCVars.cs * Tips * touch up the tips * Revert expedition_cooldown change, frontier cmnts * Bluespace crate generation param --------- Co-authored-by: Whatstone --- .../UI/SalvageExpeditionWindow.xaml.cs | 3 +- .../Connection/ConnectionManager.cs | 5 +- .../RoundNotificationsSystem.cs | 7 +- .../Salvage/SalvageSystem.Expeditions.cs | 6 +- .../Shipyard/Systems/ShipyardSystem.cs | 7 +- .../_NF/GameRule/NfAdventureRuleSystem.cs | 2 +- .../Events/BluespaceCargoRule.cs | 4 +- Content.Shared/CCVar/CCVars.cs | 141 ++++++------------ Content.Shared/_NF/CCVar/NFCCVars.cs | 63 ++++++++ Resources/Locale/en-US/_NF/tips.ftl | 123 +++++++++++++++ Resources/Prototypes/_NF/Datasets/tips.yml | 127 +--------------- .../_NF/Entities/Debugging/tippy.yml | 20 +++ .../_NF/Entities/Debugging/tippyclippy.yml | 30 ---- 13 files changed, 277 insertions(+), 261 deletions(-) create mode 100644 Resources/Locale/en-US/_NF/tips.ftl create mode 100644 Resources/Prototypes/_NF/Entities/Debugging/tippy.yml delete mode 100644 Resources/Prototypes/_NF/Entities/Debugging/tippyclippy.yml diff --git a/Content.Client/Salvage/UI/SalvageExpeditionWindow.xaml.cs b/Content.Client/Salvage/UI/SalvageExpeditionWindow.xaml.cs index e76c51d55a9..43f9cc1f02e 100644 --- a/Content.Client/Salvage/UI/SalvageExpeditionWindow.xaml.cs +++ b/Content.Client/Salvage/UI/SalvageExpeditionWindow.xaml.cs @@ -3,6 +3,7 @@ using Content.Client.Stylesheets; using Content.Client.UserInterface.Controls; using Content.Shared.CCVar; +using Content.Shared._NF.CCVar; // Frontier using Content.Shared.Parallax.Biomes; using Content.Shared.Salvage; using Content.Shared.Salvage.Expeditions; @@ -303,7 +304,7 @@ protected override void FrameUpdate(FrameEventArgs args) else { var cooldown = _cooldown - ? TimeSpan.FromSeconds(_cfgManager.GetCVar(CCVars.SalvageExpeditionFailedCooldown)) + ? TimeSpan.FromSeconds(_cfgManager.GetCVar(NFCCVars.SalvageExpeditionFailedCooldown)) : TimeSpan.FromSeconds(_cfgManager.GetCVar(CCVars.SalvageExpeditionCooldown)); NextOfferBar.Value = 1f - (float) (remaining / cooldown); diff --git a/Content.Server/Connection/ConnectionManager.cs b/Content.Server/Connection/ConnectionManager.cs index 3dd2d2ae5ec..186d7ea8650 100644 --- a/Content.Server/Connection/ConnectionManager.cs +++ b/Content.Server/Connection/ConnectionManager.cs @@ -7,6 +7,7 @@ using Content.Server.GameTicking; using Content.Server.Preferences.Managers; using Content.Shared.CCVar; +using Content.Shared._NF.CCVar; // Frontier using Content.Shared.GameTicking; using Content.Shared.Players.PlayTimeTracking; using Robust.Server.Player; @@ -322,9 +323,9 @@ session.Status is SessionStatus.Connected or SessionStatus.InGame //This is our little chunk that serves as a dAuth. It takes in a comma seperated list of IP:PORT, and chekcs //the requesting player against the list of players logged in to other servers. It is intended to be failsafe. //In the case of Admins, it shares the same bypass setting as the soft_max_player_limit - if (!_cfg.GetCVar(CCVars.AllowMultiConnect) && !adminBypass) + if (!_cfg.GetCVar(NFCCVars.AllowMultiConnect) && !adminBypass) { - var serverListString = _cfg.GetCVar(CCVars.ServerAuthList); + var serverListString = _cfg.GetCVar(NFCCVars.ServerAuthList); var serverList = serverListString.Split(","); foreach (var server in serverList) { diff --git a/Content.Server/Nyanotrasen/RoundNotifications/RoundNotificationsSystem.cs b/Content.Server/Nyanotrasen/RoundNotifications/RoundNotificationsSystem.cs index daaf75a4372..44e48bee82d 100644 --- a/Content.Server/Nyanotrasen/RoundNotifications/RoundNotificationsSystem.cs +++ b/Content.Server/Nyanotrasen/RoundNotifications/RoundNotificationsSystem.cs @@ -3,6 +3,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Content.Shared.CCVar; +using Content.Shared._NF.CCVar; // Frontier using Content.Server.Maps; using Content.Shared.GameTicking; using Robust.Shared; @@ -33,9 +34,9 @@ public override void Initialize() SubscribeLocalEvent(OnRoundStarted); SubscribeLocalEvent(OnRoundEnded); - _config.OnValueChanged(CCVars.DiscordRoundWebhook, value => _webhookUrl = value, true); - _config.OnValueChanged(CCVars.DiscordRoundRoleId, value => _roleId = value, true); - _config.OnValueChanged(CCVars.DiscordRoundStartOnly, value => _roundStartOnly = value, true); + _config.OnValueChanged(NFCCVars.DiscordRoundWebhook, value => _webhookUrl = value, true); // Frontier: namespaced CVar + _config.OnValueChanged(NFCCVars.DiscordRoundRoleId, value => _roleId = value, true); // Frontier: namespaced CVar + _config.OnValueChanged(NFCCVars.DiscordRoundStartOnly, value => _roundStartOnly = value, true); // Frontier: namespaced CVar _config.OnValueChanged(CVars.GameHostName, OnServerNameChanged, true); _sawmill = IoCManager.Resolve().GetSawmill("notifications"); diff --git a/Content.Server/Salvage/SalvageSystem.Expeditions.cs b/Content.Server/Salvage/SalvageSystem.Expeditions.cs index 382036fa3e6..a8bc5558898 100644 --- a/Content.Server/Salvage/SalvageSystem.Expeditions.cs +++ b/Content.Server/Salvage/SalvageSystem.Expeditions.cs @@ -63,7 +63,7 @@ private void InitializeExpeditions() SubscribeLocalEvent(OnStructureExamine); Subs.CVar(_configurationManager, CCVars.SalvageExpeditionCooldown, SetCooldownChange, true); // Frontier - Subs.CVar(_configurationManager, CCVars.SalvageExpeditionFailedCooldown, SetFailedCooldownChange, true); // Frontier + Subs.CVar(_configurationManager, NFCCVars.SalvageExpeditionFailedCooldown, SetFailedCooldownChange, true); // Frontier } private void OnExpeditionGetState(EntityUid uid, SalvageExpeditionComponent component, ref ComponentGetState args) @@ -74,11 +74,13 @@ private void OnExpeditionGetState(EntityUid uid, SalvageExpeditionComponent comp }; } + // Frontier private void ShutdownExpeditions() { _configurationManager.UnsubValueChanged(CCVars.SalvageExpeditionCooldown, SetCooldownChange); - _configurationManager.UnsubValueChanged(CCVars.SalvageExpeditionFailedCooldown, SetFailedCooldownChange); + _configurationManager.UnsubValueChanged(NFCCVars.SalvageExpeditionFailedCooldown, SetFailedCooldownChange); } + // End Frontier private void SetCooldownChange(float obj) { diff --git a/Content.Server/Shipyard/Systems/ShipyardSystem.cs b/Content.Server/Shipyard/Systems/ShipyardSystem.cs index 4d514045086..bc3557c2c61 100644 --- a/Content.Server/Shipyard/Systems/ShipyardSystem.cs +++ b/Content.Server/Shipyard/Systems/ShipyardSystem.cs @@ -10,6 +10,7 @@ using Robust.Server.Maps; using Robust.Shared.Map; using Content.Shared.CCVar; +using Content.Shared._NF.CCVar; using Robust.Shared.Configuration; using System.Diagnostics.CodeAnalysis; using System.Linq; @@ -62,8 +63,8 @@ public struct ShipyardSaleResult public override void Initialize() { base.Initialize(); - _enabled = _configManager.GetCVar(CCVars.Shipyard); - _configManager.OnValueChanged(CCVars.Shipyard, SetShipyardEnabled, true); + _enabled = _configManager.GetCVar(NFCCVars.Shipyard); + _configManager.OnValueChanged(NFCCVars.Shipyard, SetShipyardEnabled, true); _sawmill = Logger.GetSawmill("shipyard"); SubscribeLocalEvent(OnShipyardStartup); @@ -77,7 +78,7 @@ public override void Initialize() } public override void Shutdown() { - _configManager.UnsubValueChanged(CCVars.Shipyard, SetShipyardEnabled); + _configManager.UnsubValueChanged(NFCCVars.Shipyard, SetShipyardEnabled); } private void OnShipyardStartup(EntityUid uid, ShipyardConsoleComponent component, ComponentStartup args) { diff --git a/Content.Server/_NF/GameRule/NfAdventureRuleSystem.cs b/Content.Server/_NF/GameRule/NfAdventureRuleSystem.cs index ffee18070a1..33af98aee5a 100644 --- a/Content.Server/_NF/GameRule/NfAdventureRuleSystem.cs +++ b/Content.Server/_NF/GameRule/NfAdventureRuleSystem.cs @@ -538,7 +538,7 @@ private void AddStationCoordsToSet(Vector2 coords) private async Task ReportRound(string message, int color = 0x77DDE7) { Logger.InfoS("discord", message); - String webhookUrl = _configurationManager.GetCVar(CCVars.DiscordLeaderboardWebhook); + String webhookUrl = _configurationManager.GetCVar(NFCCVars.DiscordLeaderboardWebhook); if (webhookUrl == string.Empty) return; diff --git a/Content.Server/_NF/StationEvents/Events/BluespaceCargoRule.cs b/Content.Server/_NF/StationEvents/Events/BluespaceCargoRule.cs index 06a6af75b6d..177ad6e5728 100644 --- a/Content.Server/_NF/StationEvents/Events/BluespaceCargoRule.cs +++ b/Content.Server/_NF/StationEvents/Events/BluespaceCargoRule.cs @@ -8,7 +8,7 @@ using Robust.Shared.Configuration; using Content.Server.Atmos.EntitySystems; using Content.Shared.GameTicking.Components; -using Content.Shared.CCVar; +using Content.Shared._NF.CCVar; namespace Content.Server.StationEvents.Events; @@ -53,7 +53,7 @@ public void SpawnOnRandomGridLocation(EntityUid grid, string toSpawn, string toS var xform = Transform(grid); var targetCoords = xform.Coordinates; - var gridBounds = gridComp.LocalAABB.Scale(_configuration.GetCVar(CCVars.CargoGenerationGridBoundsScale)); + var gridBounds = gridComp.LocalAABB.Scale(_configuration.GetCVar(NFCCVars.CrateGenerationGridBoundsScale)); for (var i = 0; i < 25; i++) { diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index d817ae3d7ae..544f843eecc 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -18,19 +18,19 @@ public sealed class CCVars : CVars /// Change this to have the changelog and rules "last seen" date stored separately. /// public static readonly CVarDef ServerId = - CVarDef.Create("server.id", "new_frontier", CVar.REPLICATED | CVar.SERVER); + CVarDef.Create("server.id", "new_frontier", CVar.REPLICATED | CVar.SERVER); // Frontier: new_frontier /// /// Guide Entry Prototype ID to be displayed as the server rules. /// public static readonly CVarDef RulesFile = - CVarDef.Create("server.rules_file", "FrontierRuleset", CVar.REPLICATED | CVar.SERVER); + CVarDef.Create("server.rules_file", "FrontierRuleset", CVar.REPLICATED | CVar.SERVER); // Frontier: Rules /// /// A loc string for what should be displayed as the title on the Rules window. /// public static readonly CVarDef RulesHeader = - CVarDef.Create("server.rules_header", "Frontier Server Rules", CVar.REPLICATED | CVar.SERVER); + CVarDef.Create("server.rules_header", "Frontier Server Rules", CVar.REPLICATED | CVar.SERVER); // Frontier: Rules /// /// Guide entry that is displayed by default when a guide is opened. @@ -136,7 +136,7 @@ public static readonly CVarDef /// Controls the duration of the lobby timer in seconds. Defaults to 2 minutes and 30 seconds. /// public static readonly CVarDef - GameLobbyDuration = CVarDef.Create("game.lobbyduration", 180, CVar.ARCHIVE); + GameLobbyDuration = CVarDef.Create("game.lobbyduration", 180, CVar.ARCHIVE); // Frontier: 150<180 /// /// Controls if players can latejoin at all. @@ -148,7 +148,7 @@ public static readonly CVarDef /// Controls the default game preset. /// public static readonly CVarDef - GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "adventure", CVar.ARCHIVE); + GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "adventure", CVar.ARCHIVE); // Frontier: secret /// Controls if the game can force a different preset if the current preset's criteria are not met. @@ -178,7 +178,7 @@ public static readonly CVarDef /// Controls the game map prototype to load. SS14 stores these prototypes in Prototypes/Maps. /// public static readonly CVarDef - GameMap = CVarDef.Create("game.map", "Frontier", CVar.SERVERONLY); + GameMap = CVarDef.Create("game.map", "Frontier", CVar.SERVERONLY); // Frontier: string.Empty /// Controls whether to use world persistence or not. @@ -210,7 +210,7 @@ public static readonly CVarDef /// Is map rotation enabled? /// public static readonly CVarDef - GameMapRotation = CVarDef.Create("game.map_rotation", false, CVar.SERVERONLY); + GameMapRotation = CVarDef.Create("game.map_rotation", false, CVar.SERVERONLY); // Frontier: false /// /// If roles should be restricted based on time. @@ -319,7 +319,7 @@ public static readonly CVarDef /// /// Whether the baby jail is currently enabled. /// - public static readonly CVarDef BabyJailEnabled = + public static readonly CVarDef BabyJailEnabled = CVarDef.Create("game.baby_jail.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER); /// @@ -465,30 +465,6 @@ public static readonly CVarDef public static readonly CVarDef DiscordAHelpAvatar = CVarDef.Create("discord.ahelp_avatar", string.Empty, CVar.SERVERONLY); - /// - /// 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); - /// /// URL of the Discord webhook which will relay all custom votes. If left empty, disables the webhook. /// @@ -520,7 +496,7 @@ public static readonly CVarDef /// The dataset prototype to use when selecting a random tip. /// public static readonly CVarDef TipsDataset = - CVarDef.Create("tips.dataset", "TipsNF"); + CVarDef.Create("tips.dataset", "NFTips"); // Frontier: Tips /// The number of seconds between each tip being displayed when the round is not actively going @@ -1008,7 +984,7 @@ public static readonly CVarDef /// Actual area may be larger, as it currently doesn't terminate mid neighbor finding. I.e., area may be that of a ~51 tile radius circle instead. /// public static readonly CVarDef ExplosionMaxArea = - CVarDef.Create("explosion.max_area", (int) 3.14f * 256 * 256, CVar.SERVERONLY); + CVarDef.Create("explosion.max_area", (int)3.14f * 256 * 256, CVar.SERVERONLY); /// /// Upper limit on the number of neighbor finding steps for the explosion system neighbor-finding algorithm. @@ -1140,7 +1116,7 @@ public static readonly CVarDef /// Whether gas differences will move entities. /// public static readonly CVarDef SpaceWind = - CVarDef.Create("atmos.space_wind", true, CVar.SERVERONLY); + CVarDef.Create("atmos.space_wind", true, CVar.SERVERONLY); // Frontier: true /// /// Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects. @@ -1166,7 +1142,7 @@ public static readonly CVarDef /// A "throwing" atmospheric pressure difference ignores this limit, but not the max. velocity limit. /// public static readonly CVarDef SpaceWindMaxPushForce = - CVarDef.Create("atmos.space_wind_max_push_force", 25f, CVar.SERVERONLY); + CVarDef.Create("atmos.space_wind_max_push_force", 25f, CVar.SERVERONLY); // Frontier 20<25 /// /// Whether monstermos tile equalization is enabled. @@ -1189,7 +1165,7 @@ public static readonly CVarDef /// Also looks weird on slow spacing for unrelated reasons. If you do want to enable this, you should probably turn on instaspacing. /// public static readonly CVarDef MonstermosRipTiles = - CVarDef.Create("atmos.monstermos_rip_tiles", false, CVar.SERVERONLY); + CVarDef.Create("atmos.monstermos_rip_tiles", false, CVar.SERVERONLY); // Frontier TODO: Update this to true after atmos changeups /// /// Whether explosive depressurization will cause the grid to gain an impulse. @@ -1203,7 +1179,7 @@ public static readonly CVarDef /// 1.0 for instant spacing, 0.2 means 20% of remaining air lost each time /// public static readonly CVarDef AtmosSpacingEscapeRatio = - CVarDef.Create("atmos.mmos_spacing_speed", 0.15f, CVar.SERVERONLY); // Frontier: Changed to 0.15 in June merge from original 0.5 + CVarDef.Create("atmos.mmos_spacing_speed", 0.15f, CVar.SERVERONLY); /// /// Minimum amount of air allowed on a spaced tile before it is reset to 0 immediately in kPa @@ -1211,7 +1187,7 @@ public static readonly CVarDef /// unless we truncate it somewhere. /// public static readonly CVarDef AtmosSpacingMinGas = - CVarDef.Create("atmos.mmos_min_gas", 1.0f, CVar.SERVERONLY); + CVarDef.Create("atmos.mmos_min_gas", 1.0f, CVar.SERVERONLY); // Frontier 2.0<1.0 /// /// How much wind can go through a single tile before that tile doesn't depressurize itself @@ -1267,14 +1243,14 @@ public static readonly CVarDef /// in-game. /// public static readonly CVarDef AtmosSpeedup = - CVarDef.Create("atmos.speedup", 2f, CVar.SERVERONLY); + CVarDef.Create("atmos.speedup", 2f, CVar.SERVERONLY); // Frontier 8f<2f /// /// Like atmos.speedup, but only for gas and reaction heat values. 64x means /// gases heat up and cool down 64x faster than real life. /// public static readonly CVarDef AtmosHeatScale = - CVarDef.Create("atmos.heat_scale", 2f, CVar.SERVERONLY); + CVarDef.Create("atmos.heat_scale", 2f, CVar.SERVERONLY); // Frontier 8f<2f /// /// Maximum explosion radius for explosions caused by bursting a gas tank ("max caps"). @@ -1390,13 +1366,13 @@ public static readonly CVarDef /// See vote.enabled, but specific to restart votes /// public static readonly CVarDef VoteRestartEnabled = - CVarDef.Create("vote.restart_enabled", false, CVar.SERVERONLY); + CVarDef.Create("vote.restart_enabled", false, CVar.SERVERONLY); // Frontier: false /// /// Config for when the restart vote should be allowed to be called regardless with less than this amount of players. /// public static readonly CVarDef VoteRestartMaxPlayers = - CVarDef.Create("vote.restart_max_players", 4, CVar.SERVERONLY); + CVarDef.Create("vote.restart_max_players", 20, CVar.SERVERONLY); /// /// Config for when the restart vote should be allowed to be called based on percentage of ghosts. @@ -1408,7 +1384,7 @@ public static readonly CVarDef /// See vote.enabled, but specific to preset votes /// public static readonly CVarDef VotePresetEnabled = - CVarDef.Create("vote.preset_enabled", false, CVar.SERVERONLY); + CVarDef.Create("vote.preset_enabled", false, CVar.SERVERONLY); // Frontier: false /// /// See vote.enabled, but specific to map votes @@ -1420,7 +1396,7 @@ public static readonly CVarDef /// The required ratio of the server that must agree for a restart round vote to go through. /// public static readonly CVarDef VoteRestartRequiredRatio = - CVarDef.Create("vote.restart_required_ratio", 0.90f, CVar.SERVERONLY); + CVarDef.Create("vote.restart_required_ratio", 0.85f, CVar.SERVERONLY); /// /// Whether or not to prevent the restart vote from having any effect when there is an online admin @@ -1432,7 +1408,7 @@ public static readonly CVarDef /// The delay which two votes of the same type are allowed to be made by separate people, in seconds. /// public static readonly CVarDef VoteSameTypeTimeout = - CVarDef.Create("vote.same_type_timeout", 600f, CVar.SERVERONLY); + CVarDef.Create("vote.same_type_timeout", 240f, CVar.SERVERONLY); /// @@ -1445,7 +1421,7 @@ public static readonly CVarDef /// Sets the duration of the restart vote timer. /// public static readonly CVarDef - VoteTimerRestart = CVarDef.Create("vote.timerrestart", 300, CVar.SERVERONLY); + VoteTimerRestart = CVarDef.Create("vote.timerrestart", 60, CVar.SERVERONLY); /// /// Sets the duration of the gamemode/preset vote timer. @@ -1501,7 +1477,7 @@ public static readonly CVarDef /// Whether the arrivals shuttle is enabled. /// public static readonly CVarDef ArrivalsShuttles = - CVarDef.Create("shuttle.arrivals", false, CVar.SERVERONLY); + CVarDef.Create("shuttle.arrivals", false, CVar.SERVERONLY); // Frontier: false /// /// The map to use for the arrivals station. @@ -1538,16 +1514,7 @@ public static readonly CVarDef /// Whether to automatically spawn escape shuttles. /// public static readonly CVarDef GridFill = - CVarDef.Create("shuttle.grid_fill", false, CVar.SERVERONLY); - - public static readonly CVarDef CargoShuttles = - CVarDef.Create("shuttle.cargo", false, CVar.SERVERONLY); - - /// - /// Whether the Shipyard is enabled. - /// - public static readonly CVarDef Shipyard = - CVarDef.Create("shuttle.shipyard", true, CVar.SERVERONLY); + CVarDef.Create("shuttle.grid_fill", false, CVar.SERVERONLY); // Frontier: false /// /// Whether to automatically preloading grids by GridPreloaderSystem @@ -1606,7 +1573,7 @@ public static readonly CVarDef /// How long the emergency shuttle remains docked with the station, in seconds. /// public static readonly CVarDef EmergencyShuttleDockTime = - CVarDef.Create("shuttle.emergency_dock_time", 300f, CVar.SERVERONLY); + CVarDef.Create("shuttle.emergency_dock_time", 300f, CVar.SERVERONLY); // Frontier: 180f<300f /// /// If the emergency shuttle can't dock at a priority port, the dock time will be multiplied with this value. @@ -1631,39 +1598,39 @@ public static readonly CVarDef /// Actual minimum travel time cannot be less than /// public static readonly CVarDef EmergencyShuttleMinTransitTime = - CVarDef.Create("shuttle.emergency_transit_time_min", 300f, CVar.SERVERONLY); + CVarDef.Create("shuttle.emergency_transit_time_min", 300f, CVar.SERVERONLY); // Frontier: 60f<300f /// /// The maximum time for the emergency shuttle to arrive at centcomm. /// public static readonly CVarDef EmergencyShuttleMaxTransitTime = - CVarDef.Create("shuttle.emergency_transit_time_max", 600f, CVar.SERVERONLY); + CVarDef.Create("shuttle.emergency_transit_time_max", 600f, CVar.SERVERONLY); // Frontier: 180f<600f /// /// Whether the emergency shuttle is enabled or should the round just end. /// public static readonly CVarDef EmergencyShuttleEnabled = - CVarDef.Create("shuttle.emergency", false, CVar.SERVERONLY); + CVarDef.Create("shuttle.emergency", false, CVar.SERVERONLY); // Frontier: false /// /// The percentage of time passed from the initial call to when the shuttle can no longer be recalled. /// ex. a call time of 10min and turning point of 0.5 means the shuttle cannot be recalled after 5 minutes. /// public static readonly CVarDef EmergencyRecallTurningPoint = - CVarDef.Create("shuttle.recall_turning_point", 0.1f, CVar.SERVERONLY); + CVarDef.Create("shuttle.recall_turning_point", 0.5f, CVar.SERVERONLY); /// /// Time in minutes after round start to auto-call the shuttle. Set to zero to disable. /// public static readonly CVarDef EmergencyShuttleAutoCallTime = - CVarDef.Create("shuttle.auto_call_time", 360, CVar.SERVERONLY); + CVarDef.Create("shuttle.auto_call_time", 360, CVar.SERVERONLY); // Frontier: 90<360 /// /// Time in minutes after the round was extended (by recalling the shuttle) to call /// the shuttle again. /// public static readonly CVarDef EmergencyShuttleAutoCallExtensionTime = - CVarDef.Create("shuttle.auto_call_extension_time", 55, CVar.SERVERONLY); + CVarDef.Create("shuttle.auto_call_extension_time", 45, CVar.SERVERONLY); /* * Crew Manifests @@ -1708,18 +1675,6 @@ public static readonly CVarDef public static readonly CVarDef AnomalyGenerationGridBoundsScale = CVarDef.Create("anomaly.generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY); - /// - /// A scale factor applied to a grid's bounds when trying to find a spot to randomly generate cargo crate. - /// - public static readonly CVarDef CargoGenerationGridBoundsScale = - CVarDef.Create("cargo.generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY); - - /// - /// A scale factor applied to a grid's bounds when trying to find a spot to randomly generate syndicate crate. - /// - public static readonly CVarDef SyndicateCrateGenerationGridBoundsScale = - CVarDef.Create("syndicatecrate.generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY); - /* * VIEWPORT */ @@ -1890,13 +1845,13 @@ public static readonly CVarDef /// Allows flavor text (character descriptions) /// public static readonly CVarDef FlavorText = - CVarDef.Create("ic.flavor_text", true, CVar.SERVER | CVar.REPLICATED); + CVarDef.Create("ic.flavor_text", true, CVar.SERVER | CVar.REPLICATED); // Frontier: true /// /// Adds a period at the end of a sentence if the sentence ends in a letter. /// public static readonly CVarDef ChatPunctuation = - CVarDef.Create("ic.punctuation", true, CVar.SERVER); + CVarDef.Create("ic.punctuation", true, CVar.SERVER); // Frontier: true /// /// Enables automatically forcing IC name rules. Uppercases the first letter of the first and last words of the name @@ -1927,13 +1882,16 @@ public static readonly CVarDef */ /// - /// Cooldown for successful missions. + /// Duration for missions /// public static readonly CVarDef - SalvageExpeditionCooldown = CVarDef.Create("salvage.expedition_cooldown", 300f, CVar.REPLICATED); + SalvageExpeditionDuration = CVarDef.Create("salvage.expedition_duration", 900f, CVar.REPLICATED); // Frontier: This is not used, look for SalvageTimeMod + /// + /// Cooldown for missions. Frontier: SalvageExpeditionFailedCooldown for failed missions + /// public static readonly CVarDef - SalvageExpeditionFailedCooldown = CVarDef.Create("salvage.expedition_failed_cooldown", 600f, CVar.REPLICATED); + SalvageExpeditionCooldown = CVarDef.Create("salvage.expedition_cooldown", 300f, CVar.REPLICATED); // Frontier: 780f<300f TODO: return this up in another PR /* * Flavor @@ -2009,7 +1967,7 @@ public static readonly CVarDef /// This is useful to free some space automatically. Auto-deletion runs only on server boot. /// public static readonly CVarDef ResourceUploadingStoreDeletionDays = - CVarDef.Create("netres.store_deletion_days", 0, CVar.SERVER | CVar.SERVERONLY); + CVarDef.Create("netres.store_deletion_days", 0, CVar.SERVER | CVar.SERVERONLY); // Frontier 30<0 /* * Controls @@ -2035,7 +1993,7 @@ public static readonly CVarDef /// Whether or not the storage UI is static and bound to the hotbar, or unbound and allowed to be dragged anywhere. /// public static readonly CVarDef StaticStorageUI = - CVarDef.Create("control.static_storage_ui", false, CVar.CLIENTONLY | CVar.ARCHIVE); + CVarDef.Create("control.static_storage_ui", false, CVar.CLIENTONLY | CVar.ARCHIVE); // Frontier: false /// /// Whether or not the storage window uses a transparent or opaque sprite. @@ -2061,7 +2019,7 @@ public static readonly CVarDef /// The time you must spend reading the rules, before the "Request" button is enabled /// public static readonly CVarDef GhostRoleTime = - CVarDef.Create("ghost.role_time", 5f, CVar.REPLICATED | CVar.SERVER); + CVarDef.Create("ghost.role_time", 3f, CVar.REPLICATED | CVar.SERVER); /// /// If ghost role lotteries should be made near-instanteous. @@ -2189,7 +2147,7 @@ public static readonly CVarDef /// Whether or not world generation is enabled. /// public static readonly CVarDef WorldgenEnabled = - CVarDef.Create("worldgen.enabled", true, CVar.SERVERONLY); // Frontier: false /// The worldgen config to use. @@ -2201,7 +2159,7 @@ public static readonly CVarDef /// The maximum amount of time the entity GC can process, in ms. /// public static readonly CVarDef GCMaximumTimeMs = - CVarDef.Create("entgc.maximum_time_ms", 10, CVar.SERVERONLY); + CVarDef.Create("entgc.maximum_time_ms", 10, CVar.SERVERONLY); // Frontier: 5<10 /* * Replays @@ -2247,11 +2205,11 @@ public static readonly CVarDef */ public static readonly CVarDef GatewayGeneratorEnabled = - CVarDef.Create("gateway.generator_enabled", false); + CVarDef.Create("gateway.generator_enabled", false); // Frontier: false // Clippy! public static readonly CVarDef TippyEntity = - CVarDef.Create("tippy.entity", "TippyClippy", CVar.SERVER | CVar.REPLICATED); // Frontier - Tippy /// The number of seconds that must pass for a single entity to be able to point at something again. @@ -2259,11 +2217,6 @@ public static readonly CVarDef public static readonly CVarDef PointingCooldownSeconds = CVarDef.Create("pointing.cooldown_seconds", 0.5f, CVar.SERVERONLY); - 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); /* * DEBUG */ diff --git a/Content.Shared/_NF/CCVar/NFCCVars.cs b/Content.Shared/_NF/CCVar/NFCCVars.cs index 64006ca81e4..155d556a7a7 100644 --- a/Content.Shared/_NF/CCVar/NFCCVars.cs +++ b/Content.Shared/_NF/CCVar/NFCCVars.cs @@ -5,6 +5,9 @@ namespace Content.Shared._NF.CCVar; [CVarDefs] public sealed class NFCCVars { + /* + * Respawn + */ /// /// Whether or not respawning is enabled. /// @@ -101,6 +104,15 @@ public sealed class NFCCVars 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); + /* * Salvage */ @@ -110,6 +122,12 @@ public sealed class NFCCVars 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("salvage.expedition_failed_cooldown", 1200f, CVar.REPLICATED); + /* * Smuggling */ @@ -159,4 +177,49 @@ public sealed class NFCCVars /// 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); } diff --git a/Resources/Locale/en-US/_NF/tips.ftl b/Resources/Locale/en-US/_NF/tips.ftl new file mode 100644 index 00000000000..31c9806f068 --- /dev/null +++ b/Resources/Locale/en-US/_NF/tips.ftl @@ -0,0 +1,123 @@ +nf-tips-dataset-1 = If you're on fire, you can click the alert on the right of your screen to stop, drop, and roll. +nf-tips-dataset-2 = You can view and edit all keybindings used in-game at any time through the Options menu. +nf-tips-dataset-3 = You can access the in-game guidebook through the escape menu, or by pressing Numpad 0 by default. +nf-tips-dataset-4 = Some entities in-game have guidebook entries associated with them. Examine the entity with Shift-Click and click the question mark icon. +nf-tips-dataset-5 = Artifacts can gain permanent effects for some triggered nodes, including becoming an intercom or an extremely efficient generator. +nf-tips-dataset-6 = You can avoid slipping on most puddles by walking. However, some strong chemicals like space lube will slip people anyway. +nf-tips-dataset-7 = Some plants, such as galaxy thistle, can be ground up into extremely useful and potent medicines. +nf-tips-dataset-8 = Mopping up puddles and draining them into other containers conserves the reagents found in the puddle. +nf-tips-dataset-9 = Floor drains rapidly consume reagent found in puddles around them--including blood. +nf-tips-dataset-10 = Cognizine, a hard to manufacture chemical, makes animals sentient when they are injected with it. +nf-tips-dataset-11 = Fire extinguishers can be loaded with any reagent in the game. +nf-tips-dataset-12 = Some reagents, like chlorine trifluoride, have unique effects when applied by touch, such as through a spray bottle or foam. +nf-tips-dataset-13 = Remember to touch grass in between playing Space Station 14 every once in a while. +nf-tips-dataset-14 = You can use the Activate in World keybind, E by default, to interact with objects while your hands are full, or without picking them up. +nf-tips-dataset-15 = Common sense goes a long way to avoiding conflict. +nf-tips-dataset-16 = Every other player in game is a human being as well. +nf-tips-dataset-17 = Chemicals don't react while inside the ChemMaster's buffer. +nf-tips-dataset-18 = Don't anger the bartender by throwing their glasses! Politely place them on the table by tapping Q. +nf-tips-dataset-19 = You can hold SPACE by default to slow the movement of the shuttle when piloting, to allow for precise movements--or even coming to a complete stop. +nf-tips-dataset-20 = Every crewmember comes with an emergency medipen in their survival box containing epinephrine and tranexamic acid. +nf-tips-dataset-21 = You can add labels to any item, including food or pill canisters, using a hand labeler. +nf-tips-dataset-22 = As a ghost, you can use the Verb Menu to orbit around and follow any entity in game automatically." +nf-tips-dataset-23 = You can examine your headset to see which radio channels you have available and the chat shortcuts to speak in them." +nf-tips-dataset-24 = When salvaging, you can use your proto-kinetic accelerator to move yourself in space when in a pinch. Be wary that it isn't very effective." +nf-tips-dataset-25 = When bartending, try experimenting with unique drinks. Have you tried to make demon's blood yet?" +nf-tips-dataset-26 = You can mutate and crossbreed plants together to create more potent produce that also has higher yields." +nf-tips-dataset-27 = As an NFSD officer, communicate and coordinate with your fellow officers using the NFSD radio channel to avoid confusion." +nf-tips-dataset-28 = As an NFSD officer, remember that correlation does not equal causation. Someone may have just been at the wrong place at the wrong time!" +nf-tips-dataset-29 = As a Detective, you can chase criminals more effectively by using fingerprint fiber data and DNA obtained from forensic scans of objects the perpetrator likely interacted with." +nf-tips-dataset-30 = Remember, you can repair cracked windows by using a lit welding tool on them while not in combat mode." +nf-tips-dataset-31 = Remember, you can use plasma glass to reinforce an area and prevent radiation. Uranium glass can also be used to prevent radiation." +nf-tips-dataset-32 = When researching artifacts, you can try random things on an artifact while the scanner is on cooldown to speed up the point extraction process significantly. +nf-tips-dataset-33 = Remember, you can utilize higher tier machine parts to increase the effectiveness of machines. This can make certain machines significantly better; people will love you if you upgrade their lathes! +nf-tips-dataset-34 = You can try to guess what a machine upgrade will do based on what part you are upgrading. Matter bins enhance storage capabilities, capacitors increase efficiency, and manipulators enhance power. +nf-tips-dataset-35 = When healing patients, be wary of overdosing them, especially if someone else has already been on the scene. Overdoses are often lethal to patients in crit! +nf-tips-dataset-36 = Remember that health analyzers have replacable batteries. If it drains too quickly for your taste, ask a scientist to print a better battery for you! +nf-tips-dataset-37 = When doing chemistry, once you've made everything you've needed to, don't be afraid to make more silly reagents. Have you tried desoxyephedrine? +nf-tips-dataset-38 = Don't be afraid to ask for help, whether from your peers in character or through LOOC, or from admins! +nf-tips-dataset-39 = You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people--it's a much better experience! +nf-tips-dataset-40 = We were all new once, be patient and guide new players, especially those playing intern roles, in the right direction. +nf-tips-dataset-41 = Firesuits, winter coats and emergency EVA suits offer mild protection from the cold, allowing you to spend longer periods of time near breaches and space than if wearing nothing at all. +nf-tips-dataset-42 = In an emergency, you can always rely on firesuits and emergency EVA suits; they will always spawn in their respective lockers. They might be awkward to move around in, but can easily save your life in a dangerous situation. +nf-tips-dataset-43 = In an emergency, remember that you can craft improvised weapons! A baseball bat or spear could easily mean the difference between deterring an attacker or perishing from the hands of one. +nf-tips-dataset-44 = Spears can be tipped with chemicals, and will inject a few units every time you hit someone with them directly. +nf-tips-dataset-45 = You can make spears with reinforced glass, plasma glass, or uranium glass shards to enhance their damage. +nf-tips-dataset-46 = Thrown spears deal extra damage! Beware, however, as throwing them too much will end up breaking them. +nf-tips-dataset-47 = All forms of toxin damage are fairly difficult to treat, and usually involve the use of chemicals or other inconvenient methods. You can use this to your advantage in combat. +nf-tips-dataset-48 = You can throw crafted bolas at people to slow them down, letting you follow up on them for an easier kill or getaway. +nf-tips-dataset-49 = You can put napalm in a backpack water tank to make a flamethrower. +nf-tips-dataset-50 = Speed is almost everything in combat. Using hardsuits just for their armor is usually a terrible idea unless the resistances it provides are geared towards combat, or you're not planning to go head-first into the fray. +nf-tips-dataset-51 = You can spray a fire extinguisher, throw items or fire a gun while floating through space to give yourself a minor boost. Simply fire opposite to where you want to go. +nf-tips-dataset-52 = You can drag other players onto yourself to open the strip menu, allowing you to remove their equipment or force them to wear something. Note that exosuits or helmets will block your access to the clothing beneath them, and that certain items take longer to strip or put on than others. +nf-tips-dataset-53 = You can climb onto a table by dragging yourself onto one. +nf-tips-dataset-54 = You can move an item out of the way by dragging it, and then holding CTRL + right click and moving your mouse into the direction you want it to go. +nf-tips-dataset-55 = When dealing with NFSD, you may get your sentence reduced through cooperation and/or deception. +nf-tips-dataset-56 = Fire can spread to other players through touch! Be careful around flaming bodies or large crowds with people on fire in them. +nf-tips-dataset-57 = Hull breaches take a few seconds to fully space an area. You can use this time to patch up the hole if you're confident enough, or just run away. +nf-tips-dataset-58 = Burn damage, such as that from a welding tool or lightbulb, can be used to cauterize wounds and stop bleeding. +nf-tips-dataset-59 = Bleeding is no joke! If you've been shot or acquired any other major injury, make sure to treat it quickly. +nf-tips-dataset-60 = In an emergency, you can butcher a jumpsuit with a sharp object to get cloth, which can be crafted into gauze. +nf-tips-dataset-61 = You can use sharp objects to butcher clothes or animals in the right click context menu. This includes glass shards. +nf-tips-dataset-62 = Most explosives have an adjustable timer that you can set in the right click menu. This includes grenade penguins! +nf-tips-dataset-63 = You can click on the names of items to pick them up in the right click menu, instead of hovering over the item and then selecting pick up. +nf-tips-dataset-64 = Frontier Station 14 is open source! If there's a change you want to make, or a simple item you want to add, then try contributing to the game. It's not as hard as you'd think it is. +nf-tips-dataset-65 = In a pinch, you can throw drinks or other reagent containers behind you to create a spill that can slip people chasing you. +nf-tips-dataset-66 = Some weapons, such as knives & shivs, have a fast attack speed. +nf-tips-dataset-67 = The jaws of life can be used to open powered doors. +nf-tips-dataset-68 = If you're not a lizard, don't drink blood! It makes you sick and you begin to take damage. +nf-tips-dataset-69 = There is a chemical metabolism limit that limits the amount of reagents of a certain type you can digest at once. Certain species have higher metabolism limits, such as slimes. +nf-tips-dataset-70 = Welding without proper eye protection can cause eye damage, which must be cured with oculine. +nf-tips-dataset-71 = You can weld glass shards into glass sheets. +nf-tips-dataset-72 = By right clicking on a player, and then clicking the heart icon, you can quickly examine them to check for injuries or how badly they're bleeding. You can also do this to yourself. +nf-tips-dataset-73 = Monkeys and kobolds have a rare chance to be sentient. Ook! +nf-tips-dataset-74 = You can tell if an area with firelocks up is spaced by looking to see if the firelocks have lights beside them. +nf-tips-dataset-75 = Instead of picking it up, you can alt-click food to eat it. This also works for mice and other creatures without hands. +# Frontier-specific +nf-tips-dataset-76 = Smaller shuttles offer greater maneuverability, while bigger ones offer a wider and better spectrum of services. Choose wisely! +nf-tips-dataset-77 = If you're low on funds, try wandering into nearby ships and ask the local captains if they need a hand. Perhaps you can pick up a high-paying job! +nf-tips-dataset-78 = It's often better to join an existing crew than to become a solo captain. It can teach you new things and give you a good sum of money. +nf-tips-dataset-79 = It's always better to have a crew than to stay alone in deep space. A friend can save your life if you make a mistake, or save you from trouble! +nf-tips-dataset-80 = Scientists often sell interesting technologies that can assist you in your job. Perhaps you would want a bottomless bag that can fit an entire station? +nf-tips-dataset-81 = As a scientist, you can sell your technologies to others, either as blueprints or objects. Many would want a bluespace bag or better machine parts! +nf-tips-dataset-82 = Felinids and other small people can sit in bags! Ask around - maybe there are feline friends seeking for a new home? +nf-tips-dataset-83 = While holding a bag with sufficient space, you can force a small person inside. Be careful, they may get mad at you! +nf-tips-dataset-84 = Staying in deep space induces severe stress and often leads to a sudden sleep disorder. You can hire an emotional support crewmember to help you overcome it! +nf-tips-dataset-85 = You can use your hands to carry people! Alt-click a person while having two free hands, or use the context menu to do so. +nf-tips-dataset-86 = The Vulpkanin will love you if you keep petting them. +nf-tips-dataset-87 = As a Goblin, try hopping into toilets. +nf-tips-dataset-88 = When you enter cryosleep, your body remains stored for up to 3 hours! As a ghost, you can use the 'un-cryo' button to wake up and return to it! +nf-tips-dataset-89 = If you accidentally left the game for a long time, you can still check on your character. Perhaps someone shoved them into a cryopod and you can use the 'un-cryo' button? +nf-tips-dataset-90 = If you see a person who's fallen SSD, make sure to drag them to cryo and shove them into a cryopod. It will prevent them from being robbed, and will allow the player to return to the body later! +nf-tips-dataset-91 = Watch out for food trucks such as the Skipper or the McCargo - they can offer delicious food for a reasonable price! +nf-tips-dataset-92 = Meals cooked by chefs are more filling, more flavorful, and in some cases can even boost your movement speed for a short time! +nf-tips-dataset-93 = Each ID card can have a shuttle attached to it. If you need to purchase an additional shuttle, you can ask your local SR for another ID! +nf-tips-dataset-94 = The Station Representative can rename your shuttle! Usually it's enough to hand your ID and ask them to do it. +nf-tips-dataset-95 = If your ship has a big crew, use specific radio keys (check the AstroVend) or HandiComms to talk with your crewmates. +nf-tips-dataset-96 = HandiComms work on multiple frequencies, and across extremely long distances. +nf-tips-dataset-97 = Before joining an ongoing round, you can see the list of ships looking for crew! Maybe some of them have jobs you would prefer? +nf-tips-dataset-98 = Don't forget to buy a medical implant before wandering into deep space! It will send a message to the local medics in the event of your death. +nf-tips-dataset-99 = As a medic, cooperate with other medical teams when there's an emergency! It never helps when two medical ships arrive at the same emergency signal. +nf-tips-dataset-100 = As a medic, remember that MedTek cartridges turn your PDA into a health analyzer! +nf-tips-dataset-101 = Medical ships often have access to the hypospray. An experienced chemist can turn it into a lethal weapon, or use it to safely put people to sleep. +nf-tips-dataset-102 = If you're hurt, try to ask for medical help on the radio. Medics are often eager to heal the wounded, as their job usually gets boring after hours of waiting. +nf-tips-dataset-103 = Your PDA doubles as a GPS! It can help you locate your station, or tell your location to others and get saved. +nf-tips-dataset-104 = Smuggling is very profitable, but also very risky! Remember that an IFF console can help hide your IFF. +nf-tips-dataset-105 = As a smuggler, try to destroy any evidence of your crimes. Remember, your PDA has a notepad app, which can be used to store important notes in a digital form. +nf-tips-dataset-106 = NFSD has access to long range radar! If you're an outlaw, watch out for Prowlers stalking in the void! +nf-tips-dataset-107 = Large ships like the Crescent can act as motherships. They tend to have shipyard consoles, which allow you to purchase and sell other smaller ships! +nf-tips-dataset-108 = Remember to read Space Law, it comes with your PDA! It contains some useful info, for example: you can start a mutiny if your captain is found to be in violation of the Space Law. +nf-tips-dataset-109 = Your PDA has a pre-installed news application. Check it out, perhaps the local reporter has posted some interesting news? +nf-tips-dataset-110 = There's a special app installed in your PDA, which allows you to see posted bounties. If you can fulfill one of them, you can ask the local SR or Sheriff for a reward! +nf-tips-dataset-111 = Remember, Frontier Outpost has a 200m wide safe-zone. It's forbidden to engage in antagonist behavior or damage property in any way within that limit! +nf-tips-dataset-112 = If you're using an IFF console, remember to turn your IFF on within 500m of Frontier, or you'll risk facing NFSD on your ship! +nf-tips-dataset-113 = Going on an expedition alone is very risky! Make sure to always have a crewmate to save you in case you get ambushed by a xeno queen. +nf-tips-dataset-114 = Expeditions can yield rare and useful items, and not all of them are legal. Try not to leave those lying on the floor, as NFSD might board you at some point! +nf-tips-dataset-115 = When there's an active Station Traffic Controller, make sure to contact them before docking, or you may face a fine! +nf-tips-dataset-116 = Every shuttle console has an internal traffic intercom. Make sure to use it to contact the STC before docking with Frontier or Trade Outpost! +nf-tips-dataset-117 = If you get stranded in space, make sure to notify others using the radio! Getting depressed and falling into coma is never the best solution. +nf-tips-dataset-118 = Salvage isn't just about whacking rocks. You can try to find large derelict stations, or try to bury deep into an unusual asteroid - but beware of the dangers that await you inside. +nf-tips-dataset-119 = Trust is something that takes ages to build, and seconds to lose. Don't give players and admins a reason to hate you! +nf-tips-dataset-120 = There are multiple ways to earn money. Why not get a job on Frontier Outpost, join NFSD, go salvaging, do science, or do something totally illegal? Other players can teach you each one of them! +nf-tips-dataset-121 = As a pirate, you can get bounties to earn doubloons! Think of which ship would be most likely to have the items you need. +nf-tips-dataset-122 = As a pirate, remember your code! Keep your crews at 4 max, look after Clarrrpy, and pillage with dignity. \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Datasets/tips.yml b/Resources/Prototypes/_NF/Datasets/tips.yml index ce2a76d4c75..7ced00f7b31 100644 --- a/Resources/Prototypes/_NF/Datasets/tips.yml +++ b/Resources/Prototypes/_NF/Datasets/tips.yml @@ -1,124 +1,5 @@ -- type: dataset - id: TipsNF +- type: localizedDataset + id: NFTips values: - - "If you're on fire, you can click the alert on the right of your screen to stop, drop, and roll." - - "You can view and edit all keybindings used in-game at any time through the Options menu." - - "You can access the in-game guidebook through the escape menu, or by pressing Numpad 0 by default." - - "Some entities ingame have guidebook entries associated with them, which you can view by examining the entity and clicking the question mark icon." - - "Artifacts have the ability to gain permanent effects for some triggered nodes, including becoming an intercom or an extremely efficient generator." - - "You can avoid slipping on most puddles by walking. However, some strong chemicals like space lube will slip people anyway." - - "Some plants, such as galaxy thistle, can be ground up into extremely useful and potent medicines." - - "Mopping up puddles and draining them into other containers conserves the reagents found in the puddle." - - "Floor drains, usually found in the chef's freezer or janitor's office, rapidly consume reagent found in puddles around them--including blood." - - "Cognizine, a hard to manufacture chemical, makes animals sentient when they are injected with it." - - "Fire extinguishers can be loaded with any reagent in the game." - - "Some reagents, like chlorine trifluoride, have unique effects when applied by touch, such as through a spray bottle or foam." - - "Remember to touch grass in between playing Space Station 14 every once in a while." - - "You can use the Activate in World keybind, E by default, to interact with objects while your hands are full, or without picking them up." - - "Common sense goes a long way to avoiding conflict." - - "Every other player in game is a human being as well." - - "Chemicals don't react while inside the ChemMaster's buffer." - - "Don't anger the bartender by throwing their glasses! Politely place them on the table by tapping Q." - - "You can hold SPACE by default to slow the movement of the shuttle when piloting, to allow for precise movements--or even coming to a complete stop." - - "Every crewmember comes with an emergency medipen in their survival box containing epinephrine and tranexamic acid." - - "You can add labels to any item, including food or pill canisters, using a hand labeler." - - "Riot armor is significantly more powerful against opponents that aren't using guns compared to regular armor." - - "As a ghost, you can use the Verb Menu to orbit around and follow any entity in game automatically." - - "You can examine your headset to see which radio channels you have available and how to speak in them." - - "As a Salvage Technician, you can use your proto-kinetic accelerator to move yourself in space when in a pinch. Just be weary that it isn't very effective." - - "As the Bartender, try experimenting with unique drinks. Have you tried to make demon's blood yet?" - - "As a Botanist, you can mutate and crossbreed plants together to create more potent produce that also has higher yields." - - "As the Lawyer, try to negotiate with the Bailiff if sentences seem too high for the crime." - - "As a NFSD Member, communicate and coordinate with your fellow officers using the NFSD radio channel to avoid confusion." - - "As a NFSD Member, remember that correlation does not equal causation. Someone may have just been at the wrong place at the wrong time!" - - "As a Detective, you can chase criminals more effectively by using fingerprint fiber data and DNA obtained from forensic scans of objects the perpetrator likely interacted with." - - "As an Engineer, you can repair cracked windows by using a lit welding tool on them while not in combat mode." - - "As an Engineer, you can use plasma glass to reinforce an area and prevent radiation. Uranium glass can also be used to prevent radiation." - - "As a Scientist, you can try random things on an artifact while the scanner is on cooldown to speed up the point extraction process significantly." - - "As a Scientist, you can utilize higher tier machine parts to increase the effectiveness of machines. This can make certain machines significantly better; people will love you if you upgrade their lathes!" - - "As a Scientist, you can try to guess what a machine upgrade will do based on what part you are upgrading. Matter bins enhance storage capabilities, capacitors increase efficiency, and manipulators enhance power." - - "As a Medical Doctor, try to be wary of overdosing your patients, especially if someone else has already been on the scene. Overdoses are often lethal to patients in crit!" - - "As a Medical Doctor, remember that your health analyzer has a replacable battery. If it drains too quickly for your taste, you can ask science to print a better battery for you!" - - "As a Chemist, once you've made everything you've needed to, don't be afraid to make more silly reagents. Have you tried desoxyephedrine?" - - "Don't be afraid to ask for help, whether from your peers in character or through LOOC, or from admins!" - - "You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people--it's a much better experience!" - - "We were all new once, be patient and guide new players, especially those playing intern roles, in the right direction." - - "Firesuits, winter coats and emergency EVA suits offer mild protection from the cold, allowing you to spend longer periods of time near breaches and space than if wearing nothing at all." - - "In an emergency, you can always rely on firesuits and emergency EVA suits; they will always spawn in their respective lockers. They might be awkward to move around in, but can easily save your life in a dangerous situation." - - "In an emergency, remember that you can craft improvised weapons! A baseball bat or spear could easily mean the difference between deterring an attacker or perishing from the hands of one." - - "Spears can be tipped with chemicals, and will inject a few units every time you hit someone with them directly." - - "You can make spears with reinforced glass, plasma glass, or uranium glass shards to enhance their damage." - - "Thrown spears deal extra damage! Beware, however, as throwing them too much will end up breaking them." - - "All forms of toxin damage are fairly difficult to treat, and usually involve the use of chemicals or other inconvenient methods. You can use this to your advantage in combat." - - "You can throw crafted bolas at people to slow them down, letting you follow up on them for an easier kill or getaway." - - "You can put napalm in a backpack water tank to make a flamethrower." - - "Speed is almost everything in combat. Using hardsuits just for their armor is usually a terrible idea unless the resistances it provides are geared towards combat, or you're not planning to go head-first into the fray." - - "You can spray a fire extinguisher, throw items or fire a gun while floating through space to give yourself a minor boost. Simply fire opposite to where you want to go." - - "You can drag other players onto yourself to open the strip menu, allowing you to remove their equipment or force them to wear something. Note that exosuits or helmets will block your access to the clothing beneath them, and that certain items take longer to strip or put on than others." - - "You can climb onto a table by dragging yourself onto one." - - "You can move an item out of the way by dragging it, and then holding CTRL + right click and moving your mouse into the direction you want it to go." - - "When dealing with NFSD, you can often get your sentence negated entirely through cooperation and deception." - - "Fire can spread to other players through touch! Be careful around flaming bodies or large crowds with people on fire in them." - - "Hull breaches take a few seconds to fully space an area. You can use this time to patch up the hole if you're confident enough, or just run away." - - "Burn damage, such as that from a welding tool or lightbulb, can be used to cauterize wounds and stop bleeding." - - "Bleeding is no joke! If you've been shot or acquired any other major injury, make sure to treat it quickly." - - "In an emergency, you can butcher a jumpsuit with a sharp object to get cloth, which can be crafted into gauze." - - "You can use sharp objects to butcher clothes or animals in the right click context menu. This includes glass shards." - - "Most explosives have an adjustable timer that you can set in the right click menu. This includes grenade penguins!" - - "You can click on the names of items to pick them up in the right click menu, instead of hovering over the item and then selecting pick up." - - "Frontier Station 14 is open source! If there's a change you want to make, or a simple item you want to add, then try contributing to the game. It's not as hard as you'd think it is." - - "In a pinch, you can throw drinks or other reagent containers behind you to create a spill that can slip people chasing you." - - "Some weapons, such as knives & shivs, have a fast attack speed." - - "The jaws of life can be used to open powered doors." - - "If you're not a lizard, don't drink blood! It makes you sick and you begin to take damage." - - "There is a chemical metabolism limit that limits the amount of reagents of a certain type you can digest at once. Certain species have higher metabolism limits, such as slimes." - - "Welding without proper eye protection can cause eye damage, which must be cured with oculine." - - "You can weld glass shards into glass sheets." - - "By right clicking on a player, and then clicking the heart icon, you can quickly examine them to check for injuries or how badly they're bleeding. You can also do this to yourself." - - "Monkeys and kobolds have a rare chance to be sentient. Ook!" - - "You can tell if an area with firelocks up is spaced by looking to see if the firelocks have lights beside them." - - "Instead of picking it up, you can alt-click food to eat it. This also works for mice and other creatures without hands." -# Frontier - - "Smaller shuttles offer greater maneuverability, while bigger ones offer a wider and better spectrum of services. Choose wisely!" - - "If you're low on funds, try wandering into nearby ships and ask the local captains if they need a hand. Perhaps you can pick up a high-paying job!" - - "It's often better to join an existing crew than to become a solo captain. It can teach you new things and give you a good sum of money." - - "It's always better to have a crew than to stay alone in deep space. A friend can save your life if you make a mistake, or save you from trouble!" - - "Scientists often sell interesting technologies that can assist you in your job. Perhaps you would want a bottomless bag that can fit an entire station?" - - "As a scientist, you can sell your technologies to others. Many would want a bluespace bag, or a chemical dispenser." - - "Felinids and other small people can sit in bags! Ask around - maybe there are feline friends seeking for a new home?" - - "While holding a bag with 120 free space, you can force a small person inside. Be careful, they may get mad at you!" - - "Staying in deep space induces severe stress and often leads to a sudden sleep disorder. You can hire an emotional support crewmember to help you overcome it!" - - "You can use your hands to carry people! Alt-click a person while having two free hands, or use the context menu to do so." - - "The Vulpkanin will love you if you keep petting them." - - "When you enter cryosleep, your body remains stored for up to 60 minutes! As a ghost, you can use the 'un-cryo' button to wake up and return to it!" - - "If you accidentally left the game for a long time, you can still check on your character. Perhaps someone shoved them into a cryopod and you can use the 'un-cryo' button?" - - "If you see a person who's fallen SSD, make sure to drag them to cryo and shove them into a cryopod. It will prevent them from dying, and will allow the player to return to the body later!" - - "Vending machine food is bad for your health! Watch out for food trucks such as the Skipper or the McCargo - they can offer delicious food for a reasonable price!" - - "Meals cooked by chefs are more filling, more flavorful, and in some cases can even boost your movement speed for a short time!" - - "Each ID card can have a shuttle attached to it. If you need to purchase an additional shuttle, you can ask your local SR for another ID!" - - "The Station Representative can rename your shuttle! Usually it's enough to hand your ID and ask them to do it." - - "If your ship has a big crew, you can ask the SR for radio keys for your fellow crewmates. Some channels, such as Cargo or Science, are usually empty." - - "Before joining an ongoing round, you can see the list of ships registered on the New Frontiers. Perhaps some of them have jobs you would prefer?" - - "Don't forget to buy a medical implant before wandering into deep space! It will send a message to the local medics in the event of your death." - - "As a medic, you should cooperate with others when there's a medical emergency! It never helps when two medical ships arrive at the same emergency signal." - - "As a medic, you can ask the local SR for a medical PDA. It can double as a health analyzer!" - - "Medical ships often have access to the hypospray. An experienced chemist can turn it into a lethal weapon, or use it to safely put people to sleep." - - "If you're hurt, try to ask for medical help on the radio. Medics are often eager to heal the wounded, as their job usually gets boring after hours of waiting." - - "Always carry a GPS with yourself! It can help you locate your station, or tell your location to others and get saved." - - "Smuggling is very profitable, but also very risky! Remember to have an IFF console and hide your IFF before going for a dead drop." - - "As a smuggler, try to destroy any evidence of your crimes. Remember, your PDA has a notepad app, which can be used to store important notes in a digital form." - - "NFSD has a special IFF console that completely hides their ship on the radar! If you're an outlaw, watch out for those invisible Prowlers!" - - "Certain ships can act as motherships. They have shipyard consoles, which allow you to purchase and sell other smaller ships!" - - "Remember to check the space law book in your PDA. It contains some useful info, for example: you can start a mutiny if your captain is found to be in violation of the Space Law." - - "Your PDA has a pre-installed news application. Check it out, perhaps the local reporter has posted some interesting news?" - - "There's a special app installed in your PDA, which allows you to see posted bounties. If you can fulfill one of them, you can ask the local SR or Sheriff for a reward!" - - "Remember, Frontier Outpost has a 200m wide safe-zone. It's forbidden to engage in antagonist behavior or damage property in any way within that limit!" - - "If you're using an IFF console, remember to turn your IFF on near frontier, or you'll risk facing NFSD on your ship!" - - "Going on an expedition alone is very risky! Make sure to always have a crewmate to save you in case you get ambushed by a xeno queen." - - "Expeditions can yield rare and useful items, and not all of them are legal. Try not to leave those lying on the floor, as NFSD might board you at some point!" - - "Sometimes there's a Station Traffic Controller on the frontier outpost. Make sure to contact them before docking, or you may face a fine!" - - "Every crewmember starts with a traffic headset encryption key in their survival box. Make sure to use it to contact the STC before docking with the station!" - - "If you get stranded in space, make sure to notify others using the radio! Getting depressed and falling into coma is usually not the best solution." - - "Salvage is not just about whacking rocks. You can try to find large derelict stations, or try to bury deep into an unusual asteroid - but beware of the great dangers that may await you inside." - - "Trust is something that takes ages to build, and seconds to lose. Don't give players and admins a reason to hate you!" - - "There are multiple ways to earn money. You can try to get a job on frontier, join NFSD, go salvaging, do science, or do something totally illegal. Other players can teach you each one of them!" + prefix: nf-tips-dataset- + count: 122 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Entities/Debugging/tippy.yml b/Resources/Prototypes/_NF/Entities/Debugging/tippy.yml new file mode 100644 index 00000000000..cdc29f42ea4 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Debugging/tippy.yml @@ -0,0 +1,20 @@ +- type: entity + id: NFTippy + parent: Tippy + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - sprite: _NF/Tips/clippy.rsi + state: left + map: [ "revealing" ] + - sprite: _NF/Tips/clippy.rsi + state: right + map: [ "hiding" ] + - sprite: _NF/Tips/clippy.rsi + state: down + visible: false + map: [ "speaking" ] + - type: FootstepModifier + footstepSoundCollection: + collection: CatMeows \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Entities/Debugging/tippyclippy.yml b/Resources/Prototypes/_NF/Entities/Debugging/tippyclippy.yml deleted file mode 100644 index ee711e68513..00000000000 --- a/Resources/Prototypes/_NF/Entities/Debugging/tippyclippy.yml +++ /dev/null @@ -1,30 +0,0 @@ -- type: entity - id: TippyClippy - categories: [ HideSpawnMenu ] - components: - - type: Sprite - netsync: false - noRot: false - scale: 4,4 - layers: - - sprite: _NF/Tips/clippy.rsi - state: left - map: [ "revealing" ] - - sprite: _NF/Tips/clippy.rsi - state: right - map: [ "hiding" ] - - sprite: _NF/Tips/clippy.rsi - state: down - visible: false - map: [ "speaking" ] - # footstep sounds wile waddling onto the screen. - - type: FootstepModifier - footstepSoundCollection: - collection: CatMeows - # visuals for the speech bubble. - # only supports background image. - - type: PaperVisuals - backgroundImagePath: "/Textures/Interface/Paper/paper_background_default.svg.96dpi.png" - backgroundPatchMargin: 16.0, 16.0, 16.0, 16.0 - backgroundModulate: "#ffffcc" - fontAccentColor: "#000000"