public void ColdEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Giant_Frost, RollConstants.One),
                FormatEncounter(CreatureConstants.Giant_Frost, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Giant_Frost, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Giant_Frost, RollConstants.OneD6Plus3,
                    CreatureConstants.WinterWolf, RollConstants.OneD3Plus1,
                    CreatureConstants.Ogre, RollConstants.OneD3),
                FormatEncounter(CreatureConstants.Giant_Frost, RollConstants.OneD4Plus10,
                    CreatureConstants.WinterWolf, RollConstants.OneD4Plus10,
                    CreatureConstants.Ogre, RollConstants.OneD4Plus10,
                    CreatureConstants.Dragon_White_Young, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Giant_Frost, RollConstants.OneD4Plus10,
                    CreatureConstants.WinterWolf, RollConstants.OneD4Plus10,
                    CreatureConstants.Ogre, RollConstants.OneD4Plus10,
                    CreatureConstants.Dragon_White_Young, RollConstants.OneD2,
                    CreatureConstants.Giant_Frost_Jarl, RollConstants.One),
                FormatEncounter(CreatureConstants.Giant_Frost_Jarl, RollConstants.One),
                FormatEncounter(CreatureConstants.FrostWorm, RollConstants.One),
                FormatEncounter(CreatureConstants.Remorhaz, RollConstants.One),
                FormatEncounter(CreatureConstants.WinterWolf, RollConstants.One),
                FormatEncounter(CreatureConstants.WinterWolf, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.WinterWolf, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Bear_Polar, RollConstants.One),
                FormatEncounter(CreatureConstants.Bear_Polar, RollConstants.OneD2),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Cold, encounters);
        }
        public override void EntriesAreComplete()
        {
            var names = new[]
            {
                CreatureConstants.Mephit_Air,
                CreatureConstants.Mephit_Dust,
                CreatureConstants.Mephit_Earth,
                CreatureConstants.Mephit_Fire,
                CreatureConstants.Mephit_Ice,
                CreatureConstants.Mephit_Magma,
                CreatureConstants.Mephit_Ooze,
                CreatureConstants.Mephit_Salt,
                CreatureConstants.Mephit_Steam,
                CreatureConstants.Mephit_Water
            };

            AssertEntriesAreComplete(names);
        }
        public void ColdMountainEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ettin, RollConstants.One),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD2,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2,
                    CreatureConstants.Goblin, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2,
                    CreatureConstants.Orc, RollConstants.OneD6Plus5),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Cold + EnvironmentConstants.Mountain, encounters);
        }
        public override void EntriesAreComplete()
        {
            var names = new[]
            {
                CreatureConstants.Androsphinx,
                CreatureConstants.Ankheg,
                CreatureConstants.Ant_Giant_Soldier,
                CreatureConstants.Ant_Giant_Worker,
                CreatureConstants.Ant_Giant_Queen,
                CreatureConstants.Ape,
                CreatureConstants.Ape_Dire,
                CreatureConstants.Aranea,
                CreatureConstants.AssassinVine,
                CreatureConstants.Baboon,
                CreatureConstants.Badger,
                CreatureConstants.Badger_Dire,
                CreatureConstants.Basilisk,
                CreatureConstants.Bat,
                CreatureConstants.Bat_Dire,
                CreatureConstants.Bear_Black,
                CreatureConstants.Bear_Brown,
                CreatureConstants.Bear_Dire,
                CreatureConstants.Bear_Polar,
                CreatureConstants.Bee_Giant,
                CreatureConstants.Behir,
                CreatureConstants.Bison,
                CreatureConstants.BlinkDog,
                CreatureConstants.Boar,
                CreatureConstants.Boar_Dire,
                CreatureConstants.BombardierBeetle_Giant,
                CreatureConstants.Bulette,
                CreatureConstants.Camel,
                CreatureConstants.Cat,
                CreatureConstants.Centaur,
                CreatureConstants.Centipede_Monstrous_Colossal,
                CreatureConstants.Centipede_Monstrous_Gargantuan,
                CreatureConstants.Centipede_Monstrous_Huge,
                CreatureConstants.Centipede_Monstrous_Large,
                CreatureConstants.Centipede_Monstrous_Medium,
                CreatureConstants.Centipede_Monstrous_Small,
                CreatureConstants.Centipede_Monstrous_Tiny,
                CreatureConstants.Cheetah,
                CreatureConstants.Cloaker,
                CreatureConstants.Cockatrice,
                CreatureConstants.Criosphinx,
                CreatureConstants.Crocodile,
                CreatureConstants.Crocodile_Giant,
                CreatureConstants.Cryohydra_5Heads,
                CreatureConstants.Cryohydra_6Heads,
                CreatureConstants.Cryohydra_7Heads,
                CreatureConstants.Cryohydra_8Heads,
                CreatureConstants.Cryohydra_9Heads,
                CreatureConstants.Cryohydra_10Heads,
                CreatureConstants.Cryohydra_11Heads,
                CreatureConstants.Cryohydra_12Heads,
                CreatureConstants.Darkmantle,
                CreatureConstants.Delver,
                CreatureConstants.Digester,
                CreatureConstants.Deinonychus,
                CreatureConstants.Dog,
                CreatureConstants.Donkey,
                CreatureConstants.Doppelganger,
                CreatureConstants.Dragon_Brass_Wyrmling,
                CreatureConstants.Dragon_Brass_VeryYoung,
                CreatureConstants.Dragon_Brass_Young,
                CreatureConstants.Dragon_Brass_Juvenile,
                CreatureConstants.Dragon_Brass_YoungAdult,
                CreatureConstants.Dragon_Brass_Adult,
                CreatureConstants.Dragon_Brass_MatureAdult,
                CreatureConstants.Dragon_Brass_Old,
                CreatureConstants.Dragon_Brass_VeryOld,
                CreatureConstants.Dragon_Brass_Ancient,
                CreatureConstants.Dragon_Brass_Wyrm,
                CreatureConstants.Dragon_Brass_GreatWyrm,
                CreatureConstants.Dragon_Bronze_Wyrmling,
                CreatureConstants.Dragon_Bronze_VeryYoung,
                CreatureConstants.Dragon_Bronze_Young,
                CreatureConstants.Dragon_Bronze_Juvenile,
                CreatureConstants.Dragon_Bronze_YoungAdult,
                CreatureConstants.Dragon_Bronze_Adult,
                CreatureConstants.Dragon_Bronze_MatureAdult,
                CreatureConstants.Dragon_Bronze_Old,
                CreatureConstants.Dragon_Bronze_VeryOld,
                CreatureConstants.Dragon_Bronze_Ancient,
                CreatureConstants.Dragon_Bronze_Wyrm,
                CreatureConstants.Dragon_Bronze_GreatWyrm,
                CreatureConstants.Dragon_Copper_Wyrmling,
                CreatureConstants.Dragon_Copper_VeryYoung,
                CreatureConstants.Dragon_Copper_Young,
                CreatureConstants.Dragon_Copper_Juvenile,
                CreatureConstants.Dragon_Copper_YoungAdult,
                CreatureConstants.Dragon_Copper_Adult,
                CreatureConstants.Dragon_Copper_MatureAdult,
                CreatureConstants.Dragon_Copper_Old,
                CreatureConstants.Dragon_Copper_VeryOld,
                CreatureConstants.Dragon_Copper_Ancient,
                CreatureConstants.Dragon_Copper_Wyrm,
                CreatureConstants.Dragon_Copper_GreatWyrm,
                CreatureConstants.Dragon_Gold_Wyrmling,
                CreatureConstants.Dragon_Gold_VeryYoung,
                CreatureConstants.Dragon_Gold_Young,
                CreatureConstants.Dragon_Gold_Juvenile,
                CreatureConstants.Dragon_Gold_YoungAdult,
                CreatureConstants.Dragon_Gold_Adult,
                CreatureConstants.Dragon_Gold_MatureAdult,
                CreatureConstants.Dragon_Gold_Old,
                CreatureConstants.Dragon_Gold_VeryOld,
                CreatureConstants.Dragon_Gold_Ancient,
                CreatureConstants.Dragon_Gold_Wyrm,
                CreatureConstants.Dragon_Gold_GreatWyrm,
                CreatureConstants.Dragon_Silver_Wyrmling,
                CreatureConstants.Dragon_Silver_VeryYoung,
                CreatureConstants.Dragon_Silver_Young,
                CreatureConstants.Dragon_Silver_Juvenile,
                CreatureConstants.Dragon_Silver_YoungAdult,
                CreatureConstants.Dragon_Silver_Adult,
                CreatureConstants.Dragon_Silver_MatureAdult,
                CreatureConstants.Dragon_Silver_Old,
                CreatureConstants.Dragon_Silver_VeryOld,
                CreatureConstants.Dragon_Silver_Ancient,
                CreatureConstants.Dragon_Silver_Wyrm,
                CreatureConstants.Dragon_Silver_GreatWyrm,
                CreatureConstants.Dragonne,
                CreatureConstants.Dryad,
                CreatureConstants.DwarfWarrior,
                CreatureConstants.Eagle,
                CreatureConstants.Eagle_Giant,
                CreatureConstants.Elephant,
                CreatureConstants.ElfWarrior,
                CreatureConstants.FireBeetle_Giant,
                CreatureConstants.FrostWorm,
                CreatureConstants.Giant_Cloud,
                CreatureConstants.Giant_Stone,
                CreatureConstants.Giant_Storm,
                CreatureConstants.GibberingMouther,
                CreatureConstants.Girallon,
                CreatureConstants.GnomeWarrior,
                CreatureConstants.Gorgon,
                CreatureConstants.GrayRender,
                CreatureConstants.Grick,
                CreatureConstants.Griffon,
                CreatureConstants.Grig,
                CreatureConstants.Gynosphinx,
                CreatureConstants.HalflingWarrior,
                CreatureConstants.Hawk,
                CreatureConstants.Horse_Heavy,
                CreatureConstants.Horse_Heavy_War,
                CreatureConstants.Horse_Light,
                CreatureConstants.Horse_Light_War,
                CreatureConstants.Hippogriff,
                CreatureConstants.Hydra_5Heads,
                CreatureConstants.Hydra_6Heads,
                CreatureConstants.Hydra_7Heads,
                CreatureConstants.Hydra_8Heads,
                CreatureConstants.Hydra_9Heads,
                CreatureConstants.Hydra_10Heads,
                CreatureConstants.Hydra_11Heads,
                CreatureConstants.Hydra_12Heads,
                CreatureConstants.Hyena,
                CreatureConstants.Krenshar,
                CreatureConstants.Lammasu,
                CreatureConstants.Leopard,
                CreatureConstants.Lion,
                CreatureConstants.Lion_Dire,
                CreatureConstants.Lizard,
                CreatureConstants.Lizard_Monitor,
                CreatureConstants.Lizardfolk,
                CreatureConstants.Megaraptor,
                CreatureConstants.Mimic,
                CreatureConstants.Monkey,
                CreatureConstants.Mule,
                CreatureConstants.Naga_Guardian,
                CreatureConstants.Nymph,
                CreatureConstants.Otyugh,
                CreatureConstants.Owl,
                CreatureConstants.Owl_Giant,
                CreatureConstants.Owlbear,
                CreatureConstants.Pegasus,
                CreatureConstants.PhantomFungus,
                CreatureConstants.PhaseSpider,
                CreatureConstants.Phasm,
                CreatureConstants.Pixie,
                CreatureConstants.Pony,
                CreatureConstants.Pony_War,
                CreatureConstants.PrayingMantis_Giant,
                CreatureConstants.Pseudodragon,
                CreatureConstants.PurpleWorm,
                CreatureConstants.Pyrohydra_5Heads,
                CreatureConstants.Pyrohydra_6Heads,
                CreatureConstants.Pyrohydra_7Heads,
                CreatureConstants.Pyrohydra_8Heads,
                CreatureConstants.Pyrohydra_9Heads,
                CreatureConstants.Pyrohydra_10Heads,
                CreatureConstants.Pyrohydra_11Heads,
                CreatureConstants.Pyrohydra_12Heads,
                CreatureConstants.Rat,
                CreatureConstants.Rat_Dire,
                CreatureConstants.Raven,
                CreatureConstants.RazorBoar,
                CreatureConstants.Remorhaz,
                CreatureConstants.Rhinoceras,
                CreatureConstants.Roc,
                CreatureConstants.RustMonster,
                CreatureConstants.Satyr,
                CreatureConstants.Scorpion_Monstrous_Colossal,
                CreatureConstants.Scorpion_Monstrous_Gargantuan,
                CreatureConstants.Scorpion_Monstrous_Huge,
                CreatureConstants.Scorpion_Monstrous_Large,
                CreatureConstants.Scorpion_Monstrous_Medium,
                CreatureConstants.Scorpion_Monstrous_Small,
                CreatureConstants.Scorpion_Monstrous_Tiny,
                CreatureConstants.ShamblingMound,
                CreatureConstants.ShockerLizard,
                CreatureConstants.Shrieker,
                CreatureConstants.Snake_Constrictor,
                CreatureConstants.Snake_Constrictor_Giant,
                CreatureConstants.Snake_Viper_Huge,
                CreatureConstants.Snake_Viper_Large,
                CreatureConstants.Snake_Viper_Small,
                CreatureConstants.Snake_Viper_Medium,
                CreatureConstants.Snake_Viper_Tiny,
                CreatureConstants.Spider_Monstrous_Colossal,
                CreatureConstants.Spider_Monstrous_Gargantuan,
                CreatureConstants.Spider_Monstrous_Huge,
                CreatureConstants.Spider_Monstrous_Large,
                CreatureConstants.Spider_Monstrous_Medium,
                CreatureConstants.Spider_Monstrous_Small,
                CreatureConstants.Spider_Monstrous_Tiny,
                CreatureConstants.StagBeetle_Giant,
                CreatureConstants.SpiderEater,
                CreatureConstants.Stirge,
                CreatureConstants.Tendriculos,
                CreatureConstants.Tiger,
                CreatureConstants.Tiger_Dire,
                CreatureConstants.Toad,
                CreatureConstants.Treant,
                CreatureConstants.Triceratops,
                CreatureConstants.Tyrannosaurus,
                CreatureConstants.Unicorn,
                CreatureConstants.VioletFungus,
                CreatureConstants.Wasp_Giant,
                CreatureConstants.Weasel,
                CreatureConstants.Weasel_Dire,
                CreatureConstants.Wolf,
                CreatureConstants.Wolf_Dire,
                CreatureConstants.Wolverine,
                CreatureConstants.Wolverine_Dire,
                CreatureConstants.Wyvern,
                CreatureConstants.Yrthak
            };

            AssertEntriesAreComplete(names);
        }
        public override void EntriesAreComplete()
        {
            var names = new[]
            {
                CreatureConstants.Ankheg,
                CreatureConstants.Annis,
                CreatureConstants.Ant_Giant_Soldier,
                CreatureConstants.Ant_Giant_Worker,
                CreatureConstants.Ant_Giant_Queen,
                CreatureConstants.Ape,
                CreatureConstants.Ape_Dire,
                CreatureConstants.Aranea,
                CreatureConstants.AssassinVine,
                CreatureConstants.Athach,
                CreatureConstants.Baboon,
                CreatureConstants.Badger,
                CreatureConstants.Badger_Dire,
                CreatureConstants.Basilisk,
                CreatureConstants.Bat,
                CreatureConstants.Bat_Dire,
                CreatureConstants.Bear_Black,
                CreatureConstants.Bear_Brown,
                CreatureConstants.Bear_Dire,
                CreatureConstants.Bear_Polar,
                CreatureConstants.Bee_Giant,
                CreatureConstants.Behir,
                CreatureConstants.Bison,
                CreatureConstants.Boar,
                CreatureConstants.Boar_Dire,
                CreatureConstants.BombardierBeetle_Giant,
                CreatureConstants.Bugbear,
                CreatureConstants.Bulette,
                CreatureConstants.Camel,
                CreatureConstants.Cat,
                CreatureConstants.Centipede_Monstrous_Colossal,
                CreatureConstants.Centipede_Monstrous_Gargantuan,
                CreatureConstants.Centipede_Monstrous_Huge,
                CreatureConstants.Centipede_Monstrous_Large,
                CreatureConstants.Centipede_Monstrous_Medium,
                CreatureConstants.Centipede_Monstrous_Small,
                CreatureConstants.Centipede_Monstrous_Tiny,
                CreatureConstants.Cheetah,
                CreatureConstants.Chimera,
                CreatureConstants.Choker,
                CreatureConstants.Cloaker,
                CreatureConstants.Cockatrice,
                CreatureConstants.Criosphinx,
                CreatureConstants.Crocodile,
                CreatureConstants.Crocodile_Giant,
                CreatureConstants.Cryohydra_5Heads,
                CreatureConstants.Cryohydra_6Heads,
                CreatureConstants.Cryohydra_7Heads,
                CreatureConstants.Cryohydra_8Heads,
                CreatureConstants.Cryohydra_9Heads,
                CreatureConstants.Cryohydra_10Heads,
                CreatureConstants.Cryohydra_11Heads,
                CreatureConstants.Cryohydra_12Heads,
                CreatureConstants.Darkmantle,
                CreatureConstants.Delver,
                CreatureConstants.Derro,
                CreatureConstants.Destrachan,
                CreatureConstants.Digester,
                CreatureConstants.Deinonychus,
                CreatureConstants.Dog,
                CreatureConstants.Donkey,
                CreatureConstants.Doppelganger,
                CreatureConstants.Dragon_Black_Wyrmling,
                CreatureConstants.Dragon_Black_VeryYoung,
                CreatureConstants.Dragon_Black_Young,
                CreatureConstants.Dragon_Black_Juvenile,
                CreatureConstants.Dragon_Black_YoungAdult,
                CreatureConstants.Dragon_Black_Adult,
                CreatureConstants.Dragon_Black_MatureAdult,
                CreatureConstants.Dragon_Black_Old,
                CreatureConstants.Dragon_Black_VeryOld,
                CreatureConstants.Dragon_Black_Ancient,
                CreatureConstants.Dragon_Black_Wyrm,
                CreatureConstants.Dragon_Black_GreatWyrm,
                CreatureConstants.Dragon_Blue_Wyrmling,
                CreatureConstants.Dragon_Blue_VeryYoung,
                CreatureConstants.Dragon_Blue_Young,
                CreatureConstants.Dragon_Blue_Juvenile,
                CreatureConstants.Dragon_Blue_YoungAdult,
                CreatureConstants.Dragon_Blue_Adult,
                CreatureConstants.Dragon_Blue_MatureAdult,
                CreatureConstants.Dragon_Blue_Old,
                CreatureConstants.Dragon_Blue_VeryOld,
                CreatureConstants.Dragon_Blue_Ancient,
                CreatureConstants.Dragon_Blue_Wyrm,
                CreatureConstants.Dragon_Blue_GreatWyrm,
                CreatureConstants.Dragon_Green_Wyrmling,
                CreatureConstants.Dragon_Green_VeryYoung,
                CreatureConstants.Dragon_Green_Young,
                CreatureConstants.Dragon_Green_Juvenile,
                CreatureConstants.Dragon_Green_YoungAdult,
                CreatureConstants.Dragon_Green_Adult,
                CreatureConstants.Dragon_Green_MatureAdult,
                CreatureConstants.Dragon_Green_Old,
                CreatureConstants.Dragon_Green_VeryOld,
                CreatureConstants.Dragon_Green_Ancient,
                CreatureConstants.Dragon_Green_Wyrm,
                CreatureConstants.Dragon_Green_GreatWyrm,
                CreatureConstants.Dragon_Red_Wyrmling,
                CreatureConstants.Dragon_Red_VeryYoung,
                CreatureConstants.Dragon_Red_Young,
                CreatureConstants.Dragon_Red_Juvenile,
                CreatureConstants.Dragon_Red_YoungAdult,
                CreatureConstants.Dragon_Red_Adult,
                CreatureConstants.Dragon_Red_MatureAdult,
                CreatureConstants.Dragon_Red_Old,
                CreatureConstants.Dragon_Red_VeryOld,
                CreatureConstants.Dragon_Red_Ancient,
                CreatureConstants.Dragon_Red_Wyrm,
                CreatureConstants.Dragon_Red_GreatWyrm,
                CreatureConstants.Dragon_White_Wyrmling,
                CreatureConstants.Dragon_White_VeryYoung,
                CreatureConstants.Dragon_White_Young,
                CreatureConstants.Dragon_White_Juvenile,
                CreatureConstants.Dragon_White_YoungAdult,
                CreatureConstants.Dragon_White_Adult,
                CreatureConstants.Dragon_White_MatureAdult,
                CreatureConstants.Dragon_White_Old,
                CreatureConstants.Dragon_White_VeryOld,
                CreatureConstants.Dragon_White_Ancient,
                CreatureConstants.Dragon_White_Wyrm,
                CreatureConstants.Dragon_White_GreatWyrm,
                CreatureConstants.Dragonne,
                CreatureConstants.Drider,
                CreatureConstants.DwarfWarrior,
                CreatureConstants.Eagle,
                CreatureConstants.Elephant,
                CreatureConstants.ElfWarrior,
                CreatureConstants.Ettercap,
                CreatureConstants.Ettin,
                CreatureConstants.FireBeetle_Giant,
                CreatureConstants.FrostWorm,
                CreatureConstants.Gargoyle,
                CreatureConstants.Giant_Cloud,
                CreatureConstants.Giant_Fire,
                CreatureConstants.Giant_Frost,
                CreatureConstants.Giant_Hill,
                CreatureConstants.Giant_Stone,
                CreatureConstants.GibberingMouther,
                CreatureConstants.Girallon,
                CreatureConstants.Gnoll,
                CreatureConstants.Goblin,
                CreatureConstants.Gorgon,
                CreatureConstants.GrayRender,
                CreatureConstants.GreenHag,
                CreatureConstants.Grick,
                CreatureConstants.Griffon,
                CreatureConstants.Grimlock,
                CreatureConstants.Gynosphinx,
                CreatureConstants.HalflingWarrior,
                CreatureConstants.Harpy,
                CreatureConstants.Hawk,
                CreatureConstants.Hieracosphinx,
                CreatureConstants.Hobgoblin,
                CreatureConstants.Horse_Heavy,
                CreatureConstants.Horse_Heavy_War,
                CreatureConstants.Horse_Light,
                CreatureConstants.Horse_Light_War,
                CreatureConstants.Hippogriff,
                CreatureConstants.Hydra_5Heads,
                CreatureConstants.Hydra_6Heads,
                CreatureConstants.Hydra_7Heads,
                CreatureConstants.Hydra_8Heads,
                CreatureConstants.Hydra_9Heads,
                CreatureConstants.Hydra_10Heads,
                CreatureConstants.Hydra_11Heads,
                CreatureConstants.Hydra_12Heads,
                CreatureConstants.Hyena,
                CreatureConstants.Kobold,
                CreatureConstants.Krenshar,
                CreatureConstants.Lamia,
                CreatureConstants.Leopard,
                CreatureConstants.Lion,
                CreatureConstants.Lion_Dire,
                CreatureConstants.Lizard,
                CreatureConstants.Lizard_Monitor,
                CreatureConstants.Lizardfolk,
                CreatureConstants.Manticore,
                CreatureConstants.Medusa,
                CreatureConstants.Megaraptor,
                CreatureConstants.Mimic,
                CreatureConstants.MindFlayer,
                CreatureConstants.Minotaur,
                CreatureConstants.Monkey,
                CreatureConstants.Mule,
                CreatureConstants.Naga_Dark,
                CreatureConstants.Naga_Spirit,
                CreatureConstants.Ogre,
                CreatureConstants.OgreMage,
                CreatureConstants.Orc,
                CreatureConstants.Otyugh,
                CreatureConstants.Owl,
                CreatureConstants.Owlbear,
                CreatureConstants.PhantomFungus,
                CreatureConstants.PhaseSpider,
                CreatureConstants.Phasm,
                CreatureConstants.Pony,
                CreatureConstants.Pony_War,
                CreatureConstants.PrayingMantis_Giant,
                CreatureConstants.PurpleWorm,
                CreatureConstants.Pyrohydra_5Heads,
                CreatureConstants.Pyrohydra_6Heads,
                CreatureConstants.Pyrohydra_7Heads,
                CreatureConstants.Pyrohydra_8Heads,
                CreatureConstants.Pyrohydra_9Heads,
                CreatureConstants.Pyrohydra_10Heads,
                CreatureConstants.Pyrohydra_11Heads,
                CreatureConstants.Pyrohydra_12Heads,
                CreatureConstants.Rat,
                CreatureConstants.Rat_Dire,
                CreatureConstants.Raven,
                CreatureConstants.RazorBoar,
                CreatureConstants.Remorhaz,
                CreatureConstants.Rhinoceras,
                CreatureConstants.Roc,
                CreatureConstants.Roper,
                CreatureConstants.RustMonster,
                CreatureConstants.Satyr,
                CreatureConstants.Scorpion_Monstrous_Colossal,
                CreatureConstants.Scorpion_Monstrous_Gargantuan,
                CreatureConstants.Scorpion_Monstrous_Huge,
                CreatureConstants.Scorpion_Monstrous_Large,
                CreatureConstants.Scorpion_Monstrous_Medium,
                CreatureConstants.Scorpion_Monstrous_Small,
                CreatureConstants.Scorpion_Monstrous_Tiny,
                CreatureConstants.Scorpionfolk,
                CreatureConstants.SeaHag,
                CreatureConstants.ShamblingMound,
                CreatureConstants.ShockerLizard,
                CreatureConstants.Shrieker,
                CreatureConstants.Snake_Constrictor,
                CreatureConstants.Snake_Constrictor_Giant,
                CreatureConstants.Snake_Viper_Huge,
                CreatureConstants.Snake_Viper_Large,
                CreatureConstants.Snake_Viper_Small,
                CreatureConstants.Snake_Viper_Medium,
                CreatureConstants.Snake_Viper_Tiny,
                CreatureConstants.Spider_Monstrous_Colossal,
                CreatureConstants.Spider_Monstrous_Gargantuan,
                CreatureConstants.Spider_Monstrous_Huge,
                CreatureConstants.Spider_Monstrous_Large,
                CreatureConstants.Spider_Monstrous_Medium,
                CreatureConstants.Spider_Monstrous_Small,
                CreatureConstants.Spider_Monstrous_Tiny,
                CreatureConstants.StagBeetle_Giant,
                CreatureConstants.SpiderEater,
                CreatureConstants.Stirge,
                CreatureConstants.Tendriculos,
                CreatureConstants.Tiger,
                CreatureConstants.Tiger_Dire,
                CreatureConstants.Toad,
                CreatureConstants.Triceratops,
                CreatureConstants.Troglodyte,
                CreatureConstants.Troll,
                CreatureConstants.Tyrannosaurus,
                CreatureConstants.UmberHulk,
                CreatureConstants.VioletFungus,
                CreatureConstants.Wasp_Giant,
                CreatureConstants.Weasel,
                CreatureConstants.Weasel_Dire,
                CreatureConstants.WillOWisp,
                CreatureConstants.WinterWolf,
                CreatureConstants.Wolf,
                CreatureConstants.Wolf_Dire,
                CreatureConstants.Wolverine,
                CreatureConstants.Wolverine_Dire,
                CreatureConstants.Worg,
                CreatureConstants.Wyvern,
                CreatureConstants.Yrthak,
                CreatureConstants.YuanTi_Abomination,
                CreatureConstants.YuanTi_Halfblood,
                CreatureConstants.YuanTi_Pureblood
            };

            AssertEntriesAreComplete(names);
        }
        public void TemperateDesertEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.One),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Donkey, RollConstants.One),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Temperate + EnvironmentConstants.Desert, encounters);
        }
        public void TemperateHillsEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Badger, RollConstants.One),
                FormatEncounter(CreatureConstants.Badger, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Badger, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Badger_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Badger_Dire, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.One),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.One),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.DisplacerBeast_PackLord, RollConstants.One),
                FormatEncounter(CreatureConstants.DisplacerBeast_PackLord, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.One),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.One),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD2,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2,
                    CreatureConstants.Goblin, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2,
                    CreatureConstants.Orc, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.One),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.One),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.PrayingMantis_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Tendriculos, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wolverine, RollConstants.One),
                FormatEncounter(CreatureConstants.Wolverine_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Wolverine_Dire, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.One),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD4Plus2),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Temperate + EnvironmentConstants.Hills, encounters);
        }
Example #8
0
 public override void EntriesAreComplete()
 {
     var entries = new[] { "All", "CR" };
     AssertEntriesAreComplete(entries);
 }
        public void WarmHillsEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Athach, RollConstants.One),
                FormatEncounter(CreatureConstants.Athach, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Athach, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.One),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.One),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.One),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.One),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Hieracosphinx, RollConstants.One),
                FormatEncounter(CreatureConstants.Hieracosphinx, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Hieracosphinx, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.One),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.One),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Tendriculos, RollConstants.One),
                FormatEncounter(CreatureConstants.Triceratops, RollConstants.One),
                FormatEncounter(CreatureConstants.Triceratops, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Triceratops, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Tyrannosaurus, RollConstants.One),
                FormatEncounter(CreatureConstants.Tyrannosaurus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.One),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.One),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD6Plus5,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD6Plus3,
                    CreatureConstants.Scorpion_Monstrous_Large, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Large, RollConstants.OneD3Plus1),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Warm + EnvironmentConstants.Hills, encounters);
        }
        public void WarmForestEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Ape, RollConstants.One),
                FormatEncounter(CreatureConstants.Ape, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ape, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ape_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Ape_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Aranea, RollConstants.One),
                FormatEncounter(CreatureConstants.Aranea, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.AssassinVine, RollConstants.One),
                FormatEncounter(CreatureConstants.AssassinVine, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Baboon, RollConstants.One),
                FormatEncounter(CreatureConstants.Baboon, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.One),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Boar, RollConstants.One),
                FormatEncounter(CreatureConstants.Boar, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Boar_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Boar_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Couatl, RollConstants.One),
                FormatEncounter(CreatureConstants.Couatl, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Couatl, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Criosphinx, RollConstants.One),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.One),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Dryad, RollConstants.One),
                FormatEncounter(CreatureConstants.Dryad, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Elephant, RollConstants.One),
                FormatEncounter(CreatureConstants.Ettercap, RollConstants.One),
                FormatEncounter(CreatureConstants.Ettercap, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettercap, RollConstants.OneD2,
                    CreatureConstants.Spider_Monstrous_Medium, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Girallon, RollConstants.One),
                FormatEncounter(CreatureConstants.Girallon, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.GreenHag, RollConstants.One),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.One),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Leopard, RollConstants.One),
                FormatEncounter(CreatureConstants.Leopard, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.One),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Pegasus, RollConstants.One),
                FormatEncounter(CreatureConstants.Pegasus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Pegasus, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.PrayingMantis_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Pseudodragon, RollConstants.One),
                FormatEncounter(CreatureConstants.Pseudodragon, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Pseudodragon, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Rakshasa, RollConstants.One),
                FormatEncounter(CreatureConstants.ShamblingMound, RollConstants.One),
                FormatEncounter(CreatureConstants.Snake_Constrictor, RollConstants.One),
                FormatEncounter(CreatureConstants.Snake_Constrictor_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.StagBeetle_Giant, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.StagBeetle_Giant, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Tendriculos, RollConstants.One),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.One),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.OneD3Plus1,
                    CreatureConstants.Boar, RollConstants.OneD3),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.One),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.RazorBoar, RollConstants.One),
                FormatEncounter(CreatureConstants.Lizard, RollConstants.One),
                FormatEncounter(CreatureConstants.Monkey, RollConstants.OneD4Plus10),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Warm + EnvironmentConstants.Forest, encounters);
        }
        public void WarmDesertEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Baboon, RollConstants.One),
                FormatEncounter(CreatureConstants.Baboon, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Camel, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Camel, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Criosphinx, RollConstants.One),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.One),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Dragonne, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Gynosphinx, RollConstants.One),
                FormatEncounter(CreatureConstants.Gynosphinx, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Hieracosphinx, RollConstants.One),
                FormatEncounter(CreatureConstants.Hieracosphinx, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Hieracosphinx, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.One),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD6Plus5,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD6Plus3,
                    CreatureConstants.Scorpion_Monstrous_Large, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Large, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Hyena, RollConstants.One),
                FormatEncounter(CreatureConstants.Hyena, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Hyena, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Hyena, RollConstants.OneD4Plus10),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Warm + EnvironmentConstants.Desert, encounters);
        }
        public void TemperatePlainsEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ankheg, RollConstants.One),
                FormatEncounter(CreatureConstants.Ankheg, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Badger, RollConstants.One),
                FormatEncounter(CreatureConstants.Badger, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Badger, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Badger_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Badger_Dire, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.BlinkDog, RollConstants.One),
                FormatEncounter(CreatureConstants.BlinkDog, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.BlinkDog, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.One),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.One),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.PrayingMantis_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wolverine, RollConstants.One),
                FormatEncounter(CreatureConstants.Wolverine_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Wolverine_Dire, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Bison, RollConstants.One),
                FormatEncounter(CreatureConstants.Bison, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Bison, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Horse_Light, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Horse_Light, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Pony, RollConstants.One),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Temperate + EnvironmentConstants.Plains, encounters);
        }
        public void TemperateMountainEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.One),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Bugbear, RollConstants.One),
                FormatEncounter(CreatureConstants.Bugbear, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Bugbear, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.One),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.DisplacerBeast_PackLord, RollConstants.One),
                FormatEncounter(CreatureConstants.DisplacerBeast_PackLord, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.One),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD2,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2,
                    CreatureConstants.Goblin, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Ettin, RollConstants.OneD3Plus1,
                    CreatureConstants.Bear_Brown, RollConstants.OneD2,
                    CreatureConstants.Orc, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Giant_Cloud, RollConstants.One),
                FormatEncounter(CreatureConstants.Giant_Cloud, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Giant_Cloud, RollConstants.OneD3Plus1,
                    CreatureConstants.Griffon, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Giant_Cloud, RollConstants.OneD3Plus1,
                    CreatureConstants.Lion_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Giant_Cloud, RollConstants.OneD6Plus5,
                    CreatureConstants.Griffon, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Giant_Cloud, RollConstants.OneD6Plus5,
                    CreatureConstants.Lion_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Giant_Storm, RollConstants.One),
                FormatEncounter(CreatureConstants.Giant_Storm, RollConstants.OneD3Plus1,
                    CreatureConstants.Roc, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Giant_Storm, RollConstants.OneD3Plus1,
                    CreatureConstants.Griffon, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.One),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Roc, RollConstants.One),
                FormatEncounter(CreatureConstants.Roc, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Weasel, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.One),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.RazorBoar, RollConstants.One),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Temperate + EnvironmentConstants.Mountain, encounters);
        }
        public void TemperateMarshEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.GreenHag, RollConstants.One),
                FormatEncounter(CreatureConstants.SeaHag, RollConstants.One),
                FormatEncounter(CreatureConstants.Lizardfolk, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Lizardfolk, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Lizardfolk, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.PrayingMantis_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.ShamblingMound, RollConstants.One),
                FormatEncounter(CreatureConstants.Tendriculos, RollConstants.One),
                FormatEncounter(CreatureConstants.Toad, RollConstants.OneD4Plus10),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Temperate + EnvironmentConstants.Marsh, encounters);
        }
        public override void EntriesAreComplete()
        {
            var names = new[]
            {
                CreatureConstants.Giant_Cloud,
                CreatureConstants.Spider_Monstrous_Colossal,
                CreatureConstants.Cryohydra_10Heads,
                CreatureConstants.Devourer,
                CreatureConstants.Elemental_Air_Elder,
                CreatureConstants.Elemental_Earth_Elder,
                CreatureConstants.Elemental_Fire_Elder,
                CreatureConstants.Elemental_Water_Elder,
                CreatureConstants.BarbedDevil_Hamatula,
                CreatureConstants.Hezrou,
                CreatureConstants.Hydra_12Heads,
                CreatureConstants.Pyrohydra_10Heads,
                CreatureConstants.Annis,
                CreatureConstants.Xorn_Average,
                CreatureConstants.Salamander_Average,
                CreatureConstants.Babau,
                CreatureConstants.Belker,
                CreatureConstants.ChainDevil_Kyton,
                CreatureConstants.Digester,
                CreatureConstants.Ettin,
                CreatureConstants.Hydra_7Heads,
                CreatureConstants.Centipede_Monstrous_Gargantuan,
                CreatureConstants.Girallon,
                CreatureConstants.Lamia,
                CreatureConstants.Megaraptor,
                CreatureConstants.Pyrohydra_5Heads,
                CreatureConstants.Cryohydra_5Heads,
                CreatureConstants.ShamblingMound,
                CreatureConstants.Tendriculos,
                CreatureConstants.WillOWisp,
                CreatureConstants.Wyvern,
                CreatureConstants.Xill,
                CreatureConstants.Dragon_Blue_Young,
                CreatureConstants.Dragon_White_Juvenile,
                CreatureConstants.Dragon_Brass_Young,
                CreatureConstants.Dragon_Black_Adult,
                CreatureConstants.Dragon_Blue_YoungAdult,
                CreatureConstants.Dragon_Green_YoungAdult,
                CreatureConstants.Dragon_Copper_YoungAdult,
                CreatureConstants.Dragon_Gold_Juvenile,
            };

            AssertEntriesAreComplete(names);
        }
        public void WarmMarshEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Crocodile, RollConstants.One),
                FormatEncounter(CreatureConstants.Crocodile, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Crocodile_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Crocodile_Giant, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Criosphinx, RollConstants.One),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.One),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.GreenHag, RollConstants.One),
                FormatEncounter(CreatureConstants.SeaHag, RollConstants.One),
                FormatEncounter(CreatureConstants.Lizardfolk, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Lizardfolk, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Lizardfolk, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.One),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.PrayingMantis_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Rakshasa, RollConstants.One),
                FormatEncounter(CreatureConstants.ShamblingMound, RollConstants.One),
                FormatEncounter(CreatureConstants.ShockerLizard, RollConstants.One),
                FormatEncounter(CreatureConstants.ShockerLizard, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.ShockerLizard, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.ShockerLizard, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Tendriculos, RollConstants.One),
                FormatEncounter(CreatureConstants.Tyrannosaurus, RollConstants.One),
                FormatEncounter(CreatureConstants.Tyrannosaurus, RollConstants.OneD2),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Warm + EnvironmentConstants.Marsh, encounters);
        }
        public override void EntriesAreComplete()
        {
            var names = new[]
            {
                CreatureConstants.Aranea,
                CreatureConstants.HoundArchon,
                CreatureConstants.Barghest,
                CreatureConstants.Bear_Brown,
                CreatureConstants.Boar_Dire,
                CreatureConstants.Wolverine_Dire,
                CreatureConstants.DisplacerBeast,
                CreatureConstants.Gargoyle,
                CreatureConstants.Crocodile_Giant,
                CreatureConstants.StagBeetle_Giant,
                CreatureConstants.Ooze_Gray,
                CreatureConstants.Griffon,
                CreatureConstants.Harpy,
                CreatureConstants.Hydra_5Heads,
                CreatureConstants.Janni,
                CreatureConstants.Mimic,
                CreatureConstants.Otyugh,
                CreatureConstants.Owlbear,
                CreatureConstants.Pixie,
                CreatureConstants.Bear_Polar,
                CreatureConstants.Rhinoceras,
                CreatureConstants.Tiger,
                CreatureConstants.VampireSpawn,
                CreatureConstants.Wereboar,
                CreatureConstants.Minotaur,
                CreatureConstants.CelestialCreature,
                CreatureConstants.FiendishCreature,
                CreatureConstants.Skeleton,
                CreatureConstants.Zombie,
                CreatureConstants.Character,
                CreatureConstants.Dragon_Black_VeryYoung,
                CreatureConstants.Dragon_Blue_VeryYoung,
                CreatureConstants.Dragon_Green_VeryYoung,
                CreatureConstants.Dragon_Red_Wyrmling,
                CreatureConstants.Dragon_White_Young,
                CreatureConstants.Dragon_Brass_VeryYoung,
                CreatureConstants.Dragon_Silver_Wyrmling,
            };

            AssertEntriesAreComplete(names);
        }
        public void WarmMountainEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ape, RollConstants.One),
                FormatEncounter(CreatureConstants.Ape, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ape, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ape_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Ape_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Athach, RollConstants.One),
                FormatEncounter(CreatureConstants.Athach, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Athach, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.One),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Girallon, RollConstants.One),
                FormatEncounter(CreatureConstants.Girallon, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.One),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Griffon, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Roc, RollConstants.One),
                FormatEncounter(CreatureConstants.Roc, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.One),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.RazorBoar, RollConstants.One),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Warm + EnvironmentConstants.Mountain, encounters);
        }
        public void TemperateEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Athach, RollConstants.One),
                FormatEncounter(CreatureConstants.Athach, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Athach, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Bee_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Bee_Giant, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Bee_Giant, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.BombardierBeetle_Giant, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.BombardierBeetle_Giant, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Bulette, RollConstants.One),
                FormatEncounter(CreatureConstants.Bulette, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Colossal, RollConstants.One), //9
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Gargantuan, RollConstants.One), //6
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Huge, RollConstants.One), //2
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Huge, RollConstants.OneD3Plus1), //5
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Large, RollConstants.One), //1
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Large, RollConstants.OneD3Plus1), //3
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Medium, RollConstants.One), //1
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Medium, RollConstants.OneD3Plus1), //2
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Small, RollConstants.OneD3Plus1), //1
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Small, RollConstants.OneD6Plus5), //2
                FormatEncounter(CreatureConstants.Centipede_Monstrous_Tiny, RollConstants.OneD4Plus10), //2
                FormatEncounter(CreatureConstants.Cockatrice, RollConstants.One),
                FormatEncounter(CreatureConstants.Cockatrice, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Cockatrice, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Cockatrice, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Digester, RollConstants.One),
                FormatEncounter(CreatureConstants.Digester, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.FireBeetle_Giant, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.FireBeetle_Giant, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Gnoll, RollConstants.One),
                FormatEncounter(CreatureConstants.Gnoll, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Gnoll, RollConstants.OneD3Plus1,
                    CreatureConstants.Hyena, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Goblin, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Goblin, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Goblin, RollConstants.OneD4Plus10,
                    CreatureConstants.Worg, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Goblin, RollConstants.OneD4Plus10,
                    CreatureConstants.Worg, RollConstants.OneD4Plus10,
                    CreatureConstants.Wolf_Dire, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Gorgon, RollConstants.One),
                FormatEncounter(CreatureConstants.Gorgon, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Gorgon, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Gorgon, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Harpy, RollConstants.One),
                FormatEncounter(CreatureConstants.Harpy, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Harpy, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Hobgoblin, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Hobgoblin, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Hobgoblin, RollConstants.OneD4Plus10,
                    CreatureConstants.Ogre, RollConstants.OneD3,
                    CreatureConstants.Wolf_Dire, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Hobgoblin, RollConstants.OneD4Plus10,
                    CreatureConstants.Troll, RollConstants.OneD3,
                    CreatureConstants.Wolf_Dire, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Lammasu, RollConstants.One),
                FormatEncounter(CreatureConstants.Manticore, RollConstants.One),
                FormatEncounter(CreatureConstants.Manticore, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Manticore, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Naga_Dark, RollConstants.One),
                FormatEncounter(CreatureConstants.Naga_Dark, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Naga_Guardian, RollConstants.One),
                FormatEncounter(CreatureConstants.Naga_Guardian, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Naga_Spirit, RollConstants.One),
                FormatEncounter(CreatureConstants.Naga_Spirit, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Colossal, RollConstants.One), //12
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Gargantuan, RollConstants.One), //10
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Huge, RollConstants.One), //7
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Huge, RollConstants.OneD3Plus1), //10
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Large, RollConstants.One), //3
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Large, RollConstants.OneD3Plus1), //6
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.One), //1
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD3Plus1), //3
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Small, RollConstants.OneD3Plus1), //2
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Small, RollConstants.OneD6Plus5), //4
                FormatEncounter(CreatureConstants.Scorpion_Monstrous_Tiny, RollConstants.OneD4Plus10), //3
                FormatEncounter(CreatureConstants.Snake_Viper_Huge, RollConstants.One), //3
                FormatEncounter(CreatureConstants.Snake_Viper_Large, RollConstants.One), //2
                FormatEncounter(CreatureConstants.Snake_Viper_Medium, RollConstants.One), //1
                FormatEncounter(CreatureConstants.Snake_Viper_Small, RollConstants.One), //1
                FormatEncounter(CreatureConstants.Snake_Viper_Tiny, RollConstants.One), //1
                FormatEncounter(CreatureConstants.Spider_Monstrous_Colossal, RollConstants.One), //11
                FormatEncounter(CreatureConstants.Spider_Monstrous_Gargantuan, RollConstants.One), //8
                FormatEncounter(CreatureConstants.Spider_Monstrous_Huge, RollConstants.One), //5
                FormatEncounter(CreatureConstants.Spider_Monstrous_Huge, RollConstants.OneD3Plus1), //8
                FormatEncounter(CreatureConstants.Spider_Monstrous_Large, RollConstants.One), //2
                FormatEncounter(CreatureConstants.Spider_Monstrous_Large, RollConstants.OneD3Plus1), //5
                FormatEncounter(CreatureConstants.Spider_Monstrous_Medium, RollConstants.One), //1
                FormatEncounter(CreatureConstants.Spider_Monstrous_Medium, RollConstants.OneD3Plus1), //3
                FormatEncounter(CreatureConstants.Spider_Monstrous_Small, RollConstants.OneD3Plus1), //2
                FormatEncounter(CreatureConstants.Spider_Monstrous_Small, RollConstants.OneD6Plus5), //4
                FormatEncounter(CreatureConstants.Spider_Monstrous_Tiny, RollConstants.OneD4Plus10), //3
                FormatEncounter(CreatureConstants.SpiderEater, RollConstants.One),
                FormatEncounter(CreatureConstants.Wasp_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Wasp_Giant, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Wasp_Giant, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.YuanTi_Halfblood, RollConstants.One),
                FormatEncounter(CreatureConstants.YuanTi_Halfblood, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.YuanTi_Halfblood, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.YuanTi_Pureblood, RollConstants.One),
                FormatEncounter(CreatureConstants.YuanTi_Pureblood, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.YuanTi_Pureblood, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.YuanTi_Abomination, RollConstants.One),
                FormatEncounter(CreatureConstants.YuanTi_Abomination, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.YuanTi_Abomination, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.YuanTi_Abomination, RollConstants.OneD3Plus1,
                    CreatureConstants.YuanTi_Halfblood, RollConstants.OneD4Plus2,
                    CreatureConstants.YuanTi_Pureblood, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.YuanTi_Abomination, RollConstants.OneD6Plus3,
                    CreatureConstants.YuanTi_Halfblood, RollConstants.OneD6Plus5,
                    CreatureConstants.YuanTi_Pureblood, RollConstants.OneD4Plus10),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Temperate, encounters);
        }
        public void WarmPlainsEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ankheg, RollConstants.One),
                FormatEncounter(CreatureConstants.Ankheg, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Cheetah, RollConstants.One),
                FormatEncounter(CreatureConstants.Cheetah, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Cheetah, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.One),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Deinonychus, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Elephant, RollConstants.One),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.One),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Hippogriff, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.One),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Leopard, RollConstants.One),
                FormatEncounter(CreatureConstants.Leopard, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.One),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Megaraptor, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.PrayingMantis_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Rhinoceras, RollConstants.One),
                FormatEncounter(CreatureConstants.Rhinoceras, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Rhinoceras, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Triceratops, RollConstants.One),
                FormatEncounter(CreatureConstants.Triceratops, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Triceratops, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Tyrannosaurus, RollConstants.One),
                FormatEncounter(CreatureConstants.Tyrannosaurus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.One),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD6Plus5,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD6Plus3,
                    CreatureConstants.Scorpion_Monstrous_Large, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Scorpionfolk, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Medium, RollConstants.OneD4Plus10,
                    CreatureConstants.Scorpion_Monstrous_Large, RollConstants.OneD3Plus1),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Warm + EnvironmentConstants.Plains, encounters);
        }
        public override void EntriesAreComplete()
        {
            var names = new[]
            {
                CreatureConstants.Androsphinx,
                CreatureConstants.Annis,
                CreatureConstants.Ape,
                CreatureConstants.Ape_Dire,
                CreatureConstants.Athach,
                CreatureConstants.Baboon,
                CreatureConstants.Badger,
                CreatureConstants.Badger_Dire,
                CreatureConstants.Bat_Dire,
                CreatureConstants.Basilisk,
                CreatureConstants.Bear_Black,
                CreatureConstants.Bear_Brown,
                CreatureConstants.Bear_Dire,
                CreatureConstants.Bear_Polar,
                CreatureConstants.Behir,
                CreatureConstants.Bison,
                CreatureConstants.BlinkDog,
                CreatureConstants.Boar,
                CreatureConstants.Boar_Dire,
                CreatureConstants.Bugbear,
                CreatureConstants.Bulette,
                CreatureConstants.Camel,
                CreatureConstants.Cat,
                CreatureConstants.Centaur,
                CreatureConstants.Cheetah,
                CreatureConstants.Chimera,
                CreatureConstants.Choker,
                CreatureConstants.Cloaker,
                CreatureConstants.Cockatrice,
                CreatureConstants.Criosphinx,
                CreatureConstants.Crocodile,
                CreatureConstants.Crocodile_Giant,
                CreatureConstants.Cryohydra_5Heads,
                CreatureConstants.Cryohydra_6Heads,
                CreatureConstants.Cryohydra_7Heads,
                CreatureConstants.Cryohydra_8Heads,
                CreatureConstants.Cryohydra_9Heads,
                CreatureConstants.Cryohydra_10Heads,
                CreatureConstants.Cryohydra_11Heads,
                CreatureConstants.Cryohydra_12Heads,
                CreatureConstants.Delver,
                CreatureConstants.Derro,
                CreatureConstants.Destrachan,
                CreatureConstants.Digester,
                CreatureConstants.Deinonychus,
                CreatureConstants.Dog,
                CreatureConstants.Donkey,
                CreatureConstants.Doppelganger,
                CreatureConstants.Dragon_Black_Wyrmling,
                CreatureConstants.Dragon_Black_VeryYoung,
                CreatureConstants.Dragon_Black_Young,
                CreatureConstants.Dragon_Black_Juvenile,
                CreatureConstants.Dragon_Black_YoungAdult,
                CreatureConstants.Dragon_Black_Adult,
                CreatureConstants.Dragon_Blue_Wyrmling,
                CreatureConstants.Dragon_Blue_VeryYoung,
                CreatureConstants.Dragon_Blue_Young,
                CreatureConstants.Dragon_Blue_Juvenile,
                CreatureConstants.Dragon_Blue_YoungAdult,
                CreatureConstants.Dragon_Brass_Wyrmling,
                CreatureConstants.Dragon_Brass_VeryYoung,
                CreatureConstants.Dragon_Brass_Young,
                CreatureConstants.Dragon_Brass_Juvenile,
                CreatureConstants.Dragon_Brass_YoungAdult,
                CreatureConstants.Dragon_Brass_Adult,
                CreatureConstants.Dragon_Bronze_Wyrmling,
                CreatureConstants.Dragon_Bronze_VeryYoung,
                CreatureConstants.Dragon_Bronze_Young,
                CreatureConstants.Dragon_Bronze_Juvenile,
                CreatureConstants.Dragon_Bronze_YoungAdult,
                CreatureConstants.Dragon_Copper_Wyrmling,
                CreatureConstants.Dragon_Copper_VeryYoung,
                CreatureConstants.Dragon_Copper_Young,
                CreatureConstants.Dragon_Copper_Juvenile,
                CreatureConstants.Dragon_Copper_YoungAdult,
                CreatureConstants.Dragon_Copper_Adult,
                CreatureConstants.Dragon_Gold_Wyrmling,
                CreatureConstants.Dragon_Gold_VeryYoung,
                CreatureConstants.Dragon_Gold_Young,
                CreatureConstants.Dragon_Gold_Juvenile,
                CreatureConstants.Dragon_Gold_YoungAdult,
                CreatureConstants.Dragon_Green_Wyrmling,
                CreatureConstants.Dragon_Green_VeryYoung,
                CreatureConstants.Dragon_Green_Young,
                CreatureConstants.Dragon_Green_Juvenile,
                CreatureConstants.Dragon_Green_YoungAdult,
                CreatureConstants.Dragon_Red_Wyrmling,
                CreatureConstants.Dragon_Red_VeryYoung,
                CreatureConstants.Dragon_Red_Young,
                CreatureConstants.Dragon_Red_Juvenile,
                CreatureConstants.Dragon_Red_YoungAdult,
                CreatureConstants.Dragon_Silver_Wyrmling,
                CreatureConstants.Dragon_Silver_VeryYoung,
                CreatureConstants.Dragon_Silver_Young,
                CreatureConstants.Dragon_Silver_Juvenile,
                CreatureConstants.Dragon_Silver_YoungAdult,
                CreatureConstants.Dragon_White_Wyrmling,
                CreatureConstants.Dragon_White_VeryYoung,
                CreatureConstants.Dragon_White_Young,
                CreatureConstants.Dragon_White_Juvenile,
                CreatureConstants.Dragon_White_YoungAdult,
                CreatureConstants.Dragon_White_Adult,
                CreatureConstants.Dragonne,
                CreatureConstants.Dryad,
                CreatureConstants.DwarfWarrior,
                CreatureConstants.Eagle_Giant,
                CreatureConstants.Eagle,
                CreatureConstants.Elephant,
                CreatureConstants.ElfWarrior,
                CreatureConstants.Ettercap,
                CreatureConstants.Ettin,
                CreatureConstants.Giant_Cloud,
                CreatureConstants.Giant_Fire,
                CreatureConstants.Giant_Frost,
                CreatureConstants.Giant_Hill,
                CreatureConstants.Giant_Stone,
                CreatureConstants.Giant_Storm,
                CreatureConstants.Girallon,
                CreatureConstants.Gnoll,
                CreatureConstants.GnomeWarrior,
                CreatureConstants.Goblin,
                CreatureConstants.Gorgon,
                CreatureConstants.GrayRender,
                CreatureConstants.GreenHag,
                CreatureConstants.Griffon,
                CreatureConstants.Grimlock,
                CreatureConstants.Gynosphinx,
                CreatureConstants.HalflingWarrior,
                CreatureConstants.Harpy,
                CreatureConstants.Hawk,
                CreatureConstants.Hieracosphinx,
                CreatureConstants.Hobgoblin,
                CreatureConstants.Horse_Heavy,
                CreatureConstants.Horse_Heavy_War,
                CreatureConstants.Horse_Light,
                CreatureConstants.Horse_Light_War,
                CreatureConstants.Hippogriff,
                CreatureConstants.Hydra_5Heads,
                CreatureConstants.Hydra_6Heads,
                CreatureConstants.Hydra_7Heads,
                CreatureConstants.Hydra_8Heads,
                CreatureConstants.Hydra_9Heads,
                CreatureConstants.Hydra_10Heads,
                CreatureConstants.Hydra_11Heads,
                CreatureConstants.Hydra_12Heads,
                CreatureConstants.Hyena,
                CreatureConstants.Kobold,
                CreatureConstants.Krenshar,
                CreatureConstants.Lamia,
                CreatureConstants.Lammasu,
                CreatureConstants.Leopard,
                CreatureConstants.Lion,
                CreatureConstants.Lion_Dire,
                CreatureConstants.Lizard,
                CreatureConstants.Lizard_Monitor,
                CreatureConstants.Lizardfolk,
                CreatureConstants.Manticore,
                CreatureConstants.Medusa,
                CreatureConstants.Megaraptor,
                CreatureConstants.MindFlayer,
                CreatureConstants.Minotaur,
                CreatureConstants.Monkey,
                CreatureConstants.Mule,
                CreatureConstants.Ogre,
                CreatureConstants.OgreMage,
                CreatureConstants.Orc,
                CreatureConstants.Otyugh,
                CreatureConstants.Owl,
                CreatureConstants.Owl_Giant,
                CreatureConstants.Owlbear,
                CreatureConstants.Pegasus,
                CreatureConstants.Pony,
                CreatureConstants.Pony_War,
                CreatureConstants.Pseudodragon,
                CreatureConstants.Pyrohydra_5Heads,
                CreatureConstants.Pyrohydra_6Heads,
                CreatureConstants.Pyrohydra_7Heads,
                CreatureConstants.Pyrohydra_8Heads,
                CreatureConstants.Pyrohydra_9Heads,
                CreatureConstants.Pyrohydra_10Heads,
                CreatureConstants.Pyrohydra_11Heads,
                CreatureConstants.Pyrohydra_12Heads,
                CreatureConstants.Rat_Dire,
                CreatureConstants.RazorBoar,
                CreatureConstants.Rhinoceras,
                CreatureConstants.Satyr,
                CreatureConstants.SeaHag,
                CreatureConstants.ShockerLizard,
                CreatureConstants.Tiger,
                CreatureConstants.Tiger_Dire,
                CreatureConstants.Triceratops,
                CreatureConstants.Troglodyte,
                CreatureConstants.Troll,
                CreatureConstants.Tyrannosaurus,
                CreatureConstants.Unicorn,
                CreatureConstants.Weasel,
                CreatureConstants.Weasel_Dire,
                CreatureConstants.WinterWolf,
                CreatureConstants.Wolf,
                CreatureConstants.Wolf_Dire,
                CreatureConstants.Wolverine,
                CreatureConstants.Wolverine_Dire,
                CreatureConstants.Worg,
                CreatureConstants.YuanTi_Abomination,
                CreatureConstants.YuanTi_Halfblood,
                CreatureConstants.YuanTi_Pureblood,
                CreatureConstants.Snake_Constrictor,
                CreatureConstants.Snake_Viper_Huge,
                CreatureConstants.Snake_Viper_Large,
                CreatureConstants.Snake_Viper_Medium,
                CreatureConstants.Snake_Viper_Small,
                CreatureConstants.Wyvern,
            };

            AssertEntriesAreComplete(names);
        }
        public void TemperateForestEncounters()
        {
            var encounters = new[]
            {
                FormatEncounter(CreatureConstants.Ankheg, RollConstants.One),
                FormatEncounter(CreatureConstants.Ankheg, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Ant_Giant_Queen, RollConstants.One,
                    CreatureConstants.Ant_Giant_Worker, RollConstants.OneD4Plus10,
                    CreatureConstants.Ant_Giant_Soldier, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Aranea, RollConstants.One),
                FormatEncounter(CreatureConstants.Aranea, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.AssassinVine, RollConstants.One),
                FormatEncounter(CreatureConstants.AssassinVine, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Badger, RollConstants.One),
                FormatEncounter(CreatureConstants.Badger, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Badger, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Badger_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Badger_Dire, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Bat, RollConstants.OneD4Plus10),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Bat_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.One),
                FormatEncounter(CreatureConstants.Bear_Black, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Boar, RollConstants.One),
                FormatEncounter(CreatureConstants.Boar, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Boar_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Boar_Dire, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.Centaur, RollConstants.One),
                FormatEncounter(CreatureConstants.Centaur, RollConstants.OneD6Plus3),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.One),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.DisplacerBeast, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.DisplacerBeast_PackLord, RollConstants.One),
                FormatEncounter(CreatureConstants.DisplacerBeast_PackLord, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Dryad, RollConstants.One),
                FormatEncounter(CreatureConstants.Dryad, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Ettercap, RollConstants.One),
                FormatEncounter(CreatureConstants.Ettercap, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Ettercap, RollConstants.OneD2,
                    CreatureConstants.Spider_Monstrous_Medium, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.GreenHag, RollConstants.One),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.One),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Krenshar, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Owlbear, RollConstants.One),
                FormatEncounter(CreatureConstants.Owlbear, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Owlbear, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Pegasus, RollConstants.One),
                FormatEncounter(CreatureConstants.Pegasus, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Pegasus, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.PrayingMantis_Giant, RollConstants.One),
                FormatEncounter(CreatureConstants.Pseudodragon, RollConstants.One),
                FormatEncounter(CreatureConstants.Pseudodragon, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Pseudodragon, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Satyr, RollConstants.One),
                FormatEncounter(CreatureConstants.Satyr, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Satyr, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Satyr, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Satyr_WithPipes, RollConstants.One),
                FormatEncounter(CreatureConstants.Satyr, RollConstants.OneD2,
                    CreatureConstants.Satyr_WithPipes, RollConstants.One),
                FormatEncounter(CreatureConstants.Satyr, RollConstants.OneD4Plus2,
                    CreatureConstants.Satyr_WithPipes, RollConstants.One),
                FormatEncounter(CreatureConstants.Satyr, RollConstants.OneD6Plus5,
                    CreatureConstants.Satyr_WithPipes, RollConstants.One),
                FormatEncounter(CreatureConstants.ShamblingMound, RollConstants.One),
                FormatEncounter(CreatureConstants.StagBeetle_Giant, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.StagBeetle_Giant, RollConstants.OneD6Plus5),
                FormatEncounter(CreatureConstants.Tendriculos, RollConstants.One),
                FormatEncounter(CreatureConstants.Unicorn, RollConstants.One),
                FormatEncounter(CreatureConstants.Unicorn, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Unicorn, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.Weasel, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Weasel_Dire, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.One),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.OneD3Plus1),
                FormatEncounter(CreatureConstants.Wereboar, RollConstants.OneD3Plus1,
                    CreatureConstants.Boar, RollConstants.OneD3),
                FormatEncounter(CreatureConstants.Wolverine, RollConstants.One),
                FormatEncounter(CreatureConstants.Wolverine_Dire, RollConstants.One),
                FormatEncounter(CreatureConstants.Wolverine_Dire, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.One),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Wyvern, RollConstants.OneD4Plus2),
                FormatEncounter(CreatureConstants.RazorBoar, RollConstants.One),
                FormatEncounter(CreatureConstants.Hawk, RollConstants.OneD2),
                FormatEncounter(CreatureConstants.Raven, RollConstants.One),
            };

            base.DistinctCollection(EnvironmentConstants.Temperatures.Temperate + EnvironmentConstants.Forest, encounters);
        }