mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
added Soul's Attendant from Rise of the Eldrazi (identical to Soul Warden)
This commit is contained in:
@@ -38,6 +38,7 @@ snow_covered_mountain.jpg http://www.wizards.com/global/images/magic/gene
|
|||||||
snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg
|
snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg
|
||||||
snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
||||||
snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
|
||||||
|
souls_attendant.jpg http://www.wizards.com/global/images/magic/general/souls_attendant.jpg
|
||||||
lighthouse_chronologist.jpg http://www.wizards.com/global/images/magic/general/lighthouse_chronologist.jpg
|
lighthouse_chronologist.jpg http://www.wizards.com/global/images/magic/general/lighthouse_chronologist.jpg
|
||||||
transcendent_master.jpg http://www.wizards.com/global/images/magic/general/transcendent_master.jpg
|
transcendent_master.jpg http://www.wizards.com/global/images/magic/general/transcendent_master.jpg
|
||||||
student_of_warfare.jpg http://www.wizards.com/global/images/magic/general/student_of_warfare.jpg
|
student_of_warfare.jpg http://www.wizards.com/global/images/magic/general/student_of_warfare.jpg
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
Soul's Attendant
|
||||||
|
W
|
||||||
|
Creature Human Cleric
|
||||||
|
Whenever another creature comes into play, you gain 1 life.
|
||||||
|
1/1
|
||||||
|
|
||||||
Kazandu Tuskcaller
|
Kazandu Tuskcaller
|
||||||
1 G
|
1 G
|
||||||
Creature Human Shaman
|
Creature Human Shaman
|
||||||
|
|||||||
@@ -7354,6 +7354,7 @@ public class GameActionUtil {
|
|||||||
|
|
||||||
Essence_Warden.execute();
|
Essence_Warden.execute();
|
||||||
Soul_Warden.execute();
|
Soul_Warden.execute();
|
||||||
|
Souls_Attendant.execute();
|
||||||
Wirewood_Hivemaster.execute();
|
Wirewood_Hivemaster.execute();
|
||||||
|
|
||||||
Sacrifice_NoIslands.execute();
|
Sacrifice_NoIslands.execute();
|
||||||
@@ -9707,6 +9708,87 @@ public class GameActionUtil {
|
|||||||
old = current;
|
old = current;
|
||||||
}// execute()
|
}// execute()
|
||||||
}; // soul warden
|
}; // soul warden
|
||||||
|
|
||||||
|
public static Command Souls_Attendant = new Command() {
|
||||||
|
private static final long serialVersionUID = -472504539729742971L;
|
||||||
|
// Hold old creatures
|
||||||
|
CardList old = new CardList(); // Hold old Soul Wardens
|
||||||
|
CardList soul = new CardList();
|
||||||
|
|
||||||
|
public void execute() {
|
||||||
|
// get all creatures
|
||||||
|
CardList current = new CardList();
|
||||||
|
current.addAll(AllZone.Human_Play.getCards());
|
||||||
|
current.addAll(AllZone.Computer_Play.getCards());
|
||||||
|
//current = current.getType("Creature");
|
||||||
|
|
||||||
|
final ArrayList<String> list = CardFactoryUtil.getCreatureLandNames();
|
||||||
|
|
||||||
|
current = current.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.isCreature()
|
||||||
|
&& !list.contains(c.getName());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Holds Soul Warden's in play
|
||||||
|
CardList wardenList = current.getName("Soul's Attendant");
|
||||||
|
|
||||||
|
// Holds Soul Warden's that are new to play
|
||||||
|
CardList newWarden = new CardList();
|
||||||
|
|
||||||
|
// Go through the list of Soul Warden's in play
|
||||||
|
for(int i = 0; i < wardenList.size(); i++) {
|
||||||
|
Card c = wardenList.get(i);
|
||||||
|
|
||||||
|
// Check to see which Soul Warden's in play are new
|
||||||
|
if(!soul.contains(c)) {
|
||||||
|
newWarden.add(c);
|
||||||
|
wardenList.remove(c);
|
||||||
|
i -= 1; // Must do as a card was just removed
|
||||||
|
}
|
||||||
|
|
||||||
|
current.remove(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int outer = 0; outer < wardenList.size(); outer++) {
|
||||||
|
// Gain life for new creatures in play - excluding any new Soul
|
||||||
|
// Wardens
|
||||||
|
final int[] n = new int[1];
|
||||||
|
for(int i = 0; i < current.size(); i++) {
|
||||||
|
if(!old.contains(current.getCard(i))) {
|
||||||
|
n[0]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Gain life for new Soul's Attendants
|
||||||
|
n[0] += newWarden.size();
|
||||||
|
|
||||||
|
final PlayerLife life = AllZone.GameAction.getPlayerLife(wardenList.get(
|
||||||
|
outer).getController());
|
||||||
|
SpellAbility ability = new Ability(new Card(),
|
||||||
|
"0") {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
life.addLife(n[0]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
ability.setStackDescription(wardenList.get(outer).getName()
|
||||||
|
+ " - "
|
||||||
|
+ wardenList.get(outer).getController()
|
||||||
|
+ " gains " + n[0] + " life");
|
||||||
|
|
||||||
|
if(n[0] != 0) {
|
||||||
|
AllZone.Stack.push(ability);
|
||||||
|
}
|
||||||
|
}// outer for
|
||||||
|
|
||||||
|
soul = wardenList;
|
||||||
|
soul.addAll(newWarden.toArray());
|
||||||
|
old = current;
|
||||||
|
}// execute()
|
||||||
|
}; // soul's Attendant
|
||||||
|
|
||||||
public static Command Wirewood_Hivemaster = new Command() {
|
public static Command Wirewood_Hivemaster = new Command() {
|
||||||
private static final long serialVersionUID = -6440532066018273862L;
|
private static final long serialVersionUID = -6440532066018273862L;
|
||||||
|
|||||||
Reference in New Issue
Block a user