public void CallFromDeck(Card c, fieldPositions p) { Game.playerDeck.RemoveFromDeck(c); Game.field.Call(c, p); c.CheckAbilities(CardState.CallFromDeck, c); Game.field.CheckAbilitiesExcept(c.pos, CardState.CallFromDeck_NotMe, c); Game.SendPacket(GameAction.PLAY_CARD_FROM_DECK, c.cardID, (int)Util.TranformToEnemyPosition(c.pos)); c.TurnUp(); }
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 StandUnit(Card card) { card.bBecomeStandThisTurn = true; card.Stand(); Game.SendPacket(GameAction.STAND_UNIT, card.pos); card.CheckAbilities(CardState.Stand, card); Game.field.CheckAbilitiesExcept(card.pos, CardState.Stand_NotMe, card); }
public void RestUnit(Card card) { Game.LastRest = card; card.Rest(); Game.SendPacket(GameAction.REST_UNIT, card.pos); card.CheckAbilities(CardState.Rest); Game.field.CheckAbilitiesExcept(card.pos, CardState.Rest_NotMe); }
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 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 Remove(Card c, bool myGuardian = false) { cards.Remove(c); game.CardToAttack.extraShield -= c.shield; if(myGuardian) { field.AddToDropZone(c); c.CheckAbilities(CardState.DropZoneFromGC); field.CheckAbilities(CardState.DropZoneFromGC_NotMe, c); if(c.bSentinel) { bPerfectGuard = false; game.CardToAttack.bCanBeHit = true; } } else { enemyField.AddToDropZone(c, false); } }
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); }
public void CallFromDrop(Card card, fieldPositions p) { field.RemoveFromDropzone(card); field.Call(card, p); LastCallFromDrop = card; card.CheckAbilities(CardState.CallFromDrop); field.CheckAbilitiesExcept(card.pos, CardState.CallFromDrop_NotMe); SendPacket(GameAction.PLAY_CARD_FROM_DROP, card.cardID, p); }
void BoostUnit(Card c) { //C: Attacer //B: Booster Card b = field.GetCardAt(BackRow(c.pos)); c.IncreasePower(b.GetPower()); SendPacket(GameAction.POWER_INCREASE, c.pos, b.GetPower()); b.boostedUnit = c; b.Rest(); SendPacket(GameAction.REST_UNIT, b.pos); b.CheckAbilities(CardState.Boost); c.IsBoostedBy = b; SendPacket (GameAction.BOOST, c.pos); c.CheckAbilities(CardState.IsBoosted); //bEffectOnGoing = false; //bConfirmBoost = true; BoostUnit(); }
public void Call(Card card, fieldPositions pos) { _Game.SendGameChatMessage(card.name + ", Call!", ChatTab.GAME); _Game.UnitsCalled.Add(card); _Game.LastCall = card; //Reseting current status. ResetCard(card); card._Coord = CardCoord.FIELD; card.pos = pos; if(pos == fieldPositions.FRONT_GUARD_LEFT) { if(Left_Front != null) { AddToDropZone(RemoveFrom(pos)); } Left_Front = card; Left_Front.GetGameObject().transform.position = fieldInfo.GetPosition((int)fieldPositions.FRONT_GUARD_LEFT); Left_Front.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation(); FrontLeftPower.text = card.GetPower() + ""; } else if(pos == fieldPositions.FRONT_GUARD_RIGHT) { if(Right_Front != null) { Debug.Log("Adding to DropZone"); AddToDropZone(RemoveFrom(pos)); } Right_Front = card; Right_Front.GetGameObject().transform.position = fieldInfo.GetPosition((int)fieldPositions.FRONT_GUARD_RIGHT); Right_Front.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation(); FrontRightPower.text = card.GetPower() + ""; } else if(pos == fieldPositions.REAR_GUARD_CENTER) { if(Center_Rear != null) AddToDropZone(RemoveFrom(pos)); Center_Rear = card; Center_Rear.GetGameObject().transform.position = fieldInfo.GetPosition((int)fieldPositions.REAR_GUARD_CENTER); Center_Rear.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation(); RearCenterPower.text = card.GetPower() + ""; } else if(pos == fieldPositions.REAR_GUARD_LEFT) { if(Left_Rear != null) AddToDropZone(RemoveFrom(pos)); Left_Rear = card; Left_Rear.GetGameObject().transform.position = fieldInfo.GetPosition((int)fieldPositions.REAR_GUARD_LEFT); Left_Rear.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation(); RearLeftPower.text = card.GetPower() + ""; } else if(pos == fieldPositions.REAR_GUARD_RIGHT) { if(Right_Rear != null) AddToDropZone(RemoveFrom(pos)); Right_Rear = card; Right_Rear.GetGameObject().transform.position = fieldInfo.GetPosition((int)fieldPositions.REAR_GUARD_RIGHT); Right_Rear.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation(); RearRightPower.text = card.GetPower() + ""; } card.CheckAbilities(CardState.Call); LastUnitCalled = card; CheckAbilities(CardState.Call_NotMe, card); CallAnimation(card); }
public void Ride(Card card, bool bActiveEvents = true) { _Game.SendGameChatMessage(card.name + ", Ride!", ChatTab.GAME); //Reseting current status. ResetCard(card); if(Soul.Count > 0) { Soul[Soul.Count - 1].SetIsVanguard(false); Soul[Soul.Count - 1]._Coord = CardCoord.SOUL; lastVanguard = Soul[Soul.Count - 1]; } Soul.Add (card); card._Coord = CardCoord.FIELD; card.SetIsVanguard(true); Vanguard = card; //Vanguard.GetGameObject().transform.position = fieldInfo.GetPosition((int)fieldPositions.VANGUARD_CIRCLE) + delta * (Soul.Count - 1); //Vanguard.GetGameObject().transform.eulerAngles = fieldInfo.GetCardRotation(); Vanguard.MoveAndRotate(fieldInfo.GetPosition((int)fieldPositions.VANGUARD_CIRCLE) + delta * (Soul.Count - 1), fieldInfo.GetCardRotation()); VanguardPower.text = card.GetPower() + ""; card.pos = fieldPositions.VANGUARD_CIRCLE; CallAnimation(card); FixSoulPosition(); if(Soul.Count > 1 && bActiveEvents) { Soul[Soul.Count - 2].CheckAbilities(CardState.RideAboveIt); Soul[Soul.Count - 2].CheckAbilities(CardState.LeaveField); } CheckAbilitiesDrop(CardState.DropZone_Ride); CheckAbilitiesSoul(CardState.Soul_Ride); if(bActiveEvents) { CheckAbilitiesExcept(card.pos, CardState.Ride_NotMe, card); card.CheckAbilities(CardState.Ride); } }