Commit Graph

1413 Commits

Author SHA1 Message Date
Agetian
c096079b61 - Experimental: determineLeftoverMana should use the root ability (with the actual mana cost), otherwise it's not always possible to determine the correct mana cost (e.g. for Banefire) and PayX gets set to the wrong (usually too high) value, making the AI unable to play the card. 2017-06-10 19:30:53 +00:00
Agetian
a4fdd54424 - Experimental: adjust the mana cost after determining extra mana cost increase in ComputerUtilMana#calculateManaCost in order to allow the AI to e.g. properly determine the cost reduction for {X} (Endless One) in presence of Eye of Ugin and other similar scenarios. Needs additional testing. 2017-06-10 19:25:11 +00:00
Agetian
ab8038c3bb - A more reliable check in the Cavern of Souls AI that works with ability-changing effects like Blood Moon. 2017-06-10 16:39:09 +00:00
Agetian
b88aa51507 - Improved Auto mana payment for Cavern of Souls.
- Fixed the AI trying to play Endless One for 0 when in presence of Cavern of Souls.
2017-06-10 14:48:20 +00:00
Agetian
0bce0ee2e1 - AI should only sac Ghost Quarter if it either has more lands in play than the opponent, or equal amount of lands but at least one replacement land in hand, otherwise the AI tends to play too suboptimally. 2017-06-10 07:02:53 +00:00
Blacksmith
e8c232b5cb [maven-release-plugin] prepare for next development iteration 2017-06-08 18:39:38 +00:00
Blacksmith
aa52a767f2 [maven-release-plugin] prepare release forge-1.5.64 2017-06-08 18:39:29 +00:00
Blacksmith
9b3523c943 [maven-release-plugin] prepare for next development iteration 2017-06-07 22:40:35 +00:00
Blacksmith
b11255579c [maven-release-plugin] prepare release forge-1.5.63 2017-06-07 22:40:20 +00:00
Hanmac
aba349c3ef EncodeAi: should only use it when it has a target for that 2017-06-07 21:35:15 +00:00
Agetian
0045be2e84 - Some more updates to the LandForLand DestroyAi logic, added some configurable options for it to the AI profiles.
- Marked Ghost Quarter with AILogic$ LandForLand.
- Added some comments to AI profile definition files.
2017-06-06 04:58:16 +00:00
Agetian
7abc9c20d2 - More reliable way of detecting whether the opponent has skipped a land drop in DestroyAi (AILogic LandForLand). 2017-06-05 17:38:05 +00:00
Agetian
989ce5fb4b - Somewhat more advanced land-for-land removal logic in DestroyAi. 2017-06-05 16:56:09 +00:00
Hanmac
60cb791596 PoisonAI: updated code to newer format, add targeting logic 2017-06-05 05:37:27 +00:00
Agetian
d0f7df48ac - Slightly improved DestroyAi for Strip Mine and Wasteland (AI should not sac-destroy a land unless it has a mana-producing land to replace it with, as well as at least a couple lands in the hand and on the battlefield combined, or enough mana-producing lands on the battlefield in general, otherwise it's too risky to mana-lock yourself early in the game). Further improvements are welcome. 2017-06-05 04:53:58 +00:00
Hanmac
543c5f5f20 EffectAi: some cleanup and added NeedCreatures logic 2017-06-04 07:34:06 +00:00
Agetian
5d887c2025 - Improved Commander replacement ability AI to properly account for the delayed trigger implementation of blink (e.g. Flickerwisp). 2017-06-03 19:51:43 +00:00
Agetian
e9b9e39a79 - Moved the comment. 2017-06-03 15:55:35 +00:00
Agetian
8d93ca9fbc - Improved ChangeTargetsAi for cases when two or more of the same cards with retarget ability are present on the battlefield (e.g. 2x Spellskite), the AI will no longer retarget the spell infinitely to different copies. 2017-06-03 15:55:10 +00:00
Agetian
91f980c6ab - Removed a debug print line. 2017-06-03 15:28:49 +00:00
Agetian
8b6074358b - Improved the AI logic for Commander's return to command zone replacement ability (should no longer return commanders like Nissa, Vastwood Seer or Obzedat, Ghost Council each time they temporarily leave the battlefield to return later).
- Needs testing, might be too permissive, in which case the AI may fail to return the commander back to Command zone in certain cases when it should.
2017-06-03 15:28:26 +00:00
Hanmac
556dacd3fa GameAction: move Zone actions now has Cause Parameter, add it to all other places where it is used 2017-06-03 06:21:31 +00:00
Agetian
4c1dc0182b - Prevent a crash when testing Exert triggers (SA activator was not set). 2017-05-31 06:31:37 +00:00
Agetian
d48a1620e6 - Fixed a crash in RevealAiBase. 2017-05-30 03:43:26 +00:00
Hanmac
0940ec14e5 AIAttackController: more helper logic for Exert.
Looking for if Extert Trigger would target, if it can target anything
2017-05-28 17:38:04 +00:00
Agetian
94332978fc - Minor refactoring in exertAttackers, could be useful in the future. 2017-05-28 16:23:52 +00:00
Agetian
27ec723c06 - AI should generally exert creatures with Vigilance. 2017-05-28 15:28:24 +00:00
Hanmac
bbaf9078bd ReplaceDamage: fixed "Prevent$ True" count for Prevention$ Effects too.
make AI use it in damageIfUnblocked
2017-05-27 13:52:23 +00:00
Hanmac
4ef6d1c5c0 PlayerControllerHuman: sortCreatureTypes refactor code for Changeling, Clone and other stuff 2017-05-27 11:08:32 +00:00
austinio7116
f30a1d5950 Refactoring of CreatureType select sorting 2017-05-27 06:41:54 +00:00
austinio7116
55a5963ec8 Change to sorting of creature types to include tokens generated from abilities so that for example Metallic Mimic select boxes will show Servo's near the top of the list in token decks. The change also means the AI will select better creature types in such decks. 2017-05-26 19:22:19 +00:00
Agetian
5025e090a5 - Fixed the AI never playing */* cards that ETB with X +1/+1 counters on them due to a PayX miscalculation in CountersPutAi (e.g. Primordial Hydra, Altered Ego, Mikaeus, the Lunarch). 2017-05-24 06:40:19 +00:00
Agetian
376d127d8b - Adding a way to suppress testing canRegenerate from combat code temporarily to avoid re-entry from ComputerUtil#canRegenerate when testing cards such as Varolz, the Scar-Striped. 2017-05-21 06:35:17 +00:00
Agetian
c5b493d45e - Added AI logic AlwaysConfirm to AF Dig for some unusual complex cards (e.g. Quest for Ula's Temple) 2017-05-19 15:15:43 +00:00
Agetian
9e3c51fb0d - FIXME: Temporarily reverting the way damageIfUnblocked queries damage prevention effects (since isCombatDamagePrevented doesn't work as desired and I can't figure out why). Feel free to revert this to continue working on isCombatDamagePrevented. 2017-05-18 05:36:22 +00:00
Agetian
31fdcba181 - Added support for PayXButSaveMana AI logic for non-trigger AF Dig as well (for potential use cases). 2017-05-16 17:17:49 +00:00
Agetian
861728f7a6 - Simple AI support for AF Dig triggers that ask to pay {X} (e.g. Depala, Pilot Exemplar). 2017-05-16 15:34:17 +00:00
Agetian
f8d84f0d60 - Attempting to fix a potential ConcurrentModificationException in ChangeZone AI. 2017-05-16 04:39:38 +00:00
Hanmac
e277be4191 ComputerUtilCombat: add better look for ReplacementDamage 2017-05-15 05:10:48 +00:00
Agetian
7219c766e5 - Added some more keywords to damageIfUnblocked in ComputerUtilCombat (AI). 2017-05-15 05:03:28 +00:00
Agetian
0957ce6563 - AI should not attack with creatures the damage from which is prevented (temporarily or permanently). Not sure if this is the right fix, please take a look. 2017-05-15 04:33:22 +00:00
Hanmac
d9c0ed2960 CopyPermanentAi: cat combo got doubled 2017-05-14 05:30:04 +00:00
Hanmac
26d14e7f3d CopyPermanentAi: updated code a bit an make Cat Combo a bit better 2017-05-14 05:12:31 +00:00
Agetian
8a4d8a0c9c - A better way of handling the copycat combo in CopyPermanentAi. 2017-05-14 05:05:15 +00:00
Agetian
6aeffa69d0 - Saheeli Rai + Felidar Guardian combo support in CopyPermanent AI. 2017-05-13 17:44:19 +00:00
Agetian
f0802aa431 - Added a special AI Logic "BounceOnce" to ChangeZone AI to be able to mark permanents that exile another target permanent and then return it under its owner's control so that they are not bounced infinitely by the AI back and forth, creating an endless loop (e.g. Felidar Guardian bouncing another Felidar Guardian).
- Added AILogic$ BounceOnce to Felidar Guardian (some other cards may need to be marked with this logic).
- Added simple support for Saheeli Rai + Felidar Guardian "copycat" combo AI.
2017-05-13 17:07:10 +00:00
Agetian
5f4f2cee5e - Somewhat better AILogic for Chandra, Torch of Defiance. 2017-05-13 11:18:32 +00:00
Agetian
f589dc5ad6 - AI should not sac a card when paying a cost for a SpellAbility that is targeting that card (e.g. sacrificing an Eldrazi Scion when trying to attach an equipment to it). 2017-05-13 06:02:24 +00:00
Agetian
71ab7ef4ff - RepeatEach AI should obey AILogic$ Never (e.g. Watchers of the Dead) 2017-05-09 08:46:49 +00:00
Sol
546b9ac214 Some more fixes for Puzzle mode 2017-05-09 02:04:08 +00:00