private static void GetItemLists(int playerId, Inventory inventory, bool capture) { var itemDictionary = new Dictionary<int, int>(); //itemIdList.Clear(); var linkCmd = connection.CreateCommand(); linkCmd.CommandText = capture ? $"SELECT * FROM `capturelink` WHERE `playerId` = @X" : $"SELECT * FROM `medicinelink` WHERE `playerId` = @X"; linkCmd.Parameters.AddWithValue("@X", playerId); using (var rdr = linkCmd.ExecuteReader()) { while (rdr.Read()) { var linkId = rdr.GetInt32(capture ? "captureId" : "medicineId"); itemDictionary.Add(linkId, rdr.GetInt32("Amount")); } } foreach (var linkId in itemDictionary) { var cmd = connection.CreateCommand(); cmd.CommandText = capture ? $"SELECT * FROM `capture`" : $"SELECT * FROM `medicine`"; using (var rdr = cmd.ExecuteReader()) { while (rdr.Read()) { var id = rdr.GetInt32("Id"); if (linkId.Key == id) { var cause = false; var cure = Medicine.Cure.None; var healAmount = 0; var captureChance = 0; var name = rdr.GetString("Name"); var description = rdr.GetString("Description"); if (capture) { captureChance = rdr.GetInt32("CaptureChance"); } else { healAmount = rdr.GetInt32("HealAmount"); cure = Medicine.GetCureFromString(rdr.GetString("Cures")); cause = rdr.GetBoolean("Cause"); } var worth = rdr.GetInt32("Worth"); var maxAmount = rdr.GetInt32("MaxAmount"); if (capture) inventory.Add(new Capture(id, name, description, ContentLoader.GetTextureFromCapture(id), captureChance, true, worth, linkId.Value, maxAmount), linkId.Value); else inventory.Add(new Medicine(id, name, description, ContentLoader.GetTextureFromMedicine(id), healAmount, cure, worth, linkId.Value, maxAmount, cause), linkId.Value); } } } } }
public static Inventory GetInventory(int playerId) { Inventory inventory = new Inventory(); if (connection.State == ConnectionState.Open) { GetItemLists(playerId, inventory, true); GetItemLists(playerId, inventory, false); } return inventory; }
public static Area Route9(Character player) { int money = 10000; if (Sound != null) Sound.Stop(); Sound = ContentLoader.RouteSong.CreateInstance(); Sound.IsLooped = true; Sound.Play(); Character tegenstander; Inventory inventory = new Inventory(); inventory.Add(Medicine.MagicStone(), 2); List<string> battleLine = new List<string> { "Hah! Almost didn't catch you" }; List<string> winLine = new List<string> { "That's what you get for getting caught by me" }; List<string> loseLine = new List<string> { "I wish I didn't catch you", $"{player.Name} got ${money} for winning" }; tegenstander = new Character("Christguy", money, inventory, new List<Monster> { DatabaseConnector.GetMonster(3, 40), DatabaseConnector.GetMonster(6, 40), DatabaseConnector.GetMonster(9, 40), DatabaseConnector.GetMonster(13, 40), DatabaseConnector.GetMonster(15, 40), DatabaseConnector.GetMonster(16, 50) }, battleLine, winLine, loseLine, ContentLoader.MCGirlWorld, new Vector2(352, 254)); tegenstander.AI = new AI(tegenstander, 4); Random random = new Random(); Point levelrange = new Point(22, 27); var map = ContentLoader.Route9; Vector2 spawn = Vector2.One; spawn = new Vector2(352, 32); List<Monster> monsters = new List<Monster> { DatabaseConnector.GetMonster(12, random.Next(levelrange.X, levelrange.Y - 2)), DatabaseConnector.GetMonster(12, random.Next(levelrange.X, levelrange.Y)), DatabaseConnector.GetMonster(13, random.Next(levelrange.X, levelrange.Y)), DatabaseConnector.GetMonster(17, random.Next(levelrange.X, levelrange.Y - 2)), DatabaseConnector.GetMonster(21, random.Next(levelrange.X, levelrange.Y + 1)), DatabaseConnector.GetMonster(18, random.Next(levelrange.X, levelrange.Y)), DatabaseConnector.GetMonster(23, random.Next(levelrange.X, levelrange.Y - 2)) }; List<Character> opponents = new List<Character> { tegenstander }; return new Area("Route 9", levelrange, monsters, opponents, spawn, map); }
public static Area Shop() { var spawn = new Vector2(288, 256); var map = ContentLoader.Shop; var inventory = new Inventory(); inventory.Add(Capture.RottenNet(), 99); inventory.Add(Capture.RegularNet(), 99); inventory.Add(Capture.GreatNet(), 99); inventory.Add(Capture.MasterNet(), 99); inventory.Add(Medicine.LeafBandage(), 99); inventory.Add(Medicine.MagicStone(), 99); inventory.Add(Medicine.NastySpoon(), 99); inventory.Add(Medicine.AntiPoison(), 99); inventory.Add(Medicine.BucketOfWater(), 99); inventory.Add(Medicine.Salt(), 99); inventory.Add(Medicine.AirHorn(), 99); inventory.Add(Medicine.RoosVicee(), 99); var introShopLines = new List<string> { "Hello!\n Do you want to buy something?" }; var byeShopLines = new List<string> { "Take a look", "Thanks for stopping by" }; var ShopLady = new Character("HealLady", 0, inventory, introShopLines, byeShopLines, NPCKind.Shop, ContentLoader.HealLady, new Vector2(288, 64)); ShopLady.AI = new AI(ShopLady, 2); ShopLady.Direction = Direction.Down; ShopLady.SetLineOfSight(2); var introLines = new List<string> { "Hello!\n Do you want to restore your monsters?" }; var byeLines = new List<string> { "Here you go", "Thanks for stopping by" }; var healLady = new Character("HealLady", 0, null, introLines, byeLines, NPCKind.Healer, ContentLoader.HealLady, new Vector2(224, 64)); healLady.AI = new AI(healLady, 2); healLady.Direction = Direction.Down; healLady.SetLineOfSight(2); List<Character> opponents = new List<Character>(); opponents.Add(healLady); opponents.Add(ShopLady); return new Area("Shop", Point.Zero, new List<Monster>(), opponents, spawn, map); }
public static Area Route1(Character player) { int money = 500; if (Sound != null) Sound.Stop(); Sound = ContentLoader.RouteSong.CreateInstance(); Sound.IsLooped = true; Sound.Play(); Character tegenstander; Inventory inventory = new Inventory(); inventory.Add(Medicine.MagicStone(), 2); List<string> battleLine = new List<string> { "Hah! Almost didn't catch you" }; List<string> winLine = new List<string> { "That's what you get for getting caught by me" }; List<string> loseLine = new List<string> { "I wish I didn't catch you", $"{player.Name} got ${money} for winning" }; tegenstander = new Character("Christguy", money, inventory, new List<Monster> { DatabaseConnector.GetMonster(1, 5), DatabaseConnector.GetMonster(4, 7) }, battleLine, winLine, loseLine, ContentLoader.ChristmanWorld, new Vector2(192, 192)); tegenstander.AI = new AI(tegenstander, 3); Random random = new Random(); Point levelrange = new Point(2, 8); var map = ContentLoader.Route1; Vector2 spawn = Vector2.One; if (player.PreviousArea != null) if (player.PreviousArea.Name == "City") { spawn = new Vector2(384, 32); } else if (player.PreviousArea.Name == "EasterCity") { spawn = new Vector2(384, 32); } else { spawn = new Vector2(192, 416); } List<Monster> monsters = new List<Monster> { DatabaseConnector.GetMonster(10, random.Next(levelrange.X, levelrange.Y -2)), DatabaseConnector.GetMonster(10, random.Next(levelrange.X, levelrange.Y - 1)), DatabaseConnector.GetMonster(10, random.Next(levelrange.X, levelrange.Y)), DatabaseConnector.GetMonster(12, random.Next(levelrange.X, levelrange.Y - 1)), DatabaseConnector.GetMonster(12, random.Next(levelrange.X, levelrange.Y - 2)), DatabaseConnector.GetMonster(14, random.Next(levelrange.X, levelrange.Y)) }; List<Character> opponents = new List<Character> { tegenstander }; return new Area("Route 1", levelrange, monsters, opponents, spawn, map); }