Example #1
0
 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);
     }
 }
Example #2
0
        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);
            }
        }