Edge of autumn
	Mirrorworks

	Clone of the card now have the same image as original
	Issue with cloning and trigger "nontoken * enters"

	Blitzkrig rules
	Hermit druid rules
This commit is contained in:
pankdm
2013-09-23 19:40:12 +00:00
parent 93ebca3041
commit 11f541a627
8 changed files with 56 additions and 7 deletions
+20 -1
View File
@@ -3,6 +3,7 @@ unlock=prx_geirkztilb
[INIT] [INIT]
mode=mtg mode=mtg
#MTG Game specific rules
auto=bonusrule auto=bonusrule
auto=putinplayrule auto=putinplayrule
auto=kickerrule auto=kickerrule
@@ -47,4 +48,22 @@ auto=lord(Plains|MyBattlefield) {T}:Add{W}
auto=lord(Island|MyBattlefield) {T}:Add{U} auto=lord(Island|MyBattlefield) {T}:Add{U}
auto=lord(Swamp|MyBattlefield) {T}:Add{B} auto=lord(Swamp|MyBattlefield) {T}:Add{B}
auto=lord(Mountain|MyBattlefield) {T}:Add{R} auto=lord(Mountain|MyBattlefield) {T}:Add{R}
auto=lord(Forest|MyBattlefield) {T}:Add{G}MyBattlefield) {T}:Add{G} auto=lord(Forest|MyBattlefield) {T}:Add{G}
#Mana Empties from manapool at the end of each phase
auto=@each untap:removeMana(*)
auto=@each upkeep:removeMana(*)
auto=@each draw:removeMana(*)
auto=@each firstmain:removeMana(*)
auto=@each combatbegins:removeMana(*)
auto=@each attackers:removeMana(*)
auto=@each blockers:removeMana(*)
auto=@each combatdamage:removeMana(*)
auto=@each combatEnds:removeMana(*)
auto=@each secondmain:removeMana(*)
auto=@each end:removeMana(*)
auto=@each cleanup:removeMana(*)
#reset Creature damage at the cleanup phase
auto=@each cleanup:all(*|myBattlefield) resetDamage
+2
View File
@@ -17,6 +17,8 @@ auto=blockrule
auto=combattriggerrule auto=combattriggerrule
auto=legendrule auto=legendrule
auto=planeswalkerrule auto=planeswalkerrule
auto=planeswalkerdamage
auto=planeswalkerattack
auto=tokencleanuprule auto=tokencleanuprule
auto=persistrule auto=persistrule
auto=vampirerule auto=vampirerule
@@ -3,6 +3,8 @@
# Macro names are case insensitive, and the replacement algorithm does an exact match inside a string # Macro names are case insensitive, and the replacement algorithm does an exact match inside a string
# it means that if you have a macro named MACRO and a macro named MACRO2, you'll run into trouble because MACRO2 will match MACRO # it means that if you have a macro named MACRO and a macro named MACRO2, you'll run into trouble because MACRO2 will match MACRO
# Because of that, you need to use a unique delimiter at the beginning and the end of a macro, I personally use "__" # Because of that, you need to use a unique delimiter at the beginning and the end of a macro, I personally use "__"
#
# Limitations: parameter inside macro must not contian ")"
# Standard Cycling # Standard Cycling
#AUTO_DEFINE __CYCLING__($cost) $cost{cycle}:name(cycling) draw:1 #AUTO_DEFINE __CYCLING__($cost) $cost{cycle}:name(cycling) draw:1
+5 -4
View File
@@ -25508,7 +25508,7 @@ toughness=2
[card] [card]
name=Edge of Autumn name=Edge of Autumn
auto=if type(land|mybattlefield)~lessthan~5 then target(land[basic]|mybattlefield) moveTo(mybattlefield) auto=if type(land|mybattlefield)~lessthan~5 then target(land[basic]|mybattlefield) moveTo(mybattlefield)
autohand=__CYCLING__({S(land|mybattlefield)}) autohand={S(land|mybattlefield)}{cycle}:name(cycling) draw:1
text=If you control four or fewer lands, search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. -- Cycling - Sacrifice a land. (Sacrifice a land, Discard this card: Draw a card.) text=If you control four or fewer lands, search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. -- Cycling - Sacrifice a land. (Sacrifice a land, Discard this card: Draw a card.)
mana={1}{G} mana={1}{G}
type=Sorcery type=Sorcery
@@ -49596,8 +49596,9 @@ toughness=2
[/card] [/card]
[card] [card]
name=Lavalanche name=Lavalanche
auto=choice name(deal X damage to opponent and to each creature he controls) damage:X opponent && damage:X all(creature|opponentbattlefield) target=player
auto=choice name(deal X damage to you and to each creature you control) damage:X controller && damage:X all(creature|mybattlefield) auto=damage:X
auto=damage:X all(creature|targetedpersonsbattlefield)
text=Lavalanche deals X damage to target player and each creature he or she controls. text=Lavalanche deals X damage to target player and each creature he or she controls.
mana={X}{B}{R}{G} mana={X}{B}{R}{G}
type=Sorcery type=Sorcery
@@ -56176,7 +56177,7 @@ toughness=4
name=Mirrorworks name=Mirrorworks
auto=@movedto(other artifact[-token]|mybattlefield):all(trigger[to]) pay[[{2}]] clone auto=@movedto(other artifact[-token]|mybattlefield):all(trigger[to]) pay[[{2}]] clone
text=Whenever another nontoken artifact enters the battlefield under your control, you may pay {2}. If you do, put a token that's a copy of that artifact onto the battlefield. text=Whenever another nontoken artifact enters the battlefield under your control, you may pay {2}. If you do, put a token that's a copy of that artifact onto the battlefield.
mana={4} mana={5}
type=Artifact type=Artifact
[/card] [/card]
[card] [card]
+1
View File
@@ -609,6 +609,7 @@ SPIRITLINK_keyword#1.txt
SPIRITLINK_keyword#2.txt SPIRITLINK_keyword#2.txt
SPIRITLINK_keyword#3.txt SPIRITLINK_keyword#3.txt
spitting_earth.txt spitting_earth.txt
spitting_image.txt
spoils_of_evil.txt spoils_of_evil.txt
spore_frog.txt spore_frog.txt
stacking_flanking.txt stacking_flanking.txt
@@ -0,0 +1,22 @@
# Checking that casting spitting image doesnot trigger
# "when nontoken creatures enters battlefield" effects
# as there was issue about it
[INIT]
FIRSTMAIN
[PLAYER1]
manapool:{4}{U}{U}
inplay:grizzly bears,Genesis Chamber
hand:Spitting Image
library:mountain
[PLAYER2]
[DO]
Spitting Image
grizzly bears
[ASSERT]
FIRSTMAIN
[PLAYER1]
manapool{0}
inplay:grizzly bears,Genesis Chamber,grizzly bears
library:mountain
graveyard:Spitting Image
[END]
+1
View File
@@ -9,6 +9,7 @@
#include "Threading.h" #include "Threading.h"
#include "AIPlayerBaka.h" #include "AIPlayerBaka.h"
class TestSuiteActions class TestSuiteActions
{ {
public: public:
+3 -2
View File
@@ -2459,7 +2459,8 @@ int AACloner::resolve()
if (!_target) if (!_target)
return 0; return 0;
MTGCard* clone = (_target->isToken ? _target: MTGCollection()->getCardByName(_target->name)); // Use id of the card to have the same image as the original
MTGCard* clone = (_target->isToken ? _target: MTGCollection()->getCardById(_target->getId()));
Player * targetPlayer = who == 1 ? source->controller()->opponent() : source->controller(); Player * targetPlayer = who == 1 ? source->controller()->opponent() : source->controller();
@@ -2467,8 +2468,8 @@ int AACloner::resolve()
targetPlayer->game->temp->addCard(myClone); targetPlayer->game->temp->addCard(myClone);
Spell * spell = NEW Spell(game, myClone); Spell * spell = NEW Spell(game, myClone);
spell->resolve();
spell->source->isToken = 1; spell->source->isToken = 1;
spell->resolve();
spell->source->fresh = 1; spell->source->fresh = 1;
spell->source->model = spell->source; spell->source->model = spell->source;
spell->source->model->data = spell->source; spell->source->model->data = spell->source;