Commit Graph

2301 Commits

Author SHA1 Message Date
Hanmac
abb4d6f31f PlayAi & PermanentAi: add more functions to make Suspend cards working again 2016-11-28 19:07:02 +00:00
Hanmac
f9f13275b1 GoadAi: do it without TargetRestrictions 2016-11-28 19:05:35 +00:00
Hanmac
f0cef50d73 ChooseGenericEffectAi: used new SpellAbilityAi format, and make Fabricate possible 2016-11-28 17:57:29 +00:00
Hanmac
5b763c63b7 AiCostDecision: fixed CounterType for Quest logic 2016-11-27 09:02:21 +00:00
Hanmac
f14c4ab564 AiCostDecision: CostRemoveAnyCounter add logic how to remove counters from cards. 2016-11-26 11:57:25 +00:00
Hanmac
fdcf7be18a ComputerUtil: extend isNegativeCounter with more counters and Special cases
add isUselessCounter for Counters with no effect
2016-11-26 11:23:47 +00:00
Hanmac
c9d6f72d77 CountersMultiply: add new API type for double counters on cards
remove it from RepeatEachAi
add more AI logic into it. it does support Strive Spell
2016-11-20 15:03:27 +00:00
Hanmac
7a36b36835 CountersProliferateAi: use better AI logic 2016-11-20 09:23:57 +00:00
Hanmac
3c5eb2248b CardFactoryUtil: Miracle is a Trigger now, and make PlayAi a bit better to check if it can play it 2016-11-18 19:55:05 +00:00
excessum
4178d0f7e3 - Fixed timing for AI self-mill
- Fixed chkAIDrawBack() for ChooseCardAi
2016-11-17 06:57:09 +00:00
Hanmac
e9ddecbc8c AiController: checkETBEffects: make it better working with OverridingAbility (and use better getAbility function) 2016-11-16 06:23:15 +00:00
Hanmac
5729ec0779 ComputerUtil: getDamageFromETB fixed Trigger with OverwridingAbility 2016-11-14 21:00:33 +00:00
Hanmac
b7beb6612e ChangeZoneAllAi: add more check for mandatory 2016-11-10 18:19:39 +00:00
Hanmac
ceb3fae152 CardFactoryUtil: make Haunt a better Effect, rework the Haunt Triggers in new format
Trigger now does has a helper to replace ABILITY in TriggerDescription with its ability
2016-11-09 15:26:26 +00:00
Hanmac
16d8233560 ControlGainAi: some fixes about using LoseControl parameter 2016-11-08 06:15:30 +00:00
Hanmac
9ac28f4bc8 ChooseCardAi: updated AI for new SpellAbilityAi format 2016-11-07 21:30:42 +00:00
Hanmac
5200489063 ComputerUtil: fixed getDamageForPlaying for Trigger with OverridingAbility 2016-11-06 07:29:04 +00:00
Hanmac
6c47d22256 AiController: move more to PermanentAi 2016-11-03 09:30:20 +00:00
Hanmac
e14e883f47 AiController: move parts for SpellPermanent to PermanentCreatureAi and PermanentNonCreatureAi 2016-11-03 07:45:02 +00:00
Hanmac
eecf564129 ChangeZoneAllAi: fixed problem with return from exile Effects
also upated the Code using PlayerPredicates, with getOpponents instead of just one
2016-11-01 08:56:03 +00:00
Hanmac
659134352c AiPlayerPredicates: special PlayerPredicates but having some AI Logic into it 2016-11-01 08:54:00 +00:00
Hanmac
d8d195af5c SpellAbilityAi: add more checks if it use Targeting and has Candidates to target 2016-10-31 22:09:34 +00:00
Hanmac
a8247019ec AnimateAi: add fallback if target is mandatory and no better card 2016-10-31 16:06:54 +00:00
Hanmac
1323860100 PlayerControllerAi: do not add to Stack if it cant go there (like missing targets) 2016-10-31 16:05:25 +00:00
Hanmac
0371ea150e AttachAi: use getOpponents instead of getOpponent 2016-10-30 21:20:09 +00:00
Hanmac
0c30e42c39 ComputerUtilMana: remove ManaProducingCard, replace it with static function 2016-10-30 18:09:43 +00:00
Hanmac
e48968bce1 ControlGainAi: use getOpponents() and add more logic into gain Control of something that would leave the Play 2016-10-30 17:53:39 +00:00
Myrd
e8487361d8 Fix some warnings 2016-10-30 17:28:06 +00:00
Hanmac
f4cb8e1cdf do Tribute in new Keyword format 2016-10-30 14:54:22 +00:00
Hanmac
f28424ea9b AiController & CountersProliferateAi: be more fieldly with ally controlled creatures
chooseProliferation now works with Energy counters on players and has extra logic for Vanishing and Fading
CountersProliferateAi only checks the Counters the card really has
2016-10-30 09:24:17 +00:00
Hanmac
4b9388c562 Makes the Game work with more than one Commander 2016-10-25 15:39:52 +00:00
Sol
d98965f3ed - Fix AI targeting for Blatant Thievery 2016-10-24 16:33:51 +00:00
Sol
515f501810 - Prevent AI from crashing game if it controls an Animation Module 2016-10-24 13:53:02 +00:00
Hanmac
741bb9de02 SetStateAi: add logic for target spells, do it for Transform and for TurnFace 2016-10-22 16:13:50 +00:00
Agetian
a491851a97 - Fixed Sanity Grinding and the relevant AI logic. 2016-10-22 13:39:43 +00:00
Hanmac
04a22531cb SetStateAi: fixed problem with recent fix 2016-10-22 12:53:10 +00:00
Hanmac
bb746c8bc4 SetStateAi: fixed problem with SetState with TurnFace Mode 2016-10-22 12:35:28 +00:00
Hanmac
9c55194bde ControlExchangeAi: add some Logic for chkAIDrawback that is used in Triggers 2016-10-22 11:10:49 +00:00
Hanmac
4d53b22a12 AnimateAi: add some logic for animateTgtAI and do some rewriting 2016-10-17 20:35:22 +00:00
Hanmac
97cfbba74f AnimateAi: replace copyCard with LKI copy 2016-10-16 13:14:41 +00:00
Hanmac
fadb09fca5 ComputerUtilCost: checkRemoveCounterCost allow Zero Loyality Abilities 2016-10-14 19:39:08 +00:00
Hanmac
8e220c866a MillAi: rewrote AI to work with multiple opponents
also try not to mill zero cards or itself
that should fix some cards
2016-10-14 15:20:00 +00:00
Hanmac
99bdf33774 SrcyAi: rewrote ScryAi to use new SpellAblityAi logic
add logic for Brain in a Jar
2016-10-14 10:55:18 +00:00
Hanmac
e690bdb3aa ComputerUtilCost: checkRemoveCounterCost now uses SpellAbility too
should not try to remove zero counters if its from Source or if PaymentDecision says zero
AiController: also remove getOpponent
2016-10-14 07:35:28 +00:00
Hanmac
94431e308c ComputerUtil: for CardPreference, don't use random, try to choose the worst card 2016-10-14 07:28:06 +00:00
Hanmac
5fb917e62b ManifestAi: rewrote it to use new SpellAbilityAi logic
also add some logic if ai can see its top card
2016-10-13 11:29:24 +00:00
Hanmac
60221cd5a7 AttachAi: add checks for canBeEnchantedBy and canBeEquippedBy 2016-10-12 13:30:12 +00:00
Myrd
085d752460 Optimize doesCreatureAttackAI() by not simulating combat each time the question is asked. Instead, cache the Combat object and only reset each time we're choosing which ability to play.
This speeds up games that have lots of creatures as before this change, the combat simulation would be done multiple times redundantly.
2016-10-09 22:34:43 +00:00
Hanmac
bda4379e8b ChangeZoneAi: improved SameName for Declaration in Stone
for evaluate the creature lists, need to check them per opponent.
also add checks for isTargetableBy
2016-10-09 18:11:20 +00:00
Hanmac
e3d0e6ebfe ComputerUtilCard: add evaluateCreatureListByName 2016-10-09 17:23:06 +00:00