Commit Graph

4208 Commits

Author SHA1 Message Date
Anthony Calosa
e5a09f72c3 Merge pull request #3462 from kevlahnota/newmaster2
update Card.java getPaperCard
2023-07-11 20:52:05 +08:00
Anthony Calosa
2771668131 update AIDeckStatistics 2023-07-11 20:36:20 +08:00
tool4EvEr
03cdbb0ef7 Clean up 2023-07-10 20:38:41 +02:00
tool4EvEr
927c3f619d Some fixes 2023-07-10 20:35:36 +02:00
Agetian
66af38b81a Basic AI for Chalice of the Void, minor DamageDealAi improvement (#3438)
* - Basic AI for Chalice of the Void.

* - Improved card filter for Chalice of the Void.

* - DamageDealAi: improve decision to deal damage when able to target an opponent

* - DamageDealAi: get rid of a redundant call, remove obsolete planeswalker redirection code

* - Fix imports

* - Update logic
2023-07-10 13:39:34 +03:00
tool4ever
491ccd1719 Fix missing reorder (#3435)
* Fix missing reorder

* Fix Ward check for all subs
2023-07-09 11:09:37 +00:00
Agetian
62e3472d6a Implement AI for Arena (#3434)
* - AI: Shouldn't miss Grothama's triggers even when it doesn't want to activate them.

* - Consolidate the logic in FightAi

* - Clean up

* - Fix imports

* - Clean up

* - Implement AI for Arena.

* - Hook up the AI for Magus of the Arena
- Simplify implementation for the relevant cards
2023-07-09 13:04:44 +03:00
tool4ever
054a885b33 Fix effect getting cleaned up directly if source was exiling (#3426)
Co-authored-by: TRT <>
2023-07-07 12:41:10 +03:00
Agetian
a2dd864047 AI shouldn't miss Grothama's triggers even when it doesn't want to activate them (#3424)
* - AI: Shouldn't miss Grothama's triggers even when it doesn't want to activate them.

* - Consolidate the logic in FightAi

* - Clean up

* - Fix imports

* - Clean up
2023-07-07 11:05:18 +03:00
tool4ever
449e456843 Clean up (#3422)
Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.59>
2023-07-07 07:09:11 +03:00
Agetian
dbc2a5b5eb AI: Various logic fixes and improvements (#3416)
* - Fix logic for Elderscale Wurm damage prediction

* - AI logic hint for Tempting Wurm
- Several related AI hint fixes (cards in hand don't have a controller set)

* - Implement AI logic for Grothama, All-Devouring.

* - AI shouldn't fight its own Grothama for card draw (leads to silly results).

* - Attempt two at fixing Elderscale Wurm damage preditions.

* - Improve banding AI so that the AI knows how to tank damage from Trample when the other possibility is multiple chump blockers.

* - Clean up

* - Attempt to defer checking for "...as if it were unblocked" static until after the Banding blocker(s) are assigned.
- Clean up

* - Clean up
2023-07-06 18:01:59 +03:00
Anthony Calosa
bfd93368be Merge pull request #3394 from Agetian/ai-banding
Basic AI logic for Banding / Bands with Other
2023-07-06 05:33:17 +08:00
Agetian
bac3b7751d - Restore the NPE guard for bestAttacker 2023-07-05 20:30:54 +03:00
TRT
0f61fb97c6 Clean up 2023-07-05 10:55:21 +02:00
Anthony Calosa
1ad21f0e1a Merge pull request #3386 from tool4ever/exileobject2
Exiled card becomes new object when it's exiled
2023-07-05 16:16:19 +08:00
Agetian
8cd9d9d79b - Remove unused parameter 2023-07-05 07:51:20 +03:00
tool4ever
3d64308d31 Fix cheating when paying hybrid shards with combo abilities (#3402)
* Clean up

* Fix cheating when paying hybrid shards with combo abilities

* Fix script

---------

Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.59>
2023-07-05 07:09:10 +03:00
Agetian
05b33448a4 - Unnecessary null check 2023-07-05 07:06:32 +03:00
tool4EvEr
ddecc4226d Only return subset of potential attackers based on current declaration 2023-07-04 23:29:49 +02:00
Agetian
ee65cb64e6 - Implemented suggested optimizations. 2023-07-04 22:35:05 +03:00
Agetian
25323941e0 - Do not try to add Banding to something that will attack by itself, the AI is poor at predicting that (will miss the Banding opportunity).
- Curse prop not needed on AF Debuff.
2023-07-04 22:28:09 +03:00
Agetian
6aa3938144 - Enable more Banding cards for the AI. 2023-07-04 20:22:04 +03:00
Agetian
54acfaff2c - Add AI support for Banding-granting cards 2023-07-04 20:07:54 +03:00
Agetian
75c43fd0f7 - Slightly more sensible banding for 0-power creatures when attacking. 2023-07-04 13:00:30 +03:00
Agetian
435dfd1486 - Some tweaks. Banding with Protection is actually a good thing (the AI correctly dumps damage into protected creatures). 2023-07-04 12:29:13 +03:00
Anthony Calosa
60d79b4374 prevent NPE 2023-07-04 06:43:04 +08:00
Agetian
13a19a1749 - Fix NPE.
- Switch isValidBand to using a CardCollection(View).
2023-07-03 17:41:45 +03:00
Agetian
a033353167 - Grab a sublist instead of using a cast. 2023-07-03 14:03:39 +03:00
Agetian
d74cb11d47 - Fix imports. 2023-07-03 13:52:57 +03:00
Agetian
67fa8afdba - Minor style fix. 2023-07-03 13:51:23 +03:00
Agetian
9a97545161 - Minor style fix. 2023-07-03 13:50:01 +03:00
Agetian
60e9f9f814 - Minor style fix. 2023-07-03 13:49:11 +03:00
Agetian
a4cfddd3c4 - Convert to isValidBand to avoid code duplication 2023-07-03 13:46:45 +03:00
Agetian
5f16f658a9 - Don't assign more damage than possible 2023-07-03 13:34:55 +03:00
Agetian
e3735d2df3 - Comment tweak 2023-07-03 09:35:21 +03:00
Agetian
b3f6c3c427 - Remove a TODO. 2023-07-03 09:25:51 +03:00
Agetian
823f317b28 - Better variable name. 2023-07-03 08:26:50 +03:00
Agetian
f7f4106518 - Improved check for whether a banding attacker can attack the specified defender.
- Implement distribution of damage when the AI's band is blocked.
2023-07-03 08:24:12 +03:00
Agetian
de64bbc245 - Minor optimization. 2023-07-03 07:46:07 +03:00
Agetian
eb814b91e0 - Respect global attack constraints. 2023-07-03 07:38:17 +03:00
Agetian
9554b1feb9 - Do not reroute Banding creatures to bands if they're already declared as attacking or can't legally attack
- Add a few more evasion keywords.
2023-07-03 07:18:13 +03:00
Agetian
68f7f3a019 - Further improvements to AI attack reinforcement with Banding. 2023-07-02 22:30:08 +03:00
Agetian
8fca839549 - Basic code to reinforce an attack with Banding creatures.
- Enable AI support for Defensive Formation.
2023-07-02 22:16:53 +03:00
Agetian
9b1eebabbf - Defensive damage assignment tweak. 2023-07-02 18:56:35 +03:00
Agetian
3eb1f70351 - Defensive damage assignment for Banding and Defensive Formation 2023-07-02 18:46:35 +03:00
Agetian
7c2e3d2a47 Basic AI for Gale's Redirection, Consecrate // Consume, Serra's Emissary (#3376)
* - Basic AI for Gale's Redirection.

* - Clean up.

* - Add resetTargets.

* - Minor style tweak.

* - Improve Consecrate // Consume implementation, enable AI support.

* - Improve Serra's Emissary AI support.
2023-07-02 06:50:26 +03:00
tool4EvEr
91c34d3b99 AI fix 2023-07-01 23:07:51 +02:00
tool4ever
5ccf038a90 Fix logic (#3365) 2023-06-29 19:40:36 +00:00
Agetian
89f67ce26c AI logic for Minsc & Boo, Timeless Heroes. (#3356)
* - AI logic for Minsc & Boo, Timeless Heroes.

* - Logic update as suggested.

* - Make sure the AI actually selects the right card for lethal damage.
2023-06-29 06:53:35 +03:00
tool4ever
6be406fcf0 Esix is copy layer (#3335)
Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.59>
2023-06-25 15:33:47 +03:00