Commit Graph

1180 Commits

Author SHA1 Message Date
Agetian
41ce87d6c3 - Clean up imports. 2017-01-17 06:15:52 +00:00
Agetian
3ae94b2206 - Added AILogic CastFromGraveyardUntilEOT to Effect AI.
- Made Yawgmoth's Will AI-playable.
2017-01-17 06:15:23 +00:00
Hanmac
20f354b331 CountersRemoveAi: refactor it for now, extend it later 2017-01-17 05:31:39 +00:00
Agetian
0fda15d033 - Even though the AI doesn't do anything with AF RearrangeTopOfLibrary, it should at least not miss mandatory triggers so they actually go on stack. 2017-01-15 10:37:56 +00:00
Agetian
f9c5947ab9 - AI should probably not miss opportunities to cast permanents without paying mana cost even if it's not the main phase 2 (e.g. killed Treasure Keeper cascading into a permanent). 2017-01-15 06:36:10 +00:00
Agetian
fb9f3cac48 - Correctly predict the amount of damage that will be dealt by AF DealDamage where X is dependent upon the number of cards in hand (and the spell is cast from hand). 2017-01-14 17:49:31 +00:00
Krazy
26eec4cf8b [maven-release-plugin] prepare for next development iteration 2017-01-14 02:08:47 +00:00
Krazy
5196c1bf62 [maven-release-plugin] prepare release forge-1.5.58 2017-01-14 02:08:36 +00:00
Agetian
7ecf2738aa - Additional NPE guards. 2017-01-13 16:19:48 +00:00
Agetian
04c713eb33 - Some more minor implementation tweaks for Destroy AI. 2017-01-13 16:15:27 +00:00
Agetian
410572cda0 - A more robust check for hasXCost in Destroy AI. 2017-01-13 16:12:51 +00:00
Agetian
317eeb7133 - Improved Destroy AI when dealing with mana costs featuring X ("destroy X target creatures") - the AI will consider these SAs even if it can't afford to target everything that is targetable on the battlefield. 2017-01-13 16:09:09 +00:00
Agetian
2cd474fbf3 - Removed unused import. 2017-01-13 09:03:54 +00:00
Agetian
945df442e2 - Adding missed imports. 2017-01-13 09:01:54 +00:00
Agetian
fd53400e0d - Removed an unused import. 2017-01-13 04:25:58 +00:00
Agetian
1b75d12518 - Default implementation for remove in SpellAbilityChoicesIterator (to satisfy Java 7 requirements). 2017-01-13 04:25:32 +00:00
Hanmac
3ff06ee567 CounterPutEffect and CounterPutAi: refactor it to make the AI better use of chooseCounterType 2017-01-12 19:29:32 +00:00
Agetian
70ffd72556 - A little logic addition. 2017-01-12 17:55:24 +00:00
Agetian
01bcff9a5e - Better logic for Desecration Demon: only sac creatures to it if in critical condition to lose to it and have no active flying/reach blockers that are useful. 2017-01-12 17:54:18 +00:00
Agetian
dfc5fad357 - Some additions to the response sac AI (take persist and undying into account).
- Added some sacrifice prioritizing to Desecration Demon (but still not sure what is best - let the AI deal with a persistent 6/6 flyer or risk pumping it up a bit but keep it in check for a while in presence of several weak creatures, could use improvement).
2017-01-12 17:04:33 +00:00
Agetian
ecf6a38f4f - Moved a comment. 2017-01-12 12:23:47 +00:00
Agetian
196f939eef - Consolidated AIPreferenceParams into a single property, somewhat cleaner and also not so clunky in code. 2017-01-12 12:23:02 +00:00
Agetian
f4dcd7b742 - Adding options to control the AIPreference for creatures based on the AI evaluation level and, if need be, the minimum number of creatures below a certain eval threshold needed to activate a SacCost.
- Adding these options to Prowling Pangolin, along with AIPreference token->creature, to make the AI be more willing to sacrifice weak and useless creatures in response to Prowling Pangolin to counter it.
2017-01-12 11:26:37 +00:00
Agetian
bb7dc5356c - A little update to isUselessCreature. 2017-01-12 07:19:44 +00:00
Agetian
d61fb2a114 - Minor improvements to Necro AI in SpecialCardAi. 2017-01-12 06:17:35 +00:00
Agetian
3315174bfc - MillAi: only use creatures with a tap mill ability during the opponent's end step to also have a chance to use them in combat. 2017-01-12 06:17:17 +00:00
Agetian
b6f6beb2e5 - Moved isUselessCreature to ComputerUtilCard (since it's not Spell Ability AI-related). 2017-01-12 06:01:54 +00:00
Agetian
11796c18b5 - Some more cleanup in SpecialCardAi. 2017-01-11 05:05:20 +00:00
Agetian
3010b7f578 - Imports cleanup. 2017-01-11 05:01:30 +00:00
Agetian
a243e5b201 - Change getOpponent->getOpponents in SpecialCardAi. 2017-01-11 05:01:07 +00:00
Agetian
6902491797 - Added AI for Living Death. Marked Living Death as RemRandomDeck instead of RemAIDeck. AILogic$ LivingDeath can probably be used for other similar cards too, possibly with some adaptation. 2017-01-10 19:17:19 +00:00
Agetian
0a70660ef9 - For now, set up a temporary measure to prevent the AI from abusing the bug with activating Qasali Ambusher from graveyard and possibly other zones for its "ambush" ability (e.g. noticeable when the AI plays Catwoman quest opponent)
- Unfortunately, couldn't find a way to fix this in the MayPlay code without breaking more things, please feel free to update the necessary code when/if possible. For the time being, marked this as a known issue in the card script and CHANGES.txt.
2017-01-10 11:33:42 +00:00
Agetian
5c56eadfd1 - A better location for ControlGainAi fix. 2017-01-10 05:40:04 +00:00
Agetian
c3996d8d4a - Fixed ControlGainAi logic with Defined. 2017-01-10 05:34:05 +00:00
Sol
e3c4386473 - Add Improvise keyword handling first pass 2017-01-10 02:10:32 +00:00
Agetian
e9d81a93b9 - Moved Ugin, the Spirit Dragon hardcoded Planeswalker ability priority handling to SpecialCardAi. 2017-01-09 05:26:44 +00:00
Myrd
3488c9423f [Simulated AI] Support multiple choices from an SA and plumb cost decision choices into simulation AI.
With these changes, both decisions for Crop Rotation (what to sac and what to search for) are taken into account. Also adds a test.
2017-01-09 03:56:47 +00:00
Myrd
ec825413ff [Simulated AI] Print chosen card. 2017-01-09 01:35:20 +00:00
Myrd
fb1ec29141 Add a TODO to modes iterator in simulated AI. 2017-01-08 23:01:52 +00:00
Myrd
88634bb0a0 [Simulated AI] Add support for cards that need multiple targets.
Note: Currently, no special optimizations are made to try to prune decision trees for these, even though they definitely can result in a lot of choices and really slow simulation AI performance.
2017-01-08 21:02:24 +00:00
Hanmac
8849c7d031 CounterMoveEffect: update Effect for cards using multiple Sources or multiple Targets 2017-01-08 19:26:11 +00:00
Myrd
be5b5ac3d2 [Simulated AI] Add tests for mode choosing logic. 2017-01-08 17:42:57 +00:00
Myrd
add8a1d24e [Simulated AI] Fix printing of target string and check in a change I forgot in last commit. 2017-01-08 17:24:29 +00:00
Agetian
f958ec4cc8 - Removed unused import. 2017-01-08 07:44:55 +00:00
Agetian
8dd22c5465 - Moved Chain of Smog logic to SpecialCardAi. 2017-01-08 07:44:05 +00:00
Agetian
5e879b0301 - Added a comment to ChangeZoneAllAi. 2017-01-07 17:29:07 +00:00
Agetian
30e4fbdc74 - Added rudimentary AI logic for Timetwister and promoted it to AI playable.
- This completes the project to get the basic AI logic for the remaining Power Nine cards.
2017-01-07 17:27:23 +00:00
Agetian
7d6b639ed6 - Added a comment back. 2017-01-07 16:52:33 +00:00
Agetian
9aa2fba98e - Removed old version of the code I forgot to take out. 2017-01-07 16:50:47 +00:00
Agetian
922e82e03f - Added rudimentary AI logic for Black Lotus and Lotus Bloom. Promoted both to AI playable. 2017-01-07 16:50:15 +00:00