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
Krazy
ebbe189f4a
[maven-release-plugin] prepare for next development iteration
2016-10-31 04:07:37 +00:00
Krazy
c6f6344d4f
[maven-release-plugin] prepare release forge-1.5.57
2016-10-31 04:07:26 +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
Agetian
2cd7016703
- More changes related to supporting negative power and toughness, please test to see this doesn't break anything.
...
- Fixed some visualization issues in the deck editor related to supporting negative P/T (e.g. non-creatures showing up as P/T 2 billion+ / 2 billion+).
2016-10-09 12:05:55 +00:00
excessum
401dba1596
- Implemented AI for Declaration in Stone
2016-10-09 05:42:26 +00:00
Agetian
0c4e63d628
- Minor stylistic fix.
2016-10-08 16:11:45 +00:00
Agetian
01b10f2875
- Properly consider Trample damage for non-pumped blocked creatures in the previously committed routine.
2016-10-08 16:11:04 +00:00
Agetian
537c79493f
- AI Pump logic update: try to determine if pumping a creature for more power will give lethal on board considering all unblocked creatures after the blockers are declared in the Declare Blockers step.
2016-10-08 16:07:31 +00:00
excessum
4ca1fc3911
- Fixed bug from r32304
2016-10-08 13:45:40 +00:00
excessum
bdae06573b
- Implemented AI for Die Young and changed it to Sorcery
2016-10-08 13:08:56 +00:00
excessum
43840198ec
- Updated PumpAi
2016-10-08 12:31:11 +00:00
excessum
66b59a1bb5
- Minor fixes for AnimateAi
2016-10-08 12:21:33 +00:00
excessum
1eb9fa375e
- Separated vehicle crewing logic between "canPay" and "canPlay"
2016-10-08 06:14:44 +00:00
excessum
8fbfea317a
- Updated AnimateAi
2016-10-08 02:43:41 +00:00
Hanmac
737fae947d
PumpAiBase: updated isUsefulCurseKeyword to remove getOpponent
...
refactor Combat related stuff, for AI attacking, the card's controller need to be the one attacked.
2016-10-07 08:23:20 +00:00
Agetian
cb9f92d419
- Kozilek's Pathfinder AI improvement: the AI should not consider the "target creature can't block CARDNAME this turn" ability if the source of the ability is tapped and not attacking.
2016-10-06 20:24:34 +00:00
excessum
c88cb274ae
- Implemented AI for "can't block CARDNAME this turn" abilities (eg. Kozilek's Pathfinder)
2016-10-06 02:40:43 +00:00
excessum
b962bc9ca6
- Stopped AI from crewing vehicles with stronger or equal (ie. crew vehicle with another copy of crewed vehicle) creatures
2016-10-06 02:25:15 +00:00