Merge pull request #657 from kevlahnota/master

Aluren & Omniscience
This commit is contained in:
Anthony Calosa
2015-11-07 19:40:53 +08:00
4 changed files with 50 additions and 33 deletions
@@ -2405,6 +2405,14 @@ mana={1}{B}{S(creature|mybattlefield)}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Aluren
auto=lord(creature[manacost<=3]|hand,exile,graveyard) zerocast forcedalive
auto=lord(creature[manacost<=3]|hand,exile,graveyard) spellmastery forcedalive
text=Any player may play creature cards with converted mana cost 3 or less without paying their mana cost and as though they had flash.
mana={2}{G}{G}
type=Enchantment
[/card]
[card]
name=Amass the Components name=Amass the Components
auto=draw:3 controller auto=draw:3 controller
auto=bottomoflibrary notatarget(*|myhand) auto=bottomoflibrary notatarget(*|myhand)
@@ -69047,6 +69055,13 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Omniscience
auto=lord(*[-land]|myhand) zerocast forcedalive
text=You may cast nonland cards from your hand without paying their mana costs.
mana={7}{U}{U}{U}
type=Enchantment
[/card]
[card]
name=Ondu Cleric name=Ondu Cleric
auto=may life:type:ally:mybattlefield controller auto=may life:type:ally:mybattlefield controller
auto=@movedTo(other ally|myBattlefield):may life:type:ally:mybattlefield controller auto=@movedTo(other ally|myBattlefield):may life:type:ally:mybattlefield controller
@@ -224,12 +224,6 @@ mana={1}{U}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Aluren
text=Any player may play creature cards with converted mana cost 3 or less without paying their mana cost and as though they had flash.
mana={2}{G}{G}
type=Enchantment
[/card]
[card]
name=Amber Prison name=Amber Prison
text=You may choose not to untap Amber Prison during your untap step. -- {4}, {T}: Tap target artifact, creature, or land. That permanent doesn't untap during its controller's untap step for as long as Amber Prison remains tapped. text=You may choose not to untap Amber Prison during your untap step. -- {4}, {T}: Tap target artifact, creature, or land. That permanent doesn't untap during its controller's untap step for as long as Amber Prison remains tapped.
mana={4} mana={4}
@@ -3954,6 +3948,7 @@ subtype=Djinn
power=3 power=3
toughness=5 toughness=5
[/card] [/card]
#needs alias borderline
[card] [card]
name=Djinn of Wishes name=Djinn of Wishes
text=Flying -- Djinn of Wishes enters the battlefield with three wish counters on it. -- {2}{U}{U}, Remove a wish counter from Djinn of Wishes: Reveal the top card of your library. You may play that card without paying its mana cost. If you don't, exile it. text=Flying -- Djinn of Wishes enters the battlefield with three wish counters on it. -- {2}{U}{U}, Remove a wish counter from Djinn of Wishes: Reveal the top card of your library. You may play that card without paying its mana cost. If you don't, exile it.
@@ -8742,6 +8737,7 @@ text=Look at the top five cards of your library. You may reveal any number of cr
mana={2}{G} mana={2}{G}
type=Sorcery type=Sorcery
[/card] [/card]
#needs alias borderline
[card] [card]
name=Leaf-Crowned Elder name=Leaf-Crowned Elder
text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Leaf-Crowned Elder, you may reveal it. If you do, you may play that card without paying its mana cost. text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Leaf-Crowned Elder, you may reveal it. If you do, you may play that card without paying its mana cost.
@@ -9863,6 +9859,7 @@ text=Each opponent reveals cards from the top of his or her library until he or
mana={X}{U}{B} mana={X}{U}{B}
type=Sorcery type=Sorcery
[/card] [/card]
#needs alias
[card] [card]
name=Mind's Desire name=Mind's Desire
text=Shuffle your library. Then exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.) -- Storm (When you cast this spell, copy it for each spell cast before it this turn.) text=Shuffle your library. Then exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.) -- Storm (When you cast this spell, copy it for each spell cast before it this turn.)
@@ -11075,6 +11072,7 @@ text=Look at the top three cards of your library, then put them back in any orde
mana={1}{U} mana={1}{U}
type=Sorcery type=Sorcery
[/card] [/card]
#needs alias
[card] [card]
name=Omen Machine name=Omen Machine
mana={6} mana={6}
+8 -8
View File
@@ -298,15 +298,15 @@ public:
class MTGDredgeRule: public PermanentAbility, public ReplacementEffect class MTGDredgeRule: public PermanentAbility, public ReplacementEffect
{ {
public: public:
vector<MTGCardInstance*>soulbonders; //vector<MTGCardInstance*>soulbonders;
TargetChooser * tcb; TargetChooser * tcb;
MTGAbility * dredgeAbility; //MTGAbility * dredgeAbility;
MTGAbility * targetAbility; //MTGAbility * targetAbility;
MTGAbility * targetAbilityAdder; //MTGAbility * targetAbilityAdder;
MTGAbility * targetAbility1; //MTGAbility * targetAbility1;
MTGAbility * mod; //MTGAbility * mod;
MTGAbility * activateDredge; //MTGAbility * activateDredge;
vector<MTGAbility*>pairing; //vector<MTGAbility*>pairing;
MTGDredgeRule(GameObserver* observer, int _id); MTGDredgeRule(GameObserver* observer, int _id);
WEvent * replace(WEvent *e); WEvent * replace(WEvent *e);
virtual ostream& toString(ostream& out) const; virtual ostream& toString(ostream& out) const;
+23 -19
View File
@@ -1189,6 +1189,10 @@ int MTGPayZeroRule::reactToClick(MTGCardInstance * card)
return 0; return 0;
ManaCost * cost = NEW ManaCost(ManaCost::parseManaCost("{0}",NULL,NULL)); ManaCost * cost = NEW ManaCost(ManaCost::parseManaCost("{0}",NULL,NULL));
if(card->getIncreasedManaCost()->getConvertedCost())
cost->add(card->getIncreasedManaCost());
if(card->getReducedManaCost()->getConvertedCost())
cost->remove(card->getReducedManaCost());
card->paymenttype = MTGAbility::PAYZERO_COST; card->paymenttype = MTGAbility::PAYZERO_COST;
@@ -2190,9 +2194,9 @@ MTGDredgeRule::MTGDredgeRule(GameObserver* observer, int _id) :
PermanentAbility(observer, _id) PermanentAbility(observer, _id)
{ {
tcb = NULL; tcb = NULL;
dredgeAbility = NULL; //dredgeAbility = NULL;
targetAbility = NULL; //targetAbility = NULL;
mod = NULL; //mod = NULL;
} }
; ;
@@ -2249,26 +2253,26 @@ WEvent * MTGDredgeRule::replace(WEvent * event)
} }
//there is a memleak here that i have no idea what causes it. //there is a memleak here that i have no idea what causes it.
dredgeAbility = NEW dredgeCard(game, game->mLayers->actionLayer()->getMaxId(), card,NULL); dredgeCard *dc = NEW dredgeCard(game, game->mLayers->actionLayer()->getMaxId(), card,NULL);
dredgeAbility->oneShot = true; dc->oneShot = true;
targetAbility = NEW GenericTargetAbility(game, "Dredge A Card","",game->mLayers->actionLayer()->getMaxId(), card,tcb->clone(),dredgeAbility->clone()); GenericTargetAbility *gta = NEW GenericTargetAbility(game, "Dredge A Card","",game->mLayers->actionLayer()->getMaxId(), card,tcb->clone(),dc->clone());
targetAbility->oneShot = true; gta->oneShot = true;
SAFE_DELETE(dredgeAbility); //SAFE_DELETE(dredgeAbility);
targetAbilityAdder = NEW GenericAddToGame(game, game->mLayers->actionLayer()->getMaxId(), card,NULL,targetAbility->clone()); GenericAddToGame *gatg = NEW GenericAddToGame(game, game->mLayers->actionLayer()->getMaxId(), card,NULL,gta->clone());
targetAbilityAdder->oneShot = true; gatg->oneShot = true;
SAFE_DELETE(targetAbility); //SAFE_DELETE(targetAbility);
MTGAbility * setDredge = targetAbilityAdder->clone(); //MTGAbility * setDredge = targetAbilityAdder->clone();
SAFE_DELETE(targetAbilityAdder); //SAFE_DELETE(targetAbilityAdder);
setDredge->oneShot = true; //setDredge->oneShot = true;
selection.push_back(setDredge); selection.push_back(gatg);
targetAbility1 = NEW AADrawer(game, this->GetId(), card,card,NULL, "1",TargetChooser::CONTROLLER,true); AADrawer *ad = NEW AADrawer(game, game->mLayers->actionLayer()->getMaxId(), card,card,NULL, "1",TargetChooser::CONTROLLER,true);
selection.push_back(targetAbility1); selection.push_back(ad);
MTGAbility * menuChoice = NEW MenuAbility(game, this->GetId(), card, card,true,selection,card->controller(),"Dredge or Draw"); MenuAbility * menuChoice = NEW MenuAbility(game, game->mLayers->actionLayer()->getMaxId(), card, card,true,selection,card->controller(),"Dredge or Draw");
menuChoice->addToGame(); menuChoice->addToGame();
SAFE_DELETE(tcb); //SAFE_DELETE(tcb);
} }
SAFE_DELETE(event); SAFE_DELETE(event);