Releases: SMUnlimited/AMAI
Releases · SMUnlimited/AMAI
3.4.2
Changed
- Tweaked strength calculation to prevent incorrect creep level calculations and removed unnecessary hero level averaging.
- Adjusted harass attacks to occur less frequently for less aggressive AI profiles.
- Modified AI with high food use to reform less often during travel, ensuring faster progress to target locations.
- Fixed future army location calculations to always be a fixed distance from the current location, preventing unnecessary town threat alerts.
Deprecated
- (DevTools) The
race_ancient_expansion_strength
setting is now obsolete and no longer used, as actual strength determines the feasibility of attacks.
Fixed
- Resolved edge cases where the retreat location was not set to the home town as expected.
- Disabled special racial militia, ancient expand, and tower rush in team games due to hardcoded target issues.
- Fixed a bug preventing all special racial expansions from running on the first expansion.
- Implemented various fixes to improve the reliability of ancient expansion logic.
- Corrected a bug where ancient attacks didn’t consider ancient strength in retreat calculations.
- Adjusted item expansion to occur only when the AI naturally wants to expand, instead of forcing earlier expansions.
- Fixed an issue where ghouls dying in an attack caused harvesting ghouls to be pulled off to fill dead or fleeing units.
- Fixed an issue where harvesting ghouls were incorrectly detected as the main army.
- Fixed a bug where the AI attempted to creep expansions without the capability to kill air units.
- Resolved a bug in team games where AMAI could give units and buildings to defeated players upon defeat.
- (DevTools) Removed the use of hardcoded IDs in expansion tracking for custom mod support.
3.4.1
Added
- Elf players now have a 50% chance to perform an Ancient Barracks creep rush, various issues in its original introduction now fixed.
- Added self preservation micro support for burrowing, stoneform, healing wards, healing wave, healing spray and rejuvination. (jzy-chitong56)
- (Devtools) Added uninstall command line scripts.
Changed
- When we enhanced the build code to build other things if it can't build the current priorities it caused strategies to tier up much earlier than designed. Now tier ups can only occur as follows:
- once most higher priority unit production is done honoring the strategy.
- No expansion occurring unless we already have multiple mines to support the cost.
- Or we have lots and lots of spare gold and wood so should just use it to tier up.
- (DevTools) New block available for strategies. E.g
SetTierBlock(1, 0.75, 60, true)
that blocks tiering up from tier 1 unless more than 75% of higher priority units are built. Unlocks if over 60 food. Final argument prevents tier up while expanding if set to true. Tier block overrides previous tier level block if repeated in a strategy.
- Building additional factory buildings should not be done while actively tiering up as the buildings needed for tier 2/3 may be different.
- Harass will correctly keep harassing if no units can harm its air harass.
- Harass attacks will return harassing units faster to the ai's control when complete.
- Reduced time heros wait to pick up items after creeping in half.
- Better management of the captain home locations, the players strength and applying this to retreat control, town threatened, town defense and teleport to better react to issues.
- Main army is now calculated to be the strongest army which should prevent issues when hero is not anywhere near the army force.
- (Devtools) Fixed calculation issues with SetReact and made it consistently easy to know the priorities of units it is building by making priority go backwards from value specified instead of increasing.
Fixed
- Fix to avoid rare crashes in job thread.
- Fix to avoid a case where AMAI tries to buy more than one hero in tier 1 and when using the recalculate heros ai command.
- Fix Panda clones to not be canceled early when hero is going home or buying items.
- If no units to attack with windwalk, then will exit windwalk and just attack a building rather than just stand around doing nothing.
- Fixed an issue where harass attacks fail to start.
- Fixed an issue where harass attacks could fail to track harass units correctly.
- Fixed an issue where harass attacks could cause units to permanently stop moving.
- Team game defeated ai's that cannot share to a same race player will share to victim neutral player same as in single matches.
- Ensure focus fire controls are not running during a players retreat.
- Natural retreat will now actually trigger instead of staying stuck in combat.
- Alliance targets are once again flagged to allies with a ping on the minimap.
- Fixing mining behaviour in maps like dustwallowkeys. Effectively implemented our own mining logic so we do correctly mine the nearest mine we own.
- This also helps protect all races from building initial base buildings at the wrong mine.
- Fixed issue where harvested mines is calculated incorrectly for humans and orcs for various use cases.
- Small fix so that ai does not retreat from creeps sleeping or are not fully engaged.
- Fixed an issue where undead would try and tier up due to base defense instead of tiering up through the strategy.
- Fixed an issue where when attack forces went home they didn't run to the place where town defense is required.
- Fixed an issue where night elf wisps would end up doing nothing as they were flagged for hardcoded gold harvesting but our custom logic had already put wood wisps in the mine.
- Fix that could mean healer units were not fully considered before use.
- Reliability fix for item expansion.
- Fixed issue where buying units could not attack nearby units.
- When buying a unit/item try and buy before retreating when there is danger.
- Multiple mine control fixes (jzy-chitong56)
- Fixed 4th mine chance was evaluated incorrectly. (jzy-chitong56)
- (Classic) Include missing hero harass attacks that are applicable from reforged scripts.
- (Installer) Fix menu install options not working (jzy-chitong56)
3.4.0
Patched - 2024-11-22
- Installer does not work if run with different language
- Installer Unable to install VSAI
Added
- Basic AI interopability for LUA maps but with some issues:
- Commander works enough in LUA maps to let you set the initial language and game mode, but bringing up rest of commander during the game or typing commands does not currently work.
- (DevTools) Note chat placeholders is no longer supported in languages. This affects both Jass and Lua maps.
- (DevTools) Conditionals are supported in languages by adding a second column to language translations with a jass conditional expression. String comparisons can only be included in a third column which will be converted to a string as the "" characters cannot be used in the extra columns.
- Aggressive AMAI profiles now have a chance to expand early and up to a 4th mine when rich.
- Added detection of towers to base defense and triggering town threatened defense.
- (Classic) Zoom hotkeys can now be enabled or disabled via
-zoomkey
command. (jzy-chitong56) - (Installer) Added translations to installer and will attempt to automatically set language based on users system.
- If that fails you can manually change language from the menu toolbar.
- Translations may not be perfect as are auto-generated from bing translate except chinese from jzy-chitong56.
- (Installer) New option that defaults to true which will install the optimised AI scripts.
- (Installer) New option to force the default AI language to current language of the installer, and if commander is installed it will not show the language dialog popup anymore.
- Unsetting will reverse the change and re-enable english as default and commander will display language selection.
- Can not apply when using optimised scripts.
- (Installer) You can now install VSAI mode as a commander option. (jzy-chitong56)
- (DevTools) Custom maps can trigger command 80 to tell AMAI the tavern is no longer usable. (Slayer95)
- (DevTools) Observer debugging when debug turned on for vanilla AI in VSAI mode.
- (DevTools) New racial setting
racial_burrow
to set unit used for peons not exiting burrow fix. - (DevTools) VSAI is now compiled by default and included in the output scripts (jzy-chitong56)
- (DevTools) Optimised scripts additionally compiled by default via MakeAll and available to use.
- (DevTools) Optimise now works with VSAI scripts.
- (DevTools) Testing build script to run AMAI against another version of AMAI from git tags
PitVersions TFT devbranch "(12)EmeraldGardens.w3x"
then install via secret commander number3
- Only racial changes are garunteed to work between tags, changes in common.eai could break the AI.
Changed
- Peons with higher priority over a hall upgrade will now be favoured first if no other way to build more peons.
- If in an attack don't save gold and wood for items as hero is busy.
- Ancient expansion will now consider all 3 heroes to determine suitability instead of only the first hero.
- Ancient/militia/item expansions are now checked whenever a new expansion is chosen, so every expansion the random chance to use the ability is rechecked instead of once at game start.
- Additionally its in sync with when the AI wants an expansion and doesn't just bypass normal expansion priority anymore.
- Tweaked expansion logic so when alot more mines on map it increases chance of doing a fast expansion but isn't certain.
- AI will not take into account enemies ally strength of target which was blocking any attack attempts at all.
- Insane AI will maphack and determine enemies strength precisely instead of roughly.
- Rally controls will make use of front locations at the home base while all others rally to home to ensure all units exit buildings optimally.
- Town defense control optimized so that the army tracker controls where defense is best placed in all cases.
- Moved AMAI tags to after player names as various replays and leaderboards cannot display name correctly in those cases.
- If home town is destroyed, the AI will now ensure it defends an existing town instead.
- Elf will now build 1 farm at front locations again.
- Automatic upgrades now have a 10% chance to upgrade up from 1%, anything under 10 was extremly difficult to trigger. Strategies can apply a max that will limit this to a lower value though.
- Reworked defeat logic so giving units to a neutral player does still trigger defeat. (Slayer95)
- Teleport control improvements and fixes. (jzy-chitong56)
- Spanish translation improvements (Slayer95)
- (Installer) Changed name to Installer instead of Electron Manager.
- (DevTools) Updated MPQEditor to 4.0.0.924.
- (DevTools) Set mpq size limit to 128 to reduce chance of failed installs with some maps and VSAI mode. (jzy-chitong56)
Fixed
- Crash protection to job thread if it has too many actions in the queue (risk only with large maps)
- Better use of sleep staggering to reduce game crashes with large players maps.
- Fix so when at the food limit, AI will not save resources to build units and block building anything else that don't require food.
- Fix so front location is calculated for all cases of players as well as optimized the calculation.
- Fix upgraded building counts underreported resulting in stuck build logic.
- Fixed issue where defeated AI player scripts could still be running when they have 0 units left wasting resources.
- Fix for tower rushes and ancient expansions being unintentionally disabled entirely.
- Fix windwalk abilities making units go invisible but then never attacking out of invisibility for bonus damage.
- Fixed minor town threat tracking inconsistency.
- Slightly timing tweak to help AI hardcoded systems better understand which mines are claimed at game start.
- Fixed an issue where we would not get a new target after killing target due to incorrectly checking that combat has ended, which is not likely to be the case.
- Fix for second nearest ally attack target in ffa matches not taking account of distance correctly if own hero was not available.
- If front locations are not computed don't save resources for units being built at the front.
- Fixed issue with town threats always evaluated as 0 for single players.
- Fixed potential infinite loop when trying to find a creep camp.
- Fixed issue with own town mine tracking not as accurate as it could be.
- Fixed issue where attacks were not being cancelled unless only an ally was under threat.
- Fixed an issue where ghouls would start attacking then all run back to harvest wood leaving forces on there own, now extra ghouls will reinforce ongoing attacks too just like other troops.
- Fix an issue where ranged micro could sometimes move ally computer and player units.
- Logic to build multiple unit buildings takes better account of cost (and now includes wood levels) to construct these to avoid building multiple when there is no resources available to do so.
- Fix critical issue where retreating forces never fully retreated home, they could just immediately go back into battle.
- Fix an issue where healer units are not available until next attack iteration.
- Fix critical issue where if only part of creeps are killed at mine in some cases this could trigger the mine being flagged as empty.
- Fix PERIAPT_OF_VITALITY gold cost to correct reforged value. (Slayer95)
- Fix ally attack target not being reset, particularly expansion seemed to be slower without fix. (jzy-chitong56)
- Fix Goblin Tinker Skill not upgrading past rockets on one of the trees. (jzy-chitong56)
- Reduce lengthy unnecessary wait during distraction attack. (jzy-chitong56)
- Fix so Ai's only ask for gold before surrender if the commander is installed as its the only way to send gold to the AIs. (jzy-chitong56)
- Defeated players should not keep chatting. (jzy-chitong56)
- Fix for buy neutral units running attack which is not expected. (jzy-chitong56)
- Memory leak and fault tolerance optimizations. (jzy-chitong56)
- When building at mine, lumber or front locations AI's will do a better job of leaving gaps for units and buildings. (jzy-chitong56)
- Fix for hardcoded bug leaving peons in burrows (jzy-chitong56)
- (Classic) Fix hero priorities too low for various strategies.
- (Classic) Hero Skill fix will only run on versions 1.29 - 1.32.8. 1.32.9 and onwards will not run the fix. (jzy-chitong56)
- (Classic) Fix healer mana costs which instead used reforged costs (jzy-chitong56)
- (DevTools) Added echo off to install scripts to reduce console spam.
- (DevTools) Making legacy editions now copies over correct blizzard.j when performing a manual install.
- (DevTools) Disabled automatic copy of Reforged to TFT settings as it makes it difficult to modify settings for debugging. Call TFT/Inherit.bat directly when required instead.
3.3.5a
Changed
- If AI is not strong enough to creep an expansion it won't save resources and instead use them to buy more units.
Fixed
- Fixed an issue where the undead meat fiend strategy hero wasn't built first which blocked anything from building for the first minute.
- Fixed an issue where AI would expand less consistently because it decided it wanted to expand to an existing expansion.
- Disabled elf building farms on the front line as it too often causes blockages until we can work out a solution.
3.3.5
Added
- AMAI now takes direct control of alliance targets instead of using the hardcoded logic. This will enable better control and allow us to ignore the alliance target in some situations.
- (Installer) New UI improvements to select install options rather than using the toolbar menu. (jzy-chitong56)
- (DevTools) The scripts folder will include a Blizzard.j of the last version compiled as well as just the versioned copied so its easier to manually include into maps.
Changed
- Support tech tree changes for 1.36.2.
- Better clarity on which versions of warcraft 3 to run AMAI on and whats optimal.
- Retreat Control will now protect own towns first over allied towns.
Fixed
- Fixed factory rate to build extra production buildings as was too low as didn't take account of building cost vs income correctly.
- Fixed issue with boolean check of third mine timing.
- Fixed issue where mine required for ancient or item expansions could be nulled mid use which would break the logic. (jzy-chitong56)
- Fixed Mark of Talon upgrade only requires adept training from 1.36.1 war3 patch.
- Tweak expansion relocation logic to calculate when its likely already building so don't change location.
- Fixed issues with multiple mines at home base logic. (jzy-chitong56)
- AMAI will not expand fast unless there is twice as many mines as players.
- Quick fix where shop creeps were not being checked correctly to see if it was guarded or not.
- Fixed an issue where when hero was at the home base it would cause AMAI to partly stop retreating.
- Fixed some minor issues with build logic and calculating accurate resources available.
- Fixed an issue where harassment units got stuck going backwards and forwards.
- (Installer) Fix so installer can hopefully run again on windows 7/8 as per modern war3 supported stack.
- (Classic) Goblin alchemist not learning abilities.
3.3.4
Added
- If non-ai player constructs an expansion where the AI is, allied AI's will immediately give up the expansion location if his expansion is damaged.
Changed
- Increase creep expansion radius slightly to 1250 from 1000 to better detect creeps that could cause issues.
- Increased expansion taken radius to 1300 from 1000 to more accurately detect additional mines available.
Fixed
- Some more double expansion minor fixes correcting claim counts being off in some edge cases.
- Double expansion retry for humans, orcs and nightelfs should now be more successful.
- Align expansion taken check with the double expansion check which should means AI's will expand when multiple empty mines available at one expansion.
- Fixed a possible lag/crash cause in the heal army routines.
- Fixed an issue where human players were building too many scout towers and not upgrading them.
- Fix human players unable to train seige engines with the barrage upgrade. (jzy-chitong56)
- Some debug cache fixes. (jzy-chitong56)
- Fix exchange behaviour to only include players currently playing. (jzy-chitong56)
- Some detect defeat optimizations during emergency actions. (jzy-chitong56)
- Fixed issue with hidden and dead units being considered during detect defeat actions. (jzy-chitong56)
- (DevTools) AMAI will correctly only make the vanilla AI files using AMAI VS AI. (jzy-chitong56)
3.3.3a
Fixed
- Fixed more multiplayer desyncs in the chat system and zoom function.
3.3.3
Added
- (DevTools) Added a perl power script to uninstall AMAI from a directory of maps.
- (DevTools) Classic script compilation will sync settings from REFORGED that don't need to be different. Could be used manually by modders as a blueprint to inherit settings.
Changed
- Require more than 1 zepplin before attempting water expansions which should help fix some transporting issues.
- Optimized double expansion detection reducing total unit loops.
- Optimized first expansion calculation (jzy-chitong56)
- AMAI does a better job collecting any items after creeping.
- Added build order so that Elf will now sometimes buy the moonstone and Humans will now buy lesser clarity potions.
- Optimizations to return home after an attack only when nessecary instead of all the time.
- Added a random element to upkeep saving times so some ai's save for longer or shorter before breaking the upkeep barrier.
- (DevTools) Optimize.bat script is now called OptimizeAll.bat.
Fixed
- Prevent desyncs with zoom function.
- Fixed issues causing various strategy blocks to be ignored if units defined before the blocks are set.
- Fixed issue where elf would not ever build ancient of war promptly.
- Units sent home for healing from a water expansion can now be picked up by zeppelins.
- Fixed issue where undead gold mines were never fully detected as mines correctly for various logic.
- Hardened the town checks to ensure more likely to match the internal blizzard AI town.
- Fixed picked healer was not alive. (jzy-chitong56)
- Some mining irregularity fixes.
- Fix water expansion distance not calculated correctly. (jzy-chitong56)
- In certain languages if translated chat messages with variable placeholders cannot be parsed at least still return the message rather than complete nonsense.
- Fixed an issue where only a specific creep needs to be killed for AMAI to think mines and neutral buildings were unguarded going forwards.
- Fixed an issue where town threat was always 0 or negative so AMAI couldn't tell it was in danger correctly.
- Fixed an issue where AMAI would share heroes with each other on defeat which is not intended behaviour and could break score screens.
- Fixed a minor issue related related to forming assault groups.
- Fixed issue where upkeep calculations were still being ignored.
- (Classic) Fixed an issue where player 14 would share with the creeps.
- (Classic) Fixed game start crash with AMAI vs AI. (jzy-chitong56)
- (Classic) Fixed some TFT settings not in sync with REFORGED.
- (DevTools) Fixed the optimize all script and the makeAll and optimizeAll scripts will pause between versions.
3.3.2
Added
- When urgent healing is required but are missing prerequisites, the required item will now be added to the build queue so that those can be built.
- Item equivalency check so merchant and racial items of the same item count as the same item to avoid buying the item twice.
- (Classic) Dynamic unit counter system now active for original TFT AI (jzy-chitong56)
- (DevTools) New HasExpanded function for strategies that can be used to detect when AI has expanded. Used as a condition in the global racial strategies.
- (DevTools) New DefendTownsFrontDone function that will build at the home location in addition to expansions, but if it does it will build those at the Front of the base.
Changed
- Minor Strategy Tweaks and fixes, notably global tower defense, item and upgrades. (Based on jzy-chitong56)
- Night Elf Demon hunter has a minor chance to use immolation when picked as first hero (Miezhiko)
- (DevTools) Zepplins are now built automatically like peons and shredders, no need to be in strategies explictly.
Removed
- (DevTools) Moved custom_common_vars into the custom_common file the same way as the job system.
Fixed
- Fixed some issues with recovery/infinite attacking in team games for the AI. Should now retreat and regroup correctly and improving ally coordination.
- Fixed issue where double expansion was not cancelled when just 1 ally builds a mine.
- Fixed some team game alliance targeting issues.
- Fixed an issue where healers or heros within a zepplin were trying to be used for unit micro or following the hero resulting in zepplins getting stuck.
- Units for healing will all be sent to the same town to avoid difficulties getting everyone healed.
- Ghouls needing healing will only collect lumber while waiting if a town hall is nearby.
- Prevent follow zepplin conflicting with various other jobs and controls.
- Fixed an issue where ally attack messages did not align with where they actually attacked especially in team games. Should be more accurate, in real time and only from one of your allies that is coordinating the attacks for all allies.
- AI Greetings are no longer rate limited but only a max of 6 enemy players will greet you to avoid polluting your chat dialog.
- Fixed issue where global strategy block expiry was too low and effectively ignored.
- Fixed an issue where needed prerequisites could be built in an unoptimal order.
- Fixed an issue where bat script to install to a single map failed if path had spaces.
- All install mechanisms will now warn of non-zero error codes and report it as an error.
- (Classic) Fixed installer unable to install classic editions to folders.
- (Classic) Fixed case where 24 player mode was active when shouldn't be.
- (Classic) Fixed minor memory leak.
- (DevTools) Fixed strategy manager unable to compile REFORGED scripts. Bat files renamed to match version name instead of shorthand RFG.
- (DevTools) InstallToDir.pl power script will also detect UAC protection.
3.3.1a
Fixed
- (Classic) Fixed another case where compatibility logic wasn't fully active for 24 player games.