- Added "Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn." keyword.

- Added Talon Sliver + +2/+2 EOT landfall cards.
This commit is contained in:
jendave
2011-08-06 03:42:04 +00:00
parent 88816d751f
commit f45924f919
4 changed files with 126 additions and 2 deletions

View File

@@ -1,3 +1,53 @@
Windrider Eel
3 U
Creature Fish
no text
2/2
Flying
Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn.
Territorial Baloth
4 G
Creature Beast
no text
4/4
Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn.
Plated Geopede
1 R
Creature Insect
no text
1/1
First Strike
Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn.
Hedron Rover
4
Artifact Creature Construct
no text
2/2
Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn.
Hagra Crocodile
3 B
Creature Crocodile
no text
3/1
Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn.
Steppe Lynx
W
Creature Cat
no text
0/1
Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn.
Talon Sliver
1 W
Creature Sliver
All sliver creatures have first strike.
1/1
Stormscape Apprentice
U
Creature Human Wizard

View File

@@ -3282,6 +3282,9 @@ public class GameActionUtil {
//***ENCHANTMENTS END HERE***
public static void executeLandfallEffects(Card c) {
if (c.getKeyword().contains("Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn."))
landfall_Generic_P2P2_UntilEOT(c);
if(c.getName().equals("Rampaging Baloths")) landfall_Rampaging_Baloths(c);
else if(c.getName().equals("Emeria Angel")) landfall_Emeria_Angel(c);
else if(c.getName().equals("Ob Nixilis, the Fallen")) landfall_Ob_Nixilis(c);
@@ -3303,6 +3306,39 @@ public class GameActionUtil {
else return true;
}
private static void landfall_Generic_P2P2_UntilEOT(Card c)
{
final Card crd = c;
Ability ability = new Ability(c, "0")
{
@Override
public void resolve()
{
final Command untilEOT = new Command() {
private static final long serialVersionUID = 8919719388859986796L;
public void execute() {
if(AllZone.GameAction.isCardInPlay(crd)) {
crd.addTempAttackBoost(-2);
crd.addTempDefenseBoost(-2);
}
}
};
crd.addTempAttackBoost(2);
crd.addTempDefenseBoost(2);
AllZone.EndOfTurn.addUntil(untilEOT);
}
};
ability.setStackDescription(c + " - Landfall: gets +2/+2 until EOT.");
if(c.getController().equals(Constant.Player.Human)) {
if(showLandfallDialog(c)) AllZone.Stack.add(ability);
}
else if(c.getController().equals(Constant.Player.Computer)) AllZone.Stack.add(ability);
}
private static void landfall_Rampaging_Baloths(Card c) {
final Card crd = c;
Ability ability = new Ability(c, "0") {
@@ -8362,6 +8398,41 @@ public class GameActionUtil {
}// execute()
};
public static Command Talon_Sliver = new Command() {
private static final long serialVersionUID = -7392607614574103064L;
CardList gloriousAnthemList = new CardList();
public void execute() {
String keyword = "First Strike";
CardList list = gloriousAnthemList;
Card c;
// reset all cards in list - aka "old" cards
for(int i = 0; i < list.size(); i++) {
c = list.get(i);
c.removeExtrinsicKeyword(keyword);
}
list.clear();
PlayerZone[] zone = getZone("Talon Sliver");
for(int outer = 0; outer < zone.length; outer++) {
CardList creature = new CardList();
creature.addAll(AllZone.Human_Play.getCards());
creature.addAll(AllZone.Computer_Play.getCards());
creature = creature.getType("Sliver");
for(int i = 0; i < creature.size(); i++) {
c = creature.get(i);
c.addExtrinsicKeyword(keyword);
gloriousAnthemList.add(c);
}// for inner
}// for outer
}// execute()
};
public static Command Crystalline_Sliver = new Command() {
private static final long serialVersionUID = 6089293045852070662L;
@@ -14539,6 +14610,7 @@ public class GameActionUtil {
commands.put("Winged_Sliver", Winged_Sliver);
commands.put("Synchronous_Sliver", Synchronous_Sliver);
commands.put("Fury_Sliver", Fury_Sliver);
commands.put("Talon_Sliver", Talon_Sliver);
commands.put("Plated_Sliver", Plated_Sliver);
commands.put("Crystalline_Sliver", Crystalline_Sliver);
commands.put("Virulent_Sliver", Virulent_Sliver);

View File

@@ -67,7 +67,8 @@ public class PlayerZone_ComesIntoPlay extends DefaultPlayerZone {
list = list.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.getKeyword().contains("Landfall");
return c.getKeyword().contains("Landfall") ||
c.getKeyword().contains("Landfall - Whenever a land enters the battlefield under your control, CARDNAME gets +2/+2 until end of turn.");
}
});

View File

@@ -156,6 +156,7 @@ public class StaticEffects
cardToEffectsList.put("Winged Sliver", new String[] {"Winged_Sliver"});
cardToEffectsList.put("Synchronous Sliver", new String[] {"Synchronous_Sliver"});
cardToEffectsList.put("Fury Sliver", new String[] {"Fury_Sliver"});
cardToEffectsList.put("Talon Sliver", new String[] {"Talon_Sliver"});
cardToEffectsList.put("Plated Sliver", new String[] {"Plated_Sliver"});
cardToEffectsList.put("Virulent Sliver", new String[] {"Virulent_Sliver"});
cardToEffectsList.put("Sidewinder Sliver", new String[] {"Sidewinder_Sliver"});