private void LeaveSpiritStage() { // Remove any stacks of spirit loss we have. if (statusEffects.ContainsKey(BattleManager.StatusEffectEnum.spiritLoss)) { StatusEffectDataHolder x = statusEffects[BattleManager.StatusEffectEnum.spiritLoss]; puim.RemoveStatusEffect(x); statusEffects.Remove(BattleManager.StatusEffectEnum.spiritLoss); } // Reset other penalties to normal. int spStage = (int)spiritStage; Debug.Log("Leaving stage " + spStage); if (spStage >= 1) // Mild loss. .33 - .67 { // Reset redraw limit penalty cardRedrawAmount += 1; // Reset draw times. maxTurnsUntilDraw -= 1; } if (spStage >= 2) // Severe loss. 0-.33 { cardRedrawAmount += 1; maxTurnsUntilDraw -= 1; } Debug.Log("Card redraw is " + cardRedrawAmount); }