Beispiel #1
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
                character.Skills.Add("Broker", 1);
                return;

            case 2:
                return;

            case 3:
                careerHistory.Title = "Experienced Broker";
                character.Skills.Add("Streetwise", 1);
                return;

            case 4:
                return;

            case 5:
                return;

            case 6:
                return;
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                character.Skills.Add("Vacc Suit", 1);
                return;

            case 2:
                return;

            case 3:
                var skillList = new SkillTemplateCollection();
                skillList.Add("Profession", "Belter");
                skillList.Add("Mechanic");
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }
                return;

            case 4:
                return;

            case 5:
                return;

            case 6:
                return;
            }
        }
        /// <summary>
        /// Titles the table.
        /// </summary>
        /// <param name="character">The character.</param>
        /// <param name="careerHistory">The career history.</param>
        /// <param name="dice">The dice.</param>
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
                careerHistory.Title = "Freelancer";
                character.Skills.Add("Electronics", "Comms", 1);
                return;

            case 2:
                careerHistory.Title = "Staff Writer";
                character.Skills.Add("Investigate", 1);
                return;

            case 3:
                return;

            case 4:
                careerHistory.Title = "Correspondent";
                character.Skills.Add("Persuade", 1);
                return;

            case 5:
                return;

            case 6:
                careerHistory.Title       = "Senior Correspondent";
                character.SocialStanding += 1;
                return;
            }
        }
Beispiel #4
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                careerHistory.Title = "Wastrel";
                return;

            case 1:
                return;

            case 2:
                careerHistory.Title = "Ingrate";
                character.Skills.Add("Carouse", 1);
                return;

            case 3:
                return;

            case 4:
                careerHistory.Title = "Black Sheep";
                character.Skills.Add("Persuade", 1);
                return;

            case 5:
                return;

            case 6:
                careerHistory.Title = "Scoundrel";
                character.Skills.Add("Jack-of-all-Trades", 1);
                return;
            }
        }
Beispiel #5
0
        internal void UpdateTitle(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                return;

            case 2:
                var skillList = new SkillTemplateCollection(SpecialtiesFor("Athletics"));
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }

                return;

            case 3:
                return;

            case 4:
                character.Skills.Add("Advocate");
                return;

            case 5:
                return;

            case 6:
                character.Endurance += 1;
                return;
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
                character.Dexterity += 1;
                return;

            case 2:
                return;

            case 3:
                character.Strength += 1;
                return;

            case 4:
                return;

            case 5:
                careerHistory.Title       = "Famous Performer";
                character.SocialStanding += 1;
                return;

            case 6:
                return;
            }
        }
Beispiel #7
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                careerHistory.Title = "Survivor";
                {
                    var skillList = new SkillTemplateCollection("Survival", "Streetwise");
                    skillList.RemoveOverlap(character.Skills, 1);
                    if (skillList.Count > 0)
                    {
                        character.Skills.Add(dice.Choose(skillList), 1);
                    }
                }
                return;

            case 2:
                return;

            case 3:
                careerHistory.Title = "Witch";
                character.Skills.Add("Deception", 1);
                return;

            case 4:
                return;

            case 5:
                return;

            case 6:
                return;
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                return;

            case 2:
                careerHistory.Title = "Manager";
                character.Skills.Add("Admin", 1);
                return;

            case 3:
                return;

            case 4:
                careerHistory.Title = "Senior Manager";
                character.Skills.Add("Advocate", 1);
                return;

            case 5:
                return;

            case 6:
                careerHistory.Title       = "Director";
                character.SocialStanding += 1;
                return;
            }
        }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 1:
             return;
         case 2:
             careerHistory.Title = "Settler";
             character.Skills.Add("Survival", 1);
             return;
         case 3:
             return;
         case 4:
             careerHistory.Title = "Explorer";
             character.Skills.Add("Navigation", 1);
             return;
         case 5:
             return;
         case 6:
             {
                 var skillList = new SkillTemplateCollection(SpecialtiesFor("Gun Combat"));
                 skillList.RemoveOverlap(character.Skills, 1);
                 if (skillList.Count > 0)
                     character.Skills.Add(dice.Choose(skillList), 1);
             }
             return;
     }
 }
Beispiel #10
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
                careerHistory.Title = "Scout";
                character.Skills.Add("Vacc Suit", 1);
                return;

            case 2:
                return;

            case 3:
                careerHistory.Title = "Senior Scout";
                var skillList = new SkillTemplateCollection(SpecialtiesFor("Pilot"));
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }
                return;

            case 4:
                return;

            case 5:
                return;

            case 6:
                return;
            }
        }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             careerHistory.Title = "Wastrel";
             return;
         case 1:
             return;
         case 2:
             careerHistory.Title = "Ingrate";
             character.Skills.Add("Carouse", 1);
             return;
         case 3:
             return;
         case 4:
             careerHistory.Title = "Black Sheep";
             character.Skills.Add("Persuade", 1);
             return;
         case 5:
             return;
         case 6:
             careerHistory.Title = "Scoundrel";
             character.Skills.Add("Jack-of-all-Trades", 1);
             return;
     }
 }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             careerHistory.Title = "Assistant";
             return;
         case 1:
             careerHistory.Title = "Clerk";
             character.Skills.Add("Admin", 1);
             return;
         case 2:
             careerHistory.Title = "Supervisor";
             return;
         case 3:
             careerHistory.Title = "Manager";
             character.Skills.Add("Advocate", 1);
             return;
         case 4:
             careerHistory.Title = "Chief";
             return;
         case 5:
             careerHistory.Title = "Director";
             character.Skills.Add("Leadership", 1);
             return;
         case 6:
             careerHistory.Title = "Minister";
             return;
     }
 }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             return;
         case 1:
             character.Skills.Add("Persuade", 1);
             return;
         case 2:
             return;
         case 3:
             var skillList = new SkillTemplateCollection();
             skillList.AddRange(SpecialtiesFor("Gun Combat"));
             skillList.AddRange(SpecialtiesFor("Melee"));
             skillList.RemoveOverlap(character.Skills, 1);
             if (skillList.Count > 0)
                 character.Skills.Add(dice.Choose(skillList), 1);
             return;
         case 4:
             return;
         case 5:
             character.Skills.Add("Streetwise", 1);
             return;
         case 6:
             return;
     }
 }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                character.Skills.Add("Survival", 1);
                return;

            case 2:
                careerHistory.Title = "Warrior";
                character.Skills.Add("Melee", "Blade", 1);
                return;

            case 3:
                return;

            case 4:
                careerHistory.Title = "Chieftain";
                character.Skills.Add("Leadership", 1);
                return;

            case 5:
                return;

            case 6:
                careerHistory.Title = "Warlord";
                return;
            }
        }
 /// <summary>
 /// Titles the table.
 /// </summary>
 /// <param name="character">The character.</param>
 /// <param name="careerHistory">The career history.</param>
 /// <param name="dice">The dice.</param>
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             return;
         case 1:
             careerHistory.Title = "Freelancer";
             character.Skills.Add("Electronics", "Comms", 1);
             return;
         case 2:
             careerHistory.Title = "Staff Writer";
             character.Skills.Add("Investigate", 1);
             return;
         case 3:
             return;
         case 4:
             careerHistory.Title = "Correspondent";
             character.Skills.Add("Persuade", 1);
             return;
         case 5:
             return;
         case 6:
             careerHistory.Title = "Senior Correspondent";
             character.SocialStanding += 1;
             return;
     }
 }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
                character.Skills.Add("Persuade", 1);
                return;

            case 2:
                return;

            case 3:
                careerHistory.Title = "Experienced Trader";
                character.Skills.Add("Jack-of-all-Trades", 1);
                return;

            case 4:
                return;

            case 5:
                return;

            case 6:
                return;
            }
        }
Beispiel #17
0
        private bool AttemptCommission(Character character, Dice dice, CareerHistory careerHistory)
        {
            var commissionDM =
                character.SocialStandingDM +
                character.CurrentTermBenefits.AdvancementDM +
                character.CurrentTermBenefits.CommissionDM +
                (1 - careerHistory.Terms);

            character.CurrentTermBenefits.FreeCommissionRoll = false;
            character.CurrentTermBenefits.CommissionDM       = 0;

            if (dice.RollHigh(commissionDM, 8))
            {
                character.AddHistory($"Commissioned in {Career}/{Assignment}");
                careerHistory.CommissionRank = 1;

                UpdateTitle(character, dice, careerHistory);
                return(true);
            }
            else
            {
                character.AddHistory($"Attempt at commissioned failed.");
                return(false);
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                return;

            case 2:
                careerHistory.Title = "Settler";
                character.Skills.Add("Survival", 1);
                return;

            case 3:
                return;

            case 4:
                careerHistory.Title = "Explorer";
                character.Skills.Add("Navigation", 1);
                return;

            case 5:
                return;

            case 6:
            {
                var skillList = new SkillTemplateCollection(SpecialtiesFor("Gun Combat"));
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }
            }
                return;
            }
        }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             return;
         case 1:
             character.Skills.Add("Persuade", 1);
             return;
         case 2:
             return;
         case 3:
             var skillList = new SkillTemplateCollection();
             skillList.AddRange(SpecialtiesFor("Gun Combat"));
             skillList.AddRange(SpecialtiesFor("Melee"));
             skillList.RemoveOverlap(character.Skills, 1);
             if (skillList.Count > 0)
                 character.Skills.Add(dice.Choose(skillList), 1);
             return;
         case 4:
             return;
         case 5:
             character.Skills.Add("Streetwise", 1);
             return;
         case 6:
             return;
     }
 }
Beispiel #20
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
                character.Skills.Add("Stealth", 1);
                return;

            case 2:
                return;

            case 3:
                character.Skills.Add("Streetwise", 1);
                return;

            case 4:
                return;

            case 5:
                character.Skills.Add("Recon", 1);
                return;

            case 6:
                return;
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
                case 0:
                    return;
                case 1:
                    careerHistory.Title = "Agent";
                    character.Skills.Add("Deception", 1);
                    return;
                case 2:
                    careerHistory.Title = "Field Agent";
                    character.Skills.Add("Investigate", 1);
                    return;
                case 3:
                    return;
                case 4:
                    careerHistory.Title = "Special Agent";
                    var skillList = new SkillTemplateCollection(SpecialtiesFor("Gun Combat"));
                    skillList.RemoveOverlap(character.Skills, 1);
                    if (skillList.Count > 0)
                        character.Skills.Add(dice.Choose(skillList), 1);

                    return;
                case 5:
                    careerHistory.Title = "Assistant Director";
                    return;
                case 6:
                    careerHistory.Title = "Director";
                    return;
            }
        }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 1:
             return;
         case 2:
             careerHistory.Title = "Technician";
             {
                 var skillList = new SkillTemplateCollection(SpecialtiesFor("Profession"));
                 skillList.RemoveOverlap(character.Skills, 1);
                 if (skillList.Count > 0)
                     character.Skills.Add(dice.Choose(skillList), 1);
             }
             return;
         case 3:
             return;
         case 4:
             careerHistory.Title = "Craftsman";
             character.Skills.Add("Mechanic", 1);
             return;
         case 5:
             return;
         case 6:
             careerHistory.Title = "Master Technician";
             {
                 var skillList = new SkillTemplateCollection(SpecialtiesFor("Engineer"));
                 skillList.RemoveOverlap(character.Skills, 1);
                 if (skillList.Count > 0)
                     character.Skills.Add(dice.Choose(skillList), 1);
             }
             return;
     }
 }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
            {
                var skillList = new SkillTemplateCollection(SpecialtiesFor("Science"));
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }
            }
                return;

            case 2:
                character.Skills.Add("Electronics", "Computers", 1);
                return;

            case 3:
                character.Skills.Add("Investigate", 1);
                return;

            case 4:
                return;

            case 5:
            {
                var skillList = new SkillTemplateCollection(SpecialtiesFor("Science"));
                //look for a level 0 to increase
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 2);
                }
                else
                {
                    //look for a level 1 to increase
                    skillList = new SkillTemplateCollection(SpecialtiesFor("Science"));
                    skillList.RemoveOverlap(character.Skills, 2);
                    if (skillList.Count > 0)
                    {
                        character.Skills.Add(dice.Choose(skillList), 2);
                    }
                }
            }
                return;

            case 6:
                return;
            }
        }
Beispiel #24
0
 protected void UpdateTitle(Character character, Dice dice, CareerHistory careerHistory)
 {
     var oldTitle = character.Title;
     TitleTable(character, careerHistory, dice);
     var newTitle = careerHistory.Title;
     if (oldTitle != newTitle && newTitle != null)
     {
         character.AddHistory($"Is now a {newTitle}");
         character.Title = newTitle;
     }
 }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
                case 0:
                    careerHistory.Title = "Lackey";
                    return;
                case 1:
                    careerHistory.Title = "Henchman";
                    {
                        var skillList = new SkillTemplateCollection();
                        skillList.AddRange(SpecialtiesFor("Pilot"));
                        skillList.AddRange(SpecialtiesFor("Gunner"));
                        skillList.RemoveOverlap(character.Skills, 1);
                        if (skillList.Count > 0)
                            character.Skills.Add(dice.Choose(skillList), 1);
                    }
                    return;
                case 2:
                    careerHistory.Title = "Corporal";
                    return;
                case 3:
                    careerHistory.Title = "Sergeant";
                    {
                        var skillList = new SkillTemplateCollection();
                        skillList.AddRange(SpecialtiesFor("Gun Combat"));
                        skillList.AddRange(SpecialtiesFor("Melee"));
                        skillList.RemoveOverlap(character.Skills, 1);
                        if (skillList.Count > 0)
                            character.Skills.Add(dice.Choose(skillList), 1);
                    }

                    return;
                case 4:
                    careerHistory.Title = "Lieutenant";
                    return;
                case 5:
                    careerHistory.Title = "Leader";
                    {
                        var skillList = new SkillTemplateCollection();
                        skillList.AddRange(SpecialtiesFor("Engineer"));
                        skillList.Add("Navigation");
                        skillList.RemoveOverlap(character.Skills, 1);
                        if (skillList.Count > 0)
                            character.Skills.Add(dice.Choose(skillList), 1);
                    }
                    return;
                case 6:
                    careerHistory.Title = "Captain";
                    return;
            }
        }
Beispiel #26
0
        protected void UpdateTitle(Character character, Dice dice, CareerHistory careerHistory)
        {
            var oldTitle = character.Title;

            TitleTable(character, careerHistory, dice);
            var newTitle = careerHistory.Title;

            if (oldTitle != newTitle && newTitle != null)
            {
                character.AddHistory($"Is now a {newTitle}");
                character.Title = newTitle;
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                careerHistory.Title = "Marine";
                return;

            case 1:
            {
                var skills = new SkillTemplateCollection();
                skills.AddRange(SpecialtiesFor("Gun Combat"));
                skills.RemoveOverlap(character.Skills, 1);
                if (skills.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skills), 1);
                }
            }
                return;

            case 2:
                careerHistory.Title = "Captain";
                character.Skills.Add("Leadership", 1);
                return;

            case 3:
                return;

            case 4:
                return;

            case 5:
                careerHistory.Title = "Force Commander";
                {
                    var skills = new SkillTemplateCollection();
                    skills.AddRange(SpecialtiesFor("Tatics"));
                    skills.RemoveOverlap(character.Skills, 1);
                    if (skills.Count > 0)
                    {
                        character.Skills.Add(dice.Choose(skills), 1);
                    }
                }
                return;

            case 6:
                return;
            }
        }
Beispiel #28
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                careerHistory.Title = "Initiate";
                character.Skills.Add("Science", "Psionicology");
                return;

            case 2:
                return;

            case 3:
                careerHistory.Title = "Acolyte";
                {
                    var skills = new SkillTemplateCollection();
                    skills.AddRange(Book.PsionicTalents);
                    skills.RemoveOverlap(character.Skills, 1);
                    if (skills.Count > 0)
                    {
                        character.Skills.Add(dice.Choose(skills), 1);
                    }
                }
                return;

            case 4:
                return;

            case 5:
                return;

            case 6:
                careerHistory.Title = "Master";
                {
                    var skills = new SkillTemplateCollection();
                    skills.AddRange(Book.PsionicTalents);
                    skills.RemoveOverlap(character.Skills, 1);
                    if (skills.Count > 0)
                    {
                        character.Skills.Add(dice.Choose(skills), 1);
                    }
                }
                return;
            }
        }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             return;
         case 1:
             {
                 var skillList = new SkillTemplateCollection(SpecialtiesFor("Science"));
                 skillList.RemoveOverlap(character.Skills, 1);
                 if (skillList.Count > 0)
                     character.Skills.Add(dice.Choose(skillList), 1);
             }
             return;
         case 2:
             character.Skills.Add("Electronics", "Computers", 1);
             return;
         case 3:
             character.Skills.Add("Investigate", 1);
             return;
         case 4:
             return;
         case 5:
             {
                 var skillList = new SkillTemplateCollection(SpecialtiesFor("Science"));
                 //look for a level 0 to increase
                 skillList.RemoveOverlap(character.Skills, 1);
                 if (skillList.Count > 0)
                     character.Skills.Add(dice.Choose(skillList), 2);
                 else
                 {
                     //look for a level 1 to increase
                     skillList = new SkillTemplateCollection(SpecialtiesFor("Science"));
                     skillList.RemoveOverlap(character.Skills, 2);
                     if (skillList.Count > 0)
                         character.Skills.Add(dice.Choose(skillList), 2);
                 }
             }
             return;
         case 6:
             return;
     }
 }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 1:
                return;

            case 2:
                careerHistory.Title = "Technician";
                {
                    var skillList = new SkillTemplateCollection(SpecialtiesFor("Profession"));
                    skillList.RemoveOverlap(character.Skills, 1);
                    if (skillList.Count > 0)
                    {
                        character.Skills.Add(dice.Choose(skillList), 1);
                    }
                }
                return;

            case 3:
                return;

            case 4:
                careerHistory.Title = "Craftsman";
                character.Skills.Add("Mechanic", 1);
                return;

            case 5:
                return;

            case 6:
                careerHistory.Title = "Master Technician";
                {
                    var skillList = new SkillTemplateCollection(SpecialtiesFor("Engineer"));
                    skillList.RemoveOverlap(character.Skills, 1);
                    if (skillList.Count > 0)
                    {
                        character.Skills.Add(dice.Choose(skillList), 1);
                    }
                }
                return;
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                careerHistory.Title = "Crewman";
                return;

            case 1:
                careerHistory.Title = "Senior Crewman";
                character.Skills.Add("Mechanic", 1);
                return;

            case 2:
                careerHistory.Title = "4th  Officer";
                return;

            case 3:
                careerHistory.Title = "3rd  Officer";
                return;

            case 4:
                careerHistory.Title = "2nd  Officer";
                var skillList = new SkillTemplateCollection(SpecialtiesFor("Pilot"));
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }

                return;

            case 5:
                careerHistory.Title       = "1st  Officer";
                character.SocialStanding += 1;
                return;

            case 6:
                careerHistory.Title = "Captain";
                return;
            }
        }
Beispiel #32
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
                careerHistory.Title = "Agent";
                character.Skills.Add("Deception", 1);
                return;

            case 2:
                careerHistory.Title = "Field Agent";
                character.Skills.Add("Investigate", 1);
                return;

            case 3:
                return;

            case 4:
                careerHistory.Title = "Special Agent";
                var skillList = new SkillTemplateCollection(SpecialtiesFor("Gun Combat"));
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }

                return;

            case 5:
                careerHistory.Title = "Assistant Director";
                return;

            case 6:
                careerHistory.Title = "Director";
                return;
            }
        }
Beispiel #33
0
        internal override void Run(Character character, Dice dice)
        {
            CareerHistory careerHistory;

            if (!character.CareerHistory.Any(pc => pc.Career == "Retired"))
            {
                character.AddHistory($"Retired at age {character.Age}");
                careerHistory = new CareerHistory("Retired", null, 0);
                character.CareerHistory.Add(careerHistory);
            }
            else
            {
                careerHistory = character.CareerHistory.Single(pc => pc.Career == "Retired");
            }
            careerHistory.Terms += 1;

            Event(character, dice);

            character.LastCareer = careerHistory;
            character.Age       += 4;
            character.NextTermBenefits.MustEnroll = "Retired";
        }
Beispiel #34
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                return;

            case 1:
            {
                var skillList = new SkillTemplateCollection();
                skillList.AddRange(SpecialtiesFor("Art"));
                skillList.RemoveOverlap(character.Skills, 1);
                if (skillList.Count > 0)
                {
                    character.Skills.Add(dice.Choose(skillList), 1);
                }
            }
                return;

            case 2:
                return;

            case 3:
                character.Skills.Add("Investigate", 1);
                return;

            case 4:
                return;

            case 5:
                careerHistory.Title       = "Famous Artist";
                character.SocialStanding += 1;
                return;

            case 6:
                return;
            }
        }
Beispiel #35
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:

                careerHistory.Title = "Rookie";
                return;

            case 1:
                careerHistory.Title = "Corporal";
                character.Skills.Add("Streetwise", 1);
                return;

            case 2:
                careerHistory.Title = "Sergeant";
                return;

            case 3:
                careerHistory.Title = "Detective";
                return;

            case 4:
                careerHistory.Title = "Lieutenant";
                character.Skills.Add("Investigate", 1);
                return;

            case 5:
                careerHistory.Title = "Chief";
                character.Skills.Add("Admin", 1);
                return;

            case 6:
                careerHistory.Title       = "Commissioner";
                character.SocialStanding += 1;
                return;
            }
        }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             return;
         case 1:
             character.Skills.Add("Stealth", 1);
             return;
         case 2:
             return;
         case 3:
             character.Skills.Add("Streetwise", 1);
             return;
         case 4:
             return;
         case 5:
             character.Skills.Add("Recon", 1);
             return;
         case 6:
             return;
     }
 }
Beispiel #37
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                careerHistory.Title = "Assistant";
                return;

            case 1:
                careerHistory.Title = "Clerk";
                character.Skills.Add("Admin", 1);
                return;

            case 2:
                careerHistory.Title = "Supervisor";
                return;

            case 3:
                careerHistory.Title = "Manager";
                character.Skills.Add("Advocate", 1);
                return;

            case 4:
                careerHistory.Title = "Chief";
                return;

            case 5:
                careerHistory.Title = "Director";
                character.Skills.Add("Leadership", 1);
                return;

            case 6:
                careerHistory.Title = "Minister";
                return;
            }
        }
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            switch (careerHistory.Rank)
            {
            case 0:
                careerHistory.Title = "Intern";
                return;

            case 1:
                careerHistory.Title = "3rd  Secretary";
                character.Skills.Add("Admin", 1);
                return;

            case 2:
                careerHistory.Title = "2nd  Secretary";
                return;

            case 3:
                careerHistory.Title = "1st  Secretary";
                character.Skills.Add("Advocate", 1);
                return;

            case 4:
                careerHistory.Title = "Counsellor";
                return;

            case 5:
                careerHistory.Title = "Minister";
                character.Skills.Add("Diplomat", 1);
                return;

            case 6:
                careerHistory.Title = "Ambassador";
                return;
            }
        }
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 1:
             return;
         case 2:
             careerHistory.Title = "Manager";
             character.Skills.Add("Admin", 1);
             return;
         case 3:
             return;
         case 4:
             careerHistory.Title = "Senior Manager";
             character.Skills.Add("Advocate", 1);
             return;
         case 5:
             return;
         case 6:
             careerHistory.Title = "Director";
             character.SocialStanding += 1;
             return;
     }
 }
Beispiel #40
0
        internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
        {
            if (careerHistory.CommissionRank == 0)
            {
                switch (careerHistory.Rank)
                {
                case 0:
                    careerHistory.Title = "Crewman";
                    return;

                case 1:
                    careerHistory.Title = "Able Spacehand";
                    character.Skills.Add("Mechanic", 1);
                    return;

                case 2:
                    careerHistory.Title = "Petty Officer, 3rd  class";
                    character.Skills.Add("Vacc Suit", 1);
                    return;

                case 3:
                    careerHistory.Title = "Petty Officer, 2nd  class";
                    return;

                case 4:
                    careerHistory.Title  = "Petty Officer, 1st  class";
                    character.Endurance += 1;
                    return;

                case 5:
                    careerHistory.Title = "Chief Petty Officer";
                    return;

                case 6:
                    careerHistory.Title = "Master Chief";
                    return;
                }
            }
            else
            {
                switch (careerHistory.CommissionRank)
                {
                case 1:
                    careerHistory.Title = "Ensign";
                    character.Skills.Add("Melee", "Blade", 1);
                    return;

                case 2:
                    careerHistory.Title = "Sublieutenant";
                    character.Skills.Add("Leadership", 1);
                    return;

                case 3:
                    careerHistory.Title = "Lieutenant";
                    return;

                case 4:
                    careerHistory.Title = "Commander";
                    character.Skills.Add("Tactics", "Military", 1);
                    return;

                case 5:
                    careerHistory.Title = "Captain";
                    if (character.SocialStanding < 10)
                    {
                        character.SocialStanding = 10;
                    }
                    else
                    {
                        character.SocialStanding += 1;
                    }
                    return;

                case 6:
                    careerHistory.Title = "Admiral";
                    if (character.SocialStanding < 12)
                    {
                        character.SocialStanding = 12;
                    }
                    else
                    {
                        character.SocialStanding += 1;
                    }
                    return;
                }
            }
        }
Beispiel #41
0
        internal override void Run(Character character, Dice dice)
        {
            CareerHistory careerHistory;

            if (!character.CareerHistory.Any(pc => pc.Name == Name))
            {
                character.AddHistory($"Became a {Assignment} at age {character.Age}");
                BasicTrainingSkills(character, dice, character.CareerHistory.Count == 0);

                careerHistory = new CareerHistory(Name, Assignment, 0);
                character.CareerHistory.Add(careerHistory);
            }
            else
            {
                if (!character.CareerHistory.Any(pc => pc.Assignment == Assignment))
                {
                    character.AddHistory($"Switched to {Assignment} at age {character.Age}");
                    careerHistory = new CareerHistory(Name, Assignment, 0); //TODO: Carry-over rank?
                    character.CareerHistory.Add(careerHistory);
                }
                else if (character.LastCareer?.Assignment == Assignment)
                {
                    character.AddHistory($"Continued as {Assignment} at age {character.Age}");
                    careerHistory = character.CareerHistory.Single(pc => pc.Assignment == Assignment);
                }
                else
                {
                    character.AddHistory($"Returned to {Assignment} at age {character.Age}");
                    careerHistory = character.CareerHistory.Single(pc => pc.Assignment == Assignment);
                }

                var skillTables = new List <SkillTable>();
                skillTables.Add(PersonalDevelopment);
                skillTables.Add(ServiceSkill);
                skillTables.Add(AssignmentSkills);


                dice.Choose(skillTables)(character, dice);
            }
            careerHistory.Terms += 1;

            if (character.Parole == null)
            {
                character.Parole = dice.D(6) + 4;
            }

            var survived = dice.RollHigh(character.GetDM(SurvivalAttribute) + character.NextTermBenefits.SurvivalDM, SurvivalTarget);

            if (survived)
            {
                character.BenefitRolls += 1;

                Event(character, dice);

                var advancementRoll = dice.D(2, 6);

                advancementRoll += character.GetDM(AdvancementAttribute) + character.CurrentTermBenefits.AdvancementDM;

                if (advancementRoll > AdvancementTarget)
                {
                    careerHistory.Rank += 1;
                    character.AddHistory($"Promoted to rank {careerHistory.Rank}");

                    UpdateTitle(character, careerHistory, dice);


                    //advancement skill
                    var skillTables = new List <SkillTable>();
                    skillTables.Add(PersonalDevelopment);
                    skillTables.Add(ServiceSkill);
                    skillTables.Add(AssignmentSkills);
                    dice.Choose(skillTables)(character, dice);
                }

                if (character.NextTermBenefits.MusterOut)
                {
                    //must have escaped due to event roll.
                }
                else if (advancementRoll > character.Parole)
                {
                    character.NextTermBenefits.MusterOut = true;
                    character.AddHistory("Paroled from prison.");
                }
                else
                {
                    character.NextTermBenefits.MustEnroll = "Prisoner";
                }
            }
            else
            {
                character.NextTermBenefits.MustEnroll = "Prisoner";
                Mishap(character, dice);
            }

            character.LastCareer = careerHistory;
            character.Age       += 4;
        }
        internal override void Run(Character character, Dice dice)
        {
            CareerHistory careerHistory;
            if (!character.CareerHistory.Any(pc => pc.Name == Name))
            {
                character.AddHistory($"Became a {Assignment} at age {character.Age}");
                BasicTrainingSkills(character, dice, character.CareerHistory.Count == 0);

                careerHistory = new CareerHistory(Name, Assignment, 0);
                character.CareerHistory.Add(careerHistory);
                UpdateTitle(character, dice, careerHistory);
            }
            else
            {
                if (!character.CareerHistory.Any(pc => pc.Assignment == Assignment))
                {
                    character.AddHistory($"Switched to {Assignment} at age {character.Age}");
                    careerHistory = new CareerHistory(Name, Assignment, 0);
                    character.CareerHistory.Add(careerHistory);

                    if (!RankCarryover) //then this is a new career
                    {
                        UpdateTitle(character, dice, careerHistory);
                        BasicTrainingSkills(character, dice, false);
                    }

                }
                else if (character.LastCareer?.Assignment == Assignment)
                {
                    character.AddHistory($"Continued as {Assignment} at age {character.Age}");
                    careerHistory = character.CareerHistory.Single(pc => pc.Assignment == Assignment);
                }
                else
                {
                    character.AddHistory($"Returned to {Assignment} at age {character.Age}");
                    careerHistory = character.CareerHistory.Single(pc => pc.Assignment == Assignment);
                }

                var skillTables = new List<SkillTable>();
                skillTables.Add(PersonalDevelopment);
                skillTables.Add(ServiceSkill);
                skillTables.Add(AssignmentSkills);
                if (character.Education >= AdvancedEductionMin)
                    skillTables.Add(AdvancedEducation);

                dice.Choose(skillTables)(character, dice);
            }
            careerHistory.Terms += 1;

            if (RankCarryover)
            {
                careerHistory.Rank = character.CareerHistory.Where(c => c.Name == Name).Max(c => c.Rank);
                careerHistory.CommissionRank = character.CareerHistory.Where(c => c.Name == Name).Max(c => c.CommissionRank);
            }

            var survived = dice.RollHigh(character.GetDM(SurvivalAttribute) + character.NextTermBenefits.SurvivalDM, SurvivalTarget);
            if (survived)
            {
                character.BenefitRolls += 1;

                Event(character, dice);

                var advancementRoll = dice.D(2, 6);
                if (advancementRoll == 12)
                {
                    character.AddHistory("Forced to continue current assignment");
                    character.NextTermBenefits.MustEnroll = Assignment;
                }
                advancementRoll += character.GetDM(AdvancementAttribute) + character.CurrentTermBenefits.AdvancementDM;

                if (advancementRoll <= careerHistory.Terms)
                {
                    character.AddHistory("Forced to muster out.");
                    character.NextTermBenefits.MusterOut = true;
                }
                if (advancementRoll > AdvancementTarget)
                {

                    careerHistory.Rank += 1;
                    character.AddHistory($"Promoted to rank {careerHistory.Rank}");

                    UpdateTitle(character, dice, careerHistory);

                    //advancement skill
                    var skillTables = new List<SkillTable>();
                    skillTables.Add(PersonalDevelopment);
                    skillTables.Add(ServiceSkill);
                    skillTables.Add(AssignmentSkills);
                    if (character.Education >= AdvancedEductionMin)
                        skillTables.Add(AdvancedEducation);
                    dice.Choose(skillTables)(character, dice);
                }
            }
            else
            {
                character.NextTermBenefits.MusterOut = true;
                Mishap(character, dice);
            }

            character.LastCareer = careerHistory;
            character.Age += 4;
        }
Beispiel #43
0
 internal abstract void TitleTable(Character character, CareerHistory careerHistory, Dice dice);
Beispiel #44
0
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     if (careerHistory.CommissionRank == 0)
     {
         switch (careerHistory.Rank)
         {
             case 0:
                 careerHistory.Title = "Private";
                 character.Skills.Add(dice.Choose(SpecialtiesFor("Gun Combat")), 1);
                 return;
             case 1:
                 careerHistory.Title = "Lance Corporal";
                 character.Skills.Add("Recon", 1);
                 return;
             case 2:
                 careerHistory.Title = "Corporal";
                 return;
             case 3:
                 careerHistory.Title = "Lance Sergeant";
                 character.Skills.Add("Leadership", 1);
                 return;
             case 4:
                 careerHistory.Title = "Sergeant";
                 return;
             case 5:
                 careerHistory.Title = "Gunnery Sergeant";
                 return;
             case 6:
                 careerHistory.Title = "Sergeant Major";
                 return;
         }
     }
     else
     {
         switch (careerHistory.CommissionRank)
         {
             case 1:
                 careerHistory.Title = "Lieutenant";
                 character.Skills.Add("Leadership", 1);
                 return;
             case 2:
                 careerHistory.Title = "Captain";
                 return;
             case 3:
                 careerHistory.Title = "Major";
                 character.Skills.Add("Tactics", "Military", 1);
                 return;
             case 4:
                 careerHistory.Title = "Lieutenant Colonel";
                 return;
             case 5:
                 careerHistory.Title = "Colonel";
                 return;
             case 6:
                 careerHistory.Title = "General";
                 if (character.SocialStanding < 10)
                     character.SocialStanding = 10;
                 else
                     character.SocialStanding += 1;
                 return;
         }
     }
 }
        private bool AttemptCommission(Character character, Dice dice, CareerHistory careerHistory)
        {
            var commissionDM =
                   character.SocialStandingDM +
                   character.CurrentTermBenefits.AdvancementDM +
                   character.CurrentTermBenefits.CommissionDM +
                   (1 - careerHistory.Terms);

            character.CurrentTermBenefits.FreeCommissionRoll = false;
            character.CurrentTermBenefits.CommissionDM = 0;

            if (dice.RollHigh(commissionDM, 8))
            {
                character.AddHistory($"Commissioned in {Name}/{Assignment}");
                careerHistory.CommissionRank = 1;

                UpdateTitle(character, dice, careerHistory);
                return true;
            }
            else
            {
                character.AddHistory($"Attempt at commissioned failed.");
                return false;
            }
        }
Beispiel #46
0
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     if (careerHistory.CommissionRank == 0)
     {
         switch (careerHistory.Rank)
         {
             case 0:
                 careerHistory.Title = "Marine";
                 {
                     var skillList = new SkillTemplateCollection();
                     skillList.AddRange(SpecialtiesFor("Gun Combat"));
                     skillList.Add("Melee", "Blade");
                     skillList.RemoveOverlap(character.Skills, 1);
                     if (skillList.Count > 0)
                         character.Skills.Add(dice.Choose(skillList), 1);
                 }
                 return;
             case 1:
                 careerHistory.Title = "Lance Corporal";
                 {
                     var skillList = new SkillTemplateCollection();
                     skillList.AddRange(SpecialtiesFor("Gun Combat"));
                     skillList.RemoveOverlap(character.Skills, 1);
                     if (skillList.Count > 0)
                         character.Skills.Add(dice.Choose(skillList), 1);
                 }
                 return;
             case 2:
                 careerHistory.Title = "Corporal";
                 return;
             case 3:
                 careerHistory.Title = "Lance Sergeant";
                 character.Skills.Add("Leadership", 1);
                 return;
             case 4:
                 careerHistory.Title = "Sergeant";
                 return;
             case 5:
                 careerHistory.Title = "Gunnery Sergeant";
                 character.Endurance += 1;
                 return;
             case 6:
                 careerHistory.Title = "Sergeant Major";
                 return;
         }
     }
     else
     {
         switch (careerHistory.CommissionRank)
         {
             case 1:
                 careerHistory.Title = "Lieutenant";
                 character.Skills.Add("Leadership", 1);
                 return;
             case 2:
                 careerHistory.Title = "Captain";
                 return;
             case 3:
                 careerHistory.Title = "Force Commander";
                 {
                     var skillList = new SkillTemplateCollection();
                     skillList.AddRange(SpecialtiesFor("Tatics"));
                     skillList.RemoveOverlap(character.Skills, 1);
                     if (skillList.Count > 0)
                         character.Skills.Add(dice.Choose(skillList), 1);
                 }
                 return;
             case 4:
                 careerHistory.Title = "Lieutenant Colonel";
                 return;
             case 5:
                 careerHistory.Title = "Colonel";
                 if (character.SocialStanding < 10)
                     character.SocialStanding = 10;
                 else
                     character.SocialStanding += 1;
                 return;
             case 6:
                 careerHistory.Title = "Brigadier";
                 return;
         }
     }
 }
Beispiel #47
0
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     switch (careerHistory.Rank)
     {
         case 0:
             return;
         case 1:
             careerHistory.Title = "Scout";
             character.Skills.Add("Vacc Suit", 1);
             return;
         case 2:
             return;
         case 3:
             careerHistory.Title = "Senior Scout";
             var skillList = new SkillTemplateCollection(SpecialtiesFor("Pilot"));
             skillList.RemoveOverlap(character.Skills, 1);
             if (skillList.Count > 0)
                 character.Skills.Add(dice.Choose(skillList), 1);
             return;
         case 4:
             return;
         case 5:
             return;
         case 6:
             return;
     }
 }
Beispiel #48
0
 public bool UpdateEmployeeCH(CareerHistory careerHistory)
 {
     _db.CareerHistories.Update(careerHistory);
     return(Save());
 }
        internal override void Run(Character character, Dice dice)
        {
            CareerHistory careerHistory;
            if (!character.CareerHistory.Any(pc => pc.Name == Name))
            {
                character.AddHistory($"Became a {Assignment} at age {character.Age}");
                BasicTraining(character, dice, character.CareerHistory.Count == 0);

                careerHistory = new CareerHistory(Name, Assignment, 0);
                character.CareerHistory.Add(careerHistory);

                UpdateTitle(character, dice, careerHistory);
            }
            else
            {
                if (!character.CareerHistory.Any(pc => pc.Assignment == Assignment))
                {
                    character.AddHistory($"Switched to {Assignment} at age {character.Age}");
                    careerHistory = new CareerHistory(Name, Assignment, 0);
                    character.CareerHistory.Add(careerHistory);
                }
                else if (character.LastCareer?.Assignment == Assignment)
                {
                    character.AddHistory($"Continued as {Assignment} at age {character.Age}");
                    careerHistory = character.CareerHistory.Single(pc => pc.Assignment == Assignment);
                }
                else
                {
                    character.AddHistory($"Returned to {Assignment} at age {character.Age}");
                    careerHistory = character.CareerHistory.Single(pc => pc.Assignment == Assignment);
                }

                var skillTables = new List<SkillTable>();
                skillTables.Add(PersonalDevelopment);
                skillTables.Add(ServiceSkill);
                skillTables.Add(AssignmentSkills);
                if (character.Education >= AdvancedEductionMin)
                    skillTables.Add(AdvancedEducation);
                if (careerHistory.CommissionRank > 0)
                    skillTables.Add(OfficerTraining);

                dice.Choose(skillTables)(character, dice);
            }
            careerHistory.Terms += 1;
            character.LastCareer = careerHistory;

            //rank carry-over
            careerHistory.Rank = character.CareerHistory.Where(c => c.Name == Name).Max(c => c.Rank);
            careerHistory.CommissionRank = character.CareerHistory.Where(c => c.Name == Name).Max(c => c.CommissionRank);

            //Early commission, possibly from military academy.
            if (careerHistory.CommissionRank == 0 && character.CurrentTermBenefits.FreeCommissionRoll)
            {
                AttemptCommission(character, dice, careerHistory);
            }

            var survived = dice.RollHigh(character.GetDM(SurvivalAttribute) + character.NextTermBenefits.SurvivalDM, SurvivalTarget);
            if (survived)
            {
                character.BenefitRolls += 1;

                Event(character, dice);

                var totalTermsInCareer = character.CareerHistory.Where(pc => pc.Name == Name).Sum(c => c.Terms);

                //Not all people will attempt a commission even when possible
                var attemptCommission = (totalTermsInCareer == 1 || character.SocialStanding >= 9) && dice.D(100) < Book.OddsOfSuccess(character, "Soc", 8 - character.CurrentTermBenefits.CommissionDM);

                var commissionEarned = false;

                if (careerHistory.CommissionRank == 0 && (attemptCommission || character.CurrentTermBenefits.FreeCommissionRoll))
                    commissionEarned = AttemptCommission(character, dice, careerHistory);

                if (!commissionEarned)
                {
                    //try for advancement only if failed to earn a commission.
                    var advancementRoll = dice.D(2, 6);
                    if (advancementRoll == 12)
                    {
                        character.AddHistory("Forced to continue current assignment");
                        character.NextTermBenefits.MustEnroll = Assignment;
                    }
                    advancementRoll += character.GetDM(AdvancementAttribute) + character.CurrentTermBenefits.AdvancementDM;

                    if (advancementRoll <= careerHistory.Terms)
                    {
                        character.AddHistory("Forced to muster out.");
                        character.NextTermBenefits.MusterOut = true;
                    }
                    if (advancementRoll > AdvancementTarget)
                    {
                        if (careerHistory.CommissionRank > 0)
                        {
                            careerHistory.CommissionRank += 1;
                            character.AddHistory($"Promoted to officer rank {careerHistory.CommissionRank}");
                        }
                        else
                        {
                            careerHistory.Rank += 1;
                            character.AddHistory($"Promoted to rank {careerHistory.Rank}");
                        }
                        UpdateTitle(character, dice, careerHistory);

                        //advancement skill
                        var skillTables = new List<SkillTable>();
                        skillTables.Add(PersonalDevelopment);
                        skillTables.Add(ServiceSkill);
                        skillTables.Add(AssignmentSkills);
                        if (character.Education >= AdvancedEductionMin)
                            skillTables.Add(AdvancedEducation);
                        if (careerHistory.CommissionRank > 0)
                            skillTables.Add(OfficerTraining);
                        dice.Choose(skillTables)(character, dice);
                    }
                }
            }
            else
            {
                character.NextTermBenefits.MusterOut = true;
                Mishap(character, dice);
            }

            character.Age += 4;
        }
Beispiel #50
0
 internal override void TitleTable(Character character, CareerHistory careerHistory, Dice dice)
 {
     if (careerHistory.CommissionRank == 0)
     {
         switch (careerHistory.Rank)
         {
             case 0:
                 careerHistory.Title = "Crewman";
                 return;
             case 1:
                 careerHistory.Title = "Able Spacehand";
                 character.Skills.Add("Mechanic", 1);
                 return;
             case 2:
                 careerHistory.Title = "Petty Officer, 3rd  class";
                 character.Skills.Add("Vacc Suit", 1);
                 return;
             case 3:
                 careerHistory.Title = "Petty Officer, 2nd  class";
                 return;
             case 4:
                 careerHistory.Title = "Petty Officer, 1st  class";
                 character.Endurance += 1;
                 return;
             case 5:
                 careerHistory.Title = "Chief Petty Officer";
                 return;
             case 6:
                 careerHistory.Title = "Master Chief";
                 return;
         }
     }
     else
     {
         switch (careerHistory.CommissionRank)
         {
             case 1:
                 careerHistory.Title = "Ensign";
                 character.Skills.Add("Melee", "Blade", 1);
                 return;
             case 2:
                 careerHistory.Title = "Sublieutenant";
                 character.Skills.Add("Leadership", 1);
                 return;
             case 3:
                 careerHistory.Title = "Lieutenant";
                 return;
             case 4:
                 careerHistory.Title = "Commander";
                 character.Skills.Add("Tactics", "Military", 1);
                 return;
             case 5:
                 careerHistory.Title = "Captain";
                 if (character.SocialStanding < 10)
                     character.SocialStanding = 10;
                 else
                     character.SocialStanding += 1;
                 return;
             case 6:
                 careerHistory.Title = "Admiral";
                 if (character.SocialStanding < 12)
                     character.SocialStanding = 12;
                 else
                     character.SocialStanding += 1;
                 return;
         }
     }
 }