From 0cb81d906d8f9b261ee6b4cd1d9b17b1c27ed21c Mon Sep 17 00:00:00 2001 From: Procyonae <45432782+Procyonae@users.noreply.github.com> Date: Fri, 29 Nov 2024 15:58:45 +0000 Subject: [PATCH 1/3] Rename file bc the name isn't remotely representative of what it is --- data/core/{game_balance.json => external_options.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename data/core/{game_balance.json => external_options.json} (100%) diff --git a/data/core/game_balance.json b/data/core/external_options.json similarity index 100% rename from data/core/game_balance.json rename to data/core/external_options.json From f561859c0421eca4b0c5907f8e3e3fefbaf6c83e Mon Sep 17 00:00:00 2001 From: Procyonae <45432782+Procyonae@users.noreply.github.com> Date: Fri, 29 Nov 2024 20:18:06 +0000 Subject: [PATCH 2/3] Document the EXTERNAL_OPTION s exist --- doc/MODDING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/MODDING.md b/doc/MODDING.md index d9c96cb9cba66..5e9abbb1e78be 100644 --- a/doc/MODDING.md +++ b/doc/MODDING.md @@ -329,6 +329,16 @@ Using this syntax allows modification of the following things: Currently, adjusting multiple stats or flags requires separate `monster_adjustment` entries. +## External options + +External options control a variety of global settings not appropriate for region settings, from `SHOW_MUTATION_SELECTOR` that lets the +player choose mutations you get on mutation, to `ETERNAL_WEATHER` which let's you pick a type of weather to always be active. +All the external options available are located in `/core/external_options.json` along with comments explaining their purpose and their DDA values. +To change the values in a mod you just define an identical object to the dda one with the value changed. + +You can also override any source defined option with an external option of the same name in the same way (Eg if the player has `AUTO_FEATURES` set to false +but you make an external option `AUTO_FEATURES` set to true when the player loads the mod their value will be changed to true). +**However currently on save this overrides the user's config so shouldn't be used unless necessary to make the mod work.** ## Important note on json files From 738ffd4fb68ae6353eb4ab2f6a6b7e0516904517 Mon Sep 17 00:00:00 2001 From: Procyonae <45432782+Procyonae@users.noreply.github.com> Date: Fri, 29 Nov 2024 20:21:18 +0000 Subject: [PATCH 3/3] Make EXTERNAL_OPTION comments actual comments rather than loading and storing them twice??? --- data/core/damage_indicators.json | 12 +- data/core/external_options.json | 162 +++++++++--------- data/mods/Aftershock/options.json | 1 - data/mods/Backrooms/game_balance.json | 11 -- data/mods/Defense_Mode/overmap.json | 2 - .../mods/Isolation-Protocol/game_balance.json | 3 - data/mods/MA/game_balance.json | 14 -- data/mods/No_Hope/game_balance.json | 4 - data/mods/TropiCataclysm/modinfo.json | 3 +- .../aftershock_exoplanet/game_balance.json | 2 - data/mods/aftershock_exoplanet/options.json | 1 - data/mods/classic_zombies/modinfo.json | 3 +- data/mods/classic_zombies/options.json | 1 - data/mods/dda_tutorial/external_options.json | 9 - data/mods/desert_region/modinfo.json | 3 +- data/mods/innawood/game_balance.json | 2 - data/mods/railroads/external_options.json | 2 - src/options.cpp | 5 +- src/options.h | 4 +- src/worldfactory.cpp | 9 +- 20 files changed, 95 insertions(+), 158 deletions(-) diff --git a/data/core/damage_indicators.json b/data/core/damage_indicators.json index ff1bb86979b2f..5d0a9dea9953b 100644 --- a/data/core/damage_indicators.json +++ b/data/core/damage_indicators.json @@ -2,42 +2,42 @@ { "type": "EXTERNAL_OPTION", "name": "DAMAGE_INDICATOR_LEVEL_0", - "info": "Damage indicator string to show for damage level 0", + "//": "Damage indicator string to show for damage level 0", "stype": "string_input", "value": "++" }, { "type": "EXTERNAL_OPTION", "name": "DAMAGE_INDICATOR_LEVEL_1", - "info": "Damage indicator string to show for damage level 1", + "//": "Damage indicator string to show for damage level 1", "stype": "string_input", "value": "||" }, { "type": "EXTERNAL_OPTION", "name": "DAMAGE_INDICATOR_LEVEL_2", - "info": "Damage indicator string to show for damage level 2", + "//": "Damage indicator string to show for damage level 2", "stype": "string_input", "value": "|\\" }, { "type": "EXTERNAL_OPTION", "name": "DAMAGE_INDICATOR_LEVEL_3", - "info": "Damage indicator string to show for damage level 3", + "//": "Damage indicator string to show for damage level 3", "stype": "string_input", "value": "|." }, { "type": "EXTERNAL_OPTION", "name": "DAMAGE_INDICATOR_LEVEL_4", - "info": "Damage indicator string to show for damage level 4", + "//": "Damage indicator string to show for damage level 4", "stype": "string_input", "value": "\\." }, { "type": "EXTERNAL_OPTION", "name": "DAMAGE_INDICATOR_LEVEL_5", - "info": "Damage indicator string to show for damage level 5", + "//": "Damage indicator string to show for damage level 5", "stype": "string_input", "value": "XX" } diff --git a/data/core/external_options.json b/data/core/external_options.json index 64d1c6e0ccd76..92e72b660cd9a 100644 --- a/data/core/external_options.json +++ b/data/core/external_options.json @@ -2,567 +2,567 @@ { "type": "EXTERNAL_OPTION", "name": "DISPERSION_PER_GUN_DAMAGE", - "info": "Value that adds to weapon dispersion per weapon damage value.", + "//": "Value that adds to weapon dispersion per weapon damage value.", "stype": "int", "value": 30 }, { "type": "EXTERNAL_OPTION", "name": "GUN_DISPERSION_DIVIDER", - "info": "Value that divides total weapon dispersion. 15 means that weapons became 15 times more accurate than default.", + "//": "Value that divides total weapon dispersion. 15 means that weapons became 15 times more accurate than default.", "stype": "float", "value": 18 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_MAX_STAMINA_BASE", - "info": "Sets the base max stamina value of the player, before cardio modifiers.", + "//": "Sets the base max stamina value of the player, before cardio modifiers.", "stype": "int", "value": 3500 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_CARDIOFIT_STAMINA_SCALING", - "info": "Sets the effect of cardio on maximum stamina.", + "//": "Sets the effect of cardio on maximum stamina.", "stype": "int", "value": 5 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_BASE_STAMINA_REGEN_RATE", - "info": "Sets base stamina regeneration per turn of the player, before cardio modifiers. May be used as an offset in stamina draining effects.", + "//": "Sets base stamina regeneration per turn of the player, before cardio modifiers. May be used as an offset in stamina draining effects.", "stype": "float", "value": 20 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_BASE_STAMINA_BURN_RATE", - "info": "Sets base stamina burn per 100 moves of the walking player.", + "//": "Sets base stamina burn per 100 moves of the walking player.", "stype": "int", "value": 15 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_HUNGER_RATE", - "info": "Set base hunger rate per 5 minutes. Default: 1.0", + "//": "Set base hunger rate per 5 minutes. Default: 1.0", "stype": "float", "value": 1.0 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_THIRST_RATE", - "info": "Set base thirst rate per 5 minutes. Default: 1.0", + "//": "Set base thirst rate per 5 minutes. Default: 1.0", "stype": "float", "value": 1.0 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_SLEEPINESS_RATE", - "info": "Set base sleepiness rate per 5 minutes. Default: 1.0", + "//": "Set base sleepiness rate per 5 minutes. Default: 1.0", "stype": "float", "value": 1.0 }, { "type": "EXTERNAL_OPTION", "name": "PLAYER_HEALING_RATE", - "info": "Set base player healing rate per turn. Default: 0.0001", + "//": "Set base player healing rate per turn. Default: 0.0001", "stype": "float", "value": 0.0001 }, { "type": "EXTERNAL_OPTION", "name": "NPC_HEALING_RATE", - "info": "Set base NPC healing rate per turn. Default: 0.0001", + "//": "Set base NPC healing rate per turn. Default: 0.0001", "stype": "float", "value": 0.0001 }, { "type": "EXTERNAL_OPTION", "name": "NO_FAULTS", - "info": "Disables vehicle part faults. If true, disables vehicle part faults, vehicle parts will be totally reliable unless destroyed, and can only be repaired via replacement.", + "//": "Disables vehicle part faults. If true, disables vehicle part faults, vehicle parts will be totally reliable unless destroyed, and can only be repaired via replacement.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "NO_NPC_FOOD", - "info": "Disables tracking food, thirst and ( partially ) fatigue for NPCs. If true, NPCs won't need to eat or drink and will only get tired enough to sleep, not to get penalties.", + "//": "Disables tracking food, thirst and ( partially ) fatigue for NPCs. If true, NPCs won't need to eat or drink and will only get tired enough to sleep, not to get penalties.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "NO_VITAMINS", - "info": "Disables tracking vitamins in food items. If true, disables vitamin tracking and vitamin disorders.", + "//": "Disables tracking vitamins in food items. If true, disables vitamin tracking and vitamin disorders.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "CBM_SLOTS_ENABLED", - "info": "Enables CBM slots mechanics. If true CBM slots are enabled.", + "//": "Enables CBM slots mechanics. If true CBM slots are enabled.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "PAIN_PENALTY_MOD_STR", - "info": "Scales how much pain decrease your stat. 0.005 means 0.5% of stat loss per one unit of pain.", + "//": "Scales how much pain decrease your stat. 0.005 means 0.5% of stat loss per one unit of pain.", "stype": "float", "value": 0.005 }, { "type": "EXTERNAL_OPTION", "name": "PAIN_PENALTY_MOD_DEX", - "info": "Scales how much pain decrease your stat. 0.0075 means 0.75% of stat loss per one unit of pain.", + "//": "Scales how much pain decrease your stat. 0.0075 means 0.75% of stat loss per one unit of pain.", "stype": "float", "value": 0.0075 }, { "type": "EXTERNAL_OPTION", "name": "PAIN_PENALTY_MOD_INT", - "info": "Scales how much pain decrease your stat. 0.01 means 1% of stat loss per one unit of pain.", + "//": "Scales how much pain decrease your stat. 0.01 means 1% of stat loss per one unit of pain.", "stype": "float", "value": 0.01 }, { "type": "EXTERNAL_OPTION", "name": "PAIN_PENALTY_MOD_PER", - "info": "Scales how much pain decrease your stat. 0.01 means 1% of stat loss per one unit of pain.", + "//": "Scales how much pain decrease your stat. 0.01 means 1% of stat loss per one unit of pain.", "stype": "float", "value": 0.01 }, { "type": "EXTERNAL_OPTION", "name": "SPAWN_CITY_HORDE_THRESHOLD", - "info": "Minimum city size to guarantee extra zombies are spawned in cities. 0 means all cities spawn extra zombies. Negative values disable extra city zombies.", + "//": "Minimum city size to guarantee extra zombies are spawned in cities. 0 means all cities spawn extra zombies. Negative values disable extra city zombies.", "stype": "int", "value": 4 }, { "type": "EXTERNAL_OPTION", "name": "SPAWN_CITY_HORDE_SMALL_CITY_CHANCE", - "info": "Probability of a city smaller than SPAWN_HORDE_THRESHOLD having city zombies spawned, express in 'one in x' fashion .", + "//": "Probability of a city smaller than SPAWN_HORDE_THRESHOLD having city zombies spawned, express in 'one in x' fashion .", "stype": "int", "value": 16 }, { "type": "EXTERNAL_OPTION", "name": "SPAWN_CITY_HORDE_SPREAD", - "info": "A scaling factor that determines how far from the center of cities extra zombies spawn, multiplied by city size, when city hordes are indicated.", + "//": "A scaling factor that determines how far from the center of cities extra zombies spawn, multiplied by city size, when city hordes are indicated.", "stype": "float", "value": 1.5 }, { "type": "EXTERNAL_OPTION", "name": "SPAWN_CITY_HORDE_SCALAR", - "info": "A scaling factor that determines how many zombies are spawned in cites, multiplied by city size, when city hordes are indicated.", + "//": "A scaling factor that determines how many zombies are spawned in cites, multiplied by city size, when city hordes are indicated.", "stype": "float", "value": 80.0 }, { "type": "EXTERNAL_OPTION", "name": "SPAWN_ANIMAL_DENSITY", - "info": "A scaling factor that determines density of wild, formerly domesticated and mutated animal spawns.", + "//": "A scaling factor that determines density of wild, formerly domesticated and mutated animal spawns.", "stype": "float", "value": 1.0 }, { "type": "EXTERNAL_OPTION", "name": "DISABLE_ANIMAL_CLASH", - "info": "Disable additional spawn of large groups of monsters fighting each other on swamps.", + "//": "Disable additional spawn of large groups of monsters fighting each other on swamps.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "SPEEDYDEX_MIN_DEX", - "info": "The minimum dex required for speedydex mod to add speed", + "//": "The minimum dex required for speedydex mod to add speed", "stype": "int", "value": 0 }, { "type": "EXTERNAL_OPTION", "name": "SPEEDYDEX_DEX_SPEED", - "info": "The amount of moves gained per dex above SPEEDYDEX_MIN_DEX", + "//": "The amount of moves gained per dex above SPEEDYDEX_MIN_DEX", "stype": "int", "value": 0 }, { "type": "EXTERNAL_OPTION", "name": "DISABLE_ROBOT_RESPONSE", - "info": "Disables robot spawning from alerts and from being wanted.", + "//": "Disables robot spawning from alerts and from being wanted.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "PORTAL_STORM_IGNORE_NPC", - "info": "Portal storm enemies will ignore NPCs no matter what.", + "//": "Portal storm enemies will ignore NPCs no matter what.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "CRAZY", - "info": "A boolean specifically for Crazy Cataclysm.", + "//": "A boolean specifically for Crazy Cataclysm.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "STATS_THROUGH_KILLS", - "info": "Stats through Kills. A mod that allows your stats to increase by killing zombies.", + "//": "Stats through Kills. A mod that allows your stats to increase by killing zombies.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "WEARY_BMR_MULT", - "info": "What portion of BMR is used as the base for determining weariness threshold.", + "//": "What portion of BMR is used as the base for determining weariness threshold.", "stype": "float", "value": 0.54 }, { "type": "EXTERNAL_OPTION", "name": "WEARY_THRESH_SCALING", - "info": "What the weariness threshold is multiplied by to gain each successive level.", + "//": "What the weariness threshold is multiplied by to gain each successive level.", "stype": "float", "value": 0.75 }, { "type": "EXTERNAL_OPTION", "name": "WEARY_INITIAL_STEP", - "info": "What the weariness threshold is multiplied by for the first level of weariness.", + "//": "What the weariness threshold is multiplied by for the first level of weariness.", "stype": "float", "value": 1.0 }, { "type": "EXTERNAL_OPTION", "name": "WEARY_RECOVERY_MULT", - "info": "What percentage of calorie intake and expenditure is reduced during each reduction tick.", + "//": "What percentage of calorie intake and expenditure is reduced during each reduction tick.", "stype": "float", "value": 0.05 }, { "type": "EXTERNAL_OPTION", "name": "INT_BASED_LEARNING_BASE_VALUE", - "info": "The amount of INT which is used as base point for focus adjustments", + "//": "The amount of INT which is used as base point for focus adjustments", "stype": "int", "value": 8 }, { "type": "EXTERNAL_OPTION", "name": "INT_BASED_LEARNING_FOCUS_ADJUSTMENT", - "info": "The amount of focus gained per each INT point above INT_BASED_LEARNING_BASE_VALUE", + "//": "The amount of focus gained per each INT point above INT_BASED_LEARNING_BASE_VALUE", "stype": "int", "value": 5 }, { "type": "EXTERNAL_OPTION", "name": "GENERIC_PROFESSION_ID", - "info": "The profession selected by default in the character creator menu.", + "//": "The profession selected by default in the character creator menu.", "stype": "string_input", "value": "unemployed" }, { "type": "EXTERNAL_OPTION", "name": "GENERIC_SCENARIO_ID", - "info": "The scenario selected by default in the character creator menu.", + "//": "The scenario selected by default in the character creator menu.", "stype": "string_input", "value": "evacuee" }, { "type": "EXTERNAL_OPTION", "name": "WORKBENCH_ALL_OPTIONS", - "info": "If false, examining workbench-type furniture will auto-execute pickup and undeploy (where applicable) actions, no crafting-related options will be listed.", + "//": "If false, examining workbench-type furniture will auto-execute pickup and undeploy (where applicable) actions, no crafting-related options will be listed.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "SELECT_STARTING_CITY", - "info": "Allows to select starting city in new character menu.", + "//": "Allows to select starting city in new character menu.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PREGENERATED_PATH", - "info": "Path to pregenerated overmap files. Should include mod folder name and folder where omap files are stored.", + "//": "Path to pregenerated overmap files. Should include mod folder name and folder where omap files are stored.", "stype": "string_input", "value": "" }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_POPULATE_OUTSIDE_CONNECTIONS_FROM_NEIGHBORS", - "info": "Allows to populate outside connections from neighbors.", + "//": "Allows to populate outside connections from neighbors.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RIVERS", - "info": "Allows to place procgen rivers during overmap generation.", + "//": "Allows to place procgen rivers during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_LAKES", - "info": "Allows to place procgen lakes during overmap generation.", + "//": "Allows to place procgen lakes during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_OCEANS", - "info": "Allows to place procgen oceans during overmap generation.", + "//": "Allows to place procgen oceans during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FORESTS", - "info": "Allows to place procgen forests during overmap generation.", + "//": "Allows to place procgen forests during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_FOREST_INCREASE_NORTH", - "info": "Rate at which forest coverage of the map increases to the North, based on regional map settings thresholds. 0=no increase.", + "//": "Rate at which forest coverage of the map increases to the North, based on regional map settings thresholds. 0=no increase.", "stype": "float", "value": 0.04 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_FOREST_INCREASE_EAST", - "info": "Rate at which forest coverage of the map increases to the East. 0=no increase.", + "//": "Rate at which forest coverage of the map increases to the East. 0=no increase.", "stype": "float", "value": 0 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_FOREST_INCREASE_WEST", - "info": "Rate at which forest coverage of the map increases to the West. 0=no increase.", + "//": "Rate at which forest coverage of the map increases to the West. 0=no increase.", "stype": "float", "value": 0.02 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_FOREST_INCREASE_SOUTH", - "info": "Rate at which forest coverage of the map increases to the South. 0=no increase.", + "//": "Rate at which forest coverage of the map increases to the South. 0=no increase.", "stype": "float", "value": 0 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_FOREST_LIMIT", - "info": "Caps how high the forest threshold can rise. No cities form at values over 0.4", + "//": "Caps how high the forest threshold can rise. No cities form at values over 0.4", "stype": "float", "value": 0.395 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_SWAMPS", - "info": "Allows to place procgen swamps during overmap generation.", + "//": "Allows to place procgen swamps during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAVINES", - "info": "Allows to place procgen ravines during overmap generation.", + "//": "Allows to place procgen ravines during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_CITIES", - "info": "Allows to place cities during overmap generation.", + "//": "Allows to place cities during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FOREST_TRAILS", - "info": "Allows to place procgen forest trails during overmap generation.", + "//": "Allows to place procgen forest trails during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_ROADS", - "info": "Allows to place procgen roads during overmap generation.", + "//": "Allows to place procgen roads during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAILROADS", - "info": "Allows to place procgen railroads during overmap generation.", + "//": "Allows to place procgen railroads during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAILROADS_BEFORE_ROADS", - "info": "Defines whether to place railroads before roads.", + "//": "Defines whether to place railroads before roads.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_SPECIALS", - "info": "Allows to place overmap specials during overmap generation.", + "//": "Allows to place overmap specials during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FOREST_TRAILHEADS", - "info": "Allows to place procgen forest trailheads during overmap generation.", + "//": "Allows to place procgen forest trailheads during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_URBAN_INCREASE_NORTH", - "info": "Rate at which urbanity of the map increases to the North. 0=no increase. Negative numbers are technically allowed but may cause weird effects.", + "//": "Rate at which urbanity of the map increases to the North. 0=no increase. Negative numbers are technically allowed but may cause weird effects.", "stype": "int", "value": 0 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_URBAN_INCREASE_EAST", - "info": "Rate at which urbanity of the map increases to the East. 0=no increase.", + "//": "Rate at which urbanity of the map increases to the East. 0=no increase.", "stype": "int", "value": 10 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_URBAN_INCREASE_WEST", - "info": "Rate at which urbanity of the map increases to the South. 0=no increase.", + "//": "Rate at which urbanity of the map increases to the South. 0=no increase.", "stype": "int", "value": 0 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_URBAN_INCREASE_SOUTH", - "info": "Rate at which urbanity of the map increases to the West. 0=no increase.", + "//": "Rate at which urbanity of the map increases to the West. 0=no increase.", "stype": "int", "value": 5 }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_MAXIMUM_URBANITY", - "info": "How urban do we allow our megacities to go? Mostly functions as a multiple of map settings city size.", + "//": "How urban do we allow our megacities to go? Mostly functions as a multiple of map settings city size.", "stype": "int", "value": 8 }, { "type": "EXTERNAL_OPTION", "name": "OVERRIDE_VEHICLE_INIT_STATE", - "info": "If true, initial status and amount of fuel for all spawned vehicles will be overridden by values of VEHICLE_STATUS_AT_SPAWN and VEHICLE_FUEL_AT_SPAWN options.", + "//": "If true, initial status and amount of fuel for all spawned vehicles will be overridden by values of VEHICLE_STATUS_AT_SPAWN and VEHICLE_FUEL_AT_SPAWN options.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "VEHICLE_STATUS_AT_SPAWN", - "info": "All vehicles spawn in this status. -1 is lightly damaged (default), 0 is undamaged, 1 is disabled (destroyed tires or engine). Values are read only if OVERRIDE_VEHICLE_INIT_STATE is set to true.", + "//": "All vehicles spawn in this status. -1 is lightly damaged (default), 0 is undamaged, 1 is disabled (destroyed tires or engine). Values are read only if OVERRIDE_VEHICLE_INIT_STATE is set to true.", "stype": "int", "value": -1 }, { "type": "EXTERNAL_OPTION", "name": "VEHICLE_FUEL_AT_SPAWN", - "info": "All vehicles spawn with this percentage of fuel. 0 is empty, 100 is fully loaded, -1 is random amount from 7% to 35% (default). Values are read only if OVERRIDE_VEHICLE_INIT_STATE is set to true.", + "//": "All vehicles spawn with this percentage of fuel. 0 is empty, 100 is fully loaded, -1 is random amount from 7% to 35% (default). Values are read only if OVERRIDE_VEHICLE_INIT_STATE is set to true.", "stype": "int", "value": -1 }, { "type": "EXTERNAL_OPTION", "name": "OUTSIDE_DEFINED_OMAP_OMT", - "info": "If .omap s are being used this is the overmap terrain used outside of the defined overmaps.", + "//": "If .omap s are being used this is the overmap terrain used outside of the defined overmaps.", "stype": "string_input", "value": "lake_surface" }, { "type": "EXTERNAL_OPTION", "name": "EMP_DISABLE_ELECTRONICS", - "info": "Whether EMP effects will permanently disable items.", + "//": "Whether EMP effects will permanently disable items.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "CAPITALISM", - "info": "NPCs will accept your bank balance as payment in trades.", + "//": "NPCs will accept your bank balance as payment in trades.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "ZOMBIFY_INTO_ENABLED", - "info": "Enables the functionality of the \"zombify_into\" JSON field in monster definitions.", + "//": "Enables the functionality of the \"zombify_into\" JSON field in monster definitions.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "DESCRIBE_MUSIC_FREQUENCY", - "info": "Determines frequency (in minutes) of displaying music description in sidebar when listening to MP3-players and the like.", + "//": "Determines frequency (in minutes) of displaying music description in sidebar when listening to MP3-players and the like.", "stype": "int", "value": 5 }, { "type": "EXTERNAL_OPTION", "name": "MIN_CATCHUP_EXP_PER_POST_CATA_DAY", - "info": "NPCs generated post-cataclysm will, when initially generated, receive this amount of exp to a random skill for each day that has passed since the Cataclysm.", + "//": "NPCs generated post-cataclysm will, when initially generated, receive this amount of exp to a random skill for each day that has passed since the Cataclysm.", "stype": "int", "value": 50 }, { "type": "EXTERNAL_OPTION", "name": "MAX_CATCHUP_EXP_PER_POST_CATA_DAY", - "info": "Same as above. This is the second value of rng(min, max) to determine base exp (before other character modifiers).", + "//": "Same as above. This is the second value of rng(min, max) to determine base exp (before other character modifiers).", "stype": "int", "value": 150 }, { "type": "EXTERNAL_OPTION", "name": "EXTRA_NPC_SKILL_LEVEL_CAP", - "info": "The maximum skill level randomly generated NPCs can achieve via MIN_CATCHUP_EXP_PER_POST_CATA_DAY and MAX_CATCHUP_EXP_PER_POST_CATA_DAY.", + "//": "The maximum skill level randomly generated NPCs can achieve via MIN_CATCHUP_EXP_PER_POST_CATA_DAY and MAX_CATCHUP_EXP_PER_POST_CATA_DAY.", "stype": "int", "value": 7 }, { "type": "EXTERNAL_OPTION", "name": "ETERNAL_WEATHER", - "info": "Sets eternal weather. Possible values are 'normal', 'clear', 'cloudy', 'light_drizzle', 'drizzle', 'rain', 'rainstorm', 'thunder', 'lightning', 'flurries', 'snowing', 'snowstorm', 'early_portal_storm', 'portal_storm'. 'normal' clears all eternal weather overrides and sets normal weather pattern. Requires restart of the game after changing value to take effect.", + "//": "Sets eternal weather. Possible values are 'normal', 'clear', 'cloudy', 'light_drizzle', 'drizzle', 'rain', 'rainstorm', 'thunder', 'lightning', 'flurries', 'snowing', 'snowstorm', 'early_portal_storm', 'portal_storm'. 'normal' clears all eternal weather overrides and sets normal weather pattern. Requires restart of the game after changing value to take effect.", "stype": "string_input", "value": "normal" }, { "type": "EXTERNAL_OPTION", "name": "SHOW_MUTATION_SELECTOR", - "info": "When mutating, displays a menu which allows players to pick from a list of possible mutations.", + "//": "When mutating, displays a menu which allows players to pick from a list of possible mutations.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "LATITUDE", - "info": "Sets the latitude used for sunrise/sunset times. Defaults to Boston.", + "//": "Sets the latitude used for sunrise/sunset times. Defaults to Boston.", "stype": "float", "value": 42.36 }, { "type": "EXTERNAL_OPTION", "name": "LONGITUDE", - "info": "Sets the longitude used for sunrise/sunset times. Defaults to Boston.", + "//": "Sets the longitude used for sunrise/sunset times. Defaults to Boston.", "stype": "float", "value": -71.06 } diff --git a/data/mods/Aftershock/options.json b/data/mods/Aftershock/options.json index baaa978df830a..1286cf406c37a 100644 --- a/data/mods/Aftershock/options.json +++ b/data/mods/Aftershock/options.json @@ -20,7 +20,6 @@ { "type": "EXTERNAL_OPTION", "name": "CAPITALISM", - "info": "NPCs will accept your bank balance as payment in trades.", "stype": "bool", "value": true } diff --git a/data/mods/Backrooms/game_balance.json b/data/mods/Backrooms/game_balance.json index 1e1120c3a60f7..85882651258d5 100644 --- a/data/mods/Backrooms/game_balance.json +++ b/data/mods/Backrooms/game_balance.json @@ -2,77 +2,66 @@ { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_CITIES", - "info": "Allows to place cities during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_ROADS", - "info": "Allows to place procgen roads during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_POPULATE_OUTSIDE_CONNECTIONS_FROM_NEIGHBORS", - "info": "Allows to populate outside connections from neighbors.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RIVERS", - "info": "Allows to place procgen rivers during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_LAKES", - "info": "Allows to place procgen lakes during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_OCEANS", - "info": "Allows to place oceans during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FORESTS", - "info": "Allows to place procgen forests during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_SWAMPS", - "info": "Allows to place procgen swamps during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAVINES", - "info": "Allows to place procgen ravines during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FOREST_TRAILS", - "info": "Allows to place procgen forest trails during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FOREST_TRAILHEADS", - "info": "Allows to place procgen forest trailheads during overmap generation.", "stype": "bool", "value": false } diff --git a/data/mods/Defense_Mode/overmap.json b/data/mods/Defense_Mode/overmap.json index de403ebc6ad3a..9bc1ddf98360f 100644 --- a/data/mods/Defense_Mode/overmap.json +++ b/data/mods/Defense_Mode/overmap.json @@ -2,14 +2,12 @@ { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_CITIES", - "info": "Allows to place cities during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_ROADS", - "info": "Allows to place procgen roads during overmap generation.", "stype": "bool", "value": false }, diff --git a/data/mods/Isolation-Protocol/game_balance.json b/data/mods/Isolation-Protocol/game_balance.json index f301121014584..dcf314e7bfa87 100644 --- a/data/mods/Isolation-Protocol/game_balance.json +++ b/data/mods/Isolation-Protocol/game_balance.json @@ -2,21 +2,18 @@ { "type": "EXTERNAL_OPTION", "name": "GENERIC_PROFESSION_ID", - "info": "The profession selected by default in the character creator menu.", "stype": "string_input", "value": "iso_deliveryboy" }, { "type": "EXTERNAL_OPTION", "name": "GENERIC_SCENARIO_ID", - "info": "The scenario selected by default in the character creator menu.", "stype": "string_input", "value": "fractal_facility" }, { "type": "EXTERNAL_OPTION", "name": "WEARY_RECOVERY_MULT", - "info": "What percentage of calorie intake and expenditure is reduced during each reduction tick.", "stype": "float", "value": 2 } diff --git a/data/mods/MA/game_balance.json b/data/mods/MA/game_balance.json index fe1f9db8bca1b..9ec1d2652da1d 100644 --- a/data/mods/MA/game_balance.json +++ b/data/mods/MA/game_balance.json @@ -2,98 +2,84 @@ { "type": "EXTERNAL_OPTION", "name": "SELECT_STARTING_CITY", - "info": "Allows to select starting city in new character menu.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PREGENERATED_PATH", - "info": "Path to pregenerated overmap files. Should include mod folder name and folder where omap files are stored.", "stype": "string_input", "value": "MA/MA_overmap" }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_POPULATE_OUTSIDE_CONNECTIONS_FROM_NEIGHBORS", - "info": "Allows to populate outside connections from neighbors.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RIVERS", - "info": "Allows to place procgen rivers during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_LAKES", - "info": "Allows to place procgen lakes during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_OCEANS", - "info": "Allows to place oceans during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FORESTS", - "info": "Allows to place procgen forests during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_SWAMPS", - "info": "Allows to place procgen swamps during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAVINES", - "info": "Allows to place procgen ravines during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_CITIES", - "info": "Allows to place cities during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FOREST_TRAILS", - "info": "Allows to place procgen forest trails during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_ROADS", - "info": "Allows to place procgen roads during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_SPECIALS", - "info": "Allows to place overmap specials during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FOREST_TRAILHEADS", - "info": "Allows to place procgen forest trailheads during overmap generation.", "stype": "bool", "value": true } diff --git a/data/mods/No_Hope/game_balance.json b/data/mods/No_Hope/game_balance.json index ab47ab75fb376..258291f063e79 100644 --- a/data/mods/No_Hope/game_balance.json +++ b/data/mods/No_Hope/game_balance.json @@ -3,28 +3,24 @@ "type": "EXTERNAL_OPTION", "name": "PLAYER_BASE_STAMINA_BURN_RATE", "//": "TODO: Why is this lower than vanilla?", - "info": "Sets base stamina burn per 100 moves of the walking player.", "stype": "int", "value": 10 }, { "type": "EXTERNAL_OPTION", "name": "OVERRIDE_VEHICLE_INIT_STATE", - "info": "If true, initial status and amount of fuel for all spawned vehicles will be overridden by values of VEHICLE_STATUS_AT_SPAWN and VEHICLE_FUEL_AT_SPAWN options.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "VEHICLE_STATUS_AT_SPAWN", - "info": "All vehicles spawn in this status. -1 is lightly damaged (default), 0 is undamaged, 1 is disabled (destroyed tires or engine). Values are read only if OVERRIDE_VEHICLE_INIT_STATE is set to true.", "stype": "int", "value": 1 }, { "type": "EXTERNAL_OPTION", "name": "VEHICLE_FUEL_AT_SPAWN", - "info": "All vehicles spawn with this percentage of fuel. 0 is empty, 100 is fully loaded, -1 is random amount from 7% to 35% (default). Values are read only if OVERRIDE_VEHICLE_INIT_STATE is set to true.", "stype": "int", "value": 0 } diff --git a/data/mods/TropiCataclysm/modinfo.json b/data/mods/TropiCataclysm/modinfo.json index c47cf671be187..bc78477202297 100644 --- a/data/mods/TropiCataclysm/modinfo.json +++ b/data/mods/TropiCataclysm/modinfo.json @@ -13,14 +13,13 @@ { "type": "EXTERNAL_OPTION", "name": "LATITUDE", - "info": "Sets the latitude used for sunrise/sunset times. Set roughly to Central Brazil.", + "//": "Set roughly to Central Brazil.", "stype": "float", "value": -9.98 }, { "type": "EXTERNAL_OPTION", "name": "LONGITUDE", - "info": "Sets the longitude used for sunrise/sunset times. Set roughly to Central Brazil.", "stype": "float", "value": -50.18 } diff --git a/data/mods/aftershock_exoplanet/game_balance.json b/data/mods/aftershock_exoplanet/game_balance.json index 5e8f109bcfe17..acd045b9380eb 100644 --- a/data/mods/aftershock_exoplanet/game_balance.json +++ b/data/mods/aftershock_exoplanet/game_balance.json @@ -9,14 +9,12 @@ { "type": "EXTERNAL_OPTION", "name": "GENERIC_PROFESSION_ID", - "info": "The profession selected by default in the character creator menu.", "stype": "string_input", "value": "afs_rating" }, { "type": "EXTERNAL_OPTION", "name": "GENERIC_SCENARIO_ID", - "info": "The scenario selected by default in the character creator menu.", "stype": "string_input", "value": "escape_pod" } diff --git a/data/mods/aftershock_exoplanet/options.json b/data/mods/aftershock_exoplanet/options.json index 3d7b9e1564241..80213ea8f5f8c 100644 --- a/data/mods/aftershock_exoplanet/options.json +++ b/data/mods/aftershock_exoplanet/options.json @@ -2,7 +2,6 @@ { "type": "EXTERNAL_OPTION", "name": "ZOMBIFY_INTO_ENABLED", - "info": "Enables the functionality of the \"zombify_into\" JSON field in monster definitions.", "stype": "bool", "value": false } diff --git a/data/mods/classic_zombies/modinfo.json b/data/mods/classic_zombies/modinfo.json index ba96b030e5ea2..bc4511405222e 100644 --- a/data/mods/classic_zombies/modinfo.json +++ b/data/mods/classic_zombies/modinfo.json @@ -38,14 +38,13 @@ { "type": "EXTERNAL_OPTION", "name": "LATITUDE", - "info": "Sets the latitude used for sunrise/sunset times. Set to Edmonton, Alberta.", + "//": "Set to Edmonton, Alberta.", "stype": "float", "value": 53.55 }, { "type": "EXTERNAL_OPTION", "name": "LONGITUDE", - "info": "Sets the longitude used for sunrise/sunset times. Set to Edmonton, Alberta.", "stype": "float", "value": -113.49 } diff --git a/data/mods/classic_zombies/options.json b/data/mods/classic_zombies/options.json index 3d7b9e1564241..80213ea8f5f8c 100644 --- a/data/mods/classic_zombies/options.json +++ b/data/mods/classic_zombies/options.json @@ -2,7 +2,6 @@ { "type": "EXTERNAL_OPTION", "name": "ZOMBIFY_INTO_ENABLED", - "info": "Enables the functionality of the \"zombify_into\" JSON field in monster definitions.", "stype": "bool", "value": false } diff --git a/data/mods/dda_tutorial/external_options.json b/data/mods/dda_tutorial/external_options.json index 2725ff4b9aca6..16f56d9f894ae 100644 --- a/data/mods/dda_tutorial/external_options.json +++ b/data/mods/dda_tutorial/external_options.json @@ -2,63 +2,54 @@ { "type": "EXTERNAL_OPTION", "name": "OVERMAP_POPULATE_OUTSIDE_CONNECTIONS_FROM_NEIGHBORS", - "info": "Allows to populate outside connections from neighbors.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RIVERS", - "info": "Allows to place procgen rivers during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_LAKES", - "info": "Allows to place procgen lakes during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FORESTS", - "info": "Allows to place procgen forests during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_SWAMPS", - "info": "Allows to place procgen swamps during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAVINES", - "info": "Allows to place procgen ravines during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_CITIES", - "info": "Allows to place cities during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_FOREST_TRAILS", - "info": "Allows to place procgen forest trails during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_ROADS", - "info": "Allows to place procgen roads during overmap generation.", "stype": "bool", "value": false } diff --git a/data/mods/desert_region/modinfo.json b/data/mods/desert_region/modinfo.json index 00b5f8f4aa4af..f7f0a162c5756 100644 --- a/data/mods/desert_region/modinfo.json +++ b/data/mods/desert_region/modinfo.json @@ -14,14 +14,13 @@ { "type": "EXTERNAL_OPTION", "name": "LATITUDE", - "info": "Sets the latitude used for sunrise/sunset times. Set to Las Vegas.", + "//": "Set to Las Vegas.", "stype": "float", "value": 36.17 }, { "type": "EXTERNAL_OPTION", "name": "LONGITUDE", - "info": "Sets the longitude used for sunrise/sunset times. Set to Las Vegas.", "stype": "float", "value": -115.14 } diff --git a/data/mods/innawood/game_balance.json b/data/mods/innawood/game_balance.json index 6766e1fc392e4..89b9b8d006250 100644 --- a/data/mods/innawood/game_balance.json +++ b/data/mods/innawood/game_balance.json @@ -2,14 +2,12 @@ { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_CITIES", - "info": "Allows to place cities during overmap generation.", "stype": "bool", "value": false }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_ROADS", - "info": "Allows to place procgen roads during overmap generation.", "stype": "bool", "value": false } diff --git a/data/mods/railroads/external_options.json b/data/mods/railroads/external_options.json index 67ae1f1730f15..fa0000c07b216 100644 --- a/data/mods/railroads/external_options.json +++ b/data/mods/railroads/external_options.json @@ -2,14 +2,12 @@ { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAILROADS", - "info": "Allows to place procgen railroads during overmap generation.", "stype": "bool", "value": true }, { "type": "EXTERNAL_OPTION", "name": "OVERMAP_PLACE_RAILROADS_BEFORE_ROADS", - "info": "Defines whether to place railroads before roads.", "stype": "bool", "value": true } diff --git a/src/options.cpp b/src/options.cpp index 5cffc7d4138db..f7223dbeac0be 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -304,15 +304,12 @@ static options_manager::cOpt::COPT_VALUE_TYPE get_value_type( const std::string //add hidden external option with value void options_manager::add_external( const std::string &sNameIn, const std::string &sPageIn, - const std::string &sType, - const translation &sMenuTextIn, const translation &sTooltipIn ) + const std::string &sType ) { cOpt thisOpt; thisOpt.sName = sNameIn; thisOpt.sPage = sPageIn; - thisOpt.sMenuText = sMenuTextIn; - thisOpt.sTooltip = sTooltipIn; thisOpt.sType = sType; thisOpt.verbose = false; diff --git a/src/options.h b/src/options.h index 9ce73f170d1b1..8c434908694d9 100644 --- a/src/options.h +++ b/src/options.h @@ -237,8 +237,8 @@ class options_manager cOpt &get_option( const std::string &name ); //add hidden external option with value - void add_external( const std::string &sNameIn, const std::string &sPageIn, const std::string &sType, - const translation &sMenuTextIn, const translation &sTooltipIn ); + void add_external( const std::string &sNameIn, const std::string &sPageIn, + const std::string &sType ); //add string select option void add( const std::string &sNameIn, const std::string &sPageIn, diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index 7e91ac714238b..d987220835ac8 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -2071,11 +2071,10 @@ void load_external_option( const JsonObject &jo ) std::string stype = jo.get_string( "stype" ); options_manager &opts = get_options(); if( !opts.has_option( name ) ) { - translation sinfo; - jo.get_member( "info" ).read( sinfo ); - opts.add_external( name, "external_options", stype, sinfo, sinfo ); + opts.add_external( name, "external_options", stype ); } options_manager::cOpt &opt = opts.get_option( name ); + // TODO: Hook up to cata_variant instead? if( stype == "float" ) { opt.setValue( static_cast( jo.get_float( "value" ) ) ); } else if( stype == "int" ) { @@ -2091,10 +2090,6 @@ void load_external_option( const JsonObject &jo ) } else { jo.throw_error_at( "stype", "Unknown or unsupported stype for external option" ); } - // Just visit this member if it exists - if( jo.has_member( "info" ) ) { - jo.get_string( "info" ); - } options_manager::update_options_cache(); }