public MapEntities.Actors.Monster GenerateOneMonster() { MapEntities.Actors.Monster monster = new MapEntities.Actors.Monster(); monster.Model = GameModel.ModelGeometryCompiler.LoadModel("default"); monster.DisplayName = "monster. kill me please."; Vector3 pos = new Vector3(RNG.Next(63), 0, RNG.Next(63)); monster.Position = pos; monster.LeashRadius = 30; monster.PrimaryLootRollCount = 2; monster.PrimaryLootTable = new List <Tuple <int, Item> >(); Items.ItemConsumable potA = new Items.ItemConsumable { Colour = new Color(200, 50, 0), Name = "HP potion" }; Items.ItemConsumable potB = new Items.ItemConsumable { Colour = new Color(0, 100, 200), Name = "MP potion" }; Items.Material matA = Items.Material.MaterialTemplates.GetRandomMaterial(); Items.ItemEquip weapA = new Items.ItemEquip(); BonusPool p = BonusPool.Load("heavy_0_10"); weapA.Bonuses.Add(p.PickBonus()); weapA.Bonuses.Add(p.PickBonus()); weapA.SubType = RNG.Next(0, 1) * 4; weapA.PrimaryMaterial = Material.MaterialTemplates.GetRandomMaterial(); weapA.SecondaryMaterial = Material.MaterialTemplates.GetRandomMaterial(); monster.PrimaryLootTable.Add(new Tuple <int, Item>(5, potA)); monster.PrimaryLootTable.Add(new Tuple <int, Item>(5, potB)); monster.PrimaryLootTable.Add(new Tuple <int, Item>(1, matA)); monster.PrimaryLootTable.Add(new Tuple <int, Item>(3, null)); monster.PrimaryLootTable.Add(new Tuple <int, Item>(10, weapA)); return(monster); }