-Fixed a bug with */* creatures that don't die when they come into play as 0/0
-Fixed a bug with hymn of rebirth introduced in rev 245
This commit is contained in:
wagic.the.homebrew@gmail.com
2009-04-04 15:09:31 +00:00
parent 6582a1972a
commit 89caaaadb4
5 changed files with 24 additions and 2 deletions

View File

@@ -466,7 +466,8 @@ subtype=Swamp
[card] [card]
text=Put target creature card in a graveyard into play under your control. text=Put target creature card in a graveyard into play under your control.
id=2731 id=2731
auto=moveTo(myinplay) target(creature|graveyard) target=creature|graveyard
auto=moveTo(myinplay)
name=Hymn of Rebirth name=Hymn of Rebirth
rarity=U rarity=U
type=Sorcery type=Sorcery

View File

@@ -69,6 +69,7 @@ living_lands.txt
lord_of_the_pit.txt lord_of_the_pit.txt
lord_of_the_pit2.txt lord_of_the_pit2.txt
nantuko_husk.txt nantuko_husk.txt
nightmare.txt
Nyxathid.txt Nyxathid.txt
orcish_lumberjack.txt orcish_lumberjack.txt
paralysis.txt paralysis.txt

View File

@@ -0,0 +1,16 @@
#nightmare has 0 life, does it go to graveyard ?
[INIT]
FIRSTMAIN
[PLAYER1]
hand:nightmare
manapool:{5}{B}
[PLAYER2]
[DO]
nightmare
[ASSERT]
FIRSTMAIN
[PLAYER1]
graveyard:nightmare
manapool:{0}
[PLAYER2]
[END]

View File

@@ -225,6 +225,9 @@ void GameObserver::Update(float dt){
//applies damage to creatures after updates //applies damage to creatures after updates
//Players life test //Players life test
void GameObserver::stateEffects(){ void GameObserver::stateEffects(){
if (mLayers->stackLayer()->count(0,NOT_RESOLVED) != 0) return;
if (mLayers->actionLayer()->menuObject) return;
if (targetChooser || mLayers->actionLayer()->isWaitingForAnswer()) return;
for (int i =0; i < 2; i++){ for (int i =0; i < 2; i++){
MTGGameZone * zone = players[i]->game->inPlay; MTGGameZone * zone = players[i]->game->inPlay;
for (int j = zone->nb_cards-1 ; j>=0; j--){ for (int j = zone->nb_cards-1 ; j>=0; j--){

View File

@@ -84,7 +84,7 @@ void MTGCardInstance::initMTGCI(){
model=NULL; model=NULL;
isToken = false; isToken = false;
lifeOrig = 0; lifeOrig = 0;
doDamageTest = 0; doDamageTest = 1;
belongs_to=NULL; belongs_to=NULL;
tapped = 0; tapped = 0;
blockers = NEW Blockers(); blockers = NEW Blockers();
@@ -125,6 +125,7 @@ int MTGCardInstance::isInPlay(){
int MTGCardInstance::afterDamage(){ int MTGCardInstance::afterDamage(){
if (!doDamageTest) return 0; if (!doDamageTest) return 0;
doDamageTest = 0; doDamageTest = 0;
if (!isACreature()) return 0;
if (life <=0 && isInPlay()){ if (life <=0 && isInPlay()){
GameObserver * game = GameObserver::GetInstance(); GameObserver * game = GameObserver::GetInstance();
game->mLayers->stackLayer()->addPutInGraveyard(this); game->mLayers->stackLayer()->addPutInGraveyard(this);