public void AddNewShip()
        {
            Starship ship = StarshipTools.GetRandomPirateShip(_pirateSpecies);
            ShipNode node = new ShipNode(ship)
            {
                Parent = this
            };

            Children.Add(node);
        }
        public override void Generate()
        {
            if (Globals.RollD10() >= 5)
            {
                _pirateDenContainsWayfarerStation = true;
            }

            _pirateSpecies = Species.Random;
            while (true)
            {
                _pirateSpecies = StarshipTools.GetRandomSpecies();
                if (_pirateSpecies == Species.Human ||
                    (_pirateSpecies == Species.Ork && Properties.Settings.Default.BookBattlefleetKoronus) ||
                    (_pirateSpecies == Species.Eldar && Properties.Settings.Default.BookBattlefleetKoronus) ||
                    (_pirateSpecies == Species.RakGol && Properties.Settings.Default.BookBattlefleetKoronus) ||
                    (_pirateSpecies == Species.ChaosReaver && Properties.Settings.Default.BookBattlefleetKoronus) ||
                    (_pirateSpecies == Species.DarkEldar && Properties.Settings.Default.BookBattlefleetKoronus && Properties.Settings.Default.BookTheSoulReaver))
                {
                    break;
                }
            }

            //_pirateDenShips = new List<DocContentItem>();
            int tempValue1 = Globals.RollD5() + 4;
            int tempValue2 = Globals.RollD5() + 4;
            int totalShips = tempValue1 < tempValue2 ? tempValue1 : tempValue2;

            for (int i = 0; i < totalShips; i++)
            {
                Starship ship = StarshipTools.GetRandomPirateShip(_pirateSpecies);
                ShipNode node = new ShipNode(ship)
                {
                    Parent = this
                };
                Children.Add(node);
            }
        }