Agetian
247f8f5be1
- Integrating the zone restriction check as a mandatory part of SpellAbility#canTarget.
2017-06-27 16:35:49 +00:00
Agetian
934683f4d5
- Added simple AI blocking logic against Afflict.
...
- Used getNetXXX instead of getCurrentXXX in several places in the code for more precise P/T AI prediction.
2017-06-27 12:51:16 +00:00
Agetian
1ea54bcd45
- Reverted previous commit (doesn't work as intended).
2017-06-27 03:38:23 +00:00
Agetian
6a43403d6c
- Better fix for the AI cheating with X values on replay (fixing the cause and not the effect).
2017-06-27 03:09:29 +00:00
Agetian
3e8059db10
- Prevent the AI from cheating with PlayEffect and spells with X in their mana cost, replaying them with X > 0 (currently the AI won't replay such spells without paying their mana cost, since the play will most often be suboptimal anyway at X=0).
2017-06-26 18:58:47 +00:00
Agetian
ef38f82d1e
- Added a way for the complex unless cost to specify a fallback ability that fires when neither unless cost ends up being legally playable.
...
- Made it possible for the AIPreference card parameter to specify multiple cost preferences using the standard pipe delimiter.
- Made the complex unless cost in ChooseGenericEffect a little more generic (TODO: we need to generalize it using a "can pay" check of some kind to make the logic both simpler and more universal).
2017-06-26 11:30:59 +00:00
Krazy
cd7a00ab05
Increment version numbers
2017-06-26 03:57:43 +00:00
Blacksmith
b9a6fc507a
[maven-release-plugin] prepare for next development iteration
2017-06-26 03:21:20 +00:00
Blacksmith
9fe8948f0b
[maven-release-plugin] prepare release forge-1.5.65
2017-06-26 03:21:11 +00:00
Agetian
b878a93d40
- Added a way to define card-based AI priority for paying the Remove Counter cost.
...
- Set the AI priority for Power Conduit to ANY to avoid the AI lagging heavily while looping through the cost and spamming the console with errors.
- Currently the AI will use this card rather randomly. Consider improving or marking it as RemRandomDeck at the very least.
2017-06-25 16:47:17 +00:00
Agetian
53e291c9bc
- Consolidate Sarkhan the Mad specific AI logic in SpecialCardAi until it is generalized.
2017-06-25 15:26:48 +00:00
Agetian
88304beb1b
- Added an additional zone check for ChangeTargetsEffect/ChangeTargetsAi so that it's impossible to retarget a spell targeting something only in the graveyard/exile/etc.
...
- Most likely the zone check should be a mandatory part of SpellAbility#canTarget, but that has too much breaking potential, so I'll test it post-release.
2017-06-25 03:10:34 +00:00
Agetian
8a7f7bef03
- Added an AI logic for Sarkhan the Mad ultimate.
2017-06-24 18:18:35 +00:00
Agetian
174444e3b5
- Allow Sarkhan the Mad AI to use the 0 ability as a source of card advantage when Sarkhan is low on loyalty.
2017-06-24 14:06:26 +00:00
Agetian
adefa11d3a
- Minor formatting fix.
2017-06-24 13:33:48 +00:00
Agetian
dd897bef84
- More formatting.
2017-06-24 13:10:17 +00:00
Agetian
96b338ddd0
- Code formatting and import fixes.
2017-06-24 13:09:14 +00:00
Agetian
378d2fbbc6
- Added simple logic for Sarkhan the Mad to make the AI able to use it to produce 5/5 flying dragon tokens out of its own creatures.
2017-06-24 13:07:46 +00:00
Agetian
ae149ac913
- Better place for the oppList isEmpty check in Donate AI.
2017-06-22 20:15:36 +00:00
Agetian
2097d2207b
- Fixed Donate AI crashing if all opponents have hexproof.
2017-06-22 19:53:21 +00:00
Agetian
84c7b501c4
- Fixed an occasional comment corruption.
2017-06-22 09:15:55 +00:00
Agetian
379273e2b4
- AI should announce multikicker value for cards like Bloodhusk Ritualist to work correctly.
2017-06-22 09:15:20 +00:00
Hanmac
e29ec6fb83
GameActionUtil: add getOptionalCostValues to return OptionalCost with its Cost objects
...
SpellAbility: add canPlayWithOptionalCost
PlayerControllerHuman: got formated
2017-06-21 04:23:30 +00:00
Agetian
ce4cfd11bb
- Added AILogic$ ConsiderSac to Heart-Piercer Manticore, updated the logic not to sacrifice creatures with power 0 to it or valuable creatures unless lethal damage can be dealt to player (is CreatureEvalThreshold too permissive/restrictive? could stand to be improved, most likely).
2017-06-20 12:53:37 +00:00
Agetian
927575fbfa
- PumpAll AI should respect AIPreference:SacCost if specified.
...
- Specified a basic AIPreference for Maw of the Obzedat, marked it as AI playable.
2017-06-19 04:58:32 +00:00
Agetian
ecb5ea3c6a
- A minor clarification / formatting fix.
2017-06-18 09:56:54 +00:00
Agetian
c35f7f00f6
- Several fixes and improvements to PlayAi ReplaySpell logic, now compatible with cards like Wrexial, the Risen Deep.
2017-06-18 09:54:08 +00:00
Agetian
cc3442780f
- Reverted previous commit.
2017-06-17 19:17:05 +00:00
Agetian
09d74513f4
- Another tweak in ChooseTypeAi.
2017-06-17 19:16:29 +00:00
Agetian
9ca6400d0a
- A couple more tweaks in ChooseTypeAi.
2017-06-17 19:14:30 +00:00
Agetian
2f466fccfc
- A better strategy for Mirror Entity Avatar (more conservative / more aggressive depending on conditions).
2017-06-17 19:01:03 +00:00
Agetian
299358264d
- Since Mirror Entity Avatar is used offensively by the AI, make the conditions somewhat more restricted and dependent on the opposition to try to ensure that it doesn't fail as an attrition attack (otherwise the AI wastes all mana).
2017-06-17 17:31:14 +00:00
Agetian
75951f5a76
- Improved Mirror Entity Avatar AI logic for all-changeling decks (like the one in PConq) so that the AI can still identify the cases to play the avatar's ability.
2017-06-17 16:40:15 +00:00
Agetian
662be6b56e
- Generalized the logic that is currently used for Goblin Dark-Dwellers to determine WithoutManaCost from the SA itself.
2017-06-17 10:15:57 +00:00
Agetian
0cb9dab01d
- Avoid code duplication in PlayAi.
2017-06-17 09:56:49 +00:00
Agetian
5b78887668
- Comments cleanup.
2017-06-17 09:31:12 +00:00
Agetian
25aa7aa429
- Imports cleanup.
2017-06-17 09:30:49 +00:00
Agetian
2ca7597624
- Refactored AI logic for cards like Goblin Dark-Dwellers and Snapcaster Mage.
...
- Rewired AI logic for Goblin Dark-Dwellers to work with the new card implementation.
2017-06-17 09:29:29 +00:00
swordshine
4881224b06
- HOU: Added Oasis Ritualist
2017-06-17 08:19:41 +00:00
Agetian
759f62418f
- Basic AI support for Maralen of the Moonsong Avatar to make the relevant PConq event work (still not sure if the AI should pay 1 or 2 here, it's not very good at choosing the right thing when it comes to choosing between a land and a non-land).
2017-06-16 19:38:17 +00:00
Agetian
43ec4e545f
- Some refactoring and imports cleanup in ChooseTypeAi.
2017-06-16 15:05:07 +00:00
Agetian
130f384853
- Added basic AI logic for Mirror Entity Avatar in Vanguard (for Planar Conquest). Removed RemAIDeck from the relevant avatar.
2017-06-16 15:02:48 +00:00
Agetian
13d29814c4
- Reorganized PayEnergyConservatively as an if-else chain.
2017-06-16 12:40:59 +00:00
Agetian
b8fcd43918
- Aggro AI profiles should play AI Logic PayEnergyConservatively the same as PayEnergy.
2017-06-16 12:33:10 +00:00
Agetian
c2eb2812f7
- Limit PayEnergyConservatively only to offensive combat, otherwise there's too much risk of using it when chump blocking and still losing the creature.
2017-06-16 10:52:00 +00:00
Agetian
abfbd3fa2b
- Clean up imports.
2017-06-16 10:31:37 +00:00
Agetian
9427f29c5b
- Reverted an accidental commit of a test change in CountersPutAi.
2017-06-16 10:31:02 +00:00
Agetian
d4c4afcf0b
- Added a more conservative version of AILogic PayEnergy for PutCounter AI that only pays energy if the creature is in combat (attacking/blocking) or if there's more energy available than the most expensive energy cost of a permanent SA on the battlefield requires plus whatever the PutCounter SA requires.
...
- Set this logic for Longtusk Cub and Bristling Hydra.
- TODO: maybe somehow teach the AI to pay energy if it can save the creature from lethal damage from a spell?
2017-06-16 10:30:13 +00:00
Agetian
8c3159166c
- Fixed a NPE in doTargetSpellToPlayLogic.
2017-06-15 15:01:04 +00:00
Agetian
a69b345c00
- Improved and patched up the Snapcaster AI logic, enabled it for Snapcaster Mage (was previously disabled, most likely due to a crash).
...
- Added a variant of the Snapcaster logic called PlaySpellForFree used for cards that allow to play spells without paying their mana cost. Set this for Goblin Dark-Dwellers.
2017-06-14 14:14:58 +00:00