From 1b02a1babb938b2e91b9080154d4f0af87e0a0eb Mon Sep 17 00:00:00 2001 From: Robert van Hoesel Date: Thu, 9 Nov 2023 20:15:06 +0100 Subject: [PATCH] Add Expansion data + few data fixes --- abilities/abbasid-optimized.json | 5 +- abilities/abbasid-unified.json | 5 +- abilities/abbasid.json | 5 +- abilities/all-optimized.json | 8 +- abilities/all-unified.json | 8 +- abilities/all.json | 6 +- abilities/ayyubids-optimized.json | 9 +- abilities/ayyubids-unified.json | 9 +- abilities/ayyubids.json | 9 +- .../ability-desert-raider-blade-1.json | 2 +- .../ayyubids/ability-desert-raider-bow-1.json | 2 +- abilities/byzantines-optimized.json | 9 +- abilities/byzantines-unified.json | 9 +- abilities/byzantines.json | 7 +- abilities/byzantines/ability-triumph-1.json | 2 +- abilities/chinese-optimized.json | 5 +- abilities/chinese-unified.json | 5 +- abilities/chinese.json | 5 +- abilities/delhi-optimized.json | 5 +- abilities/delhi-unified.json | 5 +- abilities/delhi.json | 5 +- abilities/english-optimized.json | 5 +- abilities/english-unified.json | 5 +- abilities/english.json | 5 +- abilities/french-optimized.json | 5 +- abilities/french-unified.json | 5 +- abilities/french.json | 5 +- abilities/hre-optimized.json | 5 +- abilities/hre-unified.json | 5 +- abilities/hre.json | 5 +- abilities/japanese-optimized.json | 5 +- abilities/japanese-unified.json | 5 +- abilities/japanese.json | 5 +- abilities/jeannedarc-optimized.json | 5 +- abilities/jeannedarc-unified.json | 5 +- abilities/jeannedarc.json | 5 +- abilities/malians-optimized.json | 5 +- abilities/malians-unified.json | 5 +- abilities/malians.json | 5 +- abilities/mongols-optimized.json | 5 +- abilities/mongols-unified.json | 5 +- abilities/mongols.json | 5 +- abilities/orderofthedragon-optimized.json | 5 +- abilities/orderofthedragon-unified.json | 5 +- abilities/orderofthedragon.json | 5 +- abilities/ottomans-optimized.json | 5 +- abilities/ottomans-unified.json | 5 +- abilities/ottomans.json | 5 +- abilities/rus-optimized.json | 5 +- abilities/rus-unified.json | 5 +- abilities/rus.json | 5 +- .../unified/ability-desert-raider-blade.json | 2 +- .../unified/ability-desert-raider-bow.json | 2 +- abilities/unified/ability-triumph.json | 4 +- abilities/zhuxi-optimized.json | 5 +- abilities/zhuxi-unified.json | 5 +- abilities/zhuxi.json | 5 +- buildings/abbasid-optimized.json | 5 +- buildings/abbasid-unified.json | 5 +- buildings/abbasid.json | 5 +- buildings/ayyubids-optimized.json | 5 +- buildings/ayyubids-unified.json | 5 +- buildings/ayyubids.json | 5 +- buildings/byzantines-optimized.json | 5 +- buildings/byzantines-unified.json | 5 +- buildings/byzantines.json | 5 +- buildings/chinese-optimized.json | 5 +- buildings/chinese-unified.json | 5 +- buildings/chinese.json | 5 +- buildings/delhi-optimized.json | 5 +- buildings/delhi-unified.json | 5 +- buildings/delhi.json | 5 +- buildings/english-optimized.json | 5 +- buildings/english-unified.json | 5 +- buildings/english.json | 5 +- buildings/french-optimized.json | 5 +- buildings/french-unified.json | 5 +- buildings/french.json | 5 +- buildings/hre-optimized.json | 5 +- buildings/hre-unified.json | 5 +- buildings/hre.json | 5 +- buildings/japanese-optimized.json | 5 +- buildings/japanese-unified.json | 5 +- buildings/japanese.json | 5 +- buildings/jeannedarc-optimized.json | 5 +- buildings/jeannedarc-unified.json | 5 +- buildings/jeannedarc.json | 5 +- buildings/malians-optimized.json | 5 +- buildings/malians-unified.json | 5 +- buildings/malians.json | 5 +- buildings/mongols-optimized.json | 5 +- buildings/mongols-unified.json | 5 +- buildings/mongols.json | 5 +- buildings/orderofthedragon-optimized.json | 5 +- buildings/orderofthedragon-unified.json | 5 +- buildings/orderofthedragon.json | 5 +- buildings/ottomans-optimized.json | 5 +- buildings/ottomans-unified.json | 5 +- buildings/ottomans.json | 5 +- buildings/rus-optimized.json | 5 +- buildings/rus-unified.json | 5 +- buildings/rus.json | 5 +- buildings/zhuxi-optimized.json | 5 +- buildings/zhuxi-unified.json | 5 +- buildings/zhuxi.json | 5 +- src/attrib/modifiers.ts | 25 +- src/attrib/workarounds.ts | 19 ++ src/lib/config/civs.ts | 16 + src/types/civs.ts | 1 + technologies/abbasid-optimized.json | 5 +- technologies/abbasid-unified.json | 5 +- technologies/abbasid.json | 5 +- technologies/all-optimized.json | 124 ++++---- technologies/all-unified.json | 87 ++++-- technologies/all.json | 87 ++++-- technologies/ayyubids-optimized.json | 5 +- technologies/ayyubids-unified.json | 5 +- technologies/ayyubids.json | 5 +- technologies/byzantines-optimized.json | 5 +- technologies/byzantines-unified.json | 5 +- technologies/byzantines.json | 5 +- technologies/chinese-optimized.json | 5 +- technologies/chinese-unified.json | 5 +- technologies/chinese.json | 5 +- technologies/delhi-optimized.json | 5 +- technologies/delhi-unified.json | 5 +- technologies/delhi.json | 5 +- technologies/english-optimized.json | 5 +- technologies/english-unified.json | 5 +- technologies/english.json | 5 +- technologies/french-optimized.json | 5 +- technologies/french-unified.json | 5 +- technologies/french.json | 5 +- technologies/hre-optimized.json | 5 +- technologies/hre-unified.json | 5 +- technologies/hre.json | 5 +- technologies/japanese-optimized.json | 5 +- technologies/japanese-unified.json | 5 +- technologies/japanese.json | 5 +- technologies/jeannedarc-optimized.json | 43 ++- technologies/jeannedarc-unified.json | 43 ++- technologies/jeannedarc.json | 43 ++- .../jeannedarc/companion-equipment-3.json | 38 +-- technologies/malians-optimized.json | 5 +- technologies/malians-unified.json | 5 +- technologies/malians.json | 5 +- technologies/mongols-optimized.json | 5 +- technologies/mongols-unified.json | 5 +- technologies/mongols.json | 5 +- technologies/orderofthedragon-optimized.json | 91 +++--- technologies/orderofthedragon-unified.json | 54 +++- technologies/orderofthedragon.json | 54 +++- .../orderofthedragon/dragon-fire-3.json | 49 +++ technologies/ottomans-optimized.json | 5 +- technologies/ottomans-unified.json | 5 +- technologies/ottomans.json | 5 +- technologies/rus-optimized.json | 5 +- technologies/rus-unified.json | 5 +- technologies/rus.json | 5 +- technologies/unified/companion-equipment.json | 38 +-- technologies/unified/dragon-fire.json | 49 +++ technologies/zhuxi-optimized.json | 5 +- technologies/zhuxi-unified.json | 5 +- technologies/zhuxi.json | 5 +- units/abbasid-optimized.json | 5 +- units/abbasid-unified.json | 5 +- units/abbasid.json | 5 +- units/all-optimized.json | 26 +- units/all-unified.json | 279 ++---------------- units/all.json | 271 ++--------------- units/ayyubids-optimized.json | 27 +- units/ayyubids-unified.json | 27 +- units/ayyubids.json | 23 +- units/ayyubids/bedouin-skirmisher-2.json | 9 +- units/ayyubids/bedouin-swordsman-1.json | 9 +- units/byzantines-optimized.json | 5 +- units/byzantines-unified.json | 5 +- units/byzantines.json | 5 +- units/chinese-optimized.json | 5 +- units/chinese-unified.json | 5 +- units/chinese.json | 5 +- units/delhi-optimized.json | 5 +- units/delhi-unified.json | 5 +- units/delhi.json | 5 +- units/english-optimized.json | 5 +- units/english-unified.json | 5 +- units/english.json | 5 +- units/french-optimized.json | 5 +- units/french-unified.json | 5 +- units/french.json | 5 +- units/hre-optimized.json | 5 +- units/hre-unified.json | 5 +- units/hre.json | 5 +- units/japanese-optimized.json | 5 +- units/japanese-unified.json | 5 +- units/japanese.json | 5 +- units/jeannedarc-optimized.json | 9 +- units/jeannedarc-unified.json | 262 +--------------- units/jeannedarc.json | 258 +--------------- units/jeannedarc/jeannes-champion-3.json | 2 +- units/jeannedarc/jeannes-champion-4.json | 2 +- units/jeannedarc/jeannes-rider-3.json | 2 +- units/jeannedarc/jeannes-rider-4.json | 2 +- units/malians-optimized.json | 5 +- units/malians-unified.json | 5 +- units/malians.json | 5 +- units/mongols-optimized.json | 5 +- units/mongols-unified.json | 5 +- units/mongols.json | 5 +- units/orderofthedragon-optimized.json | 5 +- units/orderofthedragon-unified.json | 5 +- units/orderofthedragon.json | 5 +- units/ottomans-optimized.json | 5 +- units/ottomans-unified.json | 5 +- units/ottomans.json | 5 +- units/rus-optimized.json | 5 +- units/rus-unified.json | 5 +- units/rus.json | 5 +- units/unified/bedouin-skirmisher.json | 11 +- units/unified/bedouin-swordsman.json | 11 +- units/unified/jeannes-champion.json | 124 +------- units/unified/jeannes-rider.json | 133 +-------- units/zhuxi-optimized.json | 5 +- units/zhuxi-unified.json | 5 +- units/zhuxi.json | 5 +- upgrades/abbasid-optimized.json | 5 +- upgrades/abbasid-unified.json | 5 +- upgrades/abbasid.json | 5 +- upgrades/ayyubids-optimized.json | 5 +- upgrades/ayyubids-unified.json | 5 +- upgrades/ayyubids.json | 5 +- upgrades/byzantines-optimized.json | 5 +- upgrades/byzantines-unified.json | 5 +- upgrades/byzantines.json | 5 +- upgrades/chinese-optimized.json | 5 +- upgrades/chinese-unified.json | 5 +- upgrades/chinese.json | 5 +- upgrades/delhi-optimized.json | 5 +- upgrades/delhi-unified.json | 5 +- upgrades/delhi.json | 5 +- upgrades/english-optimized.json | 5 +- upgrades/english-unified.json | 5 +- upgrades/english.json | 5 +- upgrades/french-optimized.json | 5 +- upgrades/french-unified.json | 5 +- upgrades/french.json | 5 +- upgrades/hre-optimized.json | 5 +- upgrades/hre-unified.json | 5 +- upgrades/hre.json | 5 +- upgrades/japanese-optimized.json | 5 +- upgrades/japanese-unified.json | 5 +- upgrades/japanese.json | 5 +- upgrades/jeannedarc-optimized.json | 5 +- upgrades/jeannedarc-unified.json | 5 +- upgrades/jeannedarc.json | 5 +- upgrades/malians-optimized.json | 5 +- upgrades/malians-unified.json | 5 +- upgrades/malians.json | 5 +- upgrades/mongols-optimized.json | 5 +- upgrades/mongols-unified.json | 5 +- upgrades/mongols.json | 5 +- upgrades/orderofthedragon-optimized.json | 5 +- upgrades/orderofthedragon-unified.json | 5 +- upgrades/orderofthedragon.json | 5 +- upgrades/ottomans-optimized.json | 5 +- upgrades/ottomans-unified.json | 5 +- upgrades/ottomans.json | 5 +- upgrades/rus-optimized.json | 5 +- upgrades/rus-unified.json | 5 +- upgrades/rus.json | 5 +- upgrades/zhuxi-optimized.json | 5 +- upgrades/zhuxi-unified.json | 5 +- upgrades/zhuxi.json | 5 +- 273 files changed, 1711 insertions(+), 1835 deletions(-) create mode 100644 technologies/orderofthedragon/dragon-fire-3.json diff --git a/abilities/abbasid-optimized.json b/abilities/abbasid-optimized.json index b1c756d2..4e5cdcf5 100644 --- a/abilities/abbasid-optimized.json +++ b/abilities/abbasid-optimized.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/abbasid-unified.json b/abilities/abbasid-unified.json index 35225e24..fdacb29f 100644 --- a/abilities/abbasid-unified.json +++ b/abilities/abbasid-unified.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/abbasid.json b/abilities/abbasid.json index 72276aeb..30c1967a 100644 --- a/abilities/abbasid.json +++ b/abilities/abbasid.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/all-optimized.json b/abilities/all-optimized.json index 0815747c..18730423 100644 --- a/abilities/all-optimized.json +++ b/abilities/all-optimized.json @@ -921,7 +921,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -979,7 +979,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -2422,7 +2422,7 @@ "classes": [], "minAge": 1, "icon": "https://data.aoe4world.com/images/abilities/ability-triumph-1.png", - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "variations": [ { "id": "ability-triumph-1", @@ -2435,7 +2435,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/all-unified.json b/abilities/all-unified.json index 6b546bb3..44c4e77f 100644 --- a/abilities/all-unified.json +++ b/abilities/all-unified.json @@ -1708,7 +1708,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -1765,7 +1765,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -3185,7 +3185,7 @@ "classes": [], "minAge": 1, "icon": "https://data.aoe4world.com/images/abilities/ability-triumph-1.png", - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "variations": [ { "id": "ability-triumph-1", @@ -3198,7 +3198,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/all.json b/abilities/all.json index 909ea559..988f051f 100644 --- a/abilities/all.json +++ b/abilities/all.json @@ -548,7 +548,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -590,7 +590,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -2039,7 +2039,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/ayyubids-optimized.json b/abilities/ayyubids-optimized.json index 9f92d1af..8f7c7f4f 100644 --- a/abilities/ayyubids-optimized.json +++ b/abilities/ayyubids-optimized.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -178,7 +181,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -236,7 +239,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { diff --git a/abilities/ayyubids-unified.json b/abilities/ayyubids-unified.json index 5e007606..21b8b8af 100644 --- a/abilities/ayyubids-unified.json +++ b/abilities/ayyubids-unified.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -176,7 +179,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -233,7 +236,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { diff --git a/abilities/ayyubids.json b/abilities/ayyubids.json index 787da708..2077b0db 100644 --- a/abilities/ayyubids.json +++ b/abilities/ayyubids.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -133,7 +136,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { @@ -175,7 +178,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { diff --git a/abilities/ayyubids/ability-desert-raider-blade-1.json b/abilities/ayyubids/ability-desert-raider-blade-1.json index b14847d1..f74dba11 100644 --- a/abilities/ayyubids/ability-desert-raider-blade-1.json +++ b/abilities/ayyubids/ability-desert-raider-blade-1.json @@ -24,7 +24,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { diff --git a/abilities/ayyubids/ability-desert-raider-bow-1.json b/abilities/ayyubids/ability-desert-raider-bow-1.json index f6d64598..1891449d 100644 --- a/abilities/ayyubids/ability-desert-raider-bow-1.json +++ b/abilities/ayyubids/ability-desert-raider-bow-1.json @@ -24,7 +24,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { diff --git a/abilities/byzantines-optimized.json b/abilities/byzantines-optimized.json index 064ea576..023be989 100644 --- a/abilities/byzantines-optimized.json +++ b/abilities/byzantines-optimized.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -1187,7 +1190,7 @@ "classes": [], "minAge": 1, "icon": "https://data.aoe4world.com/images/abilities/ability-triumph-1.png", - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "variations": [ { "id": "ability-triumph-1", @@ -1200,7 +1203,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/byzantines-unified.json b/abilities/byzantines-unified.json index 6af9e233..fe270bb0 100644 --- a/abilities/byzantines-unified.json +++ b/abilities/byzantines-unified.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -1168,7 +1171,7 @@ "classes": [], "minAge": 1, "icon": "https://data.aoe4world.com/images/abilities/ability-triumph-1.png", - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "variations": [ { "id": "ability-triumph-1", @@ -1181,7 +1184,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/byzantines.json b/abilities/byzantines.json index 0ead80ef..c7940753 100644 --- a/abilities/byzantines.json +++ b/abilities/byzantines.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -883,7 +886,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/byzantines/ability-triumph-1.json b/abilities/byzantines/ability-triumph-1.json index 3db8aa16..2c102eb3 100644 --- a/abilities/byzantines/ability-triumph-1.json +++ b/abilities/byzantines/ability-triumph-1.json @@ -9,7 +9,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/chinese-optimized.json b/abilities/chinese-optimized.json index ee8edd3d..a7e3ef0e 100644 --- a/abilities/chinese-optimized.json +++ b/abilities/chinese-optimized.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/chinese-unified.json b/abilities/chinese-unified.json index a699e66e..f7fc5454 100644 --- a/abilities/chinese-unified.json +++ b/abilities/chinese-unified.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/chinese.json b/abilities/chinese.json index f3ce7dac..8d85c555 100644 --- a/abilities/chinese.json +++ b/abilities/chinese.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/delhi-optimized.json b/abilities/delhi-optimized.json index abb6a06e..e156ac1c 100644 --- a/abilities/delhi-optimized.json +++ b/abilities/delhi-optimized.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/delhi-unified.json b/abilities/delhi-unified.json index cbc48c9e..0b6d53d8 100644 --- a/abilities/delhi-unified.json +++ b/abilities/delhi-unified.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/delhi.json b/abilities/delhi.json index e304ba1a..3ae11506 100644 --- a/abilities/delhi.json +++ b/abilities/delhi.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/english-optimized.json b/abilities/english-optimized.json index b1cde44d..c17c8bf8 100644 --- a/abilities/english-optimized.json +++ b/abilities/english-optimized.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/english-unified.json b/abilities/english-unified.json index 42efa459..cc2a1927 100644 --- a/abilities/english-unified.json +++ b/abilities/english-unified.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/english.json b/abilities/english.json index 0c0a56b5..bf5b4c1d 100644 --- a/abilities/english.json +++ b/abilities/english.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/french-optimized.json b/abilities/french-optimized.json index 51b3e472..8ca74289 100644 --- a/abilities/french-optimized.json +++ b/abilities/french-optimized.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/french-unified.json b/abilities/french-unified.json index 7485ab71..63965ea9 100644 --- a/abilities/french-unified.json +++ b/abilities/french-unified.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/french.json b/abilities/french.json index c86bfb0f..d2a6f058 100644 --- a/abilities/french.json +++ b/abilities/french.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/hre-optimized.json b/abilities/hre-optimized.json index 03f7cd94..34411a7f 100644 --- a/abilities/hre-optimized.json +++ b/abilities/hre-optimized.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/hre-unified.json b/abilities/hre-unified.json index 846558f2..b73c32e6 100644 --- a/abilities/hre-unified.json +++ b/abilities/hre-unified.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/hre.json b/abilities/hre.json index 4636e49d..02155c7b 100644 --- a/abilities/hre.json +++ b/abilities/hre.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/japanese-optimized.json b/abilities/japanese-optimized.json index a69ab1ca..7013342e 100644 --- a/abilities/japanese-optimized.json +++ b/abilities/japanese-optimized.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/japanese-unified.json b/abilities/japanese-unified.json index 50789881..35c1f47c 100644 --- a/abilities/japanese-unified.json +++ b/abilities/japanese-unified.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/japanese.json b/abilities/japanese.json index 3c8fd29d..17a24a68 100644 --- a/abilities/japanese.json +++ b/abilities/japanese.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/jeannedarc-optimized.json b/abilities/jeannedarc-optimized.json index 54069113..da345794 100644 --- a/abilities/jeannedarc-optimized.json +++ b/abilities/jeannedarc-optimized.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/jeannedarc-unified.json b/abilities/jeannedarc-unified.json index cbbd66ca..203ea570 100644 --- a/abilities/jeannedarc-unified.json +++ b/abilities/jeannedarc-unified.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/jeannedarc.json b/abilities/jeannedarc.json index ce975f51..eb1aa942 100644 --- a/abilities/jeannedarc.json +++ b/abilities/jeannedarc.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/malians-optimized.json b/abilities/malians-optimized.json index facc3bd5..3be398b6 100644 --- a/abilities/malians-optimized.json +++ b/abilities/malians-optimized.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/malians-unified.json b/abilities/malians-unified.json index 76fb830a..f171ed41 100644 --- a/abilities/malians-unified.json +++ b/abilities/malians-unified.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/malians.json b/abilities/malians.json index b6769589..c9d89fc9 100644 --- a/abilities/malians.json +++ b/abilities/malians.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/mongols-optimized.json b/abilities/mongols-optimized.json index 7dbc6422..0a08b899 100644 --- a/abilities/mongols-optimized.json +++ b/abilities/mongols-optimized.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/mongols-unified.json b/abilities/mongols-unified.json index b49c9df5..0014290d 100644 --- a/abilities/mongols-unified.json +++ b/abilities/mongols-unified.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/mongols.json b/abilities/mongols.json index d157f1de..3b65241e 100644 --- a/abilities/mongols.json +++ b/abilities/mongols.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/orderofthedragon-optimized.json b/abilities/orderofthedragon-optimized.json index 60b6000b..0fb6fa08 100644 --- a/abilities/orderofthedragon-optimized.json +++ b/abilities/orderofthedragon-optimized.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/orderofthedragon-unified.json b/abilities/orderofthedragon-unified.json index 5bb3f21c..c3870024 100644 --- a/abilities/orderofthedragon-unified.json +++ b/abilities/orderofthedragon-unified.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/orderofthedragon.json b/abilities/orderofthedragon.json index c4f6ee21..2d445f96 100644 --- a/abilities/orderofthedragon.json +++ b/abilities/orderofthedragon.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/ottomans-optimized.json b/abilities/ottomans-optimized.json index 226cddc7..a1680a4e 100644 --- a/abilities/ottomans-optimized.json +++ b/abilities/ottomans-optimized.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/ottomans-unified.json b/abilities/ottomans-unified.json index 5313e2e9..f3c675fa 100644 --- a/abilities/ottomans-unified.json +++ b/abilities/ottomans-unified.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/ottomans.json b/abilities/ottomans.json index 3897d995..b6b21ce1 100644 --- a/abilities/ottomans.json +++ b/abilities/ottomans.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/rus-optimized.json b/abilities/rus-optimized.json index 2649a2d2..3197cbf0 100644 --- a/abilities/rus-optimized.json +++ b/abilities/rus-optimized.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/rus-unified.json b/abilities/rus-unified.json index 88650e22..e4e76c5e 100644 --- a/abilities/rus-unified.json +++ b/abilities/rus-unified.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/rus.json b/abilities/rus.json index a0fdfc3c..d309786b 100644 --- a/abilities/rus.json +++ b/abilities/rus.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/abilities/unified/ability-desert-raider-blade.json b/abilities/unified/ability-desert-raider-blade.json index 6827ba54..79326308 100644 --- a/abilities/unified/ability-desert-raider-blade.json +++ b/abilities/unified/ability-desert-raider-blade.json @@ -39,7 +39,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-blade-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { diff --git a/abilities/unified/ability-desert-raider-bow.json b/abilities/unified/ability-desert-raider-bow.json index bdc50bfb..516e5f28 100644 --- a/abilities/unified/ability-desert-raider-bow.json +++ b/abilities/unified/ability-desert-raider-bow.json @@ -39,7 +39,7 @@ }, "producedBy": [], "icon": "https://data.aoe4world.com/images/abilities/ability-desert-raider-bow-1.png", - "active": "toggle", + "active": "manual", "auraRange": 0.0025, "effects": [ { diff --git a/abilities/unified/ability-triumph.json b/abilities/unified/ability-triumph.json index 0d9a8de3..1e3837b2 100644 --- a/abilities/unified/ability-triumph.json +++ b/abilities/unified/ability-triumph.json @@ -11,7 +11,7 @@ "classes": [], "minAge": 1, "icon": "https://data.aoe4world.com/images/abilities/ability-triumph-1.png", - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "variations": [ { "id": "ability-triumph-1", @@ -24,7 +24,7 @@ "civs": [ "by" ], - "description": "Consume all Supply Points to increase cavalry damage by +25%, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", + "description": "Consume all Supply Points to increase cavalry damage by +4, move speed by +10%, and health regeneration by +2. \nEach Supply Point increases Triumph's duration by 1.5 seconds. A maximum of 40 Supply Points can be collected.", "classes": [], "displayClasses": [], "costs": { diff --git a/abilities/zhuxi-optimized.json b/abilities/zhuxi-optimized.json index b589e8ad..6a909357 100644 --- a/abilities/zhuxi-optimized.json +++ b/abilities/zhuxi-optimized.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/zhuxi-unified.json b/abilities/zhuxi-unified.json index a3bf351c..a8f54ecd 100644 --- a/abilities/zhuxi-unified.json +++ b/abilities/zhuxi-unified.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/abilities/zhuxi.json b/abilities/zhuxi.json index 45d88378..87bb8a02 100644 --- a/abilities/zhuxi.json +++ b/abilities/zhuxi.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/abbasid-optimized.json b/buildings/abbasid-optimized.json index c66c4292..948b157b 100644 --- a/buildings/abbasid-optimized.json +++ b/buildings/abbasid-optimized.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/abbasid-unified.json b/buildings/abbasid-unified.json index c597423e..47cb5505 100644 --- a/buildings/abbasid-unified.json +++ b/buildings/abbasid-unified.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/abbasid.json b/buildings/abbasid.json index f8bdc8e7..f1f309e6 100644 --- a/buildings/abbasid.json +++ b/buildings/abbasid.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/ayyubids-optimized.json b/buildings/ayyubids-optimized.json index ae379937..27ea37d5 100644 --- a/buildings/ayyubids-optimized.json +++ b/buildings/ayyubids-optimized.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/ayyubids-unified.json b/buildings/ayyubids-unified.json index c124faa4..43943a4e 100644 --- a/buildings/ayyubids-unified.json +++ b/buildings/ayyubids-unified.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/ayyubids.json b/buildings/ayyubids.json index a5c5768f..7018868c 100644 --- a/buildings/ayyubids.json +++ b/buildings/ayyubids.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/byzantines-optimized.json b/buildings/byzantines-optimized.json index ab755350..fbeb8394 100644 --- a/buildings/byzantines-optimized.json +++ b/buildings/byzantines-optimized.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/byzantines-unified.json b/buildings/byzantines-unified.json index edc721c5..8fe05763 100644 --- a/buildings/byzantines-unified.json +++ b/buildings/byzantines-unified.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/byzantines.json b/buildings/byzantines.json index 35ece0e6..312313c7 100644 --- a/buildings/byzantines.json +++ b/buildings/byzantines.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/chinese-optimized.json b/buildings/chinese-optimized.json index 42f91ed9..df61e3a8 100644 --- a/buildings/chinese-optimized.json +++ b/buildings/chinese-optimized.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/chinese-unified.json b/buildings/chinese-unified.json index 36c03237..2ba5801f 100644 --- a/buildings/chinese-unified.json +++ b/buildings/chinese-unified.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/chinese.json b/buildings/chinese.json index 4904cf30..718f6f6b 100644 --- a/buildings/chinese.json +++ b/buildings/chinese.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/delhi-optimized.json b/buildings/delhi-optimized.json index 435283e2..71bf4dd2 100644 --- a/buildings/delhi-optimized.json +++ b/buildings/delhi-optimized.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/delhi-unified.json b/buildings/delhi-unified.json index c2d35b3d..5472c81a 100644 --- a/buildings/delhi-unified.json +++ b/buildings/delhi-unified.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/delhi.json b/buildings/delhi.json index 944f0aac..ad804f76 100644 --- a/buildings/delhi.json +++ b/buildings/delhi.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/english-optimized.json b/buildings/english-optimized.json index c14edb28..2f1c23d1 100644 --- a/buildings/english-optimized.json +++ b/buildings/english-optimized.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/english-unified.json b/buildings/english-unified.json index 8790f945..6f2745f7 100644 --- a/buildings/english-unified.json +++ b/buildings/english-unified.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/english.json b/buildings/english.json index aa2b8d17..5d1e754e 100644 --- a/buildings/english.json +++ b/buildings/english.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/french-optimized.json b/buildings/french-optimized.json index 0ef52f6d..02e49c87 100644 --- a/buildings/french-optimized.json +++ b/buildings/french-optimized.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/french-unified.json b/buildings/french-unified.json index d4d8daa9..aad30573 100644 --- a/buildings/french-unified.json +++ b/buildings/french-unified.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/french.json b/buildings/french.json index aedd76e6..43e89bbf 100644 --- a/buildings/french.json +++ b/buildings/french.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/hre-optimized.json b/buildings/hre-optimized.json index 3194b4ed..6ee2f90a 100644 --- a/buildings/hre-optimized.json +++ b/buildings/hre-optimized.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/hre-unified.json b/buildings/hre-unified.json index 0d0f0b90..e6edbe4f 100644 --- a/buildings/hre-unified.json +++ b/buildings/hre-unified.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/hre.json b/buildings/hre.json index 0a7ea236..c36a3f2f 100644 --- a/buildings/hre.json +++ b/buildings/hre.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/japanese-optimized.json b/buildings/japanese-optimized.json index f2059fb0..86a8b8ed 100644 --- a/buildings/japanese-optimized.json +++ b/buildings/japanese-optimized.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/japanese-unified.json b/buildings/japanese-unified.json index 8382f353..63ff9541 100644 --- a/buildings/japanese-unified.json +++ b/buildings/japanese-unified.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/japanese.json b/buildings/japanese.json index d8ba56e3..33e614bd 100644 --- a/buildings/japanese.json +++ b/buildings/japanese.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/jeannedarc-optimized.json b/buildings/jeannedarc-optimized.json index 290417cc..09120186 100644 --- a/buildings/jeannedarc-optimized.json +++ b/buildings/jeannedarc-optimized.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/jeannedarc-unified.json b/buildings/jeannedarc-unified.json index da060a37..705962bc 100644 --- a/buildings/jeannedarc-unified.json +++ b/buildings/jeannedarc-unified.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/jeannedarc.json b/buildings/jeannedarc.json index cb1a994d..130c6305 100644 --- a/buildings/jeannedarc.json +++ b/buildings/jeannedarc.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/malians-optimized.json b/buildings/malians-optimized.json index 052f1d5f..6536e7a2 100644 --- a/buildings/malians-optimized.json +++ b/buildings/malians-optimized.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/malians-unified.json b/buildings/malians-unified.json index b8b47873..e5b0d418 100644 --- a/buildings/malians-unified.json +++ b/buildings/malians-unified.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/malians.json b/buildings/malians.json index 1fb7fb4c..5100f4af 100644 --- a/buildings/malians.json +++ b/buildings/malians.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/mongols-optimized.json b/buildings/mongols-optimized.json index 60da1eb4..b5371d99 100644 --- a/buildings/mongols-optimized.json +++ b/buildings/mongols-optimized.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/mongols-unified.json b/buildings/mongols-unified.json index ecfa7e90..c6b461a2 100644 --- a/buildings/mongols-unified.json +++ b/buildings/mongols-unified.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/mongols.json b/buildings/mongols.json index d4713553..de405848 100644 --- a/buildings/mongols.json +++ b/buildings/mongols.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/orderofthedragon-optimized.json b/buildings/orderofthedragon-optimized.json index 3ff9d082..d511fca8 100644 --- a/buildings/orderofthedragon-optimized.json +++ b/buildings/orderofthedragon-optimized.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/orderofthedragon-unified.json b/buildings/orderofthedragon-unified.json index ebac87d0..8ae7ba9f 100644 --- a/buildings/orderofthedragon-unified.json +++ b/buildings/orderofthedragon-unified.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/orderofthedragon.json b/buildings/orderofthedragon.json index 5e16a457..f938c629 100644 --- a/buildings/orderofthedragon.json +++ b/buildings/orderofthedragon.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/ottomans-optimized.json b/buildings/ottomans-optimized.json index 99d77af3..8aceaa5f 100644 --- a/buildings/ottomans-optimized.json +++ b/buildings/ottomans-optimized.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/ottomans-unified.json b/buildings/ottomans-unified.json index 22a264e4..fbcad26a 100644 --- a/buildings/ottomans-unified.json +++ b/buildings/ottomans-unified.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/ottomans.json b/buildings/ottomans.json index 5765293e..3f55a123 100644 --- a/buildings/ottomans.json +++ b/buildings/ottomans.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/rus-optimized.json b/buildings/rus-optimized.json index d617cd96..4cac3fc1 100644 --- a/buildings/rus-optimized.json +++ b/buildings/rus-optimized.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/rus-unified.json b/buildings/rus-unified.json index 819820f3..4b1c7066 100644 --- a/buildings/rus-unified.json +++ b/buildings/rus-unified.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/rus.json b/buildings/rus.json index f44bfc71..9decad30 100644 --- a/buildings/rus.json +++ b/buildings/rus.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/buildings/zhuxi-optimized.json b/buildings/zhuxi-optimized.json index 516cc4fd..6fe0083a 100644 --- a/buildings/zhuxi-optimized.json +++ b/buildings/zhuxi-optimized.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/zhuxi-unified.json b/buildings/zhuxi-unified.json index 11089bbb..8434eb58 100644 --- a/buildings/zhuxi-unified.json +++ b/buildings/zhuxi-unified.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/buildings/zhuxi.json b/buildings/zhuxi.json index 01f10382..6f6c5582 100644 --- a/buildings/zhuxi.json +++ b/buildings/zhuxi.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/src/attrib/modifiers.ts b/src/attrib/modifiers.ts index 272293a0..0c78abdb 100644 --- a/src/attrib/modifiers.ts +++ b/src/attrib/modifiers.ts @@ -323,10 +323,9 @@ export const abilityModifiers: Record { property: "meleeAttack", select: { class: [["cavalry"]] }, - effect: "multiply", - value: increaseByPercent(1, m), + effect: "change", + value: 4, type: "ability", - duration: d, }, { property: "moveSpeed", @@ -334,7 +333,6 @@ export const abilityModifiers: Record effect: "change", value: m, type: "ability", - duration: d, }, { property: "healingRate", @@ -342,7 +340,6 @@ export const abilityModifiers: Record effect: "change", value: h, type: "ability", - duration: d, }, ], @@ -4608,4 +4605,22 @@ export const technologyModifiers: Record [ + { + property: "hitpoints", + select: { id: ["jeannes-champion", "jeannes-rider"] }, + effect: "multiply", + value: increaseByPercent(1, i), + type: "passive", + }, + { + property: "meleeAttack", + select: { id: ["jeannes-companion", "jeannes-rider"] }, + effect: "multiply", + value: increaseByPercent(1, i), + type: "passive", + }, + ], }; diff --git a/src/attrib/workarounds.ts b/src/attrib/workarounds.ts index bde94e98..bdd29818 100644 --- a/src/attrib/workarounds.ts +++ b/src/attrib/workarounds.ts @@ -701,6 +701,24 @@ workaround("Merge Elite Rider", { }, }); +workaround("Add auto upgrade info to companions", { + predicate: (item) => item.type === "unit" && ["jeannes-champion", "jeannes-rider"].includes(item.baseId), + mutator: (item) => { + item.description += `\n\nUpgrades to Elite when Jeanne reaches level 4.`; + }, +}); + +// Set Dragon Fire Age to 3 +workaround("Set Dragon Fire Age to 3", { ...overrideAge(["dragon-fire"], 3) }); + +workaround("Set Desert Raider abilities to manual", { + predicate: (item) => item.type === "ability" && item.baseId.startsWith("ability-desert-raider"), + mutator: (item) => { + item = item as Ability; + item.active = "manual"; + }, +}); + workaround("Fix missing info Ayyubid Golden Age Tiers", { predicate: (item) => item.type === "ability" && item.civs[0] === "ay" && item.attribName?.startsWith("golden_age_tier_")! && item.attribName?.endsWith("_ha_01")!, mutator: (item) => { @@ -892,6 +910,7 @@ workaround("Set Triumph requirements", { mutator: (item) => { item = item as Ability; item.activatedOn = ["buildings/imperial-hippodrome"]; + item.description = item.description.replace("damage by +25%", "damage by +4"); item.auraRange = 0; }, }); diff --git a/src/lib/config/civs.ts b/src/lib/config/civs.ts index 99ebcf83..c316932c 100644 --- a/src/lib/config/civs.ts +++ b/src/lib/config/civs.ts @@ -4,95 +4,111 @@ export const CIVILIZATIONS = { abbr: "ab", slug: "abbasid", attribName: "abbasid", + expansion: ["base"], }, ay: { name: "Ayyubids", abbr: "ay", slug: "ayyubids", attribName: "abbasid_ha_01", + expansion: ["sultans-ascend"], }, by: { name: "Byzantines", abbr: "by", slug: "byzantines", attribName: "byzantine", + expansion: ["sultans-ascend"], }, ch: { name: "Chinese", abbr: "ch", slug: "chinese", attribName: "chinese", + expansion: ["base"], }, de: { name: "Delhi Sultanate", abbr: "de", slug: "delhi", attribName: "sultanate", + expansion: ["base"], }, en: { name: "English", abbr: "en", slug: "english", attribName: "english", + expansion: ["base"], }, fr: { name: "French", abbr: "fr", slug: "french", attribName: "french", + expansion: ["base"], }, hr: { name: "Holy Roman Empire", abbr: "hr", slug: "hre", attribName: "hre", + expansion: ["base"], }, ja: { name: "Japanese", abbr: "ja", slug: "japanese", attribName: "japanese", + expansion: ["sultans-ascend"], }, je: { name: "Jeanne d'Arc", abbr: "je", slug: "jeannedarc", attribName: "french_ha_01", + expansion: ["sultans-ascend"], }, ma: { name: "Malians", abbr: "ma", slug: "malians", attribName: "malian", + expansion: ["base"], }, mo: { name: "Mongols", abbr: "mo", slug: "mongols", attribName: "mongol", + expansion: ["base"], }, od: { name: "Order of the Dragon", abbr: "od", slug: "orderofthedragon", attribName: "hre_ha_01", + expansion: ["sultans-ascend"], }, ot: { name: "Ottomans", abbr: "ot", slug: "ottomans", attribName: "ottoman", + expansion: ["base"], }, ru: { name: "Rus", abbr: "ru", slug: "rus", attribName: "rus", + expansion: ["base"], }, zx: { name: "Zhu Xi's Legacy", abbr: "zx", slug: "zhuxi", attribName: "chinese_ha_01", + expansion: ["sultans-ascend"], }, } as const; diff --git a/src/types/civs.ts b/src/types/civs.ts index ed052971..505d66da 100644 --- a/src/types/civs.ts +++ b/src/types/civs.ts @@ -8,6 +8,7 @@ export type CivConfig = { abbr: CivAbbr; slug: CivSlug; attribName?: string; + expansion: string[]; }; export type CivInfo = { diff --git a/technologies/abbasid-optimized.json b/technologies/abbasid-optimized.json index d1b6ecca..c2033267 100644 --- a/technologies/abbasid-optimized.json +++ b/technologies/abbasid-optimized.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/abbasid-unified.json b/technologies/abbasid-unified.json index 4dd438e9..8901633e 100644 --- a/technologies/abbasid-unified.json +++ b/technologies/abbasid-unified.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/abbasid.json b/technologies/abbasid.json index cfd721ea..c0ab1d65 100644 --- a/technologies/abbasid.json +++ b/technologies/abbasid.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/all-optimized.json b/technologies/all-optimized.json index 6fb5767e..a1103b65 100644 --- a/technologies/all-optimized.json +++ b/technologies/all-optimized.json @@ -24041,33 +24041,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] @@ -28793,55 +28787,57 @@ "variations": [ { "id": "dragon-fire-2", - "baseId": "dragon-fire", - "type": "technology", - "name": "Dragon Fire", "pbgid": 2140414, "attribName": "upgrade_dragon_fire_hre_ha_01", - "age": 2, "civs": [ "od" - ], - "description": "Gilded Spearman torches deal area of effect damage.", - "classes": [ - "spearman", - "technology" - ], - "displayClasses": [ - "Spearman Technology" - ], - "unique": true, - "costs": { - "food": 50, - "wood": 0, - "stone": 0, - "gold": 125, - "vizier": 0, - "oliveoil": 0, - "total": 175, - "popcap": 0, - "time": 30 - }, - "producedBy": [ - "barracks", - "burgrave-palace" - ], - "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", - "effects": [ - { - "property": "unknown", - "select": { - "id": [ - "gilded-spearman" - ] - }, - "effect": "change", - "type": "ability" - } + ] + }, + { + "id": "dragon-fire-3", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "civs": [ + "od" ] } ], - "shared": {} + "baseId": "dragon-fire", + "age": 2, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ], + "shared": { + "dragon-fire-3": { + "name": "Dragon Fire", + "age": 3, + "id": "dragon-fire-3" + } + } }, { "id": "dragon-scale-leather", diff --git a/technologies/all-unified.json b/technologies/all-unified.json index 533b9e69..6a999a05 100644 --- a/technologies/all-unified.json +++ b/technologies/all-unified.json @@ -68398,33 +68398,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] @@ -73173,6 +73167,55 @@ "type": "ability" } ] + }, + { + "id": "dragon-fire-3", + "baseId": "dragon-fire", + "type": "technology", + "name": "Dragon Fire", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "age": 3, + "civs": [ + "od" + ], + "description": "Gilded Spearman torches deal area of effect damage.", + "classes": [ + "spearman", + "technology" + ], + "displayClasses": [ + "Spearman Technology" + ], + "unique": true, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ] } ] }, diff --git a/technologies/all.json b/technologies/all.json index ff30fd7d..2f6747e7 100644 --- a/technologies/all.json +++ b/technologies/all.json @@ -39033,33 +39033,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] @@ -53368,6 +53362,55 @@ } ] }, + { + "id": "dragon-fire-3", + "baseId": "dragon-fire", + "type": "technology", + "name": "Dragon Fire", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "age": 3, + "civs": [ + "od" + ], + "description": "Gilded Spearman torches deal area of effect damage.", + "classes": [ + "spearman", + "technology" + ], + "displayClasses": [ + "Spearman Technology" + ], + "unique": true, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ] + }, { "id": "dragon-scale-leather-3", "baseId": "dragon-scale-leather", diff --git a/technologies/ayyubids-optimized.json b/technologies/ayyubids-optimized.json index 2e453201..4568e157 100644 --- a/technologies/ayyubids-optimized.json +++ b/technologies/ayyubids-optimized.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/ayyubids-unified.json b/technologies/ayyubids-unified.json index 165a2295..ccb56c48 100644 --- a/technologies/ayyubids-unified.json +++ b/technologies/ayyubids-unified.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/ayyubids.json b/technologies/ayyubids.json index 01b8c8ed..64e09fe3 100644 --- a/technologies/ayyubids.json +++ b/technologies/ayyubids.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/byzantines-optimized.json b/technologies/byzantines-optimized.json index 541f3d0a..dc08b81d 100644 --- a/technologies/byzantines-optimized.json +++ b/technologies/byzantines-optimized.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/byzantines-unified.json b/technologies/byzantines-unified.json index f84d642b..2f5d1a97 100644 --- a/technologies/byzantines-unified.json +++ b/technologies/byzantines-unified.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/byzantines.json b/technologies/byzantines.json index a796a21c..895d0fa9 100644 --- a/technologies/byzantines.json +++ b/technologies/byzantines.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/chinese-optimized.json b/technologies/chinese-optimized.json index b775cee9..fc81185f 100644 --- a/technologies/chinese-optimized.json +++ b/technologies/chinese-optimized.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/chinese-unified.json b/technologies/chinese-unified.json index 99b8e0c7..eaa5fd4a 100644 --- a/technologies/chinese-unified.json +++ b/technologies/chinese-unified.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/chinese.json b/technologies/chinese.json index 281c706c..ec53c226 100644 --- a/technologies/chinese.json +++ b/technologies/chinese.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/delhi-optimized.json b/technologies/delhi-optimized.json index 6f5f859a..cd5adb4a 100644 --- a/technologies/delhi-optimized.json +++ b/technologies/delhi-optimized.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/delhi-unified.json b/technologies/delhi-unified.json index d51808b3..82ec5303 100644 --- a/technologies/delhi-unified.json +++ b/technologies/delhi-unified.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/delhi.json b/technologies/delhi.json index aa30bddf..e0f1ec35 100644 --- a/technologies/delhi.json +++ b/technologies/delhi.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/english-optimized.json b/technologies/english-optimized.json index f8991b23..7fc8f531 100644 --- a/technologies/english-optimized.json +++ b/technologies/english-optimized.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/english-unified.json b/technologies/english-unified.json index 78400412..d5b91cfe 100644 --- a/technologies/english-unified.json +++ b/technologies/english-unified.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/english.json b/technologies/english.json index 9ebd0725..6d3f6c02 100644 --- a/technologies/english.json +++ b/technologies/english.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/french-optimized.json b/technologies/french-optimized.json index 2c75a295..725dfcb8 100644 --- a/technologies/french-optimized.json +++ b/technologies/french-optimized.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/french-unified.json b/technologies/french-unified.json index 3ac3133f..9c9480e6 100644 --- a/technologies/french-unified.json +++ b/technologies/french-unified.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/french.json b/technologies/french.json index 6974d380..53dd8353 100644 --- a/technologies/french.json +++ b/technologies/french.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/hre-optimized.json b/technologies/hre-optimized.json index d1fba830..093741a3 100644 --- a/technologies/hre-optimized.json +++ b/technologies/hre-optimized.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/hre-unified.json b/technologies/hre-unified.json index 924fccb8..9b02d9bb 100644 --- a/technologies/hre-unified.json +++ b/technologies/hre-unified.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/hre.json b/technologies/hre.json index 47e47fda..d4cce366 100644 --- a/technologies/hre.json +++ b/technologies/hre.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/japanese-optimized.json b/technologies/japanese-optimized.json index badea091..160e5986 100644 --- a/technologies/japanese-optimized.json +++ b/technologies/japanese-optimized.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/japanese-unified.json b/technologies/japanese-unified.json index f3ffa955..d92a7ee7 100644 --- a/technologies/japanese-unified.json +++ b/technologies/japanese-unified.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/japanese.json b/technologies/japanese.json index 79d6a479..c8188e24 100644 --- a/technologies/japanese.json +++ b/technologies/japanese.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/jeannedarc-optimized.json b/technologies/jeannedarc-optimized.json index d957365d..14922ea0 100644 --- a/technologies/jeannedarc-optimized.json +++ b/technologies/jeannedarc-optimized.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -1084,33 +1087,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] diff --git a/technologies/jeannedarc-unified.json b/technologies/jeannedarc-unified.json index 9e738a8b..59ec1e5b 100644 --- a/technologies/jeannedarc-unified.json +++ b/technologies/jeannedarc-unified.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -1117,33 +1120,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] diff --git a/technologies/jeannedarc.json b/technologies/jeannedarc.json index 4a5d5808..067e525e 100644 --- a/technologies/jeannedarc.json +++ b/technologies/jeannedarc.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -836,33 +839,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] diff --git a/technologies/jeannedarc/companion-equipment-3.json b/technologies/jeannedarc/companion-equipment-3.json index e193f0eb..cc9723c3 100644 --- a/technologies/jeannedarc/companion-equipment-3.json +++ b/technologies/jeannedarc/companion-equipment-3.json @@ -36,33 +36,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] diff --git a/technologies/malians-optimized.json b/technologies/malians-optimized.json index 3939d36a..371b41f3 100644 --- a/technologies/malians-optimized.json +++ b/technologies/malians-optimized.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/malians-unified.json b/technologies/malians-unified.json index 3f344787..106a726b 100644 --- a/technologies/malians-unified.json +++ b/technologies/malians-unified.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/malians.json b/technologies/malians.json index c0b6deb5..5048454a 100644 --- a/technologies/malians.json +++ b/technologies/malians.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/mongols-optimized.json b/technologies/mongols-optimized.json index a76f703a..ef5ff2c5 100644 --- a/technologies/mongols-optimized.json +++ b/technologies/mongols-optimized.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/mongols-unified.json b/technologies/mongols-unified.json index 4ff5c010..1aeb9473 100644 --- a/technologies/mongols-unified.json +++ b/technologies/mongols-unified.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/mongols.json b/technologies/mongols.json index d3cf566b..47ae558e 100644 --- a/technologies/mongols.json +++ b/technologies/mongols.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/orderofthedragon-optimized.json b/technologies/orderofthedragon-optimized.json index 9f5d0736..98dddadd 100644 --- a/technologies/orderofthedragon-optimized.json +++ b/technologies/orderofthedragon-optimized.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -1507,55 +1510,57 @@ "variations": [ { "id": "dragon-fire-2", - "baseId": "dragon-fire", - "type": "technology", - "name": "Dragon Fire", "pbgid": 2140414, "attribName": "upgrade_dragon_fire_hre_ha_01", - "age": 2, "civs": [ "od" - ], - "description": "Gilded Spearman torches deal area of effect damage.", - "classes": [ - "spearman", - "technology" - ], - "displayClasses": [ - "Spearman Technology" - ], - "unique": true, - "costs": { - "food": 50, - "wood": 0, - "stone": 0, - "gold": 125, - "vizier": 0, - "oliveoil": 0, - "total": 175, - "popcap": 0, - "time": 30 - }, - "producedBy": [ - "barracks", - "burgrave-palace" - ], - "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", - "effects": [ - { - "property": "unknown", - "select": { - "id": [ - "gilded-spearman" - ] - }, - "effect": "change", - "type": "ability" - } + ] + }, + { + "id": "dragon-fire-3", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "civs": [ + "od" ] } ], - "shared": {} + "baseId": "dragon-fire", + "age": 2, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ], + "shared": { + "dragon-fire-3": { + "name": "Dragon Fire", + "age": 3, + "id": "dragon-fire-3" + } + } }, { "id": "dragon-scale-leather", diff --git a/technologies/orderofthedragon-unified.json b/technologies/orderofthedragon-unified.json index 10f6a257..04a9d014 100644 --- a/technologies/orderofthedragon-unified.json +++ b/technologies/orderofthedragon-unified.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -1535,6 +1538,55 @@ "type": "ability" } ] + }, + { + "id": "dragon-fire-3", + "baseId": "dragon-fire", + "type": "technology", + "name": "Dragon Fire", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "age": 3, + "civs": [ + "od" + ], + "description": "Gilded Spearman torches deal area of effect damage.", + "classes": [ + "spearman", + "technology" + ], + "displayClasses": [ + "Spearman Technology" + ], + "unique": true, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ] } ] }, diff --git a/technologies/orderofthedragon.json b/technologies/orderofthedragon.json index 1318e8c7..093ed71f 100644 --- a/technologies/orderofthedragon.json +++ b/technologies/orderofthedragon.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -1122,6 +1125,55 @@ } ] }, + { + "id": "dragon-fire-3", + "baseId": "dragon-fire", + "type": "technology", + "name": "Dragon Fire", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "age": 3, + "civs": [ + "od" + ], + "description": "Gilded Spearman torches deal area of effect damage.", + "classes": [ + "spearman", + "technology" + ], + "displayClasses": [ + "Spearman Technology" + ], + "unique": true, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ] + }, { "id": "dragon-scale-leather-3", "baseId": "dragon-scale-leather", diff --git a/technologies/orderofthedragon/dragon-fire-3.json b/technologies/orderofthedragon/dragon-fire-3.json new file mode 100644 index 00000000..a9f3d660 --- /dev/null +++ b/technologies/orderofthedragon/dragon-fire-3.json @@ -0,0 +1,49 @@ +{ + "id": "dragon-fire-3", + "baseId": "dragon-fire", + "type": "technology", + "name": "Dragon Fire", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "age": 3, + "civs": [ + "od" + ], + "description": "Gilded Spearman torches deal area of effect damage.", + "classes": [ + "spearman", + "technology" + ], + "displayClasses": [ + "Spearman Technology" + ], + "unique": true, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ] +} \ No newline at end of file diff --git a/technologies/ottomans-optimized.json b/technologies/ottomans-optimized.json index cf1314e6..e86fc229 100644 --- a/technologies/ottomans-optimized.json +++ b/technologies/ottomans-optimized.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/ottomans-unified.json b/technologies/ottomans-unified.json index 9a1e96e8..4ed5bcff 100644 --- a/technologies/ottomans-unified.json +++ b/technologies/ottomans-unified.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/ottomans.json b/technologies/ottomans.json index 8dca9fbd..30817467 100644 --- a/technologies/ottomans.json +++ b/technologies/ottomans.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/rus-optimized.json b/technologies/rus-optimized.json index ca6bcd80..df8d350b 100644 --- a/technologies/rus-optimized.json +++ b/technologies/rus-optimized.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/rus-unified.json b/technologies/rus-unified.json index 389071dd..6e8112bf 100644 --- a/technologies/rus-unified.json +++ b/technologies/rus-unified.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/rus.json b/technologies/rus.json index 266dba36..5ff3c1e1 100644 --- a/technologies/rus.json +++ b/technologies/rus.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/technologies/unified/companion-equipment.json b/technologies/unified/companion-equipment.json index 6a9dd125..2fb18257 100644 --- a/technologies/unified/companion-equipment.json +++ b/technologies/unified/companion-equipment.json @@ -57,33 +57,27 @@ "icon": "https://data.aoe4world.com/images/technologies/companion-equipment-3.png", "effects": [ { - "property": "meleeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "rangedAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "siegeAttack", - "value": 1.2, - "effect": "change", - "type": "passive" - }, - { - "property": "fireAttack", + "property": "hitpoints", + "select": { + "id": [ + "jeannes-champion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" }, { - "property": "hitpoints", + "property": "meleeAttack", + "select": { + "id": [ + "jeannes-companion", + "jeannes-rider" + ] + }, + "effect": "multiply", "value": 1.2, - "effect": "change", "type": "passive" } ] diff --git a/technologies/unified/dragon-fire.json b/technologies/unified/dragon-fire.json index 7568d8ea..78cffa93 100644 --- a/technologies/unified/dragon-fire.json +++ b/technologies/unified/dragon-fire.json @@ -67,6 +67,55 @@ "type": "ability" } ] + }, + { + "id": "dragon-fire-3", + "baseId": "dragon-fire", + "type": "technology", + "name": "Dragon Fire", + "pbgid": 2140414, + "attribName": "upgrade_dragon_fire_hre_ha_01", + "age": 3, + "civs": [ + "od" + ], + "description": "Gilded Spearman torches deal area of effect damage.", + "classes": [ + "spearman", + "technology" + ], + "displayClasses": [ + "Spearman Technology" + ], + "unique": true, + "costs": { + "food": 50, + "wood": 0, + "stone": 0, + "gold": 125, + "vizier": 0, + "oliveoil": 0, + "total": 175, + "popcap": 0, + "time": 30 + }, + "producedBy": [ + "barracks", + "burgrave-palace" + ], + "icon": "https://data.aoe4world.com/images/technologies/dragon-fire-2.png", + "effects": [ + { + "property": "unknown", + "select": { + "id": [ + "gilded-spearman" + ] + }, + "effect": "change", + "type": "ability" + } + ] } ] } \ No newline at end of file diff --git a/technologies/zhuxi-optimized.json b/technologies/zhuxi-optimized.json index 6ce323d1..06102cbb 100644 --- a/technologies/zhuxi-optimized.json +++ b/technologies/zhuxi-optimized.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/zhuxi-unified.json b/technologies/zhuxi-unified.json index 7ad203ca..f340694a 100644 --- a/technologies/zhuxi-unified.json +++ b/technologies/zhuxi-unified.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/technologies/zhuxi.json b/technologies/zhuxi.json index 7487ae86..f1addc22 100644 --- a/technologies/zhuxi.json +++ b/technologies/zhuxi.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/abbasid-optimized.json b/units/abbasid-optimized.json index 82e2688f..4178d742 100644 --- a/units/abbasid-optimized.json +++ b/units/abbasid-optimized.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/abbasid-unified.json b/units/abbasid-unified.json index 8499eba6..9333a449 100644 --- a/units/abbasid-unified.json +++ b/units/abbasid-unified.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/abbasid.json b/units/abbasid.json index b0ce035b..555bbaf4 100644 --- a/units/abbasid.json +++ b/units/abbasid.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/all-optimized.json b/units/all-optimized.json index 2a281fab..754ad874 100644 --- a/units/all-optimized.json +++ b/units/all-optimized.json @@ -11155,7 +11155,7 @@ ], "minAge": 2, "icon": "https://data.aoe4world.com/images/units/bedouin-skirmisher-2.png", - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-skirmisher-2", @@ -11168,7 +11168,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -11267,7 +11267,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ], "shared": {} @@ -11290,7 +11295,7 @@ ], "minAge": 1, "icon": "https://data.aoe4world.com/images/units/bedouin-swordsman-1.png", - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-swordsman-1", @@ -11303,7 +11308,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -11396,7 +11401,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ], "shared": {} @@ -28481,7 +28491,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-champion-3.png", - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-champion-3", @@ -28701,7 +28711,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-rider-3.png", - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-rider-3", diff --git a/units/all-unified.json b/units/all-unified.json index ccadd8e8..7212483d 100644 --- a/units/all-unified.json +++ b/units/all-unified.json @@ -36487,7 +36487,7 @@ ], "minAge": 2, "icon": "https://data.aoe4world.com/images/units/bedouin-skirmisher-2.png", - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-skirmisher-2", @@ -36500,7 +36500,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -36599,7 +36599,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ] }, @@ -36621,7 +36626,7 @@ ], "minAge": 1, "icon": "https://data.aoe4world.com/images/units/bedouin-swordsman-1.png", - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-swordsman-1", @@ -36634,7 +36639,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -36727,7 +36732,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ] }, @@ -65190,7 +65200,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-champion-3.png", - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-champion-3", @@ -65203,7 +65213,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -65310,124 +65320,6 @@ "speed": 1.125 } }, - { - "id": "jeannes-champion-4-2", - "baseId": "jeannes-champion", - "type": "unit", - "name": "Jeanne's Elite Champion", - "pbgid": 2143629, - "attribName": "unit_rally_manatarms_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", - "classes": [ - "heavy", - "melee", - "infantry" - ], - "displayClasses": [ - "Heavy Melee Infantry" - ], - "unique": true, - "costs": { - "food": 160, - "wood": 0, - "stone": 0, - "gold": 40, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-champion-4.png", - "hitpoints": 210, - "weapons": [ - { - "name": "Ax", - "type": "melee", - "damage": 16, - "speed": 1.375, - "range": { - "min": 0, - "max": 0.295 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "spearman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0.75, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 0 - }, - "attribName": "weapon_jeanne_follower_4", - "pbgid": 2144426 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch", - "pbgid": 123518 - } - ], - "armor": [ - { - "type": "melee", - "value": 5 - }, - { - "type": "ranged", - "value": 5 - } - ], - "sight": { - "line": 36, - "height": 10 - }, - "movement": { - "speed": 1.125 - } - }, { "id": "jeannes-champion-4", "baseId": "jeannes-champion", @@ -65439,7 +65331,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -65566,7 +65458,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-rider-3.png", - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-rider-3", @@ -65579,7 +65471,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", @@ -65695,133 +65587,6 @@ "speed": 1.875 } }, - { - "id": "jeannes-rider-4-2", - "baseId": "jeannes-rider", - "type": "unit", - "name": "Jeanne's Elite Rider", - "pbgid": 2143835, - "attribName": "unit_rally_horseman_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", - "classes": [ - "light", - "melee", - "cavalry" - ], - "displayClasses": [ - "Light Melee Cavalry" - ], - "unique": true, - "costs": { - "food": 180, - "wood": 0, - "stone": 0, - "gold": 20, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-rider-4.png", - "hitpoints": 220, - "weapons": [ - { - "name": "Sword", - "type": "melee", - "damage": 17, - "speed": 1.75, - "range": { - "min": 0, - "max": 0.2875 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "crossbowman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - }, - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "siege" - ] - ] - }, - "effect": "change", - "value": 10, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.125 - }, - "attribName": "weapon_jeanne_rider_4", - "pbgid": 2144428 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch_horseman", - "pbgid": 127935 - } - ], - "armor": [ - { - "type": "ranged", - "value": 7 - } - ], - "sight": { - "line": 28, - "height": 10 - }, - "movement": { - "speed": 1.875 - } - }, { "id": "jeannes-rider-4", "baseId": "jeannes-rider", @@ -65833,7 +65598,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", diff --git a/units/all.json b/units/all.json index ecc0683b..66eae46e 100644 --- a/units/all.json +++ b/units/all.json @@ -4298,7 +4298,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -4397,7 +4397,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] }, { "id": "bedouin-swordsman-1", @@ -4410,7 +4415,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -4503,7 +4508,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] }, { "id": "bombard-4", @@ -43220,7 +43230,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -43327,124 +43337,6 @@ "speed": 1.125 } }, - { - "id": "jeannes-champion-4-2", - "baseId": "jeannes-champion", - "type": "unit", - "name": "Jeanne's Elite Champion", - "pbgid": 2143629, - "attribName": "unit_rally_manatarms_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", - "classes": [ - "heavy", - "melee", - "infantry" - ], - "displayClasses": [ - "Heavy Melee Infantry" - ], - "unique": true, - "costs": { - "food": 160, - "wood": 0, - "stone": 0, - "gold": 40, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-champion-4.png", - "hitpoints": 210, - "weapons": [ - { - "name": "Ax", - "type": "melee", - "damage": 16, - "speed": 1.375, - "range": { - "min": 0, - "max": 0.295 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "spearman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0.75, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 0 - }, - "attribName": "weapon_jeanne_follower_4", - "pbgid": 2144426 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch", - "pbgid": 123518 - } - ], - "armor": [ - { - "type": "melee", - "value": 5 - }, - { - "type": "ranged", - "value": 5 - } - ], - "sight": { - "line": 36, - "height": 10 - }, - "movement": { - "speed": 1.125 - } - }, { "id": "jeannes-champion-4", "baseId": "jeannes-champion", @@ -43456,7 +43348,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -43574,7 +43466,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", @@ -43690,133 +43582,6 @@ "speed": 1.875 } }, - { - "id": "jeannes-rider-4-2", - "baseId": "jeannes-rider", - "type": "unit", - "name": "Jeanne's Elite Rider", - "pbgid": 2143835, - "attribName": "unit_rally_horseman_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", - "classes": [ - "light", - "melee", - "cavalry" - ], - "displayClasses": [ - "Light Melee Cavalry" - ], - "unique": true, - "costs": { - "food": 180, - "wood": 0, - "stone": 0, - "gold": 20, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-rider-4.png", - "hitpoints": 220, - "weapons": [ - { - "name": "Sword", - "type": "melee", - "damage": 17, - "speed": 1.75, - "range": { - "min": 0, - "max": 0.2875 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "crossbowman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - }, - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "siege" - ] - ] - }, - "effect": "change", - "value": 10, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.125 - }, - "attribName": "weapon_jeanne_rider_4", - "pbgid": 2144428 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch_horseman", - "pbgid": 127935 - } - ], - "armor": [ - { - "type": "ranged", - "value": 7 - } - ], - "sight": { - "line": 28, - "height": 10 - }, - "movement": { - "speed": 1.875 - } - }, { "id": "jeannes-rider-4", "baseId": "jeannes-rider", @@ -43828,7 +43593,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", diff --git a/units/ayyubids-optimized.json b/units/ayyubids-optimized.json index 17407ba2..565a96fb 100644 --- a/units/ayyubids-optimized.json +++ b/units/ayyubids-optimized.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -555,7 +558,7 @@ ], "minAge": 2, "icon": "https://data.aoe4world.com/images/units/bedouin-skirmisher-2.png", - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-skirmisher-2", @@ -568,7 +571,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -667,7 +670,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ], "shared": {} @@ -690,7 +698,7 @@ ], "minAge": 1, "icon": "https://data.aoe4world.com/images/units/bedouin-swordsman-1.png", - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-swordsman-1", @@ -703,7 +711,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -796,7 +804,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ], "shared": {} diff --git a/units/ayyubids-unified.json b/units/ayyubids-unified.json index 7ad6c9c8..202b9782 100644 --- a/units/ayyubids-unified.json +++ b/units/ayyubids-unified.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -619,7 +622,7 @@ ], "minAge": 2, "icon": "https://data.aoe4world.com/images/units/bedouin-skirmisher-2.png", - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-skirmisher-2", @@ -632,7 +635,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -731,7 +734,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ] }, @@ -753,7 +761,7 @@ ], "minAge": 1, "icon": "https://data.aoe4world.com/images/units/bedouin-swordsman-1.png", - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-swordsman-1", @@ -766,7 +774,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -859,7 +867,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ] }, diff --git a/units/ayyubids.json b/units/ayyubids.json index 7393c4ef..ddf21169 100644 --- a/units/ayyubids.json +++ b/units/ayyubids.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -527,7 +530,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -626,7 +629,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] }, { "id": "bedouin-swordsman-1", @@ -639,7 +647,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -732,7 +740,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] }, { "id": "bombard-4", diff --git a/units/ayyubids/bedouin-skirmisher-2.json b/units/ayyubids/bedouin-skirmisher-2.json index f07a3781..b1b8cada 100644 --- a/units/ayyubids/bedouin-skirmisher-2.json +++ b/units/ayyubids/bedouin-skirmisher-2.json @@ -9,7 +9,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -108,5 +108,10 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } \ No newline at end of file diff --git a/units/ayyubids/bedouin-swordsman-1.json b/units/ayyubids/bedouin-swordsman-1.json index 611bb86f..d6d5a59c 100644 --- a/units/ayyubids/bedouin-swordsman-1.json +++ b/units/ayyubids/bedouin-swordsman-1.json @@ -9,7 +9,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -102,5 +102,10 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } \ No newline at end of file diff --git a/units/byzantines-optimized.json b/units/byzantines-optimized.json index 9fa59b99..5086fa89 100644 --- a/units/byzantines-optimized.json +++ b/units/byzantines-optimized.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/byzantines-unified.json b/units/byzantines-unified.json index b6c5140a..854414dc 100644 --- a/units/byzantines-unified.json +++ b/units/byzantines-unified.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/byzantines.json b/units/byzantines.json index b8b8613a..b63dfb16 100644 --- a/units/byzantines.json +++ b/units/byzantines.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/chinese-optimized.json b/units/chinese-optimized.json index 21c498d6..d2ccaaf9 100644 --- a/units/chinese-optimized.json +++ b/units/chinese-optimized.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/chinese-unified.json b/units/chinese-unified.json index f44933f6..13fef4e6 100644 --- a/units/chinese-unified.json +++ b/units/chinese-unified.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/chinese.json b/units/chinese.json index 9ce59ebe..e9e74c93 100644 --- a/units/chinese.json +++ b/units/chinese.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/delhi-optimized.json b/units/delhi-optimized.json index 3646a763..9c65e108 100644 --- a/units/delhi-optimized.json +++ b/units/delhi-optimized.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/delhi-unified.json b/units/delhi-unified.json index 61c6fc05..d0c21baa 100644 --- a/units/delhi-unified.json +++ b/units/delhi-unified.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/delhi.json b/units/delhi.json index 27e7b08d..c727a9be 100644 --- a/units/delhi.json +++ b/units/delhi.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/english-optimized.json b/units/english-optimized.json index 9e25d005..82672473 100644 --- a/units/english-optimized.json +++ b/units/english-optimized.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/english-unified.json b/units/english-unified.json index 91356a39..d74dd393 100644 --- a/units/english-unified.json +++ b/units/english-unified.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/english.json b/units/english.json index 9e8c3406..09f0c13d 100644 --- a/units/english.json +++ b/units/english.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/french-optimized.json b/units/french-optimized.json index ddb769fd..c2b1a6c1 100644 --- a/units/french-optimized.json +++ b/units/french-optimized.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/french-unified.json b/units/french-unified.json index 42f6c118..e03a1df6 100644 --- a/units/french-unified.json +++ b/units/french-unified.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/french.json b/units/french.json index 92ccf323..a1bca52d 100644 --- a/units/french.json +++ b/units/french.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/hre-optimized.json b/units/hre-optimized.json index 61305d75..f52eeeb3 100644 --- a/units/hre-optimized.json +++ b/units/hre-optimized.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/hre-unified.json b/units/hre-unified.json index fb42d373..b895ea05 100644 --- a/units/hre-unified.json +++ b/units/hre-unified.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/hre.json b/units/hre.json index 064b4936..6483bf02 100644 --- a/units/hre.json +++ b/units/hre.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/japanese-optimized.json b/units/japanese-optimized.json index 7b9d0688..2cbd8b9b 100644 --- a/units/japanese-optimized.json +++ b/units/japanese-optimized.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/japanese-unified.json b/units/japanese-unified.json index 4e0ea13f..113476ef 100644 --- a/units/japanese-unified.json +++ b/units/japanese-unified.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/japanese.json b/units/japanese.json index a41aa1c3..e20162a0 100644 --- a/units/japanese.json +++ b/units/japanese.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/jeannedarc-optimized.json b/units/jeannedarc-optimized.json index 32b8c3dc..c1fcc0c9 100644 --- a/units/jeannedarc-optimized.json +++ b/units/jeannedarc-optimized.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -2846,7 +2849,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-champion-3.png", - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-champion-3", @@ -3066,7 +3069,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-rider-3.png", - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-rider-3", diff --git a/units/jeannedarc-unified.json b/units/jeannedarc-unified.json index 6ccddcbd..d1c5a78e 100644 --- a/units/jeannedarc-unified.json +++ b/units/jeannedarc-unified.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -3003,7 +3006,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-champion-3.png", - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-champion-3", @@ -3016,7 +3019,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -3123,124 +3126,6 @@ "speed": 1.125 } }, - { - "id": "jeannes-champion-4-2", - "baseId": "jeannes-champion", - "type": "unit", - "name": "Jeanne's Elite Champion", - "pbgid": 2143629, - "attribName": "unit_rally_manatarms_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", - "classes": [ - "heavy", - "melee", - "infantry" - ], - "displayClasses": [ - "Heavy Melee Infantry" - ], - "unique": true, - "costs": { - "food": 160, - "wood": 0, - "stone": 0, - "gold": 40, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-champion-4.png", - "hitpoints": 210, - "weapons": [ - { - "name": "Ax", - "type": "melee", - "damage": 16, - "speed": 1.375, - "range": { - "min": 0, - "max": 0.295 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "spearman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0.75, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 0 - }, - "attribName": "weapon_jeanne_follower_4", - "pbgid": 2144426 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch", - "pbgid": 123518 - } - ], - "armor": [ - { - "type": "melee", - "value": 5 - }, - { - "type": "ranged", - "value": 5 - } - ], - "sight": { - "line": 36, - "height": 10 - }, - "movement": { - "speed": 1.125 - } - }, { "id": "jeannes-champion-4", "baseId": "jeannes-champion", @@ -3252,7 +3137,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -3379,7 +3264,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-rider-3.png", - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-rider-3", @@ -3392,7 +3277,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", @@ -3508,133 +3393,6 @@ "speed": 1.875 } }, - { - "id": "jeannes-rider-4-2", - "baseId": "jeannes-rider", - "type": "unit", - "name": "Jeanne's Elite Rider", - "pbgid": 2143835, - "attribName": "unit_rally_horseman_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", - "classes": [ - "light", - "melee", - "cavalry" - ], - "displayClasses": [ - "Light Melee Cavalry" - ], - "unique": true, - "costs": { - "food": 180, - "wood": 0, - "stone": 0, - "gold": 20, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-rider-4.png", - "hitpoints": 220, - "weapons": [ - { - "name": "Sword", - "type": "melee", - "damage": 17, - "speed": 1.75, - "range": { - "min": 0, - "max": 0.2875 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "crossbowman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - }, - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "siege" - ] - ] - }, - "effect": "change", - "value": 10, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.125 - }, - "attribName": "weapon_jeanne_rider_4", - "pbgid": 2144428 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch_horseman", - "pbgid": 127935 - } - ], - "armor": [ - { - "type": "ranged", - "value": 7 - } - ], - "sight": { - "line": 28, - "height": 10 - }, - "movement": { - "speed": 1.875 - } - }, { "id": "jeannes-rider-4", "baseId": "jeannes-rider", @@ -3646,7 +3404,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", diff --git a/units/jeannedarc.json b/units/jeannedarc.json index aa0154f3..bb7c986d 100644 --- a/units/jeannedarc.json +++ b/units/jeannedarc.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { @@ -2589,7 +2592,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -2696,124 +2699,6 @@ "speed": 1.125 } }, - { - "id": "jeannes-champion-4-2", - "baseId": "jeannes-champion", - "type": "unit", - "name": "Jeanne's Elite Champion", - "pbgid": 2143629, - "attribName": "unit_rally_manatarms_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", - "classes": [ - "heavy", - "melee", - "infantry" - ], - "displayClasses": [ - "Heavy Melee Infantry" - ], - "unique": true, - "costs": { - "food": 160, - "wood": 0, - "stone": 0, - "gold": 40, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-champion-4.png", - "hitpoints": 210, - "weapons": [ - { - "name": "Ax", - "type": "melee", - "damage": 16, - "speed": 1.375, - "range": { - "min": 0, - "max": 0.295 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "spearman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0.75, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 0 - }, - "attribName": "weapon_jeanne_follower_4", - "pbgid": 2144426 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch", - "pbgid": 123518 - } - ], - "armor": [ - { - "type": "melee", - "value": 5 - }, - { - "type": "ranged", - "value": 5 - } - ], - "sight": { - "line": 36, - "height": 10 - }, - "movement": { - "speed": 1.125 - } - }, { "id": "jeannes-champion-4", "baseId": "jeannes-champion", @@ -2825,7 +2710,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -2943,7 +2828,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", @@ -3059,133 +2944,6 @@ "speed": 1.875 } }, - { - "id": "jeannes-rider-4-2", - "baseId": "jeannes-rider", - "type": "unit", - "name": "Jeanne's Elite Rider", - "pbgid": 2143835, - "attribName": "unit_rally_horseman_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", - "classes": [ - "light", - "melee", - "cavalry" - ], - "displayClasses": [ - "Light Melee Cavalry" - ], - "unique": true, - "costs": { - "food": 180, - "wood": 0, - "stone": 0, - "gold": 20, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-rider-4.png", - "hitpoints": 220, - "weapons": [ - { - "name": "Sword", - "type": "melee", - "damage": 17, - "speed": 1.75, - "range": { - "min": 0, - "max": 0.2875 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "crossbowman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - }, - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "siege" - ] - ] - }, - "effect": "change", - "value": 10, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.125 - }, - "attribName": "weapon_jeanne_rider_4", - "pbgid": 2144428 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch_horseman", - "pbgid": 127935 - } - ], - "armor": [ - { - "type": "ranged", - "value": 7 - } - ], - "sight": { - "line": 28, - "height": 10 - }, - "movement": { - "speed": 1.875 - } - }, { "id": "jeannes-rider-4", "baseId": "jeannes-rider", @@ -3197,7 +2955,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", diff --git a/units/jeannedarc/jeannes-champion-3.json b/units/jeannedarc/jeannes-champion-3.json index bf76fbf0..e7aaf2a6 100644 --- a/units/jeannedarc/jeannes-champion-3.json +++ b/units/jeannedarc/jeannes-champion-3.json @@ -9,7 +9,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", diff --git a/units/jeannedarc/jeannes-champion-4.json b/units/jeannedarc/jeannes-champion-4.json index 4b582884..81e98830 100644 --- a/units/jeannedarc/jeannes-champion-4.json +++ b/units/jeannedarc/jeannes-champion-4.json @@ -9,7 +9,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", diff --git a/units/jeannedarc/jeannes-rider-3.json b/units/jeannedarc/jeannes-rider-3.json index 4042eaa0..96efb555 100644 --- a/units/jeannedarc/jeannes-rider-3.json +++ b/units/jeannedarc/jeannes-rider-3.json @@ -9,7 +9,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", diff --git a/units/jeannedarc/jeannes-rider-4.json b/units/jeannedarc/jeannes-rider-4.json index 54b6003c..f40e779a 100644 --- a/units/jeannedarc/jeannes-rider-4.json +++ b/units/jeannedarc/jeannes-rider-4.json @@ -9,7 +9,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", diff --git a/units/malians-optimized.json b/units/malians-optimized.json index 1ee47126..d54a3469 100644 --- a/units/malians-optimized.json +++ b/units/malians-optimized.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/malians-unified.json b/units/malians-unified.json index fd9da6ad..01c0004f 100644 --- a/units/malians-unified.json +++ b/units/malians-unified.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/malians.json b/units/malians.json index 2b0e3dee..26db6751 100644 --- a/units/malians.json +++ b/units/malians.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/mongols-optimized.json b/units/mongols-optimized.json index d9cfe0a6..3a53df0a 100644 --- a/units/mongols-optimized.json +++ b/units/mongols-optimized.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/mongols-unified.json b/units/mongols-unified.json index fbd11b65..f6fbccfa 100644 --- a/units/mongols-unified.json +++ b/units/mongols-unified.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/mongols.json b/units/mongols.json index bf1c79cb..d065b49b 100644 --- a/units/mongols.json +++ b/units/mongols.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/orderofthedragon-optimized.json b/units/orderofthedragon-optimized.json index c150ca5c..c2ebe1a1 100644 --- a/units/orderofthedragon-optimized.json +++ b/units/orderofthedragon-optimized.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/orderofthedragon-unified.json b/units/orderofthedragon-unified.json index 9d5fa1e1..86898f30 100644 --- a/units/orderofthedragon-unified.json +++ b/units/orderofthedragon-unified.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/orderofthedragon.json b/units/orderofthedragon.json index f5b0223c..e34b49e5 100644 --- a/units/orderofthedragon.json +++ b/units/orderofthedragon.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/ottomans-optimized.json b/units/ottomans-optimized.json index f2fa639e..7d8f4a16 100644 --- a/units/ottomans-optimized.json +++ b/units/ottomans-optimized.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/ottomans-unified.json b/units/ottomans-unified.json index e8a1272f..c0c38c5b 100644 --- a/units/ottomans-unified.json +++ b/units/ottomans-unified.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/ottomans.json b/units/ottomans.json index 7de04c47..682720f7 100644 --- a/units/ottomans.json +++ b/units/ottomans.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/rus-optimized.json b/units/rus-optimized.json index ba8eb45b..1b0fff35 100644 --- a/units/rus-optimized.json +++ b/units/rus-optimized.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/rus-unified.json b/units/rus-unified.json index bf57d81e..3b3bfeb5 100644 --- a/units/rus-unified.json +++ b/units/rus-unified.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/rus.json b/units/rus.json index e06a629b..069fb868 100644 --- a/units/rus.json +++ b/units/rus.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/units/unified/bedouin-skirmisher.json b/units/unified/bedouin-skirmisher.json index 7f0d50f0..26d02a59 100644 --- a/units/unified/bedouin-skirmisher.json +++ b/units/unified/bedouin-skirmisher.json @@ -18,7 +18,7 @@ ], "minAge": 2, "icon": "https://data.aoe4world.com/images/units/bedouin-skirmisher-2.png", - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-skirmisher-2", @@ -31,7 +31,7 @@ "civs": [ "ay" ], - "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry", + "description": "Ranged infantry wielding a javelin to fend off lightly armored enemies.\n+ Bonus against light infantry\n+ Long Range\n- Weak against cavalry\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "ranged", @@ -130,7 +130,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ] } \ No newline at end of file diff --git a/units/unified/bedouin-swordsman.json b/units/unified/bedouin-swordsman.json index e8043485..b886c116 100644 --- a/units/unified/bedouin-swordsman.json +++ b/units/unified/bedouin-swordsman.json @@ -18,7 +18,7 @@ ], "minAge": 1, "icon": "https://data.aoe4world.com/images/units/bedouin-swordsman-1.png", - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "variations": [ { "id": "bedouin-swordsman-1", @@ -31,7 +31,7 @@ "civs": [ "ay" ], - "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units", + "description": "Master Swordsman who excels in melee combat\n+ Bonus vs Melee units\n- Weak to ranged units\n\nRequires the Trade Wing - Bazaar", "classes": [ "light", "melee", @@ -124,7 +124,12 @@ }, "movement": { "speed": 1.25 - } + }, + "unlockedBy": [ + "technologies/feudal-trade-wing-bazaar", + "technologies/castle-trade-wing-bazaar", + "technologies/imperial-trade-wing-bazaar" + ] } ] } \ No newline at end of file diff --git a/units/unified/jeannes-champion.json b/units/unified/jeannes-champion.json index bf51fde4..aed3fe76 100644 --- a/units/unified/jeannes-champion.json +++ b/units/unified/jeannes-champion.json @@ -18,7 +18,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-champion-3.png", - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-champion-3", @@ -31,7 +31,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", @@ -138,124 +138,6 @@ "speed": 1.125 } }, - { - "id": "jeannes-champion-4-2", - "baseId": "jeannes-champion", - "type": "unit", - "name": "Jeanne's Elite Champion", - "pbgid": 2143629, - "attribName": "unit_rally_manatarms_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", - "classes": [ - "heavy", - "melee", - "infantry" - ], - "displayClasses": [ - "Heavy Melee Infantry" - ], - "unique": true, - "costs": { - "food": 160, - "wood": 0, - "stone": 0, - "gold": 40, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-champion-4.png", - "hitpoints": 210, - "weapons": [ - { - "name": "Ax", - "type": "melee", - "damage": 16, - "speed": 1.375, - "range": { - "min": 0, - "max": 0.295 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "spearman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0.75, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 0 - }, - "attribName": "weapon_jeanne_follower_4", - "pbgid": 2144426 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch", - "pbgid": 123518 - } - ], - "armor": [ - { - "type": "melee", - "value": 5 - }, - { - "type": "ranged", - "value": 5 - } - ], - "sight": { - "line": 36, - "height": 10 - }, - "movement": { - "speed": 1.125 - } - }, { "id": "jeannes-champion-4", "baseId": "jeannes-champion", @@ -267,7 +149,7 @@ "civs": [ "je" ], - "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen", + "description": "Tough infantry that excels at countering Spearmen.\n+ High armor\n+ Bonus damage against Spearmen\n- Slow move speed\n- Countered by Knights, Lancers, and Crossbowmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "heavy", "melee", diff --git a/units/unified/jeannes-rider.json b/units/unified/jeannes-rider.json index beaebed7..60df9d57 100644 --- a/units/unified/jeannes-rider.json +++ b/units/unified/jeannes-rider.json @@ -18,7 +18,7 @@ ], "minAge": 3, "icon": "https://data.aoe4world.com/images/units/jeannes-rider-3.png", - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "variations": [ { "id": "jeannes-rider-3", @@ -31,7 +31,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", @@ -147,133 +147,6 @@ "speed": 1.875 } }, - { - "id": "jeannes-rider-4-2", - "baseId": "jeannes-rider", - "type": "unit", - "name": "Jeanne's Elite Rider", - "pbgid": 2143835, - "attribName": "unit_rally_horseman_4_fre_ha_01", - "age": 4, - "civs": [ - "je" - ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", - "classes": [ - "light", - "melee", - "cavalry" - ], - "displayClasses": [ - "Light Melee Cavalry" - ], - "unique": true, - "costs": { - "food": 180, - "wood": 0, - "stone": 0, - "gold": 20, - "vizier": 0, - "oliveoil": 0, - "total": 200, - "popcap": 1, - "time": 15 - }, - "producedBy": [ - "keep", - "red-palace" - ], - "icon": "https://data.aoe4world.com/images/units/jeannes-elite-rider-4.png", - "hitpoints": 220, - "weapons": [ - { - "name": "Sword", - "type": "melee", - "damage": 17, - "speed": 1.75, - "range": { - "min": 0, - "max": 0.2875 - }, - "modifiers": [ - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "crossbowman" - ] - ] - }, - "effect": "change", - "value": 9, - "type": "passive" - }, - { - "property": "meleeAttack", - "target": { - "class": [ - [ - "siege" - ] - ] - }, - "effect": "change", - "value": 10, - "type": "passive" - } - ], - "durations": { - "aim": 0, - "windup": 0.5, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.125 - }, - "attribName": "weapon_jeanne_rider_4", - "pbgid": 2144428 - }, - { - "name": "Torch", - "type": "fire", - "damage": 10, - "speed": 2.125, - "range": { - "min": 0, - "max": 1.25 - }, - "modifiers": [], - "durations": { - "aim": 0, - "windup": 0.75, - "attack": 0.125, - "winddown": 0, - "reload": 0, - "setup": 0, - "teardown": 0, - "cooldown": 1.25 - }, - "attribName": "weapon_torch_horseman", - "pbgid": 127935 - } - ], - "armor": [ - { - "type": "ranged", - "value": 7 - } - ], - "sight": { - "line": 28, - "height": 10 - }, - "movement": { - "speed": 1.875 - } - }, { "id": "jeannes-rider-4", "baseId": "jeannes-rider", @@ -285,7 +158,7 @@ "civs": [ "je" ], - "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen", + "description": "Fast cavalry effective at raiding, flanking, and countering Crossbowmen.\n+ High movement speed\n+ Bonus damage against Crossbowmen\n- Weak against melee units\n- Countered by Spearmen\n\nUpgrades to Elite when Jeanne reaches level 4.", "classes": [ "light", "melee", diff --git a/units/zhuxi-optimized.json b/units/zhuxi-optimized.json index 9723b7fe..8341a3db 100644 --- a/units/zhuxi-optimized.json +++ b/units/zhuxi-optimized.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/zhuxi-unified.json b/units/zhuxi-unified.json index ba81cdc4..0b02c316 100644 --- a/units/zhuxi-unified.json +++ b/units/zhuxi-unified.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/units/zhuxi.json b/units/zhuxi.json index 4ae72832..f800b4a4 100644 --- a/units/zhuxi.json +++ b/units/zhuxi.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/abbasid-optimized.json b/upgrades/abbasid-optimized.json index ccb45497..c99b0d36 100644 --- a/upgrades/abbasid-optimized.json +++ b/upgrades/abbasid-optimized.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/abbasid-unified.json b/upgrades/abbasid-unified.json index 4fd7f44b..5d1cf84b 100644 --- a/upgrades/abbasid-unified.json +++ b/upgrades/abbasid-unified.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/abbasid.json b/upgrades/abbasid.json index f205b2c5..1503b3fd 100644 --- a/upgrades/abbasid.json +++ b/upgrades/abbasid.json @@ -5,7 +5,10 @@ "name": "Abbasid Dynasty", "abbr": "ab", "slug": "abbasid", - "attribName": "abbasid" + "attribName": "abbasid", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/ayyubids-optimized.json b/upgrades/ayyubids-optimized.json index ab91c997..86dc46ba 100644 --- a/upgrades/ayyubids-optimized.json +++ b/upgrades/ayyubids-optimized.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/ayyubids-unified.json b/upgrades/ayyubids-unified.json index 7eec3f46..414a3c37 100644 --- a/upgrades/ayyubids-unified.json +++ b/upgrades/ayyubids-unified.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/ayyubids.json b/upgrades/ayyubids.json index e340d128..6219e073 100644 --- a/upgrades/ayyubids.json +++ b/upgrades/ayyubids.json @@ -5,7 +5,10 @@ "name": "Ayyubids", "abbr": "ay", "slug": "ayyubids", - "attribName": "abbasid_ha_01" + "attribName": "abbasid_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/byzantines-optimized.json b/upgrades/byzantines-optimized.json index 0f5c6b70..1ef6ce03 100644 --- a/upgrades/byzantines-optimized.json +++ b/upgrades/byzantines-optimized.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/byzantines-unified.json b/upgrades/byzantines-unified.json index f24af5ac..2a155764 100644 --- a/upgrades/byzantines-unified.json +++ b/upgrades/byzantines-unified.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/byzantines.json b/upgrades/byzantines.json index e1c8b7f2..40da7082 100644 --- a/upgrades/byzantines.json +++ b/upgrades/byzantines.json @@ -5,7 +5,10 @@ "name": "Byzantines", "abbr": "by", "slug": "byzantines", - "attribName": "byzantine" + "attribName": "byzantine", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/chinese-optimized.json b/upgrades/chinese-optimized.json index 7b48b29a..12ec5c5f 100644 --- a/upgrades/chinese-optimized.json +++ b/upgrades/chinese-optimized.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/chinese-unified.json b/upgrades/chinese-unified.json index 5fe34cea..747e866d 100644 --- a/upgrades/chinese-unified.json +++ b/upgrades/chinese-unified.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/chinese.json b/upgrades/chinese.json index 06526814..15f3692b 100644 --- a/upgrades/chinese.json +++ b/upgrades/chinese.json @@ -5,7 +5,10 @@ "name": "Chinese", "abbr": "ch", "slug": "chinese", - "attribName": "chinese" + "attribName": "chinese", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/delhi-optimized.json b/upgrades/delhi-optimized.json index d20ad3ae..b75c3d66 100644 --- a/upgrades/delhi-optimized.json +++ b/upgrades/delhi-optimized.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/delhi-unified.json b/upgrades/delhi-unified.json index b5bc0f43..c6f4d8b3 100644 --- a/upgrades/delhi-unified.json +++ b/upgrades/delhi-unified.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/delhi.json b/upgrades/delhi.json index 20c2f46f..da6b9334 100644 --- a/upgrades/delhi.json +++ b/upgrades/delhi.json @@ -5,7 +5,10 @@ "name": "Delhi Sultanate", "abbr": "de", "slug": "delhi", - "attribName": "sultanate" + "attribName": "sultanate", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/english-optimized.json b/upgrades/english-optimized.json index 104305f0..84253088 100644 --- a/upgrades/english-optimized.json +++ b/upgrades/english-optimized.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/english-unified.json b/upgrades/english-unified.json index 808d43b2..e70de339 100644 --- a/upgrades/english-unified.json +++ b/upgrades/english-unified.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/english.json b/upgrades/english.json index bf8608d5..6d885ba2 100644 --- a/upgrades/english.json +++ b/upgrades/english.json @@ -5,7 +5,10 @@ "name": "English", "abbr": "en", "slug": "english", - "attribName": "english" + "attribName": "english", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/french-optimized.json b/upgrades/french-optimized.json index 5d694742..0f0fcd3d 100644 --- a/upgrades/french-optimized.json +++ b/upgrades/french-optimized.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/french-unified.json b/upgrades/french-unified.json index 0849771a..582c63c9 100644 --- a/upgrades/french-unified.json +++ b/upgrades/french-unified.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/french.json b/upgrades/french.json index 365a2522..c0ca6a17 100644 --- a/upgrades/french.json +++ b/upgrades/french.json @@ -5,7 +5,10 @@ "name": "French", "abbr": "fr", "slug": "french", - "attribName": "french" + "attribName": "french", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/hre-optimized.json b/upgrades/hre-optimized.json index 647d302c..202aa5f7 100644 --- a/upgrades/hre-optimized.json +++ b/upgrades/hre-optimized.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/hre-unified.json b/upgrades/hre-unified.json index db4d7bf2..f541b55b 100644 --- a/upgrades/hre-unified.json +++ b/upgrades/hre-unified.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/hre.json b/upgrades/hre.json index 47050540..ea3fa9e3 100644 --- a/upgrades/hre.json +++ b/upgrades/hre.json @@ -5,7 +5,10 @@ "name": "Holy Roman Empire", "abbr": "hr", "slug": "hre", - "attribName": "hre" + "attribName": "hre", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/japanese-optimized.json b/upgrades/japanese-optimized.json index 7971ba20..4ed260b8 100644 --- a/upgrades/japanese-optimized.json +++ b/upgrades/japanese-optimized.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/japanese-unified.json b/upgrades/japanese-unified.json index 6fef8bff..84685043 100644 --- a/upgrades/japanese-unified.json +++ b/upgrades/japanese-unified.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/japanese.json b/upgrades/japanese.json index 8c3790ac..d71dcf65 100644 --- a/upgrades/japanese.json +++ b/upgrades/japanese.json @@ -5,7 +5,10 @@ "name": "Japanese", "abbr": "ja", "slug": "japanese", - "attribName": "japanese" + "attribName": "japanese", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/jeannedarc-optimized.json b/upgrades/jeannedarc-optimized.json index 64d8442c..c92771e6 100644 --- a/upgrades/jeannedarc-optimized.json +++ b/upgrades/jeannedarc-optimized.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/jeannedarc-unified.json b/upgrades/jeannedarc-unified.json index f433bd97..bd74261c 100644 --- a/upgrades/jeannedarc-unified.json +++ b/upgrades/jeannedarc-unified.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/jeannedarc.json b/upgrades/jeannedarc.json index b445fc0b..a63bb071 100644 --- a/upgrades/jeannedarc.json +++ b/upgrades/jeannedarc.json @@ -5,7 +5,10 @@ "name": "Jeanne d'Arc", "abbr": "je", "slug": "jeannedarc", - "attribName": "french_ha_01" + "attribName": "french_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/malians-optimized.json b/upgrades/malians-optimized.json index b8f35c89..7ad60454 100644 --- a/upgrades/malians-optimized.json +++ b/upgrades/malians-optimized.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/malians-unified.json b/upgrades/malians-unified.json index a6fa46dc..8d85e3f5 100644 --- a/upgrades/malians-unified.json +++ b/upgrades/malians-unified.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/malians.json b/upgrades/malians.json index 027f6d5b..7f7d9cd2 100644 --- a/upgrades/malians.json +++ b/upgrades/malians.json @@ -5,7 +5,10 @@ "name": "Malians", "abbr": "ma", "slug": "malians", - "attribName": "malian" + "attribName": "malian", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/mongols-optimized.json b/upgrades/mongols-optimized.json index 2f5cf6f7..14447c6f 100644 --- a/upgrades/mongols-optimized.json +++ b/upgrades/mongols-optimized.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/mongols-unified.json b/upgrades/mongols-unified.json index f2c4ead7..45027bcd 100644 --- a/upgrades/mongols-unified.json +++ b/upgrades/mongols-unified.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/mongols.json b/upgrades/mongols.json index 3608f41d..4832ca9d 100644 --- a/upgrades/mongols.json +++ b/upgrades/mongols.json @@ -5,7 +5,10 @@ "name": "Mongols", "abbr": "mo", "slug": "mongols", - "attribName": "mongol" + "attribName": "mongol", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/orderofthedragon-optimized.json b/upgrades/orderofthedragon-optimized.json index 634f0d8e..ba2a3f0c 100644 --- a/upgrades/orderofthedragon-optimized.json +++ b/upgrades/orderofthedragon-optimized.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/orderofthedragon-unified.json b/upgrades/orderofthedragon-unified.json index 4c68a4b2..98bd91f1 100644 --- a/upgrades/orderofthedragon-unified.json +++ b/upgrades/orderofthedragon-unified.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/orderofthedragon.json b/upgrades/orderofthedragon.json index 9c63bf63..6c3ca1bc 100644 --- a/upgrades/orderofthedragon.json +++ b/upgrades/orderofthedragon.json @@ -5,7 +5,10 @@ "name": "Order of the Dragon", "abbr": "od", "slug": "orderofthedragon", - "attribName": "hre_ha_01" + "attribName": "hre_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/ottomans-optimized.json b/upgrades/ottomans-optimized.json index fa4fc18b..e32c9fa7 100644 --- a/upgrades/ottomans-optimized.json +++ b/upgrades/ottomans-optimized.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/ottomans-unified.json b/upgrades/ottomans-unified.json index 6974019d..64985b36 100644 --- a/upgrades/ottomans-unified.json +++ b/upgrades/ottomans-unified.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/ottomans.json b/upgrades/ottomans.json index 7a77421d..0917782b 100644 --- a/upgrades/ottomans.json +++ b/upgrades/ottomans.json @@ -5,7 +5,10 @@ "name": "Ottomans", "abbr": "ot", "slug": "ottomans", - "attribName": "ottoman" + "attribName": "ottoman", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/rus-optimized.json b/upgrades/rus-optimized.json index 116275a2..d1c4c298 100644 --- a/upgrades/rus-optimized.json +++ b/upgrades/rus-optimized.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/rus-unified.json b/upgrades/rus-unified.json index daf3f3cc..bbd2094b 100644 --- a/upgrades/rus-unified.json +++ b/upgrades/rus-unified.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/rus.json b/upgrades/rus.json index 6519e618..eb64dcf4 100644 --- a/upgrades/rus.json +++ b/upgrades/rus.json @@ -5,7 +5,10 @@ "name": "Rus", "abbr": "ru", "slug": "rus", - "attribName": "rus" + "attribName": "rus", + "expansion": [ + "base" + ] }, "data": [ { diff --git a/upgrades/zhuxi-optimized.json b/upgrades/zhuxi-optimized.json index c15b6181..df8e44b9 100644 --- a/upgrades/zhuxi-optimized.json +++ b/upgrades/zhuxi-optimized.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/zhuxi-unified.json b/upgrades/zhuxi-unified.json index 7b9dfc55..88c8e463 100644 --- a/upgrades/zhuxi-unified.json +++ b/upgrades/zhuxi-unified.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ { diff --git a/upgrades/zhuxi.json b/upgrades/zhuxi.json index 70b91db6..d6f2f1da 100644 --- a/upgrades/zhuxi.json +++ b/upgrades/zhuxi.json @@ -5,7 +5,10 @@ "name": "Zhu Xi's Legacy", "abbr": "zx", "slug": "zhuxi", - "attribName": "chinese_ha_01" + "attribName": "chinese_ha_01", + "expansion": [ + "sultans-ascend" + ] }, "data": [ {