Commit Graph

992 Commits

Author SHA1 Message Date
Hanmac
9468e9e454 Big MayPlay Update, now MayPlayEffect does know about its host card, and the hostcard does count how often the effect is used.
also add MayPlayLimit and MayPlayCardOwner flags.
that makes Karador, Ghost Chieftain scriptable
2016-07-30 11:36:58 +00:00
excessum
7baa99dcbb - Fixed bug where AI suicides attackers into multi-blockers (eg. 2/3 lifelink into two 2/3s) 2016-07-30 08:18:25 +00:00
Hanmac
8bc1015496 SpellAbilityAi: add to the warnings of "default implementation" which card did cause that problem 2016-07-30 07:53:33 +00:00
Hanmac
bb114eba85 forge-ai: remove mention of "may be played" 2016-07-30 07:52:08 +00:00
excessum
2ac9949251 - Added AILogic for mill ability of Liliana, the Last Hope 2016-07-30 05:41:03 +00:00
excessum
ebce26e412 -Changed CharmAi to use canPlayAi() instead of doTrigger() when deciding if a choice is good 2016-07-29 13:52:08 +00:00
Hanmac
9ef0ccf663 ComputerUtilMana: AI did get away without raising the Cost of SpellAbilities 2016-07-29 11:16:13 +00:00
Sol
d41c0bc3e0 - Add changes to allow for a one of the two piles to be facedown
- Add Fortune's Favor
2016-07-26 14:32:42 +00:00
excessum
9496bf38fd - Removed PumpAllAi.doTriggerAINoCost() that was allowing AI to cast spells illegally, causing couldn't add to stack errors 2016-07-26 13:45:45 +00:00
excessum
9bbbe5bc46 - Removed EffectAi.doTriggerAINoCost() that was allowing AI to cast spells illegally, causing couldn't add to stack errors 2016-07-26 12:16:40 +00:00
Hanmac
1cf4bc02fd CostAdjustment does absorb ManaCostAdjustment 2016-07-26 10:19:17 +00:00
excessum
c58a1495ac - Re-factored CharmAi further 2016-07-25 14:00:46 +00:00
excessum
e43fe8abc6 - Fixed accidental revert of PlayerControllerAi by r31697 2016-07-25 12:49:35 +00:00
excessum
c7de464023 - Fixed NPE for triggers in r31688 and r31664 2016-07-25 12:43:47 +00:00
Agetian
31cee17693 - Temporarily reverted r31664 (causes repeatable fatal crashes e.g. on the AI casting a spell like Deceiver Exarch that do not allow the game to proceed). Feel free to recommit in a tweaked way. 2016-07-24 15:46:49 +00:00
excessum
1b5c2ad932 - Cleaned up CharmAi 2016-07-23 13:02:19 +00:00
excessum
b25ad27692 - Reverted most of r31652 as CharmsAi.chooseOptionsAi() can be called externally 2016-07-23 06:54:53 +00:00
excessum
956910fbe9 - Updated CharmAi to use new canPlay() 2016-07-23 04:24:47 +00:00
Sol
9c6d4e69a9 - Initial checkin for Meld (still some kinks to work out, but ya gotta start somewhere)
- Add Graf Rats/Chittering Host and Midnight Scavengers
2016-07-23 01:26:51 +00:00
Agetian
7d89f5ee70 - A somewhat cleaner fix for Token AI that fully separates the logic for detecting and processing mixed player/planeswalker target lists. 2016-07-20 04:18:12 +00:00
Agetian
1acd48be9e - Attempted fix for the Token AI crashing when the AI is trying to decide which player/planeswalker to attack with a spawned token. Consider improving. 2016-07-19 19:34:02 +00:00
Hanmac
a1b3199251 ComputerUtilCost: turn "LifeLE2" into a more generic "LifeLE", also fixed checkSacrificeCost using wrong split separator 2016-07-18 13:01:00 +00:00
drdev
4ecb5e17fa Fix compile warnings 2016-07-17 18:41:00 +00:00
Hanmac
0fb4e2063f LifeSetAI: Reverse the Sands does crash it, so prevent the AI from thinking about it 2016-07-17 09:25:09 +00:00
Krazy
6d9a7146b3 [maven-release-plugin] prepare for next development iteration 2016-07-17 00:57:42 +00:00
Krazy
a4ab46bc8c [maven-release-plugin] prepare release forge-1.5.54 2016-07-17 00:57:30 +00:00
Agetian
6abdafc0d3 - Reverted r31521, not needed (already works the way it has to). 2016-07-15 17:02:00 +00:00
Agetian
a963bf41f4 - For the purpose of moving an equipment, the AI considers a creature it no longer controls as "useless" for the purpose of retaining an equipment on it. 2016-07-15 15:44:01 +00:00
Hanmac
1273c0cdb1 CharmAi: add AI for Triskaidekaphobia 2016-07-14 19:34:42 +00:00
Hanmac
4fe6569dc5 TokenAi: add chooseSinglePlayer for it, its used for TokenAttacking and should be used to get the player it should attack. 2016-07-14 19:33:59 +00:00
Agetian
02d06e7a1c - Removed a useless line I forgot to take out. 2016-07-14 09:07:54 +00:00
Agetian
6bf4c4ad66 - Attempted to fix the "single zone" targeting restriction for cards that require choosing multiple cards via a list input.
- For the human player, once the first target is chosen, the other targets are only listed from the same zone (e.g. from the same graveyard), other targets are not listed.
- For the AI player, the illegally chosen targets are removed post-selection from the targeting list. This is suboptimal and is only done this way so the AI at least does not cheat. We need an AI expert to expand on this to make the AI choose targets sanely in the first place.
2016-07-14 06:09:33 +00:00
Agetian
7510baf5e2 - Avoid division by zero when evaluating the opening hand if there are deck contains no lands. 2016-07-12 05:28:09 +00:00
Hanmac
38cf94774b StoreSVarAi: Tree of Redemption & Tree of Perdition add more logic if the AI or target opponent can't gain life/lose life. Also Check if something would turn the lifegain into a Lose. add Tainted Remedy into the check to enable Combo with Tree of Perdition. 2016-07-08 11:12:57 +00:00
Sol
abf66a5555 - Improving how the AI handles certain counterspells especially Hive Mind + Pact of Negation. 2016-07-07 17:54:43 +00:00
Sol
5524c00367 Meld 2016-07-03 16:37:05 +00:00
swordshine
c6106d7f58 - EMN: Added Lupine Prototype by Marek 14
- EMN: Added Decimator of the Provinces (Emerge)
2016-07-03 08:09:31 +00:00
Krazy
8d73ffb52b [maven-release-plugin] prepare for next development iteration 2016-06-29 04:09:17 +00:00
Krazy
4e6dd62a54 [maven-release-plugin] prepare release forge-1.5.53 2016-06-29 04:09:06 +00:00
Sol
259c6750fb - Mulligan sign got inverted somewhere during testing. 2016-06-23 20:57:36 +00:00
Sol
ea5d6d4fa5 - Split AI mulliganing to scoring hands/comparing to a base value to later be used with Backup Plan 2016-06-23 14:03:39 +00:00
Sol
ff0c33d613 - AI will have better respect for LEDs activation restriction during auto payment
- (Hopefully) Fixed auto-payment not clearing out it's express choice which forces Black Lotus, etc, to not prompt user for mana choice
2016-06-21 16:56:10 +00:00
Hanmac
9b6ce1a062 add Dawnbreak Reclaimer, with extra logic in ChangeZoneAllAi 2016-06-20 07:09:20 +00:00
Hanmac
9e93551fb4 SetStateAi: rearrange the code to have the TargetRestriction check also for Flip cards 2016-06-20 07:05:56 +00:00
Hanmac
7978674351 EffectAi: do not use Prevent effect on something which has already Prevent Effect 2016-06-16 16:42:58 +00:00
Hanmac
5f634369bf CardFactory: for DoubleFacedPlaneswalker, add the SVars to the State instead of the Card
ReplacementHandler: for Cards with AlternateState, ask the game for the current CardState
AIController: use game.getCardState
2016-06-14 15:33:15 +00:00
Hanmac
e9f32d344e ChooseGenericEffectAi: add Logic for SelfOthers cards, only use self, if it doesn't has consequences 2016-06-14 07:52:25 +00:00
Hanmac
fda1cbb88b AbilityUtils: make "OppNon" more generic to allow "OppNonParentTarget"
add "The Fate of the Flammable", "May Civilization Collapse", "Feed the Machine" and "Surrender Your Thoughts"
update ChooseGenericEffectAI, currently it does prefer others over self, even if targeted wouldn't hurt target player.
2016-06-11 18:39:32 +00:00
Hanmac
3c2a6fbaa3 ComputerUtil; add more checks for hasACardGivingHaste:
add Check for StaticAbilities for non-Equipment
add Check for Trigger which does trigger on EnterTheBattlefield
and ad Check for Special Cases like Anger and Odric
2016-06-04 10:44:57 +00:00
Hanmac
6684a597de AttachAi: fixed from variable name 2016-05-26 11:11:54 +00:00