Commit Graph

2085 Commits

Author SHA1 Message Date
Agetian
318543db38 - Trying to restore the new SpellAbilityAi format for ManaEffectAi.
- Limited mana ritual AI a bit more, it's bad at prioritizing instants for it.
2017-01-24 10:59:59 +00:00
Agetian
f241292bae - Removed an unnecessary parameter in a new method. 2017-01-24 10:40:06 +00:00
Agetian
f292d63c68 - Added a way to specify AILifeThreshold for cards which do not have a life cost but which deal damage or make the player lose life.
- Added AI life activation threshold to Smallpox and Pox to prevent the AI from killing itself with them.
2017-01-24 10:38:56 +00:00
Agetian
6000083a60 - Experimental improvements to allow the AI to consider ManaRitual in Main1. 2017-01-24 09:57:51 +00:00
Agetian
b46a32abfa - Temporarily reverted ManaEffectAi changes since they prevent ManaEffectAi from working completely and I'm not sure how this format should be written properly to make it work (e.g. ManaRitual does not work at all) and Main2 phase restriction should probably be local to ManaRitual, not global... Please feel free to revert this commit to submit an improved version 2017-01-24 09:41:04 +00:00
Agetian
d6f684e287 - Optimize BirthingPod AI by avoiding filtering library at every iteration; move ManaRitual AI in alphabetic order. 2017-01-24 09:11:04 +00:00
Hanmac
3494a8e435 SpecialCardAi: add some Tweaks for ManaRitual, also try to convert ManaEffectAi into new SpellAbilityAi format 2017-01-24 06:15:56 +00:00
Agetian
3f28c3c3d6 - Better castable material detection in ManaRitual AI, now accounts for non-permanents that the AI is willing to cast. 2017-01-23 17:52:06 +00:00
Agetian
33dce1114b - Prioritize mana rituals to try to maximize potential mana. 2017-01-23 17:29:39 +00:00
Agetian
6a2baaef71 - Slight improvement to ManaRitual AI logic. 2017-01-23 17:24:29 +00:00
Agetian
65d97cfbd5 - Imports cleanup. 2017-01-23 16:34:59 +00:00
Agetian
7352b7aec0 - Improved AI for Bomat Courier (this logic can also be used for other potential cards that require you to discard your hand and that then refill your hand from exile; may be expanded to other zones too if necessary). 2017-01-23 16:34:33 +00:00
Agetian
09c35b07ca - Comment fix. 2017-01-23 12:11:05 +00:00
Agetian
b0e9d0820f - Made AILogic ManaRitual more generic.
- Marked more cards to be used with this AILogic.
2017-01-23 12:10:25 +00:00
Agetian
e5acf1fa15 - Implemented some rudimentary mana ritual AI.
- Marked Dark Ritual as AI-playable. Other similar cards can probably now also use AI ManaRitual for this purpose.
2017-01-23 11:41:51 +00:00
Agetian
8447c6cda6 - Renamed AI BirthingPod to AI SacAndUpgrade. 2017-01-23 10:59:48 +00:00
Agetian
06c3eaabba - Debug line removal. 2017-01-23 10:48:00 +00:00
Agetian
50dc536bdd - Decoupled the sac target and search goal in AI BirthingPod. 2017-01-23 10:47:26 +00:00
Agetian
280e4d10b2 - Make AILogic BirthingPod obey card restrictions specified in AIPreference SacCost (for the purpose of being flexible for not only Birthing Pod but Natural Order and potentially other cards). Now this AI Logic probably needs a better name. 2017-01-23 10:21:46 +00:00
Agetian
dffee55c52 - Some clarifications in comments. 2017-01-23 10:05:10 +00:00
Agetian
915e369211 - Extended Birthing Pod AI to potentially work with other cards that upgrade creatures.
- Made Natural Order use the variant of this AI logic to be able to search for cards that are better than what we currently have (can certainly be expanded and made more precise by actually evaluating sac creature against the goal creature).
2017-01-23 09:58:35 +00:00
Agetian
e13f016740 - Improved Birthing Pod AI. 2017-01-23 08:24:05 +00:00
Agetian
a0da5da10d - Added AI logic for Birthing Pod and made it AI playable (TODO: make it avoid using the roundabout override mechanism for preferences to make the code cleaner) 2017-01-23 07:15:16 +00:00
Agetian
a19db69ecf - Added AI sac priority to Natural Order (makes it AI-playable again).
- Made Eliminate the Competition AI-playable again by adding a forced AI constraint to how many targets it should set depending on how many creatures it's willing to sac + adding AI sac priority list.
- Currently set both to sac tokens and creatures with CMC 2 or less. Probably could use some tweaking, but sac'ing CMC 3+ to it will probably make the AI do stupid and unreasonable things.
2017-01-23 05:37:20 +00:00
Agetian
2cf427d046 - Added some experimental AI routines to deprioritize Storm spells in an attempt to build up Storm count and also to deprioritize certain groups of spells when deciding whether to counter them. These functions are dependent on AI profile options and, being experimental, are currently disabled in the Default and Reckless AI profiles.
- Added a new AI profile, Experimental, that is based off of the Default profile but which has different experimental AI options enabled and set to reasonable values. Will be used to test, tweak and refine parameters for certain newly introduced options, as well as to test their functionality. Most likely not for everyday use.
2017-01-22 15:42:03 +00:00
Agetian
61b06410ea - The AI should not try to illegally target a player in case it can't find any other legal target to provide (e.g. Muck Drebb + Lightning Bolt to the face). 2017-01-22 11:14:45 +00:00
Agetian
0ef430763b - Fixed Spellskite crashing upon trying to retarget a SA with DividedAsYouChoose. 2017-01-22 09:41:40 +00:00
Hanmac
2a9def0a89 ChangeTargetsAi: make PhyrexianManaCheck more generic and update to new SpellAbilityAi format 2017-01-22 07:16:15 +00:00
Agetian
5926cf9788 - Simpler test for Phyrexian mana shard in ChangeTargetsAi. 2017-01-22 06:36:18 +00:00
Agetian
359a5f343b - More crash prevention in ChangeTargetsAi. 2017-01-22 05:58:30 +00:00
Agetian
6867295a87 - Imports cleanup. 2017-01-22 05:57:27 +00:00
Agetian
2c39506879 - Some crash prevention in ChangeTargetsAi, the AI needs further improvement here if we're to teach it to retarget spells with multiple targets.
- Generalized ChangeTargetsAi not to mention Spellskite by name (so other creatures can gain its ability and be correctly used by the AI) and also not to use AI Logic and detect the ability via DefinedMagnet instead.
- Marking Muck Drubb as AI playable.
2017-01-22 05:56:30 +00:00
Agetian
001b6aea84 - One more addition/cleanup in SpecialCardAi. 2017-01-21 18:20:17 +00:00
Agetian
bdf1660e1d - Some cleanup in SpecialCardAi. 2017-01-21 18:17:39 +00:00
Agetian
80097c5221 - Use a lessCMC predicate in SpecialCardAi.ForceOfWill#consider. 2017-01-21 18:16:15 +00:00
Agetian
c06cbbfe0f - Made Mizzium Meddler use AI SpellMagnet and thus made it AI-playable. 2017-01-21 17:27:12 +00:00
Agetian
9dfc0053ff - Allow the AI to pay phyrexian mana for Gut Shot if it deals a killing blow to an opponent. 2017-01-21 14:40:11 +00:00
Agetian
e864600058 - Preventing the AI from spending Phyrexian mana on some abilities on CMC 1 cards with Phyrexian-only mana that are not typically wise to spend Phyrexian on and the AI would generally use the possibility at inappropriate times. 2017-01-21 14:30:02 +00:00
Agetian
68641a0cfe - Implemented basic "spell magnet" AI (currently used by Spellskite).
- Made the AI able to pay mana costs consisting of only phyrexian mana symbols in absence of relevant colored mana sources (e.g. Mutagenic Growth, Spellskite activated ability).
- Fixed the AI killing itself when paying phyrexian mana while being at 2 life (we might want to consider actually implementing a certain "safe limit" above 2 life, maybe 4 or 5 life, at least outside the range of a typical burn spell).
2017-01-21 14:14:16 +00:00
Agetian
a714af3a9c - AI should not ignore AF CopySpellAbility if it's a mandatory (e.g. triggered) activation. Fixes Precursor Golem and possibly other similar cards when they are controlled by the AI. 2017-01-21 10:14:04 +00:00
Hanmac
2f3d1026bc CardPredicates: add greaterCMC and lessCMC which does respect SplitCards 2017-01-21 09:28:18 +00:00
Agetian
566ed71105 - Updated SpecialCardAi to use custom predicates for CMC checks. 2017-01-21 08:48:34 +00:00
excessum
5a6969b4c1 - Fixed whitespace for r33298 2017-01-21 08:37:44 +00:00
excessum
7fd46af03f - Fixed AI for Fatal Push 2017-01-21 08:34:34 +00:00
pfps
ab867a40ee Better prompt messages for confirming optional triggers 2017-01-20 20:19:31 +00:00
Agetian
e8fd2a77f2 - For now, disabling ACTIVELY_DESTROY_ARTS_AND_NONAURA_ENCHS in Default AI profile, but keeping it enabled in the Reckless/Aggro profile (for the AI to be more aggressive in removing the opposing threats when given a chance).
- Imports cleanup.
2017-01-20 17:46:01 +00:00
Agetian
e3e97cd2e6 - Added global options to control the min CMC the AI would use permission against (disabled in both default profiles at the moment).
- Implemented some simple AI for Daze and Force of Will such that the AI does not waste them so much on every single opportunity (quite basic, needs further expansion).
- Fixed Force of Will disappearing from the AI card pool when it was trying to cast it without having a valid blue card to exile in hand.
- Marked Daze and Force of Will as AI-playable (should at least be more or less on par with other permission for the most part).
2017-01-20 17:41:43 +00:00
Agetian
29ed470ca2 - Improved Black Lotus AI in low-CMC decks. 2017-01-20 15:05:32 +00:00
Agetian
5b3250b420 - Imports cleanup. 2017-01-19 14:47:23 +00:00
Agetian
69261f48fe - Improved Yawgmoth's Will AI.
- Moved it to SpecialCardAi and named the AI logic after the card for now because it looks like the effect is rather unique in the card pool.
2017-01-19 14:46:33 +00:00