public override void Auto(CardState cs, Card ownerEffect) { if(cs == CardState.Attacking_NotMe) { if(VC () && GetDefensor().IsVanguard() && !ownerEffect.IsVanguard() && ownerEffect.BelongsToClan("Great Nature")) { StartEffect(); ShowAndDelay(); } } }
public override void Auto(CardState cs, Card ownerEffect) { if(cs == CardState.Attacking_NotMe) { if(VC() && LimitBreak(4) && GetDefensor().IsVanguard() && !ownerEffect.IsVanguard() && Game.numBattle >= 3) { IncreasePowerAndCriticalByTurn(OwnerCard, 2000, 1); } } else if(cs == CardState.Attacking) { if(VC () && GetDefensor().IsVanguard() && Game.numBattle >= 4) { IncreasePowerByBattle(OwnerCard, 5000); } } }
public void Open(Card card) { bIgnore = true; _Card = card; bOpen = true; iSelectedCard = 0; _Game.playerHand.bBlockHand = false; num_options = 0; if(_Card.bIsInhand) { Card tmpVanguard = _Game.field.GetCardAt(fieldPositions.VANGUARD_CIRCLE); if(tmpVanguard.grade >= _Card.grade) { SetOption("Call"); } if(tmpVanguard.grade == _Card.grade || tmpVanguard.grade == (_Card.grade - 1)) { if(_Game.bRideThisTurn && _Card.unitAbilities.CanRide()) { SetOption("Ride"); } } if(_Card.unitAbilities.HasInHandEffect(_Card)) { SetOption ("Activate"); } } else if(_Card._Coord == CardCoord.DAMAGE) { if(_Card.unitAbilities.HasOnDamageEffect() > 0) { SetOption("Activate"); } } else { //Card is on the field. int count = _Card.unitAbilities.HasOnFieldEffect(_Card); if(count == 1) { SetOption("Activate"); } else if(count > 1) { for(int i = 1; i <= count; i++) { SetOption("Activate " + i); } } if(card.IsVanguard() && _Game.field.GetNumberOfCardsInSoul() > 0) { SetOption("View soul"); } if(card.pos == fieldPositions.REAR_GUARD_LEFT || card.pos == fieldPositions.REAR_GUARD_RIGHT|| card.pos == fieldPositions.FRONT_GUARD_LEFT|| card.pos == fieldPositions.FRONT_GUARD_RIGHT) { Card c = card.unitAbilities.GetSameColum(card.pos); if(c == null || !c.IsLocked()) { SetOption("Move"); } } } SetOption("Cancel"); Vector3 pos = _Camera.WorldToScreenPoint(card.GetGameObject().transform.position); _x = pos.x + 10.0f; _y = Camera.main.pixelHeight - pos.y - 50.0f; //_Game.bBlockMouse = true; if(num_options == 1) { Close (); _Game.bCardMenuJustClosed = false; } }
public void ReturnToHand(Card c) { bool bIsVanguard = c.IsVanguard(); fieldPositions cardPos = c.pos; Game.SendPacket(GameAction.RETURN_FROM_FIELD_TO_HAND, c.pos); Game.field.RemoveFrom(c.pos); Game.playerHand.AddToHand(c); if(!bIsVanguard) { c.CheckAbilities(CardState.HandFromRear); //Game.GameChat.AddChatMessage("ADMIN", c.name + " returns to hand." + " " + cardPos); Game.field.CheckAbilitiesExcept(cardPos, CardState.HandFromRear_NotMe, c); } }
public void RetireUnit(Card card) { if(!card.bCanBeRetireByEffects) { SelectAnimField(card); return; } Game.field.ClearZone(card.pos); Game.field.AddToDropZone(card); Game.SendPacket(GameAction.SEND_TO_DROPZONE, card.pos); if(!card.IsVanguard()) { Game.field.CheckAbilitiesExcept(card.pos, CardState.UnitSendToDropZoneFromRC, card); card.CheckAbilities(CardState.DropZoneFromRC); } }
public void GoldRutile_Auto(CardState cs, Card card) { if(cs == CardState.AttackHits) { if(card.IsVanguard()) { if(GetDefensor().IsVanguard()) { if(Game.field.GetNumberOfUnitRested() > 1 && Game.field.GetNumberOfCardsWithClanName("Nova Grappler") > 1) { if(Game.field.GetNumberOfDamageCardsFaceup() >= 2) { SetCard(card); DisplayConfirmationWindow(); } } } } } else if(cs == CardState.Attacking) { ConfirmAttack(); } else if(cs == CardState.AttackHits_NotMe) { if(card.IsVanguard()) { if(GetAttacker() != OwnerCard) { if(GetDefensor().IsVanguard()) { if(Game.field.GetNumberOfDamageCardsFacedown() >= 1) { ShowOnScreen(card); UnflipCardInDamageZone(1); } } } } } }
public void FlameOfHopeAermo_Auto(CardState cs, Card card) { if(cs == CardState.AttackHits_NotMe) { if(!card.IsVanguard()) { if(card.boostedUnit == GetAttacker()) { SetCard(card); DisplayConfirmationWindow(); } } } else if(cs == CardState.Attacking) { ConfirmAttack(); } }
public void DemonicDragonMageRakshasa_Auto(CardState cs, Card card) { if(cs == CardState.EnemyCardSendToDropZone) { if(CurrentPhaseIs(GamePhase.MAIN_PHASE)) { if(!card.IsVanguard()) { _AuxCard = card; IncreasePowerByTurn(3000); } } } else if(cs == CardState.Attacking) { ConfirmAttack(); } }
public void WyvernStrikeJarran_Auto(CardState cs, Card card) { if(cs == CardState.Boost) { if(!card.IsVanguard()) { if(card.boostedUnit.cardID == CardIdentifier.WYVERN_STRIKE_TEJAS) { _AuxCard = card.boostedUnit; IncreasePowerByBattle(4000); } } } else if(cs == CardState.Attacking) { ConfirmAttack(); } }
public void ReturnToHand(Card c) { bool bIsVanguard = c.IsVanguard(); Game.SendPacket(GameAction.RETURN_FROM_FIELD_TO_HAND, c.pos); Game.field.RemoveFrom(c.pos); Game.playerHand.AddToHand(c); if(!bIsVanguard) { c.CheckAbilities(CardState.HandFromRear); Game.field.CheckAbilitiesExcept(c.pos, CardState.HandFromRear_NotMe, c); } }
public void RetireUnit(Card card) { if(!card.IsVanguard()) { card.CheckAbilities(CardState.DropZoneFromRC); } field.ClearZone(card.pos); field.AddToDropZone(card); SendPacket(GameAction.SEND_TO_DROPZONE, card.pos); }
private void ResolveLastBattle(Card c) { bTakeDamage = false; if(c.IsVanguard()) { if(AttackHits(c)) { if(bCanReceiveDamage) { bTakeDamage = true; } else { SendPacket(GameAction.ATTACK_HITS); } } else { SendPacket(GameAction.ATTACK_NOT_HIT); } } else { ResolveBattle(c); } //End the guard phase bShowAttackPowerWindow = false; bShowDefensePowerWindow = false; SendAction(GameAction.END_ATTACK); guardZone.CleanGuardZone(field); bBlockGuardEndBattle = false; bMinGuardGradeBlocked = 0; bMaxGuardGradeBlocked = 99; UntargetCard(c); AttackedList.Clear(); //Damage if(bTakeDamage) { num_damage = CardAttacking.GetCritical(); Debug.Log ("Damage: " + num_damage); DamageCheck(); } else { /* SendConfirmation(); CardAttacking.ResetPower(); SendPacket(GameAction.END_BATTLE, CardAttacking.pos); bDoPerfectGuardPerBattle = false; gamePhase = GamePhase.ENEMY_TURN; UntargetCard(c); CardToAttack = null; CardAttacking = null; bBlockGuardEndBattle = false; */ EndBattle(false); UntargetCard(c); CardToAttack = CardAttacking = null; gamePhase = GamePhase.ENEMY_TURN; LastAttackedListIndex = -1; for(int i = 0; i < playerHand.Size(); i++) { Card tempCard = playerHand.GetCardAtIndex(i); if(tempCard != null) { tempCard.SetOpacity(true); } } } }
bool CanBeBoosted(Card c) { if(c == null) return false; if(c.IsVanguard() && !c.CanBeBoostedVanguard()) return false; if(!c.IsVanguard() && !c.CanBeBoostedRearGuard()) return false; Card b = field.GetCardAt(BackRow(c.pos)); if(b == null) return false; if(!b.CanBoost(c)) return false; if(!b.IsStand()) return false; if(b.IsLocked()) return false; return true; }