Skip to content

Commit

Permalink
Update gameplay scaling values
Browse files Browse the repository at this point in the history
  • Loading branch information
RobLoach committed Oct 19, 2024
1 parent 5022fb1 commit 7d836bf
Show file tree
Hide file tree
Showing 3 changed files with 150 additions and 80 deletions.
211 changes: 134 additions & 77 deletions jsons/Difficulties.json
Original file line number Diff line number Diff line change
@@ -1,215 +1,272 @@
// https://civilization.fandom.com/wiki/Difficulty_level_(Civ4)
// http://modiki.civfanatics.com/index.php/Civ4EraInfos
// http://modiki.civfanatics.com/index.php/Civ4HandicapInfo
[
{
"name": "Settler",
"baseHappiness": 15,
"baseHappiness": 6, // iHappyBonus
"extraHappinessPerLuxury": 1,
"researchCostModifier": 0.9,
"unitCostModifier": 0.5,
"researchCostModifier": 0.6, // iResearchPercent
"unitCostModifier": 0.2, // iUnitCostPercent
"unitSupplyBase": 24, // iFreeUnits
"unitSupplyPerCity": 3,
"buildingCostModifier": 0.5,
"policyCostModifier": 0.5,
"unhappinessModifier": 0.4,
"unhappinessModifier": 0.2, // iNumCitiesMaintenancePercent / 2
"barbarianBonus": 0.75,
"barbarianSpawnDelay": 20,
"aiCityGrowthModifier": 1.6, // that is to say it'll take them 1.6 times as long to grow the city
"aiUnitCostModifier": 1.75,
"aiBuildingCostModifier": 1.6,
"aiWonderCostModifier": 1.6,
"barbarianSpawnDelay": 8,
"playerBonusStartingUnits": [], // Note that the units from Eras.json are added to this pool. This should only contain bonus starting units.
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 1.6, // iAIGrowthPercent
"aiUnitCostModifier": 1.0, // iAIUnitCostPercent
"aiBuildingCostModifier": 1.6, // iAIConstructPercent
"aiWonderCostModifier": 1.6, // iAIWorldTrainPercent
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 1,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiUnitSupplyModifier": 0.5, // iAIUnitSupplyPercent
"aiFreeTechs": [], // AIFreeTechs
"aiMajorCivBonusStartingUnits": [], // iAIStartingDefenseUnits, iAIStartingWorkerUnits, iAIStartingExploreUnits
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": false,
"turnBarbariansCanEnterPlayerTiles": 10000,
"clearBarbarianCampReward": 50
},
{
"name": "Chieftain",
"baseHappiness": 12,
"baseHappiness": 6,
"extraHappinessPerLuxury": 1,
"researchCostModifier": 0.95,
"unitCostModifier": 0.67,
"researchCostModifier": 0.75,
"unitCostModifier": 0.3,
"unitSupplyBase": 18,
"unitSupplyPerCity": 3,
"buildingCostModifier": 0.67,
"policyCostModifier": 0.67,
"unhappinessModifier": 0.6,
"unhappinessModifier": 0.25,
"barbarianBonus": 0.5,
"barbarianSpawnDelay": 15,
"barbarianSpawnDelay": 5,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 1.3,
"aiUnitCostModifier": 1.3,
"aiUnitCostModifier": 1.0,
"aiBuildingCostModifier": 1.3,
"aiWonderCostModifier": 1.3,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 1,
"aiUnitSupplyModifier": 0.45,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiMajorCivBonusStartingUnits": [],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": false,
"turnBarbariansCanEnterPlayerTiles": 60,
"clearBarbarianCampReward": 40
},
{
"name": "Warlord",
"baseHappiness": 12,
"baseHappiness": 5,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 0.85,
"researchCostModifier": 0.9,
"unitCostModifier": 0.4,
"unitSupplyBase": 12,
"unitSupplyPerCity": 2,
"buildingCostModifier": 0.85,
"policyCostModifier": 0.85,
"unhappinessModifier": 0.75,
"unhappinessModifier": 0.3,
"barbarianBonus": 0.4,
"barbarianSpawnDelay": 10,
"barbarianSpawnDelay": 3,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 1.1,
"aiUnitCostModifier": 1.1,
"aiUnitCostModifier": 1.0,
"aiBuildingCostModifier": 1.1,
"aiWonderCostModifier": 1.1,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 1,
"aiUnitSupplyModifier": 0.4,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiMajorCivBonusStartingUnits": [],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": false,
"turnBarbariansCanEnterPlayerTiles": 20,
"clearBarbarianCampReward": 30
},
{
"name": "Noble",
"baseHappiness": 10,
"baseHappiness": 5,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 0.92,
"unitCostModifier": 0.5,
"unitSupplyBase": 8,
"unitSupplyPerCity": 2,
"buildingCostModifier": 0.92,
"policyCostModifier": 0.92,
"unhappinessModifier": 0.83,
"unhappinessModifier": 0.35,
"barbarianBonus": 0.38,
"barbarianSpawnDelay": 5,
"aiCityGrowthModifier": 1.05,
"aiUnitCostModifier": 1.05,
"aiBuildingCostModifier": 1.05,
"aiWonderCostModifier": 1.05,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 1,
"barbarianSpawnDelay": 0,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 1.0,
"aiUnitCostModifier": 1.00,
"aiBuildingCostModifier": 1.00,
"aiWonderCostModifier": 1.00,
"aiBuildingMaintenanceModifier": 1.05,
"aiUnitMaintenanceModifier": 0.92,
"aiUnitSupplyModifier": 0.35,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiMajorCivBonusStartingUnits": [],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": false,
"turnBarbariansCanEnterPlayerTiles": 10,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 28
},
{
"name": "Prince",
"baseHappiness": 9,
"baseHappiness": 4,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"unitCostModifier": 0.6,
"unitSupplyBase": 6,
"unitSupplyPerCity": 2,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"unhappinessModifier": 0.4,
"barbarianBonus": 0.33,
"barbarianSpawnDelay": 3,
"aiCityGrowthModifier": 1,
"aiUnitCostModifier": 1,
"aiBuildingCostModifier": 1,
"barbarianSpawnDelay": 0,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 0.95,
"aiUnitCostModifier": 0.95,
"aiBuildingCostModifier": 0.95,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 0.85,
"aiUnitSupplyModifier": 0.30,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiMajorCivBonusStartingUnits": ["Scout"],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
"name": "Monarch",
"baseHappiness": 9,
"baseHappiness": 4,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"researchCostModifier": 1.15,
"unitCostModifier": 0.7,
"unitSupplyBase": 4,
"unitSupplyPerCity": 2,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"unhappinessModifier": 0.425,
"barbarianBonus": 0.25,
"barbarianSpawnDelay": 2,
"barbarianSpawnDelay": 0,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 0.9,
"aiUnitCostModifier": 0.85,
"aiBuildingCostModifier": 0.85,
"aiUnitCostModifier": 0.90,
"aiBuildingCostModifier": 0.9,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.85,
"aiUnitMaintenanceModifier": 0.8,
"aiFreeTechs": ["Pottery"],
"aiFreeUnits": ["Warrior"],
"aiUnitSupplyModifier": 0.25,
"aiFreeTechs": ["Archery"],
"aiMajorCivBonusStartingUnits": ["Era Starting Unit", "Worker"],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 0.9,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
"name": "Emperor",
"baseHappiness": 9,
"baseHappiness": 3,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"researchCostModifier": 1.2,
"unitCostModifier": 0.8,
"unitSupplyBase": 3,
"unitSupplyPerCity": 2,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"unhappinessModifier": 0.45,
"barbarianBonus": 0.2,
"barbarianSpawnDelay": 0,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 0.85,
"aiUnitCostModifier": 0.8,
"aiBuildingCostModifier": 0.8,
"aiUnitCostModifier": 0.85,
"aiBuildingCostModifier": 0.85,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.8,
"aiUnitMaintenanceModifier": 0.75,
"aiFreeTechs": ["Pottery","Animal Husbandry"],
"aiFreeUnits": ["Warrior", "Scout"],
"aiUnitSupplyModifier": 0.20,
"aiFreeTechs": ["Archery", "Hunting"],
"aiMajorCivBonusStartingUnits": ["Era Starting Unit", "Era Starting Unit", "Worker", "Scout"],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 0.85,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
"name": "Immortal",
"baseHappiness": 9,
"baseHappiness": 3,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"researchCostModifier": 1.25,
"unitCostModifier": 0.9,
"unitSupplyBase": 2,
"unitSupplyPerCity": 2,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"unhappinessModifier": 0.475,
"barbarianBonus": 0.1,
"barbarianSpawnDelay": 0,
"aiCityGrowthModifier": 0.75,
"aiUnitCostModifier": 0.65,
"aiBuildingCostModifier": 0.65,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 0.8,
"aiUnitCostModifier": 0.80,
"aiBuildingCostModifier": 0.8,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.65,
"aiUnitMaintenanceModifier": 0.65,
"aiFreeTechs": ["Pottery","Animal Husbandry","Mining"],
"aiFreeUnits": ["Warrior", "Warrior", "Worker", "Scout"],
"aiUnitSupplyModifier": 0.15,
"aiFreeTechs": ["Archery", "Hunting", "Agriculture"],
"aiMajorCivBonusStartingUnits": ["Era Starting Unit", "Era Starting Unit", "Era Starting Unit", "Worker", "Worker", "Scout"],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 0.75,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
"name": "Deity",
"baseHappiness": 9,
"baseHappiness": 3,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"researchCostModifier": 1.3,
"unitCostModifier": 1,
"unitSupplyBase": 1,
"unitSupplyPerCity": 2,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"unhappinessModifier": 0.5,
"barbarianBonus": 0,
"barbarianSpawnDelay": 0,
"playerBonusStartingUnits": [],
"aiDifficultyLevel": "Chieftain",
"aiCityGrowthModifier": 0.6,
"aiUnitCostModifier": 0.5,
"aiUnitCostModifier": 0.6,
"aiBuildingCostModifier": 0.5,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.5,
"aiUnitMaintenanceModifier": 0.5,
"aiFreeTechs": ["Pottery","Animal Husbandry","Mining","The Wheel"],
"aiFreeUnits": ["Settler", "Warrior", "Warrior", "Worker", "Worker", "Scout"],
"aiUnitSupplyModifier": 0.10,
"aiFreeTechs": ["Archery", "Hunting", "Agriculture", "The Wheel"],
"aiMajorCivBonusStartingUnits": ["Era Starting Unit", "Era Starting Unit", "Era Starting Unit", "Era Starting Unit", "Worker", "Worker", "Scout"],
"aiCityStateBonusStartingUnits": [],
"aiUnhappinessModifier": 0.6,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
Expand Down
8 changes: 6 additions & 2 deletions jsons/GlobalUniques.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,19 @@
"name": "Global uniques",
"uniques": [
// Happiness
"[+10 Happiness] [in your cities]", // Baseline
"[+7 Happiness] [in your cities]", // Baseline
"[-1 Happiness] per [1] population [in all cities]",
// TODO: Unhappiness makes civilians not work

// TODO: Healthy: Each point of pop eats 2 Food Food per turn, or 3 Food Food each for unhealthy pop.
"[-1 Food] per [2] population [in all cities] <when above [0] [Health]>",
"[-1 Food] per [1] population [in all cities] <when below [1] [Health]>",

// Unhealthiness
"[-1 Happiness] per [1] population [in all cities] <when below [1] [Health]>",

// Population: Each point of pop adds to a city's Unhealthiness (Civ4) Unhealthiness.
"Provides [5] [Health]", // Baseline
"Provides [6] [Health]", // Baseline
"Provides [-1] [Health] <in cities with at least [1] [Population]>",
"Provides [-1] [Health] <in cities with at least [2] [Population]>",
"Provides [-1] [Health] <in cities with at least [3] [Population]>",
Expand Down
11 changes: 10 additions & 1 deletion jsons/ModOptions.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,14 @@
"uniques":[
"Can convert gold to science with sliders",
"Cannot be used as permanent audiovisual mod"
]
],
"constants": {
// Scale the city strength values to Civ 4 values by dividing the defaults by 4
"cityStrengthBase": 2.0,
"cityStrengthPerPop": 0.1,
"cityStrengthFromTechsMultiplier": 1.1,
"cityStrengthFromTechsExponent": 1.0,
"cityStrengthFromTechsFullMultiplier": 1.0,
"cityStrengthFromGarrison": 0.05
}
}

0 comments on commit 7d836bf

Please sign in to comment.