Now that fields do not decay immediately after having captured an enemy cc, the ai can attack them even if they are decaying. Same thing for enemy walls which can now decay and are not worth attacking when decaying.
Details
Details
- Reviewers
- None
- Commits
- rP19739: petra: following r19694, avoid to choose a decaying structure as target
check that the ai behaviour is as expected
Diff Detail
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Build is green
Updating workspaces. Build (release)... Build (debug)... Running release tests... Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK! Running debug tests... Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK! Checking XML files...
http://jw:8080/job/phabricator/1439/ for more details.
Comment Actions
Executing section Default... Executing section Source... Executing section JS... | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before '='. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | 125| 125| { | 126| 126| priority = 90; | 127| 127| // basically we want a mix of citizen soldiers so our barracks have a purpose, and champion units. | 128| |- this.unitStat.RangedInfantry = { "priority": 0.7, "minSize": 5, "targetSize": 20, "batchSize": 5, "classes": ["Infantry", "Ranged", "CitizenSoldier"], | | 128|+ this.unitStat.RangedInfantry = { "priority": 0.7, "minSize": 5, "targetSize": 20, "batchSize": 5, "classes": ["Infantry", "Ranged", "CitizenSoldier"], | 129| 129| "interests": [["strength",3], ["cost",1] ] }; | 130| 130| this.unitStat.MeleeInfantry = { "priority": 0.7, "minSize": 5, "targetSize": 20, "batchSize": 5, "classes": ["Infantry", "Melee", "CitizenSoldier"], | 131| 131| "interests": [ ["strength",3], ["cost",1] ] }; | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before '='. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | 127| 127| // basically we want a mix of citizen soldiers so our barracks have a purpose, and champion units. | 128| 128| this.unitStat.RangedInfantry = { "priority": 0.7, "minSize": 5, "targetSize": 20, "batchSize": 5, "classes": ["Infantry", "Ranged", "CitizenSoldier"], | 129| 129| "interests": [["strength",3], ["cost",1] ] }; | 130| |- this.unitStat.MeleeInfantry = { "priority": 0.7, "minSize": 5, "targetSize": 20, "batchSize": 5, "classes": ["Infantry", "Melee", "CitizenSoldier"], | | 130|+ this.unitStat.MeleeInfantry = { "priority": 0.7, "minSize": 5, "targetSize": 20, "batchSize": 5, "classes": ["Infantry", "Melee", "CitizenSoldier"], | 131| 131| "interests": [ ["strength",3], ["cost",1] ] }; | 132| 132| this.unitStat.ChampRangedInfantry = { "priority": 1, "minSize": 3, "targetSize": 18, "batchSize": 3, "classes": ["Infantry", "Ranged", "Champion"], | 133| 133| "interests": [["strength",3], ["cost",1] ] }; | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before '='. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | 131| 131| "interests": [ ["strength",3], ["cost",1] ] }; | 132| 132| this.unitStat.ChampRangedInfantry = { "priority": 1, "minSize": 3, "targetSize": 18, "batchSize": 3, "classes": ["Infantry", "Ranged", "Champion"], | 133| 133| "interests": [["strength",3], ["cost",1] ] }; | 134| |- this.unitStat.ChampMeleeInfantry = { "priority": 1, "minSize": 3, "targetSize": 18, "batchSize": 3, "classes": ["Infantry", "Melee", "Champion"], | | 134|+ this.unitStat.ChampMeleeInfantry = { "priority": 1, "minSize": 3, "targetSize": 18, "batchSize": 3, "classes": ["Infantry", "Melee", "Champion"], | 135| 135| "interests": [ ["strength",3], ["cost",1] ] }; | 136| 136| this.unitStat.RangedCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Ranged", "CitizenSoldier"], | 137| 137| "interests": [ ["strength",2], ["cost",1] ] }; | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before '='. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | 133| 133| "interests": [["strength",3], ["cost",1] ] }; | 134| 134| this.unitStat.ChampMeleeInfantry = { "priority": 1, "minSize": 3, "targetSize": 18, "batchSize": 3, "classes": ["Infantry", "Melee", "Champion"], | 135| 135| "interests": [ ["strength",3], ["cost",1] ] }; | 136| |- this.unitStat.RangedCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Ranged", "CitizenSoldier"], | | 136|+ this.unitStat.RangedCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Ranged", "CitizenSoldier"], | 137| 137| "interests": [ ["strength",2], ["cost",1] ] }; | 138| 138| this.unitStat.MeleeCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Melee", "CitizenSoldier"], | 139| 139| "interests": [ ["strength",2], ["cost",1] ] }; | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before '='. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | 135| 135| "interests": [ ["strength",3], ["cost",1] ] }; | 136| 136| this.unitStat.RangedCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Ranged", "CitizenSoldier"], | 137| 137| "interests": [ ["strength",2], ["cost",1] ] }; | 138| |- this.unitStat.MeleeCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Melee", "CitizenSoldier"], | | 138|+ this.unitStat.MeleeCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Melee", "CitizenSoldier"], | 139| 139| "interests": [ ["strength",2], ["cost",1] ] }; | 140| 140| this.unitStat.ChampRangedCavalry = { "priority": 1, "minSize": 3, "targetSize": 15, "batchSize": 3, "classes": ["Cavalry", "Ranged", "Champion"], | 141| 141| "interests": [ ["strength",3], ["cost",1] ] }; | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before '='. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | 137| 137| "interests": [ ["strength",2], ["cost",1] ] }; | 138| 138| this.unitStat.MeleeCavalry = { "priority": 0.7, "minSize": 4, "targetSize": 20, "batchSize": 4, "classes": ["Cavalry", "Melee", "CitizenSoldier"], | 139| 139| "interests": [ ["strength",2], ["cost",1] ] }; | 140| |- this.unitStat.ChampRangedCavalry = { "priority": 1, "minSize": 3, "targetSize": 15, "batchSize": 3, "classes": ["Cavalry", "Ranged", "Champion"], | | 140|+ this.unitStat.ChampRangedCavalry = { "priority": 1, "minSize": 3, "targetSize": 15, "batchSize": 3, "classes": ["Cavalry", "Ranged", "Champion"], | 141| 141| "interests": [ ["strength",3], ["cost",1] ] }; | 142| 142| this.unitStat.ChampMeleeCavalry = { "priority": 1, "minSize": 3, "targetSize": 15, "batchSize": 3, "classes": ["Cavalry", "Melee", "Champion"], | 143| 143| "interests": [ ["strength",2], ["cost",1] ] }; | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before '='. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/simulation/ai/petra/attackPlan.js | 139| 139| "interests": [ ["strength",2], ["cost",1] ] }; | 140| 140| this.unitStat.ChampRangedCavalry = { "priority": 1, "minSize": 3, "targetSize": 15, "batchSize": 3, "classes": ["Cavalry", "Ranged", "Champion"], | 141| 141| "interests": [ ["strength",3], ["cost",1] ] }; | 142| |- this.unitStat.ChampMeleeCavalry = { "priority": 1, "minSize
http://jw:8080/job/phabricator_lint/101/ for more details.