Commit Graph

2085 Commits

Author SHA1 Message Date
Agetian
0378d54acc - Added implementation comment. 2017-08-25 05:51:54 +00:00
Agetian
d33b642b8e - A more universal CounterAi fix, accounting for sources producing multiple mana. 2017-08-25 05:49:00 +00:00
Agetian
27d68bcf45 - Fixed CounterAi in the trigger portion as well. 2017-08-25 05:28:06 +00:00
Agetian
b0122a8e38 - Renamed a method to be more self-explanatory. 2017-08-25 05:26:50 +00:00
Agetian
96cbb63c84 - CounterAi: fixed the AI not accounting for the mana in the mana pool of the SA activator; fixed the AI looking at the mana of the wrong opponent in multiplayer matches. 2017-08-25 05:23:27 +00:00
Agetian
aaf16273a9 - Minor code style unification. 2017-08-24 17:46:01 +00:00
Agetian
f83e03e775 - Fixed a comment. 2017-08-24 17:45:01 +00:00
Agetian
5328e443db - Fixed the AI tapping a creature for mana to cast a pump instant/sorcery spell on that creature. 2017-08-24 17:44:03 +00:00
Agetian
ed49943039 - Further improvements to AI handling Electrostatic Pummeler. 2017-08-24 17:27:14 +00:00
Agetian
220fdcdc75 - Added an overriding implementation of doTriggerAINoCost to BondAi, fixes the AI randomly ignoring a chance to soulbond creatures. 2017-08-24 16:21:23 +00:00
Agetian
441693ac36 - Added a couple break statements. 2017-08-24 11:49:08 +00:00
Agetian
77910d82fc - Improved AI spending counters for Skullmane Baku. 2017-08-24 11:47:59 +00:00
Agetian
05258a5b48 - Some improvement to the AI for "remove X counters": made the Baku cards that are marked as RemRandomDeck (but not RemAIDeck) playable by the AI again, albeit some of them rather suboptimally. Quillmane Baku is not supported (but was already marked RemAIDeck). 2017-08-24 10:28:43 +00:00
Agetian
ad8ad35c03 - One more fix. 2017-08-23 19:37:21 +00:00
Agetian
20d27bb9b3 - Removed an unused parameter. 2017-08-23 19:37:00 +00:00
Agetian
30e878cbf9 - Fixed the previous commit. 2017-08-23 19:36:29 +00:00
Agetian
374f6fcc1b - Improvements to the Electrostatic Pummeler AI logic. 2017-08-23 19:35:45 +00:00
Agetian
88491f61e2 - Some more improvements for Electrostatic Pummeler AI 2017-08-23 17:20:33 +00:00
Agetian
abe710f3ab - Some more fine-grained control over AILogic PayEnergyConservatively. 2017-08-23 15:16:47 +00:00
Agetian
3e4e87db23 - GameState: clear counters on planeswalkers and players before applying new ones from the game state. 2017-08-23 15:01:04 +00:00
Agetian
e7ca1a13a6 - Renamed a method. 2017-08-23 14:47:54 +00:00
Agetian
aca78410f6 - Moved a comment. 2017-08-23 14:47:24 +00:00
Agetian
989331cbb4 - Some improvements for Pump AI related to pump spells with pure energy cost, makes Electrostatic Pummeler a little better in AI's hands. 2017-08-23 14:45:01 +00:00
Agetian
7a8267a772 - A less reckless default AILogic PayEnergyConservatively for Longtusk Cub and Bristling Hydra (gives the AI a chance to use the energy for something else when possible). 2017-08-23 12:53:44 +00:00
Agetian
37ca383360 - Formatting code in DamageAllAi. 2017-08-23 08:52:51 +00:00
Agetian
90eb55fbf8 - Made DamageAllAi more multiplayer friendly + improved the logic for seeing if both a player can be killed and some more creatures can be dealt with in multiplayer environment.
- Marking ComputerUtil.getOpponentFor as deprecated and adding a comment about what it should be replaced with over time. Also, simplified its implementation since at the moment it's a functional synonym of getWeakestOpponent.
2017-08-23 08:51:28 +00:00
Agetian
e96c503b11 - DamageAllAi: prioritize killing the player off, if possible (e.g. Earthquake for X=1 to kill creatures or X=3 to kill a player). 2017-08-23 04:58:29 +00:00
Agetian
d364cc0f51 - Improved the experimental attack evasion prediction by considering creatures with evasion first (further tweaking and testing in progress). 2017-08-22 05:10:11 +00:00
Agetian
1e6467cf80 - Experimental: attempting to improve the AI choice for attrition attack when predicting possible opponent's forces with evasion (e.g. Flying). Currently enabled only for the Experimental AI profile for the testing period. 2017-08-21 17:29:57 +00:00
Agetian
92b985d24d - Experimental: attempting to improve the AI choice for all-in assault for battlefield situations where the defender will have several, but not enough, defenders with evasion (e.g. Flying).
- Currently only enabled for the Experimental AI profile for the testing period.
2017-08-21 17:07:46 +00:00
Agetian
b389209c05 - Added a simple Create Puzzle mode to desktop Forge (presents you with a clean battlefield, allows to dump the game state with a template for puzzle metadata).
- Enhanced the Dev Mode feature set with the "Add Card To Library/Graveyard/Exile" commands.
- Ported this Dev Mode functionality, as well as "Exile Card From Hand/Play", to mobile Forge.
2017-08-21 15:17:41 +00:00
Agetian
a82b3fd88a - Removed debug print lines. 2017-08-21 11:25:30 +00:00
Agetian
04a125d20f - A somewhat more conservative and fine-grained approach at improving the token-generation AI logic. 2017-08-21 11:24:47 +00:00
Agetian
fc2e93a57f - Converted token generation ability activation chance for the AI into a profile variable (currently defaults to 100% for all profiles, pending testing). 2017-08-21 10:29:30 +00:00
Agetian
cfe9c17b58 - Experimental: TokenAi: do not use a "80% chance to generate a token" chance when the token-generating ability is otherwise relevant. Prevents the AI from missing activations of planeswalker token generation abilities on casting a planeswalker, as well as indecisively creating tokens via The Hive and other similar cards before Declare Blockers when on defense. Will run some tests with this later, or may convert to an AI profile variable. 2017-08-21 10:19:48 +00:00
Agetian
13376d0ced - Improved handling of script execution in GameState to support subabilities and KW Awaken (other keywords with mana cost might need similar treatment later). 2017-08-21 04:50:49 +00:00
Agetian
094941ab8c - Added support for Imprinted cards to GameState. 2017-08-20 17:51:29 +00:00
swordshine
c063ccfa02 - C17: Added Portal Mage 2017-08-20 15:31:20 +00:00
Agetian
d28cbf3863 - Some Volrath's Shapeshifter fixes and QoL improvements. 2017-08-20 04:23:11 +00:00
Agetian
9c44662f2e - Fixed a NPE in the new AiController code. 2017-08-20 03:24:25 +00:00
Agetian
97428909a4 - Minor code style fix. 2017-08-19 19:38:10 +00:00
Agetian
a0bb52ff5f - Added Volrath's Shapeshifter with rudimentary, simple AI support.
- Was tested in most typical circumstances, including cloning it. However, may not yet be perfect in some corner cases. Improvements are welcome.
2017-08-19 18:05:44 +00:00
Agetian
7658481db2 - Slightly improved AI for Scavenger Grounds activated ability. 2017-08-19 06:02:34 +00:00
Agetian
2163eb5910 - Fixed the AI playability of Bargain. 2017-08-18 19:26:09 +00:00
Blacksmith
a249eeab22 [maven-release-plugin] prepare for next development iteration 2017-08-18 17:07:15 +00:00
Blacksmith
712e7dbeb8 [maven-release-plugin] prepare release forge-1.6.2 2017-08-18 17:07:05 +00:00
Agetian
5970c575c8 - [C17] Added Mirri, Weatherlight Duelist.
- Not sure if oneBlockerPerOpponent is better off as a global rule or a keyword, feel free to change it to a keyworded implementation if appropriate.
2017-08-18 11:32:22 +00:00
Agetian
6ba659ff55 - Fixed the second, third, etc. AI never blocking anything in multiplayer when multiple players are attacked at the same time. 2017-08-18 06:22:55 +00:00
Agetian
2c9f0e3c7d - Fixed the AI incorrectly considering sorcery-speed tap abilities like Outlast, thus never using them. 2017-08-18 06:07:37 +00:00
Agetian
8632b0ffec - Conspiracy: a little restructuring of chooseCardName in PlayerControllerAi. 2017-08-17 15:34:23 +00:00