Agetian
d9759305a3
- Do not calculate damage to planeswalkers for the purpose of chump saving in case the AI profile specifies to always consider them threatened if something is attacking them.
2017-09-18 15:49:08 +00:00
Agetian
e015e57dda
- Try to detect cases where the actual damage to planeswalkers will be zero after prevention.
2017-09-18 15:29:14 +00:00
Agetian
44a2f1880d
- Some improvements to the "protect planeswalkers with weak chumps" logic. Enabling it in a conservative version by default.
...
- Several additional experimental toggles for ChangeZoneAllAi, will be used to fine-tune "bounce all" type spells in generic cases.
2017-09-18 15:26:15 +00:00
Agetian
ae5e7d1e60
- One more tweak to the previous commit.
2017-09-18 12:47:56 +00:00
Agetian
a31c3dc611
- Readded a part of the reanimator-specific Survival of the Fittest code.
2017-09-18 12:47:17 +00:00
Agetian
2ee3ec303d
- Fixed Survival of the Fittest AI, which was accidentally made to grab discard targets from the library, lol
2017-09-18 12:46:11 +00:00
Agetian
fc18153f02
- A tweak to DigUntilAi DontMillSelf.
2017-09-18 12:19:02 +00:00
Agetian
0d3a9c8b16
- Some logic for cards like Sudden Impact that deal damage to the player by the number of cards in his hand.
2017-09-18 06:19:50 +00:00
Agetian
4569bca39d
- ChangeZoneAllAi: for things that return creatures from the battlefield to wherever en masse (e.g. Evacuation), cast is as a last resort if the opponent is about to deal lethal damage and win.
...
- Skyshroud War Beast: added NoZeroToughnessAI param.
2017-09-18 04:35:14 +00:00
Agetian
c401a609a4
- Survival of the Fittest, Treasure Trove: added an AI cast preference parameter to avoid having a duplicate on the battlefield.
...
- Expanded AI cast preferences to potentially support cards the duplicate for which can be cast in case the opponent debuffed the original (currently not used by any cards, looking for good candidates).
2017-09-18 04:15:41 +00:00
Agetian
07a71f1059
- Survival of the Fittest AI: avoid mana lock by casting it at the end of opponent's turn.
2017-09-18 03:40:03 +00:00
Agetian
1d9f867c75
- Added an implementation comment.
2017-09-17 19:50:53 +00:00
Agetian
ebd3c33051
- Added some simple SVar-based prediction of Reanimator decks, currently used by the Survival of the Fittest AI code.
...
- Added a worlds.txt entry for Kamigawa quest world.
2017-09-17 19:50:03 +00:00
Agetian
974a017044
- [Request] Improved AI logic for Spike Weaver.
2017-09-17 18:23:34 +00:00
Agetian
2a8b43b7a3
- Comment fix.
2017-09-17 10:46:01 +00:00
Agetian
aff991690d
- Improved DigUntil logic for Hermit Druid.
2017-09-17 10:43:55 +00:00
Agetian
7f095947ab
- ShouldPumpCard: when testing for Infect, ensure that the opponent can actually receive poison counters.
2017-09-17 08:29:43 +00:00
Agetian
b18b2cff44
- PumpAi (Aristocrats logic): only check Infect in case the target can receive Poison counters.
2017-09-17 08:23:14 +00:00
Agetian
20d3e540b0
- One more tweak to the previous commit.
2017-09-17 08:09:37 +00:00
Agetian
cede2927c5
- Made the new experimental AI option chance-based (currently disabled by default).
2017-09-17 08:07:56 +00:00
Agetian
543aae0893
- Some tweaks and improvements in the experimental AI code.
2017-09-17 08:02:43 +00:00
Agetian
8c7dc08844
- Added an experimental option to hold unused land drops until main 2 (disabled by default).
2017-09-17 06:22:30 +00:00
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