From 00d7a1f33657579e278408ebd0e89659201fd425 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Mon, 25 Dec 2017 08:13:22 +0400 Subject: [PATCH] Updated cards for new choice type dialog --- Mage.Sets/src/mage/cards/a/AphettoDredging.java | 2 +- Mage.Sets/src/mage/cards/b/BloodlineShaman.java | 2 +- Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java | 2 +- Mage.Sets/src/mage/cards/c/CallousOppressor.java | 5 ++--- Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java | 2 +- Mage.Sets/src/mage/cards/d/DistantMelody.java | 2 +- Mage.Sets/src/mage/cards/e/ElvishSoultiller.java | 2 +- Mage.Sets/src/mage/cards/e/Extinction.java | 2 +- Mage.Sets/src/mage/cards/g/GraveSifter.java | 2 +- Mage.Sets/src/mage/cards/h/HarshMercy.java | 2 +- Mage.Sets/src/mage/cards/k/KaronaFalseGod.java | 2 +- Mage.Sets/src/mage/cards/l/LuminescentRain.java | 4 ++-- Mage.Sets/src/mage/cards/m/MistformSliver.java | 2 +- Mage.Sets/src/mage/cards/n/NewBlood.java | 5 ++--- Mage.Sets/src/mage/cards/o/Outbreak.java | 2 +- Mage.Sets/src/mage/cards/p/PacksDisdain.java | 2 +- Mage.Sets/src/mage/cards/p/PatriarchsBidding.java | 2 +- Mage.Sets/src/mage/cards/p/PeerPressure.java | 2 +- Mage.Sets/src/mage/cards/r/RiptideChronologist.java | 2 +- Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java | 2 +- Mage.Sets/src/mage/cards/r/RoarOfTheCrowd.java | 2 +- Mage.Sets/src/mage/cards/s/Standardize.java | 2 +- Mage.Sets/src/mage/cards/t/TribalUnity.java | 2 +- Mage.Sets/src/mage/cards/t/TsabosDecree.java | 2 +- Mage.Sets/src/mage/cards/w/WalkingDesecration.java | 2 +- 25 files changed, 28 insertions(+), 30 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AphettoDredging.java b/Mage.Sets/src/mage/cards/a/AphettoDredging.java index 3e455021cf0..74df66d9838 100644 --- a/Mage.Sets/src/mage/cards/a/AphettoDredging.java +++ b/Mage.Sets/src/mage/cards/a/AphettoDredging.java @@ -65,7 +65,7 @@ public class AphettoDredging extends CardImpl { if (ability instanceof SpellAbility) { Player controller = game.getPlayer(ability.getControllerId()); if (controller != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(game.getObject(ability.getSourceId())); while (!controller.choose(Outcome.PutCreatureInPlay, typeChoice, game)) { if (!controller.canRespond()) { return; diff --git a/Mage.Sets/src/mage/cards/b/BloodlineShaman.java b/Mage.Sets/src/mage/cards/b/BloodlineShaman.java index c8e5591919d..4e9867eaa16 100644 --- a/Mage.Sets/src/mage/cards/b/BloodlineShaman.java +++ b/Mage.Sets/src/mage/cards/b/BloodlineShaman.java @@ -98,7 +98,7 @@ class BloodlineShamanEffect extends OneShotEffect { MageObject sourceObject = game.getObject(source.getSourceId()); if (controller != null) { // Choose a creature type. - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!controller.choose(outcome, typeChoice, game)) { if (!controller.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java b/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java index 1249f6b1266..4e440094aa4 100644 --- a/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java +++ b/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java @@ -129,7 +129,7 @@ class ChooseCreatureTypeEffect extends OneShotEffect { // code by LevelX2, but t Player controller = game.getPlayer(source.getControllerId()); MageObject mageObject = game.getObject(source.getSourceId()); if (controller != null && mageObject != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(mageObject); while (!controller.choose(outcome, typeChoice, game)) { if (!controller.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/c/CallousOppressor.java b/Mage.Sets/src/mage/cards/c/CallousOppressor.java index 63acbd3c2e1..f5b9d78b018 100644 --- a/Mage.Sets/src/mage/cards/c/CallousOppressor.java +++ b/Mage.Sets/src/mage/cards/c/CallousOppressor.java @@ -44,7 +44,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.Choice; -import mage.choices.ChoiceImpl; +import mage.choices.ChoiceCreatureType; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; @@ -154,9 +154,8 @@ class CallousOppressorChooseCreatureTypeEffect extends OneShotEffect { } Player opponent = game.getPlayer(target.getFirstTarget()); if (opponent != null && mageObject != null) { - Choice typeChoice = new ChoiceImpl(true); + Choice typeChoice = new ChoiceCreatureType(mageObject); typeChoice.setMessage("Choose creature type"); - typeChoice.setChoices(SubType.getCreatureTypes(false).stream().map(SubType::toString).collect(Collectors.toCollection(LinkedHashSet::new))); while (!opponent.choose(outcome, typeChoice, game)) { if (!opponent.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java b/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java index d9c068c192c..518dfc76ace 100644 --- a/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java +++ b/Mage.Sets/src/mage/cards/c/CoordinatedBarrage.java @@ -89,7 +89,7 @@ class CoordinatedBarrageEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - Choice choice = new ChoiceCreatureType(); + Choice choice = new ChoiceCreatureType(game.getObject(source.getSourceId())); if (controller.choose(Outcome.Damage, choice, game)) { String chosenType = choice.getChoice(); FilterControlledPermanent filter = new FilterControlledPermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DistantMelody.java b/Mage.Sets/src/mage/cards/d/DistantMelody.java index e773eeeedf9..5502cf22328 100644 --- a/Mage.Sets/src/mage/cards/d/DistantMelody.java +++ b/Mage.Sets/src/mage/cards/d/DistantMelody.java @@ -89,7 +89,7 @@ class DistantMelodyEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(game.getObject(source.getSourceId())); while (!player.choose(Outcome.BoostCreature, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java b/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java index 8b20c146bac..51047e50535 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java +++ b/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java @@ -96,7 +96,7 @@ class ElvishSoultillerEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); MageObject mageObject = game.getObject(source.getSourceId()); if (controller != null && mageObject != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(mageObject); while (!controller.choose(outcome, typeChoice, game)) { if (!controller.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/e/Extinction.java b/Mage.Sets/src/mage/cards/e/Extinction.java index 5d263271695..0310e869336 100644 --- a/Mage.Sets/src/mage/cards/e/Extinction.java +++ b/Mage.Sets/src/mage/cards/e/Extinction.java @@ -83,7 +83,7 @@ class ExtinctionEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); MageObject sourceObject = game.getObject(source.getSourceId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/g/GraveSifter.java b/Mage.Sets/src/mage/cards/g/GraveSifter.java index df5c373f73e..c60fe13164d 100644 --- a/Mage.Sets/src/mage/cards/g/GraveSifter.java +++ b/Mage.Sets/src/mage/cards/g/GraveSifter.java @@ -95,7 +95,7 @@ class GraveSifterEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(game.getObject(source.getSourceId())); typeChoice.setMessage("Choose creature type to return cards from your graveyard"); Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { diff --git a/Mage.Sets/src/mage/cards/h/HarshMercy.java b/Mage.Sets/src/mage/cards/h/HarshMercy.java index 931d63a9386..72f42fb3b70 100644 --- a/Mage.Sets/src/mage/cards/h/HarshMercy.java +++ b/Mage.Sets/src/mage/cards/h/HarshMercy.java @@ -96,7 +96,7 @@ class HarshMercyEffect extends OneShotEffect { PlayerIteration: for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { Player player = game.getPlayer(playerId); - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!player.choose(Outcome.DestroyPermanent, typeChoice, game)) { if (!player.canRespond()) { continue PlayerIteration; diff --git a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java index 56a5c395e37..b287a99d533 100644 --- a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java +++ b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java @@ -152,7 +152,7 @@ class KaronaFalseGodEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); MageObject sourceObject = game.getObject(source.getSourceId()); if (sourceObject != null && controller != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!controller.choose(Outcome.BoostCreature, typeChoice, game)) { if (!controller.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/l/LuminescentRain.java b/Mage.Sets/src/mage/cards/l/LuminescentRain.java index 5437d5eec37..cb881e2b5e0 100644 --- a/Mage.Sets/src/mage/cards/l/LuminescentRain.java +++ b/Mage.Sets/src/mage/cards/l/LuminescentRain.java @@ -86,9 +86,9 @@ class LuminescentRainEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); + Player player = game.getPlayer(source.getControllerId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(game.getObject(source.getSourceId())); while (!player.choose(Outcome.BoostCreature, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/m/MistformSliver.java b/Mage.Sets/src/mage/cards/m/MistformSliver.java index 2ac7c3b16e3..2364d2cd9c4 100644 --- a/Mage.Sets/src/mage/cards/m/MistformSliver.java +++ b/Mage.Sets/src/mage/cards/m/MistformSliver.java @@ -92,7 +92,7 @@ class MistformSliverEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(permanent); while (!player.choose(Outcome.Detriment, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/n/NewBlood.java b/Mage.Sets/src/mage/cards/n/NewBlood.java index cd2c534219a..a6f3905c73e 100644 --- a/Mage.Sets/src/mage/cards/n/NewBlood.java +++ b/Mage.Sets/src/mage/cards/n/NewBlood.java @@ -39,7 +39,7 @@ import mage.abilities.text.TextPartSubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.Choice; -import mage.choices.ChoiceImpl; +import mage.choices.ChoiceCreatureType; import mage.constants.*; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -145,9 +145,8 @@ class ChangeCreatureTypeTargetEffect extends ContinuousEffectImpl { return; } if (fromSubType == null) { - Choice typeChoice = new ChoiceImpl(true); + Choice typeChoice = new ChoiceCreatureType(game.getObject(source.getSourceId())); typeChoice.setMessage("Choose creature type to change to Vampire"); - typeChoice.setChoices(SubType.getCreatureTypes(false).stream().map(SubType::toString).collect(Collectors.toCollection(LinkedHashSet::new))); while (!controller.choose(outcome, typeChoice, game)) { if (!controller.canRespond()) { return; diff --git a/Mage.Sets/src/mage/cards/o/Outbreak.java b/Mage.Sets/src/mage/cards/o/Outbreak.java index 1b6e48355a1..4de53cd1150 100644 --- a/Mage.Sets/src/mage/cards/o/Outbreak.java +++ b/Mage.Sets/src/mage/cards/o/Outbreak.java @@ -96,7 +96,7 @@ class OutbreakEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(game.getObject(source.getSourceId())); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/p/PacksDisdain.java b/Mage.Sets/src/mage/cards/p/PacksDisdain.java index 8b98c53a0eb..88c1951e0b3 100644 --- a/Mage.Sets/src/mage/cards/p/PacksDisdain.java +++ b/Mage.Sets/src/mage/cards/p/PacksDisdain.java @@ -93,7 +93,7 @@ class PacksDisdainEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(game.getObject(source.getSourceId())); while (!player.choose(Outcome.UnboostCreature, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java b/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java index a964d7f791c..e4500783854 100644 --- a/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java +++ b/Mage.Sets/src/mage/cards/p/PatriarchsBidding.java @@ -93,7 +93,7 @@ class PatriarchsBiddingEffect extends OneShotEffect { Set chosenTypes = new HashSet<>(); for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { Player player = game.getPlayer(playerId); - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!player.choose(Outcome.PutCreatureInPlay, typeChoice, game)) { if (!player.canRespond()) { break; diff --git a/Mage.Sets/src/mage/cards/p/PeerPressure.java b/Mage.Sets/src/mage/cards/p/PeerPressure.java index 8101dc06be5..4ea1cfe77c3 100644 --- a/Mage.Sets/src/mage/cards/p/PeerPressure.java +++ b/Mage.Sets/src/mage/cards/p/PeerPressure.java @@ -93,7 +93,7 @@ class PeerPressureEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - Choice choice = new ChoiceCreatureType(); + Choice choice = new ChoiceCreatureType(game.getObject(source.getSourceId())); while (!controller.choose(Outcome.GainControl, choice, game)) { if (!controller.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/r/RiptideChronologist.java b/Mage.Sets/src/mage/cards/r/RiptideChronologist.java index b4a838bf6a6..c4d0b45ad60 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideChronologist.java +++ b/Mage.Sets/src/mage/cards/r/RiptideChronologist.java @@ -94,7 +94,7 @@ class RiptideChronologistEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); MageObject sourceObject = game.getObject(source.getSourceId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java b/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java index 5a5d21a2b94..ec5ee0e3049 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java +++ b/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java @@ -96,7 +96,7 @@ class RiptideShapeshifterEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); MageObject sourceObject = source.getSourceObject(game); if (controller != null && sourceObject != null) { - Choice choice = new ChoiceCreatureType(); + Choice choice = new ChoiceCreatureType(sourceObject); while (!controller.choose(Outcome.BoostCreature, choice, game)) { if (!controller.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/r/RoarOfTheCrowd.java b/Mage.Sets/src/mage/cards/r/RoarOfTheCrowd.java index 181d0fa4d95..213b9198079 100644 --- a/Mage.Sets/src/mage/cards/r/RoarOfTheCrowd.java +++ b/Mage.Sets/src/mage/cards/r/RoarOfTheCrowd.java @@ -89,7 +89,7 @@ class RoarOfTheCrowdEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(game.getObject(source.getSourceId())); while (!player.choose(Outcome.LoseLife, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/s/Standardize.java b/Mage.Sets/src/mage/cards/s/Standardize.java index b34c7065372..6a1adee518a 100644 --- a/Mage.Sets/src/mage/cards/s/Standardize.java +++ b/Mage.Sets/src/mage/cards/s/Standardize.java @@ -85,7 +85,7 @@ class StandardizeEffect extends OneShotEffect { MageObject sourceObject = game.getObject(source.getSourceId()); String chosenType = ""; if (player != null && sourceObject != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); typeChoice.setMessage("Choose a creature type other than Wall"); typeChoice.getChoices().remove("Wall"); while (!player.choose(Outcome.BoostCreature, typeChoice, game)) { diff --git a/Mage.Sets/src/mage/cards/t/TribalUnity.java b/Mage.Sets/src/mage/cards/t/TribalUnity.java index e3ac24efd3f..fc9653ce1f1 100644 --- a/Mage.Sets/src/mage/cards/t/TribalUnity.java +++ b/Mage.Sets/src/mage/cards/t/TribalUnity.java @@ -91,7 +91,7 @@ class TribalUnityEffect extends OneShotEffect { MageObject sourceObject = game.getObject(source.getSourceId()); int boost = amount.calculate(game, source, this); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/t/TsabosDecree.java b/Mage.Sets/src/mage/cards/t/TsabosDecree.java index 36aeb9acc35..b455b455054 100644 --- a/Mage.Sets/src/mage/cards/t/TsabosDecree.java +++ b/Mage.Sets/src/mage/cards/t/TsabosDecree.java @@ -90,7 +90,7 @@ class TsabosDecreeEffect extends OneShotEffect { Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source)); MageObject sourceObject = game.getObject(source.getSourceId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false; diff --git a/Mage.Sets/src/mage/cards/w/WalkingDesecration.java b/Mage.Sets/src/mage/cards/w/WalkingDesecration.java index 54988c4923a..f23339c4e2a 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingDesecration.java +++ b/Mage.Sets/src/mage/cards/w/WalkingDesecration.java @@ -91,7 +91,7 @@ class WalkingDesecrationEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); MageObject sourceObject = game.getObject(source.getSourceId()); if (player != null) { - Choice typeChoice = new ChoiceCreatureType(); + Choice typeChoice = new ChoiceCreatureType(sourceObject); while (!player.choose(outcome, typeChoice, game)) { if (!player.canRespond()) { return false;