mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
- 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:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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"});
|
||||
|
||||
Reference in New Issue
Block a user