public override void DrawCard(SpriteBatch sBatch, SpriteFont dungeonFont) { sBatch.Draw(CardTexture, new Vector2(274, 130), new Rectangle?(), Color.White, 0f, new Vector2(248, 0), .75f, SpriteEffects.None, 1); switch (enemyTurnState) { case EnemyTurnState.STARTCOMBAT: sBatch.Draw(Buttons["Combat Button"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); break; case EnemyTurnState.COMBAT: CurrentCombat.DrawCombat(sBatch, dungeonFont); break; case EnemyTurnState.COMPLETE: break; default: break; } }
//---------------------- 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); } }
public override void DrawCard(SpriteBatch sBatch, SpriteFont dungeonFont) { sBatch.Draw(CardTexture, new Vector2(274, 130), new Rectangle?(), Color.White, 0f, new Vector2(248, 0), .75f, SpriteEffects.None, 1); switch (bossTurnState) { case BossTurnState.STARTCOMBAT: sBatch.Draw(Buttons["Combat Button"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); break; case BossTurnState.COMBAT: CurrentCombat.DrawCombat(sBatch, dungeonFont); break; case BossTurnState.REWARDS: sBatch.Draw(Buttons["Roll Die"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); sBatch.DrawString(dungeonFont, "Roll to determine your reward.", new Vector2(620, 230), Color.White); break; case BossTurnState.ROLLANIMATION: RewardDie.DrawCombatDie(sBatch); break; case BossTurnState.REMOVESPELL: RewardDie.DrawCombatDie(sBatch); sBatch.Draw(Buttons["Rewards"].ButtonTexture, new Vector2(650, 150), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); //sBatch.DrawString(dungeonFont, "You Rolled a: " + TreasureResult, new Vector2(725, 200), Color.White); sBatch.DrawString(dungeonFont, "Click a spell to remove or", new Vector2(650, 290), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 0f); sBatch.DrawString(dungeonFont, "click done to keep current spells", new Vector2(600, 340), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 0f); sBatch.Draw(Buttons["Done Button"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); break; case BossTurnState.REVIEW: RewardDie.DrawCombatDie(sBatch); sBatch.Draw(Buttons["Rewards"].ButtonTexture, new Vector2(650, 150), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); sBatch.Draw(Buttons["Done Button"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); break; case BossTurnState.COMPLETE: break; default: break; } }
//---------------------- 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 void DrawCard(SpriteBatch sBatch, SpriteFont dungeonFont) { sBatch.Draw(CardTexture, new Vector2(274, 130), new Rectangle?(), Color.White, 0f, new Vector2(248, 0), .75f, SpriteEffects.None, 1); switch (eventCardTurnState) { case EventCardTurnState.INITIAL_ROLL: sBatch.DrawString(dungeonFont, "Roll for event.", new Vector2(770, 200), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 0f); sBatch.Draw(Buttons["Roll Die"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); break; case EventCardTurnState.ROLLANIMATION: EventDie.DrawCombatDie(sBatch); break; case EventCardTurnState.SKILL_CHECK: EventDie.DrawCombatDie(sBatch); sBatch.DrawString(dungeonFont, "Roll for skill check.", new Vector2(720, 200), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 0f); sBatch.Draw(Buttons["Roll Die"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); int counter = 650; foreach (var item in CurrentButtons) { sBatch.Draw(item.ButtonTexture, new Vector2(counter, 300), new Rectangle?(), Color.White, 0f, new Vector2(), .50f, SpriteEffects.None, 1); counter += 80; } break; case EventCardTurnState.ADJUSTOPTION: EventDie.DrawCombatDie(sBatch); int counter2 = 650; foreach (var item in CurrentButtons) { sBatch.Draw(item.ButtonTexture, new Vector2(counter2, 300), new Rectangle?(), Color.White, 0f, new Vector2(), .50f, SpriteEffects.None, 1); counter2 += 80; } sBatch.DrawString(dungeonFont, "Success! Adjust your event +1 or -1 ", new Vector2(600, 200), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 0f); break; case EventCardTurnState.HANDLE_EVENT: EventDie.DrawCombatDie(sBatch); int counter3 = 650; foreach (var item in CurrentButtons) { sBatch.Draw(item.ButtonTexture, new Vector2(counter3, 300), new Rectangle?(), Color.White, 0f, new Vector2(), .50f, SpriteEffects.None, 1); counter3 += 80; } sBatch.DrawString(dungeonFont, "Failed skill check.", new Vector2(740, 200), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 0f); break; case EventCardTurnState.FIGHT_MONSTER: sBatch.Draw(Buttons["Combat Button"].ButtonTexture, new Vector2(770, 600), new Rectangle?(), Color.White, 0f, new Vector2(), 1f, SpriteEffects.None, 1); break; case EventCardTurnState.COMBAT: CurrentCombat.DrawCombat(sBatch, dungeonFont); break; case EventCardTurnState.COMPLETE: break; default: break; } }
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); } }