public override void UnEquip() { switch (ArmorLocation) { case ArmorLocation.Chest: SingleTon.GetPlayerController().Inventory.ChestArmor = null; break; case ArmorLocation.Feet: SingleTon.GetPlayerController().Inventory.ShoesArmor = null; break; case ArmorLocation.Offhand: SingleTon.GetPlayerController().Inventory.OffHand = null; break; case ArmorLocation.Legs: SingleTon.GetPlayerController().Inventory.PantsArmor = null; break; case ArmorLocation.Head: SingleTon.GetPlayerController().Inventory.HeadArmor = null; break; } SingleTon.GetPlayerController().Armor -= AC; }
private string CalculateLevelProgress() { string ProgressionString = ""; float Percentage; try { Percentage = ((float)SingleTon.GetPlayerController().Xp / (float)SingleTon.GetPlayerController().NextLevelXP) * 100f; } catch { Percentage = 0; } for (int i = 0; i < ((int)Percentage / 5); i++) { ProgressionString += "="; } int lenght = ProgressionString.Length; for (int x = 0; x < 20 - lenght; x++) { ProgressionString += "-"; } return(ProgressionString); }
public void ApplyBonus() { SingleTon.GetPlayerController().Skills.Power.AddPoint(PowBonus); SingleTon.GetPlayerController().Skills.Vitallity.AddPoint(VitBonus); SingleTon.GetPlayerController().Skills.Magic.AddPoint(MagBonus); SingleTon.GetPlayerController().Skills.Luck.AddPoint(LuckBonus); }
public void ReDrawStats() { LineHeightPos = 0; string BigestText = ""; List <string> StatTexts = new List <string>(); StatTexts.Add(" Health: " + SingleTon.GetPlayerController().Skills.Vitallity.HealthCurrent + "/" + SingleTon.GetPlayerController().Skills.Vitallity.Health + " "); StatTexts.Add(" Mana: " + SingleTon.GetPlayerController().Skills.Magic.ManaCurrent + "/" + SingleTon.GetPlayerController().Skills.Magic.Mana + " "); StatTexts.Add(" Damage: " + SingleTon.GetPlayerController().Skills.Power.ExtraAttack + " + " + SingleTon.GetPlayerController().Skills.Power.Buff + " "); StatTexts.Add(" Armor: " + SingleTon.GetPlayerController().Armor + " "); foreach (string element in StatTexts) { if (element.Length > BigestText.Length) { BigestText = element + " "; } } CW.FillOutStringBorder(BigestText, true, StatsPosStart.X, StatsPosStart.Y + LineHeightPos); LineHeightPos++; foreach (string element in StatTexts) { CW.Write(Side, StatsPosStart.X, StatsPosStart.Y + LineHeightPos); CW.Write(element, StatsPosStart.X + 1, StatsPosStart.Y + LineHeightPos); CW.Write(Side, StatsPosStart.X + (BigestText.Length - 1), StatsPosStart.Y + LineHeightPos); LineHeightPos++; } CW.FillOutStringBorder(BigestText, false, StatsPosStart.X, StatsPosStart.Y + LineHeightPos); //enemy LineHeightPos = 0; BigestText = ""; StatTexts.Clear(); StatTexts.Add(" Health: " + SingleTon.GetPlayerController().CBM.enemyFighting.Health + "/" + SingleTon.GetPlayerController().CBM.enemyFighting.MaxHp + " "); StatTexts.Add(" Damage: " + SingleTon.GetPlayerController().CBM.enemyFighting.Damage + " "); StatTexts.Add(" "); StatTexts.Add(" "); foreach (string element in StatTexts) { if (element.Length > BigestText.Length) { BigestText = element + " "; } } int Lenght = StatsPosStart.X + (Console.WindowWidth - (StatsPosStart.X + 1 + BigestText.Length)); CW.FillOutStringBorder(BigestText, true, Lenght, StatsPosStart.Y + LineHeightPos); LineHeightPos++; foreach (string element in StatTexts) { CW.Write(Side, Lenght, StatsPosStart.Y + LineHeightPos); CW.Write(element, Lenght + 1, StatsPosStart.Y + LineHeightPos); CW.Write(Side, Lenght + (BigestText.Length - 1), StatsPosStart.Y + LineHeightPos); LineHeightPos++; } CW.FillOutStringBorder(BigestText, false, Lenght, StatsPosStart.Y + LineHeightPos); }
public override void Equip() { if (SingleTon.GetPlayerController().Inventory.MainHand != null) { SingleTon.GetPlayerController().Inventory.MainHand.UnEquip(); } SingleTon.GetPlayerController().Inventory.MainHand = this; SingleTon.GetPlayerController().Skills.Power.AddWeaponDamage(Damage); }
public void DrawGold() { lineheight = 0; string GoldText = "║ Gold: " + SingleTon.GetPlayerController().Inventory.Gold + " ║"; CW.FillOutStringBorder(GoldText, true, GoldHeight.X, GoldHeight.Y + lineheight); lineheight++; CW.Write(GoldText, GoldHeight.X, GoldHeight.Y + lineheight); lineheight++; CW.FillOutStringBorder(GoldText, false, GoldHeight.X, GoldHeight.Y + lineheight); }
public void Draw(Cord _Pos) { CW.Clear(); Pos = _Pos; LineHeightPos = 0; string BigLine = Side + " Round: " + SingleTon.GetPlayerController().CBM.Rounds + " " + Side; CW.FillOutStringBorder(BigLine, true, Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; CW.Write(BigLine, Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; CW.FillOutStringBorder(BigLine, false, Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; BigLine = Side + " Name: " + SingleTon.GetPlayerController().PlayerName + " " + Side; CW.Write("", Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; CW.FillOutStringBorder(BigLine, true, Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; CW.Write(BigLine, Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; CW.FillOutStringBorder(BigLine, false, Pos.X, Pos.Y + LineHeightPos); LineHeightPos += 2; StatsPosStart = new Cord { X = Pos.X, Y = Pos.Y + LineHeightPos }; ReDrawStats(); LineHeightPos += 9; ActionMenuStart = new Cord { X = Pos.X, Y = Pos.Y + LineHeightPos }; RedrawAcionMenu(); LineHeightPos = 10 + ActionMenuStart.Y; LogPosStart = new Cord { X = Pos.X, Y = Pos.Y + LineHeightPos }; ReDrawLog(); //Other Side BigLine = Side + " Name: " + SingleTon.GetPlayerController().CBM.enemyFighting.Name + " " + Side; Pos = new Cord() { X = Console.WindowWidth - (BigLine.Length + 1), Y = Pos.Y + 4 }; LineHeightPos = 0; CW.FillOutStringBorder(BigLine, true, Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; CW.Write(BigLine, Pos.X, Pos.Y + LineHeightPos); LineHeightPos++; CW.FillOutStringBorder(BigLine, false, Pos.X, Pos.Y + LineHeightPos); }
public override void Equip() { switch (ArmorLocation) { case ArmorLocation.Chest: if (SingleTon.GetPlayerController().Inventory.ChestArmor != null) { SingleTon.GetPlayerController().Inventory.ChestArmor.UnEquip(); } SingleTon.GetPlayerController().Inventory.ChestArmor = this; break; case ArmorLocation.Feet: if (SingleTon.GetPlayerController().Inventory.ShoesArmor != null) { SingleTon.GetPlayerController().Inventory.ShoesArmor.UnEquip(); } SingleTon.GetPlayerController().Inventory.ShoesArmor = this; break; case ArmorLocation.Head: if (SingleTon.GetPlayerController().Inventory.HeadArmor != null) { SingleTon.GetPlayerController().Inventory.HeadArmor.UnEquip(); } SingleTon.GetPlayerController().Inventory.HeadArmor = this; break; case ArmorLocation.Offhand: if (SingleTon.GetPlayerController().Inventory.OffHand != null) { SingleTon.GetPlayerController().Inventory.OffHand.UnEquip(); } SingleTon.GetPlayerController().Inventory.OffHand = this; break; case ArmorLocation.Legs: if (SingleTon.GetPlayerController().Inventory.PantsArmor != null) { SingleTon.GetPlayerController().Inventory.PantsArmor.UnEquip(); } SingleTon.GetPlayerController().Inventory.PantsArmor = this; break; } SingleTon.GetPlayerController().Armor += AC; }
public void RedrawAcionMenu() { string Filler = "oooo oooo oooo oooo oooo oooo"; LineHeightPos = 0; switch (MenuState) { case ActionMenus.Ablilites: ActiveMenuList = SingleTon.GetPlayerController().AquiredAbilites.Select(x => x.Name).ToList(); break; case ActionMenus.Items: ActiveMenuList = SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x.UseInCombat == true).Select(x => x.name).ToList(); break; case ActionMenus.Main: ActiveMenuList = MenuTextOptions; CW.FillOutStringBorder(Filler, true, ActionMenuStart.X, ActionMenuStart.Y + LineHeightPos); LineHeightPos++; int CurrentHeight = LineHeightPos; for (int i = 0; i < MenuTextOptions.Count; i++) { if (IndexMenu == i) { CW.Write(" [" + MenuTextOptions[i] + "] ", ActionMenuStart.X + 1, ActionMenuStart.Y + LineHeightPos); LineHeightPos++; } else { CW.Write(" " + MenuTextOptions[i] + " ", ActionMenuStart.X + 1, ActionMenuStart.Y + LineHeightPos); LineHeightPos++; } } for (int x = CurrentHeight; x < 11; x++) { CW.Write(Side, ActionMenuStart.X, ActionMenuStart.Y + CurrentHeight); CW.Write(Side, ActionMenuStart.X + 28, ActionMenuStart.Y + CurrentHeight); CurrentHeight++; } CW.FillOutStringBorder(Filler, false, ActionMenuStart.X, ActionMenuStart.Y + 11); break; } }
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 InventoryMenuReturn InventoryNavigation() { switch (Console.ReadKey().Key) { case ConsoleKey.UpArrow: if (InventoryDraw.InventoryIndex <= 1) { InventoryDraw.InventoryIndex = SingleTon.GetPlayerController().Inventory.Inventory.Count; } else { InventoryDraw.InventoryIndex--; } return(InventoryMenuReturn.DrawInventoryContainer); case ConsoleKey.DownArrow: if (SingleTon.GetPlayerController().Inventory.Inventory.Count == InventoryDraw.InventoryIndex) { InventoryDraw.InventoryIndex = 1; } else { InventoryDraw.InventoryIndex++; } return(InventoryMenuReturn.DrawInventoryContainer); case ConsoleKey.LeftArrow: //minus if (InventoryDraw.state == InventoryDrawMenuState.All) { InventoryDraw.state = InventoryDrawMenuState.Misc; } else { InventoryDraw.state--; } return(InventoryMenuReturn.Everything); case ConsoleKey.RightArrow: //plus if (InventoryDraw.state == InventoryDrawMenuState.Misc) { InventoryDraw.state = InventoryDrawMenuState.All; } else { InventoryDraw.state++; } return(InventoryMenuReturn.Everything); case ConsoleKey.Enter: List <BaseItem> SortedItems = new List <BaseItem>(); switch (InventoryDraw.state) { case InventoryDrawMenuState.All: if (SingleTon.GetPlayerController().Inventory.Inventory[InventoryDraw.InventoryIndex - 1] is EquippableItem item) { if (SingleTon.GetPlayerController().Inventory.CheckIfItemsIsEquipped(item)) { item.UnEquip(); } else { item.Equip(); } return(InventoryMenuReturn.Everything); } break; case InventoryDrawMenuState.Armor: foreach (BaseItem element in (SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x is ArmorItem).ToList())) { SortedItems.Add(element); } if (SortedItems[InventoryDraw.InventoryIndex - 1] is EquippableItem armor) { if (SingleTon.GetPlayerController().Inventory.CheckIfItemsIsEquipped(armor)) { armor.UnEquip(); } else { armor.Equip(); } return(InventoryMenuReturn.Everything); } break; case InventoryDrawMenuState.Consumeable: foreach (BaseItem element in (SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x is ConsumableItem).ToList())) { SortedItems.Add(element); } if (SortedItems.Count != 0) { ConsumableItem CI = (ConsumableItem)SortedItems[InventoryDraw.InventoryIndex - 1]; CI.Apply(); } break; case InventoryDrawMenuState.Weapon: foreach (BaseItem element in (SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x is WeaponItem).ToList())) { SortedItems.Add(element); } if (SortedItems[InventoryDraw.InventoryIndex - 1] is EquippableItem weapon) { if (SingleTon.GetPlayerController().Inventory.CheckIfItemsIsEquipped(weapon)) { } } break; } break; case ConsoleKey.Escape: Console.Clear(); new MapDraw().DrawMap(); PlayManager.State = PlayManager.PreviousState; return(InventoryMenuReturn.None); } return(InventoryMenuReturn.None); }
public override void UnEquip() { SingleTon.GetPlayerController().Skills.Power.RemoveDamage(Damage); SingleTon.GetPlayerController().Inventory.MainHand = null; }
public bool CheckForEnemy(BaseTile Tile) { List <Enemy> enemiesToPick = SingleTon.GetEnemies().enemies.Where(x => x.SpawnableTiles.Any(y => y.TileName == Tile.TileName)).Where(x => x.MinLevel <SingleTon.GetPlayerController().Level&& x.MaxLevel> SingleTon.GetPlayerController().Level).ToList(); if (enemiesToPick.Count != 0) { enemyFighting = new Enemy().Copy(enemiesToPick[SingleTon.GetRandomNum(0, enemiesToPick.Count)]); } return(true); }
public static void ReGainMana(int strenght) { SingleTon.GetPlayerController().Skills.Magic.DrainMana((int)((strenght * 10) * Math.Pow((double)strenght, (double)SingleTon.GetPlayerController().Level))); }
public bool MovementInDungeon() { Input = CW.ReadKey(); switch (Input.Key) { case ConsoleKey.UpArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.DownArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.LeftArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.RightArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.S: DrawStats = !DrawStats; if (DrawStats) { statsD.Draw(CW.GetPos().X + (MapDraw.ViewSize.X * 2) + 6, 2); return(false); } else { CW.Clear(); return(true); } case ConsoleKey.Escape: Dungeon DG = (Dungeon)SingleTon.GetMapManagerInstance().CurrentMap.MyTile; if (DG != null && DG.ParrentMap != null) { SingleTon.GetCursorInstance().CurrentTile = DG.DungeonMap.MyTile; SingleTon.GetMapManagerInstance().CurrentMap = DG.ParrentMap; PlayManager.State = PlayerState.WorldMap; } return(true); default: return(false); } }
public void DrawInventoryContainer() { lineheight = 0; List <string> ItemLine = new List <string>(); ItemLine.Add(SizeAble("Name", "Description", "Stats", "Value", "Type", ItemLine.Count, false, true)); switch (state) { case InventoryDrawMenuState.All: foreach (BaseItem element in SingleTon.GetPlayerController().Inventory.Inventory) { if (element is EquippableItem item) { ItemLine.Add(SizeAble(element.name, element.describtion, element.Effect, element.Value.ToString(), element.itemType.ToString(), ItemLine.Count, SingleTon.GetPlayerController().Inventory.CheckIfItemsIsEquipped(item))); } else { ItemLine.Add(SizeAble(element.name, element.describtion, element.Effect, element.Value.ToString(), element.itemType.ToString(), ItemLine.Count)); } } break; case InventoryDrawMenuState.Armor: foreach (BaseItem element in (SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x is ArmorItem).ToList())) { ItemLine.Add(SizeAble(element.name, element.describtion, element.Effect, element.Value.ToString(), element.itemType.ToString(), ItemLine.Count, SingleTon.GetPlayerController().Inventory.CheckIfItemsIsEquipped((EquippableItem)element))); } break; case InventoryDrawMenuState.Weapon: foreach (BaseItem element in (SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x is WeaponItem).ToList())) { ItemLine.Add(SizeAble(element.name, element.describtion, element.Effect, element.Value.ToString(), element.itemType.ToString(), ItemLine.Count, SingleTon.GetPlayerController().Inventory.CheckIfItemsIsEquipped((EquippableItem)element))); } break; case InventoryDrawMenuState.Consumeable: foreach (BaseItem element in (SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x is ConsumableItem))) { ItemLine.Add(SizeAble(element.name, element.describtion, element.Effect, element.Value.ToString(), element.itemType.ToString(), ItemLine.Count)); } break; case InventoryDrawMenuState.Misc: foreach (BaseItem element in (SingleTon.GetPlayerController().Inventory.Inventory.Where(x => x is MiscItem))) { ItemLine.Add(SizeAble(element.name, element.describtion, "", element.Value.ToString(), element.itemType.ToString(), ItemLine.Count)); } break; } CW.FillOutStringBorder(ItemLine[0], true, InventoryContainerHeight.X, InventoryContainerHeight.Y + lineheight); lineheight++; CW.Write(ItemLine[0], InventoryContainerHeight.X, InventoryContainerHeight.Y + lineheight); lineheight++; CW.FillOutStringSplitter(ItemLine[0], InventoryContainerHeight.X, InventoryContainerHeight.Y + lineheight); lineheight++; for (int i = 1; i < ItemLine.Count; i++) { CW.Write(ItemLine[i], InventoryContainerHeight.X, InventoryContainerHeight.Y + lineheight); lineheight++; } CW.FillOutStringBorder(ItemLine[0], false, InventoryContainerHeight.X, InventoryContainerHeight.Y + lineheight); }
public bool CheckMoveMent() { Input = CW.ReadKey(); switch (Input.Key) { case ConsoleKey.UpArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.DownArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.LeftArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.RightArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.S: DrawStats = !DrawStats; if (DrawStats) { statsD.Draw(CW.GetPos().X + (MapDraw.ViewSize.X * 2) + 6, 2); return(false); } else { CW.Clear(); return(true); } case ConsoleKey.Enter: if (SingleTon.GetCursorInstance().CurrentTile is CityTile) { CityTile CT = (CityTile)SingleTon.GetCursorInstance().CurrentTile; DrawInfoBox.AddToBox("You have entered " + CT.CityName); CT.LoadMap().MapTile = SingleTon.GetCursorInstance().CurrentTile; SingleTon.GetCursorInstance().CurrentTile = CT.CityMap.SpawnPoint; SingleTon.GetMapManagerInstance().CurrentMap = CT.LoadMap(); CW.Clear(); return(true); } else if (SingleTon.GetCursorInstance().CurrentTile is Dungeon) { Dungeon DG = (Dungeon)SingleTon.GetCursorInstance().CurrentTile; DrawInfoBox.AddToBox("You have entered a dungeon"); DG.ParrentMap = SingleTon.GetMapManagerInstance().CurrentMap; SingleTon.GetMapManagerInstance().CurrentMap = DG.LoadMap(); DG.DungeonMap.MyTile = SingleTon.GetCursorInstance().CurrentTile; SingleTon.GetCursorInstance().CurrentTile = DG.LoadMap().SpawnPoint; PlayManager.State = PlayerState.Dungeon; return(true); } else { return(false); } case ConsoleKey.Escape: CityTile cityTile = (CityTile)SingleTon.GetMapManagerInstance().CurrentMap.MapTile; if (cityTile != null && cityTile.ParrentMap != null) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.MapTile; cityTile = (CityTile)SingleTon.GetMapManagerInstance().CurrentMap.MapTile; SingleTon.GetMapManagerInstance().CurrentMap = cityTile.ParrentMap; } return(true); case ConsoleKey.O: if (IntroMenu.test) { PlayManager.State = PlayerState.Combat; new CombatDraw().Draw(new Cord { X = 2, Y = 2 }); CW.ReadKey(); } return(false); case ConsoleKey.I: PlayManager.State = PlayerState.Inventory; CW.Clear(); new InventoryDraw().Draw(); return(false); default: return(false); } }
public void Draw() { int line; line = 0; Cord Pos = CW.GetPos(); string FillerLine = "│"; string Firsslot = "│ Name: " + SingleTon.GetPlayerController().PlayerName + " │ Level: " + SingleTon.GetPlayerController().Level + " │ Job: " + SingleTon.GetPlayerController().PlayerClass.Name + " "; string SecSlot = "│ Race: " + SingleTon.GetPlayerController().PlayerRace.Name + " │ Health: " + SingleTon.GetPlayerController().Skills.Vitallity.HealthCurrent + "/" + SingleTon.GetPlayerController().Skills.Vitallity.Health + " │ Mana: " + SingleTon.GetPlayerController().Skills.Magic.ManaCurrent + "/" + SingleTon.GetPlayerController().Skills.Magic.Mana + " "; if (Firsslot.Length > SecSlot.Length) { Lenght = Firsslot.Length; for (int i = 1; i < Firsslot.Length; i++) { FillerLine += "─"; } } else { Lenght = SecSlot.Length; for (int i = 1; i < SecSlot.Length; i++) { FillerLine += "─"; } } FillerLine += "│"; CW.Write(FillerLine, Pos.X, Pos.Y + line); line++; if (Firsslot.Length > SecSlot.Length) { CW.Write(Firsslot + "│", Pos.X, Pos.Y + line); line++; CW.Write(SecSlot, Pos.X, Pos.Y + line); CW.WriteLine("│", Pos.X + (Lenght), Pos.Y + line); line++; } else { CW.Write(Firsslot, Pos.X, Pos.Y + line); CW.WriteLine("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.Write(SecSlot + "│", Pos.X, Pos.Y + line); line++; } CW.Write(FillerLine, Pos.X, Pos.Y + line); line++; CW.Write("│ Skil: " + "Base" + " │ " + "Buff" + " │ " + "Skil", Pos.X, Pos.Y + line); CW.Write("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.Write("│ Powe: " + SingleTon.GetPlayerController().Skills.Power._lvl, Pos.X, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Power.Buff, Pos.X + 12, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Power.ExtraAttack, Pos.X + 19, Pos.Y + line); CW.Write("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.Write("│ Vita: " + SingleTon.GetPlayerController().Skills.Vitallity._lvl, Pos.X, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Vitallity.Buff, Pos.X + 12, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Vitallity.Health, Pos.X + 19, Pos.Y + line); CW.Write("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.Write("│ Magi: " + SingleTon.GetPlayerController().Skills.Magic._lvl, Pos.X, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Magic.Buff, Pos.X + 12, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Magic.Mana, Pos.X + 19, Pos.Y + line); CW.Write("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.Write("│ Luck: " + SingleTon.GetPlayerController().Skills.Luck._lvl, Pos.X, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Luck.Buff, Pos.X + 12, Pos.Y + line); CW.Write(" │ " + SingleTon.GetPlayerController().Skills.Luck.critChanceInPercentage, Pos.X + 19, Pos.Y + line); CW.Write("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.WriteLine(FillerLine, Pos.X, Pos.Y + line); line++; CW.Write("│ XP: " + SingleTon.GetPlayerController().Xp + "/" + SingleTon.GetPlayerController().NextLevelXP, Pos.X, Pos.Y + line); CW.Write("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.Write("│ |" + CalculateLevelProgress() + "|", Pos.X, Pos.Y + line); CW.Write("│", Pos.X + (Lenght), Pos.Y + line); line++; CW.WriteLine(FillerLine, Pos.X, Pos.Y + line); }
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); } }
public DrawInfoBox() { Inputs = new List <string> { "Welcome to the world of AngleBorn", "Level survive and become someone new slay monsters and beasts", "best of luck " + SingleTon.GetPlayerController().PlayerName }; }
public static void Healing(int strenght) { SingleTon.GetPlayerController().Skills.Vitallity.Heal((int)((strenght * 10) * Math.Pow((double)strenght, (double)SingleTon.GetPlayerController().Level))); }