Commit graph

1058 commits

Author SHA1 Message Date
brodee
83afff5a05 kld card ratings
draftaholics data was very skewed towards masterpieces. which meant
decent cards were ranking very low relatively
I used the relative ranking from draftaholics and generated a normal
distribution mean60 std 20 for these rankings to smooth it out.
2018-10-28 16:18:53 -07:00
brodee
43f32f9640 card ratings files fixes/updates
fixed kld and aer
2018-10-28 15:24:06 -07:00
brodee
08d895d110 fix typos in card ratings files 2018-10-28 15:20:51 -07:00
brodee
a95f3b2211 remove ktk from list of sets with ratings
haven't commited the ktk rating numbers, need to remove it from the list
2018-10-28 14:27:06 -07:00
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
Evan Kranzler
6ad6151be7 removed rotated cards from standard banlist 2018-10-03 14:50:16 -04:00
Evan Kranzler
b7c5b3bd36 updated Australian Highlander points 2018-09-22 15:02:59 -04:00
Evan Kranzler
79635ff9a0 updated Canadian Highlander points 2018-09-22 15:01:30 -04:00
Ingmar Goudt
f04d7c9b03 remove redundant null checks before instanceof 2018-09-17 21:09:42 +02:00
jmharmon
ec23ea0dd2
Implement Premodern 2018-09-12 08:17:34 -07:00
Oleg Agafonov
1bc022a94a Revert freeform commander to singleton format (1 card copy max) 2018-08-25 10:43:18 +04:00
Oleg Agafonov
b4fdce53c4 * Fixed freeform commander that's it not allowed snow lands and cards duplication (#5262) 2018-08-25 08:42:45 +04:00
LevelX2
deb675a74a Xmage 1.4.30V0 2018-08-15 11:35:40 +02:00
Evan Kranzler
e70b1fadbe updated MTGO 1v1 commander rules to ban partners 2018-07-27 11:38:08 -04:00
Evan Kranzler
62584601a1 updated MTGO 1v1 Commander banlist 2018-07-27 11:27:08 -04:00
spjspj
aae3930ef4
Merge pull request #5145 from spjspj/master
Check if there are actually different replacement effects and only ask then if there are.  Having two Mana Reflections out makes the game unplayable atm.
2018-07-12 23:30:30 +10:00
spjspj
1c540bbc77 Check if actually different replacement effects 2018-07-12 23:21:00 +10:00
Evan Kranzler
490217facd updated 1 on 1 Brawl life total 2018-07-09 11:25:47 -04:00
Evan Kranzler
0324c1ad9f Updated how Standard and Brawl share legality 2018-07-09 10:31:30 -04:00
spjspj
af0e9aac89 Brawl is missing m19. 2018-07-10 00:15:08 +10:00
igoudt
9f06046f22 add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts 2018-07-04 14:24:11 +02:00
Evan Kranzler
85402b5522 updated Legacy banlist (https://magic.wizards.com/en/articles/archive/news/july-2-2018-banned-restricted-update-2018-07-02) 2018-07-02 10:37:29 -04:00
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
Evan Kranzler
88eeaa3f1e temporarily removed future requirement from standard to allow M19 2018-06-24 19:29:12 -04:00
Evan Kranzler
bb92d04ff4 Updated Australian Highlander points list 2018-06-17 16:42:09 -04:00
Evan Kranzler
fb419bebca Updated canadian highlander point list 2018-06-17 16:25:28 -04:00
Evan Kranzler
d466d7f34c Added June 2018 Vintage Cube 2018-06-14 12:52:42 -04:00
Evan Kranzler
633dcd927d reworked standard legality to handle the return of core sets and removal of blocks 2018-06-14 10:55:29 -04:00
Michael Simons
2fbbf7a516 Fixed typos 2018-06-03 23:24:36 -04: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
Michael Simons
de9042dafe Changes to try and better handle X mana costs with minimum X values with AI decisions #4906 2018-06-03 22:47:56 -04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
58d618e8d7 * Used some default code to get opponents for Game classes. 2018-05-31 12:52:05 +02:00
Evan Kranzler
20287a2739 updated Duel Commander banlist 2018-05-29 19:46:52 -04:00
LevelX2
27ced167fb * Added logic to add permitting object to play/cast events. 2018-05-27 23:47:57 +02:00
Evan Kranzler
c7ba717453 Fixed colorless commanders not being able to use a single type of basic land (fixes #4973) 2018-05-27 13:06:26 -04:00
LevelX2
ad5b719dd2 Merge origin/master 2018-05-27 01:29:52 +02:00
LevelX2
a19c257e50 XMage 1.4.30V0 2018-05-27 01:28:42 +02:00
Evan Kranzler
4dd6bbef14 Updated Adam Styborski's Pauper Cube 2018-05-26 19:15:44 -04:00
Evan Kranzler
636b35ae39 small change to Partner with ability 2018-05-21 15:53:06 -04:00
Evan Kranzler
bd96d30b3d Implemented Partners With ability 2018-05-21 15:12:31 -04:00
LevelX2
3972695428 * Some changes to improve mana use of AI. 2018-05-21 11:50:49 +02:00
jmharmon
19c9d7634c
Add files via upload
Added Old School 93/94 variants for different rules.
2018-05-18 03:20:22 -07:00
theelk801
9739c0c6f9
Merge pull request #4924 from hooptie45/master
Added No Banned List Modern format
2018-05-15 14:21:20 -04:00
LevelX2
21e5591e29 * Some rework of handling of mana effects. 2018-05-13 22:52:14 +02:00
Evan Kranzler
d6ff7f851d updated Brawl banlist, color identity rules, and 1v1 starting life total (closes #4931) 2018-05-10 20:40:52 -04:00
Shaun Hannah
755569d996
Fix class name mis-match 2018-05-10 05:13:02 -04:00
Shaun Hannah
4d335fc396 Added No Banned List Modern format
This is just as the name implied, modern with no banned cards.

Why? Because I want to gear up for the SCG-CON's no banned list modern
tourney: http://scgcon.starcitygames.com/open.php#prizes

Sure I could play in a freeform game, but modern can't compete with
vintage cards; so not really a good test case.
2018-05-09 20:10:11 -04:00
LevelX2
90d6b29841
Merge pull request #4656 from pmbarrett314/master
Attempted fix for Momir Free For All
2018-05-07 00:53:39 +02:00
LevelX2
cddd81123b Some changes related to #4893. 2018-05-03 01:33:21 +02:00
Oleg Agafonov
a69aac2243 Fixed tests and exceptions in AI choose target code 2018-05-01 01:34:24 +04:00
spjspj
48de177f75
Merge pull request #4881 from brikr/patch-1
Fix Brawl.java banlist comments
2018-04-30 20:27:17 +10: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
Brik Royster
54e4c2c484
Update Standard.java
update comments to reflect actual ban date
2018-04-28 17:08:43 -07:00
Brik Royster
a514f12196
Fix Brawl.java banlist comments
These cards were banned in 2018
2018-04-28 16:11:39 -07:00
Oleg Agafonov
c24ba742f6 Fixed equal or == errors -- 23 cards and more (see #4407) 2018-04-28 21:24:48 +04:00
LevelX2
db077d68ca * Fixed Rat Colony deck valid check for all formats. 2018-04-25 16:34:55 +02:00
spjspj
66825b37df
Merge pull request #4865 from spjspj/master
Implement Brawl Free For All and Brawl Duel
2018-04-25 19:44:41 +10:00
spjspj
730d23164a Implement Brawl Free For All and Brawl Duel 2018-04-25 19:17:34 +10: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
spjspj
1f2f61e945
Merge pull request #4856 from spjspj/master
Aus Highlander update
2018-04-24 21:26:21 +10:00
spjspj
3a8a6019ca Aus Highlander update 2018-04-24 21:24:54 +10:00
Evan Kranzler
d2f41405b7 updated MTGO 1v1 Commander banlist 2018-04-23 11:45:22 -04: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
fe2220e19e Xmage 1.4.29V0 2018-04-19 21:07:14 +02: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
20f03cfcb1 Some minor changes to Momir code. 2018-04-01 12:33:59 +02:00
Paul Barrett
dea874e278
Attempted fix for Momir Free For All
Work for #1955
2018-03-23 21:47:37 -05:00
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
Oleg Agafonov
ddc43d05f6 Removed unnecessary log info on user's freeze (#4646) 2018-03-22 11:58:14 +04:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
LevelX2
442130beb6 Some minor changes. 2018-03-17 23:40:36 +01:00
LevelX2
170ad083c7 * Fixed a problem of the AI that it could cast cards with flashback without paying the costs. 2018-03-17 01:51:25 +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
16adc9b4ef Added Legacy Cube February 2018 2018-03-11 14:12:21 +01:00
LevelX2
fed2d1a259 XMage 1.4.28V0 2018-03-10 20:42:29 +01:00
LevelX2
dac8f2dfe8 Fixed a bug of AI not handling pass action correctly so the AI got passive. Added AI possibility to act after blockers are declared (eg boost for blocking or blocked creatures). 2018-03-10 19:59:59 +01:00
LevelX2
59f5851e73 Fixed a problem to pay costs for e.g. triggering abilities while casting a spell. 2018-03-10 12:39:44 +01:00
LevelX2
a4c2e51ab3 * Added some missing AI target logic. 2018-02-13 10:33:33 +01:00
JRHerlehy
fcfb431290 Feb 12, 2018 B&R Update
Modern - Jace, the Mind Sculptor UNBANNED, Bloodbrade Elf UNBANNED

All other formats - No Changes
2018-02-12 13:29:24 -05:00
LevelX2
61c3798b83 Removed some system.out debug lines. 2018-02-12 11:38:35 +01:00
LevelX2
b752eacfaa * Optimized handling and call of player.choose choice to prevent problems if a player disconnects or left a game (#4263). 2018-02-04 17:51:12 +01:00
LevelX2
4dd196f373 * Fixed some problems with getting cards at random from collection that could cause loops. 2018-02-04 12:27:08 +01:00
Oleg Agafonov
8596a92ed8 Added error logs for freezes ignoring timer (see #4476) 2018-02-03 13:54:39 +04:00
spjspj
aebc16dc82
Merge pull request #4476 from spjspj/master
Scenario I was testing for this fix:
2018-02-03 18:45:52 +11:00
Oleg Agafonov
3bfe5ec5d3 Fixed game and/or timer freeze on another player concede with 3+ games (see #4476) 2018-02-03 08:26:01 +04:00
spjspj
b924f4bb6b Scenario I was testing for this fix.
Local Server, EDH game with Player1, Player2, Player3.
Player1 has 2 mana reflections out, cast Torment of Hailfire for 15 and is tapping mana for it.
The 'choose replacement effect' popup comes up.
Whilst this is happening, Player2 concedes.
This will currently lock up the game and sits forever in waitResponseOpen.
 (With the time out now there, it will time out after 30 seconds or so.
2018-02-03 13:21:47 +11:00
LevelX2
db0fc1b439 * Some changes to skip handling. 2018-02-02 00:27:12 +01:00
Oleg Agafonov
6f175981ce Small fix 2018-01-28 15:12:41 +04:00