mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Updated the equipments located in CardFactory_Equipments to include Goblin Gaveleer in the equipMagnetList.
This commit is contained in:
@@ -20,15 +20,17 @@ class CardFactory_Equipment {
|
|||||||
public static Card getCard(final Card card, String cardName, String owner) {
|
public static Card getCard(final Card card, String cardName, String owner) {
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
if(cardName.equals("Sword of the Meek")) {
|
if (cardName.equals("Sword of the Meek")) {
|
||||||
final Ability equip = new Ability(card, "2") {
|
final Ability equip = new Ability(card, "2") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -40,13 +42,13 @@ class CardFactory_Equipment {
|
|||||||
public boolean canPlay() {
|
public boolean canPlay() {
|
||||||
return AllZone.getZone(card).is(Constant.Zone.Play)
|
return AllZone.getZone(card).is(Constant.Zone.Play)
|
||||||
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
||||||
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals(
|
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals("Main2"));
|
||||||
"Main2"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return getCreature().size() != 0 && !card.isEquipping();
|
return getCreature().size() != 0
|
||||||
|
&& !card.isEquipping();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -60,23 +62,28 @@ class CardFactory_Equipment {
|
|||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.isCreature() && (!CardFactoryUtil.AI_doesCreatureAttack(c))
|
return c.isCreature()
|
||||||
|
&& CardFactoryUtil.AI_doesCreatureAttack(c)
|
||||||
&& CardFactoryUtil.canTarget(card, c)
|
&& CardFactoryUtil.canTarget(card, c)
|
||||||
&& (!c.getKeyword().contains("Defender"));
|
&& (!c.getKeyword().contains("Defender"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// list.remove(card); // if mana-only cost, allow self-target
|
|
||||||
|
|
||||||
// is there at least 1 Loxodon Punisher to target
|
// Is there at least 1 Loxodon Punisher and/or Goblin Gaveleer to target
|
||||||
|
CardList equipMagnetList = list;
|
||||||
|
equipMagnetList = equipMagnetList.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.getName().equals("Loxodon Punisher")
|
||||||
|
|| c.getName().equals("Goblin Gaveleer");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
CardList equipMagnetList = list.getName("Loxodon Punisher");
|
|
||||||
if (equipMagnetList.size() != 0) {
|
if (equipMagnetList.size() != 0) {
|
||||||
return equipMagnetList;
|
return equipMagnetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//getCreature()
|
}//getCreature()
|
||||||
|
|
||||||
};//equip ability
|
};//equip ability
|
||||||
|
|
||||||
|
|
||||||
@@ -117,19 +124,20 @@ class CardFactory_Equipment {
|
|||||||
card.addUnEquipCommand(onUnEquip);
|
card.addUnEquipCommand(onUnEquip);
|
||||||
|
|
||||||
} //*************** END ************ END **************************
|
} //*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Umbral Mantle")) {
|
else if (cardName.equals("Umbral Mantle")) {
|
||||||
final Ability equip = new Ability(card, "0") {
|
final Ability equip = new Ability(card, "0") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -147,7 +155,6 @@ class CardFactory_Equipment {
|
|||||||
Constant.Phase.Combat_Declare_Blockers_InstantAbility);
|
Constant.Phase.Combat_Declare_Blockers_InstantAbility);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return false;
|
return false;
|
||||||
@@ -218,16 +225,19 @@ class CardFactory_Equipment {
|
|||||||
card.addUnEquipCommand(onUnEquip);
|
card.addUnEquipCommand(onUnEquip);
|
||||||
} //*************** END ************ END **************************
|
} //*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Umezawa's Jitte")) {
|
else if (cardName.equals("Umezawa's Jitte")) {
|
||||||
final Ability equip = new Ability(card, "2") {
|
final Ability equip = new Ability(card, "2") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -239,13 +249,13 @@ class CardFactory_Equipment {
|
|||||||
public boolean canPlay() {
|
public boolean canPlay() {
|
||||||
return AllZone.getZone(card).is(Constant.Zone.Play)
|
return AllZone.getZone(card).is(Constant.Zone.Play)
|
||||||
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
||||||
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals(
|
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals("Main2"));
|
||||||
"Main2"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return getCreature().size() != 0 && !card.isEquipping();
|
return getCreature().size() != 0
|
||||||
|
&& !card.isEquipping();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -258,23 +268,28 @@ class CardFactory_Equipment {
|
|||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.isCreature() && (!CardFactoryUtil.AI_doesCreatureAttack(c))
|
return c.isCreature()
|
||||||
|
&& CardFactoryUtil.AI_doesCreatureAttack(c)
|
||||||
&& CardFactoryUtil.canTarget(card, c)
|
&& CardFactoryUtil.canTarget(card, c)
|
||||||
&& (!c.getKeyword().contains("Defender"));
|
&& (!c.getKeyword().contains("Defender"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// list.remove(card); // if mana-only cost, allow self-target
|
|
||||||
|
|
||||||
// is there at least 1 Loxodon Punisher to target
|
// Is there at least 1 Loxodon Punisher and/or Goblin Gaveleer to target
|
||||||
|
CardList equipMagnetList = list;
|
||||||
|
equipMagnetList = equipMagnetList.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.getName().equals("Loxodon Punisher")
|
||||||
|
|| c.getName().equals("Goblin Gaveleer");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
CardList equipMagnetList = list.getName("Loxodon Punisher");
|
|
||||||
if (equipMagnetList.size() != 0) {
|
if (equipMagnetList.size() != 0) {
|
||||||
return equipMagnetList;
|
return equipMagnetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//getCreature()
|
}//getCreature()
|
||||||
|
|
||||||
};//equip ability
|
};//equip ability
|
||||||
|
|
||||||
equip.setBeforePayMana(CardFactoryUtil.input_equipCreature(equip));
|
equip.setBeforePayMana(CardFactoryUtil.input_equipCreature(equip));
|
||||||
@@ -283,6 +298,7 @@ class CardFactory_Equipment {
|
|||||||
|
|
||||||
} //*************** END ************ END **************************
|
} //*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
if(cardName.equals("Hedron Matrix")) {
|
if(cardName.equals("Hedron Matrix")) {
|
||||||
/*
|
/*
|
||||||
@@ -293,11 +309,12 @@ class CardFactory_Equipment {
|
|||||||
//not changed
|
//not changed
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -309,15 +326,15 @@ class CardFactory_Equipment {
|
|||||||
@Override
|
@Override
|
||||||
public boolean canPlay() {
|
public boolean canPlay() {
|
||||||
return AllZone.getZone(card).is(Constant.Zone.Play)
|
return AllZone.getZone(card).is(Constant.Zone.Play)
|
||||||
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
||||||
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals(
|
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals("Main2"));
|
||||||
"Main2"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//not changed
|
//not changed
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return getCreature().size() != 0 && !card.isEquipping();
|
return getCreature().size() != 0
|
||||||
|
&& !card.isEquipping();
|
||||||
}
|
}
|
||||||
|
|
||||||
//not changed
|
//not changed
|
||||||
@@ -332,21 +349,28 @@ class CardFactory_Equipment {
|
|||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.isCreature() && (!CardFactoryUtil.AI_doesCreatureAttack(c))
|
return c.isCreature()
|
||||||
&& CardFactoryUtil.canTarget(card, c)
|
&& CardFactoryUtil.AI_doesCreatureAttack(c)
|
||||||
&& (!c.getKeyword().contains("Defender"));
|
&& CardFactoryUtil.canTarget(card, c)
|
||||||
|
&& (!c.getKeyword().contains("Defender"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Is there at least 1 Loxodon Punisher and/or Goblin Gaveleer to target
|
||||||
|
CardList equipMagnetList = list;
|
||||||
|
equipMagnetList = equipMagnetList.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.getName().equals("Loxodon Punisher")
|
||||||
|
|| c.getName().equals("Goblin Gaveleer");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// is there at least 1 Loxodon Punisher to target
|
|
||||||
CardList equipMagnetList = list.getName("Loxodon Punisher");
|
|
||||||
if (equipMagnetList.size() != 0) {
|
if (equipMagnetList.size() != 0) {
|
||||||
return equipMagnetList;
|
return equipMagnetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//getCreature()
|
}//getCreature()
|
||||||
|
|
||||||
};//equip ability
|
};//equip ability
|
||||||
|
|
||||||
|
|
||||||
@@ -389,16 +413,19 @@ class CardFactory_Equipment {
|
|||||||
|
|
||||||
} //*************** END ************ END **************************
|
} //*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Adventuring Gear")) {
|
else if (cardName.equals("Adventuring Gear")) {
|
||||||
final Ability equip = new Ability(card, "1") {
|
final Ability equip = new Ability(card, "1") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -415,7 +442,8 @@ class CardFactory_Equipment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return getCreature().size() != 0 && !card.isEquipping();
|
return getCreature().size() != 0
|
||||||
|
&& !card.isEquipping();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -428,14 +456,15 @@ class CardFactory_Equipment {
|
|||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.isCreature() && (!CardFactoryUtil.AI_doesCreatureAttack(c))
|
return c.isCreature()
|
||||||
&& CardFactoryUtil.canTarget(card, c)
|
&& CardFactoryUtil.AI_doesCreatureAttack(c)
|
||||||
&& (!c.getKeyword().contains("Defender"));
|
&& CardFactoryUtil.canTarget(card, c)
|
||||||
|
&& (!c.getKeyword().contains("Defender"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//getCreature()
|
}//getCreature()
|
||||||
|
|
||||||
};// equip ability
|
};// equip ability
|
||||||
|
|
||||||
|
|
||||||
@@ -470,17 +499,20 @@ class CardFactory_Equipment {
|
|||||||
card.addEquipCommand(onEquip);
|
card.addEquipCommand(onEquip);
|
||||||
card.addUnEquipCommand(onUnEquip);
|
card.addUnEquipCommand(onUnEquip);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
|
||||||
else if(cardName.equals("Sword of Fire and Ice")) {
|
//*************** START *********** START **************************
|
||||||
|
else if (cardName.equals("Sword of Fire and Ice")) {
|
||||||
final Ability equip = new Ability(card, "2") {
|
final Ability equip = new Ability(card, "2") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -492,13 +524,13 @@ class CardFactory_Equipment {
|
|||||||
public boolean canPlay() {
|
public boolean canPlay() {
|
||||||
return AllZone.getZone(card).is(Constant.Zone.Play)
|
return AllZone.getZone(card).is(Constant.Zone.Play)
|
||||||
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
||||||
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals(
|
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals("Main2"));
|
||||||
"Main2"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return getCreature().size() != 0 && !card.isEquipping();
|
return getCreature().size() != 0
|
||||||
|
&& !card.isEquipping();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -511,24 +543,28 @@ class CardFactory_Equipment {
|
|||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.isCreature() && (!CardFactoryUtil.AI_doesCreatureAttack(c))
|
return c.isCreature()
|
||||||
|
&& CardFactoryUtil.AI_doesCreatureAttack(c)
|
||||||
&& CardFactoryUtil.canTarget(card, c)
|
&& CardFactoryUtil.canTarget(card, c)
|
||||||
&& (!c.getKeyword().contains("Defender"));
|
&& (!c.getKeyword().contains("Defender"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// list.remove(card); // if mana-only cost, allow self-target
|
|
||||||
|
|
||||||
// is there at least 1 Loxodon Punisher to target
|
// Is there at least 1 Loxodon Punisher and/or Goblin Gaveleer to target
|
||||||
|
CardList equipMagnetList = list;
|
||||||
|
equipMagnetList = equipMagnetList.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.getName().equals("Loxodon Punisher")
|
||||||
|
|| c.getName().equals("Goblin Gaveleer");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
CardList equipMagnetList = list.getName("Loxodon Punisher");
|
|
||||||
if (equipMagnetList.size() != 0) {
|
if (equipMagnetList.size() != 0) {
|
||||||
return equipMagnetList;
|
return equipMagnetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//getCreature()
|
}//getCreature()
|
||||||
|
|
||||||
|
|
||||||
};//equip ability
|
};//equip ability
|
||||||
|
|
||||||
Command onEquip = new Command() {
|
Command onEquip = new Command() {
|
||||||
@@ -571,16 +607,19 @@ class CardFactory_Equipment {
|
|||||||
|
|
||||||
} //*************** END ************ END **************************
|
} //*************** END ************ END **************************
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
|
||||||
else if(cardName.equals("Sword of Light and Shadow")) {
|
//*************** START *********** START **************************
|
||||||
|
else if (cardName.equals("Sword of Light and Shadow")) {
|
||||||
final Ability equip = new Ability(card, "2") {
|
final Ability equip = new Ability(card, "2") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -592,13 +631,13 @@ class CardFactory_Equipment {
|
|||||||
public boolean canPlay() {
|
public boolean canPlay() {
|
||||||
return AllZone.getZone(card).is(Constant.Zone.Play)
|
return AllZone.getZone(card).is(Constant.Zone.Play)
|
||||||
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
||||||
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals(
|
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals("Main2"));
|
||||||
"Main2"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return getCreature().size() != 0 && !card.isEquipping();
|
return getCreature().size() != 0
|
||||||
|
&& !card.isEquipping();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -611,24 +650,28 @@ class CardFactory_Equipment {
|
|||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.isCreature() && (!CardFactoryUtil.AI_doesCreatureAttack(c))
|
return c.isCreature()
|
||||||
|
&& CardFactoryUtil.AI_doesCreatureAttack(c)
|
||||||
&& CardFactoryUtil.canTarget(card, c)
|
&& CardFactoryUtil.canTarget(card, c)
|
||||||
&& (!c.getKeyword().contains("Defender"));
|
&& (!c.getKeyword().contains("Defender"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// list.remove(card); // if mana-only cost, allow self-target
|
|
||||||
|
|
||||||
// is there at least 1 Loxodon Punisher to target
|
// Is there at least 1 Loxodon Punisher and/or Goblin Gaveleer to target
|
||||||
|
CardList equipMagnetList = list;
|
||||||
|
equipMagnetList = equipMagnetList.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.getName().equals("Loxodon Punisher")
|
||||||
|
|| c.getName().equals("Goblin Gaveleer");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
CardList equipMagnetList = list.getName("Loxodon Punisher");
|
|
||||||
if (equipMagnetList.size() != 0) {
|
if (equipMagnetList.size() != 0) {
|
||||||
return equipMagnetList;
|
return equipMagnetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//getCreature()
|
}//getCreature()
|
||||||
|
|
||||||
|
|
||||||
};//equip ability
|
};//equip ability
|
||||||
|
|
||||||
Command onEquip = new Command() {
|
Command onEquip = new Command() {
|
||||||
@@ -672,16 +715,18 @@ class CardFactory_Equipment {
|
|||||||
} //*************** END ************ END **************************
|
} //*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
//*************** START *********** START **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Sword of Body and Mind")) {
|
else if (cardName.equals("Sword of Body and Mind")) {
|
||||||
final Ability equip = new Ability(card, "2") {
|
final Ability equip = new Ability(card, "2") {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if(AllZone.GameAction.isCardInPlay(getTargetCard())
|
if (AllZone.GameAction.isCardInPlay(getTargetCard())
|
||||||
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
|
||||||
if(card.isEquipping()) {
|
|
||||||
|
if (card.isEquipping()) {
|
||||||
Card crd = card.getEquipping().get(0);
|
Card crd = card.getEquipping().get(0);
|
||||||
if(crd.equals(getTargetCard())) return;
|
if (crd.equals(getTargetCard())) return;
|
||||||
|
|
||||||
card.unEquipCard(crd);
|
card.unEquipCard(crd);
|
||||||
}
|
}
|
||||||
@@ -693,13 +738,13 @@ class CardFactory_Equipment {
|
|||||||
public boolean canPlay() {
|
public boolean canPlay() {
|
||||||
return AllZone.getZone(card).is(Constant.Zone.Play)
|
return AllZone.getZone(card).is(Constant.Zone.Play)
|
||||||
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
&& AllZone.Phase.getActivePlayer().equals(card.getController())
|
||||||
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals(
|
&& (AllZone.Phase.getPhase().equals("Main1") || AllZone.Phase.getPhase().equals("Main2"));
|
||||||
"Main2"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canPlayAI() {
|
public boolean canPlayAI() {
|
||||||
return getCreature().size() != 0 && !card.isEquipping();
|
return getCreature().size() != 0
|
||||||
|
&& !card.isEquipping();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -712,24 +757,28 @@ class CardFactory_Equipment {
|
|||||||
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
CardList list = new CardList(AllZone.Computer_Play.getCards());
|
||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.isCreature() && (!CardFactoryUtil.AI_doesCreatureAttack(c))
|
return c.isCreature()
|
||||||
|
&& CardFactoryUtil.AI_doesCreatureAttack(c)
|
||||||
&& CardFactoryUtil.canTarget(card, c)
|
&& CardFactoryUtil.canTarget(card, c)
|
||||||
&& (!c.getKeyword().contains("Defender"));
|
&& (!c.getKeyword().contains("Defender"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// list.remove(card); // if mana-only cost, allow self-target
|
|
||||||
|
|
||||||
// is there at least 1 Loxodon Punisher to target
|
// Is there at least 1 Loxodon Punisher and/or Goblin Gaveleer to target
|
||||||
|
CardList equipMagnetList = list;
|
||||||
|
equipMagnetList = equipMagnetList.filter(new CardListFilter() {
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.getName().equals("Loxodon Punisher")
|
||||||
|
|| c.getName().equals("Goblin Gaveleer");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
CardList equipMagnetList = list.getName("Loxodon Punisher");
|
|
||||||
if (equipMagnetList.size() != 0) {
|
if (equipMagnetList.size() != 0) {
|
||||||
return equipMagnetList;
|
return equipMagnetList;
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}//getCreature()
|
}//getCreature()
|
||||||
|
|
||||||
|
|
||||||
};//equip ability
|
};//equip ability
|
||||||
|
|
||||||
Command onEquip = new Command() {
|
Command onEquip = new Command() {
|
||||||
|
|||||||
Reference in New Issue
Block a user