Commit Graph

2301 Commits

Author SHA1 Message Date
Agetian
081ea769a1 - Removed an unused variable. 2017-08-04 08:46:48 +00:00
Agetian
e3c3315873 - Improved the AI logic for Chain of Acid. 2017-08-04 08:43:47 +00:00
Agetian
bb0218d3c6 - Fixed the AI cheat-activating AF PutCounter with a sac cost without sacrificing anything (e.g. Extruder). 2017-08-04 07:27:41 +00:00
Agetian
79321a0ffb - AlwaysPlayAi: implement an overriding confirmAction (set to return always true since AlwaysPlay is meant to do exactly that). 2017-08-03 19:52:48 +00:00
Agetian
8e469493ac - Added Liege of the Hollows. 2017-08-03 16:03:38 +00:00
Agetian
8a39ff469f - Added Power Leak (for now, needs a special exclusion in the AI code to properly determine who the paying player is, otherwise the AI believes that it's the opponent who owns Power Leak in case it's cast by the opponent). 2017-08-01 16:52:26 +00:00
Agetian
e43cfce016 - Improved and fixed the handling of game states inside combat phases (DA, DB), added a way to mark cards that are attacking in saved game states. 2017-08-01 10:10:15 +00:00
Agetian
5931b53896 - Removed an unused variable. 2017-08-01 08:26:35 +00:00
Agetian
d9b3c2c15c - Added a comment. 2017-08-01 06:17:44 +00:00
Agetian
10a9825f82 - Fixed a bug that caused multiple attachments on the same permanent not to work in game states.
- Improved the game state support to handle remembered cards and ExiledWith.
2017-08-01 06:16:46 +00:00
Agetian
2bbe168200 - Script execution in GameState: look for other scripts to execute if one of the SVars was not found. 2017-07-31 12:01:53 +00:00
Agetian
d6e8a96b19 - Script execution in GameState: do not iterate over all SVars, just grab the necessary SVar directly. 2017-07-31 12:00:02 +00:00
Agetian
c34fae302e - Added a way to force execution of a portion of card script when setting up game state (needed for some puzzles that utilize cards that dynamically set up effects when they ETB, e.g. Suspension Field).
- Added PC_041415 puzzle by Xitax.
2017-07-31 05:27:15 +00:00
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
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