//---------------------- METHODS ----------------------------- /// <summary> /// Handles Enemy card turn. /// </summary> /// <param name="player"></param> /// <returns></returns> public override bool HandleCard(Player player, MouseState current, MouseState previous, float xPos, float yPos) { XPos = xPos; YPos = yPos; CurrentMouseState = current; PreviousMouseState = previous; switch (enemyTurnState) { case EnemyTurnState.STARTCOMBAT: HandleButtons(player); return(false); case EnemyTurnState.COMBAT: if (CurrentCombat.HandleCombat(player, CurrentMouseState, PreviousMouseState, XPos, yPos, false, false)) { enemyTurnState = EnemyTurnState.COMPLETE; } return(false); case EnemyTurnState.COMPLETE: player.HasFoughtMonster = true; return(true); default: return(false); } }
//---------------------- METHODS ----------------------------- public override bool HandleCard(Player player, MouseState current, MouseState previous, float xPos, float yPos) { XPos = xPos; YPos = yPos; CurrentMouseState = current; PreviousMouseState = previous; switch (eventCardTurnState) { case EventCardTurnState.INITIAL_ROLL: SkillCheck = false; HandleButtons(player); return(false); case EventCardTurnState.ROLLANIMATION: if (AnimationCounter < 60) { RollAnimation(); } else { if (SkillCheck) { SkillCheckResult = player.playerDice.RollDice(); EventDie.CurrentTexture = EventDie.DieTextures["Roll " + SkillCheckResult]; if (SkillCheckResult <= player.Rank) { CurrentButtons.Clear(); LoadSkillCheckButtons(); eventCardTurnState = EventCardTurnState.ADJUSTOPTION; } else { eventCardTurnState = EventCardTurnState.HANDLE_EVENT; } AnimationCounter = 0; } else { Option = player.playerDice.RollDice(); EventDie.CurrentTexture = EventDie.DieTextures["Roll " + Option]; LoadInitialRollButtons(Option); eventCardTurnState = EventCardTurnState.SKILL_CHECK; AnimationCounter = 0; } } return(false); case EventCardTurnState.SKILL_CHECK: HandleButtons(player); return(false); case EventCardTurnState.ADJUSTOPTION: HandleButtons(player); return(false); case EventCardTurnState.HANDLE_EVENT: HandleButtons(player); return(false); case EventCardTurnState.FIGHT_MONSTER: HandleButtons(player); return(false); case EventCardTurnState.COMBAT: if (CurrentCombat.HandleCombat(player, CurrentMouseState, PreviousMouseState, XPos, yPos, false, true)) { eventCardTurnState = EventCardTurnState.COMPLETE; } return(false); case EventCardTurnState.COMPLETE: return(true); default: return(false); } }
public override bool HandleCard(Player player, MouseState current, MouseState previous, float xPos, float yPos) { XPos = xPos; YPos = yPos; CurrentMouseState = current; PreviousMouseState = previous; switch (bossTurnState) { case BossTurnState.STARTCOMBAT: HandleButtons(player); AnimationCounter = 0; return(false); case BossTurnState.COMBAT: if (CurrentCombat.HandleCombat(player, CurrentMouseState, PreviousMouseState, XPos, yPos, true, false)) { bossTurnState = BossTurnState.REWARDS; } return(false); case BossTurnState.REWARDS: if (player.DungeonArea == 14) { bossTurnState = BossTurnState.COMPLETE; } HandleButtons(player); return(false); case BossTurnState.ROLLANIMATION: if (AnimationCounter < 60) { RollAnimation(); } else { TreasureResult = player.playerDice.RollDice(); RewardDie.CurrentTexture = RewardDie.DieTextures["Roll " + TreasureResult]; switch (TreasureResult) { case 1: player.Armor++; break; case 2: player.Experience += 2; break; case 3: AwardedSpell = "Fire"; break; case 4: AwardedSpell = "Ice"; break; case 5: AwardedSpell = "Poison"; break; case 6: AwardedSpell = "Healing"; break; default: break; } if (TreasureResult > 2 && player.Spells.Count == 2) { bossTurnState = BossTurnState.REMOVESPELL; } else if (TreasureResult > 2) { player.AddSpell(AwardedSpell); bossTurnState = BossTurnState.REVIEW; } } return(false); case BossTurnState.REMOVESPELL: HandleButtons(player); return(false); case BossTurnState.REVIEW: //if (TreasureResult > 2 && player.Spells.Count == 2) //{ // bossTurnState = BossTurnState.REMOVESPELL; //} //else if (TreasureResult > 2) //{ // player.AddSpell(AwardedSpell); //} HandleButtons(player); return(false); case BossTurnState.COMPLETE: return(true); default: return(false); } }