Commit Graph

32398 Commits

Author SHA1 Message Date
Agetian
13c92798d8 - Fixed the name of the activating player not appearing in the AF Cipher description.
- Still need to somehow fix the fact that "...<player> chooses the card to encode" part appears in the stack description of the copied spell (it shouldn't).
2017-01-21 19:37:26 +00:00
Agetian
1e200bbcba - Formatting fix. 2017-01-21 19:21:23 +00:00
Agetian
828359c0bc - Fixed NPEs in the new prompt input code (we should not assume that SA vars will be filled in at all times). 2017-01-21 19:20:46 +00:00
Agetian
001b6aea84 - One more addition/cleanup in SpecialCardAi. 2017-01-21 18:20:17 +00:00
Agetian
bdf1660e1d - Some cleanup in SpecialCardAi. 2017-01-21 18:17:39 +00:00
Agetian
80097c5221 - Use a lessCMC predicate in SpecialCardAi.ForceOfWill#consider. 2017-01-21 18:16:15 +00:00
Agetian
9b25ce3cc6 - Fixed logic in CombatUtil#canBlock 2017-01-21 17:53:21 +00:00
pfps
97fe0ec046 Separate prompt from card descriptions in prompt area 2017-01-21 17:39:32 +00:00
Agetian
c06cbbfe0f - Made Mizzium Meddler use AI SpellMagnet and thus made it AI-playable. 2017-01-21 17:27:12 +00:00
pfps
dfbd677bf0 Tiny fix when showing abilities with no description in prompt pane 2017-01-21 17:18:52 +00:00
pfps
5924706b1a Move several confirm popups to prompt pane - required modifying prompt pane to have a cardview instead of a spellabilityview 2017-01-21 16:28:11 +00:00
Hanmac
ca45bf3da5 AbilityUtils: make calculateAmount with Triggered use getDefinedCards which does handle Trigger before
CardUtil: need to set CopiedPermanent for LKICopy
Scrap Trawler: use TriggeredCardLKICopy which might be more correct
2017-01-21 14:52:05 +00:00
Agetian
7beb11ad09 - Committing the previously missing PlayerPredicates update. 2017-01-21 14:41:08 +00:00
Agetian
9dfc0053ff - Allow the AI to pay phyrexian mana for Gut Shot if it deals a killing blow to an opponent. 2017-01-21 14:40:11 +00:00
Agetian
e864600058 - Preventing the AI from spending Phyrexian mana on some abilities on CMC 1 cards with Phyrexian-only mana that are not typically wise to spend Phyrexian on and the AI would generally use the possibility at inappropriate times. 2017-01-21 14:30:02 +00:00
Agetian
68641a0cfe - Implemented basic "spell magnet" AI (currently used by Spellskite).
- Made the AI able to pay mana costs consisting of only phyrexian mana symbols in absence of relevant colored mana sources (e.g. Mutagenic Growth, Spellskite activated ability).
- Fixed the AI killing itself when paying phyrexian mana while being at 2 life (we might want to consider actually implementing a certain "safe limit" above 2 life, maybe 4 or 5 life, at least outside the range of a typical burn spell).
2017-01-21 14:14:16 +00:00
Agetian
c587ec8cb6 - Fixed Parting Thoughts. 2017-01-21 11:27:34 +00:00
Agetian
a714af3a9c - AI should not ignore AF CopySpellAbility if it's a mandatory (e.g. triggered) activation. Fixes Precursor Golem and possibly other similar cards when they are controlled by the AI. 2017-01-21 10:14:04 +00:00
Hanmac
2f3d1026bc CardPredicates: add greaterCMC and lessCMC which does respect SplitCards 2017-01-21 09:28:18 +00:00
Agetian
32327187fa - Trying a smaller value for Targeting Overlay update rate once more, some additional testing needed. 2017-01-21 08:52:40 +00:00
Agetian
566ed71105 - Updated SpecialCardAi to use custom predicates for CMC checks. 2017-01-21 08:48:34 +00:00
excessum
5a6969b4c1 - Fixed whitespace for r33298 2017-01-21 08:37:44 +00:00
excessum
7fd46af03f - Fixed AI for Fatal Push 2017-01-21 08:34:34 +00:00
Agetian
9914c53016 - Setting Max Consecutive Updates to 3 in desktop Targeting Overlay, should get rid of the cases of "missing targeting arrows". 2017-01-21 06:01:07 +00:00
Agetian
7266a4f34e - Removing debug input. 2017-01-21 04:28:08 +00:00
Agetian
b98688eeed - Jabba the Hut -> Jabba the Hutt
- Please note that this changes the file name for the quest icon, we need to update this accordingly on the server.
2017-01-21 04:10:35 +00:00
Sol
00220845a3 - Fix description of Quicksmith Spy 2017-01-21 01:18:27 +00:00
pfps
ab867a40ee Better prompt messages for confirming optional triggers 2017-01-20 20:19:31 +00:00
Agetian
cc9e2caf2d - Imports formatting. 2017-01-20 19:18:44 +00:00
Agetian
1534e37453 - <b>..</b> tags do not work correctly in mobile Forge. 2017-01-20 19:17:58 +00:00
Agetian
11b635ed13 - Relax the CMC restriction on Force of Will a little bit. 2017-01-20 18:28:41 +00:00
Agetian
f8804af49d - A temporary way to display the ordering of blockers for cards in the game log (best done via a combat panel update, but I wasn't very successful with that). 2017-01-20 18:15:49 +00:00
Agetian
e8fd2a77f2 - For now, disabling ACTIVELY_DESTROY_ARTS_AND_NONAURA_ENCHS in Default AI profile, but keeping it enabled in the Reckless/Aggro profile (for the AI to be more aggressive in removing the opposing threats when given a chance).
- Imports cleanup.
2017-01-20 17:46:01 +00:00
Agetian
e3e97cd2e6 - Added global options to control the min CMC the AI would use permission against (disabled in both default profiles at the moment).
- Implemented some simple AI for Daze and Force of Will such that the AI does not waste them so much on every single opportunity (quite basic, needs further expansion).
- Fixed Force of Will disappearing from the AI card pool when it was trying to cast it without having a valid blue card to exile in hand.
- Marked Daze and Force of Will as AI-playable (should at least be more or less on par with other permission for the most part).
2017-01-20 17:41:43 +00:00
Agetian
bf98c77eb7 - Ensure that (Targeting ERROR) is removed from the prompt window when showing the SA text when selecting targets.
- Some code formatting.
2017-01-20 17:15:38 +00:00
Agetian
55e34867ff - Changed the desktop Forge Targeting Overlay from timer-based approach to a blocking mechanism which appears to work much better across systems (Linux, Mac, Windows) without causing visual artifacts and without causing the CPU overload (code submission by nefigah). 2017-01-20 17:06:15 +00:00
Agetian
29ed470ca2 - Improved Black Lotus AI in low-CMC decks. 2017-01-20 15:05:32 +00:00
Agetian
14901e4e72 - Fixed Goblin Taskmaster. 2017-01-20 09:09:21 +00:00
Sol
be28632961 - Fix Midnight Entourage's primary trigger 2017-01-20 02:52:22 +00:00
pfps
00ecfe7e49 Make mouseover on prompt pane show cardview of the controlling card if there is one 2017-01-20 00:48:01 +00:00
Agetian
6e706f3662 - A little clarification. 2017-01-19 18:45:26 +00:00
Agetian
5ac4d66d27 - I believe this is how ETB replacement effects not appearing on returned face-down cards in exile *should* be fixed... Please check. 2017-01-19 18:37:13 +00:00
Agetian
83a200ef69 - A slightly more generic solution for the Necropotence+The Rack problem, seems like the culprit is the "card that was exiled face down returning to hand" scenario does not reset the ETB replacement effects for some reason. Advice and better solution still welcome. 2017-01-19 18:15:27 +00:00
Agetian
8260c611a8 - Extra line removed. 2017-01-19 16:44:42 +00:00
Agetian
4f10d64b82 - FIXME: There is a strange bug with ETB replacement effects not being recreated under certain specific circumstances, for example, when an exiled-face-down card is returned to hand via AF ChangeZone: e.g. The Rack obtained via Necropotence does not work because its ETB effect ends up somehow being not set up correctly.
- For now, introduced a local change specific to Necropotence, but I think this is indicative of a bigger issue in the underlying code. If anyone knows why this is happening and where this is best fixed, please assist.
2017-01-19 16:44:01 +00:00
Agetian
5b3250b420 - Imports cleanup. 2017-01-19 14:47:23 +00:00
Agetian
69261f48fe - Improved Yawgmoth's Will AI.
- Moved it to SpecialCardAi and named the AI logic after the card for now because it looks like the effect is rather unique in the card pool.
2017-01-19 14:46:33 +00:00
Agetian
5277ab4627 - Fixed Ancient Excavation. 2017-01-19 13:14:37 +00:00
Hanmac
7c29bcf5b9 CombatUtil: updated CantBeBlockedBy CantBlock to work with multiple instances
turn Dragon Hunter Effect into a keyword like thing to work better with Text Change
2017-01-19 06:09:51 +00:00
Agetian
50e17d0080 - Until the deprecated Player#getOpponent() method can be removed from code, modify it such that instead of always returning the first (usually human) player, it returns the opponent with the lowest life count instead, which is a little more multiplayer-friendly. 2017-01-19 03:31:17 +00:00