mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
- Added Mangara's Tome
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -7555,6 +7555,7 @@ forge-gui/res/cardsfolder/m/manaweft_sliver.txt -text
|
||||
forge-gui/res/cardsfolder/m/mangara_of_corondor.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/m/mangaras_blessing.txt -text
|
||||
forge-gui/res/cardsfolder/m/mangaras_equity.txt -text
|
||||
forge-gui/res/cardsfolder/m/mangaras_tome.txt -text
|
||||
forge-gui/res/cardsfolder/m/maniacal_rage.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/m/manic_vandal.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/m/manipulate_fate.txt svneol=native#text/plain
|
||||
|
||||
@@ -102,8 +102,10 @@ public class GameAction {
|
||||
* @return a {@link forge.game.card.Card} object.
|
||||
*/
|
||||
public Card changeZone(final Zone zoneFrom, Zone zoneTo, final Card c, Integer position) {
|
||||
if (c.isCopiedSpell()) {
|
||||
if ((zoneFrom != null)) {
|
||||
if (c.isCopiedSpell() || (c.isImmutable() && zoneTo.is(ZoneType.Exile))) {
|
||||
// Remove Effect from command immediately, this is essential when some replacement
|
||||
// effects happen during the resolving of a spellability ("the next time ..." effect)
|
||||
if (zoneFrom != null) {
|
||||
zoneFrom.remove(c);
|
||||
}
|
||||
return c;
|
||||
|
||||
@@ -173,6 +173,11 @@ public class AbilityUtils {
|
||||
cards.add(game.getCardState((Card) o));
|
||||
}
|
||||
}
|
||||
} else if (defined.equals("FirstRemembered")) {
|
||||
Object o = Iterables.getFirst(hostCard.getRemembered(), null);
|
||||
if (o != null && o instanceof Card) {
|
||||
cards.add(game.getCardState((Card) o));
|
||||
}
|
||||
} else if (defined.equals("Clones")) {
|
||||
for (final Card clone : hostCard.getClones()) {
|
||||
cards.add(game.getCardState(clone));
|
||||
|
||||
@@ -757,7 +757,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
totcmc -= c.getCMC();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (sa.hasParam("ShuffleChangedPile")) {
|
||||
CardLists.shuffle(chosenCards);
|
||||
}
|
||||
|
||||
List<Card> movedCards = new ArrayList<Card>();
|
||||
long ts = game.getNextTimestamp();
|
||||
for(Card c : chosenCards) {
|
||||
|
||||
@@ -71,8 +71,8 @@ public class DebuffEffect extends SpellAbilityEffect {
|
||||
}
|
||||
tgtC.removeIntrinsicKeyword(kw);
|
||||
tgtC.removeAllExtrinsicKeyword(kw);
|
||||
tgtC.addChangedCardKeywords(new ArrayList<String>(), kws, false, timestamp);
|
||||
}
|
||||
tgtC.addChangedCardKeywords(new ArrayList<String>(), kws, false, timestamp);
|
||||
}
|
||||
if (!sa.hasParam("Permanent")) {
|
||||
game.getEndOfTurn().addUntil(new GameCommand() {
|
||||
|
||||
@@ -1864,13 +1864,14 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
if (o instanceof Card) {
|
||||
final Card c = (Card) o;
|
||||
if (c.isFaceDown()) {
|
||||
sb.append("Face Down ");
|
||||
sb.append("Face Down");
|
||||
// face-down cards don't show unique number to avoid cheating
|
||||
} else {
|
||||
sb.append(c.getName());
|
||||
sb.append(" (");
|
||||
sb.append(c.getUniqueNumber());
|
||||
sb.append(")");
|
||||
}
|
||||
sb.append("(");
|
||||
sb.append(c.getUniqueNumber());
|
||||
sb.append(")");
|
||||
} else if (o != null) {
|
||||
sb.append(o.toString());
|
||||
}
|
||||
|
||||
18
forge-gui/res/cardsfolder/m/mangaras_tome.txt
Normal file
18
forge-gui/res/cardsfolder/m/mangaras_tome.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Name:Mangara's Tome
|
||||
ManaCost:5
|
||||
Types:Artifact
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSearch | TriggerDescription$ When CARDNAME enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library.
|
||||
SVar:TrigSearch:AB$ ChangeZone | Cost$ 0 | ChangeNum$ 5 | ChangeType$ Card | Origin$ Library | Destination$ Exile | ShuffleChangedPile$ True | ExileFaceDown$ True | RememberChanged$ True
|
||||
T:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Exile | Destination$ Any | Static$ True | Execute$ TrigForget
|
||||
SVar:TrigForget:DB$ Pump | ForgetObjects$ TriggeredCard
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReset | Static$ True
|
||||
SVar:TrigReset:DB$ Cleanup | ClearRemembered$ True
|
||||
A:AB$ Effect | Cost$ 2 | RememberObjects$ FirstRemembered | Triggers$ TrigLeavePlay | ReplacementEffects$ DrawReplace | SVars$ ExileEffect,RepMangarasTome | ImprintCards$ Self | SpellDescription$ The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand.
|
||||
SVar:DrawReplace:Event$ Draw | ValidPlayer$ You | ReplaceWith$ RepMangarasTome | Description$ The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand.
|
||||
SVar:TrigLeavePlay:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ ExileEffect | Static$ True
|
||||
SVar:RepMangarasTome:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Hand | SubAbility$ ExileEffect
|
||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
||||
SVar:RemAIDeck:True
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/mangaras_tome.jpg
|
||||
Oracle:When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library.\n{2}: The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand.
|
||||
Reference in New Issue
Block a user