Commit Graph

2085 Commits

Author SHA1 Message Date
Agetian
56d79f36dc - Fixed a crash when loading a game state with a misspelled card name (will now report the card name in the console instead of hard-crashing). 2017-07-30 11:14:32 +00:00
Agetian
bbcf7b638f - Added a TODO entry to GameState. 2017-07-30 10:47:27 +00:00
Agetian
94cc314738 - Preserve ChosenColors and ChosenType in game states. 2017-07-30 10:40:32 +00:00
Agetian
39eb6482e3 - Handle marked damage before the triggers are unsuppressed when applying game states. 2017-07-30 10:19:46 +00:00
Agetian
85e66ebd8a - Fixed marking damage in puzzle mode and game states.
- Fixed card attachment in puzzle mode not working correctly when attaching a card to a card belonging to a different player.
2017-07-30 08:27:16 +00:00
Agetian
322b7084ea - Use calculateAmount in AttachAi instead of a custom method. 2017-07-30 06:53:52 +00:00
Agetian
8ac2c0462a - Fixed a NPE in AttachAi related to processing negative count for X (e.g. -X in Quag Sickness). 2017-07-30 06:40:17 +00:00
Hanmac
698c9d2923 PlayAi: fixed non-final error 2017-07-29 19:53:28 +00:00
Agetian
a502ceea53 - Added a way to preserve marked damage in game states and puzzles. 2017-07-29 17:04:26 +00:00
Agetian
6adf49de45 Fixed AILogic$ Evasion for EffectAi causing the AI to play the relevant cards out of context (e.g. Gruul Charm with the "can't block" mode on an empty battlefield). 2017-07-29 11:42:46 +00:00
Agetian
839ced1b32 - Use a separate AI logic for "Detain target nonland permanent". 2017-07-28 07:44:02 +00:00
Agetian
b7f220d02b - Formatting fix. 2017-07-28 04:20:19 +00:00
Agetian
398ae8946c - Fixed the AI targeting nonland permanents with no activated abilities with effects like Detain. 2017-07-28 04:19:06 +00:00
Blacksmith
1668717cf8 [maven-release-plugin] prepare for next development iteration 2017-07-22 00:46:25 +00:00
Blacksmith
0e3163dd62 [maven-release-plugin] prepare release forge-1.6.1 2017-07-22 00:46:15 +00:00
Agetian
fb58a75869 - Fixed CopySpellAbilityAi (e.g. Replicate).
- TODO: figure out why the AI won't announce the Replicate amount correctly (always says Replicate=0).
2017-07-21 19:23:30 +00:00
Agetian
9315e6ca5c - PlayAi: the mandatory parameter was not correctly propagated in chooseSingleCard, thus making the AI bail on certain mandatory spells (e.g. suspended Ancestral Vision). 2017-07-18 04:33:29 +00:00
Agetian
47566b3fef - Do not update the view on ManifestAi replacement effect check. 2017-07-17 17:21:24 +00:00
Agetian
83d0e7065a - ManifestAi: AI should check to ensure that manifesting the card will not be prevented by something like Grafdigger's Cage. 2017-07-17 17:13:44 +00:00
Hanmac
fdb19ebfbc SpellAbilityAI: add checkConditions, do extra handling for ManaSpent Check there
also add check for when main SpellAbility condition is false but the subAbility condition is true
like for Dawnglow Infusion
2017-07-16 18:31:24 +00:00
Hanmac
103ddb6f15 LifeGainAi: new Format and try to add more logic into it with using Lifegain as Damage Spell 2017-07-16 08:17:21 +00:00
Agetian
44cafc14f0 - A more robust check in MeldAi (checks ownership of both components, ensures that source of SA is the primary meld). 2017-07-15 14:36:47 +00:00
Agetian
b737932da5 - Removed incorrect javadoc. 2017-07-15 08:37:45 +00:00
Agetian
bddd2d2473 - A small filtering precaution. 2017-07-15 08:36:16 +00:00
Agetian
1c20a00f7c - Updating AI support for Meld (particularly when it's an activated ability so the AI knows when to activate it). 2017-07-15 08:32:49 +00:00
Agetian
6fdf895c01 - Embalmer's Tools: AI should generally use its activated ability at opponent's end of turn and before its own turn. 2017-07-15 03:52:48 +00:00
Agetian
507490df59 - LifeGainAi: minor formatting. 2017-07-14 16:53:08 +00:00
Agetian
3c4309d74b - LifeGainAi: Do not use the "don't sac possible blockers" code path if the cost is "sac self" and the card is not a creature (e.g. Woodweaver's Puzzleknot). 2017-07-14 14:44:28 +00:00
Agetian
8f27ba5022 - CopyPermanentAi: do not try to activate the copy ability if there is nothing to copy when there needs to be an imprinted card (Mimic Vat). 2017-07-14 10:12:39 +00:00
Agetian
05fe27afa6 - Switching Pestilence AI to be more generic and use AILogic$ DmgAllCreaturesAndPlayers 2017-07-13 06:09:07 +00:00
Agetian
c6ddc9f8dd - Comment formatting fix. 2017-07-13 05:49:41 +00:00
Agetian
f8eec67cca - Integrating the Pestilence AI improvement by Seravy. 2017-07-13 05:32:35 +00:00
Agetian
546fc33ba6 - Added AI logic to the "Tap to get {E}" ability of Consulate Turret. 2017-07-11 10:07:12 +00:00
Agetian
89cfd0bbb0 - Added an alias to AILogic Pump (AILogic BestOption) to ChooseGenericEffectAi for cards where this name of the logic makes more sense. Switched Catastrophe to using this AILogic name. 2017-07-11 07:09:52 +00:00
Agetian
aa974352c5 - Some refactoring and improvements in DestroyAllAi which should hopefully make the AI decide better on things like Wrath of God, Catastrophe, Armageddon etc. 2017-07-11 06:38:24 +00:00
Agetian
d587543416 - Formatting fix. 2017-07-10 14:24:37 +00:00
Agetian
4d7758e376 - Formatting fix. 2017-07-10 14:24:06 +00:00
Agetian
edc4dfdc95 - Fixed Tap/Untap AI not determining the trigger status of the SA, resulting in an "adding to stack error" when casting a spell similar to Deceiver Exarch. 2017-07-10 14:15:29 +00:00
Agetian
3564dc6f1a - A little improvement to the fallback test in DamageDealAi. 2017-07-09 17:02:31 +00:00
Agetian
d0b18e159b - Minor formatting fix, 2017-07-09 14:32:25 +00:00
Agetian
6f320f2c77 - Fix imports. 2017-07-09 14:32:07 +00:00
Agetian
30e7c33f3e - Improved Drain Life AI logic. 2017-07-09 14:31:28 +00:00
Agetian
bff2a6cad0 - AiAttackController: Switch to using CardCollection for attacker/blocker arrays, fixes the all-in overevaluation bug in a more elegant way and protects against potential duplicate entries in other places. 2017-07-09 05:59:40 +00:00
Agetian
3352c94a53 - AiAttackController: make sure that unblockedAttackers do not get added twice, which would result in the AI over-evaluating the potential attacker damage and becoming too confident in performing an all-in, resulting in a loss next turn. 2017-07-08 18:56:42 +00:00
Blacksmith
ffb1cddff4 [maven-release-plugin] prepare for next development iteration 2017-07-08 18:41:58 +00:00
Blacksmith
95bd589291 [maven-release-plugin] prepare release forge-1.6.0 2017-07-08 18:41:48 +00:00
Agetian
d17b3d4019 - Attempting to improve CountersPutAi when targeting the AI player itself (shouldn't try it if the AI player has no counters at all)
-TODO: isn't the inner condition check somewhat off too? (will currently attempt targeting every time eachExisting is false, even if the AI has no counters at all).
2017-07-07 18:16:20 +00:00
Agetian
2dd0267607 - Allow the AI to confirm a ChangeZone event with unpreferred targeting if its AI Logic is set to Always. 2017-07-07 17:33:07 +00:00
Hanmac
02d9c8e996 SpecialCardAI: move some Ugin logic to prevent ChosenX not found warning 2017-07-07 13:14:57 +00:00
Hanmac
edd05062d2 ComputersPutAi: more generic way to check for Land Animation 2017-07-05 08:37:02 +00:00