Myrd
78e7212ebc
fix compile
2017-07-05 01:59:58 +00:00
Agetian
6069ec7c80
- Fixed CountersPutAi for Curse abilities on opp's cards like Torture.
2017-07-04 15:34:21 +00:00
Hanmac
b4b19d7e60
DamageDealAi: fixed unlikely equals
2017-07-04 08:59:25 +00:00
Agetian
a209287b78
- AI should obey ActivationLimit on mana abilities such as Wall of Roots.
2017-07-03 03:41:10 +00:00
Agetian
25d885a96a
- Fixed attachment IDs not cleared between game sessions created via applyGameOnThread, which caused attachments to be incorrectly positioned on cards in puzzle mode when running the puzzle for second and all subsequent times.
2017-07-02 13:21:28 +00:00
Agetian
b9e604e600
- Support setting a specific card set in game states using |Set:XXX syntax.
2017-07-02 10:16:13 +00:00
Agetian
ce5b4e1fad
- Support Transformed creatures in the game states.
2017-07-02 07:44:57 +00:00
Agetian
99a808ae10
- When setting up game state, ensure that all cards are unequipped/unattached from whatever default cards they could have been assigned to by the AI.
2017-07-02 04:32:06 +00:00
Agetian
9c316b2c85
- Added AI logic for Bonds of Faith (used in PConq), marked the card as AI playable. Currently a non-generic, card-specific logic.
...
- Moved both Bonds of Faith logic and Guilty Consicence logic from AttachAi to SpecialCardAi until generalized.
2017-07-01 10:11:39 +00:00
Agetian
b3e96da2e2
- For Multikicker cards, AI should bail if the original cost was {0} and no multikicker was paid (e.g. Everflowing Chalice).
2017-06-28 16:53:10 +00:00
Agetian
231131dcd3
- Revert back to announcing AI Multikicker in ComputerUtilMana (might play better with non-permanent multikicker cards).
2017-06-28 03:26:11 +00:00
Agetian
a820bf1c4a
- Attempting to fix a NoSuchElementException in ChangeZoneAllAi when no opponent can be legally targeted with an ability.
2017-06-28 03:03:01 +00:00
Agetian
4a1a314cfd
- A better place for the AI announce of Multikicker.
2017-06-27 18:31:26 +00:00
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