diff --git a/data/data.json b/data/data.json index 439ea4d..e506929 100644 --- a/data/data.json +++ b/data/data.json @@ -2270,6 +2270,8 @@ "1233": "UniqueUnit", "1234": "UniqueUnit", "1236": "UniqueUnit", + "1252": "UniqueUnit", + "1253": "UniqueUnit", "1254": "UniqueUnit", "1255": "UniqueUnit", "1258": "Unit", @@ -2294,6 +2296,8 @@ "1709": "UniqueUnit", "1735": "UniqueUnit", "1737": "UniqueUnit", + "1738": "UniqueUnit", + "1740": "UniqueUnit", "1741": "UniqueUnit", "1743": "UniqueUnit", "1744": "RegionalUnit", @@ -24731,6 +24735,14 @@ "age": 4, "id": 1134 }, + { + "age": 3, + "id": 1738 + }, + { + "age": 4, + "id": 1740 + }, { "age": 3, "id": 1744 @@ -27015,6 +27027,14 @@ "age": 3, "id": 1105 }, + { + "age": 3, + "id": 1252 + }, + { + "age": 4, + "id": 1253 + }, { "age": 3, "id": 1254 @@ -51263,4 +51283,4 @@ ] } } -} \ No newline at end of file +} diff --git a/img/Units/1252.png b/img/Units/1252.png new file mode 100644 index 0000000..628bd3f Binary files /dev/null and b/img/Units/1252.png differ diff --git a/img/Units/1253.png b/img/Units/1253.png new file mode 100644 index 0000000..75cf379 Binary files /dev/null and b/img/Units/1253.png differ diff --git a/img/Units/1738.png b/img/Units/1738.png new file mode 100644 index 0000000..1f9d771 Binary files /dev/null and b/img/Units/1738.png differ diff --git a/img/Units/1740.png b/img/Units/1740.png new file mode 100644 index 0000000..162212c Binary files /dev/null and b/img/Units/1740.png differ diff --git a/js/techtree.js b/js/techtree.js index 2ce9e9f..5f55b30 100644 --- a/js/techtree.js +++ b/js/techtree.js @@ -113,20 +113,13 @@ const ARCHER = 4; const HAND_CANNONEER = 5; const ELITE_SKIRMISHER = 6; const SKIRMISHER = 7; -const LONGBOWMAN = 8; -const MANGUDAI = 11; const FISHING_SHIP = 13; const TRADE_COG = 17; const WAR_GALLEY = 21; const CROSSBOWMAN = 24; -const TEUTONIC_KNIGHT = 25; const BOMBARD_CANNON = 36; const KNIGHT = 38; const CAVALRY_ARCHER = 39; -const CATAPHRACT = 40; -const HUSKARL = 41; -const JANISSARY = 46; -const CHU_KO_NU = 73; const MILITIA = 74; const MAN_AT_ARMS = 75; const LONG_SWORDSMAN = 77; @@ -136,15 +129,10 @@ const MONK = 125; const TRADE_CART = 128; const SLINGER = 185; const IMPERIAL_CAMEL_RIDER = 207; -const WOAD_RAIDER = 232; -const WAR_ELEPHANT = 239; const LONGBOAT = 250; const SCORPION = 279; const MANGONEL = 280; -const THROWING_AXEMAN = 281; -const MAMELUKE = 282; const CAVALIER = 283; -const SAMURAI = 291; const CAMEL_RIDER = 329; const HEAVY_CAMEL_RIDER = 330; const TREBUCHET = 331; @@ -162,93 +150,37 @@ const ARBALESTER = 492; const DEMOLITION_SHIP = 527; const HEAVY_DEMO_SHIP = 528; const FIRE_SHIP = 529; -const ELITE_LONGBOWMAN = 530; -const ELITE_THROWING_AXEMAN = 531; const FAST_FIRE_SHIP = 532; const ELITE_LONGBOAT = 533; -const ELITE_WOAD_RAIDER = 534; const GALLEY = 539; const HEAVY_SCORPION = 542; const TRANSPORT_SHIP = 545; const LIGHT_CAVALRY = 546; const SIEGE_RAM = 548; const ONAGER = 550; -const ELITE_CATAPHRACT = 553; -const ELITE_TEUTONIC_KNIGHT = 554; -const ELITE_HUSKARL = 555; -const ELITE_MAMELUKE = 556; -const ELITE_JANISSARY = 557; -const ELITE_WAR_ELEPHANT = 558; -const ELITE_CHU_KO_NU = 559; -const ELITE_SAMURAI = 560; -const ELITE_MANGUDAI = 561; const CHAMPION = 567; const PALADIN = 569; const SIEGE_ONAGER = 588; const ELITE_CANNON_GALLEON = 691; -const BERSERK = 692; -const ELITE_BERSERK = 694; -const JAGUAR_WARRIOR = 725; -const ELITE_JAGUAR_WARRIOR = 726; const EAGLE_SCOUT = 751; const ELITE_EAGLE_WARRIOR = 752; const EAGLE_WARRIOR = 753; -const TARKAN = 755; -const ELITE_TARKAN = 757; -const PLUMED_ARCHER = 763; -const ELITE_PLUMED_ARCHER = 765; -const CONQUISTADOR = 771; -const ELITE_CONQUISTADOR = 773; const MISSIONARY = 775; -const WAR_WAGON = 827; -const ELITE_WAR_WAGON = 829; const TURTLE_SHIP = 831; const ELITE_TURTLE_SHIP = 832; -const GENOESE_CROSSBOWMAN = 866; -const ELITE_GENOESE_CROSSBOWMAN = 868; -const MAGYAR_HUSZAR = 869; -const ELITE_MAGYAR_HUSZAR = 871; const ELEPHANT_ARCHER = 873; const ELITE_ELEPHANT_ARCHER = 875; -const BOYAR = 876; -const ELITE_BOYAR = 878; -const KAMAYUK = 879; -const ELITE_KAMAYUK = 881; const CONDOTTIERO = 882; -const ORGAN_GUN = 1001; -const ELITE_ORGAN_GUN = 1003; const CARAVEL = 1004; const ELITE_CARAVEL = 1006; -const CAMEL_ARCHER = 1007; -const ELITE_CAMEL_ARCHER = 1009; const GENITOUR = 1010; const ELITE_GENITOUR = 1012; -const GBETO = 1013; -const ELITE_GBETO = 1015; -const SHOTEL_WARRIOR = 1016; -const ELITE_SHOTEL_WARRIOR = 1018; const FIRE_GALLEY = 1103; const DEMOLITION_RAFT = 1104; const SIEGE_TOWER = 1105; -const BALLISTA_ELEPHANT = 1120; -const ELITE_BALLISTA_ELEPHANT = 1122; -const KARAMBIT_WARRIOR = 1123; -const ELITE_KARAMBIT_WARRIOR = 1125; -const ARAMBAI = 1126; -const ELITE_ARAMBAI = 1128; -const RATTAN_ARCHER = 1129; -const ELITE_RATTAN_ARCHER = 1131; const BATTLE_ELEPHANT = 1132; const ELITE_BATTLE_ELEPHANT = 1134; const IMPERIAL_SKIRMISHER = 1155; -const KONNIK = 1225; -const ELITE_KONNIK = 1227; -const KESHIK = 1228; -const ELITE_KESHIK = 1230; -const KIPCHAK = 1231; -const ELITE_KIPCHAK = 1233; -const LEITIS = 1234; -const ELITE_LEITIS = 1236; const DISMOUNTED_KONNIK = 1252; const DISMOUNTED_ELITE_KONNIK = 1253; const KONNIK_2 = 1254; @@ -259,20 +191,14 @@ const DRAGON_FIRE_SHIP = 1302; const STEPPE_LANCER = 1370; const ELITE_STEPPE_LANCER = 1372; const XOLOTL_WARRIOR = 1570; -const COUSTILLIER = 1655; -const ELITE_COUSTILLIER = 1657; -const SERJEANT = 1658; -const ELITE_SERJEANT = 1659; const DSERJEANT = 1660; const ELITE_DSERJEANT = 1661; const FLEMISHPIKEMAN = 1699; -const OBUCH = 1701; -const ELITE_OBUCH = 1703; -const HUSSITE_WAGON = 1704; -const ELITE_HUSSITE_WAGON = 1706; const WINGED_HUSSAR = 1707; const HOUFNICE = 1709; const FOLWARK = 1734; +const RATHA_MELEE = 1738; +const ELITE_RATHA_MELEE = 1740; const ARMORED_ELEPHANT = 1744; const SIEGE_ELEPHANT = 1746; const THIRISADAI = 1750; @@ -305,38 +231,23 @@ const LIU_BEI = 1966; const JIAN_SWORDSMAN = 1974; const SUN_JIAN = 1978; -const YEOMEN = 3; -const EL_DORADO = 4; -const FUROR_CELTICA = 5; -const DRILL = 6; -const MAHOUTS = 7; const TOWN_WATCH = 8; -const ZEALOTRY = 9; -const ARTILLERY = 10; -const CRENELLATIONS = 11; const CROP_ROTATION = 12; const HEAVY_PLOW = 13; const HORSE_COLLAR = 14; const GUILDS = 15; -const ANARCHY = 16; const BANKING = 17; -const ATHEISM = 21; const LOOM = 22; const COINAGE = 23; -const GARLAND_WARS = 24; const HUSBANDRY = 39; const FAITH = 45; const DEVOTION = 46; const CHEMISTRY = 47; const CARAVAN = 48; -const BERSERKERGANG = 49; const MASONRY = 50; const ARCHITECTURE = 51; -const ROCKETRY = 52; const TREADMILL_CRANE = 54; const GOLD_MINING = 55; -const KATAPARUTO = 59; -const LOGISTICA = 61; const KEEP_TECH = 63; const BOMBARD_TOWER_TECH = 64; const GILLNETS = 65; @@ -349,7 +260,6 @@ const PLATE_MAIL_ARMOR = 77; const PLATE_BARDING_ARMOR = 80; const SCALE_BARDING_ARMOR = 81; const CHAIN_BARDING_ARMOR = 82; -const BEARDED_AXE = 83; const BALLISTICS = 93; const FEUDAL_AGE = 101; const CASTLE_AGE = 102; @@ -393,68 +303,9 @@ const PARTHIAN_TACTICS = 436; const THUMB_RING = 437; const THEOCRACY = 438; const HERESY = 439; -const SUPREMACY = 440; const HERBAL_MEDICINE = 441; -const SHINKICHON = 445; -const PERFUSION = 457; -const ATLATL = 460; -const WARWOLF = 461; -const GREAT_WALL = 462; -const CHIEFTAINS = 463; -const GREEK_FIRE = 464; -const STRONGHOLD = 482; -const MARAUDERS = 483; -const YASAMA = 484; -const OBSIDIAN_ARROWS = 485; -const PANOKSEON = 486; -const NOMADS = 487; -const KAMANDARAN = 488; -const IRONCLAD = 489; -const MADRASAH = 490; -const SIPAHI = 491; -const INQUISITION = 492; -const CHIVALRY = 493; -const PAVISE = 494; -const SILK_ROAD = 499; -const SULTANS = 506; -const SHATAGNI = 507; -const ORTHODOXY = 512; -const DRUZHINA = 513; -const CORVINIAN_ARMY = 514; -const RECURVE_BOW = 515; -const ANDEAN_SLING = 516; -const FABRIC_SHIELDS = 517; -const CARRACK = 572; -const ARQUEBUS = 573; -const ROYAL_HEIRS = 574; -const TORSION_ENGINES = 575; -const TIGUI = 576; -const FARIMBA = 577; -const KASBAH = 578; -const MAGHRABI_CAMELS = 579; const ARSON = 602; const ARROWSLITS = 608; -const TUSK_SWORDS = 622; -const DOUBLE_CROSSBOW = 623; -const THALASSOCRACY = 624; -const FORCED_LEVY = 625; -const HOWDAH = 626; -const MANIPUR_CAVALRY = 627; -const CHATRAS = 628; -const PAPER_MONEY = 629; -const STIRRUPS = 685; -const BAGAINS = 686; -const SILK_ARMOR = 687; -const TIMURID_SIEGECRAFT = 688; -const STEPPE_HUSBANDRY = 689; -const CUMAN_MERCENARIES = 690; -const HILL_FORTS = 691; -const TOWER_SHIELDS = 692; -const SUPPLIES = 716; -const BURGUNDIAN_VINEYARDS = 754; -const FLEMISH_REVOLUTION = 755; -const FIRST_CRUSADE = 756; -const SCUTAGE = 757; const GAMBESONS = 875; const DOMESTICATION = 1014; const PASTORALISM = 1013; @@ -973,6 +824,17 @@ function getDefaultTree() { tree.lanes.push(walllane); + let krepostlane = new Lane(); + krepostlane.rows.castle_1.push(building(KREPOST)); + krepostlane.rows.castle_2.push(uniqueunit(DISMOUNTED_KONNIK)); + krepostlane.rows.castle_2.push(uniqueunit(KONNIK_2)); + krepostlane.rows.castle_2.push(uniqueunit(RATHA_MELEE)); + krepostlane.rows.imperial_1.push(uniqueunit(DISMOUNTED_ELITE_KONNIK)); + krepostlane.rows.imperial_1.push(uniqueunit(ELITE_KONNIK_2)); + krepostlane.rows.imperial_1.push(uniqueunit(ELITE_RATHA_MELEE)); + tree.lanes.push(krepostlane); + + let castlelane = new Lane(); castlelane.rows.castle_1.push(building(CASTLE)); castlelane.rows.castle_2.push(new Caret(TYPES.UNIQUEUNIT, UNIQUE_UNIT, UNIQUE_UNIT)); @@ -991,13 +853,6 @@ function getDefaultTree() { tree.lanes.push(castlelane); - let krepostlane = new Lane(); - krepostlane.rows.castle_1.push(building(KREPOST)); - krepostlane.rows.castle_2.push(uniqueunit(KONNIK_2)); - krepostlane.rows.imperial_1.push(uniqueunit(ELITE_KONNIK_2)); - tree.lanes.push(krepostlane); - - let donjonlane = new Lane(); donjonlane.rows.dark_1.push(building(DONJON)); donjonlane.rows.feudal_1.push(uniqueunit(DSERJEANT)); @@ -1239,7 +1094,9 @@ function getConnections() { [b(CASTLE), t(CONSCRIPTION)], [b(CASTLE), t(SPIES_TREASON)], [b(KREPOST), u(KONNIK_2)], + [u(DISMOUNTED_KONNIK), u(DISMOUNTED_ELITE_KONNIK)], [u(KONNIK_2), u(ELITE_KONNIK_2)], + [u(RATHA_MELEE), u(ELITE_RATHA_MELEE)], [b(DONJON), u(DSERJEANT)], [u(DSERJEANT), u(ELITE_DSERJEANT)], [b(DONJON), u(DSPEARMAN)],