//called at the end of each turn public void endTurn() { //if I was just doing a mulligan, finish it and dont mulligan ever again if (playerInput.controller.mulliganTurn) { mulligan.finishMulligan(); mulligan.changeVisibility(false); if (playernum == 2) { playerInput.controller.mulliganTurn = false; Card thecoin = CardController.getCardByFilename("thecoin"); hand.Add(CardController.getController().createHandCard(thecoin, this)); } } //make sure once-per-turn things are not usuable until refreshed hero.attacked = true; activeplayer = false; //trigger end of turn effects, escape concurrentmodification in case any of them destroy themselves Minion[] currentMinions = new Minion[7]; for (int i = 0; i < board.Count; i++) { currentMinions[i] = board[i]; } for (int i = 0; i < currentMinions.Length; i++) { if (currentMinions[i] != null) { Minion m = currentMinions[i]; m.activateOnFriendlyTurnEnd(); m.effect.onTurnEnd(); m.canAttack = false; } } foreach (Minion m in playerInput.controller.getOtherPlayer(this).board) { m.effect.onEnemyTurnEnd(); m.effect.onTurnEnd(); } if (playerInput.currentAction == "aimingbattlecry") { playerInput.cancelBattlecry(currentObj.GetComponent <HandCard>()); } currentObj = null; }