Rivers... Moddable Stats and Civilopedia (#10424)

* River yields moddable and Civilopedia entry

* Improve text and better fresh water explanations

* Map editor exclusion as Unique, for River and previously hardcoded Improvements

* Map editor brush to Civilopedia link, starting locations cleaned

* Some SeventhM input applied

* Reword River/Lakes/Oasis civilopediaText and comments again
This commit is contained in:
SomeTroglodyte
2023-11-13 21:18:25 +01:00
committed by GitHub
parent 22a50c7d2d
commit 2847f7a8c1
18 changed files with 251 additions and 102 deletions

View File

@ -1,5 +1,6 @@
[
//Spectator
//Not "Excluded from map editor" as it serves as placeholder for "Any Civ" starting locations
{
"name": "Spectator",
"outerColor": [255,255,255],
@ -1348,7 +1349,7 @@
"outerColor": [0, 0, 0],
"innerColor": [211,180,113],
"cities": ["Dublin"],
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games"]
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games", "Excluded from map editor"]
},
{
"name": "Edinburgh",
@ -1361,7 +1362,7 @@
"outerColor": [0, 0, 0],
"innerColor": [0,102,102],
"cities": ["Edinburgh"],
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games"]
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games", "Excluded from map editor"]
},
{
"name": "M'Banza-Kongo",
@ -1444,7 +1445,7 @@
"name": "Barbarians",
"outerColor": [0,0,0],
"innerColor": [185,12,12],
"uniques": ["Can only heal by pillaging"]
"uniques": ["Can only heal by pillaging", "Excluded from map editor"]
}
]

View File

@ -113,7 +113,15 @@
"RGB": [0, 171, 169],
"uniques": ["Fresh water",
"Considered [Food] when determining start locations",
"Considered [Desirable] when determining start locations"]
"Considered [Desirable] when determining start locations"],
"civilopediaText": [
{"text": "Lakes provide fresh water to adjacent tiles, allowing farming where it would otherwise not be possible (similar to Rivers and Oases)."},
{"text": "Rivers", "link":"Terrain/River"},
{"text": "Oasis", "link":"Terrain/Oasis"},
{"text": "Farm", "link":"Improvement/Farm"},
{"text": "Civil Service", "link":"Technology/Civil Service"},
{"text": "Fertilizer", "link":"Technology/Fertilizer"}
]
},
{
"name": "Mountain",
@ -251,7 +259,15 @@
"Only [All Road] improvements may be built on this tile",
"Always Fertility [4] for Map Generation",
"Considered [Food] when determining start locations",
"Considered [Desirable] when determining start locations"]
"Considered [Desirable] when determining start locations"],
"civilopediaText": [
{"text": "Oases provide fresh water to adjacent tiles, allowing farming where it would otherwise not be possible (similar to Rivers and Lakes)."},
{"text": "Rivers", "link":"Terrain/River"},
{"text": "Lakes", "link":"Terrain/Lakes"},
{"text": "Farm", "link":"Improvement/Farm"},
{"text": "Civil Service", "link":"Technology/Civil Service"},
{"text": "Fertilizer", "link":"Technology/Fertilizer"}
]
},
{
"name": "Flood plains",
@ -284,7 +300,37 @@
"uniques": ["Rare feature"]
},
// Natural Wonders
// Virtual River entry, used for stats, Uniques and Civilopedia
// Modders take heed:
// * This never exists on the map, it's a placeholder to allow you to mod the actual river's stats.
// * The name is hardcoded to apply stats and the Stats Unique when a tile has one or more edges with an actual river.
// * No other Unique is implemented and will work - for now.
{
"name": "River",
"type": "TerrainFeature",
"gold": 1,
"movementCost": 0, // So Civilopedia won't display a cost of 1
"uniques": ["Doesn't generate naturally", "Excluded from map editor"],
"civilopediaText": [
{"text": "Rivers exist on tile edges, not as terrain feature per se."},
{"text": "Tiles on both sides gain its benefits. These benefits do not stack."},
{"text": "The tile has access to fresh water, allowing farming where it would otherwise not be possible (similar to Oases and Lakes)."},
{"text": "Movement across rivers takes all remaining movement points of a unit unless there is a bridge."},
// See BattleConstants.ATTACKING_ACROSS_RIVER_MALUS:
{"text": "When attacking across a river, the attacker gets a -20% strength malus."},
// Related Buildings and Beliefs are automatically linked
{"text": "Lakes", "link":"Terrain/Lakes"},
{"text": "Oasis", "link":"Terrain/Oasis"},
{"text": "Farm", "link":"Improvement/Farm"},
{"text": "Road", "link":"Improvement/Road"},
{"text": "Engineering", "link":"Technology/Engineering"},
{"text": "Civil Service", "link":"Technology/Civil Service"},
{"text": "Fertilizer", "link":"Technology/Fertilizer"},
{"text": "Amphibious", "link":"Promotion/Amphibious"}
]
},
// Natural Wonders
{
"name": "Great Barrier Reef",
"type": "NaturalWonder",

View File

@ -133,7 +133,7 @@
"name": "Remove Forest",
"turnsToBuild": 4,
"techRequired": "Mining",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X",
"civilopediaText": [{"text":"Provides a one-time Production bonus depending on distance to the closest city once finished"}]
},
@ -141,21 +141,21 @@
"name": "Remove Jungle",
"turnsToBuild": 7,
"techRequired": "Bronze Working",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X"
},
{
"name": "Remove Fallout",
"turnsToBuild": 2,
// Has no tech requirements as it can always be built
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X"
},
{
"name": "Remove Marsh",
"turnsToBuild": 6,
"techRequired": "Masonry",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X"
},
@ -163,16 +163,16 @@
{
"name": "Remove Road",
"turnsToBuild": 2,
"uniques": ["Can be built outside your borders"]
"uniques": ["Can be built outside your borders", "Excluded from map editor"]
},
{
"name": "Remove Railroad",
"turnsToBuild": 2,
"uniques": ["Can be built outside your borders"]
"uniques": ["Can be built outside your borders", "Excluded from map editor"]
},
{
"name": "Cancel improvement order",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "."
},
// Purely for turnsToBuild and civilopediaText. Unbuildable so it doesn't show in ImprovementPicker
@ -181,7 +181,7 @@
"terrainsCanBeBuiltOn": ["Land"],
"turnsToBuild": 2,
"shortcutKey": "E",
"uniques": ["Unbuildable"],
"uniques": ["Unbuildable", "Excluded from map editor"],
"civilopediaText": [{"text":"Repairs a pillaged Improvement or Route"}]
},
@ -282,7 +282,7 @@
"name": "City center",
"terrainsCanBeBuiltOn": ["Land"],
"uniques": ["Ensures a minimum tile yield of [+2 Food, +1 Production]",
"Unpillagable", "Irremovable", "Unbuildable"],
"Unpillagable", "Irremovable", "Unbuildable", "Excluded from map editor"],
"civilopediaText": [
{"text":"Marks the center of a city"},
{"text":"Appearance changes with the technological era of the owning civilization"}
@ -291,7 +291,7 @@
{
"name": "Barbarian encampment",
"terrainsCanBeBuiltOn": ["Land"],
"uniques": ["Unpillagable", "Unbuildable"],
"uniques": ["Unpillagable", "Unbuildable", "Excluded from map editor"],
"civilopediaText": [{"text":"Home to uncivilized barbarians, will spawn a hostile unit from time to time"}]
}
]

View File

@ -1,5 +1,6 @@
[
//Spectator
//Not "Excluded from map editor" as it serves as placeholder for "Any Civ" starting locations
{
"name": "Spectator",
"outerColor": [255,255,255]
@ -1026,7 +1027,7 @@
"outerColor": [0, 0, 0],
"innerColor": [211,180,113],
"cities": ["Dublin"],
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games"]
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games", "Excluded from map editor"]
},
{
"name": "Edinburgh",
@ -1039,7 +1040,7 @@
"outerColor": [0, 0, 0],
"innerColor": [0,102,102],
"cities": ["Edinburgh"],
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games"]
"uniques": ["Will not be displayed in Civilopedia", "Will not be chosen for new games", "Excluded from map editor"]
},
{
"name": "M'Banza-Kongo",
@ -1084,7 +1085,7 @@
"name": "Barbarians",
"outerColor": [0,0,0],
"innerColor": [185,12,12],
"uniques": ["Can only heal by pillaging"]
"uniques": ["Can only heal by pillaging", "Excluded from map editor"]
}
]

View File

@ -113,7 +113,15 @@
"RGB": [0, 171, 169],
"uniques": ["Fresh water",
"Considered [Food] when determining start locations",
"Considered [Desirable] when determining start locations"]
"Considered [Desirable] when determining start locations"],
"civilopediaText": [
{"text": "Lakes provide fresh water to adjacent tiles, allowing farming where it would otherwise not be possible (similar to Rivers and Oases)."},
{"text": "Rivers", "link":"Terrain/River"},
{"text": "Oasis", "link":"Terrain/Oasis"},
{"text": "Farm", "link":"Improvement/Farm"},
{"text": "Civil Service", "link":"Technology/Civil Service"},
{"text": "Fertilizer", "link":"Technology/Fertilizer"}
]
},
{
"name": "Mountain",
@ -252,7 +260,15 @@
"Only [All Road] improvements may be built on this tile",
"Always Fertility [4] for Map Generation",
"Considered [Food] when determining start locations",
"Considered [Desirable] when determining start locations"]
"Considered [Desirable] when determining start locations"],
"civilopediaText": [
{"text": "Oases provide fresh water to adjacent tiles, allowing farming where it would otherwise not be possible (similar to Rivers and Lakes)."},
{"text": "Rivers", "link":"Terrain/River"},
{"text": "Lakes", "link":"Terrain/Lakes"},
{"text": "Farm", "link":"Improvement/Farm"},
{"text": "Civil Service", "link":"Technology/Civil Service"},
{"text": "Fertilizer", "link":"Technology/Fertilizer"}
]
},
{
"name": "Flood plains",
@ -285,7 +301,37 @@
"uniques": ["Rare feature"]
},
// Natural Wonders
// Virtual River entry, used for stats, Uniques and Civilopedia
// Modders take heed:
// * This never exists on the map, it's a placeholder to allow you to mod the actual river's stats.
// * The name is hardcoded to apply stats and the Stats Unique when a tile has one or more edges with an actual river.
// * No other Unique is implemented and will work - for now.
{
"name": "River",
"type": "TerrainFeature",
"gold": 1,
"movementCost": 0, // So Civilopedia won't display a cost of 1
"uniques": ["Doesn't generate naturally", "Excluded from map editor"],
"civilopediaText": [
{"text": "Rivers exist on tile edges, not as terrain feature per se."},
{"text": "Tiles on both sides gain its benefits. These benefits do not stack."},
{"text": "The tile has access to fresh water, allowing farming where it would otherwise not be possible (similar to Oases and Lakes)."},
{"text": "Movement across rivers takes all remaining movement points of a unit unless there is a bridge."},
// See BattleConstants.ATTACKING_ACROSS_RIVER_MALUS:
{"text": "When attacking across a river, the attacker gets a -20% strength malus."},
// Related Buildings are automatically linked
{"text": "Lakes", "link":"Terrain/Lakes"},
{"text": "Oasis", "link":"Terrain/Oasis"},
{"text": "Farm", "link":"Improvement/Farm"},
{"text": "Road", "link":"Improvement/Road"},
{"text": "Engineering", "link":"Technology/Engineering"},
{"text": "Civil Service", "link":"Technology/Civil Service"},
{"text": "Fertilizer", "link":"Technology/Fertilizer"},
{"text": "Amphibious", "link":"Promotion/Amphibious"}
]
},
// Natural Wonders
{
"name": "Great Barrier Reef",
"type": "NaturalWonder",

View File

@ -133,7 +133,7 @@
"name": "Remove Forest",
"turnsToBuild": 4,
"techRequired": "Mining",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X",
"civilopediaText": [{"text":"Provides a one-time Production bonus depending on distance to the closest city once finished"}]
},
@ -141,21 +141,21 @@
"name": "Remove Jungle",
"turnsToBuild": 7,
"techRequired": "Bronze Working",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X"
},
{
"name": "Remove Fallout",
"turnsToBuild": 2,
// Has no tech requirements as it can always be built
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X"
},
{
"name": "Remove Marsh",
"turnsToBuild": 6,
"techRequired": "Masonry",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "X"
},
@ -163,16 +163,16 @@
{
"name": "Remove Road",
"turnsToBuild": 2,
"uniques": ["Can be built outside your borders"]
"uniques": ["Can be built outside your borders", "Excluded from map editor"]
},
{
"name": "Remove Railroad",
"turnsToBuild": 2,
"uniques": ["Can be built outside your borders"]
"uniques": ["Can be built outside your borders", "Excluded from map editor"]
},
{
"name": "Cancel improvement order",
"uniques": ["Can be built outside your borders"],
"uniques": ["Can be built outside your borders", "Excluded from map editor"],
"shortcutKey": "."
},
// Purely for turnsToBuild and civilopediaText. Unbuildable so it doesn't show in ImprovementPicker
@ -180,7 +180,7 @@
"name": "Repair",
"terrainsCanBeBuiltOn": ["Land"],
"turnsToBuild": 2,
"uniques": ["Unbuildable"],
"uniques": ["Unbuildable", "Excluded from map editor"],
"shortcutKey": "E",
"civilopediaText": [{"text":"Repairs a pillaged Improvement or Route"}]
},
@ -271,7 +271,7 @@
"name": "City center",
"terrainsCanBeBuiltOn": ["Land"],
"uniques": ["Ensures a minimum tile yield of [+2 Food, +1 Production]",
"Unpillagable", "Irremovable", "Unbuildable"],
"Unpillagable", "Irremovable", "Unbuildable", "Excluded from map editor"],
"civilopediaText": [
{"text":"Marks the center of a city"},
{"text":"Appearance changes with the technological era of the owning civilization"}
@ -280,7 +280,7 @@
{
"name": "Barbarian encampment",
"terrainsCanBeBuiltOn": ["Land"],
"uniques": ["Unpillagable", "Unbuildable"],
"uniques": ["Unpillagable", "Unbuildable", "Excluded from map editor"],
"civilopediaText": [{"text":"Home to uncivilized barbarians, will spawn a hostile unit from time to time"}]
}
]

View File

@ -2,6 +2,9 @@
"useColorAsBaseTerrain": "false",
"fallbackTileSet": null,
"ruleVariants": {
// River pseudo-tile used in Civilopedia display only
"Grassland+River": ["Plains","River-BottomLeft","River-Bottom","River-BottomRight"],
//Legacy hill support
"Hill": ["Grassland","Hill"],
"Hill+Forest+Uranium": ["Grassland","Hill","Uranium","Forest"],

View File

@ -3,6 +3,9 @@
"fallbackTileSet": "FantasyHex",
"ruleVariants": {
// River pseudo-tile used in Civilopedia display only
"Grassland+River": ["Plains","River-BottomLeft","River-Bottom","River-BottomRight"],
//forest and jungle
"Grassland+Forest": ["Grassland","ForestG"],
"Grassland+Jungle": ["Grassland","JungleG"],

View File

@ -551,7 +551,6 @@ Spread Resources =
Create ancient ruins =
Floodfill =
[nation] starting location =
Any Civ starting locations =
Any Civ =
Remove features =
Remove improvement =