From 3bf1cca118090fca3dfd3ea728d7d454e9980d57 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Wed, 1 Mar 2017 14:15:57 +0800 Subject: [PATCH] removed this --- projects/mtg/bin/Res/sets/primitives/mtg.txt | 1 + projects/mtg/src/GameObserver.cpp | 8 +++++--- projects/mtg/src/MTGGameZones.cpp | 4 ++-- projects/mtg/src/MTGRules.cpp | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 9d0b85ec2..366e8197e 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -29284,6 +29284,7 @@ type=Land [/card] [card] name=Diaochan, Artful Beauty +alias=10544 auto={T}:destroy target(creature) && ability$!destroy target(creature)!$ opponent mycombatbeginsonly text={T}: Destroy target creature of your choice, then destroy target creature of an opponent's choice. Activate this ability only during your turn, before attackers are declared. mana={3}{R} diff --git a/projects/mtg/src/GameObserver.cpp b/projects/mtg/src/GameObserver.cpp index 1d28642b5..dc8a2011d 100644 --- a/projects/mtg/src/GameObserver.cpp +++ b/projects/mtg/src/GameObserver.cpp @@ -684,6 +684,8 @@ void GameObserver::gameStateBasedEffects() int onum = w+1; card->zpos = abs(onum - zone->nb_cards)+1; } + if(card && zone->owner)//last controller + card->lastController = zone->owner; } @@ -712,8 +714,6 @@ void GameObserver::gameStateBasedEffects() for (int j = zone->nb_cards - 1; j >= 0; j--) { MTGCardInstance * card = zone->cards[j]; - //lastcontroller zone update - card->lastController = players[i]; card->entersBattlefield = 0; card->LKIpower = card->power; card->LKItoughness = card->toughness; @@ -1049,10 +1049,12 @@ void GameObserver::gameStateBasedEffects() int skipLevel = (currentPlayer->playMode == Player::MODE_TEST_SUITE || mLoading) ? Constants::ASKIP_NONE : options[Options::ASPHASES].number; bool noattackers = currentPlayer->noPossibleAttackers(); + bool hasdiaochan = currentPlayer->game->inPlay->hasAlias(10544);//diaochan activated ability combat begins if (skipLevel == Constants::ASKIP_SAFE || skipLevel == Constants::ASKIP_FULL) { if ((opponent()->isAI() && !(isInterrupting)) && ((mCurrentGamePhase == MTG_PHASE_UNTAP) - || (mCurrentGamePhase == MTG_PHASE_DRAW) || (mCurrentGamePhase == MTG_PHASE_COMBATBEGIN) + || (mCurrentGamePhase == MTG_PHASE_DRAW) + || ((mCurrentGamePhase == MTG_PHASE_COMBATBEGIN) && (!hasdiaochan)) || ((mCurrentGamePhase == MTG_PHASE_COMBATATTACKERS) && (noattackers)) || (mCurrentGamePhase == MTG_PHASE_COMBATEND) || (mCurrentGamePhase == MTG_PHASE_ENDOFTURN) || ((mCurrentGamePhase == MTG_PHASE_CLEANUP) && (currentPlayer->game->hand->nb_cards < 8)))) diff --git a/projects/mtg/src/MTGGameZones.cpp b/projects/mtg/src/MTGGameZones.cpp index ac34d5a7c..8c1a3471a 100644 --- a/projects/mtg/src/MTGGameZones.cpp +++ b/projects/mtg/src/MTGGameZones.cpp @@ -1142,8 +1142,8 @@ MTGGameZone * MTGGameZone::intToZone(GameObserver *g, int zoneId, MTGCardInstanc else p2 = target->controller(); - if(p2 != p && p2 != p->opponent())//should match at least one - p2 = p; + //if(p2 != p && p2 != p->opponent())//should match at least one + //p2 = p; MTGGameZone * result = intToZone(zoneId, p, p2); if (result) return result; diff --git a/projects/mtg/src/MTGRules.cpp b/projects/mtg/src/MTGRules.cpp index cc68eb079..98a60bedf 100644 --- a/projects/mtg/src/MTGRules.cpp +++ b/projects/mtg/src/MTGRules.cpp @@ -1864,11 +1864,11 @@ int MTGAttackRule::receiveEvent(WEvent *e) card->tap(); if (card->isAttacker() && card->has(Constants::CANTATTACK) && (card->isAttacking && ((Damageable*)card->isAttacking)->type_as_damageable == Damageable::DAMAGEABLE_PLAYER)) card->toggleAttacker();//if a card has cantattack, then you cant - if (card->isAttacker() && card->has(Constants::CANTATTACKPW) && (card->isAttacking && ((Damageable*)card->isAttacking)->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE)) + /*if (card->isAttacker() && card->has(Constants::CANTATTACKPW) && (card->isAttacking && ((Damageable*)card->isAttacking)->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE)) { if(((MTGCardInstance *)card->isAttacking)->hasType("planeswalker")) card->toggleAttacker(); - } + }*/ } return 1; }