Merge branch 'EquipInstantSpeed' into 'master'

GameActionUtil: EquipInstantSpeed should affect the player

See merge request core-developers/forge!871
This commit is contained in:
Michael Kamensky
2018-08-21 16:41:40 +00:00
2 changed files with 13 additions and 13 deletions

View File

@@ -109,7 +109,7 @@ public final class GameActionUtil {
final SpellAbility newSA = sa.copy(activator);
final SpellAbilityRestriction sar = newSA.getRestrictions();
if (o.isWithFlash()) {
sar.setInstantSpeed(true);
sar.setInstantSpeed(true);
}
sar.setZone(null);
newSA.setMayPlay(o.getAbility());
@@ -187,6 +187,15 @@ public final class GameActionUtil {
alternatives.add(newSA);
}
if (sa.hasParam("Equip") && activator.hasKeyword("EquipInstantSpeed")) {
final SpellAbility newSA = sa.copy(activator);
SpellAbilityRestriction sar = newSA.getRestrictions();
sar.setSorcerySpeed(false);
sar.setInstantSpeed(true);
newSA.setDescription(sa.getDescription() + " (you may activate any time you could cast an instant )");
alternatives.add(newSA);
}
for (final KeywordInterface inst : source.getKeywords()) {
final String keyword = inst.getOriginal();
if (sa.isSpell() && keyword.startsWith("Flashback")) {
@@ -208,15 +217,6 @@ public final class GameActionUtil {
}
alternatives.add(flashback);
}
if (sa.hasParam("Equip") && sa instanceof AbilityActivated && keyword.equals("EquipInstantSpeed")) {
final SpellAbility newSA = sa.copy(activator);
SpellAbilityRestriction sar = newSA.getRestrictions();
sar.setSorcerySpeed(false);
sar.setInstantSpeed(true);
newSA.setDescription(sa.getDescription() + " (you may activate any time you could cast an instant )");
alternatives.add(newSA);
}
}
return alternatives;
}
@@ -391,8 +391,8 @@ public final class GameActionUtil {
}
}
} else if (keyword.startsWith("Kicker")) {
String[] sCosts = TextUtil.split(keyword.substring(6), ':');
boolean generic = "Generic".equals(sCosts[sCosts.length - 1]);
String[] sCosts = TextUtil.split(keyword.substring(6), ':');
boolean generic = "Generic".equals(sCosts[sCosts.length - 1]);
// If this is a "generic kicker" (Undergrowth), ignore value for kicker creations
int numKickers = sCosts.length - (generic ? 1 : 0);
for (int i = 0; i < abilities.size(); i++) {

View File

@@ -2,6 +2,6 @@ Name:Leonin Shikari
ManaCost:1 W
Types:Creature Cat Soldier
PT:2/2
S:Mode$ Continuous | AddHiddenKeyword$ EquipInstantSpeed | Affected$ Card.withEquip+YouCtrl | Description$ You may activate equip abilities any time you could cast an instant.
S:Mode$ Continuous | Affected$ You | AddKeyword$ EquipInstantSpeed | Description$ You may activate equip abilities any time you could cast an instant.
SVar:Picture:http://www.wizards.com/global/images/magic/general/leonin_shikari.jpg
Oracle:You may activate equip abilities any time you could cast an instant.