public bool CheckForMonster() { if (SingleTon.PercentChance(SingleTon.GetCursorInstance().CurrentTile.ChanceAtMonsters)) { SingleTon.GetPlayerController().CBM.CheckForEnemy(SingleTon.GetCursorInstance().CurrentTile); if (SingleTon.GetPlayerController().CBM.enemyFighting != null) { PlayManager.State = PlayerState.Combat; DrawInfoBox.AddToBox("You have encountered a " + SingleTon.GetPlayerController().CBM.enemyFighting.Name); new CombatDraw().Draw(new Cord { X = 2, Y = 2 }); return(false); } return(true); } else { return(true); } }
public CombatMenuReturn CombatMenuNavigation() { switch (CW.ReadKey().Key) { case ConsoleKey.UpArrow: if (CombatDraw.IndexMenu > 0) { CombatDraw.IndexMenu--; } return(CombatMenuReturn.Menu); case ConsoleKey.DownArrow: if (CombatDraw.ActiveMenuList.Count - 1 > CombatDraw.IndexMenu && CombatDraw.IndexMenu < 10) { CombatDraw.IndexMenu++; } return(CombatMenuReturn.Menu); case ConsoleKey.Enter: switch (CombatDraw.MenuState) { case CombatDraw.ActionMenus.Ablilites: throw new NotImplementedException(); break; case CombatDraw.ActionMenus.Items: throw new NotImplementedException(); break; case CombatDraw.ActionMenus.Main: switch (CombatDraw.IndexMenu) { case 0: SingleTon.GetPlayerController().CBM.enemyFighting.SetDamage(); DrawInfoBox.AddToBox("You attacked " + SingleTon.GetPlayerController().CBM.enemyFighting.Name + " and dealt " + SingleTon.GetPlayerController().Skills.Vitallity.TakeDamage(SingleTon.GetPlayerController().CBM.enemyFighting.Damage) + ", " + SingleTon.GetPlayerController().CBM.enemyFighting.Name + " hits back and damages you " + SingleTon.GetPlayerController().CBM.enemyFighting.TakeDamage(SingleTon.GetPlayerController().Skills.Power.Buff + SingleTon.GetPlayerController().Skills.Power.ExtraAttack)); if (SingleTon.GetPlayerController().Skills.Vitallity.HealthCurrent == 0) { } else if (SingleTon.GetPlayerController().CBM.enemyFighting.Health == 0) { if (SingleTon.GetCursorInstance().CurrentTile.MyType == TileType.Dungeon) { PlayManager.State = PlayerState.Dungeon; } else if (SingleTon.GetCursorInstance().CurrentTile.MyType == TileType.Normal) { PlayManager.State = PlayerState.WorldMap; } SingleTon.GetPlayerController().AddXP(SingleTon.GetPlayerController().CBM.enemyFighting.Xp); SingleTon.GetPlayerController().Inventory.AddGold(SingleTon.GetPlayerController().CBM.enemyFighting.GetGold()); SingleTon.GetPlayerController().CBM.enemyFighting.EndCombat(); CW.Clear(); MapD.DrawMap(); return(CombatMenuReturn.None); } break; case 1: CombatDraw.MenuState = CombatDraw.ActionMenus.Items; break; case 2: CombatDraw.MenuState = CombatDraw.ActionMenus.Ablilites; break; case 3: DrawInfoBox.AddToBox("You tried to flee from " + SingleTon.GetPlayerController().CBM.enemyFighting.Name); if (SingleTon.PercentChance(SingleTon.GetPlayerController().CBM.enemyFighting.FleeChance)) { DrawInfoBox.AddToBox("You succeded and escaped " + SingleTon.GetPlayerController().CBM.enemyFighting.Name); if (SingleTon.GetCursorInstance().CurrentTile.MyType == TileType.Dungeon) { PlayManager.State = PlayerState.Dungeon; } else if (SingleTon.GetCursorInstance().CurrentTile.MyType == TileType.Normal) { PlayManager.State = PlayerState.WorldMap; } CW.Clear(); MapD.DrawMap(); return(CombatMenuReturn.None); } else { DrawInfoBox.AddToBox("You failed and didn't escape " + SingleTon.GetPlayerController().CBM.enemyFighting.Name); } break; } break; } return(CombatMenuReturn.All); default: return(CombatMenuReturn.None); } }