public void Serialize(INetPacketStream packet) { packet.Write <short>((short)State); // state packet.Write <short>(0); // time limit packet.Write((short)QuestId); packet.Write <short>(Monsters?.ElementAtOrDefault(0).Value ?? 0); // monster 1 killed packet.Write <short>(Monsters?.ElementAtOrDefault(1).Value ?? 0); // monster 2 killed packet.Write <byte>(Convert.ToByte(IsPatrolDone)); // patrol done packet.Write <byte>(0); // dialog done }
public void MonsterMenu() { Console.WriteLine("Please choose an option by entering a number."); Console.WriteLine("0. Show me all monsters!"); Console.WriteLine("1. Fight last monster"); Console.WriteLine("2. Fight second monster"); Console.WriteLine("3. Fight first monster with less than 20 hit points"); Console.WriteLine("4. Fight first monster with a strength of at least 11"); Console.WriteLine("5. Fight random monster"); var input = Console.ReadLine(); if (!Monsters.Any()) //if list is empty return to main menu { Console.WriteLine(); Console.WriteLine("No monster to fight"); Console.WriteLine(); game.Main(); } else { if (input == "0") { ShowMonsterList(); } if (input == "1") { this.Start(Monsters.LastOrDefault()); } else if (input == "2") { this.Start(Monsters.ElementAtOrDefault(1)); } else if (input == "3") { this.Start(Monsters.Where(p => p.OriginalHP < 20).ToList().FirstOrDefault()); } else if (input == "4") { this.Start(Monsters.Where(p => p.Strength >= 11).ToList().FirstOrDefault()); } else if (input == "5") { var randmonNumber = new Random(); this.Start(Monsters[randmonNumber.Next(Monsters.Count)]); } else { return; } } }