Merge pull request #83 from Northmoc/elspeth_counters

SNC: Elspeth Resplendent and support + refactoring various related IKO stuff
This commit is contained in:
Agetian
2022-04-19 09:29:06 +03:00
committed by GitHub
18 changed files with 139 additions and 64 deletions

View File

@@ -45,8 +45,16 @@ public class CountersPutEffect extends SpellAbilityEffect {
final StringBuilder stringBuilder = new StringBuilder();
final Card card = spellAbility.getHostCard();
final int amount = AbilityUtils.calculateAmount(card, spellAbility.getParamOrDefault("CounterNum", "1"),
spellAbility);
final int amount = AbilityUtils.calculateAmount(card,
spellAbility.getParamOrDefault("CounterNum", "1"), spellAbility);
if (spellAbility.hasParam("CounterTypes")) {
stringBuilder.append(spellAbility.getActivatingPlayer()).append(" ");
String desc = spellAbility.getDescription();
desc = desc.substring(desc.indexOf("Put"), desc.indexOf(" on ") + 4)
.replaceFirst("Put", "puts");
stringBuilder.append(desc).append(Lang.joinHomogenous(getTargets(spellAbility))).append(".");
return stringBuilder.toString();
}
// skip the StringBuilder if no targets are chosen ("up to" scenario)
if (spellAbility.usesTargeting()) {
final List<Card> targetCards = SpellAbilityEffect.getTargetCards(spellAbility);
@@ -250,6 +258,51 @@ public class CountersPutEffect extends SpellAbilityEffect {
}
}
if (sa.hasParam("ChooseDifferent")) {
final int num = Integer.parseInt(sa.getParam("ChooseDifferent"));
final List<CounterType> typesToAdd = Lists.newArrayList();
String options = sa.getParam("CounterType");
for (int i = 0; i < num; i++) {
CounterType ct = chooseTypeFromList(sa, options, obj, pc);
typesToAdd.add(ct);
options = options.replace(ct.getName(),"");
}
for (CounterType ct : typesToAdd) {
if (obj instanceof Player) {
((Player) obj).addCounter(ct, counterAmount, placer, table);
}
if (obj instanceof Card) {
if (etbcounter) {
gameCard.addEtbCounter(ct, counterAmount, placer);
} else {
gameCard.addCounter(ct, counterAmount, placer, table);
}
}
}
continue;
}
if (sa.hasParam("CounterTypes")) {
final List<CounterType> typesToAdd = Lists.newArrayList();
String types = sa.getParam("CounterTypes");
if (types.contains("ChosenFromList")) {
typesToAdd.add(chooseTypeFromList(sa, sa.getParam("TypeList"), obj, pc));
types = types.replace("ChosenFromList", "");
}
for (String type : types.split(",")) {
typesToAdd.add(CounterType.getType(type));
}
for (CounterType ct : typesToAdd) {
if (obj instanceof Player) {
((Player) obj).addCounter(ct, counterAmount, placer, table);
}
if (obj instanceof Card) {
gameCard.addCounter(ct, counterAmount, placer, table);
}
}
continue;
}
if (existingCounter) {
final List<CounterType> choices = Lists.newArrayList();
// get types of counters
@@ -295,17 +348,8 @@ public class CountersPutEffect extends SpellAbilityEffect {
}
continue;
}
if (sa.hasParam("CounterTypePerDefined")) {
List<CounterType> choices = Lists.newArrayList();
for (String s : sa.getParam("CounterType").split(",")) {
choices.add(CounterType.getType(s));
}
Map<String, Object> params = Maps.newHashMap();
params.put("Target", obj);
StringBuilder sb = new StringBuilder();
sb.append(Localizer.getInstance().getMessage("lblSelectCounterTypeAddTo") + " ");
sb.append(obj);
counterType = pc.chooseCounterType(choices, sa, sb.toString(), params);
if (sa.hasParam("CounterTypePerDefined") || sa.hasParam("UniqueType")) {
counterType = chooseTypeFromList(sa, sa.getParam("CounterType"), obj, pc);
}
if (obj instanceof Card) {
@@ -471,16 +515,11 @@ public class CountersPutEffect extends SpellAbilityEffect {
} else {
CounterType counterType = null;
if (!sa.hasParam("EachExistingCounter") && !sa.hasParam("EachFromSource")
&& !sa.hasParam("CounterTypePerDefined")) {
&& !sa.hasParam("UniqueType") && !sa.hasParam("CounterTypePerDefined")
&& !sa.hasParam("CounterTypes") && !sa.hasParam("ChooseDifferent")) {
try {
List<CounterType> choices = Lists.newArrayList();
for (String s : sa.getParam("CounterType").split(",")) {
choices.add(CounterType.getType(s));
}
Map<String, Object> params = Maps.newHashMap();
StringBuilder sb = new StringBuilder();
sb.append(Localizer.getInstance().getMessage("lblSelectCounterTypeAddTo"));
counterType = placer.getController().chooseCounterType(choices, sa, sb.toString(), params);
counterType = chooseTypeFromList(sa, sa.getParam("CounterType"), null,
placer.getController());
} catch (Exception e) {
System.out.println("Counter type doesn't match, nor does an SVar exist with the type name.");
return;
@@ -541,6 +580,27 @@ public class CountersPutEffect extends SpellAbilityEffect {
}
}
protected CounterType chooseTypeFromList(SpellAbility sa, String list, GameEntity obj, PlayerController pc) {
List<CounterType> choices = Lists.newArrayList();
for (String s : list.split(",")) {
if (!s.equals("") && (!sa.hasParam("UniqueType") || obj.getCounters(CounterType.getType(s)) == 0)) {
choices.add(CounterType.getType(s));
}
}
if (sa.hasParam("RandomType")) {
return Aggregates.random(choices);
}
Map<String, Object> params = Maps.newHashMap();
params.put("Target", obj);
StringBuilder sb = new StringBuilder();
if (obj != null) {
sb.append(Localizer.getInstance().getMessage("lblSelectCounterTypeAddTo")).append(" ").append(obj);
} else {
sb.append(Localizer.getInstance().getMessage("lblSelectCounterType"));
}
return pc.chooseCounterType(choices, sa, sb.toString(), params);
}
protected String logOutput(Map<Object, Integer> randomMap, Card card) {
StringBuilder randomLog = new StringBuilder();
randomLog.append(card.getName()).append(" randomly distributed ");

View File

@@ -67,14 +67,34 @@ public class DigEffect extends SpellAbilityEffect {
}
String verb2 = "put ";
String where = "in their hand ";
String where = " in their hand ";
if (destZone1.equals("exile")) {
verb2 = "exile ";
where = "";
where = " ";
} else if (destZone1.equals("battlefield")) {
verb2 = "put ";
where = " onto the battlefield ";
}
sb.append(" They ").append(verb2).append(Lang.getNumeral(numToChange)).append(" of them ").append(where);
sb.append(sa.hasParam("ExileFaceDown") ? "face down " : "").append("and put the rest ");
sb.append(destZone2);
sb.append(" They ").append(sa.hasParam("Optional") ? "may " : "").append(verb2);
if (sa.hasParam("ChangeValid")) {
String what = sa.hasParam("ChangeValidDesc") ? sa.getParam("ChangeValidDesc") :
sa.getParam("ChangeValid");
sb.append(Lang.nounWithNumeralExceptOne(numToChange, what)).append(" from among them").append(where);
} else {
sb.append(Lang.getNumeral(numToChange)).append(" of them").append(where);
}
sb.append(sa.hasParam("ExileFaceDown") ? "face down " : "");
if (sa.hasParam("WithCounter") || sa.hasParam("ExileWithCounter")) {
String ctr = sa.hasParam("WithCounter") ? sa.getParam("WithCounter") :
sa.getParam("ExileWithCounter");
sb.append("with a ");
sb.append(CounterType.getType(ctr).getName().toLowerCase());
sb.append(" counter on it. They ");
} else {
sb.append("and ");
}
sb.append("put the rest ").append(destZone2);
}
return sb.toString();
@@ -388,6 +408,9 @@ public class DigEffect extends SpellAbilityEffect {
if (sa.hasParam("Tapped")) {
c.setTapped(true);
}
if (destZone1.equals(ZoneType.Battlefield) && sa.hasParam("WithCounter")) {
c.addEtbCounter(CounterType.getType(sa.getParam("WithCounter")), 1, player);
}
c = game.getAction().moveTo(zone, c, sa, moveParams);
if (destZone1.equals(ZoneType.Battlefield)) {
if (addToCombat(c, c.getController(), sa, "Attacking", "Blocking")) {

View File

@@ -3,8 +3,6 @@ ManaCost:1 B
Types:Creature Beast
PT:2/1
K:ETBReplacement:Other:CounterChoice
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Deathtouch,Lifelink | SpellDescription$ CARDNAME enters the battlefield with your choice of a deathtouch counter or a lifelink counter on it.
SVar:Deathtouch:DB$ PutCounter | CounterType$ Deathtouch | CounterNum$ 1 | ETB$ True | SpellDescription$ Deathtouch
SVar:Lifelink:DB$ PutCounter | CounterType$ Lifelink | CounterNum$ 1 | ETB$ True | SpellDescription$ Lifelink
DeckHints:Ability$Counters
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Deathtouch,Lifelink | SpellDescription$ CARDNAME enters the battlefield with your choice of a deathtouch counter or a lifelink counter on it.
DeckHints:Ability$Counters|LifeGain
Oracle:Boot Nipper enters the battlefield with your choice of a deathtouch counter or a lifelink counter on it.

View File

@@ -2,18 +2,8 @@ Name:Crystalline Giant
ManaCost:3
Types:Artifact Creature Giant
PT:3/3
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigGenericChoice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, choose a kind of counter at random that CARDNAME doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, and +1/+1. Put a counter of that kind on CARDNAME.
SVar:TrigGenericChoice:DB$ GenericChoice | AtRandom$ True | Choices$ Flying,FirstStrike,Deathtouch,Hexproof,Lifelink,Menace,Reach,Trample,Vigilance,P1P1
SVar:Flying:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Flying | CounterType$ Flying | CounterNum$ 1 | SpellDescription$ FLY
SVar:FirstStrike:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_First Strike | CounterType$ First Strike | CounterNum$ 1 | SpellDescription$ FIR
SVar:Deathtouch:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Deathtouch | CounterType$ Deathtouch | CounterNum$ 1 | SpellDescription$ DEA
SVar:Hexproof:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Hexproof | CounterType$ Hexproof | CounterNum$ 1 | SpellDescription$ HEX
SVar:Lifelink:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Lifelink | CounterType$ Lifelink | CounterNum$ 1 | SpellDescription$ LIF
SVar:Menace:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Menace | CounterType$ Menace | CounterNum$ 1 | SpellDescription$ MEN
SVar:Reach:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Reach | CounterType$ Reach | CounterNum$ 1 | SpellDescription$ REA
SVar:Trample:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Trample | CounterType$ Trample | CounterNum$ 1 | SpellDescription$ TRA
SVar:Vigilance:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Vigilance | CounterType$ Vigilance | CounterNum$ 1 | SpellDescription$ VIG
SVar:P1P1:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_P1P1 | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ P1P1
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, choose a kind of counter at random that CARDNAME doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, and +1/+1. Put a counter of that kind on CARDNAME.
SVar:TrigPutCounter:DB$ PutCounter | UniqueType$ True | RandomType$ True | CounterType$ Flying,First Strike,Deathtouch,Hexproof,Lifelink,Menace,Reach,Trample,Vigilance,P1P1
SVar:PlayMain1:TRUE
DeckHas:Ability$Counters
DeckHas:Ability$Counters|LifeGain
Oracle:At the beginning of combat on your turn, choose a kind of counter at random that Crystalline Giant doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, and +1/+1. Put a counter of that kind on Crystalline Giant.

View File

@@ -3,8 +3,6 @@ ManaCost:3 R
Types:Creature Cat Ape
PT:4/3
K:ETBReplacement:Other:CounterChoice
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Trample,Menace | SpellDescription$ CARDNAME enters the battlefield with your choice of a trample counter or a menace counter on it.
SVar:Trample:DB$ PutCounter | ETB$ True | CounterType$ Trample | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a trample counter
SVar:Menace:DB$ PutCounter | ETB$ True | CounterType$ Menace | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a menace counter
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Trample,Menace | SpellDescription$ CARDNAME enters the battlefield with your choice of a trample counter or a menace counter on it. (A creature with menace can't be blocked except by two or more creatures.)
DeckHas:Ability$Counters
Oracle:Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it. (A creature with menace can't be blocked except by two or more creatures.)

View File

@@ -3,8 +3,6 @@ ManaCost:4 G
Types:Creature Antelope Lizard
PT:3/5
K:ETBReplacement:Other:CounterChoice
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Vigilance,Reach | SpellDescription$ CARDNAME enters the battlefield with your choice of a vigilance counter or a reach counter on it.
SVar:Vigilance:DB$ PutCounter | ETB$ True | CounterType$ Vigilance | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a vigilance counter on it
SVar:Reach:DB$ PutCounter | ETB$ True | CounterType$ Reach | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a reach counter on it
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Vigilance,Reach | SpellDescription$ CARDNAME enters the battlefield with your choice of a vigilance counter or a reach counter on it.
DeckHas:Ability$Counters
Oracle:Flycatcher Giraffid enters the battlefield with your choice of a vigilance counter or a reach counter on it.

View File

@@ -3,9 +3,6 @@ ManaCost:1 B B
Types:Creature Nightmare
PT:3/3
K:ETBReplacement:Other:CounterChoice
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Menace,Deathtouch,Lifelink | ChoiceAmount$ 2 | SpellDescription$ CARDNAME enters the battlefield with your choice of two different counters on it from among menace, deathtouch, and lifelink.
SVar:Menace:DB$ PutCounter | CounterType$ Menace | CounterNum$ 1 | ETB$ True | SpellDescription$ Menace
SVar:Deathtouch:DB$ PutCounter | CounterType$ Deathtouch | CounterNum$ 1 | ETB$ True | SpellDescription$ Deathtouch
SVar:Lifelink:DB$ PutCounter | CounterType$ Lifelink | CounterNum$ 1 | ETB$ True | SpellDescription$ Lifelink
DeckHas:Ability$Counters
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Menace,Deathtouch,Lifelink | ChooseDifferent$ 2 | SpellDescription$ CARDNAME enters the battlefield with your choice of two different counters on it from among menace, deathtouch, and lifelink.
DeckHas:Ability$Counters|LifeGain
Oracle:Grimdancer enters the battlefield with your choice of two different counters on it from among menace, deathtouch, and lifelink.

View File

@@ -3,8 +3,6 @@ ManaCost:2 W
Types:Creature Nightmare Squirrel
PT:2/2
K:ETBReplacement:Other:CounterChoice
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Flying,FirstStrike | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a first strike counter on it.
SVar:Flying:DB$ PutCounter | ETB$ True | CounterType$ Flying | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a flying counter on it
SVar:FirstStrike:DB$ PutCounter | ETB$ True | CounterType$ First Strike | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a first strike counter on it
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Flying,First Strike | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a first strike counter on it.
DeckHints:Ability$Counters
Oracle:Helica Glider enters the battlefield with your choice of a flying counter or a first strike counter on it.

View File

@@ -1,7 +1,6 @@
Name:Unexpected Fangs
ManaCost:1 B
Types:Instant
A:SP$ PutCounter | Cost$ 1 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPutCounter | SpellDescription$ Put a +1/+1 counter and a lifelink counter on target creature.
SVar:DBPutCounter:DB$ PutCounter | CounterType$ Lifelink | CounterNum$ 1 | Defined$ Targeted
DeckHas:Ability$Counters
A:SP$ PutCounter | ValidTgts$ Creature | CounterTypes$ P1P1,Lifelink | SpellDescription$ Put a +1/+1 counter and a lifelink counter on target creature.
DeckHas:Ability$Counters|LifeGain
Oracle:Put a +1/+1 counter and a lifelink counter on target creature.

View File

@@ -0,0 +1,9 @@
Name:Elspeth Resplendent
ManaCost:3 W W
Types:Legendary Planeswalker Elspeth
Loyalty:5
A:AB$ PutCounter | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | CounterTypes$ P1P1,ChosenFromList | TypeList$ Flying,First Strike,Lifelink,Vigilance | SpellDescription$ Choose up to one target creature. Put a +1/+1 counter and a counter from among flying, first strike, lifelink, or vigilance on it.
A:AB$ Dig | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | DigNum$ 7 | ChangeNum$ 1 | Optional$ True | ForceRevealToController$ True | ChangeValid$ Permanent.cmcLE3 | ChangeValidDesc$ permanent card with mana value 3 or less | DestinationZone$ Battlefield | WithCounter$ Shield | PrimaryPrompt$ You may choose a permanent card with mana value 3 or less to put on the battlefield | RestRandomOrder$ True | SpellDescription$ Look at the top seven cards of your library. You may put a permanent card with mana value 3 or less from among them onto the battlefield with a shield counter on it. Put the rest on the bottom of your library in a random order.
A:AB$ Token | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | TokenAmount$ 5 | TokenScript$ w_3_3_angel_flying | SpellDescription$ Create five 3/3 white Angel creature tokens with flying.
DeckHas:Ability$Counters|LifeGain|Token & Type$Angel
Oracle:[+1]: Choose up to one target creature. Put a +1/+1 counter and a counter from among flying, first strike, lifelink, or vigilance on it.\n[3]: Look at the top seven cards of your library. You may put a permanent card with mana value 3 or less from among them onto the battlefield with a shield counter on it. Put the rest on the bottom of your library in a random order.\n[7]: Create five 3/3 white Angel creature tokens with flying.

View File

@@ -3,8 +3,6 @@ ManaCost:5 U
Types:Creature Dinosaur
PT:3/6
K:ETBReplacement:Other:CounterChoice
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Flying,Hexproof | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a hexproof counter on it.
SVar:Flying:DB$ PutCounter | ETB$ True | CounterType$ Flying | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a flying counter on it
SVar:Hexproof:DB$ PutCounter | ETB$ True | CounterType$ Hexproof | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a hexproof counter on it
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Flying,Hexproof | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a hexproof counter on it.
DeckHas:Ability$Counters
Oracle:Wingfold Pteron enters the battlefield with your choice of a flying counter or a hexproof counter on it. (A creature with hexproof can't be the target of spells or abilities your opponents control.)

View File

@@ -1904,6 +1904,7 @@ lblChooseProliferateTarget=Wähle eine beliebige Anzahl bleibender Karten und/od
lblDoYouWantPutCounter=Möchtest du die Marke legen?
lblChooseACreatureWithLeastToughness=Wähle eine Kreatur mit der geringsten Widerstandskraft
lblSelectCounterTypeAddTo=Wähle Markentyp zum Hinzufügen
lblSelectCounterType=Wähle Markentyp
lblHowManyCountersThis=Wie viele Marken möchtest du auf {0} legen?
lblChooseAnOpponent=Wähle Gegner
lblDoYouWantPutTargetP1P1CountersOnCard=Möchtest du {0} +1/+1-Marken auf {1} legen?

View File

@@ -1905,6 +1905,7 @@ lblChooseProliferateTarget=Choose any number of permanents and/or players for pr
lblDoYouWantPutCounter=Do you want to put the counter?
lblChooseACreatureWithLeastToughness=Choose a creature with the least toughness
lblSelectCounterTypeAddTo=Select counter type to add to
lblSelectCounterType=Select counter type
lblHowManyCountersThis=How many counters do you want to put on {0}?
lblChooseAnOpponent=Choose an opponent
lblDoYouWantPutTargetP1P1CountersOnCard=Do you want to put {0} +1/+1 counters on {1}?

View File

@@ -1903,6 +1903,7 @@ lblChooseProliferateTarget=Elige cualquier número de permanentes y/o jugadores
lblDoYouWantPutCounter=¿Quieres poner el contador?
lblChooseACreatureWithLeastToughness=Elige una criatura con la menor resistencia
lblSelectCounterTypeAddTo=Selecciona el tipo de contador para añadirlo a
lblSelectCounterType=Selecciona el tipo de contador
lblHowManyCountersThis=¿Cuántos contadores quieres poner en {0}?
lblChooseAnOpponent=Elige un adversario
lblDoYouWantPutTargetP1P1CountersOnCard=¿Quieres poner {0} contadores +1/+1 en {1}?

View File

@@ -1902,6 +1902,7 @@ lblChooseProliferateTarget=Scegli un numero qualsiasi di permanenti e/o giocator
lblDoYouWantPutCounter=Vuoi aggiungere il segnalino?
lblChooseACreatureWithLeastToughness=Scegli una creatura con la minor costituzione
lblSelectCounterTypeAddTo=Scegli il tipo di segnalino da aggiungere
lblSelectCounterType=Scegli il tipo di segnalino
lblHowManyCountersThis=Quanti segnalini vuoi aggiungere a {0}?
lblChooseAnOpponent=Scegli un avversario
lblDoYouWantPutTargetP1P1CountersOnCard=Vuoi aggiungere {0} segnalino/i +1/+1 a {1}?

View File

@@ -1902,6 +1902,7 @@ lblChooseProliferateTarget=増殖を行う望む数のパーマネントやプ
lblDoYouWantPutCounter=カウンターを置きますか?
lblChooseACreatureWithLeastToughness=タフネスが一番低いクリーチャーを選ぶ
lblSelectCounterTypeAddTo=置けるカウンターの種類を選ぶ
lblSelectCounterType=Select counter type
lblHowManyCounters={0}に何個のカウンターを置きますか?
lblChooseAnOpponent=対戦相手一人を選ぶ
lblDoYouWantPutTargetP1P1CountersOnCard={1}の上に {0}個の +1/+1 カウンターを置きますか?

View File

@@ -1964,6 +1964,7 @@ lblChooseProliferateTarget=Escolha qualquer número de permanentes e/ou jogadore
lblDoYouWantPutCounter=Você quer colocar o marcador?
lblChooseACreatureWithLeastToughness=Escolha uma criatura com a menor resistência
lblSelectCounterTypeAddTo=Selecione o tipo de marcador para adicionar a
lblSelectCounterType=Selecione o tipo de marcador
lblHowManyCountersThis=Quantos marcadores você quer colocar em {0}?
lblChooseAnOpponent=Escolha um adversário
lblDoYouWantPutTargetP1P1CountersOnCard=Você quer colocar {0} +1/+1 marcadores em {1}?

View File

@@ -1906,6 +1906,7 @@ lblChooseProliferateTarget=选择任意数量的永久物和或牌手进行增
lblDoYouWantPutCounter=你想要放置指示物吗?
lblChooseACreatureWithLeastToughness=选择防御力最小的生物
lblSelectCounterTypeAddTo=选择指示物类型以添加到
lblSelectCounterType=Select counter type
lblHowManyCountersThis=你想要在{0}上放置多少个指示物?
lblChooseAnOpponent=选择一个对手
lblDoYouWantPutTargetP1P1CountersOnCard=你想要放置{0}个+1+1指示物到{1}吗?