Commit graph

259 commits

Author SHA1 Message Date
brodee
6f93abfd5a ai ratings revamp code review changes
* when resources are missing, fails gracefully
* uses highest found rating, rather than most recently found for the
case of sets containing duplicates
* moved ratings files to their own directory
* thread safe reading of all files
2018-10-28 14:23:53 -07:00
brodee
505a4b00a7 AI Draftbot rating system reworked, ratings added for 10 sets
the way stored ratings for cards has been reworked
1. each set has its own ratings file and it will be loaded dynamically
if the AI needs it
2. each ratings file for a set is normalized within itself, so the
rating systems don't need to be scaled to match eachother. essentially
cards are rated within the context of their set
3. changed the rarity rating booster to only apply to unrated cards
4. the file setsWithRatings.csv explains how to add additional ratings.
no code changes are required, but a recompilation will be required to
add the files to the jar.
2018-10-28 12:10:00 -07:00
brodee
4f61afa62b AI updates, more cards will have the isRemoval bonus to their card rating
these weren't being picked up as removal spells and now are:
* modal spells where one mode is a removal spell
* spells that do a dynamic amount of damage, such as fireball
* cards that reduce the toughness temporarily or permanently
* cards that keep a creature tapped down
* cards that exile a creature
* cards that damage creatures that are attacking or blocking
* enchantments that exile a creature when they etb
* fight cards, and one sided fight cards

the ai will now rate those types of cards higher as they are removal
2018-10-28 00:16:14 -07:00
brodee
04457558b3 ai tweaks: improve rating for multicolor cards and reduce effect of rarity
multicolor cards are the payoffs for playing those colors so they should
be better
reduced the effect of rarity increasing the rating
2018-10-27 11:50:59 -07:00
brodee
843702bd86 draftbots and afk autopicks will more aggressivly take rares
two draft quality of life improvements for situations when real players
quit or go afk.
1. made the draftbot lean on rarity for card ratings. this helps make
the draftbots behave and not just pass bombs to the human players.
2. changed the draft autopick that happens when the timer runs out and
the player hasn't selected anything. I changed it to pick the last card
in the pack, which should be the rarest, so basically it raredrafts.
again making it so AFK players aren't just feeding real live human
players the best cards.
2018-10-26 22:17:57 -07:00
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
Michael Simons
d0f0de33a2 Fixed typos 2018-06-03 23:22:39 -04:00
Michael Simons
b0d1f86890 Changes to try and better handle X mana costs with minimum X values with AI decisions #4906 2018-06-03 22:50:56 -04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
27ced167fb * Added logic to add permitting object to play/cast events. 2018-05-27 23:47:57 +02:00
LevelX2
3972695428 * Some changes to improve mana use of AI. 2018-05-21 11:50:49 +02:00
LevelX2
21e5591e29 * Some rework of handling of mana effects. 2018-05-13 22:52:14 +02:00
Oleg Agafonov
a69aac2243 Fixed tests and exceptions in AI choose target code 2018-05-01 01:34:24 +04:00
LevelX2
ec96f8a18e * AI - Improved nadling of target selection if AI doe smot control the ability itself. 2018-04-30 08:05:17 +02:00
Oleg Agafonov
c24ba742f6 Fixed equal or == errors -- 23 cards and more (see #4407) 2018-04-28 21:24:48 +04:00
LevelX2
242e55dcd4 * Fixed that Fall of the Thran allowed AI to get back dragons (fixes #4848). 2018-04-24 23:22:29 +02:00
LevelX2
92793327f3 * returned UUID of used THOUGHT AS effect instead of boolean. 2018-04-21 22:32:45 +02:00
Evan Kranzler
ec3007d141 a few more changes to help with tests 2018-04-20 18:51:15 -04:00
Evan Kranzler
dc2d8145fd added copy methods that I accidentally removed 2018-04-20 17:17:51 -04:00
theelk801
95d2721421
Merge branch 'planeswalkerErrata' into master 2018-04-20 16:21:44 -04:00
Evan Kranzler
f07ac5e844 fixed issue with computer player handling target distribution 2018-04-20 12:35:39 -04:00
LevelX2
47ad1ea0ee Fixed a AI target selecting problem. 2018-04-19 21:02:34 +02:00
Evan Kranzler
5fe607e852 updated targeting for cards that damage 2018-04-19 11:45:20 -04:00
LevelX2
245a3c5202 [DOM] Added Saga ability and Fall of the Thran. 2018-04-14 14:30:20 +02:00
LevelX2
442130beb6 Some minor changes. 2018-03-17 23:40:36 +01:00
LevelX2
b7fa942b10 * Fixed a problem that the AI did not care for maximum allowed mana payment for X mana costs. 2018-03-12 16:33:42 +01:00
LevelX2
a4c2e51ab3 * Added some missing AI target logic. 2018-02-13 10:33:33 +01:00
LevelX2
61c3798b83 Removed some system.out debug lines. 2018-02-12 11:38:35 +01:00
LevelX2
b60cd3d40e Removed debug command. 2018-01-28 01:14:50 +01:00
Oleg Agafonov
9d131f6bde Random generated decks improvements and fixes for AI:
* added generation of only basic lands decks;
 * fixed wrong color cards selection;
2018-01-27 13:19:03 +04:00
Jeff
9cd3c010fd - Cleanup of AI classes. 2018-01-19 16:37:09 -06:00
Oleg Agafonov
3dda5712db AI: fixed not working choice with key-value dialogs, random refactor 2018-01-04 00:23:20 +04:00
Evan Kranzler
34c31834c5 fixed an error 2017-11-26 17:23:39 -05:00
LevelX2
603e625d8d Fixed a problem with AI opponent selection, 2017-11-25 12:55:26 +01:00
LevelX2
58d3fc2328 Fixed player leaving/conceding handling. 2017-10-21 16:13:45 +02:00
LevelX2
5996aa12e6 Trove of Temptation working for Human. 2017-09-15 17:51:54 +02:00
Evan Kranzler
252c941b4f Refactored more subtypes usages to enum 2017-09-08 09:57:51 -04:00
LevelX2
cba7a510ea * Fixed a bug if casting split cards from other players e.g with Mindclaw Shaman (fixes #3867). 2017-08-30 00:30:46 +02:00
LevelX2
e909f5c801 C17 Added Portal Mage. 2017-08-28 16:50:00 +02:00
LevelX2
ea3d00a430 * Fixed that testing framework does not support snow mana payment (fixes #3751). 2017-07-28 12:47:00 +02:00
Jeff
e4c81df35e Fixed Bug #3711 2017-07-24 11:12:20 -05:00
LevelX2
ee890418c5 * Added missing imports. 2017-07-23 16:59:20 +02:00
LevelX2
4806738cfb * Some more use of StaticFilter objects. 2017-07-23 14:59:13 +02:00
ingmargoudt
09f0c9ad97 huge rework on subtypes (#3668)
* huge rework on subtypes

* update for coat of arms

* fix test
2017-07-16 16:57:39 -05:00
LevelX2
40f192eafc * Squelch - Fixed that it was causing a ClassCastException (fixes #3396). 2017-05-20 23:22:31 +02:00
LevelX2
ed341528d9 [AKH] Fixed that Aftermath card images were shown wrongly rotated. 2017-04-16 22:57:08 +02:00
ingmargoudt
6f8f10fcc3 move static function to CardImpl, and other api fixes 2017-03-30 20:09:47 +02:00
fireshoes
55b433ae36 [AKH] Added 3/27 spoilers to mtg-cards-data.txt. Implemented several of the new cards. 2017-03-28 22:25:29 -05:00
vraskulin
d93061c0bc Equals should be compared with == but not equals() 2017-03-22 14:50:50 +03:00
Nathaniel Brandes
2ecb415b4d Removed potential integer overflow.
If the number passed into max is Integer.MAX_VALUE, like it is with
ChoiceOfDamnation, the random number will overflow. So let's not do
that.
2017-03-08 21:43:37 -08:00