From 68391a75221fe54061b7f14076bcd708b2617885 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Thu, 23 Feb 2012 15:26:57 -0500 Subject: [PATCH] fixed some NPE's and other errors --- .../java/mage/player/ai/utils/RateCard.java | 4 +- Mage.Server/plugins/mage-player-ai.jar | Bin 55331 -> 55286 bytes .../src/mage/sets/innistrad/HarvestPyre.java | 2 +- .../sets/morningtide/PreeminentCaptain.java | 2 +- .../src/mage/sets/newphyrexia/MortisDogs.java | 2 +- .../src/mage/sets/zendikar/CobraTrap.java | 21 +++++--- Mage.Tests/plugins/mage-player-ai.jar | Bin 54716 -> 55286 bytes .../org/mage/test/cards/TestCobraTrap.java | 50 ++++++++++++++++++ .../abilities/keyword/BloodthirstAbility.java | 2 +- .../abilities/keyword/CascadeAbility.java | 2 +- Mage/src/mage/players/PlayerImpl.java | 8 ++- Mage/src/mage/target/TargetObject.java | 4 +- 12 files changed, 82 insertions(+), 15 deletions(-) create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/TestCobraTrap.java 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 ca3091211b0..404f4eaa204 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 @@ -203,7 +203,9 @@ public class RateCard { maxSingleCount = Math.max(maxSingleCount, typeCount); } } - return 2 * converted + 3 * (10 - SINGLE_PENALTY[maxSingleCount]/*-DOUBLE_PENALTY[doubleCount]*/); + if (maxSingleCount > 5) + maxSingleCount = 5; + return 2 * converted + 3 * (10 - SINGLE_PENALTY[maxSingleCount]/*-DOUBLE_PENALTY[doubleCount]*/); } /** diff --git a/Mage.Server/plugins/mage-player-ai.jar b/Mage.Server/plugins/mage-player-ai.jar index cf196b3c470c4da345ed1215e968c2025ff2b605..2041685d8e8d345cdccd410196c24ed6a7d93459 100644 GIT binary patch delta 4920 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 delta 4966 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 diff --git a/Mage.Sets/src/mage/sets/innistrad/HarvestPyre.java b/Mage.Sets/src/mage/sets/innistrad/HarvestPyre.java index 46c79c43dc3..31766906dbe 100644 --- a/Mage.Sets/src/mage/sets/innistrad/HarvestPyre.java +++ b/Mage.Sets/src/mage/sets/innistrad/HarvestPyre.java @@ -100,7 +100,7 @@ class HarvestPyreCost extends CostImpl implements VariableCost Player player = game.getPlayer(controllerId); while (true) { target.clearChosen(); - if (target.choose(Outcome.Exile, controllerId, sourceId, game)) { + if (target.canChoose(controllerId, game) && target.choose(Outcome.Exile, controllerId, sourceId, game)) { Card card = player.getGraveyard().get(target.getFirstTarget(), game); if (card != null) { player.getGraveyard().remove(card); diff --git a/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java b/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java index a057f63a378..0d621407c0c 100644 --- a/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java +++ b/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java @@ -96,7 +96,7 @@ class PreeminentCaptainEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); TargetCardInHand target = new TargetCardInHand(new FilterSoldierCard()); - if (target.choose(getOutcome(), player.getId(), source.getSourceId(), game)) { + if (target.canChoose(player.getId(), game) && target.choose(getOutcome(), player.getId(), source.getSourceId(), game)) { if (target.getTargets().size() > 0) { UUID cardId = target.getFirstTarget(); Card card = player.getHand().get(cardId, game); diff --git a/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java b/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java index 3ff00ffb326..73c1415cffb 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java @@ -91,7 +91,7 @@ class MortisDogsEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(targetPointer.getFirst(source)); Permanent sourcePermanent = game.getPermanent(source.getSourceId()); - if (player != null) { + if (player != null && sourcePermanent != null) { player.loseLife(sourcePermanent.getPower().getValue(), game); return true; } diff --git a/Mage.Sets/src/mage/sets/zendikar/CobraTrap.java b/Mage.Sets/src/mage/sets/zendikar/CobraTrap.java index 888cb91aade..d2964df2625 100644 --- a/Mage.Sets/src/mage/sets/zendikar/CobraTrap.java +++ b/Mage.Sets/src/mage/sets/zendikar/CobraTrap.java @@ -32,16 +32,19 @@ import mage.Constants.CardType; import mage.Constants.ColoredManaSymbol; import mage.Constants.Rarity; import mage.Constants.WatcherScope; +import mage.Constants.Zone; import mage.abilities.Ability; import mage.abilities.costs.AlternativeCostImpl; import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.Card; import mage.cards.CardImpl; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; import mage.game.permanent.token.SnakeToken; +import mage.game.stack.StackObject; +import mage.players.Player; import mage.watchers.Watcher; import mage.watchers.WatcherImpl; @@ -96,11 +99,17 @@ class CobraTrapWatcher extends WatcherImpl { if (condition == true) { // no need to check - condition has already occured return; } - if (event.getType() == EventType.DESTROYED_PERMANENT - && !game.getPlayer(controllerId).getGraveyard().get(event.getTargetId(), game).getCardType().contains(CardType.CREATURE) - && game.getStack().getStackObject(event.getSourceId()) != null - && game.getOpponents(controllerId).contains(game.getStack().getStackObject(event.getSourceId()).getControllerId())) { - condition = true; + Player player = game.getPlayer(controllerId); + if (player != null && event.getType() == EventType.DESTROYED_PERMANENT) { + Permanent perm = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); + if (perm != null && !perm.getCardType().contains(CardType.CREATURE)) { + if (game.getStack().size() > 0) { + StackObject spell = game.getStack().getStackObject(event.getSourceId()); + if (spell != null && game.getOpponents(controllerId).contains(spell.getControllerId())) { + condition = true; + } + } + } } } } diff --git a/Mage.Tests/plugins/mage-player-ai.jar b/Mage.Tests/plugins/mage-player-ai.jar index 387174114ddae04f18e7dcbd0ee7a8e374bfd23a..2041685d8e8d345cdccd410196c24ed6a7d93459 100644 GIT binary patch delta 30253 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 Oz|Rm#DAmb-uKqux#e5b3 delta 29650 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 diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/TestCobraTrap.java b/Mage.Tests/src/test/java/org/mage/test/cards/TestCobraTrap.java new file mode 100644 index 00000000000..20da51773ed --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/TestCobraTrap.java @@ -0,0 +1,50 @@ +package org.mage.test.cards; + +import mage.Constants; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +/** + * + * @author BetaSteward + */ +public class TestCobraTrap extends CardTestPlayerBase { + + @Test + public void testCard() { + addCard(Constants.Zone.BATTLEFIELD, playerA, "Forest", 2); + addCard(Constants.Zone.HAND, playerA, "Cobra Trap"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Mountain", 3); + addCard(Constants.Zone.HAND, playerB, "Stone Rain"); + + castSpell(2, Constants.PhaseStep.PRECOMBAT_MAIN, playerB, "Stone Rain", "Forest"); + castSpell(2, Constants.PhaseStep.POSTCOMBAT_MAIN, playerA, "Cobra Trap"); + + setStopAt(2, Constants.PhaseStep.END_TURN); + execute(); + + assertLife(playerA, 20); + assertLife(playerB, 20); + assertPermanentCount(playerA, "Forest", 1); + assertPermanentCount(playerA, "Snake", 4); + } + + @Test + public void testCardNegative() { + addCard(Constants.Zone.BATTLEFIELD, playerA, "Forest", 2); + addCard(Constants.Zone.HAND, playerA, "Cobra Trap"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Mountain", 3); + addCard(Constants.Zone.HAND, playerB, "Stone Rain"); + + castSpell(2, Constants.PhaseStep.POSTCOMBAT_MAIN, playerA, "Cobra Trap"); + + setStopAt(2, Constants.PhaseStep.END_TURN); + execute(); + + assertLife(playerA, 20); + assertLife(playerB, 20); + assertPermanentCount(playerA, "Forest", 2); + assertPermanentCount(playerA, "Snake", 0); + } + +} diff --git a/Mage/src/mage/abilities/keyword/BloodthirstAbility.java b/Mage/src/mage/abilities/keyword/BloodthirstAbility.java index 4a4d98ebe40..8f68caf5592 100644 --- a/Mage/src/mage/abilities/keyword/BloodthirstAbility.java +++ b/Mage/src/mage/abilities/keyword/BloodthirstAbility.java @@ -58,7 +58,7 @@ class BloodthirstEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player != null) { BloodthirstWatcher watcher = (BloodthirstWatcher) game.getState().getWatchers().get("DamagedOpponents", source.getControllerId()); - if (watcher.conditionMet()) { + if (watcher != null && watcher.conditionMet()) { Permanent p = game.getPermanent(source.getSourceId()); if (p != null) { p.addCounters(CounterType.P1P1.createInstance(amount), game); diff --git a/Mage/src/mage/abilities/keyword/CascadeAbility.java b/Mage/src/mage/abilities/keyword/CascadeAbility.java index dbab9913a10..6d1aaf66027 100644 --- a/Mage/src/mage/abilities/keyword/CascadeAbility.java +++ b/Mage/src/mage/abilities/keyword/CascadeAbility.java @@ -96,7 +96,7 @@ class CascadeEffect extends OneShotEffect { ExileZone exile = game.getExile().createZone(source.getSourceId(), player.getName() + " Cascade"); int sourceCost = game.getObject(source.getSourceId()).getManaCost().convertedManaCost(); do { - card = player.getLibrary().getFromTop(game); + card = player.getLibrary().removeFromTop(game); if (card == null) break; card.moveToExile(exile.getId(), exile.getName(), source.getId(), game); diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 97c9f810392..ad47865f0a9 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -489,7 +489,8 @@ public abstract class PlayerImpl> implements Player, Ser Ability spellAbility = game.getStack().getSpell(ability.getId()).getSpellAbility(); if (spellAbility.activate(game, noMana)) { for (KickerAbility kicker: card.getAbilities().getKickerAbilities()) { - kicker.activate(game, false); + if (kicker.getCosts().canPay(ability.getSourceId(), playerId, game) && kicker.canChooseTarget(game)) + kicker.activate(game, false); } GameEvent event = GameEvent.getEvent(GameEvent.EventType.SPELL_CAST, spellAbility.getId(), spellAbility.getSourceId(), playerId); event.setZone(fromZone); @@ -1209,7 +1210,10 @@ public abstract class PlayerImpl> implements Player, Ser } } } - + for (AlternativeCost cost: ability.getAlternativeCosts()) { + if (cost.isAvailable(game, ability) && cost.canPay(ability.getSourceId(), playerId, game)) + return true; + } } return false; } diff --git a/Mage/src/mage/target/TargetObject.java b/Mage/src/mage/target/TargetObject.java index 38a3d1e2573..9e6567b7826 100644 --- a/Mage/src/mage/target/TargetObject.java +++ b/Mage/src/mage/target/TargetObject.java @@ -66,7 +66,9 @@ public abstract class TargetObject> extends TargetImpl public String getTargetedName(Game game) { StringBuilder sb = new StringBuilder(); for (UUID targetId: getTargets()) { - sb.append(game.getObject(targetId).getName()).append(" "); + MageObject object = game.getObject(targetId); + if (object != null) + sb.append(object.getName()).append(" "); } return sb.toString(); }