Merge branch 'replaceAddCounterValidSource' into 'master'

ReplaceAddCounter: add ValidSource and extend ValidObject

See merge request core-developers/forge!3706
This commit is contained in:
Michael Kamensky
2021-02-02 16:18:05 +00:00
2 changed files with 27 additions and 2 deletions

View File

@@ -45,7 +45,7 @@ public class ReplaceAddCounter extends ReplacementEffect {
if (!(o instanceof Card)) { if (!(o instanceof Card)) {
return false; return false;
} }
if (!matchesValid(o, getParam("ValidCard").split(","), this.getHostCard())) { if (!matchesValid(o, getParam("ValidCard").split(","), getHostCard())) {
return false; return false;
} }
} else if (hasParam("ValidPlayer")) { } else if (hasParam("ValidPlayer")) {
@@ -53,7 +53,17 @@ public class ReplaceAddCounter extends ReplacementEffect {
if (!(o instanceof Player)) { if (!(o instanceof Player)) {
return false; return false;
} }
if (!matchesValid(o, getParam("ValidPlayer").split(","), this.getHostCard())) { if (!matchesValid(o, getParam("ValidPlayer").split(","), getHostCard())) {
return false;
}
} else if (hasParam("ValidObject")) {
if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidObject").split(","), getHostCard())) {
return false;
}
}
if (hasParam("ValidSource")) {
if (!matchesValid(runParams.get(AbilityKey.Source), getParam("ValidSource").split(","), getHostCard())) {
return false; return false;
} }
} }
@@ -81,6 +91,7 @@ public class ReplaceAddCounter extends ReplacementEffect {
} else if (o instanceof Player) { } else if (o instanceof Player) {
sa.setReplacingObject(AbilityKey.Player, o); sa.setReplacingObject(AbilityKey.Player, o);
} }
sa.setReplacingObject(AbilityKey.Object, o);
} }
} }

View File

@@ -0,0 +1,14 @@
Name:Vorinclex, Monstrous Raider
ManaCost:4 G G
Types:Legendary Creature Phyrexian Praetor
PT:6/6
K:Trample
K:Haste
R:Event$ AddCounter | ActiveZones$ Battlefield | ValidSource$ You | ValidObject$ Permanent.inZoneBattlefield,Player | ReplaceWith$ DoubleCounters | Description$ If you would put one or more counters on a permanent or player, put twice that many of each of those kinds of counters on that permanent or player instead.
SVar:DoubleCounters:DB$ ReplaceEffect | VarName$ CounterNum | VarValue$ X | References$ X
SVar:X:ReplaceCount$CounterNum/Twice
R:Event$ AddCounter | ActiveZones$ Battlefield | ValidSource$ Opponent | ValidObject$ Permanent.inZoneBattlefield,Player | ReplaceWith$ HalfCounters | Description$ If an opponent would put one or more counters on a permanent or player, they put half that many of each of those kinds of counters on that permanent or player instead, rounded down.
SVar:HalfCounters:DB$ ReplaceEffect | VarName$ CounterNum | VarValue$ Y | References$ Y
SVar:Y:ReplaceCount$CounterNum/HalfDown
Oracle:Trample, haste\nIf you would put one or more counters on a permanent or player, put twice that many of each of those kinds of counters on that permanent or player instead.\nIf an opponent would put one or more counters on a permanent or player, they put half that many of each of those kinds of counters on that permanent or player instead, rounded down.