Commit Graph

2301 Commits

Author SHA1 Message Date
Agetian
3ae20885c4 - Removed and defaulted the experimental AI option to avoid counting static attack bonus effects in declare blockers twice. 2017-09-17 04:47:27 +00:00
Agetian
09042f1dbf - Minor code reorganization in ComputerUtilCard. 2017-09-17 04:44:07 +00:00
Agetian
6b5c52d2c8 - Fixed the AI ignoring the non-stacking KW list and repeatedly pumping cards with non-stacking keywords without any other benefit when attacking for lethal. 2017-09-17 04:17:28 +00:00
Agetian
7fbbb9b030 - A somewhat better variable name. 2017-09-16 16:24:10 +00:00
Agetian
1659ca88ca - Added AI logic for Mox Diamond. 2017-09-16 15:48:16 +00:00
Agetian
fd7ba65203 - Improved the AI detecting whether the attacking creature would be destroyed by blockers when it has first strike or double strike (fixes e.g. a useless power pump vs. a first striker). 2017-09-16 15:29:42 +00:00
Agetian
7f4dcf54a7 - AiBlockController: shifted priority for non-lethal gang blocks below necessary chump blockers to avoid cheating or dying accidentally to something. 2017-09-16 11:35:46 +00:00
Agetian
72f7189aeb - Added a comment. 2017-09-16 10:46:06 +00:00
Agetian
ea2616434c - No need to choose the best possible creature for a non-lethal Menace block. 2017-09-16 10:45:19 +00:00
Agetian
0261f25996 - AiBlockController: added a routine to try to block a Menace creature with two creatures that don't kill it but neither of which get killed as well. 2017-09-16 10:41:37 +00:00
Agetian
1be49e8d8a - ComputerUtilCombat: attempt to prevent the combat AI from counting the Flanking debuff twice when predicting the power bonus of blocker. 2017-09-15 16:39:20 +00:00
Agetian
a3775e0b57 - Fixed Deathgorge Scavenger and improved AI logic for it. 2017-09-15 15:38:02 +00:00
Agetian
03c0794b48 - Some improvements to the Aristocrats and Electrostatic Pummeler AI logic. 2017-09-15 15:08:31 +00:00
Agetian
b332038722 - Fixed the AI trying to flip Sasaya, Orochi Ascendant endlessly without satisfying its condition.
- Several script fixes from Marek.
2017-09-15 14:08:27 +00:00
Agetian
33df8dd5eb - PermanentAi: commented out the check of Planeswalker uniqueness by subtype (no longer relevant past Ixalan). 2017-09-15 09:48:29 +00:00
kevlahnota
7e982b327b Refactor some String.replace to use TextUtil.fastReplace 2017-09-15 09:01:58 +00:00
Agetian
05a9d457aa - Improvements to Counter AI. 2017-09-14 06:18:05 +00:00
Agetian
cc7ce6bae9 - Removed a debug print line in Scry AI. 2017-09-14 05:51:15 +00:00
Agetian
57e5135346 - Improvements to Scry AI. Also, made Scry AI configurable using several AI profile preferences. 2017-09-14 05:35:35 +00:00
Agetian
452bdd7b4f - NPE prevention in ControlGainAi. 2017-09-13 16:41:10 +00:00
Agetian
59f482e52e - Fixed one more logical error resulting in suboptimal/aggressive random trades. 2017-09-13 15:13:03 +00:00
Agetian
538ea82899 - AiBlockController: fixed a logic error in random trade code that led to overly aggressive trades 2017-09-13 15:09:12 +00:00
Agetian
6ed9a8b336 - A little tweak to the previous commit. 2017-09-13 14:25:44 +00:00
Agetian
24df4e78c7 - Random favorable trades on block: when evaluating face-down Morph of Manifested creature, evaluate it based on its original face, not the face down 2/2 one. 2017-09-13 14:12:32 +00:00
Agetian
f19c9183f0 - Decouple MustAttackEntity from MustAttackEntityThisTurn for Alluring Siren. 2017-09-12 16:34:37 +00:00
Agetian
7182ad2e9c - Some more NPE prevention in getSpellAbilityPriority. 2017-09-12 02:56:34 +00:00
Agetian
072508e1c1 - Added a TODO comment. 2017-09-11 19:12:47 +00:00
Agetian
91101a7c40 - Added a TODO comment 2017-09-11 19:12:33 +00:00
Agetian
74eea096b1 - Added some more experimental combat AI options, currently disabled by default.
- Enabling some of the previously experimental, now tested combat AI options (random favorable trades, holding combat tricks until block, trading to save a planeswalker, attempting to avoid attacking into certain blocks).
2017-09-11 17:37:43 +00:00
Agetian
2a87d338b4 - Removed a superfluous comment. 2017-09-11 14:17:19 +00:00
Agetian
8759532964 - Experimental: in combat AI, try to avoid counting static abilities that grant power bonuses twice in case the creature has already attacked and the relevant bonus is already accounted for in getNetPower/getNetToughness (aims to fix AI prediction of creature power in presence of cards such as War Horn). 2017-09-11 14:16:02 +00:00
Agetian
f332db93ad - Added a couple final declarations in PumpAi. 2017-09-11 11:08:21 +00:00
Agetian
6ffc687174 - Some improvements to Aristocrats PumpAi and Electrostatic Pummeler AI.
- Added some final declarations in SpecialCardAi.
2017-09-11 11:06:39 +00:00
Agetian
f5decd2221 - Improvement to the PumpAI Aristocrat logic. 2017-09-09 17:15:41 +00:00
Agetian
48bd65cd3b - Do not double the Infect damage when predicting it (already accounted for later) 2017-09-09 16:07:29 +00:00
Agetian
8cd9c5e8a3 - Minor formatting fix. 2017-09-09 15:35:46 +00:00
Agetian
0ef1019d1c - Implemented a simple logic for Aristocrats (Vampire Aristocrat, Bloodthrone Vampire, Nantuko Husk and friends).
- Improved prediction of Infect damage for the AI in shouldPumpCard.
2017-09-09 15:34:35 +00:00
Agetian
990bd7e291 - AiController: attempting to fix a "Comparison.sort violates general contract" error which is likely caused by an internal NPE inside the sort method (difficult to prove if this really fixes the issue since I can't reproduce the problem yet, though it had been reported twice already). 2017-09-09 03:14:34 +00:00
Agetian
5264873645 - [XLN] Added Search for Azcanta / Azcanta, the Sunken Ruin.
- Minor fix in Welcome to the Fold.
2017-09-08 16:03:21 +00:00
Agetian
a00a6734b3 - Further tweaks to surprise pump experimental feature. 2017-09-07 05:27:33 +00:00
Agetian
edb1343676 - For the time being, hiding the latest change to attack controller behind an experimental option, enabled in the experimental profile (may be defaulted and removed as a profile option later after extensive testing). 2017-09-06 16:51:32 +00:00
Agetian
f1426103ff - An important tweak to the previous commit. 2017-09-06 16:43:50 +00:00
Agetian
7a767327c0 - AiAttackController: don't attack into a guaranteed block unless the attacker has some kind of an attack/combat effect. 2017-09-06 16:21:49 +00:00
Agetian
d73b3c44e3 - More work and parameter tweaking for attack/block trade experimental AI. 2017-09-06 15:32:24 +00:00
Agetian
2b11afbb2d - More tweaks to the attack/block trading experimental options. 2017-09-06 14:30:24 +00:00
Agetian
8de7099c0f - A little tweak to the "attack to trade" experimental code. 2017-09-06 11:36:02 +00:00
Agetian
5352514c2b - KeepTapped Attach AI logic: try not to activate on things that can't tap. 2017-09-06 05:07:49 +00:00
Agetian
5c18270826 - ComputerUtilCost: sac costs (Sac<...>) use ";" as a delimiter and not "," (fixes e.g. the AI never sacrificing anything to Defiant Salvager).
- Added SacMe to Puzzleknot cards.
2017-09-05 19:35:35 +00:00
Agetian
4a1b147a25 - A little improvement in script execution code in GameState. 2017-09-05 03:37:33 +00:00
Agetian
5970908a3f - GameState: added a way to precast from a custom script line for the needs of Puzzle Mode. 2017-09-05 03:35:52 +00:00