public static void CheckDynamite(Character init, DynamiteLogic dynamite) { PackAsset cardAsset = PackAndDiscard.Instance.GetRandomCard(); PackAndDiscard.Instance.Discard(cardAsset); init.RemoveBuff(dynamite); if (cardAsset.CardSuit == ECardSuit.Spades && (int)cardAsset.CardRating >= 2 && (int)cardAsset.CardRating < 10) { GlobalVeriables.Instance.audioSource.clip = dynamite.explosionAC; GlobalVeriables.Instance.audioSource.Play(); PackAndDiscard.Instance.Discard(dynamite); for (int j = 0; j < 3; ++j) { if (!init.IsDead) { init.Hit(); } } } else { init.NextPlayer.AddBuff(dynamite); } }
public static IEnumerator StartNextPlayer() { GlobalVeriables.CurrentPlayer = GlobalVeriables.CurrentPlayer.NextPlayer; GlobalVeriables.CurrentPlayer.StartCoroutine(GlobalVeriables.Instance.CurrentPlayerZone.ShowPlayer(GlobalVeriables.CurrentPlayer.CharacterImage)); yield return(new WaitWhile(() => GlobalVeriables.Instance.CurrentPlayerZone.isActiveAndEnabled)); PackAsset dynamite = GlobalVeriables.CurrentPlayer.Buffs.Find(card => card.CardName == ECardName.Dynamite); if (dynamite != null) { DynamiteLogic.CheckDynamite(GlobalVeriables.CurrentPlayer, (DynamiteLogic)dynamite); } yield return(new WaitWhile(() => GlobalVeriables.Instance.DeadMessageZone.isActiveAndEnabled)); PackAsset jail = GlobalVeriables.CurrentPlayer.Buffs.Find(card => card.CardName == ECardName.Jail); bool canMove = true; if (jail != null) { GlobalVeriables.CurrentPlayer.RemoveBuff(jail); PackAndDiscard.Instance.Discard(jail); canMove = _CheckJail(); } if (canMove) { if (GlobalVeriables.CurrentPlayer == GlobalVeriables.Instance.Player) { ((Player)GlobalVeriables.CurrentPlayer).StartMove(); yield return(new WaitUntil(() => ((Player)GlobalVeriables.CurrentPlayer).EndMoveBttn.isActiveAndEnabled)); } else { GlobalVeriables.CurrentPlayer.StartCoroutine(((Bot)GlobalVeriables.CurrentPlayer).StartMove()); yield return(new WaitUntil(() => ((Bot)GlobalVeriables.CurrentPlayer).UsingCards.activeSelf)); } } }