diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java index 5197c335365..e737122a958 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java @@ -13,6 +13,7 @@ import org.apache.log4j.Logger; import java.io.InputStream; import java.util.*; +import mage.constants.Rarity; import mage.constants.SubType; /** @@ -71,7 +72,7 @@ public final class RateCard { type = 6; } int score = 10 * getCardRating(card) + 2 * type + getManaCostScore(card, allowedColors) - + 40 * isRemoval(card); + + 40 * isRemoval(card) + getRarityScore(card); if (allowedColors == null) rated.put(card.getName(), score); return score; @@ -218,6 +219,26 @@ public final class RateCard { return 2 * converted + 3 * (10 - SINGLE_PENALTY[maxSingleCount]/*-DOUBLE_PENALTY[doubleCount]*/); } + /** + * Get rarity score. + * nowadays, cards that are more rare are more powerful, lets + * trust that and play the shiny cards. + * + * @param card + * @return integer rating value + */ + private static int getRarityScore(Card card) { + Rarity r = card.getRarity(); + if (Rarity.MYTHIC == r){ + return 80; + }else if (Rarity.RARE == r){ + return 50; + }else if (Rarity.UNCOMMON == r){ + return 25; + }else{ + return 1; + } + } /** * Determines whether mana symbol is color. * diff --git a/Mage/src/main/java/mage/game/draft/DraftImpl.java b/Mage/src/main/java/mage/game/draft/DraftImpl.java index 35efc144316..5ef5a2330ea 100644 --- a/Mage/src/main/java/mage/game/draft/DraftImpl.java +++ b/Mage/src/main/java/mage/game/draft/DraftImpl.java @@ -147,7 +147,8 @@ public abstract class DraftImpl implements Draft { @Override public void autoPick(UUID playerId) { - this.addPick(playerId, players.get(playerId).getBooster().get(0).getId(), null); + List booster = players.get(playerId).getBooster(); + this.addPick(playerId, booster.get(booster.size()-1).getId(), null); } protected void passLeft() {