mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Fixed Spellbombs.
- Added Mind Twist.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
Mind Twist
|
||||||
|
X B
|
||||||
|
Sorcery
|
||||||
|
Target player discards X cards at random.
|
||||||
|
|
||||||
Icy Manipulator
|
Icy Manipulator
|
||||||
4
|
4
|
||||||
Artifact
|
Artifact
|
||||||
|
|||||||
@@ -3259,7 +3259,7 @@ public class CardFactory implements NewConstants {
|
|||||||
|
|
||||||
}//while shouldModular
|
}//while shouldModular
|
||||||
|
|
||||||
if(hasKeyword(card, "1, Sacrifice CARNAME: Draw a card.") != -1) {
|
if(hasKeyword(card, "1, Sacrifice CARDNAME: Draw a card.") != -1) {
|
||||||
int n = hasKeyword(card, "1, Sacrifice CARDNAME: Draw a card.");
|
int n = hasKeyword(card, "1, Sacrifice CARDNAME: Draw a card.");
|
||||||
if(n != -1) {
|
if(n != -1) {
|
||||||
String parse = card.getKeyword().get(n).toString();
|
String parse = card.getKeyword().get(n).toString();
|
||||||
@@ -17635,6 +17635,31 @@ public class CardFactory implements NewConstants {
|
|||||||
//****************END*******END***********************
|
//****************END*******END***********************
|
||||||
|
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
if(cardName.equals("Mind Twist")) {
|
||||||
|
final SpellAbility spell = new Spell(card) {
|
||||||
|
private static final long serialVersionUID = 42470566751344693L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canPlayAI() {
|
||||||
|
return AllZone.Human_Hand.size() > 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
String target = getTargetPlayer();
|
||||||
|
for (int i =0; i<card.getXManaCostPaid();i++)
|
||||||
|
AllZone.GameAction.discardRandom(target);
|
||||||
|
}
|
||||||
|
};//SpellAbility
|
||||||
|
spell.setChooseTargetAI(CardFactoryUtil.AI_targetHuman());
|
||||||
|
spell.setBeforePayMana(CardFactoryUtil.input_targetPlayer(spell));
|
||||||
|
|
||||||
|
card.clearSpellAbility();
|
||||||
|
card.addSpellAbility(spell);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
// Cards with Cycling abilities
|
// Cards with Cycling abilities
|
||||||
// -1 means keyword "Cycling" not found
|
// -1 means keyword "Cycling" not found
|
||||||
if(hasKeyword(card, "Cycling") != -1) {
|
if(hasKeyword(card, "Cycling") != -1) {
|
||||||
|
|||||||
@@ -85,9 +85,9 @@ public class GameActionUtil {
|
|||||||
upkeep_Blaze_Counters();
|
upkeep_Blaze_Counters();
|
||||||
upkeep_Dark_Confidant(); // keep this one semi-last
|
upkeep_Dark_Confidant(); // keep this one semi-last
|
||||||
|
|
||||||
|
upkeep_BlackVise();
|
||||||
upkeep_Ivory_Tower();
|
upkeep_Ivory_Tower();
|
||||||
upkeep_BlackVice(); // keep this one last, since it happens at the end
|
|
||||||
// of the upkeep.
|
|
||||||
upkeep_Howling_Mine(); // keep this one even laster, since it would
|
upkeep_Howling_Mine(); // keep this one even laster, since it would
|
||||||
// cause black vise to do an extra point of
|
// cause black vise to do an extra point of
|
||||||
// damage if black vise was in play
|
// damage if black vise was in play
|
||||||
@@ -3475,6 +3475,8 @@ public class GameActionUtil {
|
|||||||
AllZone.Stack.add(ability);
|
AllZone.Stack.add(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AllZone.GameAction.checkStateEffects();
|
||||||
|
|
||||||
}//landfall_Bloodghast
|
}//landfall_Bloodghast
|
||||||
|
|
||||||
private static void landfall_Avenger_of_Zendikar(Card c) {
|
private static void landfall_Avenger_of_Zendikar(Card c) {
|
||||||
@@ -5711,7 +5713,7 @@ public class GameActionUtil {
|
|||||||
// upkeep in MTG forge.
|
// upkeep in MTG forge.
|
||||||
// So Black Vise's effects happen at the beginning of the upkeep instead of
|
// So Black Vise's effects happen at the beginning of the upkeep instead of
|
||||||
// at the end.
|
// at the end.
|
||||||
private static void upkeep_BlackVice() {
|
private static void upkeep_BlackVise() {
|
||||||
// sanity check. If a player has <= 4 cards black vise does nothing.
|
// sanity check. If a player has <= 4 cards black vise does nothing.
|
||||||
final String player = AllZone.Phase.getActivePlayer();
|
final String player = AllZone.Phase.getActivePlayer();
|
||||||
final int playerHandSize = AllZone.getZone(Constant.Zone.Hand, player).size();
|
final int playerHandSize = AllZone.getZone(Constant.Zone.Hand, player).size();
|
||||||
|
|||||||
@@ -217,6 +217,15 @@ public class GenerateConstructedDeck
|
|||||||
remove.add("Solidarity");
|
remove.add("Solidarity");
|
||||||
remove.add("Steadfastness");
|
remove.add("Steadfastness");
|
||||||
remove.add("Tortoise Formation");
|
remove.add("Tortoise Formation");
|
||||||
|
remove.add("Icy Manipulator");
|
||||||
|
|
||||||
|
remove.add("Fog");
|
||||||
|
remove.add("Holy Day");
|
||||||
|
remove.add("Respite");
|
||||||
|
remove.add("Moment's Peace");
|
||||||
|
remove.add("Lull");
|
||||||
|
remove.add("Angelsong");
|
||||||
|
remove.add("Darkness");
|
||||||
|
|
||||||
//manapool stuff:
|
//manapool stuff:
|
||||||
remove.add("Dark Ritual");
|
remove.add("Dark Ritual");
|
||||||
|
|||||||
Reference in New Issue
Block a user