Skip to main content

Age of Empires II: Definitive Edition – Update 185872

Welcome fellow Age of Empires II: Definitive Edition players! This time we are sailing the seas, raiding the shores and earning our place in Valhalla with a Viking-themed content update. Seek shelter under the new Scandinavian architecture set, raid and plunder enemy shores with the new Varangian Guard infantry, and revolutionize medieval warfare with the addition of the Mounted Crossbowman regional unit available to 12 existing European civilizations!

The newest DLC, The Viking Sagas, is available now! But changes aren’t only coming from the north! We are charting a course through a boatload of new content, bringing down the hammer on bugs, and making quality of life improvements– including an AI and pathfinding rework!

Here are some of the big highlights coming with this month’s update:

  • New Varangian Guards and Mounted Crossbowmen Regional Units.
  • Longboats are renamed Longships and are now available for Vikings, Danes, Saxons and Varangians.
  • New architecture set for Danes, Varangians, and Vikings.
  • New ship animations, regional wildlife and terrain elements.
  • New voice lines for Byzantines.
  • Core pathfinding mechanics updates and AI enhancements.
  • New Arabian Desert map.
  • Improved Multiplayer Lobbies file transfer speeds.

Be sure to dig down into the post below to get all of the smaller details before hopping in-game and checking them out firsthand. See you all on the battlefield, Til bardaga!



Thanks again to our amazing community members, all of whom have helped to make Age of Empires what it is today!

—The Age of Empires Team


Please note that custom mods may not be compatible with the latest game update. If you are experiencing issues launching or playing the game after downloading the new build, try disabling your installed mods before trying again.

Still having trouble? Visit our support site!


Game

Stability & Performance

  • Fixed a bug forcing the Player’s PC to occasionally use the integrated GPU rather than the dedicated GPU.
  • Fixed a bug preventing The Mountain Royals and Victors and Vanquished campaign progress from being stored in the Cloud.
  • Fixed a bug on the Windows Store version hiding campaign progress and medals on startup until any campaign scenario was played and completed by the player.
  • Fixed a crash happening on the Windows Store version related to DLC ownership and Campaign Scenarios.
  • Fixed a crash happening occasionally when switching through tabs in the Options menu.
  • Fixed a crash happening on the post-game Statistics screen.
  • Fixed a crash happening upon attempting to close the game when in the Player Profile screen.
  • Fixed a crash happening when subscribing or refreshing certain Mods.
  • Fixed an issue that prevented Players on the Microsoft Store from accessing certain Campaigns despite owning the related DLC.
  • Fixed a crash happening occasionally on PlayStation when hovering with the mouse cursor over the “Select Civilization” text in the Multiplayer lobby.
  • Fixed a crash happening occasionally when advancing to scenario 3 of Chronicles: Battle for Greece.

Graphics

  • Added sail animations for (Elite) Longships.
  • Added oars animation for Fire Galleys.
  • Updated Pineapple Bush graphic textures to be more saturated.
  • Fixed the texture blurriness on Chinese Castle graphics.
  • Replaced a corrupted frame in Siege Tower destruction animation.

Audio

  • Added new Greek language unit voice lines for the Byzantine civilization.
  • Adjusted the Narration accessibility option’s timing to better focus on the most important piece of information on screen.
  • Fixed a bug causing the Microphone selected for Voice Chat to stop working after leaving the Settings tab.
  • Fixed a bug causing the Narration accessibility option to loop upon some features in the Clan menu.
  • Fixed a bug causing the Narration accessibility option to read Multiplayer Custom Lobbies’ Player count as a date or a fraction.
  • Fixed a bug causing the Narration accessibility option not to read button inputs during Campaign Slideshow Cinematics.
  • Fixed a bug causing the Narration accessibility option not to read button inputs in The Last Chieftains Campaign Menu.
  • Fixed Market’s Buy/Sell sound effects being inverted.
  • Fixed a bug causing the Narration to repeat a tooltip description when hovering over ‘Change Image’ in the Clan Settings.

UI

  • Added new icons for Andean Fortified Towers and Wooden Forts.
  • Improved text spacing in the Decision panels for The Three Kingdoms and The Last Chieftains campaign menus.
  • Fishing Ships tooltips now properly mention Whales among the gatherable resources.
  • Fixed a bug affecting Spectators interface showing [Custom] label on every type of message during gameplay.
  • Fixed a bug causing Archery Range to appear as unlockable via an upgrade on the Technology Tree page after switching between civilizations using the dropdown menu.
  • Fixed a bug causing Flares not to appear on Economy and Combat Mini-Map.
  • Fixed a bug causing incorrect Medals appearing when fully completing a Campaign.
  • Fixed a bug causing wrong Civilizations to show up when using the Search Bar in the Civilization Selection Menu.
  • Fixed a bug having Chinese Technology Tree Preview displaying wrong items at the Dock.
  • Fixed a bug having Huns Technology Tree incorrectly displaying Fast Fire ship as available at the Dock.
  • Fixed a bug having Khitans Technology Tree incorrectly displaying Siphons and Incendiaries technologies as available at the University.
  • Fixed a bug having Mapuche Technology Tree incorrectly displaying Architecture technology as unavailable at the University
  • Fixed a bug preventing players from alphabetically filtering Civilizations by typing the initial letter in the Civilization Selection Menu’s Search Bar.
  • Fixed a bug where Arrowslits technology was missing from the future items display at the University for Tupi.
  • Fixed an issue where the amount of powered up units was displayed incorrectly if more than one effect was applied to the same unit.
  • Fixed Spectators interface showing the wrong recipient for direct chat messages (Colored dots for direct messages, asterisk for messages to “All” players).
  • Fixed the map selection excluding some Nomad-style maps upon selecting the “Nomad” filter in the Map Pool menu.
  • Fixed a bug preventing some tooltips to not display after entering More Content menu
  • Fixed a bug showing an incorrect tooltip when hovering in the Chronicles campaign dropdown.
  • Fixed a bug that showed an incorrect error message when trying to join a Chronicles game lobby.
  • Fixed a bug that prevented the selected civilization to be highlighted when the corresponding letter was pressed on the keyboard.
  • Fixed a bug in all Chronicles campaign screens that occasionally led to additional scrolling when selecting a scenario.
  • Added missing icons of unique units in the tech tree of Chronicles: Alexander The Great.
  • Fixed a bug causing additional upgrade information being displayed in the unit tooltips of the Tech Tree Preview of Chronicles: Battle For Greece.
  • Fixed a bug preventing automatic scrolling in the Chronicles campaign screen when holding down a control stick direction or d-pad button.
  • Fixed a bug in the Chronicles campaign screen that truncated the timeline date and location tooltip when using the Border Safe Margin option.
  • Fixed a bug that prevented AI player icons to show within a lobby or when loading into a game or on the results page.
  • Fixed a bug that prevented to switch between Chronicles campaign only using the keyboard.
  • Fixed a bug that showed The Levy line upgrade for Paragon with a red mark indicating it was not available for the civilization even if it was available for the selected civilization.
  • Removed the mention of Infantry increasing movement speed from the Siege Tower’s tooltip to reflect a previous balance change.
  • Technologies that affect other players in the game or have major one-time effects (Atheism, Butalmapu, Cuman Mercenaries, First Crusade, Flemish Revolution, Kasbah) now display notifications in Display Instructions trigger style (top center of the screen and with an icon).
  • Trade Cogs in 100% wood trading mode no longer display 0 carried gold when returning the resources.
  • Updated icons of several random maps to be more accurate.
  • Updated Technology Tree legend color palette.
  • Updated Tips for several Civilizations to reflect balance and Technology Tree changes.
  • Villagers gathering Oysters will now show up under a dedicated villager category when toggling the Economy map.
  • Villagers with a bonus to gather a secondary resource now display the second resource on the UI
  • Fixed an issue where the scroll bar image on the Help Index screen would become cut off on consoles if scrolled to the bottom of the page.

Settings

  • Improved ‘Right Click Garrison’ under Game Settings: replaced the checkbox with a dropdown menu which includes ‘Off’, ‘Alt Click Garrison’ and ‘On’ settings.

Hotkeys

  • Added a “Set Gather Point” hotkey for Settlements.
  • Fixed a bug making the “Select All Idle Military Units” hotkey to also select non-idle units.
  • Fixed a bug making the Spearman Line upgrade hotkey at the Donjon to overlap with the Spearman Line creation hotkey.
  • Fixed a bug preventing Armenian players to train Warrior Priests via hotkey when at least one Villager was garrisoned inside a Fortified Church.
  • Fixed ALT+Right Click behavior for Villagers when “Right Click Garrison” is active: the Villager will now try to repair the target building only if it is not at full HP.
  • “Go to Outpost” default hotkey changed to CTRL + J to avoid the overlap with the Go to Castle default hotkey.
  • Added a “Create Cow” hotkey at the mill in scenario 04 of Chronicles: Alexander The Great.

Multiplayer

  • Fixed a bug making Players’ Block Lists to reset if the Players turned crossplay off and back on again.
  • Fixed a bug where Players couldn’t send invites if the Host left while they were joining a lobby.
  • Fixed an issue causing chat logs to behave inconsistently between different platforms during Crossplay games.
  • Redesigned the lobby file transfer indicator to appear as a spinner next to the player names instead of a progress bar.
  • Lobby file transfer statuses are now shown for all players.
  • Significantly improved download/upload speeds of lobby file transfers in restored or custom game lobbies.
  • Spectators who start observing a game before it has started will no longer be kicked at game start if the game mode is a custom map and the host changes the custom map after the spectator has joined.

Xbox

  • Added a tooltip to the Gamercard button in the Player search menu.
  • Added Map Seed visibility in the Objectives tab during Skirmishes.
  • Dravidian Unique Ship Thirisadai can now be selected by tapping the Naval Quick Find button.
  • Fixed a bug causing AI players icons to appear black during the Loading Screen and Results Page.
  • Fixed a bug causing the yellow cursor on the Technology Tree to behave inconsistently upon hovering over certain tiles.
  • Fixed a bug causing multiple identical chat messages sent in Ranked and Quick Play pre-game lobbies to appear only once.
  • Fixed a bug where a single stuck Villager would cause all other Villagers assigned to the same task to stop working when using the Villager Priority System.
  • Fixed a crash related to Player Colored Range indicators’ rendering.
  • Fixed a text formatting issue in Return of Rome Campaign scenarios’ names.
  • Fixed an issue preventing Kreposts from appearing in the Quick Find radial menu.
  • Fixed Sicilian Donjons not having an option to assign Spearmen to the quick creation shortcut button (Y)
  • Fixed a bug causing Randomize Settings to select a Battle Royale map for Console users.
  • Improved the Recent Players list filtering when Crossplay is enabled and disabled.
  • Mitigated a crash happening when trying to start Skirmish matches.
  • Mitigated missing sprites when playing large games.
  • Now exiting a Campaign cinematic correctly brings the Player back on the last selected Scenario instead of defaulting to the last available scenario of the campaign.
  • Prevented chats from previous games from being displayed when a new Multiplayer match is found.
  • Removed incorrect descriptions from the Villager Priorities Help Index Documentation.
  • Removed unnecessary UI Button callouts from Multiplayer Lobbies.

PlayStation

  • Added Map Seed visibility in the Objectives tab during Skirmishes.
  • Dravidian Unique Ship Thirisadai can now be selected by tapping the Naval Quick Find button.
  • Fixed a bug causing AI players icons to appear black during the Loading Screen and Results Page.
  • Fixed a bug causing multiple identical chat messages sent in Ranked and Quick Play pre-game lobbies to appear only once.
  • Fixed a bug causing an error message to appear when navigating the Store page for The Last Chieftains via the Civilization Selection Menu.
  • Fixed a bug causing the yellow cursor on the Technology Tree to behave inconsistently upon hovering over certain tiles.
  • Fixed a bug where a single stuck Villager would cause all other Villagers assigned to the same task to stop working when using the Villager Priority System.
  • Fixed a crash happening when playing with Mouse and Keyboard and hovering around the top area of the Civilization Selection Menu in Multiplayer lobbies.
  • Fixed a crash related to Player Colored Range indicators’ rendering.
  • Fixed a text formatting issue in Return of Rome Campaign scenarios’ names.
  • Fixed an issue preventing Kreposts from appearing in the Quick Find radial menu.
  • Fixed Sicilian Donjons not having an option to assign Spearmen to the quick creation shortcut button (Triangle).
  • Fixed some performance-related crashes.
  • Fixed some elements of the Multiplayer Lobby UI going out of their intended boundaries.
  • Fixed a bug causing Randomize Settings to select a Battle Royale map for Console users.
  • Fixed a bug causing some mods not to download.
  • Improved the Recent Players list filtering when Crossplay is enabled and disabled.
  • Improved visibility in the Options menu.
  • Now exiting a Campaign cinematic correctly brings the Player back on the last selected Scenario instead of defaulting to the last available scenario of the campaign.
  • Prevented chats from previous games from being displayed when a new Multiplayer match is found.
  • Removed incorrect descriptions from the Villager Priorities Help Index Documentation.
  • Removed unnecessary UI Button callouts from Multiplayer Lobbies.

Gameplay

General

  • Fixed an issue where Fishing Ships could wander across the entire map in their pursuit of sweet tasty fish.
  • Game folders for AI are created automatically, simplifying the process of installing AI mods from external sources.
  • Improved Mapuche Settlements Smart Queue when producing units from several buildings at once.
  • Fixed an issue where players Campaign Persistent progress was not saved if a player previously dismissed the prompt to “Overwrite Choices” and selected “No” from the Chronicles campaign screen.

New Units and Technology

With The Viking Sagas Mounted Crossbowmen are added to the game, replacing Cavalry Archers for most European civilizations, which can also be upgraded with the new Cranequins technology!

Mounted Crossbowman – Mounted Archer with powerful but slow attack.

Cranequins – Mounted Crossbowmen +1 range; +2 attack vs. Infantry.

Varangian Guard – Powerful Shock Infantry that generates gold when fighting other units. Affected by the Gambesons upgrade.

  • Renamed Longboat to Longship.

Fixes

  • Fixed a bug allowing players to unload units past gaps and other obstacles using Siege Towers
  • Fixed a bug causing Champi Scouts trained in Dark Age to be set on Stand Ground stance by default instead of the Player’s desired stance.
  • Fixed a bug causing Gold Miners and Hunters to be unable to deposit resources after changing their assigned job.
  • Fixed a bug causing Lou Chuans to lose their bonus damage against all ships after researching the Chinese Unique Technology Rocketry.
  • Fixed a bug causing Ordo Cavalry to damage the Player’s own units when attacking instead of healing them.
  • Fixed a bug causing Rathas to change their right-clicked target upon switching between Melee and Ranged modes.
  • Fixed a bug causing unbuilt building Foundations to prevent players from building upon them.
  • Fixed a bug causing Villager not showing as idle when blocked from finishing a task.
  • Fixed an issue in Return of Rome where villagers were not able to attack predators that don’t contain food.
  • Fixed an issue in Return of Rome preventing players from pressing the Spectate button, always showing it greyed out.
  • Fixed an issue preventing Mods from automatically updating when launching the game.
  • Fixed an issue preventing Mods from showing whether a new update is indeed available after pressing the “Check For Updates” button.
  • Fixed an issue where “woof woof” cheat effect did not apply to several bird types.
  • Fox kills are no longer counted in post-game units killed statistics.
  • Prevented Players from funneling unpushable huntable animals (like Chickens) into Town Centers.
  • Trade profit in post-game statistics now displays the sum of all resources obtained from trading, not only gold.
  • Fixed a bug allowing Chronicles civilizations to build Champi line units when full tech tree is enabled.
  • Fixed an issue where Campaign progress was not saved if a player previously dismissed the prompt to “Overwrite Choices” and selected “No” from the Chronicles campaign screen.

Campaign

Art of War

  • Defending Against a Rush:
    • Fixed enemies not attacking the player’s Villagers on the northern side of the map.
    • Fixed enemy Militias from attacking the Player’s base if the Player built a Blacksmith as a barrier near the flagged area.
  • Fast Castle Age:
    • Fixed a bug that made the Objective to kill a Boar impossible to complete if the player killes both Boars on the map before the Objective is assigned.

Campaign Missions

  • Arariboia 4:Up In Smoke’:
    • Fixed an issue where Nicolas Durand’s trained Heavy Crossbowmen could spawn into blocked areas between Wooden Forts and Gunpowder Kegs.
  • Attila 2: ‘The Great Ride’:
    • Player is no longer able to capture the Scythian army by getting it into line of sight without completing the secondary objective.
  • Bari 3:Loose Ends’:
    • Varangian Guard civilization changed from Vikings to Varangians.
  • Chronicles: Alexander The Great: Scenario 11, ‘ The Battle of Gaugamela’.
    • Alexander will no longer repeat a the same dialogue.
  • Chronicles: Alexander The Great: Scenario 04, ‘ Right to Rule’
    • Trained cows at the mill do not count towards total population count anymore and they are able to be trained when at population cap.
  • Edward Longshanks 1: ‘Vain Ambition’:
    • The Castle in Hereford now uses Frankish castle graphics.
  • Edward Longshanks 3: ‘Of Castles and Kings’:
    • Replaced Dafydd ap Gruffydd’s Cavalry Archers with Mounted Crossbowmen.
  • El Cid 1: ‘Brother Against Brother’:
    • King Alfonso’s Army will no longer try to capture all the relics on the map.
  • El Dorado 5: ‘The Golden King’:
    • Fixed an issue that allowed the ambush cooldown to be instantly reset as the Ambush Hideout got destroyed during the ambush activation.
    • Fixed an issue that caused ambushes not to generate properly under certain circumstances.
  • Hautevilles 3: ‘Bohemond and the Emperor’:
    • Replaced Alexios Komnenos’s Elite Berserks with Elite Varangian Guards.
  • Historical Battles: ‘York’:
    • Wessex civilization changed from Goths to Saxons.
    • Replaced starting Huskarls and Throwing Axemen with Berserks.
  • Historical Battles: ‘Hastings’:
    • Harold the Saxon, Harold’s Raiders, Saxon Navy civilizations changed from Goths to Saxons.
    • Replaced all Huskarls with Hearth Troops.
    • Replaced Harold the Saxon’s Bombard Towers with Watch Tower-line.
    • Harald Hardrada hero unit, Elite Berserks and Longships after the ownership change now benefit from researched by the player infantry and naval technologies.
    • Assigned new icons to be displayed for Harald Hardrada’s and Harold the Saxon’s dialogues.
  • Jan Zizka 1: ‘The One-Eyed Wanderer’:
    • Disabled all Warships and related to them technologies in the Dock.
    • Replaced Cavalry Archers guarding the supply carts of Rozmberk Forces with Mounted Crossbowmen.
  • Jadwiga 5: ‘Vytautas’ Crusade’:
    • Disabled all Warships, Trade Cogs and non-fishing technologies at the Dock to reflect the Hint stating that Fishing Ships are the only water units available for the Player.
  • Jadwiga 6: ‘The Fruits of Her Labor’:
    • Disabled all Warships, Trade Cogs and non-fishing technologies at the Dock to reflect the Hint stating that Fishing Ships are the only water units available for the Player.
  • Joan of Arc 6: ‘A Perfect Martyr’:
    • Flags with enemy player color now properly disappear upon claiming territories.
  • Liu Bei 5: ‘The Battle of Red Cliffs’:
    • Now repairing Zhou Yu’s Demolition Ships and completing the wind ritual is enough to incinerate Cao Cao’s Fleet.
  • Montezuma 2: ‘The Triple Alliance’:
    • Players can no longer boost the statistics of more than 10 Jaguar Warriors by ungarrisoning them from Rams close to the temple.
  • Rajendra 5: ‘Slaying the Vritra’:
    • Now the allied player Suryavarman (Green) helps the player by building docks and transport ships.
  • Sun Clan 2: ‘The Conquest of Jiangdong’:
    • Fixed a bug making the Orange allied units at the start to disappear if the Player moved camera away from the initial scene.
  • Sun Clan 5: ‘The Battle of Red Cliffs’:
    • Fixed an issue where Dragon Ships could not be trained.
  • Tamar 4: ‘Tamar the Builder’:
    • The stance of Alexios towards Zakarian Brothers is now correctly set to ally.
  • Victors and Vanquished: ‘Charlemagne’:
    • Saxons civilization changed from Goths to Saxons.
    • Defeating the Saxons now provides Saxons Unique Technologies.
  • Victors and Vanquished: ‘Drake’:
    • Replaced Natives’ Iroquois Warriors with Blackwood Archers and Ibirapema Warriors.
  • Victors and Vanquished: ‘Finehair’:
    • Players can now train Varangian Guards instead of Huskarls.
    • Danes civilization changed from Vikings to Danes.
    • Replaced Danes’ Berserks with Jomsvikings and Varangian Guards.
    • Can now only train Elite Boyars at the Krepost in the east.
    • ‘Feast’ Unique Technologies updated: Garland Wars, Wootz Steel, and Kshatriyas replaced with Hamask, Gothikon, and Shield Wall.
    • Odin’s Falcon replaced with a Raven.
    • Player now receives units sooner during opening sequence.
    • Hulk disabled.
  • Victors and Vanquished: ‘Karlsefni’:
    • Transport Ships restored to 100 hit points for the scenario.
    • Seals are now huntable in northern islands.
    • Fire Galleys and Hulks disabled.
  • Victors and Vanquished: ‘Komnenos’:
    • Imperial Legionaries now receive +1 pierce armor when Gambesons researched.
    • Renamed Varangians to Varangian Berserks.
  • Victors and Vanquished: ‘Nobunaga’:
    • Otomo Missionaries can no longer deposit Relics into Monasteries.
  • Victors and Vanquished: ‘Otto’:
    • Tribute is now 5x more effective at improving vassal loyalty.
    • Killing enemy units is now 2x more effective at improving vassal loyalty.
    • Razing enemy buildings is now 5x more effective at improving vassal loyalty.
    • Vassals with large armies now decrease vassal loyalty more rapidly.
  • Victors and Vanquished: ‘Ragnar’:
    • Improved the spawn point of the Northumbria player’s Teutonic Knights, preventing them from becoming stuck.
    • Improved hotkey assignment for units trained in the Warrior’s Hall building.
    • Players can now train Varangian Guards instead of Huskarls.
    • Previous Blot bonuses and prayer bonuses that applied to Huskarls now apply to Varangian Guards.
    • Transport Ships now begin with 20 carrying capacity.
    • Transport Ships restored to 100 hit points for the scenario.
    • Wessex and Anglia civilization changed from Britons to Saxons.
    • Wessex and Anglia now train Hearth Troops and archers instead of Serjeants and Longbowmen.
    • Replaced all Serjeants with Hearth Troops.
    • Replaced all Saami Slingers with Elite Skirmishers.
    • You can now lose the scenario if you own no buildings or military units.
    • Enemy Priests updated to Monks with Viking skin.
  • Victors and Vanquished: ‘Seljuk’:
    • Replaced Byzantine Huskarls with Varangian Guards.
  • Victors and Vanquished: ‘Stephen’:
    • Earl Ranulf of Chester now uses Britons architecture; civilization renamed to Normans.
    • Henry of Winchester can now collect Relics without changing name and unit stats.
  • Victors and Vanquished: ‘Temujin’:
    • Great Jin civilization changed from Chinese to Jurchen.
    • Khamag Mongol Priest updated to Monk with Mongol shaman skin.
    • AI enemies will no longer attack your Yurt dropsite.
  • Victors and Vanquished: ‘Vortigern’:
    • Saxon recruitment time reduced.
    • Recruiting Saxons now provides Hearth Troops instead of Huskarls.
    • Saxons civilization changed from Vikings to Saxons.
    • Adjusted spawn rate of Picts to reduce northern threat.
  • Victors and Vanquished: ‘Xie An’:
    • Bombard Towers enabled.

Balance Changes

General

  • With The Viking Sagas Mounted Crossbowmen are added to the game, replacing Cavalry Archers for most European civilizations, which can also be upgraded with the new Cranequins technology!
  • Infantry
    • Man-at-Arms bonus damage vs. Shock Infantry increased from +2 → +3.
    • Long Swordsman bonus damage vs. Shock Infantry increased from +6 → +8.
    • Two-handed Swordsman bonus damage vs. Shock Infantry increased from +8 → +9.
    • Champion bonus damage vs. Shock Infantry increased from +8 → +9.
    • Eagle Scout train time reduced from 50 seconds → 46 seconds.
  • Siege
    • Battering Ram-line line of sight increased from 3 → 5.
    • Armored Elephant-line line of sight increased from 4 → 6.
    • Siege Tower line of sight reduced from 8 → 6.
    • Onager attack increased from 50 → 55.
    • Onager pierce armor increased from 7 → 8.
  • Naval
    • Demolition Ship upgrade cost reduced from 50 wood 100 gold, 50 seconds → 25 wood 75 gold, 20 seconds.
    • Hulk-line melee armor reduced from 4/5/6 → 3/4/5
    • Hulk HP reduced from 90 → 85.
    • War Hulk HP reduced from 115 → 110.
    • Lou Chuan bonus damage vs. Buildings reduced from +230 → +180.
    • Fire Galley bonus damage vs. Buildings reduced from 1 → 0.
  • Fortified Church build time increased from 40 seconds → 50 seconds.

Armenians

  • Gain access to Treadmill Crane.

Bengalis

  • Ratha train time increased from 20 seconds → 24 seconds (Elite unchanged).
  • Lose access to Treadmill Crane.

Bohemians

  • (Elite) Hussite Wagon cost increased from 110 wood 70g → 110 wood 80 gold.
  • Wagenburg Tactics movement speed for Gunpowder Units effect reduced from 15% → 10%.
  • Gain access to Mounted Crossbowmen.
  • Lose access to Treadmill Crane.

Britons

  • Gain access to (Heavy) Mounted Crossbowmen.
  • Gain access to Cranequins.
  • Lose access to (Heavy) Cavalry Archers.

Burgundians

  • Flemish Militia cost increased from 30 food 25 gold → 35 food 25 gold.
  • Feudal Age Flemish Militia train time increased from 14 seconds → 16 seconds.
  • Gain access to Mounted Crossbowmen.
  • Lose access to Cavalry Archers.

Byzantines

  • Gain access to (Elite) Varangian Guards.
  • (Elite) Cataphract bonus damage vs. Infantry increased from 9 → 13, Elite 12 → 18.
  • Logistica effect changed from Cataphracts deal trample damage, +6 vs. Infantry → Cataphracts and Varangian guards deal trample damage.

Celts

  • Gain access to (Heavy) Mounted Crossbowmen.
  • Lose access to (Heavy) Cavalry Archers.
  • Lose access to Treadmill Crane.

Chinese

  • Lose access to Heavy Cavalry Archer upgrade.

Danes

  • Added with The Viking Sagas DLC! The Danes focus on Infantry and Siege.

Franks

  • (Elite) Throwing Axeman range increased from 3 → 5, Elite 4 → 6.
  • Bearded Axe unique technology removed.
  • NEW: Ordonnance Companies (Castle Age):
    • Effect: Mounted Crossbowmen cost -40% gold.
    • Cost: 400 food 250 gold, 40 seconds.
  • Gain access to Treadmill Crane.
  • Gain access to (Heavy) Mounted Crossbowmen.
  • Gain access to Cranequins.
  • Lose access to (Heavy) Cavalry Archers.

Goths

  • Gain access to Treadmill Crane.

Gurjaras

  • Docks +5 garrison capacity civilization bonus removed.

Huns

  • Atheism now applies Wonder and Relic victory timer increase only to enemy and neutral players.
  • Atheism victory timer increase can now stack if the technology was researched more than once in the game.
  • Atheism now applies the Relic income reduction effect also to the players neutral to the Hun player.

Italians

  • Gain access to Mounted Crossbowmen.
  • Lose access to Cavalry Archers.

Jurchens

  • Grenadier cost changed from 35 food 65 gold → 55 food 50 gold.

Koreans

  • Lose access to Gambesons.
  • Turtle Ship HP reduced from 275 → 260.

Magyars

  • Magyar Huszar train time increased from 12 seconds → 18 seconds (Elite unchanged).

Mapuche

  • (Elite) Bolas Rider cost increased from 45 wood 50 gold → 50 wood 55 gold.

Muisca

  • Temple Guard attack reduced from 12 → 11 (Elite unchanged).

Poles

  • Gain access to (Heavy) Mounted Crossbowmen.
  • Lose access to (Heavy) Cavalry Archers.

Portuguese

  • Lose access to Redemption.
  • Organ Gun train time increased from 25 seconds → 28 seconds (Elite unchanged).
  • Gain access to Mounted Crossbowmen.
  • Lose access to Cavalry Archers.

Saracens

  • Lose access to Treadmill Crane.

Saxons

  • Added with The Viking Sagas DLC! The Saxons focus on Infantry and Defenses.

Shu

  • War Chariot cost increased from 65 food 90 gold → 75 food 90 gold.
  • War Chariot train time increased from 28 → 32 seconds.
  • Gain access to Treadmill Crane.

Sicilians

  • Gain access to (Heavy) Mounted Crossbowmen.
  • Gain access to Cranequins.
  • Lose access to Cavalry Archers.

Spanish

  • (Elite) Conquistador cost increased from 70 food 60 gold → 75 food 60 gold.
  • Conquistador train time increased from 24 → 26 seconds (Elite unchanged).
  • Missionary cost increased from 100 gold → 30 food 100 gold.
  • Gain access to (Heavy) Mounted Crossbowmen.
  • Lose access to (Heavy) Cavalry Archers.

Teutons

  • Stable and Barracks units +1/+2 melee armor in Castle/Imperial Age civilization bonus changed → Infantry and Mounted Units +1/+2 melee armor in Castle/Imperial Age.
  • Elite Teutonic Knight melee armor reduced from 10 → 8 (unchanged with civilization bonus).
  • Gain access to (Heavy) Mounted Crossbowmen.
  • Lose access to Cavalry Archers.

Tupi

  • (Elite) Blackwood Archer cost increased from 35 wood 45 gold → 40 wood 45 gold.

Varangians

  • Added with The Viking Sagas DLC! The Varangians focus on Cavalry and Navy.

Vietnamese

  • Gain access to Masonry.
  • Archery Range units and Fire Lancers +20% HP civilization bonus changed → Foot-Archers and Skirmishers +20% HP.
  • (Elite) Rattan Archer base HP reduced from 40 → 35, Elite 45 → 40.
  • Elite Rattan upgrade reduced from 1000 food 750 gold → 800 food 750 gold

Vikings

  • Chieftains effect no longer generates gold when Infantry units defeat Villagers, Trade Units, and Monks.
  • Lose access to Gambesons.
  • Gain access to Varangian Guards.
  • Gain access to Mounted Crossbowmen.
  • Lose access to Cavalry Archers.
  • Lose access to (Elite) Cannon Galleons
  • Gain access to Catapult Galleons

Wei

  • Xianbei Raider cost increased from 65 wood 25 gold → 65 wood 35 gold.

Random Maps

New Map

Arabian Desert

An arid, brutal, and unforgiving battlefield. The open landscape holds only a few forests and scarce resources, leaving little shelter from enemy raids.

  • A more open and competitive version of Arabia drawing heavy inspiration from the King of the Desert tournament.

Map Balance

  • Aftermath
    • Players now start with the intended by the map design partially destroyed Stone Walls regardless of the starting settings in the game.
    • Gates are now instantly destroyed at the game start without visible destruction animations.
  • Amazon Tunnel
    • Fixed nearby forests not generating when playing with unusual team setups.
  • Arena
    • Fixed players sometimes spawning with unintended additional resources inside their walls.
    • Fixed gold deposits sometimes failing to generate.
    • Removed the chance of small huntable animals generating.
  • Black Forest
    • The ponds have received a 50% size increase.
    • Fixed an issue where some players would sometimes spawn with a neabry pond, while other players would not.
  • BR El Dorado
    • Changed the building graphics to Andean set by setting the gaia civilization to Muisca.
  • Dorothea Quarry
    • Fixed lumberjacks not always generating in the correct number when playing Empire Wars.
  • Fortified Clearing
    • Increased the forest coverage on larger map sizes.
  • Glacis
    • Ensured starting mills always generate next to the shallows when playing Empire Wars.
    • The flags now use generic flag graphics.
  • Graupel
    • Fixed the game modes King of the Hill and Capture the Relic being unplayable due to player’s being immediately defeated at game start.
  • Hengehold
    • Fixed an issue where units would sometimes get stuck on the Stonehenge object.
    • Fixed lumber camps sometimes not generating near forests, resulting in an incorrect number of lumberjacks generating when playing Empire Wars.
    • The map now only generates one large huntable animal per player in the center of the map.
  • Land Nomad
    • Added more variety in the map themes.
    • Players now spawn with one herdable close to one of their starting villagers.
    • Player’s starting villagers now generate more consistently spaced across the map, ensuring all players have roughly the same walking distance.
    • Gold and stone deposits are more evenly spread out across the map.
    • Forage bush clusters now appear on the map.
    • Relics are more evenly distributed across the map.
    • Relics now scale more appropriately across map sizes.
    • Updated the map visuals.
  • Pilgrims
    • Fixed players starting with a monastery, when not playing Capture the Relic.
    • Fixed placeholder terrains sometimes being visible in the water.
    • Fixed the map not generating appropriately when playing with fewer than two players.
  • Ring Fortress
    • The fortified palisade walls have been replaced by fort walls.
    • Fixed dead fish trap graphics sometimes showing up under or around the player’s starting town center.
    • Added two huntable animals for all players.
    • Added a group of small huntable animals for all players.
    • Neutral huntable animals have been replaced by small huntable animals.
    • Added neutral skulks of foxes.
    • Removed neutral groups of forage bushes.
    • Decreased the amount of gold and stone on the map.
    • All resources are now more evenly spaced across the map.
    • Relics are more evenly distributed across the map.
    • Relics now scale more appropriately across map sizes.
    • Updated the map visuals.
  • Runestones
    • Added new Runestones eye candy objects scattered on the map.
  • Seasons
    • Fixed forests not generating correctly when playing with more than two players.
    • Improved seasonal differences on generation.
  • Thames
    • Forests are now smaller, but more evenly distributed on the map.
    • The Royal Albert Hall has been replaced by a more generic monument.
    • The shape of the river is now more consistent on both sides of the map.
    • More crossings now appear across the river.
    • The monument building is now more consistently placed between players.
    • There’s now more open space surrounding the monument.
  • Vulpine
    • Decreased the chance of villagers spawning inside forage bushes or other objects when playing Empire Wars.
    • Fixed a graphical bug when playing with King of the Hill or Capture the Relic enabled.

Random Map Scripting

  • The chance check when choosing an object from an object group is no longer inverted.
  • Fixed an issue where the map type defined in ai_info_map_type parameter was not being considered by AI.
  • Fixed an issue where GAIA effect_amount commands from generated in editor random maps were carried over into the next game in the same session.
  • Updated and fixed constants in random_map.def file:
    • Expanded the map constants from 41 legacy declarations to all 194 current map entries.
    • Corrected some existing map constants that used obsolete or incorrect IDs and removed legacy constants that no longer correspond to any maps.
    • Fixed ATTR_ICON_GRAPHICS_ANGLE being incorrectly defined as ATTR_UPGRADE_GRAPHIC.
    • Fixed ATTR_REMOVE_ATTACK_TYPE being incorrectly defined as ATTR_REMOVE_ARMOR_TYPE.
    • Added unit class constants.

Additions

Added new terrains
  • Forest, Spruce (131)
  • Forest, Spruce Snow (132)
  • Forest, Oak Green (133)
Added new trees
  • Spruce (2731)
  • Spruce Snow (2732)
  • Bush Gorse (2733)
Added a new eye candy plant
  • Heather (2743)
Added a new predator animal
  • Lynx (2736)
  • Elk (2737)
Added a new prey huntable animal
  • Seal (2735)
Added a new small and unpushable prey huntable animal
  • Pheasant (2739)
Added a new bird
  • Raven (2578)
Added new rocks
  • Mossy Rock (1967)
  • Snow Rock (2734)

Lobbies and Matchmaking

General

  • Adjusted lobby settings for Ranked Deathmatch:
    • Team Positions: Locked → Unlocked
    • Turbo Mode: Locked → Unlocked
  • Fixed a bug causing an error message to appear when leaving a Matchmaking queue as non-hosting player.
  • Fixed a bug causing maps and scenarios with non-ASCII characters in their file names to fail transfer for spectators.
  • Fixed a bug causing the chat to stop working when the Chat tooltip was active in Quick Play lobbies.
  • Fixed a bug preventing player names to stop showing under some circumstances in Multiplayer Custom Lobbies
  • Fixed a bug preventing the chat Spam Protection to work properly in Quick Play lobbies.
  • Fixed a bug causing the chat window to scroll to the top of a conversation after each new message.
  • Lobbies will now correctly store last game’s Setting upon closing and restarting the game.
  • Lobby file transfer statuses are now shown for all players.
  • The game will now correctly save Civilization Set and Antiquity Mode lobby options after returning to Main Menu or finishing a scenario.

AI

General

  • AI will mostly stop farming if the wood price is extremely high.
  • Decreased the performance impact of the DE AI in the lategame. On average, the AI runs about 33% less rules each turn.
  • Extreme AI: Improved the AI’s ability to transport units across island maps. The AI will occasionally add a forward builder to support the invasion.
  • Extreme AI: In deathmatch, the AI will attempt to quickwall builders from being attacked by the starting scout until it has 2 military units.
  • Extreme AI: In deathmatch, the AI will build its first several buildings in a more compressed area, making it faster to develop and harder to disrupt.
  • Extreme AI: The AI cuts trade routes more consistently and with a larger cut in maps labelled as Amazon Tunnel, Black Forest, Arena, Wolf Hill, African Clearing and Mangrove Jungle. The trade path on certain maps has been improved to be more behind the players.
  • Extreme AI: The AI will make a market for land trading on an ally’s island on Islands maps once it has gained control of the water.
  • Extreme AI: The AI will now garrison the Town Center to kill Boars more efficiently.
  • Extreme AI: The AI will occasionally take advantage of resources on external islands in Islands.
  • Extreme AI: The AI will sometimes try to build a few funnel walls with buildings or palisades between its starting forests and the town center.
  • Extreme AI: The AI will try to free stuck Trade Carts belonging to itself. It will first try directing Onagers to cut nearby trees, then delete non-critical buildings that are near the stuck carts. As a last resort, it will delete the carts if they have been stuck for a long time.
  • Fixed a bug where the AI would try to inappropriately migrate lategame in non-migration maps when resources are low.
  • Fixed an AI Script error with the CD AI when Deathmatch was played.
  • Prevented AI Ranged Units from stuttering and not firing when in a group.
  • The AI generally focuses a bit more on adding economy earlier in deathmatch settings.
  • The AI will make more trade cogs in no wood situations and focus on army compositions that use less wood.

Scripting

  • AIs will be less likely to gather from further trees when using the gather percentage system.
  • Each AI player’s turns are now spaced out to only be processed one at a time instead of all at once (excluding at the start of the game) to more evenly manage game performance.
  • Fixed a bug with up-delete-distant-farms where a farm belonging to another player could be deleted if the AI recently converted it.
  • Fixed a bug with up-set-target-by-id where the command could occasionally proceed even with an invalid Unit ID if used as a fact.
  • Fixed some edge cases with escrow where an AI could be prevented from training a unit if an unresearched tech changed the type of resources required for that unit.
  • If an AI villager fails to path to a building foundation, the building will now be cancelled instead of indefinitely sitting in the build queue blocking further building.
  • Improved the performance impact of the up-update-targets command.
  • Object-data-next-attack will now read the correct value when the unit is in an attack animation.
  • Settlements will now be repaired if AI has sn-object-repair-level dropsite repair flag.
  • The number of AI turns is now more proportional to the framerate and can now decrease if the frame rate gets very low to more effectively manage limited game resources.
  • The number of AI turns is now defined in terms of game speed, making testing and gameplay on faster speeds more reliable and consistent with slower speeds.
  • up-reset-scouts will only reset scouts that are actively exploring, not those that merely happen to be in an explore group.

Pathfinding

General

Developer Note: Leading an empire down the road of success instead of ruin requires reliable pathfinding and in Age of Empires II we know that this has not always been the case. This patch marks another major push forward in refining how your armies group up, march, and clash on the battlefield, while giving your villagers and ungarrisoning troops a much needed boost in common sense.

A change to “Stand Ground Patrol”

We have set our sights on the infamous Stand Ground Patrol engagements and after many iterations we’ve introduced a change that limits heavily overlapping groups of melee units from executing attacks. This adjustment is designed to curb the extreme effectiveness of offensive Stand Ground Patrols (though it remains one of the best engagement options, just not the only viable one) and encourage units to spread out more naturally during combat. This makes large battles much easier to oversee for both players and spectators and makes patrolling massive armies into battle, known as “patrol stacking” far less dominant.

We will be closely monitoring Stand Ground Patrol behavior in live matches to evaluate how these changes perform in real-time play. Now that we have set up this solution we can adjust the overlap percentages and group size variables. This allows us to make precise changes in the future, as we work toward a cleaner, more enjoyable experience for everyone.

Of course, with pathfinding, words only go so far… so just believe it when you see it and test it out in-game! While we believe this patch marks a meaningful improvement, it does not mean pathfinding is now flawless. Bugs may still exist, and future changes could introduce new regressions that we fail to catch. However, we remain absolutely determined about the direction we’re heading and we will keep pushing forward for better pathfinding.

*Click on the movie camera icon below to see the pathfinding changes in action!

  • movie camera Fixed a bug causing Palisade Walls’ obstruction to remain despite a Palisade Gate foundation was placed on them.
  • movie camera Fixed a bug causing Units to maintain their walking animation when idle at the edge of the map.
  • movie camera Fixed a bug preventing Villagers from walking over unbuilt Foundations.
  • Improved long-range pathfinding, preventing some cases of Units getting stuck or giving up on their intended path.
  • Improved short-range pathfinding, mitigating certain edge cases.
  • Improved Villagers behavior when walking through small gaps, preventing them from taking the longer way around.
  • Mitigated an issue making units turn around and backtrack for some tiles when issued a move command.
  • movie camera Prevented Scorpion projectiles from slowing down units tasked with Patrol or Attack-Move.
  • movie camera Prevented units from stopping when their path is obstructed by enemy Units.
  • movie camera Prevented Siege Units set on Stand Ground to slide over obstructions when issued an Attack Move command.

Stand Ground Patrol Rework

  • movie camera Mitigated an issue preventing groups of Ranged Units set on Stand Ground to stop attacking when issued an Attack Move command.
  • movie camera Mitigated an issue preventing groups of Ranged Units set on Stand Ground to stack properly when issued a Patrol command close to moving or immobile enemy Units.
  • movie camera Prevented Rams from stacking when using Stand Ground Patrol.
  • movie camera Reduced the attack efficiency of big groups of stacked melee Units.
  • movie camera Reduced the stacking capabilities of big groups of fighting melee Units.

Formation rework

  • Fixed several bugs affecting Unit AI in formations.
  • movie camera Improved grouping of Units when issued a movement command, preventing some of them from initially moving away form their intended destination.
  • Improved formation distribution to assign units formation slots more efficiently.
  • movie camera Prevented Ranged Units Formation distribution from breaking upon targeting out of range targets.
  • movie camera Prevented Unit Formations from shuffling when issuing a movement command towards a tile at the center of the Formation.

Gathering rework

  • movie camera Fixed a bug causing Villagers to drop resources only at a specific Town Center tile.
  • movie camera Improved Lumberjacks pathfinding when chopping wood in corners to prevent them from getting stuck.
  • movie camera Improved Villager behavior when bumping into each other, preventing some long walking loops from happening.
  • Improved Villager behavior when depleting a herdable and selecting a new herdable target to harvest, avoiding multiple animal kills.
  • movie camera Improved Villagers choosing the optimal dropsite.
    • movie camera Also improved Villager behavior when mining crowded Mines, to minimize gathering on the far side of the resource tile.
  • movie camera Mitigated neutral huntable animals getting stuck when lured around the edges of trees tiles.
  • movie camera Players are now notified when a Villager gets stuck.
  • Prevented Villagers from becoming stuck upon colliding with a Boar.
  • Some improvement affecting Villager pathfinding are also applied to Fishing Ships.
  • movie camera Villager repath logic improved to avoid long walks around dropsites.

Ungarrison rework

  • movie camera Improved Town Center’s “Back to Work” ungarrisoning location.
  • movie camera Improved Buildings Waypoints consistency (both orientation and reachability awareness) when ungarrisoning or producing units.
  • Improved Transport Ships pathfinding to selected unload locations.
  • movie camera Prevented Units from spawning into blocked areas when the Building’s Waypoint is set in an unreachable location.

Modding

General

  • It is now possible to use bare .wav files to add/replace sounds in mods.
    • Note that in the case of two identically named .wav and .wem files, the .wem file will take priority. However, this can also be bypassed by changing the file extension from .wav to .wem – and that will still be a valid WEM file.
  • For Loot, Power up and Stinger Abilities:
    • A single Task may target multiple classes of units instead of a single one:
      • If “Class” is >1000
        • Target classes will be set according to the flags from the Charge Attack Filter:
          • 1: Infantry (Class 6)
          • 2: Cavalry (Class 12, 47)
          • 4: Archers (Class 0, 44)
          • 8: Cavalry Archers (Class 36, 23)
          • 16: Monks (Class 18, 43)
          • 32: Villagers/Trade Carts/Kings (Class 4, 19, 59)
          • 64: Ships (Class 21, 20, 22, 2, 53)
          • 128: Siege (Class 13, 51, 54, 55, 35)
          • 256: Buildings (Class 3, 27, 39, 49, 52, 60)
      • Using a negative value will target all classes except the specified one.
  • New attributes for Generating Resources Ability (Task 151):
    • Unused Flag:
      • 4: Use the unit’s work rate as a multiplier to the generation
  • New attributes for Stinger Ability (Task 157):
    • Search Wait Time: Attributes supported: 63 (Combat Ability), 129 (Invulnerability level), 115 (Area Damage), 22 (Blast Width)
    • Resource Gathering Sound: Short Tooltip for UI indicator
    • Resource Deposit Sound: Long Tooltip for UI indicator
    • Gather Type: UI indicator Icon displayed (per icons.json)
    • Unused Flag:
      • 4: Only apply the stinger when a charge attack is performed
      • 8: Show a duration bar over the unit to indicate the duration of the stinger (similar to temporary auras)
      • 16: Display Stinger icon/description in unit stats
  • New attributes for Unit Refund (Task 161):
    • If Work Range > 0, Check Target Diplomacy before awarding resourcesUnused Flag:
      • 2: Award resource proportionately to construction progress
  • New Task 164: Drop off bonus
    • When gathering resources, gather a secondary resource in addition.
      • This secondary resource does not count towards carry capacity, should be displayed on the UI
      • If the secondary resource is the same as the first, combine them on the UI.
    • If Class or Unit is set, only apply when gathering from this target. If not, any target
    • Work Value 1: Multiplier to apply
    • Productivity Resource: If set, multiply its value with Work Value 1
    • Resource Out: resource type for the bonus generated
  • Numerous new Object Attributes can now be modified via the Modify Attribute family of effects.

  • Resource 96 no longer controls the Khmer no-dropsite bonus for farms. Instead, the Unused Flag (aka Combat Level Flag) can be set to 1 on the Hunt/Gather tasks for auto-collection for all villagers.
  • Allowed changing the civilization’s language to the language of another civilization by modifying resource 18 (Civilization Voice Override) to the ID of the civilization the language needs to be copied from.
  • Added new flag 4 for Projectile Smart Mode attribute that allows projectiles to bypass the target’s agility.
  • Added new flag 8 for Projectile Smart Mode attribute that allows Charge/Secondary projectiles to deal the unit’s own damage instead.
  • Fixed a bug where the Resource Out field in the hunt/gather tasks would not work correctly.
  • Fixed a bug stopping Custom Civilizations mods containing less Civilizations than the base game from working properly.

Scenario Editor

  • Added a “Capture Flag” dropdown to the Units tab to allow changing if units are allowed to be auto-converted.
    • Note: “Never (Gaia Aggressive)” may be used to allow Gaia units to act aggressively in scenarios
    • Note: Even when set to “Never” (or “Never (Gaia Aggressive)”), some units may still convert if they have the Auto-Convert task (e.g. sheep/monuments)
  • Added a new checkbox to the “Object is Visible (MP)” condition called “Allow in Fog”.
  • Added a “Unit State” dropdown to the Units tab to allow changing a unit’s state
  • Fixed a bug happening when using the “Map Copy” tool, preventing the copied terrain from appearing on the map until the scenario was tested/loaded into.
  • Fixed a bug preventing some types of flags from being replaced using the Replace Object trigger effect.
  • Renamed the “Master Filter” field, which is used in certain Modify Object Attribute effects, to “Object Modified State”.
    • “All” (the default value) remains unchanged
    • “Shared Master” → “Previously Unmodified”: This restricts the effect to any units on the map that have previously not been modified by a Modify Object Attribute effect.
    • “Own Master” → “Previously Modified”: This restricts the effect to any units on the map that have previously been modified by a Modify Object Attribute effect.
  • Stop Object/Freeze Object/Task Object (Stop action) triggers will now correctly clear building production queues
  • Task Object’s Unload is now called “Unload All”, and will work as intended (same as the regular Unload effect).
  • Task Object’s Ungarrison is now called “Ungarrison Specific”. The behaviour remains unchanged. Note that this action instructs the selected object to leave the unit it is currently garrisoned inside of.

XS Scripting

  • Fixed an issue where loading a saved game or saving/loading a chapter would reset global XS state.
  • Fixed an issue where top-level/global strings would not be initialised correctly
  • Fixed an issue where runImmediately would not actually run the rule at the start of the game
    • Note: The main function is called before runImmediately rules
  • Fixed an issue where xsModifyObject/UnitTasks did not correctly work with the edit parameter enabled.
  • Fixed an issue where xsModifyObject/UnitTasks did not correctly reorder the task list when removing tasks, leading to subsequent task-related operations failing.
  • Fixed an issue where the rules in Effects.xs would run multiple times instead of just once at the start of the game.
  • Fixed an issue with xsGetTaskAmount which would not return the correct IDs when requesting certain sprites.
  • Fixed an issue where using xsCreateUnit to create a unit that initiates a technology which calls an EffectFunction in XS would return the incorrect unit ID for the created unit.
  • Numerous new Object Attributes can be used with xsEffectAmount/xsGetUnitAttribute/xsGetObjectAttribute
    • Note: Refer to Constants.xs for the full list of additions.
  • When using cAttributeFood with xsGetUnitAttributeHeld, resources for all food types are summed and returned. Note that specific food resources can still be requested via the cAttributeMeat/Berries/Fish constants.
  • xsGetObjectAttribute’s 4th (xsGetUnitAttribute’s 3rd) parameter may be used to specify the Train Location Entry Mod when fetching train location related attributes. When unspecified, the Train Location Entry Mod on the unit itself is used, in line with previous behavior.
  • xsEffectAmount now takes an optional 6th parameter which may be used to specify the Train Location Entry Mod when modifying unit or technology train location related attributes.
    • Note: When it is intended for the xsEffectAmount to be applied to all players, the 5th player parameter can be set to -1 explicitly.
  • Added the ability to use the following escape characters in XS strings:
    • \n, \r, \t, \b, \f, \v, \\, and \"
  • xsGetLocalPlayerId has been renamed to xsUnsyncGetLocalPlayerId
  • xsGetTimerTimeRemaining has been renamed to xsUnsyncGetTimerTimeRemaining
    • Note: these two renames have been done to better reflect the fact that the result of these functions is not synced for all players.
  • New XS functions corresponding to their editor trigger effects:
    • New attributes that can be accessed via xsGetTechAttribute
      • Note: Refer to the Tech Attribute Constants section in Constants.xs
    • bool xsSetTechDescription(int techId, int playerId, string description)
    • bool xsInitiateResearch(int buildingUnitId, int techId)
    • bool xsHasResearchedLocalTechnology(int unitId, int localTechId)
    • bool xsResearchLocalTechnology(int buildingUnitId, int localTechId)
    • int xsGetAiSignal(int signalId, bool useLegacyAi)
    • void xsSetAiSignal(int signalId, int value, bool useLegacyAi)
    • int xsGetMapTileAttribute(int x, int y, int attributeId)
      • Refer to the Map Tile Attribute Constants section in Constants.xs
    • bool xsTrainObject(int buildingUnitId, int objectId, int count)
    • bool xsSetUnitGatherPoint(int buildingUnitId, vector position, int targetUnitId)
      • Note: targetUnitId will set the gather point on this unit, and it takes priority over the position.
    • vector xsGetUnitGatherPoint(int buildingUnitId)
      • Note: When the gather point is set to a unit target, the Z coordinate of the returned vector contains the unit ID.
    • string xsGetUnitCaption(int unitId)
    • bool xsSetUnitCaption(int unitId, string caption)
    • bool xsSetUnitName(int unitId, string name)
    • string xsGetUnitCivName(int unitId, bool localized)
    • bool xsSetUnitCivName(int unitId, string name)
    • string xsGetUnitPlayerName(int unitId)
    • bool xsSetUnitPlayerName(int unitId, string name)
    • bool xsSetObjectDescription(int playerId, int objectId, string description)
    • float xsGetUnitProperty(int unitId, int property, int typeOrPlayer)
      • Note: Refer to the Unit Property Constants section in Constants.xs
    • bool xsSetUnitProperty(int unitId, int property, float value, int typeOrForce)
      • Note: Refer to the Unit Property Constants section in Constants.xs
    • bool xsSetUnitOwner(int unitId, int32 playerId, bool flashUnit = true)
    • bool xsFlashUnit(int unitId, int playerId)
    • bool xsStopUnit(int unitId)
    • bool xsGetAiScriptGoal(int goalId)
    • bool xsSetAiScriptGoal(int goalId, bool value)
    • string xsGetCivName(int civId, bool localized)
    • string xsGetPlayerCivName(int playerId, bool localized)
    • bool xsSetPlayerCivName(int playerId, string name)
    • bool xsSetPlayerName(int playerId, string name)
    • bool xsSetPlayerColor(int playerId, int colorId)
    • bool xsSetViewPosition(int playerId, vector position, int duration)
    • bool xsSetZoom(int playerId, float zoom, float duration)
    • bool xsBuildUnit(int unitIds, int objectId, vector location1, vector location2, bool isShiftQueue, bool isFormationCommand)
    • void xsTaskUnits(int unitIds, int actionType, vector location, int locationObjectId, bool isShiftQueue, bool isFormationCommand, bool shouldPlayUnloadSound, int patrolPoints)
    • void xsSetChatToPlayer(int playerId, bool enabled)
      • Note: To be used along with diplomacy-related effects
  • Note that for the following functions, the player parameter is optional, and only works for the local player.
    • float xsUnsyncGetZoom(int playerId = -1)
    • vector xsUnsyncGetViewPosition(int playerId = -1)
    • int xsUnsyncGetPlayerSelectedUnitIds(int arrayId = -1, int playerId = -1)
      • returns an array ID of the currently selected units. When given an arrayId uses that existing array instead of creating a new one, similar to xsGetPlayerUnitIds
    • bool xsUnsyncIsUnitVisible(int unitId, bool allowInFog, int playerId = -1)
  • String manipulation functions:
    • int ord(string character)
    • string chr(int code)
    • int strLen(string str)
    • string strCharAt(string str, int index)
    • string strSubstring(string str, int start, int end)
    • bool strContains(string str, string substring)
    • bool strStartsWith(string str, string prefix)
    • bool strEndsWith(string str, string suffix)
    • string strRemovePrefix(string str, string prefix)
    • string strRemoveSuffix(string str, string suffix)
    • int strIndexOf(string str, string substring, int fromIndex)
    • int strLastIndexOf(string str, string substring, int fromIndex)
    • string strReplace(string str, string target, string replacement, int max)
    • string strInsert(string str, int index, string target)
    • string strRemove(string str, int index, int length)
    • int strSplit(string str, string delimiter, int max)
      • Note: The return value here is an array of strings
    • string strJoin(int arrayId, string delimiter)
    • string strTrim(string str)
    • string strTrimStart(string str)
    • string strTrimEnd(string str)
    • string strToUpper(string str)
    • string strToLower(string str)
    • string strReverse(string str)
    • int strToInt(string str, int base, int defaultValue)
    • float strToFloat(string str, float defaultValue)
    • int hex(string str, int defaultValue)
    • int bin(string str, int defaultValue)
    • string fstr(string str)
      • This allows for Python-like string formatting syntax. However, expressions are not allowed, and it is limited to variable names only. Example: xsChatData(fstr(“{colourTag}{player}: {msg}“)); // assuming that colourTag, player, and msg are valid variables here.
      • Similar to Python, you may use {{ and }} to escape the brackets themselves when passing a string to fstr when interpolation is not desired.
      • The strings passed to fstr do not need to be literal strings. This allows creating multi-language template strings in language files that can be fetched via xsGetString and then passed to fstr for interpretation.
      • The variable names used inside the {} must be valid identifiers and in scope, or the {} will be left unmodified in the output.

Localization

  • Fixed an issue displaying wrong text for certain Units on Spanish – Latin America language.
  • Fixed several inconsistencies in the Map Selection Menu and Map Descriptions for multiple Languages.
  • Fixed several inconsistencies in the Polish and German Technology Trees.
  • Fixed several inconsistencies in Simplified Chinese and Korean translations for The Last Chieftains gameplay and cinematics text.
  • Fixed several inconsistencies in the Spanish-Latin America History pages and Achievements.
  • Removed debug text appearing in certain campaign scenarios in Turkish.

Ongoing…

Investigation

As always, we are continuing to track issues reported by the community for future updates.

For other known issues, please visit this page to see what’s being tracked!

DISCLAIMER

Please note that this list is subject to change and should not be considered a comprehensive list of all the known issues we’re tracking. The above is to inform you of the team’s current priorities, which will change as other issues arise or take precedence.

For the latest updates and announcements, please visit our social channels.

Become an Age Insider!

Insiders unlock access to exclusive news, updates, and opportunities to provide feedback about future releases. Here are some of the perks:

  • Access to private forums where you can interact with Age developers
  • The chance to join exclusive beta opportunities through Steam and the Windows Store
  • Channels to provide feedback and inspire quality changes in your favorite Age titles