Esempio n. 1
0
 public Dictionary <string, string> setSpecial() => new Dictionary <string, string>
 {
     { "Specialty", $"{specialties[NumberGen.gen(specialties.Count)]}" }
 };
        private string[] selectDragon()
        {
            var dragon = _dragons.ElementAt(NumberGen.gen(_dragons.Count));

            return(new string[] { dragon.Key, dragon.Value });
        }
Esempio n. 3
0
 public string setIdeal() => ideals[NumberGen.gen(ideals.Count)];
Esempio n. 4
0
 public string setPersonalityTrait() => personalityTraits[NumberGen.gen(personalityTraits.Count)];
Esempio n. 5
0
 public string setPrimaryStat() => NumberGen.gen(2) == 0 ? "Strength" : "Dexterity";
        public void setFamily()
        {
            int randomNumber = 0;

            while (family == "")
            {
                randomNumber = NumberGen.gen(1, 101);
                if (randomNumber == 1)
                {
                    family = "None";
                }
                else if (randomNumber == 2)
                {
                    family = "Institution, such as an asylum";
                }
                else if (randomNumber == 3)
                {
                    family = "Temple";
                }
                else if (randomNumber == 4 || randomNumber == 5)
                {
                    family = "Orphanage";
                }
                else if (randomNumber == 6 || randomNumber == 7)
                {
                    family = "Guardian";
                    otherFamilyMembers.Add(Individual.generateIndividual());
                }
                else if (8 <= randomNumber && randomNumber <= 15)
                {
                    family = "Paternal or material aunt, uncle, or both; or extended family such as a tribe or clan";
                }
                else if (16 <= randomNumber && randomNumber <= 25)
                {
                    randomNumber = NumberGen.gen(2);
                    family       = "Paternal or maternal grandparent(s)";

                    while (otherFamilyMembers.Count < randomNumber)
                    {
                        otherFamilyMembers.Add(Individual.generateIndividual());
                    }
                }
                else if (26 <= randomNumber && randomNumber <= 35)
                {
                    family = "Adoptive family (same or different race)"; //TODO: generate entire family of ADOPTIVE siblings and ADOPTIVE parents.. different than blood relations
                    setAdoptiveFamily();
                }
                else if (36 <= randomNumber && randomNumber <= 55 && parents != null)
                {
                    family = "Single father or stepfather";
                }
                else if (56 <= randomNumber && randomNumber <= 75 && parents != null)
                {
                    family = "Single mother or stepmother";
                }
                else if (76 <= randomNumber && randomNumber <= 100 & parents != null)
                {
                    family = "Mother and father";
                }

                if (randomNumber < 36 && parents.Any())
                {
                    foreach (Parent parent in parents)
                    {
                        if (parent != null)
                        {
                            parent.setAbsence();
                        }
                    }
                }
                else if (36 <= randomNumber && randomNumber <= 75 && !parents.All(x => x == null))
                {
                    randomNumber = NumberGen.gen(2);
                    parents[randomNumber].setAbsence();
                }
            }
        }
 public List <string> setToolsProf() => new List <string>
 {
     MusicalInstruments.Instance.instruments[NumberGen.gen(MusicalInstruments.Instance.instruments.Count)]
 };
Esempio n. 8
0
        public void generateStatArray()
        {
            int        randomNumber = 0;
            List <int> statArray    = new List <int>();
            Dictionary <string, int> sortedStats = new Dictionary <string, int>
            {
                { "Strength", 0 },
                { "Dexterity", 0 },
                { "Constitution", 0 },
                { "Intelligence", 0 },
                { "Wisdom", 0 },
                { "Charisma", 0 }
            };

            for (int i = 0; i < 6; i++)
            {
                statArray.Add(generateStat());
            }

            statArray = statArray.OrderBy(x => x).ToList <int>(); //Ordering by lowest to highest value.

            sortedStats[primaryStat] = statArray[statArray.Count - 1];
            statArray.RemoveAt(statArray.Count - 1);

            while (statArray.Count > 0)
            {
                randomNumber = NumberGen.gen(statArray.Count);
                var nextKey = sortedStats.FirstOrDefault(x => x.Value == 0);
                sortedStats[nextKey.Key] = statArray[randomNumber];
                statArray.RemoveAt(randomNumber);
            }

            var racialAbilityScores = characterRace.setAbilityScores();

            foreach (var kvp in racialAbilityScores)
            {
                sortedStats[kvp.Key] += racialAbilityScores[kvp.Key];
            }

            /*foreach(var stat in sortedStats)
             * {
             *  stats[stat.Key] = sortedStats[stat.Key];
             * }
             *
             * foreach(var stat in stats)
             * {
             *  statModifiers[stat.Key] = calculateStatModifier(stat.Value);
             * }*/

            strength     = sortedStats["Strength"];
            dexterity    = sortedStats["Dexterity"];
            constitution = sortedStats["Constitution"];
            intelligence = sortedStats["Intelligence"];
            wisdom       = sortedStats["Wisdom"];
            charisma     = sortedStats["Charisma"];

            strengthModifier     = calculateStatModifier(strength);
            dexterityModifier    = calculateStatModifier(dexterity);
            constitutionModifier = calculateStatModifier(constitution);
            intelligenceModifier = calculateStatModifier(intelligence);
            wisdomModifier       = calculateStatModifier(wisdom);
            charismaModifier     = calculateStatModifier(charisma);

            hitPoints = characterClass.setHitPoints(hitDie, constitutionModifier) + characterRace.setHitPointModifier();
        }
 public List <string> setLanguages() => new List <string>
 {
     Languages.Instance.languages[NumberGen.gen(Languages.Instance.languages.Count)]
 };
 public Dictionary <string, string> setSpecial() => new Dictionary <string, string>
 {
     { "Origin", $"{origins[NumberGen.gen(origins.Count)]}" }
 };
Esempio n. 11
0
        /// <summary>
        /// проверить ордера на состояние
        /// </summary>
        public bool GetAllOrders(List <Order> oldOpenOrders)
        {
            List <string> namesSec = new List <string>();

            for (int i = 0; i < oldOpenOrders.Count; i++)
            {
                if (namesSec.Find(name => name.Contains(oldOpenOrders[i].SecurityNameCode)) == null)
                {
                    namesSec.Add(oldOpenOrders[i].SecurityNameCode);
                }
            }


            string endPoint = "/api/v3/allOrders";

            List <HistoryOrderReport> allOrders = new List <HistoryOrderReport>();

            for (int i = 0; i < namesSec.Count; i++)
            {
                var param = new Dictionary <string, string>();
                param.Add("symbol=", namesSec[i].ToUpper());
                //param.Add("&recvWindow=" , "100");
                //param.Add("&limit=", GetNonce());
                param.Add("&limit=", "500");
                //"symbol={symbol.ToUpper()}&recvWindow={recvWindow}"

                var res = CreateQuery(Method.GET, endPoint, param, true);

                HistoryOrderReport[] orders = JsonConvert.DeserializeObject <HistoryOrderReport[]>(res);

                if (orders != null && orders.Length != 0)
                {
                    allOrders.AddRange(orders);
                }
            }

            for (int i = 0; i < oldOpenOrders.Count; i++)
            {
                HistoryOrderReport myOrder = allOrders.Find(ord => ord.orderId == oldOpenOrders[i].NumberMarket);

                if (myOrder == null)
                {
                    continue;
                }

                if (myOrder.status == "NEW")
                { // ордер активен. Ничего не делаем
                    continue;
                }

                else if (myOrder.status == "FILLED" ||
                         myOrder.status == "PARTIALLY_FILLED")
                { // ордер исполнен
                    MyTrade trade = new MyTrade();
                    trade.NumberOrderParent = oldOpenOrders[i].NumberMarket;
                    trade.NumberTrade       = NumberGen.GetNumberOrder(StartProgram.IsOsTrader).ToString();
                    trade.SecurityNameCode  = oldOpenOrders[i].SecurityNameCode;
                    trade.Time = new DateTime(1970, 1, 1).AddMilliseconds(Convert.ToDouble(myOrder.updateTime));
                    trade.Side = oldOpenOrders[i].Side;

                    if (MyTradeEvent != null)
                    {
                        MyTradeEvent(trade);
                    }
                }
                else
                {
                    Order newOrder = new Order();
                    newOrder.NumberMarket     = oldOpenOrders[i].NumberMarket;
                    newOrder.NumberUser       = oldOpenOrders[i].NumberUser;
                    newOrder.SecurityNameCode = oldOpenOrders[i].SecurityNameCode;
                    newOrder.State            = OrderStateType.Cancel;

                    newOrder.Volume          = oldOpenOrders[i].Volume;
                    newOrder.VolumeExecute   = oldOpenOrders[i].VolumeExecute;
                    newOrder.Price           = oldOpenOrders[i].Price;
                    newOrder.TypeOrder       = oldOpenOrders[i].TypeOrder;
                    newOrder.TimeCallBack    = new DateTime(1970, 1, 1).AddMilliseconds(Convert.ToDouble(myOrder.updateTime));
                    newOrder.TimeCancel      = newOrder.TimeCallBack;
                    newOrder.ServerType      = ServerType.Binance;
                    newOrder.PortfolioNumber = oldOpenOrders[i].PortfolioNumber;

                    if (MyOrderEvent != null)
                    {
                        MyOrderEvent(newOrder);
                    }
                }
            }
            return(true);
        }
Esempio n. 12
0
        /// <summary>
        /// create a robot manager
        /// создать менеджера роботов
        /// </summary>
        /// <param name="gridChart">chart area wpf / область для чарта</param>
        /// <param name="hostChart">chart area windows forms / область для чарта</param>
        /// <param name="hostGlass">market depth area / область для стакана</param>
        /// <param name="hostOpenDeals">open positions table area / область для таблицы открытых сделок</param>
        /// <param name="hostCloseDeals">closed positions table area / область для таблицы закрытых сделок</param>
        /// <param name="hostAllDeals">area of all positions / область всех сделок</param>
        /// <param name="hostLogBot">bot log area / область для бот лога</param>
        /// <param name="hostLogPrime">prime log area / область для прайм лога</param>
        /// <param name="rectangleAroundChart">square by chart / квадрат за чартом</param>
        /// <param name="hostAlerts">area for alerts / область для алертов</param>
        /// <param name="tabPanel">bots tabControl / панель с роботами</param>
        /// <param name="tabBotTab">toolbar robot panel / панель робота с вкладками инструментов</param>
        /// <param name="textBoxLimitPrice">Textbox with limit price when entering an position / текстБокс с ценой лимитника при вводе заявки</param>
        /// <param name="gridChartControlPanel">grid for chart control panel / грид для панели управления чартом</param>
        /// <param name="startProgram">type of program that requested class creation / тип программы который запросил создание класса</param>
        public OsTraderMaster(Grid gridChart, WindowsFormsHost hostChart, WindowsFormsHost hostGlass, WindowsFormsHost hostOpenDeals,
                              WindowsFormsHost hostCloseDeals, WindowsFormsHost hostAllDeals, WindowsFormsHost hostLogBot, WindowsFormsHost hostLogPrime, Rectangle rectangleAroundChart,
                              WindowsFormsHost hostAlerts,
                              TabControl tabPanel, TabControl tabBotTab, TextBox textBoxLimitPrice, Grid gridChartControlPanel, StartProgram startProgram)
        {
            NumberGen.GetNumberOrder(startProgram);
            _startProgram = startProgram;

            if (_startProgram == StartProgram.IsTester)
            {
                _typeWorkKeeper = ConnectorWorkType.Tester;
                ((TesterServer)ServerMaster.GetServers()[0]).TestingStartEvent += StrategyKeeper_TestingStartEvent;
                ((TesterServer)ServerMaster.GetServers()[0]).TestingFastEvent  += StrategyKeeper_TestingFastEvent;
                ((TesterServer)ServerMaster.GetServers()[0]).TestingEndEvent   += StrategyKeeper_TestingEndEvent;
            }

            if (_startProgram != StartProgram.IsTester)
            {
                ServerMaster.ActivateAutoConnection();
            }

            ServerMaster.LogMessageEvent += SendNewLogMessage;

            _tabBotTab = tabBotTab;

            if (_tabBotTab != null &&
                _tabBotTab.Items != null)
            {
                _tabBotTab.Items.Clear();
            }

            _gridChart             = gridChart;
            _textBoxLimitPrice     = textBoxLimitPrice;
            _hostChart             = hostChart;
            _hostGlass             = hostGlass;
            _hostOpenDeals         = hostOpenDeals;
            _hostCloseDeals        = hostCloseDeals;
            _hostAllDeals          = hostAllDeals;
            _hostboxLog            = hostLogBot;
            _rectangleAroundChart  = rectangleAroundChart;
            _hostAlerts            = hostAlerts;
            _gridChartControlPanel = gridChartControlPanel;

            _tabBotNames = tabPanel;

            if (_tabBotNames != null)
            {
                _tabBotNames.Items.Clear();
            }

            _riskManager = new RiskManager.RiskManager("GlobalRiskManager", _startProgram);
            _riskManager.RiskManagerAlarmEvent += _riskManager_RiskManagerAlarmEvent;
            _riskManager.LogMessageEvent       += SendNewLogMessage;
            _globalController = new GlobalPosition(_hostAllDeals, _startProgram);
            _globalController.LogMessageEvent += SendNewLogMessage;

            _log = new Log("Prime", _startProgram);
            _log.StartPaint(hostLogPrime);
            _log.Listen(this);
            _hostLogPrime = hostLogPrime;

            SendNewLogMessage(OsLocalization.Trader.Label1, LogMessageType.User);

            Load();

            if (_tabBotNames != null)
            {
                _tabBotNames.SelectionChanged += _tabBotControl_SelectionChanged;
            }

            ReloadRiskJournals();
            _globalController.StartPaint();

            Master = this;

            if (_startProgram == StartProgram.IsOsTrader && PrimeSettingsMaster.AutoStartApi)
            {
                ApiMaster = new AdminApiMaster(Master);
            }
        }
        public void setParentage(string race)
        {
            int randomNumber = NumberGen.gen(1, 101); //100 inclusive.

            if (randomNumber < 96)
            {
                if (race.Contains("Half-Elf"))
                {
                    randomNumber = NumberGen.gen(1, 9);
                    if (randomNumber < 6)
                    {
                        parents[0].setRace("Elf");
                        parents[1].setRace("Human");
                    }
                    else if (randomNumber == 6)
                    {
                        parents[0].setRace("Elf");
                        parents[1].setRace("Half-Elf");
                    }
                    else if (randomNumber == 7)
                    {
                        parents[0].setRace("Human");
                        parents[1].setRace("Half-Elf");
                    }
                    else if (randomNumber == 8)
                    {
                        parents[0].setRace("Half-Elf");
                        parents[1].setRace("Half-Elf");
                    }
                }
                else if (race.Contains("Half-Orc"))
                {
                    randomNumber = NumberGen.gen(1, 9);
                    if (randomNumber < 4)
                    {
                        parents[0].setRace("Orc");
                        parents[1].setRace("Human");
                    }
                    else if (randomNumber == 4 || randomNumber == 5)
                    {
                        parents[0].setRace("Orc");
                        parents[1].setRace("Half-Orc");
                    }
                    else if (randomNumber == 6 || randomNumber == 7)
                    {
                        parents[0].setRace("Half-Orc");
                        parents[1].setRace("Human");
                    }
                    else if (randomNumber == 8)
                    {
                        parents[0].setRace("Half-Orc");
                        parents[1].setRace("Half-Orc");
                    }
                }
                else if (race == "Tiefling")
                {
                    randomNumber = NumberGen.gen(1, 9);
                    if (randomNumber < 5)
                    {
                        parents[0].setRace("Human");
                        parents[1].setRace("Human");
                    }
                    else if (randomNumber == 5 || randomNumber == 6)
                    {
                        parents[0].setRace("Tiefling");
                        parents[1].setRace("Human");
                    }
                    else if (randomNumber == 7)
                    {
                        parents[0].setRace("Tiefling");
                        parents[1].setRace("Devil");
                    }
                    else if (randomNumber == 8)
                    {
                        parents[0].setRace("Devil");
                        parents[1].setRace("Human");
                    }

                    parents[0].setAlignment();
                    parents[1].setAlignment();
                }
                else
                {
                    parents[0].race = race;
                    parents[1].race = race;
                }

                foreach (Parent parent in parents)
                {
                    parent.setOccupation();
                    parent.setAlignment();
                    parent.setRelationship();
                }
            }
            else
            {
                parents[0] = parents[1] = null;
                //You don't know who your parents are or were.
            }
        }
Esempio n. 14
0
        private string generateBackground()
        {
            //TODO need a method to resolve conflicts between things selected in background and class and race (optimize)
            string background   = "";
            int    randomNumber = NumberGen.gen(18);

            if (randomNumber == 0)
            {
                background          = "Acolyte";
                characterBackground = new Acolyte();
            }
            else if (randomNumber == 1)
            {
                background          = "Charlatan";
                characterBackground = new Charlatan();
            }
            else if (randomNumber == 2)
            {
                background          = "Criminal";
                characterBackground = new Criminal();
            }
            else if (randomNumber == 3)
            {
                background          = "Entertainer";
                characterBackground = new Entertainer();
            }
            else if (randomNumber == 4)
            {
                background          = "Folk Hero";
                characterBackground = new FolkHero();
            }
            else if (randomNumber == 5)
            {
                background          = "Entertainer (Gladiator)";
                characterBackground = new Gladiator();
            }
            else if (randomNumber == 6)
            {
                background          = "Guild Artisan";
                characterBackground = new GuildArtisan();
            }
            else if (randomNumber == 7)
            {
                background          = "Guild Artisan (Guild Merchant)";
                characterBackground = new GuildMerchant();
            }
            else if (randomNumber == 8)
            {
                background          = "Hermit";
                characterBackground = new Hermit();
            }
            else if (randomNumber == 9)
            {
                background          = "Knight";
                characterBackground = new Knight();
            }
            else if (randomNumber == 10)
            {
                background          = "Noble";
                characterBackground = new Noble();
            }
            else if (randomNumber == 11)
            {
                background          = "Outlander";
                characterBackground = new Outlander();
            }
            else if (randomNumber == 12)
            {
                background          = "Pirate";
                characterBackground = new Pirate();
            }
            else if (randomNumber == 13)
            {
                background          = "Sage";
                characterBackground = new Sage();
            }
            else if (randomNumber == 14)
            {
                background          = "Sailor";
                characterBackground = new Sailor();
            }
            else if (randomNumber == 15)
            {
                background          = "Soldier";
                characterBackground = new Soldier();
            }
            else if (randomNumber == 16)
            {
                background          = "Spy";
                characterBackground = new Spy();
            }
            else if (randomNumber == 17)
            {
                background          = "Urchin";
                characterBackground = new Urchin();
            }

            return(background);
        }
Esempio n. 15
0
 public string setBond() => bonds[NumberGen.gen(bonds.Count)];
Esempio n. 16
0
        private string generateRace()
        {
            string race         = "";
            int    randomNumber = NumberGen.gen(9);

            if (randomNumber == 0)
            {
                race          = "Dragonborn";
                characterRace = new Dragonborn();
            }
            else if (randomNumber == 1)
            {
                randomNumber = NumberGen.gen(2);
                if (randomNumber == 0)
                {
                    race          = "Hill Dwarf";
                    characterRace = new HillDwarf();
                }
                else if (randomNumber == 1)
                {
                    race          = "Mountain Dwarf";
                    characterRace = new MountainDwarf();
                }
            }

            if (randomNumber == 2)
            {
                randomNumber = NumberGen.gen(3);
                if (randomNumber == 0)
                {
                    race          = "High Elf";
                    characterRace = new HighElf();
                }
                else if (randomNumber == 1)
                {
                    race          = "Wood Elf";
                    characterRace = new WoodElf();
                }
                else if (randomNumber == 2)
                {
                    race          = "Dark Elf";
                    characterRace = new DarkElf();
                }
            }

            if (randomNumber == 3)
            {
                randomNumber = NumberGen.gen(3);
                if (randomNumber == 0)
                {
                    race          = "Deep Gnome";
                    characterRace = new DeepGnome();
                }
                else if (randomNumber == 1)
                {
                    race          = "Forest Gnome";
                    characterRace = new ForestGnome();
                }
                else if (randomNumber == 2)
                {
                    race          = "Rock Gnome";
                    characterRace = new RockGnome();
                }
            }

            if (randomNumber == 4)
            {
                race          = "Half-Elf";
                characterRace = new HalfElf();
            }

            if (randomNumber == 5)
            {
                randomNumber = NumberGen.gen(2);
                if (randomNumber == 0)
                {
                    race          = "Lightfoot Halfling";
                    characterRace = new LightfootHalfling();
                }
                else if (randomNumber == 1)
                {
                    race          = "Stout Halfling";
                    characterRace = new StoutHalfling();
                }
            }

            if (randomNumber == 6)
            {
                race          = "Half-Orc";
                characterRace = new HalfOrc();
            }

            if (randomNumber == 7)
            {
                race          = "Human";
                characterRace = new Human();
            }

            if (randomNumber == 8)
            {
                race          = "Tiefling";
                characterRace = new Tiefling();
            }

            return(race);
        }
Esempio n. 17
0
 public List <string> setEquipment() => new List <string>
 {
     "Insignia of rank", $"Trophy taken from a fallen enemy: {trophies[NumberGen.gen(trophies.Count)]}",
     $"{(gamingSet == "Dice set" ? "Set of bone dice" : "Deck of cards")}", "Set of common clothes", "Pouch containing 10 gp"
 };
Esempio n. 18
0
 public string setReason() => reasons[NumberGen.gen(reasons.Count)];
Esempio n. 19
0
 public string setFlaw() => flaws[NumberGen.gen(flaws.Count)];
Esempio n. 20
0
 public string setName() => NumberGen.gen(2) == 0
     ? femaleNames[NumberGen.gen(femaleNames.Count)]
     : maleNames[NumberGen.gen(maleNames.Count)];
        public void setBirthplace()
        {
            int randomNumber = NumberGen.gen(1, 101);

            if (randomNumber <= 50)
            {
                birthplace = "Home";
            }
            else if (51 <= randomNumber && randomNumber <= 55)
            {
                birthplace = "Home of a family friend";
            }
            else if (56 <= randomNumber && randomNumber <= 63)
            {
                birthplace = "Home of a healer or midwife";
            }
            else if (randomNumber == 64 || randomNumber == 65)
            {
                birthplace = "Carriage, cart, or wagon";
            }
            else if (66 <= randomNumber && randomNumber <= 68)
            {
                birthplace = "Barn, shed, or other outbuilding";
            }
            else if (randomNumber == 69 || randomNumber == 70)
            {
                birthplace = "Cave";
            }
            else if (randomNumber == 71 || randomNumber == 72)
            {
                birthplace = "Field";
            }
            else if (randomNumber == 73 || randomNumber == 74)
            {
                birthplace = "Forest";
            }
            else if (75 <= randomNumber && randomNumber <= 77)
            {
                birthplace = "Temple";
            }
            else if (randomNumber == 78)
            {
                birthplace = "Battlefield";
            }
            else if (randomNumber == 79 || randomNumber == 80)
            {
                birthplace = "Alley or street";
            }
            else if (randomNumber == 81 || randomNumber == 82)
            {
                birthplace = "Brothel, tavern, or inn";
            }
            else if (randomNumber == 83 || randomNumber == 84)
            {
                birthplace = "Castle, keep, tower, or palace";
            }
            else if (randomNumber == 85)
            {
                birthplace = "Sewer or rubbish heap";
            }
            else if (86 <= randomNumber && randomNumber <= 88)
            {
                birthplace = "Among people of a different race";
            }
            else if (89 <= randomNumber && randomNumber <= 91)
            {
                birthplace = "On board a boat or ship";
            }
            else if (randomNumber == 92 || randomNumber == 93)
            {
                birthplace = "In a prison or in the headquarters of a secret organization";
            }
            else if (randomNumber == 94 || randomNumber == 95)
            {
                birthplace = "In a sage's laboratory";
            }
            else if (randomNumber == 96)
            {
                birthplace = "In the Feywild";
            }
            else if (randomNumber == 97)
            {
                birthplace = "In the Shadowfell";
            }
            else if (randomNumber == 98)
            {
                birthplace = "On the Astral Plane or the Ethereal Plane";
            }
            else if (randomNumber == 99)
            {
                string[] innerPlanes = new string[] { "Air Plane", "Earth Plane", "Fire Plane", "Water Plane" };
                randomNumber = NumberGen.gen(innerPlanes.Length);
                birthplace   = innerPlanes[randomNumber];
            }
            else if (randomNumber == 100)
            {
                string[] outerPlanes = new string[]
                {
                    "The Abyss", "Acheron", "Arcadia", "Concordant Opposition/Outlands", "Elysium", "Gehenna",
                    "Gladsheim/Ysgard", "Hades/The Gray Waste", "Happy Hunting Grounds/Beastlands", "Limbo",
                    "The Nine Hells/Baator", "Nirvana/Mechanus", "Olympus/Arborea/Arvandor", "Pandemonium",
                    "Seven Heavens/Mount Celestia", "Tarterus/Carceri", "Twin Paradises/Bytopia"
                };
                randomNumber = NumberGen.gen(outerPlanes.Length);
                birthplace   = outerPlanes[randomNumber];
            }

            randomNumber = DiceRoll.roll(1, 100); //Did a strange event happen at your birth?

            if (randomNumber == 100)
            {
                setStrangeBirthEvent();
            }
        }