All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
- Chinese Translation improvements.
- (DevTools) Old non-working installer has now been removed now we have new version in place.
- Adaptation war3 1.36
- 1.36 blizzard.j and common.j and Natives.j no change , same as 1.33
- The item price of technology tree and goods has been adjusted
- Add item ORB_OF_FIRE(ofr2)
- Add again item ORB_OF_LIGHTNING(olig)
- DRUID_TALON_M attack now is piercing
- HeroAbilities adjustment
- FAR SEER will reduce the repetition rate of the Ability scheme , now have wolf core Ability scheme , this adjustment includes ROC
- TFT BLADE MASTER now have MIRROR core , again
- ROC BLADE MASTER now havenot MIRROR core
- TFT Demon Hunters will now be more active in learning to IMMOLATION
- (DevTools) Add MakeROC.bat , Although it's useless
- (DevTools) MakeVAIXX.bat Synchronize code for non VS AI scripts, include ROC
- (DevTools) MPQEditor.exe update to 4.0.0.908
- (DevTools) Uninstall AMAI Scripts
- When BJ debugging is on , If the first human player is Observer, system will set all AI Alliance and share control with the Observer , that Observer can view the build construction location and the learning of hero skills
- Strategy report not send to the alliance Observer , to avoid repeated display
- Towerruch report will send to the alliance Observer
- Note: In fact , I would prefer the first human player (even not Observer) to directly control AI , convenient testing
- W3C MiniMapIcon and item icon
- now have all Neutral build Icon(Icon more W3C)
- you can use -minimap control Switch
- Do not want to initialize and enable , please Blizzard.eai set W3CIcons to false
- install use InstallTFTtoDir-Icon.pl or install - w3c minimapicon.js , need install commander
- will install item icon(Adaptation 1.36 version)
- W3C DenyTip
- use -deny control Switch
- when Deny Unit or Killing by PLAYER_NEUTRAL_AGGRESSIVE or Killing PLAYER_NEUTRAL_AGGRESSIVE, will tip "!"
- Killing PLAYER_NEUTRAL_AGGRESSIVE not considered situation of competition between different players , is always tip , if perfect function , should only be displayed when unit is snatched
- New commander mode "Joint Control" which allows the human players to control their AI allies units at the same time as AMAI.
- This is like the "Computers Only" option where all human players units and buildings are removed at the start of the game but you have direct control.
- Strategy Choose Dialog now show translation Strategy name , no Num
- Strategy name must consistent with file Strategy.txt name
- Cannot find consistent name Strategy , Dialog will missing button
- Strategy name button will identify ROC and TFT
- New total , c_enemy_user_total and c_ally_user_total , used to record the number of really human players
- Now the AI Attack Group will join unregistered (like non own racial) units and heros (but excess heros may not be able to learn skills) , The original intention is to enable AI to use DARK_RANGER or BANSHEE can add the occupied other 3 race unit to the attack group
- Buy NEUTRAL HERO add judge neutral_guarded[NEUTRAL_TAVERN] to CheckNeutralQuick , guarantee to change train ownrace hero at the first time
- shop_distance_limit , raceshop_distance_limit and merchant_distance_limit initial value decreases and is positively correlated with map size , prevent purchases from being too far away, especially when a hero leaves the team and is killed alone when purchasing
- Water_expansion now record creeps guard , and ChooseExpansion returns the creeps
- Water_expansion improvement judgment methods , now have a gorup record , just need judgment expansion on the gorup , no need loop
- if have Water_expansion or racial_lumber == 0 or race_no_wood_harvest , ZEPPELIN_FOLLOW no run GroupRemoveGuardPositionInstant , then AI can take Water_expansion or help ELF fix building blockage
- Now AI can use ZEPPELIN attack Water_expansion creeps
- Remove follow_zeppelin Guard Position, help Job continue , other zeppelin help AI fix building blockage
- Add LocalizeOldTown check ture town_built , prevent town from being dismantled completely
- When peon and current_expansion Distance too far , AI will use BuildMovePeonZeppelin
- Add active_expansion , if mine outnumber player , AI will more aggressive take expansion (ExpansionBuilder)
- ExpansionBuilder and StartExpansionAM check Expansion Taken twice
- NEUTRAL Build Healing add Healing_Ward(ohwd)
- Mapsize adapter Reforged new size
- RALLY_POINT reform to STRUCTURE_CONTROL , conteol all build
- if ELF or no wood harvest race , now Adjust home_location nearby buildings , if buildings quantity exceeds 4 , buildunit no use BLOC_STD , will use BLOC_FRONT
- if ELF or no wood harvest race , now Adjust own_town_mine[0]_location nearby buildings , if the mine Resource Amount is 0 ,buildunit no use BLOC_STD , will use BLOC_MINE , if buildings quantity exceeds 4 , buildunit will use BLOC_FRONT
- if ELF or no wood harvest race have shredder , now adjust shredder loc , if shredder order is harvest , then when shredder harvest far enough the loc maybe can build
- Rallypoint now is front_loc[0] further rallyloc, home_location may cause the unit to be avoid being stuck at home , but within front_loc build rallyloc still home_location
- Regular burrow disarm , fix ORC cannot disarm
- WISP_CHECK reform to HARVEST_CHECK , apply to all race
- ELF no longer use accurate quantity control , prevent any wips will go harvestmine , but mine no vacancies
- if home_location have more mine (range 1500 or UD/ELF no harves), then AI cannot harvestmine , no income , HARVEST_CHECK can help AI harvest
- if no more mine , the code will only apply to ELF , just WISP_CHECK , but if have more , will conteol other race peon harvest own_town_mine[0]
- if no foodspace , ELF will take one harvest mine peon build , As long as the peon doesn't harvest mine , no matter what build , even if they were killed , have 1 food spare(army unit min fooduse general is 2 , so ai can build peon) or one peon free
- Fixed ELF game start build delay , now game start harves WISP is 4 , until have 7 WISP , use hero_built[1] definition game start
- new first_town_mine for check home_location mine
- if home_location have more mine(check range 1500 all goldmine , more than one) , first_town_mine will set 1 , human and orc own_town_mine[0] will return latest mine , ELF and UD will return racemine
- if home_location have more mine , AI EXPANSION will change , will first take home_location near mine , ELF will build new Town(max 2) or entangle, UD will build new Mine , human and orc just harvest
- if home_location have more mine , GetMinesHarvested will set twm = TownCountDone(racial_expansion) , ELF's racial_expansion is race_manual_loading_mine, because TownWithMine() is wrong
- Even if home_location just one mine(Distance 1500) , old war3 version run some map , UD still cannot harvest , now use first_town_mine 2 mode fix
- ELF now can use BR build to creepcamp(rushcreep) , and have one build on outside , hope can can reduce the chance of being stuck at home
- CreepAttack Priority attack the tree current creep
- Note: the build will let ELF build tree to later , but seems unable to improve , even if when tree quantity greater than 1 build the rushcreep tree
- Add LocalizeOldTown , check now town whether it has been demolished
- Add GetTeleportLandPoint , AI use teleport , the army is land to hall , due to the terrain and trees , the army cannot expand , the code can help AI find a enemy unit , land to unit loc , due to enemy point is outside , wide terrain , the army can expand
- Add new attack mode , on maps with more than 10 players , or big map , or small map and human player only 2 or 1 , AI will first attack human players hall , to avoid china call 【内卷】 , like AI internal conflict , no attack human player
- Add CheckCreepsByRadius search creep too far ,Test findings , if creep and mine distance exceeds expansion_radius ,all race will build EXPANSION , some map like (4)Avalanche_LV , the creep and gold distance > 650 , neutral build check too
- Add Ally Shopping , when BuyItem() return false , if item is HealingItem and buy_type is RACIAL_ITEM and AI have 1000 gold , then will go Random Ally's Random Shop Shopping
- Buy item can check repeat , if can not repeat , will change buy unit
- New job Item Expansion
- Now can configuration Item Expansion , like ORC can buy TINY_GREAT_HALL
- This is not proactive expansion , but rather passive(no call ChooseExpansion())
- Job file is ITEM_EXPANSION_CHECK and ITEM_EXPANSION
- Can define race detailed instructions on Settings.txt(only TFT)
- New job ITEM REPEAT CHECK
- Check for items that cannot be superposition or have poor superposition effects or items skills that duplicate hero skills, transfer to other heroes
- (DevTools) TQLoop add job Thread debug check ,now have a continuously displayed TextTag show JOB schedule , convenient to check where job has parked , this is more intuitive
- Strength Dynamic Distribute , hlep AI change unit attack mode , eliminating the time required for build and immediately allowing existing units to cope with strength imbalance
- Note: Original intention to control units that AI does not control , but use hard-coding
- (sync)To reduce chat spam for players, chat messages from the AI are now rate limited to reduce screen spam especially in large player maps.
- (sync)Team games ai's that are defeated will no longer destroy its base or do a desperation attack and instead will share control with its human allies.
- When there is no human allies and two AI shares the same race it will give its units to that AI.
- Add GetRandomPlusMinus , take 1 or -1
- Towerrush adjustment , now all races can used Towerrush , but only used on map by Player upper limit <= 6 (this restriction is also used for commands)
- Towerrush peon now have 4 , but UD have 2 , if Towerrush on , AI can compensate peon quantity(ELF compensate 6) , include ghouls
- New set for item , race_tower_item_quantity , like IVORY_TOWER or SACRIFICIAL_SKULL(ROC none of these items)
- New set for tower , race_tower_item_must(if Towerrush must used item , like UD SACRIFICIAL_SKULL, set true)
- New set for tower , upgrade race_tower_upgrade2(ROC no race_tower_upgrade2)
- New set for tower , race_tower_idX(if the race_tower_id has Blig land (AbilityId 'Abgl'), set it ,cannot create Blig land)
- Can define race detailed instructions on Settings.txt(ROC and TFT)
- Now Towerrush no longer search Enemy Player StartLocationLoc , search all Enemy Player hall , if races is UD , will search the goldmine
- Adjust the order of attack modes , town_threatened and towerrush code ahead
- Adjusted the logic of saving money , now open Towerrush no longer stop build
- Now AI can help ally Towerrush or rush Enemy or call ally help too
- Now Towerrush max distance is 14000
- Towerrush on , no run MilitiaCheck
- adjust TR reports translation
- Fixed bug , AI no longer build tower on map centre
- Note: human race have powerbuild , so AI will automatically pull all peon go to the front build tower , and this time AI no income , I cannot close automatically powerbuild , just have some fix
- Note: On ROC , This function is not enabled
- Synchronization all function code to [master]
- 3.2.2 master 96800f0
- Note: 3.2.2cn include 3.1.1-cn
- Change GetPlayerAntiAirStrength returns form integer to real
- Optimized function XXXFountain code , no use local unit fountain
- Add patrol when unit at Fountain , prevent units from being blocked by other units coming from behind when leaving
- Support Ability AIhm
- MeleeDifficulty() use difficulty replace
- official AI code not affected
- Improved a small part of excretion (common.eai and B.eai) , now 24 player map run will 'smoothly'
- (DevTools) Independent Path Unit ID
- Build peon have compensate , when startloc have more mine
- If race_manual_loading or race_uses_mine_expansion , GetMinesHarvested will return TownCountDone(mine)
- Adjust HarvestGold mun, star game will have 4 peon HarvestGold , 1 peon HarvestWood(ELF is 2)
- Adjust game later stage HarvestGold methods , hope to handle the issue of peon and gold mines, but not Harvest
- Adjust all races global_build_sequence build shop priority(10+(80*(tier-1))) , all build_sequence_XX no call BuildUnit(1, shop) , and build shop leave to the global_build_sequence
- Adjust all races setting.txt , now if the races cannot used's set , the initial value is 0 or "" (like human race_ancient_expansion_help_id)
- Now GetFittingCreep calculation air_strength will additional judge GetCreepCamp(1, lvl, true) == null
- function AttackGroupAddNeutrals the number of loop of is reduced , a little more efficiency
- GetBuildingBuilt no take hidden and die
- If front loc unable to obtain , now will mandatory settings front_loc[0]
- FastBuildBuilding , TryMilitiaExpansionFoot no take die
- Buy JOB now use dynamic time_next_try , prevent waiting after moving to the shop
- ComputeFrontPoints and CheckFastExpansion just run once , this code no need repeated
- TELEPORT will when the teleportation unit dies , send call CaptainGoHome() , no longer send teleportation unit GetUnitXY
- now can send distant unit go teleportloc , preventing death
- All search the enemy function no longer use GetBJMaxPlayers() , now use enemy_force[i] , to reduce the number of cycles
- GetOneOfId and GetOneOfIdNearLoc no longer take hidden unit
- Neutral Enemy and Guarded Job check mechanism adjustment
- add check POWER_FOUNTAIN and HEALWARD
- when PathingThread done , check job not in automatic loop , PathingThread regular check will be conducted
- use pathing_done mark PathingThread done
- UpdateStrength no check Observer
- Army track change
- Optimization judgment
- Army track CopyArmy no longer copy same integer , hopes it can improve efficiency
- only check ai_player UnitStandard , check other player Standard will let FirstOfGroup is null , and Hopefully fix laggy and collapse
- Town track change
- Optimization judgment
- Town track CopyTown no longer copy same integer , hopes it can improve efficiency
- Town track SeedNewTownAtLoc town_num incremental now need TrackTown(town_num) return true
- SEND_HOME Adjust exit JOB logic
- Creating item will judge SlotsFree , prevent create on the ground
- Fixed repeat remove GuardPosition
- Stop at Shop buy item no longer recycle directly GuardPosition
- No longer transfer health points , now transfer town number , then hypovolemia unit can move other town , prevent players kill all at once
- MICRO_HERO add wait
- Use STAFF_OF_TELEPORTATION
- Use STAFF OF SANCTUARY and STAFF OF PRESERVATION ,SANCTUARY and STAFF OF PRESERVATION belonging to heal items, avoid discarding
- teleporting add check MASS_TELEPORT
- MICRO_UNITS add set DenyUnit
- SaveUnit will save 'hphx' and racial_militia string
- 'ohwd' and 'hphx' is UNIT_TYPE_SUMMONED , so now no exclude UNIT_TYPE_SUMMONED
- Use STAFF OF SANCTUARY and STAFF OF PRESERVATION
- FOCUSFIRE_CONTROL add FOCUS FIRE special_unit , now special_unit have 'hpxe' and 'espv' and 'ngsp' , Phoenix and Soul of Revenge and GoblinSapper
- Add exclude more Channeling skills : healingspray , stampederainoffire , magicleash , cloudoffog , unstableconcoction , grabtree , possession , ambush , devour , 852487
- Add no single point continuous treatment during combat , avoid unit wandering and can send home
- Add Deny
- Fixed AngleBetweenPoints loc setting error
- NEUTRAL_GUARDED JOB just run on CheckNeutralQuick , CheckNeutral run is repeat
- GlobalSettings.txt , ver_food_limit now use GetPlayerState(ai_player, PLAYER_STATE_FOOD_CAP_CEILING) , no longer is 100 , and DynamicSystem can keep building unit(I Sceptical)
- GetWeakestEnemy , GetStrongestEnemy , GetWeakAndNearEnemy , GetSecondNearestEnemy check GetPlayerSlotState
- GetExpansionPeon2 Adjust
- no take unit_buying_merc
- not take IsUnitLoaded , because ELF peon harvest gold
- Improve command judgment
- ANCIENT EXPANSION change
- add judgment , when expansion location have unit , judgment the unit OwningPlayer , if player is AGGRESSIVE ,just set ancient_exp_state to 4 , else build
- if no mine , set ancient_exp_state to 1 , and check all hall tree , use move tree expansion
- Can carry nearby ancient trees
- Militia_Expansion now check water_expansion , no take water_expansion
- Militia_Expansion and Militia_Expansion JOB now use Militia ability
- now peon can shape shifting Militia
- shop_distance_limit and raceshop_distance_limit now is 10000 , prevent being caught alone, some time , army walk but not attack_running , turn over game after Heroes being killed
- RETREAT_CONTROL no majorhero just retreat
- DETECT_DEFEAT JOB add self rescue , first saveyourself , no run kill or desperation_assault
- Optimized KillYourself code , now judge first destroy_buildings_on_defeat , not judging in the loop
- Choose self methods based on racial abilities , one ability use one num/mode
- Not recommended sale item or build(like UD)
- The function untested , but should can run
- Add desperation_assault closing mechanism
- Chcek Ally will check PLAYER_SLOT_STATE_PLAYING and Observer
- StartHarass check unit num , because Group Order max control 12 unit
- START_STRENGTH should be stacked in the same JOB
- Harass get targets not take hidden unit
- Not attacking targets near major_hero and avoid sending too many unit group commands that may cause stuttering
- Reset INVISIBLE_ COUNT , STATE_ATTACKING and STATE_RETREAT when exit
- ZEPPELIN_MOVE now can take POWER FOUNTAIN
- MANA_FOUNTAIN now can take POWER FOUNTAIN
- GetBuildLocation return home_location , when not take front_loc[0] , prevent leakage and build location(0,0)
- front_base_distance now is dynamic , first is 1100 , and increase according to AI difficulty , front_base_distance = difficulty * 50 + front_base_distance
- if race no use racial_lumber or race no harvest wood , front_base_distance additional additions 100
- BuildAtSpecialLoc generate a new placeholder build,home_location always create war_tree, prevent blocking of your home
- BuildLumberMillAtBase now use TownCount(racial_lumber) , no TownCountDone(racial_lumber) , hope Prevent AI building many cemeteries
- if tier is 2+ or 1.5 , and TownCount(racial_lumber) is 0 , will set racial_lumber == 0 , avoiding the cannot build
- SmallMapsAdd now check mapsize , prevent 1V1 use of big maps
- CheckTownBuilt max_towns take Max(max_towns,TownCountDone(racial_expansion)) , town_built[i] take have town
- SleepUntilTownDefended and SleepInCombatAM no longer running simultaneously , the code seem to be in conflict
- LocalizeNewTown no take hidden and die
- GetLocationTowerStrength no check hidden
- Strategy additional Improvements
- Remove SAC_PIT, UPG_SKEL_LIFE from Undead builds(thank Slayer95)
- AddUnitToAntiXX Computational UpgradeLevel
- Harass no longer judge unit quantity , because dynamic strategy make it difficult to achieve quantity
- Add PALADIN and DEMON_HUNTER Harass , PALADIN Harass UD , Because PALADIN have HOLY_BOLT and DIVINE_SHIELD , DEMON_HUNTER on 1.33+ can Harass , Because IMMOLATION has been strengthened
- Synchronization Dynamic Strategy to [master] , and removed Dynamic Strategy redundant upgrade hall code
- Rewrite Build Dragons and Mercenaries , all Strategy no longer alone build, buy code now on Dynamic Strategy
- Disturbance function global_init_strategy AddBlock
- Reorganized AddBlock
- Adjust all races global_build_sequence build shop priority(10+(80*(tier-1))) , all build_sequence_XX no call BuildUnit(1, shop) ,then AddBlock maybe can run ,and build shop leave to the global_build_sequence
- Adjust all races setting.txt , now if the races cannot used's set , the initial value is 0 or "" (like human race_ancient_expansion_help_id),fix ROC ELF race_has_moonwells to true
- Adjust UPG_BOMBS BuildAdvUpgr2 chance unitcount to 0.2 , Maximum to 35 , In the test, after building COPTER, the enemy has no AIR , the COPTER no research UPG_BOMBS not useful
- After the base upgrade, if the advanced barracks are not built properly, lower level units will continue to be trained
- Purchase mercenaries to increase randomness
- Remove Duplicates ROC GlobalSettings.txt front_base_distance
- GetSumLoc no longer used within the loop , prevent loc exceeding map range
- Debug show PingFrontPoints
- Console switch now can show state on Buttons and Reports
- (DevTools) Set switch status initial values on Commands.txt
- Note: B.J unable to obtain C.AI switch status , but all switch status based on C.AI , so developers must synchronize initial values
- Note: button only show main switch status , not player person switch status
- AMAI VS AI
- BlizzardVAI.eai ai script file read race.txt 1% and 2%
- Languages improve
- Spanish translation(@Slayer95)
- Russian translation(@Lolasik011)
- (DevTools) Optimize.bat change imitate MakeAll.bat
- (DevTools) Optimize.bat and MakeAll.bat final compilation TFT, prevent BJ final generation ROC
- (DevTools) MakeOptROC.bat code synchronization to MakeOptTFT.bat
- Surrender can be set on the console
- No human mode and shared mode will close surrender
- More job move to path system when path done , help job system more focused on combat
- (DevTools) because some job run on path system , if no longer possible to disable all JOB without running job system , so add a switch -- job_running , this can shut down job system all job , just need set to false
- Note: running on path system'job , they self running cycle may be slightly adjusted , because it's impossible to balance using 'second' and 'sleep_multiplier' two units of calculation
- Note: this will indirectly strengthen AI , because the interval between JOBs has actually been shortened
- Note: because shortened the interval , the code that traverses units will run frequently, and if a large number of units gather (such as 1V23 or 4v20), it will cause the game to latency(FPS become 0) earlier
- Intervene expansion priority , ensure expansion when not mine but have rescources
- (DevTools) Now can set backlanguage to not English , and synchronize from B.J to C.AI during initialization
- GetLocationEnemyStructures change to GetLocationEnemyStrength , add boolean only_structures use to distinguish only check structures or include structures
- MILITIA_EXPAND job no longer only run once , but only running on one mine
- RESET_HEALTH job processing group : unit_healing , unit_rescueing , unit_harassing , unit_zepplin_move
- Init Races checkr SlotState and Observer
- Fixed InitSpecialRaces not save hashtable but load hashtable
- add player races boolean for check ally and enemy race , check ally race use to set ally shopping build sequence
- HeroBugFixHealthCheck no longer check unit_healing group
- Build Lumber can try to avoid the absence of trees near the start location
###Fixed
- Fixed some translation errors
- Fixed some reports without translation
- Fixed AI would not buy mercenaries and dragons
- Fixed BuildMovePeonZeppelin no longer at first set build_zeppelin = null
- Fixed InitNeutralBuildings neutral_id[NEUTRAL_DRAGON_ROOST] use neutral_id[NEUTRAL_MERC_CAMP]'s number [i]
- Fixed InitNeutralBuildings [NEUTRAL_DRAGON_ROOST] and [NEUTRAL_MERC_CAMP] search Error
- Fixed Blizzard3VAI.eai player num, 12 to 24
- Fixed part of set xxx = GetExpansionPeon() lack set xxx = GetExpansionPeon2() when xxx == null
- Fixed a when AI have too many ally , game stuck or crashed
- Fixed AMAI VS AI , AI cannot work
- Fixed ver_neutral_hero_number initial value to 0 , than official AI cannot choose neutral hero
- Fixed PickMeleeHero non VERSION_FROZEN_THRONE third hero num, now is i + 1
- Fixed TeleportHome , Defeated ,CheckDefeated ,c_ally_total > 1 to c_ally_total > 0
- Fixed RemoveFromOwnForce bug , i will set 0
- Fixed CreatePathingUnitFull createdunit not using coordinates
- Fixed Second Choose languages cannot take effect , because some variable assigned by previous language, so translation missing go English backup cannot take effect
- Fixed all language Strategy.txt Strategy Name index , some language no unified
- Fixed TFT some item price and Time(based 1.36)(only TFT StandardUnits.txt)
- Fixed all pathfinding Createunit now judge race , avoiding peon counting wrong
- Fixed build and training stopped at the beginning of the game due to insufficient resources , now will skip this one , build or training the next one
- Fixed build BLOC_FRONT , now will check build Loc and home distance , avoid island terrain let the build construction too far away , like issues 116
- Fixed expansion to much , AI cannot harvest, universal_peon_assignment and peon_assignment now will contrast TownCountDone(racial_expansion) and TownHasMine(townid) , use the max
- Fixed BlockListCheck cannot limitation RefreshNeeded Refresh needed1[unitid] ~ needed3[unitid] , now BlockListCheck normal work , like 2.54
- Fixed GOBLIN_TINKER abnormal skill learning
- Fixed TFT ORC Strategy VersusHuman key building to Tauren Totem(Thank Slayer95 , Pull #123)
- Fixed Ritual Dagger check(thank Slayer95)
- Fixed QTLOOP sleep time < 0
- Fixed GetPlayerHeroStrength BonusStrength always use ai_player
- Fixed first_expansion_chosen now should correctly expressed
- Fixed IsTargetGood aggression error
- Fixed SendHomeMoveUnitToLoc repeat run semd home Job
- Fixed BUY_NEUTRAL_HERO JOB buying_unit GuardPosition not properly removed
- Fixed BUY_NEUTRAL timeout no end job
- Fixed HEALTH_FOUNTAIN fountain have enemies end job , prevent unit wander
- Fixed MANA_FOUNTAIN fountain have enemies end job , prevent unit wander
- Fixed InitAMAIGameCache not properly flush AMAI_AI.w3v
- Fixed GetHealer check GetHealerId return
- Fixed windwalk Order if exist unit skills level
- Fixed SELL_ZIGGURATS i always greater than ziggarray
- Fixed GetEnemyAllyStrength check Observer
- Fixed InitBuildArrayAM and SetBuildAllAMCore denominators are 0
- Fixed cannot use RITUAL_DAGGER
- Fixed MILITIA_EXPAND GetNearestSubGroupOfGroup take 4 peon
- Fixed exp_prepared keep open after opening
- Fixed CheckExpansionRebuild no check creep
- Fixed BuyNeutral use local retreat_home
- Fixed GetMana and SaveUnit no judge dawn
- Fixed FocusGroupRemoveGuard cannot exit loop
- Fixed HeroFleeRules no judge dawn
- Fixde use MOONSTONE no check dawn
- Fixed GetArmyHealthState fountain_available no determine dawn
- Fixed ZeppelinMoveJob unloadall fail , some time unloadall location cannot unloadall unit , now take ZTargetLocation random coordinate unloadall
- Fixed GetHeroToBuyItem would try to buy an item regardless of free slots.(@SMUnlimited)
- Fixed CheckExpansionTaken ancient expansion and item expansion return , if return false , then peon will expansion
- Fixed GetHeroToBuyItem no check is_healing_included
- Fixed GroupOrderAttack_d no Recycle Guard Position
- Fixed AncientExpansionJob recursion
- Fixed issues with SetTargetHeroes proper recovery after shutdown
- Fixed GetHarassGroupStrength strength statistical error
- Fixed harass_size[groupnum] no reset
- Fixed buying tavern hero not add buy unit to unit_buying_tavern group
- Fixed Debug Mode and Balancin Mode restore console settings , set on AI Setting
- Fixed Console cannot set not ally's CHATTER , DEBUG , BALANCE , LANGUAGE
- Fixed add water_expansion_list no check Resource Amount
- Fixed harvesting ghouls unable to take effect
- Fixed not set HERO_SKILL_MAJOR
- (sync)Fixed handling of shredder priority to not overtake priority or standard peons.
- New AMAI installer (powered by Electron) for a user friendly way to install to maps or directories (Thanks paulo101977)
- Commander is no longer installed by default if you use the bat scripts. You must use the new `InstallCommanderToMap.bat' file.
- Added a script
DisableCommander.bat
if you want to disable the commander post install. - Counter strengths are now translated.
- The install AMAI to a directory perl script supports passing an additional argument "false" to not install the commander.
- (DevTools) Stopped AMAI.mpq being generated, it is an old leftover from the old ways to run AMAI.
- (DevTools) Removed ancient AddToMPQ.exe and use MPQEditor for all operations under the hood.
- Re-installing AMAI should no longer increase map file size. Also maps file size after install appear to be about 40% smaller.
- Fixed some memory leaks mainly with the commander, this was more of an issue now that dialogs are being regenerated.
- Fixed Norwegian Commander caused by translating text to empty strings. Such behavior so should no longer break commander logic.
- Fixed an issue where air creep strength was assumed to be 0 which could cause AI to attack air creeps without a way to attack them.
- Fixed an issue where invisible pathing units were not moving on very large maps with lots of mines and neutral buildings and players.
- Reduced lag impact that invisible pathing units have on game start for large amounts of players.
- Fixed an issue where an ai could surrender and give all there buildings to Player 13.
- Invalid strategy commander message is now translated.
- Port fix such that commander menu titles don't go missing in some cases (from 2.6.x by jzy-chitong56)
- Fix translation issues with the commander and by using the commander language selection, also ensure english is the default for missing translations.
- (DevTools) Language selection dialog message is now exposed for translation.
- Min Support of Warcraft 3 increased to 1.33.
- A small chance for AMAI to pick the profile name of Legendary players. (from 2.6.x by jzy-chitong56)
- (DevTools) Also added ability to configure your own legendary profiles via new profile setting option "rare profile".
- AMAI now can use power fountains if available on the map. (from 2.6.x by jzy-chitong56)
- New Random Profile which is completely random on all personality traits. (from 2.6.x by jzy-chitong56)
- Just typing -cmd without any options will now open the commander as well as the ESC key.
- Commander player selection and strategy selections now have multiple pages with next and previous buttons. (from 2.6.x by jzy-chitong56)
- Added ability to change the language of the commander interface and actions independently from other players.
- Added a map pack that contains a few official maps with AMAI already installed for those that struggle to install or use an OS that cannot install AMAI.
- Disabled a flee rule for heroes which means when stranded on there own they are more likely to use a town portal to save themselves.
- Reworked the strategy timer to fix various issues with changing strategies and to fix issues with counters changing way to frequently.
- Tier and insane difficulty has less of an effect on the strategy timer than before.
- Make sure AI leaves at least one ghoul to continue harvesting wood in any case. (Pixxy)
- (DevTools) Refactoring of the TFT bat files to re-use scripts instead of duplicating script lines.
- Colour Balance on messages improved to be aligned with the players actual colour. (from 2.6.x by jzy-chitong56)
- Changed keyboard shortcut for commander to "-cmd:" instead of cmd and you don't have to leave a space after the first ':' anymore.
- Language dialog can now be set for first human observer if there is not any playing humans. (from 2.6.x by jzy-chitong56)
- Commander only shows valid allies on the initial menu rather than include enemies that cannot be interacted with.
- Commander enemy targeting will now highlight which players are allies so you don't confuse friend from foe.
- (DevTools) The numbered blizzard.j files are now removed and instead generated from the full original blizzard.j. Saves time when updating for new versions.
- Outdated links from the commander intro message.
- Fixed a bug in 2 strategies regarding priority of hero and frost wryms for undead.
- AMAI VS AI mode now makes use of the latest blizzard.j instead of a much older version.
- Fixed issue where profiles were being re-used all the time instead of when running out of applicable profiles.
- Fixed various unresolved issues on maps with more than 12 players. (from 2.6.x by jzy-chitong56)
- Should be a little smoother performance wise when running with more than 12 players. (from 2.6.x by jzy-chitong56)
- Support for warcraft 3 1.33 libraries.
- New chinese language translation, include Blizzard.eai [function Tribute]
- translation add more sentence for all language(translate by google)
- translation add chat_dynamic_counter unit type for all language(translate by google)
- Console add Page turning,adapted more than 12 AIPlayer and give more Strategy choose [Blizzard.eai]
- if no HumanPlayer on game, the first Observer must choose language
- Add Undead Upgrade UPG_SKEL_MASTERY
- Profiles adjustment
- New Random Profile which is completely random on all personality traits
- Also added ability to configure your own legendary profiles via new profile setting option "rare profile"
- A small chance for AMAI to pick the profile name of Legendary players
- Fixed issue where profiles were being re-used all the time instead of when running out of applicable profiles.
- Undead strategy add GargGhouls
- Add shop towerrush report
- AI now can use power fountain (if map have power fountain)
- At the beginning of the game, HUMAN and ORC have two peon HarvestWood
- Strategy additional Improvements
- Unreasonable build restrictions have been removed
- Main city upgrade priorities for all tactics have been rebalanced around 50 (Including ROC)
- Increased the number of training units for Tier1 of all races
- Adjusted the night elf training Hippo eagle command to reduce the occupied population of the Hippo eagle that can only be brought to the air
- Night elf Talon now use FAERIE_DRAGON against the air , because AI won't become a bird , match the MOUNTAIN_GIANT at the same time
- Human Knight strategy now use COPTER , no STEAM_TANK , and Reduced GRYPHON quantity and priority
- All races tier1 no longer build shop, all strategy tier2 and tier3 build shop , because shop have AddBlock
- AddUnitToAnti% no longer build hall
- HUMAN UPGRADE UPG_SUN_BLADE UPGRADE need LUMBER_MILL,CASTLE,BLACKSMITH(on 1.32,UPG_SUN_BLADE no need UPGRADE)
- Adjustment HUMAN and ORC and Night Elf number of peons for mines
- Non HUMAN _militia set now is empty
- Official AI is replaced form 1.33 (although there is no change) (Including ROC)
- No longer needed return bug , so notes part return null
- Make sure AI leaves at least one ghoul to continue harvesting wood in any case. (Pixxy)
- (DevTools) Refactoring of the TFT bat files to re-use scripts instead of duplicating script lines.
- (DevTools) The numbered blizzard.j files are now removed and instead generated from the full original blizzard.j. Saves time when updating for new versions.
- Fixed support for 24 players.
- Blizzard.eai,Blizzard1~4.j,BlizzardVAI.eai,DETECT_DEFEAT.eai,REVEAL_ENEMY.eai,UPDATE_STRENGTH.eai,MICRO_HERO.eai,common.eai,TOWN_TRACK.eai, ARMY_TRACK.eai, RETREAT_CONTROL.eai, RESET_WINDWALKER.eai, MILITIA_EXPAND.eai, MICRO_UNITS.eai, HARASS.eai, FOCUSFIRE_CONTROL.eai, ALL 12players→24players , 13players→23players, 15players→27players(self-adaption)
- common.eai,PlayerNeutralExtra 14players→26players (self-adaption)
- common.eai , sleep_multiplier , slm_start = 9, slm_end = 23, slm_end_mult = 3
- GlobalSettings.txt , sleep_multiplier , slm_start = 9 , slm_end = 23 , slm_end_mult = 3
- Other 12 Player→24players
- Fixed some not chinese language translation
- Fixed the Dialog only show title at first
- Fixed the Dialog cannot change language
- Colour Balance on messages improved to be aligned with the players actual colour.
- Add welcome message and opening tactical report Time of report (try to fix the problem of using default language for the first two reports)
- Fixed some strategy no hero3 or misspelled two hero2 (Including ROC)
- Fix Night Elf and Undead 's race_tower_id(Settings.txt) (Including ROC Human, Elf and Undead )
- Very minor balance tweak so less expensive units food wise are needed before AI starts to consider armor or weapon upgrades for them.
- Fixed an issue where dynamic counter calculations for team games made allied strength negate enemy strengths too much often resulting in an inappropriate counter choice.
- Enemy and allied strength calculations for dynamic counters no longer watered down by the number of players in the game.
- Strategy persistence profile setting now has an effect on the dynamic counters as it was supposed to.
- If an AI re-evaluates counter type to the same existing counter while on the same strategy it will no longer spam the chat to allies with this fact.
- Fix Night Elf initial mining logic such that they build the starting buildings first before completely filling the gold mine. (Pixyy)
- Support for warcraft 3 1.32.10 patch changes. (Pixyy)
- To reduce spam from your allied AIs they now only sometimes report what they are countering instead of every single time its re-evaluated, unless debug mode is on.
- At game start as there is nothing to counter yet the message to allies about what to counter will not be included.
- Improved Chinese language translations and various issues fixed. (Pixyy)
- Removed some explicit Chinese chat translations.
- Goblin Shredders now count as more wood cutting workers. (Pixyy)
- Creep building detection range slightly increased. (Pixyy)
- Tweaks to Brewmaster and Alchemist skill picks. (Pixyy)
- More resources (just over double) are now needed before the multi peasant fast builds can be used to avoid resource starvation. (Pixyy)
- Balance pass to all racial hero selection, skill selection and strategy selection. Mostly minor but most noticeable changes include (Pixyy)
- Night Elf increased use of warden and keeper.
- Reduced use of mirror image skill.
- Reduced the appearance rate of Goblin Tinker
- Strategy tweaks and optimizations (Pixyy)
- Improvements to human, orc, undead and night elf strategy compositions to make the pre-built strategies more effective when used.
- Removed non-useful units from harass attacks and fixed undead harassment group numbering.
- Hero priorities for building and resurrecting increased to ensure there are being built first.
- Tweaks to item buying priorities, town portals are more important, other items less so or no longer built.
- Improvements to base defense logic with more towers being built when spare funds available.
- Tweaks to the dynamic strategies to balance the counter units and correct some cases of invalid counter units being built.
- Tweaked ranged units to avoid melee units only if damaged to 70% instead of 90% and reduced distance to trigger slightly. (Pixyy)
- Fixed an issue where healing totems are not cast correctly. (Pixyy)
- Reduced number of mines needed before heading into high upkeep to help prevent dead time where AMAI doesn't appear to build anything. (Pixyy)
- Front base distance range slightly increased again to help fix night elf troops getting stuck in base. (Pixyy)
- Improved handling of the bug that the AI hero will get stuck healing at home. They will now return to the battle when mostly healthy. (Pixyy)
- Heroes a little more likely to teleport to rescue a town regardless of the profiles aggression and smaller threat levels. (Pixyy)
- Militia max expansion range has been reduced as militia did not always last long enough to be useful. (Pixyy)
- Ambush no longer used for hero units as its too easy to abuse and pick them off. (Pixyy)
- Fixed an issue where no tier bonus was applying to the dynamic upgrade system.
- Fixed an issue where human upgrades magic sentry and flare could not be researched by the AI. (Pixyy)
- Moved the
AMAI.exe
to make it clearer which bat file to use to install the AI. This will avoid installing without the correct pre-requsites in place on the map.
- Fix the chinese language translation/encoding issues (Thanks keamspring)
- Dynamic strategies are now enabled and act as a fallback for all strategies.
- Hardcoded strategies still set the theme and initial build orders.
- But AMAI will now have an element of countering what the enemies have built and what it has already built.
- Dynamic strategies change more frequently than the chosen fixed strategy theme.
- Dynamic strategies pick the attack type they are countering and a unit to focus on building until its next check.
- When AMAI is out of resources profiles with low surrender values, it will now do a last effort attack with all units including workers.
- New
InstallTFTToDir
perl script which can be used to install AMAI to an entire directory of maps e.gInstallTFTtoDir.pl "C:\Documents\Warcraft III\Maps\AMAI"
- Now requires a minimum warcraft 3 version of 1.32.
- Computer skill level is now shown by default on AMAI players.
- Reduced impact of summons on total caster strength as they are temporary units.
- Moved template files to
Templates
folder. - All war fronts are now taken into consideration for focus fire which should improve behaviour no matter where battles are happening.
- Halved front location distance from town center but now calculates an arc of locations to use.
- Tweaked english gramatical errors for various strategy messages.
- Stock availability/regen times are no longer divided by 5 in
StandardUnits.txt
.
- No longer a seperate AMAI vs AI installer batch script, installers now support both versions.
- Corrected tech tree to properly handle all changes since 1.24 to 1.32.6
- Improved support for 24 players.
- All 24 player colours are now supported by AMAI.
- Various messaging and attack targeting will now work with more than 12 players.
- Profiles can now be reused by AI players. This is useful for > 12 players in a game as there is not always enough profiles to set unique profiles.
- When the debug player is killed we will now switch to a new player to debug.
- The StrategyManager compile buttons now work again.
- Fixed warning message during script compilation.
- Ranged ground attackers will now try to avoid slower melee attackers that get too close.
- Focus fire micro will no longer accidentily wake sleeping creeps.
- Fixed an issue where AMAI would get stuck trying to attack its own base.
- Mechanical armies will not enter emergency healing state because the only non-mechnical unit/hero is damaged.
- Fixed some issues with the build logic where it would build the wrong priority units.
- Fixed support for pre-1.32 versions.
- Latest version of pjass.
- Missing licence text for sfmpq.
- Official Support for 1.30+.
- New
installToMap
scripts provided to install AMAI and VSAI editions to maps.- MPQEditor by Ladislav Zezula is now included to support this.
- These will increase the MPQ file limit on maps to 64 automatically as on official maps the limit is too low and prevents AMAI being installed.
- Alpha 3.0 dynamic strategy scripts have been harvested. Can be enabled by using the strategy manager to lock race strategies to the dynamic forms.
- Reworked the changelog for keepachangelog format.
- Tweaked english ally chat messages so its more noticeable who the AI is attacking.
- Removed grimoire and war3 exe hack support as it no longer works for versions post 1.24+. Only player edition "AMAI.exe" works.
- Removed MPQDraft executable as no longer useful post 1.30.
- Removed various files that are not of use.
The inbuilt grimoire provided with developer edition war3err updated for 1.24b support.
Languages using wrong check on race. Race checks should be in capitals. Should fix messages appearing for the wrong race. Debug traces improved and support for TraceI, TraceII and TraceIII
Support for 1.24b appears to be complete.
Fixed AMAI cancelling construction of townhalls.
Wrapped up a collection of updates/fixes to AMAI Portuguese language updated Bundled MPQDraft with the developer edition so people can make executables that work in the latest warcraft patch 1.22 from AMAI.mpq as grimoire will not work in this version of warcraft This builds core is going to be used as the basis for stability in a 2.54
The militia_hall now has the capability to be rechosen if the original dies. Focus fire job didn't appear to ignore dead units as focus targets. Ghoul proirity setting was not being used.
Turning off ver_heroes will ensure the hero heal army control is not used.
BuildAdvUpgr2 now has an extra parameter that determines the priority upgrade is at if it does decide to build the upgrade.
Added new columns to strength that is the strengths.txt that have advantages against a particular strength. Using the above, dynamic systems now take account what its allies are building. Added support for mercs into the dynamic system but not been added to strategies themselves yet.
FIXED Warning: RemoveLocation(null) fromm GetSubtractionLoc_dd(0, 1143034) DistanceBetweenPoints_dd(1143034, 0) DistanceBetweenUnits(1058434, 1124720) GetRangePenalty(1124720) GetTargetStrength(1124720) IsTargetGood(1124720, 10)
Decreased percentage of army damage required for healing. Attacks on double expansions only occur if AMAI more likely to accomplish this task. CaptainGoHome() re-enabled but both enabled or disabled flight and flee behavior can still occur. Another buy item job bug. Placed in sheeryiro's chinese as the default and Dr fans as optional replacement as fans may be useable for some. Buy stutter fixes for neutral unit jobs implemented.
Calculation error with the restriction of militia fixed Added ability to add structures to the dynamic build sequences. Will only ensure building one of the particular structure. Undead/human dynamic tiering systems implemented Added the missing wyvern unit to the orc dynamic tree
Extended resource blocks to allow placing a block on food as well as just gold and wood and used to check enough food is used before building a number of units. Started implementing system to night elf/orc so that it dynamically decides when to tier up or not. Ally Attack process is no longer running in games where there is no ally which caused AMAI to sometimes attack same target twice. Fixed stutter behavior on the hero when buying item. Fixed bug with a variable not set on the buying item job. AMAI should restrict number of militia to build based on enemy strength in base.
Turned off the CaptainGoHome() fnc in the racial attack code as when retreating from battle they resume attack to fast. Turned off hardcoded unit micro controls too see how amai manages without. Some improvements to buy item process so units not ordered multiple move orders every 0.01 of a second.
AMAI 3.00 Fixed bugs in dynamic calculations causing bad unit ideas at start up and some units never being built at all. Integrated dynamic strategy systems with profile uncertainties and strength prediction rules. Size optimizations. Fixed missing return statement on buy item causing the stutter behavior. Implemented upgrade system to majority of upgrades. Fixed a bug where militia stopped humans teching from the beginning of the game. Ensured militia return home if for some reason the attack ends early. Fixed bug where peasant would be stuck at the expansion if someone else built expansion before them. Reduced the tower strength additions from towers. First tier teching way to slow. Added wood requirement to be below 550 as well as its other conditions to build a shredder. Fixed a bug where AMAI picked up dead expansions in the double expansion detection. Dynamic strategy selection now ignores some really really low strengths when countering. Profile strat persistence now adds a bonus to highest probrability of countering. Temporarily fixed issue of heros having loss of control from AMAI Slight improvement to creeping to avoid going to creep then running away cause a unit got hit. Fix for hero trying to use the unpathable fountain in map hail stone (i.e actually moving to point (0,0) on map).
FIXED Divide by zero error in BuildAntitowersStrength(100, 40) DynamicBuildSequence(100, 40) build_sequence_DynamoH() build_sequence() build_sequence_all()
FIXED Divide by zero error in GetTimeToReachUnit(1113004, 1051751) BuyNeutral(292) TQDoJob(20, 292, 0, 0) TQHandleOnce() TQLoop()
Memory Corruption:
FIXED Warning: RemoveLocation(null) from GetSubtractionLoc_dd(0, 1145177) DistanceBetweenPoints_dd(1145177, 0) DistanceBetweenUnits(1094523, 0) HealthFountainJob(1094523, 80) TQDoJob(15, 80, 1094523, 0) TQHandleOnce()
FIXED Warning: RemoveLocation(null) from ZeppelinMoveJob(1, 1057835, 1146160) TQDoJob(1, 1, 1057835, 1146160) TQHandleOnce() TQLoop()
FIXED Warning: RemoveLocation(null) from GetSubtractionLoc_dd(1113051, 0) DistanceBetweenPoints_dd(0, 1113051) DistanceBetweenUnits(0, 1076587) GetRangePenalty(1076587) GetTargetStrength(1076587) IsTargetGood(1076587, 9)
FIXED Warning: RemoveLocation(null) from GetSubtractionLoc_dd(0, 1196004) DistanceBetweenPoints_dd(1196004, 0) DistanceBetweenUnits(1060202, 0) GetRangePenalty(0) GetTargetStrength(0) IsTargetGood(0, 0)
FIXED (and safely) Warning: RemoveLocation(null) from GetSubtractionLoc_dd(0, 1186145) DistanceBetweenPoints_dd(1186145, 0) DistanceBetweenUnits(1181666, 1053583) MilitiaCheckJob() TQDoJob(27, 0, 0, 0) TQHandleOnce()
FIXED Warning: RemoveLocation(null) from TeleportHome(1119449) ExecuteSaveHero(2, 3, 0) SaveHero(2) MicroHeroJob(2) TQDoJob(33, 2, 0, 0) TQHandleOnce()
Fixed human and orc resource harvesting
Fixed some bugs in the strategy calculations. All the racial bonuses where being ignored and profile strat persistance value was ignored. Strat persistance is no longer in the global settings as its value is controlled by profile values. race_min_ghouls, ghoul_prio, and race_max_ghoul racial settings added ver_optimal_gold, ver_flee_multiple1, ver_flee_multiple2, ver_flee_multiple3, ver_low_aggression, ver_high_aggression global settings added Fixed a bug for custom amai's where the zeppelin job looked for a zeppelin so amai would error without that unit. Now correctly uses unit that uses the 'transporter' tag Fixed a problem where amai would try and buy healing item for hero from a merchant when merchant is guarded. Fix to the aggression checks so it uses amai's current aggression instead of its base aggression. Fixed bug in apply table changes where it would fail to add decimal and negative valued settings correctly. Apply table changes should now re-create the entire global settings file if you happen to delete entries(the values will just be default values so are not all up to date) Fixed bug with peons and invisible units being detected by getlocationcreepstrength. AI_COMP equivlence type added which is made to give a unit type multiple names, main purpose is for the standard ai compatability. Fixed a bug with the CPU profile being picked in the ROC version AMAI will supply its fighting army with reinforcements if battle still going for a long time. Fixed bug where timing was using incorrect scale for buying neutral heros. Fixed a nighttime timing bug for buying neutral units. Bundled Swedish language updates by Thunder Ey
AMAI 2.53
- Re-starting from 2.52 due to tech build failed
- Applied grimoire and pjass updates
AMAI 3.00 -Created function that determines which strength to counter to -Investigation of jasshelper integration
Updated grimoire to 1.5 beta for patch 1.21b support Fixed a single memory leak in teleport home code
Fixed some bugs in the strategy calculations. All the racial bonuses where being ignored and profile strat persistance value was ignored. Strategy persistance is now a multiplicative amount bonus on the total priority of the strategy. Strat persistance is no longer in the global settings as its value is controlled by profile values. race_min_ghouls, ghoul_prio, and race_max_ghoul racial settings added ver_optimal_gold, ver_flee_multiple1, ver_flee_multiple2, ver_flee_multiple3, ver_low_aggression, ver_high_aggression global settings added Fixed a bug for custom amai's where the zeppelin job looked for a zeppelin so amai would error without that unit. Now correctly uses unit that uses the 'transporter' tag Fixed a problem where amai would try and buy healing item for hero from a merchant when merchant is guarded. Fix to the aggression checks so it uses amai's current aggression instead of its base aggression. Fixed bug in apply table changes where it would fail to add decimal and negative valued settings correctly. Apply table changes should now re-create the entire global settings file if you happen to delete entries(the values will just be default values so are not all up to date) Fixed bug with peons and invisible units being detected by getlocationcreepstrength. AI_COMP equivlence type added which is made to give a unit type multiple names, main purpose is for the standard ai compatability. Fixed a bug with the CPU profile being picked in the ROC version AMAI will supply its fighting army with reinforcements if battle still going for a long time. Fixed bug where timing was using incorrect scale for buying neutral heros. Fixed a nighttime timing bug for buying neutral units.
IDEA: Check army has retreated all the way home before allowing it to continue back to attacking NOTE: Time in amai is all /5 but the timing system for jobs uses the real time without any measurement changes NOTE: AMAI not supporting change of day scale if thats possible for custom maps.
Added another streamlining to the militia expansion control to prevent amai reforming its troops and so militia end up getting beaten up. Fixed a bug where if building at a mineloc failed amai wouldn't just build the unit normally. Fixed bug where amai thinks it should retreat from units that are not detected by amai. Heros get added back to the assault group if they succesfully buy an item now.
Moon well control changes to the send home controls when all moon wells are empty so hero will buy items from shop. Improvements to the tower rush code to improve reliability and integration, in otherwords no longer as bity as before and also amai builds towers towards enemies base instead of randomly all over the place. Fixed a bug where heros wouldn't use healing salve on itself properly for healing.
Tried to implement zals micro idea but dosn't seem to currently make any effect. Jungle around with micro hero rules to hopefully and also improve likelyhood it teleports in case its surrounded. Need to test to see if give item to hero when its in another hero works autmatically. Implemented a hero surround detection that is an extra tp check even if its on another healing path.
Implemented Blink micro control to be able to save the warden. Increase creep camp strengths of orange and red camps to negate the strength of the hero and prevent some occasionaly wild choices. Finally been able to re-enable aiandys healer controls (i.e. statues staying at distance from battle to heal) after some heavy messing around. (had been disabled due to the job crashes they were causing previously)
Setbuildreact now builds units of different types simultanously instead of building the highest amount unit first Setbuildreact will always build the units starting at the proity of building all of the unit type that has the lowest food First farm is always built at main base even if you have build farms at front option on Increased number of millitia used in base defense Micro unit control is now always on Fixed a bug where a hero with full inventory couldn't start to buy an item they had to already be buying Fixed a boolean bug on getmajorhero that caused an occasional error of fleeing on maps with creeps at map center AMAI should now no longer go to buy items when its on the attacks as its supposed to (used to go on trek to buy items in the gap) Added missing human upgrade to increase lumber harvesting
IDEA: Hero should look for the healing item on another hero if that hero is close by and get it off him(This will also subsequently fix issue of wrong hero selected at shop) TO DO: BLink functionality usage for warden TO DO: Zals micro system idea and improve healer usage so they stay behind the army instead of always staying right in the action
Fixed issue with vs ai edition where there was a chance in ROC for a hero not to be chosen Fixed issue where if you have a custom AMAI with custom races AMAI still required the original race folders to compile
Human v human matches - Always 6 foots, 6 priests, then spell breakers
Fixed some issues of racial healing items not being able to be brought due to heroes out of range. Fixed issue where buying and emergency item did not ignore if heroes have no free space.
Fixed issue of the correct number of ghouls not aiding hero in the attack Fixed an issue where on certain maps some creeps were regarded as expansion creeps due to how close they are to the expansion.
ERROR: Town spam still present (affects undead more often) ERROR: Check droping item when inventory full control. ERROR: Heroes not buying any items from shop see orcslow replay.
IDEA: If player attacks an amai in ffa give amai more aggression against that player and maybe even base its counter units on what that player is building to solely attack that player. 9/05/07
Single melee attack ally attack system improvements If you have more types of dragons they are succesfully added to the assault group if brought. Some fixes so that the wave indicator increases correctly and to improve ghoul attack routines Increased frequency of unit micro checks. Fixed some bugs where army would just give up for no apparent reason Unit selection as a hero system if hero dies now implemented into amai. AMAI will now automatically build a required number of ghouls to harvest. The expansions will now rebuild with the priority specified in racial settings if destroyed but still owned.
ERROR: When army retreats (i.e heros killed) some units dont retreat properly and stay at enemy this results in the entire army getting sent to save the one unit. This causes AMAI to lose all its units and become defeated when it could of saved itself. Need to force all units back home when its retreating would seem safest option. ERROR: Went to get item, army went to attack creeps so after hero got item it attacked the creeps guarding the item shop. ERROR: Need to teleport away when surrounded and can't path away. ERROR: Still undead ghouls not aiding hero in attack. Seems 2 reforms needed to kick start.
Fixed issue where teleporting home would set break_attack variable when attack wasn't running causing a lock up of waiting for amai to retreat Fixed issue where teleporting away when enemies close by only occurs when AMAI is in an attack fixed a double free of group Fixed a bug with ver_heroes off making AMAI never attack properly Fixed some bugs that could occur with AMAI trying to buy units from merchants that it failed to path too.
ERROR: For some reason War2 always displays needs healing at beginning of game even though this shouldn't happen
Fixed issue with custom named ai's for pitting against amai
Player pink of last replay has test of the new blademaster thing in (DIDINT work) little bug fix to the teleporting when retreating where it would teleport home when they never even got to the enemy
IDEA: blademaster when going into windwalk should stay without guard position till either the invisibility has worn off. Should also keep moving with the army if no enemies around.
CHECK: call FlushGameCache(InitGameCache("GC")) set udg_GC=InitGameCache("GC")
should be flushed when inited to make sure they are clear
Fixed one location leak (normalizes to 40 permanent locations per AMAI player) Fixed five major group leaks (reduced from 1300 leaked groups to 300 leaked groups with 2 AMAI players)
Some attack system speed improvements Attack reform length decreased from 20 to 7 due to bug fix showed error in this value Improved the reform until target dead system to keep choosing new units to attack if in area Added check to harass so if harassing player can see him so not to just wait around. Now AMAI will always go for the enemies expansion first as its always the weakest point of an enemy.
IDEA: Use buff ability code to check if blademaster is invisible.
Fixed issue with blizzard orc ai used ENDURANE_AURA instead of ENDURANCE_AURA (syntax fix) Pjass will now check the standard ai's have no compatability problems with the AMAI's compiled common.ai file Harass can no longer be given to units currently doing something else like buying a merc or item Fixed issue of zepplin not droping units it picked up. Implemented idea: If army is outnumbered and hero with portal is present, they should town portal away instead of running For blademaster harass there is only a 30% chance it occurs if blademaster is picked as first hero. Massive strategy upgrade checkover and other misc strategy improvements.
IDEA: Aggression should increase the less gold mine gold AMAI has available so they might take an expansion.
NOTE: Do not beleive still entire food usage is used in all strategies(needs looking into)
Delay for windwalking harass attacks now works. Blademaster periodic harrass increased from 60 to 150 time units. Effectively another 7 mins before doing the harrass again. Blademaster no longer does his harass if nearest enemy is undead. Hopefully fixed finally the focus fire blademaster harass.
IDEA: Improvement to harass so it wont harrass if target is at the undead main base instead of just getting the nearest enemy.
Fixed a bug so AMAI will change target if it can't attack its target, was using local variable so would never change. Added a delay before windwalking harasser attacks the next target. Hopefully fixed the bugs in the focus fire controls.
ERROR: Two windwalking stuff implemented never worked
Hero drops of items only occurs when it wants to buy a healing item and will drop an item which is not deemed a healing item or a town portal.
ERROR: Windwalk usage in focus fire on player, need to realise when its windwalking but doesn't focus fire if it missed the first check ERROR: Be nice to have a delay before AMAI blademaster does its next harrass attack on its victim.
German translation by Sagen completed Added global setting to turn off the give up mechanisms of the ai Modified code slightly in DefendTownsCond in hope to fix the spamming tower bug
Fix so hero drops items to buy new ones works correctly
ERROR: Some rare bug has been confirmed that causes amai to spam building towers+graveyards everywhere- Need to check replay AMAI glitch (major build code bug)
Fixed an issue where firelord could not learn incinerate ability Fixed an issue where blademaster focus fire windwalking was used on buildings and creeps, turned this off so blademaster dosn't waste mana on them. Improved focus fire systems with invisible units so they can focus on units further away as are able to move around battle without notice.
Hardcoded Error: Peons that are building get targeted by harass but the harraser can't attack unit so it wanders. (most noticeable problem with windwalkers)
Fixed an issue where focus fire would not turn off windwalk once the units guard position was recycled Fixed issue with strategy manager not correctly activating a bug if fix for new versions of perl
Fixed issue where units were still not correctly removed from the harass group. Units in harrass will immediatly join up with army instead of waiting until the army returns when they have returned home. Implemented a mana potion usage system into the SEND_HOME controls.
ERROR: Windwalkers need to turn off there invsibility when they recycle guard position from focus fire controls ERROR: Noticed that the reform until base dead can keep the units stuck because not all buildings destroyed and so never finish the attack cycle. Annoying blizzard bug with the attack captains it seems.
Fixed aload of issues that were probrably causing location and group stack corruption amongst AMAI Fixed issue with focus fire and windwalking so the units regain control at the correct time Fixed issue where a unit in the healing group would try and buy a merchant item. (The send home controls deals with that so its a uneeded conflict) Added a third hero bonus option to the strategy editor due to development demand. Improved macro with night elf so it should be able to get hero out a little faster.
ERROR: Harrass units if meet a major army should then rejoin the assult group once home. (best way as doing immediatly harasser will become occupied at the harrass location and be killed by bad ass army) ERROR: Need to get AMAI to change harass target if target is not attackable.
Fixed wind walk focus fire control to now work correctly.
ERROR: Focus fire with windwalkers, they have issue of if they went invisible but no longer in range to focus fire and there guard position is not recycled back until they visible again. ERROR: Need to have an emergency mana buying for heroes harassing. Current method is unreliable.
There is an invalid racial setting as changing farm_food is done by the profile and not the setting. Tweaks to farm building system and fixed an issue where if ur over the food limit amai builds 3 farms. Some hero prority tweaks based on deutschepharmas work and updated bases with the latest battle.net stats.
Focus fire and retreat control systems now do there checks around the main army and not just the major hero himself. This fixes some bugs of focus fire stopping working cause major hero went off to heal etc.
NOTE: Focus fire control usage of windwalk just can't implement nicely to give control back to the blademaster. It was ending up sending home the blademaster mid way in combat.
Fixed a bug where units used for harassing where not removed from the harass group when harass has finished. Fixed issue with healing salve not able to be used to heal hero in the send home control Fixed issue where send home control was trying to use healing salve mid battle.
NOTE:Idea: The above healing salve changes need to be addressed for all regenerative healing items and all require target items for custom game support. ERROR: Still hero wont have his guard position recycled. Very strange.
Windwalk is now used in the focus fire systems. Fixed a bug where units that can hide at night didn't hide if were going straight to the shop.
ERROR: If hero has a healing pot etc it will sometimes not send hero home and instead try to use that item. ERROR: Harrass blademaster hero will not recycle guard position correctly once its removed during focus fire. ERROR: Get focus fire to run off the correct hero. Currently occurs from a hero who harassing when it should be in the assault group.
Fixed an issue where if hero does harass he should stop harass if town is threatened unlike other harasses. Fixed an issue where army would stop creeping when the only hero required healing. Windwalk capabilities implemented into the focus fire controls. Fixed an issue where harassing units would be used for buying items. Provided a temporary fix to zepplin storing units it shouldn't be by unloading if zepplin following hero. NOTE:Blademaster temporariliy at high proirity. Its default is normally 21 Chinese Language translation implemented by Dr Fan
ERROR: Town not threatened properly with small amount of units and can cause blademaster to be stuck in his harass. ERROR: Add windwalk usage into the focus fire controls so on a new unit blademaster uses windwalk.
Fixed an issue where harmed harrassing units where not added to the unit_healing group. Hero harasses tested and do work fine with the current harass system (albeit few small changes) Wind walk can now be used more effectivly for retreating and harassing (not just for a blademaster) Fixed a bug where unit wouldn't go to heal due to a conflict between the harrass and healing system.
ERROR: Strange issue of zepplin deciding to pick up a unit and not dropping. Seems to be related to it picking up harmed unit but then unit heals and somehow gets repicked up and gets stuck.
Fixed a bug where the item system would clear units from there use in other scripts. Fixed some bugs where a unit was picked to do multiple buying scripts so became stuck.
Fixed issues where units being used for other things could be sent to buy a merc or hero Set up group for when units are buying but is not currently used.
ERROR: There is no group for units buying items or mercs or taverns individually. Needs to be set up to prevent the issue where a unit can become stuck as tries to do multiple things at once.
Fixed some issues with using shop when no item space to buy an item.
Aggression bonus is higher if food usage above 99. Night elf more likely to build ancient protector if is undead enemy. Fixed issue where moon well control wouldn't send units home properly if no moon wells available. Generally increased all racial aggression bonuses. Fixed issue where if harrass killed target it could possibly not retreat correctly. Harrass controls no longer take over the harrass units if the harrass job wont work anyway.
Implemented ideas for night elf strategies researched by shadowstrike. Re-enabled other unit harrassments now that the system is working correctly again.
Fixed issue where units would think they had a healing item because it was null. Improved effeciency of the ancient expansion attacks.
ERROR: Tavern not usable and unknown hero error
Fixed issues with harrass code and detection of towers. Fixed issue where peons inside buildings where being targeted by the harrass code. Fixed major bugs in the strength calculations in the harrass code. Harrasses are now much more responsive and better in retreating if harrass fails. Fixed an issue where cannibalizing healing ghouls would stop cannibalizing before fully healing themselves from the current corpse. Fixed an issue where amai would try to buy emergency items that had a delay before being available.
ERROR: Ancient expansion can be a bit slow when gathering hero around tree. It sometimes takes a while before they all go to attack. ERROR: Hero:use healing item appearing on units. When undead hasn't build the shop thing.
Fixed issue with night elf macro due to it thinks it has enough wisps from the pathing wisps. Fixed issue with invulnerable wisps in mines. Fixed issue with night elf doing ancient expansions all game which is a waste at late game. Fixed issue with focus fire targetting hidden and invisible units.
ERROR: SENDHOME control dosn't take into account healing items at merchant have a delay before ready
May need to on the large maps put delay to pathing so people can give initial orders. Replay with issue of neutral pathing failing, CreateUnitAtLoc fails to work- replace with createUnit and it now works hmmm
Fixed issue where unit to buy from shop or tavern would be a dead unit. Fixed issue where buying unit would move back and forth taking longer to reach the shop. Fixed memory leak in moon well control. Fixed memory leak from hero flee rules. Fixed memory leak from elf mine controls. Fixed memory leak from ancient expansion. Fixed a major issue with Getexpansiondistance destroying the home_location variable. Fixed an issue where compute front points used knights for pathing, this caused some extra lag as knights are not preloaded units unlike wisps. Reduced start lag by making the rest of pathing thread start 3 seconds after towers are computed.
ERROR: replay of nerubian towers spam. This seems similar to an issue that once occured with loads of night elven towers being built at expansion. Needs looking into. ERROR: Invulnerable wisp issue keeps occuring on destruction of night elven ancients.
Found bug in focus fire control so is now working properly again. Increased melee focus fire distance from 200 to 250. Tried to set tower rush to more likely occur at night time.
Idea: There is alot of improvements to focus fire controls that can be made. Also need to tell arcane towers to focus on magic units only instead of wasting on some grunt or something.
Massive work fix to the languages checking whats missing and fixing bugs in the ROC language transitions
ERROR - Focus fire control is not working. focus fire group keeps being checked as empty
Fixed a major bug that resulted in world editor and standard blizzard ai's building multiple town halls, not expanding correctly and doing conversions improperly and most likely other wierd issues.
ERROR - Hardcoded bug where forces cannot attack creeps when they sleeping and one of the creeps is invisible IDEA - Add a system to night elf ai to realise when its got trapped and target a farm to get its forces out.
Fixed a grammatical error in english commander.
ERROR - GetAMAIId not working for ai properly, not working at all. Is always blank.
Fixed a major locations memory leak for start locations. Implementation of grimore 1.1 and error detection systems. Fixed a bug in the teleport to nearest allied town feature. Fixed major leaks in micro hero script. Fixed major leak in getexpansiondistance function. Fixed a bug in militia expansion where once amai had enough units it would suicide creeps with constant militia if it lost its army.
Languages are now versionised to fix issues with incompatabilities with ROC version.
Massive increase to calculation speed of pathing for gold mines - will cause 1 second lag on the large player 10 - 12 maps Massive increase to calculation speed of front points Massive increase to calculation speed of pathing for neutral buildings These increases fix issues on larger maps where certain neutrals would be detected as pathable when they are not. This would last for a very long time till the calculations caught up. Fixed an issue where night elfs wouldn't give up sending a wisp to a mine in an ancient expansion (state 5) Updated instructions of AMAI vs AI Fixed an issue where invisible units are detected by AMAI defense systems and can be used as an exploit to force AMAI into defending its town.
ERROR- Maps not using Melee(latest patch data set) will not work properly and never upgrade there town centers. ERROR- Ancient expansion state 1 needs to have re-calculation in step to see if it should skip to 5 if its current build expansion gets destroyed off
ERROR- Healing fountain on friends map was used ERROR- Sending peons to build but current location has building enemy town center so build order should be canceled (INSANE ONLY) IDEA- Simulataneous calculation of pathing for neutrals to speed up the calculation processing so it is much faster.
Fixed an issue where strength calculations for attacking players in function IsTargetGood was incorrect which caused less hero rushes than should of been
ERROR- Hero tries teleporting to a town where town hall not yet finished construction.
NOT PROBLEM - Adding new heroes error was a false alarm
ERROR- When adding new heroes as they cannot be detected correctly.
ERROR- Stealthed units in enemy base will prevent enemy from doing anything due to the army control.
ERROR- Certain maps cause the no tavern debug message issue (Might be ok to turn off now)
ERROR- Reports of Zepplins not able to drop there units - Dessert Strife map
(Not a bug as map not suited for AMAI play)
ERROR- Need to update instructions of AMAI vs AI as odd teams are AMAI, even teams are AI
IDEA- AI creeping to much instead of attacking player
IDEA- More Hero rushes?
Norwegian language option enabled. Romanian now has the correct language encoding. Chinese language option enabled but unknown if it is working. Fixed missing strategys in the english language - Need translaters to update the other languages.
NOTES: May now need to version the languages and make independent blizzard.j's as different strategies means we required different translations.
Fixed an issue where melee ai's created in the world editor failed to work due to the BuildExpansion multiply defined.
Fixed an issue where amai would sacrifice its first peon into the enemies base when tower rushing.
Tweaked minimum attack strengths of profiles. Fixed an issue where militia expansion attacks amai didn't have enough rescources to build hall afterwards.
ERROR - Can't detect where amai is getting two zepplins from when all strategies only say one. ERROR - Tower Rush one peon always goes straight into heart of enemy base to its death.
Town threatened level system to be implemented Improved town threatened calculations which greatly reduces false positives. Fixed issue where creep camp choice was still using old strength system introduced in rc1 so would rarely attack strong creep camps.
NOTE: Variable currently checks threat against teleport_low_threat in the improved town threatened calculations
Fixed same issue that affected the gold mine system in the neutral building system. (This is just currently using both old and new checks so should still fix the bugs the aim of the new system was to fix)
ERROR - Militia sometimes not saving cash in the mil expansion so peasant becomes stranded at mine waiting for the rescources. ERROR - Got confirmation same error with gold mines affected the neutral buildings themselves.
Fixed an issue where computer beleives mine is not guarded. Fix required combining new code check with old code. Removed the bat files so it just uses the executable files. Fixed an issue where amai hero would teleport home when hurt even though they are winning the battle.
Note: Similar issues could occur with neutral shops as what happened with the gold mines so shall keep on a lookout.
Idea: Right idea for town threatened system is as follows:
- Low threat most threatened town - Just set defense position to that town (1500 distance start)
- Medium threat most threatened town - Send attack captain here only NOT FORCED (Blizzards town threat alarm not gone off but high threat)
- High threat most threatened town - Teleport and send attack FORCED ATTACK MOVE(Blizzards town threat alarm goes off plus high threat)
Fixed a crash that could occur as getexpfoe current_expansion_creeps variable was not set and had potential to be referred to before it had been set anything. Fixed an issue where creeps guarding a mine could cause the checkexpansiontaken to return true.
ERROR - ok so no idea whats causing the error where computer beleives mine is not guarded and tries to build mine.
Updated all strengths of units to use the new system
ERROR: Replay "attack crash" occurs right at end of game with humans not mopping up the orcs. ERROR: Manual pics will need updating for the tutorial.
Fixed a long time standing issue where amai would finish its attack even though some enemy structures are left in the area. Fixed issue where amai would go back to attacking creeps when town was threated. Removed an invalid global setting in ROC version and the setting comments are now next to the correct settings.
ERROR: Note get tower strength only adds 1 instead of getting the tower strength amount. Needs to be investigated. (Investigated and system here is correct)
Fixed a rare bug in the attack sequence that could cause amai to never end attack due to loss of the original targets location.
The amai and ai implementation broke the neutral hero system. Issue has now been reactified. (Need to update manual on amai vs ai) Fixed some calculation errors in the peon builder system. In some cases not enough wood lumberers where being built.
IDEA: Even more accurate strength measurement would be the average of the level and food usage. ERROR: Undead got stuck in an attack loop under "reforming until target dead" and failed to ever attack.
Fixed an issue where heroes where having loads of item jobs all running on the one hero that each caused conflicts with each other and in some cases made it fail to get items. Reduced teleport threat distances global settings to 4000,2500 from 5000,3000 The micro hero rule that checks enough strength now uses the army strength around hero instead of the players entire army. Orange strength bonus increased to 2 up from 0
Reduced town threatened no threat radius to 1500 from 3000. Gimoire 0.6 implemented.
ERROR: Failed to build neutral hero on certain map. ERROR: Failure to get emergency items.
Fixed crash bug in ROC version of amai
ERROR: Town threatened system is definatly an issue with it incorrectly determining a town is threatened. Needs improving. ERROR: AMAI will not properly retreat from creeps to counter a town threatened issue unless they town portal. They instead end up re-attacking creeps when they should put attention on base.
Alot of Script clean up Neutral buildings now uses similar creep detection used by the gold mines.
Fixed crash in build loop caused by expansion_creeps group not set up for the fast expansion mine Fixed an issue where racial shops are not built in certain strategies so races cannot heal. Fixed an issue where whole computer stopped attacking when only 3 units harmed. Instead will do heal check once then attack. Only if the overall army condition is below a certain threshold will computer no longer attack till its healed. Distraction attacks now occur only when the harass is 1/3 or less of the strength of the entire army. Fixed an issue where tree of life would uproot when enemies are close by. It should only do so if area is clear Tried to fix an issue where tree of life would not entangle mine and instead joined army. This occured because the reset timer ran out. Calculation of strength now degrades the heroes strength if he is hurt. Tweaks to hero bonus strength bonuses generally reducing them. Fixed a missing Undead:S in certain language profiles.
Fixed the issue where AMAI would build at mine before creeps had been dealt with (Finished) Fixed an issue with the usage of scroll of healing as hero dosn't wait until army is near him Modification to way advanced upgrades work so it now has a max prority it could be and should help prevent lengthening of time to next tier
ERROR: Heros can try to buy multiple items at same time. Not a problem if items are all at same shop but not when different as hero gets stuck moving between the two shops ERROR/IDEA: If hero has no item space to heal army the ai is basically doing nothing which is a problem. If it has enough units shouldn't he really be creeping? ERROR: Loads of errors replay saved. Orc built lounge late. Didn't try to build items. Other races the build code completly froze and stopped building anything.
Finished system so all blizzard entertainment and other ai scripts for the original ai scripts are all compatible without requiring any changes what so ever Fixed issue where canabilizing ghouls would keep switching between cannablizing and harvesting nearby wood when trying to heal Fixed issues where AMAI would build at mine even when creeps where present at mine ( not finished as always a delay from when you first get current_expansion calculated)
Code changes to the way units are set so that original ai code no longer needs any changes what so ever to work with AMAI
Trying out a whole new mpq method using a tool called grimore that uses dll injection to load the ai files. This should fix those ROC using TFT stat issue and also allow people to use parameters to load game in window or use opengl etc. (loadmpq.config)
ERROR: ROC isn't working. The ai scripts keeps crashing before even racial scripts turn on ????? ERROR: Might be an issue with upgrades where the advanced upgrade system is actually lengthening time to go to next tier because upgrade priority is higher.
Have idea to solve last compatability issues between amai and normal ai so that no change at all is required. same functions in both amai and ai are going to have a condition in function which determines whether to do amai or ai style of the function
Human,orc and undead strategy optimizations so the anti strengths are more accurate to the game percentages.
ERROR: AMAI will try teleported to towns when the racial hall is not yet finished.
Fixed the crash bugs in the pathing system. Fixed the canpathtoloc function and system is much faster at its calculations. Fixed an issue where exp_time_count was set after adding to build list instead of when expansion begins building.
IDEA/ERROR: Code change so that if tavern is actually impassible it can change the hero choices instead of just not building any hero. Problem is the skill set up is in the racial scripts. IDEA: Might be a good idea to introduce the getamaiexpansionpeon in the respective racial strategies that use them. e.g. ancient expansions
Fixed a developer bug that when turning debug mode on could crash amai Fixed issue where the GetExpansionpeon might not return a peon. Therefore added amai's own system to get a peon when that fails. This prevents lag in the build code in waiting for a peon. Fixed a bug where the invisible unit used for pathing had a large collision size that could make amai believe mine was not pathable. Fixed a bug where the amai would send a peon up to build expansion before creeps had been killed
ERROR: Seems the expansionbuilder code resets exp_time_count so if expansion not built on first pass you have to wait the same amount of time as set in strategy before it starts building. IDEA: Then if no mine and no gold would need to do emergency harvesting. A Job script should be able to handle this. ERROR: Canpathtoloc function is not developer friendly as uses integer ids that might not be available in a mod. ERROR: canpathtoloc function new method cannot fail so whole system crashes waiting for the peon to reach a destination that will never come ERROR: There seems to be a crash in pathing thread as makeexpansionlist never finishes
Fixed the build loop crash bug
ERROR: Found error for orcs not building. Seems getexpansionpeon can fail which is interesting. ERROR: AMAI crashing on start so fails to become active on race. Occured with both human and nightelf. Replay saved
Fixed issue where sometimes amai would still not build at the mine location due to a variable not being set to 0 Small improvement to focus fire code
ERROR: Again orc failed to build farms at back of mine... WHAT IS GOING ON!!!!! ERROR: The build crash also occured with nightelfs and orcs. Very odd seems they still build heroes and such but end up not building anything else. And sit there piling on resources but still attack and defend fine. Seems linked to the building of an expansion. ERROR: Stuck on racial attack: assigning peons for undead but showed above behaviour of error. Acolytes didn't even go to harvest new mine. Replay saved.
Fixed an issue where ziggurat selling job control wasn't working due to the same hash set system issue. Strategy change only occurs after a certain threshold is reached so strategy is much better than current one and not similar. This is to prevent that constant strategy switching when its perfectly fine to stay put and computer dosn't have enough time to utilize strategy perfectly. Reduced number of farms built at mine for orc player to 2 as this is the best against preventing peons getting stuck Fixed an issue where farms built at mine could include an extra one due to use of towncountdone instead of just towncount Undead,orc,human Strategy tweaks adding some spellcaster upgrades. Fixed missing key strategy for the undead strategies using spellcasters.
ERROR: Apply table changes may not be working correctly. Fault of issue unknown ERROR: The build at mine function failed to work for 1 player but worked for the others... Strange ERROR: On test map 2 players never build at mine. This is most likely caused by initial estimate picking up the unpathable mine and system does not fix itself. ERROR: Big build crash with humans. Peasant seemed to be frozen. Replay saved AMAI Human build crash
Fixed an issue with the buildatmine function. It wasn't working due to unknown problems with the hash set system. New system all gold mines are refered too in the standardunits.txt instead of the global setting Orcs now build the first 5 farms at rear of there base - WARNING can get peons stuck on some maps
ERROR: Emergency gold systems really need implementation as they show there idoitic selves. ERROR: The ziggurat selling is also affected by the hash set system issue
IDEA: Strategy system needs to realise it only needs to change its strategy is at a big disadvantage. This is to prevent switching between two strategies because they have equal prorities.
New Job added that aims to prevent errors in ancient expansion control and millitia where it beleives mine is not guarded because the creeps are temporarily chasing someone else. Fixed an issue where natures blessing was never researched Fixed an issue where lumber mills were not built next to lumber but in the middle of the base (affects main base only) Some harasses have been disabled due to they were not effective. Still looking into how to improve harass to be much more effective. This does not affect distraction attacks which are purely to cause enemies main army to go elsewhere.
ERROR: Whole set3 system which records id's of the gold mines is broken
IDEA: Fast expanding should be occuring for tier 1 strategies while late expanding should be the tier rush
Reduced front radius to 900 down from 1100 More elf strategy tweaks
IDEA: Use an invisible peon to determine where the most effecient place for a lumber mill would be
Changed Goblin Tinker abilities to choose rockets instead of pocket factory as pocket factory usage not too effective. Tweak to elf strategies to reduce chance of dryads being picked against peircing units. Commander text website links updated
IDEA: Upgrades chosen for strategy prorities get a bonus to there proirity in the advanced upgrade system
Fixed some missing needs for hippo riders and rocket tanks Fixed an issue where only 3 peons would mine gold on the starting mine instead of 5
IDEA: Implement creep camp system to determine when creep camp truly is dead and the creeps are not off chasing someone
INFO: Tower rushes should be within first 5 mins of game or on moment of reaching tier 2. Use only guard towers and maybe 1 or 2 arcane if alot of magic/summons. Reccomend 4 or 5 peons,replaced with 2 or 3 wood peons. Use of human hero to but mini towers. Initially have peons build 3 towers. Build 3 more with hero. IDEA: Improvements to the build code to try and remove the lock of waiting for a certain building to be built before building next etc. This can potentially be crippling. ERROR:Team game issues. I guess if a team player has no target other player will not have a target either. so make idea:Introduce a way to get the armies to meet then go on to attack enemy. ERROR:Necros following DK when it is hurt (likely hard coded - flight and fight type behaviour) ERROR/IDEA: burrows shouldn't be at front of base. ERROR: everytime peon returns gold he stops to change resource. (1 out of 5 peons) ERROR: Mass woodcutters and 5 workers on gold mine after early tech is lowest income
Fast expansion check is now moved above the new calculation but after the old calculation as the new system takes a while to finish and by then it wont be much of a fast expansion. Ancient expansion should now only coordinate with tree of life if army is weaker than the creeps. Balance adjustments to upgrades so they are more likely to be researched for certain upgrades. Fixed a hippo rider bug where it didn't know the requirements to build a hippo rider. In ffa reduced liklyhood of tower rush, although its still possible for amai to do the rush.
ERROR:AMAI town portalling when ally is being tower rush, instead should just walk hero home. Idea: Usage of wisps to dispel summons of summon heros. Idea: NE could use ancient protectors to walk close to trees and attack at a range, with wisp repairing.
Fixed the warcraft lag and crash bug. Reuploaded files.
ERROR:Turn off or reduce tower rush in ffa ERROR:Strategy upgrades just not having the prority e.g. bears dont build any upgrades till alot of bears are made. ERROR:Ancient expansion army should only coordinate with tree of life if there army is weaker than the creeps. ERROR:Retreat control needs to include ally towns but only goes if his own town isn't threatened ERROR:Fast expansion system check is after the choose expansion system so wont calculate it all pathing is done. By then its not longer a fast expansion. ERROR:Turtle rock has innefective night elf expansion ERROR:Rock Quarry(8) has reported issue of gold mine empty then attack issue ERROR: Militia expansion on avalanche seems to end up with computer multi-tasking
Fixed issue where night elfs sometimes wouldn't fill up mines when they all harvesting lumber. Small fixes to militia to make sure gold_buffer active so amai is saving resources to build the town hall once they go to clear it out. Fixed issue where extra peasants where not going to fast build the town hall. Fixed an issue where getexpansionstrength was using incorrect calculation. Fixed issue with militia expansion not working on maps with bigger maps where center of map is far from the starting point. The mine calculated quickly for fast expansions will have a 25% chance of choosing a second mine if there is one available which is also as close and is orange creeps.
Idea: when calculating front for towers, why not use calculation from the enemy. As they may take a different route to your base if bases have multiple exits. Note: Remember to keep thinking about future team game improvements.
Manual: Need to add requirement of latest perl
Fixed issue where racial_expansion was used in non undead scripts. Now its valid for all races. Removed the requirement of only 2 certain heros can tower rush or ancient expand. Its now down to the added bonus setting in the standard units.txt. Removed some obsolete variables from global settings.txt When hero is hurt and goes to buy healing potion. If he cannot he can now buy other items as well which are set in the healingitems.txt file. Removed racial_healing_item variable from racial settings.txt Removed the code for ancient expansion that uses waits so could mess up the job system. Now is all tightly integrated into the gold mine expansion list system. Tweaked hero choice of priestess of the moon to have a 25 prority down from 34 for first hero. NightElf Ancient Expansion priority has been set to 43% due to much smarter behaviour. More bug fixes to night elf ancient expansion. Compared to the old betas, the random bugs that used to occur have been squished. Now only time i have seen this fail is because wisp got stuck due to cramped base :P
Idea: Heroes with non-ultimate summons should maybe have summon strength added to there bonus, instead of the summons themselves having them. Might be risky though. Continuing Note: Make it so militia expansion and/or ancient expansion have a chance to occur for each gold mine instead of a one time check and then basically doing it only once.
Fixed issue where after town portal the captain is still at the last attack location. Did some balancing to the global harasses. Fixed an issue where distraction attacks were calculating strength of player without detecting of healing units. So would do distraction even if army was in a critcal state to be able to do such. Loads of improvements to nightelf ancient expansion technique, also now a 45% chance to occur up from 33%.
NOTE: racial_expansion is a undead variable yet is used in many non undead related places. NOTE: Going to be complicated to get tree of life to eat trees when in racial expansion attack. NOTE: Need to get rid of the racial settings that check you have certain heroes to do the expansion. Instead should use the rush bonus from the standardunits.txt as can then work with certain neutral heros too. NOTE: Make it so militia expansion and/or ancient expansion have a chance to occur for each gold mine instead of a one time check and then basically doing it only once. NOTE: ancient expansion chance currently on 100%. Need to remember to set back to 45%.
Ghoul cannabalize issue now finished without using graveyard fix. Buying of healing items now bypasses the usual build queue to try and build when possible. Commented out captianflee variable as is useless and not used. Militia Expansion attack code uses the new attack creep code variation. Fixed the issue where amai will stop attack then go back on attack when it enters attack state. Fixed an issue where if there is no pathable goblin merchant it will never buy its own shop items. Modified DefendTownsCond to include a max_dist Implementation of DefendTownsCond for undead in for construction of graveyards or necropolis at mines if conditions are satisfied. This hopefully prevent issues where ghouls have nothing to harvest and provide places to town portal too for bases further away. Fixed a generic bug in healing code when using single healing items. Undead now buy healing scrolls from a merchant if it is not tier 3. Increased percentages slightly for tower rush so its now 25% for close choice, 16% choice further away, and 7% for furthest allowed distance. Fixed an issue where AMAI wont build the requirement to be able to tower rush. Now playing around with captain positions for threatened towns as well as tower rush to improve play effectiveness. Tower rush now ends if the player being rushed is killed.
Note: Blizzards sick joke of human peasants mass repairing something when its under construction and no ones building it is starting to annoy me !!!!! Note: Seems to be an issue present that after for example a town portal the units go back to attack there fighting location. Its rare but happens. Just need to make sure attack captain is back at home. Note: Somewhere can be seen in lost temple, one of the recovery systems likely fountain if units go home the send home system stopped working.
Continuing implementation of the tag unit debug information. Fixed an issue where ghouls where trying to cannabalize moment research was done even when no corpses around. Fixed an issue where ghouls cannabalize to heal but do not move to the graveyard. Fixed an issue where battle radius when creeping was using the normal battle radius. Fixed an issue where player would do distraction attacks when creeping. Fixed an issue where if AMAI was creeping he would never flee and give up correctly. Fixed an issue that could occur causing AMAI to flee prematurely. Fix more issues with the defend town code such as players strength not being updated during loop.
NOTE: Captain flee seems to be an old unused variable only present in militia code. May be removable. NOTE: Ghouls cannabalize still not fixed. Lets add check for the graveyard itself. NOTE: Orc healing in emergency the buying of healing items need to be seperated so it can buy them no matter what build order.
Blizzard.j file was using older patch version data which could of caused some issues. Now the latest 1.20 data as it should be. New Debug information method where info is added as a tag to the unit. The tags are color coded to have a better idea which player the tag came from. Also hero tags will display hero in name.
Finished implementation of fix to the undead ghouls failing to aid attack Fixed an issue where militia if fails first time it will not work again. Militia may just randomly decide to return home and is possible due to note above. Hopefully added a detterant to prevent that for now. Fixed an issue where the town_threatened control to return home was not looping due to return command in inaccurate place.
Idea: Implement idea so if all heroes not available then will use a unit replacement until hero ready again. This is for functionality of certain jobs that at moment requires a hero to work. e.g. focus fire. Idea: The Army Detection systems could be improved to just change defense captain when low threat then force units there in high threat. This should hopefully prevent issues where units become stuck in loop when its marginally still quite low threat. Note: issue above is a direct result of Harvest command which is what tried to overide militia expansion behaviour Note/Idea: break_attack made attack systems exit but also allows regrouping to occur. I want to take out this entire repetition and implement all this in the current attack loop instead of running the function call again that makes tracking whats happening difficult. Error Noted: Team players are just not realising enemies in ally towns as a threat which can result in teams defeat by each player being outnumbered.
Hopefully fixed some undead behaviour where ghouls couldn't attack as were re-routed back to harvest Fixed issue where night elfs still were failing to use the moonstone effectivly. More core attack segment improvements - Debug messages added Note: break_attack might be a factor in ending attacks artificially early - Needs checking
Modified some rush bonus strength settings for a few neutral heroes. Tweaked strategy settings to improve millitia expansion builds further. Modification of an extremly old core attack segment to keep AMAI from exiting battle systems early once it killed the single target it was after. Another modification so that the core attack segment ends when the army truly is fleeing using the new setting that was added.
Fixed some commander text that still was pointing to wc3campaigns
Fixed zepplin issue that could occur causing zepplins to constantly pick up and drop unit its supposed to be unloading. Heroes now have bonus strengths depending on there harassing abilties and relative strength. So with those heroes and an agressive profile they should once again do single hero harasses or go straight to creeping instead of sitting back waiting. Fixed some pathing determination issues on large maps.. Fixed some grave errors in profile strength calculations where some unit types where calculated twice making computers appear stronger and profile choice would be further biased. The new retreat system has been improved to take account of the profiles aggression. The higher the aggression the more enemy units needed to make the computer retreat. Fixed an issue related to ghoul harvesting when wood rescource was low the attacking ghouls would be set to only 4 no matter what. This meant the ai's strength would also be incorrectly calculated as low. Now it is changed to be max 4 harvesting. The ghouls will still all harvest when no attack is running. Fixed two amai script crashes when buying neutral units or items. Missed a defend town code that didn/t have the knew let it die detection features in Militia Expansion systems have been further improved and optimized. The militia sent will stay up there a build the hall. This dosn't include fast building it. That has yet to be optimized. Town hall human fast building has been modulised into a job in preparation of making it work for any building you wish. (This is to allow humans to be extremly effective at quickly building up base hopefully in the future) Fixed an issue where illusions where being healed and treated as real units. This should prevent AMAI trying to save illusion units. Militia expansion chance increased to 60% from 40% due to much smarter behaviour. Fixed an issue with the functionality for using the moonstone. Fixed an issue where player wont retreat to save his threatened town. (currently working on)