mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
- Added Dream Chisel and Exiled Doomsayer
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -2913,6 +2913,7 @@ res/cardsfolder/d/dreadship_reef.txt svneol=native#text/plain
|
|||||||
res/cardsfolder/d/dreadwaters.txt -text
|
res/cardsfolder/d/dreadwaters.txt -text
|
||||||
res/cardsfolder/d/dreadwing.txt svneol=native#text/plain
|
res/cardsfolder/d/dreadwing.txt svneol=native#text/plain
|
||||||
res/cardsfolder/d/dream_cache.txt svneol=native#text/plain
|
res/cardsfolder/d/dream_cache.txt svneol=native#text/plain
|
||||||
|
res/cardsfolder/d/dream_chisel.txt -text
|
||||||
res/cardsfolder/d/dream_coat.txt -text svneol=unset#text/plain
|
res/cardsfolder/d/dream_coat.txt -text svneol=unset#text/plain
|
||||||
res/cardsfolder/d/dream_fighter.txt -text
|
res/cardsfolder/d/dream_fighter.txt -text
|
||||||
res/cardsfolder/d/dream_fracture.txt svneol=native#text/plain
|
res/cardsfolder/d/dream_fracture.txt svneol=native#text/plain
|
||||||
@@ -3445,6 +3446,7 @@ res/cardsfolder/e/exhumer_thrull.txt -text
|
|||||||
res/cardsfolder/e/exile.txt svneol=native#text/plain
|
res/cardsfolder/e/exile.txt svneol=native#text/plain
|
||||||
res/cardsfolder/e/exile_into_darkness.txt svneol=native#text/plain
|
res/cardsfolder/e/exile_into_darkness.txt svneol=native#text/plain
|
||||||
res/cardsfolder/e/exiled_boggart.txt svneol=native#text/plain
|
res/cardsfolder/e/exiled_boggart.txt svneol=native#text/plain
|
||||||
|
res/cardsfolder/e/exiled_doomsayer.txt -text
|
||||||
res/cardsfolder/e/exorcist.txt svneol=native#text/plain
|
res/cardsfolder/e/exorcist.txt svneol=native#text/plain
|
||||||
res/cardsfolder/e/exoskeletal_armor.txt svneol=native#text/plain
|
res/cardsfolder/e/exoskeletal_armor.txt svneol=native#text/plain
|
||||||
res/cardsfolder/e/exotic_curse.txt svneol=native#text/plain
|
res/cardsfolder/e/exotic_curse.txt svneol=native#text/plain
|
||||||
|
|||||||
7
res/cardsfolder/d/dream_chisel.txt
Normal file
7
res/cardsfolder/d/dream_chisel.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Name:Dream Chisel
|
||||||
|
ManaCost:2
|
||||||
|
Types:Artifact
|
||||||
|
S:Mode$ ReduceCost | ValidCard$ Creature | Type$ MorphDown | Activator$ You | Amount$ 1 | Description$ Face-down creature spells you cast cost 1 less to cast.
|
||||||
|
SVar:RemRandomDeck:True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/dream_chisel.jpg
|
||||||
|
Oracle:Face-down creature spells you cast cost {1} less to cast.
|
||||||
8
res/cardsfolder/e/exiled_doomsayer.txt
Normal file
8
res/cardsfolder/e/exiled_doomsayer.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Name:Exiled Doomsayer
|
||||||
|
ManaCost:1 W
|
||||||
|
Types:Creature Human Cleric
|
||||||
|
PT:1/2
|
||||||
|
S:Mode$ RaiseCost | ValidCard$ Creature.faceDown | Type$ MorphUp | Amount$ 2 | Description$ All morph costs cost 2 more. (This doesn't affect the cost to cast creature spells face down.)
|
||||||
|
SVar:RemRandomDeck:True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/exiled_doomsayer.jpg
|
||||||
|
Oracle:All morph costs cost {2} more. (This doesn't affect the cost to cast creature spells face down.)
|
||||||
@@ -233,6 +233,7 @@ public class CardFactoryUtil {
|
|||||||
final StringBuilder sbStack = new StringBuilder();
|
final StringBuilder sbStack = new StringBuilder();
|
||||||
sbStack.append(sourceCard.getName()).append(" - turn this card face up.");
|
sbStack.append(sourceCard.getName()).append(" - turn this card face up.");
|
||||||
morphUp.setStackDescription(sbStack.toString());
|
morphUp.setStackDescription(sbStack.toString());
|
||||||
|
morphUp.setIsMorphUp(true);
|
||||||
|
|
||||||
return morphUp;
|
return morphUp;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ public abstract class SpellAbility implements ISpellAbility {
|
|||||||
private boolean cycling = false;
|
private boolean cycling = false;
|
||||||
private boolean delve = false;
|
private boolean delve = false;
|
||||||
private boolean offering = false;
|
private boolean offering = false;
|
||||||
|
private boolean morphup = false;
|
||||||
|
|
||||||
private Card targetCard;
|
private Card targetCard;
|
||||||
/** The chosen target. */
|
/** The chosen target. */
|
||||||
@@ -330,6 +331,28 @@ public abstract class SpellAbility implements ISpellAbility {
|
|||||||
return this.replicate;
|
return this.replicate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* setIsMorphUp.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param b
|
||||||
|
* a boolean.
|
||||||
|
*/
|
||||||
|
public final void setIsMorphUp(final boolean b) {
|
||||||
|
this.morphup = b;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* isMorphUp.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @return a boolean.
|
||||||
|
*/
|
||||||
|
public boolean isMorphUp() {
|
||||||
|
return this.morphup;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import forge.card.cardfactory.CardFactoryUtil;
|
|||||||
import forge.card.mana.ManaCostBeingPaid;
|
import forge.card.mana.ManaCostBeingPaid;
|
||||||
import forge.card.mana.ManaCostShard;
|
import forge.card.mana.ManaCostShard;
|
||||||
import forge.card.spellability.AbilityActivated;
|
import forge.card.spellability.AbilityActivated;
|
||||||
|
import forge.card.spellability.Spell;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
import forge.card.spellability.Target;
|
import forge.card.spellability.Target;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -73,13 +74,17 @@ public class StaticAbilityCostChange {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (params.get("Type").equals("NonManaAbility")) {
|
} else if (params.get("Type").equals("NonManaAbility")) {
|
||||||
if (!(sa instanceof AbilityActivated) || sa.isManaAbility()) {
|
if (!(sa instanceof AbilityActivated) || sa.isManaAbility()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (params.get("Type").equals("Flashback")) {
|
} else if (params.get("Type").equals("Flashback")) {
|
||||||
if (!sa.isFlashBackAbility()) {
|
if (!sa.isFlashBackAbility()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} else if (params.get("Type").equals("MorphUp")) {
|
||||||
|
if (!sa.isMorphUp()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (params.containsKey("AffectedZone") && !card.isInZone(ZoneType.smartValueOf(params.get("AffectedZone")))) {
|
if (params.containsKey("AffectedZone") && !card.isInZone(ZoneType.smartValueOf(params.get("AffectedZone")))) {
|
||||||
@@ -211,6 +216,10 @@ public class StaticAbilityCostChange {
|
|||||||
if (!sa.isFlashBackAbility()) {
|
if (!sa.isFlashBackAbility()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} else if (params.get("Type").equals("MorphDown")) {
|
||||||
|
if (!sa.isSpell() || !((Spell) sa).isCastFaceDown()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (params.containsKey("ValidTarget")) {
|
if (params.containsKey("ValidTarget")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user