public ScoundrelSpecialization()
        {
            SpecName = "Scoundrel";
            SpecCareer = BaseEotECareer.EotECareers.SMUGGLER;
            SpecSkills = new List<BaseEotECareer.EotESkills> { BaseEotECareer.EotESkills.CHARM, BaseEotECareer.EotESkills.COOL, BaseEotECareer.EotESkills.DECEPTION, BaseEotECareer.EotESkills.RANGEDLIGHT };
            SpecDescription = "A Galaxy of Marks\n\nPart con artist, part gunslinger, and part cantina brawler, the Scoundrel is quick-witted, quick " +
                              "on his feet, and quick to get himself into a great deal of trouble at the drop of a hat. He doesn't care one whit for " +
                              "rules or laws, except where he can use them to work an angle that either nets him a lot of credits or brings down an " +
                              "enemy. If he's really lucky--and he tends to have an unshakable faith in his luck--he'll manage both.";

            /* Talent Tree */
            TalentA1 = new BlackMarketContactsTalent(true, 5);
            TalentA2 = new ConvincingDemeanorTalent(true, 5);
            TalentA3 = new QuickDrawTalent(true, 5);
            TalentA4 = new RapidReactionTalent(true, 5);
            TalentB1 = new ConvincingDemeanorTalent(new List<BaseEotETalent> { TalentA1, TalentC1 }, 10);
            TalentB2 = new BlackMarketContactsTalent(new List<BaseEotETalent> { TalentB1, TalentC2 }, 10);
            TalentB3 = new ConvincingDemeanorTalent(new List<BaseEotETalent> { TalentB2, TalentC3 }, 10);
            TalentB4 = new QuickStrikeTalent(new List<BaseEotETalent> { TalentA4, TalentC4 }, 10);
            TalentC1 = new HiddenStorageTalent(new List<BaseEotETalent> { TalentB1, TalentD1 }, 15);
            TalentC2 = new ToughenedTalent(new List<BaseEotETalent> { TalentB2, TalentC3, TalentD2 }, 15);
            TalentC3 = new BlackMarketContactsTalent(new List<BaseEotETalent> { TalentB1, TalentC2, TalentD3 }, 15);
            TalentC4 = new SideStepTalent(new List<BaseEotETalent> { TalentB4, TalentD4 }, 15);
            TalentD1 = new ToughenedTalent(new List<BaseEotETalent> { TalentC1, TalentE1 }, 20);
            TalentD2 = new RapidReactionTalent(new List<BaseEotETalent> { TalentC2, TalentD3, TalentE2 }, 20);
            TalentD3 = new HiddenStorageTalent(new List<BaseEotETalent> { TalentC3, TalentD2, TalentE3 }, 20);
            TalentD4 = new SideStepTalent(new List<BaseEotETalent> { TalentC4, TalentE4 }, 20);
            TalentE1 = new DedicationTalent(new List<BaseEotETalent> { TalentD1, TalentE2 }, 25);
            TalentE2 = new NaturalCharmerTalent(new List<BaseEotETalent> { TalentE1, TalentD2, TalentE3 }, 25);
            TalentE3 = new SoftSpotTalent(new List<BaseEotETalent> { TalentD3, TalentE2, TalentE4 }, 25);
            TalentE4 = new QuickStrikeTalent(new List<BaseEotETalent> { TalentD4, TalentE3 }, 25);

            TalentMatrix = new List<List<BaseEotETalent>> { new List<BaseEotETalent> { TalentA1, TalentA2, TalentA3, TalentA4 },
                                                            new List<BaseEotETalent> { TalentB1, TalentB2, TalentB3, TalentB4 },
                                                            new List<BaseEotETalent> { TalentC1, TalentC2, TalentC3, TalentC4 },
                                                            new List<BaseEotETalent> { TalentD1, TalentD2, TalentD3, TalentD4 },
                                                            new List<BaseEotETalent> { TalentE1, TalentE2, TalentE3, TalentE4 }
                                                          };
        }
        public BodyguardSpecialization()
        {
            SpecName = "Bodyguard";
            SpecCareer = BaseEotECareer.EotECareers.HIREDGUN;
            SpecSkills = new List<BaseEotECareer.EotESkills> { BaseEotECareer.EotESkills.GUNNERY, BaseEotECareer.EotESkills.PERCEPTION, BaseEotECareer.EotESkills.PILOTINGPLANETARY, BaseEotECareer.EotESkills.RANGEDHEAVY };
            SpecDescription = "Personal Defender\n\nHired Guns who choose the Bodyguard specialization are excellent choices for defending both " +
                              "people and places. They tend to be highly capable with all kinds of weaponry, extremely tough and savvy in combat, " +
                              "and exactly the right people to get behind when blaster fire starts flying.";

            /* Talent Tree */
            TalentA1 = new ToughenedTalent(true, 5);
            TalentA2 = new BarrageTalent(true, 5);
            TalentA3 = new DurableTalent(true, 5);
            TalentA4 = new GritTalent(true, 5);
            TalentB1 = new BodyGuardTalent(new List<BaseEotETalent> { TalentB2 }, 10);
            TalentB2 = new HardHeadedTalent(new List<BaseEotETalent> { TalentA2, TalentC2, TalentB3 }, 10);
            TalentB3 = new BarrageTalent(new List<BaseEotETalent> { TalentA3, TalentB2, TalentC3 }, 10);
            TalentB4 = new BraceTalent(new List<BaseEotETalent> { TalentB3 }, 10);
            TalentC1 = new BodyGuardTalent(new List<BaseEotETalent> { TalentB1 }, 15);
            TalentC2 = new SideStepTalent(new List<BaseEotETalent> { TalentB2, TalentC3, TalentD2 }, 15);
            TalentC3 = new DefensiveStanceTalent(new List<BaseEotETalent> { TalentB3, TalentC2, TalentD3 }, 15);
            TalentC4 = new BraceTalent(new List<BaseEotETalent> { TalentB4 }, 15);
            TalentD1 = new EnduringTalent(new List<BaseEotETalent> { TalentC1 }, 20);
            TalentD2 = new SideStepTalent(new List<BaseEotETalent> { TalentC2, TalentD3, TalentE2 }, 20);
            TalentD3 = new DefensiveStanceTalent(new List<BaseEotETalent> { TalentC3, TalentD2, TalentE3 }, 20);
            TalentD4 = new HardHeadedTalent(new List<BaseEotETalent> { TalentD3 }, 20);
            TalentE1 = new DedicationTalent(new List<BaseEotETalent> { TalentE2 }, 25);
            TalentE2 = new BarrageTalent(new List<BaseEotETalent> { TalentD2, TalentE3 }, 25);
            TalentE3 = new ToughenedTalent(new List<BaseEotETalent> { TalentD3, TalentE2 }, 25);
            TalentE4 = new HardHeadedImprovedTalent(new List<BaseEotETalent> { TalentD4 }, 25);

            TalentMatrix = new List<List<BaseEotETalent>> { new List<BaseEotETalent> { TalentA1, TalentA2, TalentA3, TalentA4 },
                                                            new List<BaseEotETalent> { TalentB1, TalentB2, TalentB3, TalentB4 },
                                                            new List<BaseEotETalent> { TalentC1, TalentC2, TalentC3, TalentC4 },
                                                            new List<BaseEotETalent> { TalentD1, TalentD2, TalentD3, TalentD4 },
                                                            new List<BaseEotETalent> { TalentE1, TalentE2, TalentE3, TalentE4 }
                                                          };
        }
        public MercenarySoldierSpecialization()
        {
            SpecName = "Mercenary Soldier";
            SpecCareer = BaseEotECareer.EotECareers.HIREDGUN;
            SpecSkills = new List<BaseEotECareer.EotESkills> { BaseEotECareer.EotESkills.DISCIPLINE, BaseEotECareer.EotESkills.GUNNERY, BaseEotECareer.EotESkills.LEADERSHIP, BaseEotECareer.EotESkills.RANGEDHEAVY };
            SpecDescription = "Master of War\n\nIf the Marauder is the melee master, and the Bodyguard is the all around weapons and gear trooper, " +
                              "the Mercenary Soldier is the warfare expert. An adept of moth ranged combat and military tactics, he is a leader of " +
                              "warriors in combat and a deadly combatant himself.";

            /* Talent Tree */
            TalentA1 = new CommandTalent(true, 5);
            TalentA2 = new SecondWindTalent(true, 5);
            TalentA3 = new PointBlankTalent(true, 5);
            TalentA4 = new SideStepTalent(true, 5);
            TalentB1 = new SecondWindTalent(new List<BaseEotETalent> { TalentA1, TalentB2, TalentC1 }, 10);
            TalentB2 = new ConfidenceTalent(new List<BaseEotETalent> { TalentA2, TalentB1, TalentC2 }, 10);
            TalentB3 = new StrongArmTalent(new List<BaseEotETalent> { TalentA3, TalentB4, TalentC3 }, 10);
            TalentB4 = new PointBlankTalent(new List<BaseEotETalent> { TalentA4, TalentB3 }, 10);
            TalentC1 = new FieldCommanderTalent(new List<BaseEotETalent> { TalentB1, TalentC2 }, 15);
            TalentC2 = new CommandTalent(new List<BaseEotETalent> { TalentB2, TalentC1, TalentC3, TalentD2 }, 15);
            TalentC3 = new NaturalMarksmanTalent(new List<BaseEotETalent> { TalentB3, TalentC2, TalentC4, TalentD3 }, 15);
            TalentC4 = new SniperShotTalent(new List<BaseEotETalent> { TalentC3, TalentD4 }, 15);
            TalentD1 = new FieldCommanderImprovedTalent(new List<BaseEotETalent> { TalentC1 }, 20);
            TalentD2 = new GritTalent(new List<BaseEotETalent> { TalentC2, TalentE2 }, 20);
            TalentD3 = new ToughenedTalent(new List<BaseEotETalent> { TalentC3, TalentD4 }, 20);
            TalentD4 = new LethalBlowsTalent(new List<BaseEotETalent> { TalentC4, TalentD3, TalentE4 }, 20);
            TalentE1 = new DeadlyAccuracyTalent(new List<BaseEotETalent> { TalentE2 }, 25);
            TalentE2 = new TrueAimTalent(new List<BaseEotETalent> { TalentD2, TalentE3 }, 25);
            TalentE3 = new DedicationTalent(new List<BaseEotETalent> { TalentE2, TalentE4 }, 25);
            TalentE4 = new TrueAimTalent(new List<BaseEotETalent> { TalentD4, TalentE3 }, 25);

            TalentMatrix = new List<List<BaseEotETalent>> { new List<BaseEotETalent> { TalentA1, TalentA2, TalentA3, TalentA4 },
                                                            new List<BaseEotETalent> { TalentB1, TalentB2, TalentB3, TalentB4 },
                                                            new List<BaseEotETalent> { TalentC1, TalentC2, TalentC3, TalentC4 },
                                                            new List<BaseEotETalent> { TalentD1, TalentD2, TalentD3, TalentD4 },
                                                            new List<BaseEotETalent> { TalentE1, TalentE2, TalentE3, TalentE4 }
                                                          };
        }
        public OutlawTechSpecialization()
        {
            SpecName = "OutlawTech";
            SpecCareer = BaseEotECareer.EotECareers.TECHNICIAN;
            SpecSkills = new List<BaseEotECareer.EotESkills> { BaseEotECareer.EotESkills.EDUCATION, BaseEotECareer.EotESkills.UNDERWORLD, BaseEotECareer.EotESkills.MECHANICS, BaseEotECareer.EotESkills.STREETWISE };
            SpecDescription = "Making Things Better\n\nOutlaw Techs are the specialists others call on when they want something out of the ordinary. A " +
                              "blaster that works beyond factory tolerances? No problem. A transponder that identifies a smuggler's freighter as a religious " +
                              "pilgrimage craft? It'll cost a few credits, but sure. A protocol droid altered to carry out an assassination? Just how big is " +
                              "that credit line, anyway?";

            /* Talent Tree */
            TalentA1 = new TinkererTalent(true, 5);
            TalentA2 = new UtinniTalent(true, 5);
            TalentA3 = new SpeaksBinaryTalent(true, 5);
            TalentA4 = new TinkererTalent(true, 5);
            TalentB1 = new SolidRepairsTalent(new List<BaseEotETalent> {  }, 10);
            TalentB2 = new GritTalent(new List<BaseEotETalent> {  }, 10);
            TalentB3 = new UtinniTalent(new List<BaseEotETalent> {  }, 10);
            TalentB4 = new ToughenedTalent(new List<BaseEotETalent> {  }, 10);
            TalentC1 = new UtilityBeltTalent(new List<BaseEotETalent> {  }, 15);
            TalentC2 = new SideStepTalent(new List<BaseEotETalent> {  }, 15);
            TalentC3 = new BraceTalent(new List<BaseEotETalent> {  }, 15);
            TalentC4 = new DefensiveStanceTalent(new List<BaseEotETalent> {  }, 15);
            TalentD1 = new JuryRiggedTalent(new List<BaseEotETalent> {  }, 20);
            TalentD2 = new SpeaksBinaryTalent(new List<BaseEotETalent> {  }, 20);
            TalentD3 = new InventorTalent(new List<BaseEotETalent> {  }, 20);
            TalentD4 = new JuryRiggedTalent(new List<BaseEotETalent> {  }, 20);
            TalentE1 = new InventorTalent(new List<BaseEotETalent> {  }, 25);
            TalentE2 = new DedicationTalent(new List<BaseEotETalent> {  }, 25);
            TalentE3 = new KnownSchematicTalent(new List<BaseEotETalent> {  }, 25);
            TalentE4 = new BraceTalent(new List<BaseEotETalent> {  }, 25);

            TalentB1.ParentTalents = new List<BaseEotETalent> { TalentA1, TalentB2, TalentC1 };
            TalentB2.ParentTalents = new List<BaseEotETalent> { TalentA2, TalentB1, TalentB3, TalentC2 };
            TalentB3.ParentTalents = new List<BaseEotETalent> { TalentA3, TalentB2, TalentB4, TalentC3 };
            TalentB4.ParentTalents = new List<BaseEotETalent> { TalentA4, TalentB3, TalentC4 };
            TalentC1.ParentTalents = new List<BaseEotETalent> { TalentB1, TalentC2, TalentD1 };
            TalentC2.ParentTalents = new List<BaseEotETalent> { TalentB2, TalentC1, TalentC3, TalentD2 };
            TalentC3.ParentTalents = new List<BaseEotETalent> { TalentB3, TalentC2, TalentC4, TalentD3 };
            TalentC4.ParentTalents = new List<BaseEotETalent> { TalentB4, TalentC3, TalentD4 };
            TalentD1.ParentTalents = new List<BaseEotETalent> { TalentC1, TalentD2 };
            TalentD2.ParentTalents = new List<BaseEotETalent> { TalentC2, TalentD1, TalentD3 };
            TalentD3.ParentTalents = new List<BaseEotETalent> { TalentC3, TalentD2, TalentE3 };
            TalentD4.ParentTalents = new List<BaseEotETalent> { TalentC4, TalentE4 };
            TalentE1.ParentTalents = new List<BaseEotETalent> { TalentD1 };
            TalentE2.ParentTalents = new List<BaseEotETalent> { TalentE1 };
            TalentE3.ParentTalents = new List<BaseEotETalent> { TalentD3, TalentE4 };
            TalentE4.ParentTalents = new List<BaseEotETalent> { TalentD4, TalentE3 };

            TalentA1.ChildTalents = new List<BaseEotETalent> { TalentB1 };
            TalentA2.ChildTalents = new List<BaseEotETalent> { TalentB2 };
            TalentA3.ChildTalents = new List<BaseEotETalent> { TalentB3 };
            TalentA4.ChildTalents = new List<BaseEotETalent> { TalentB4 };
            TalentB1.ChildTalents = new List<BaseEotETalent> { TalentB2, TalentC1 };
            TalentB2.ChildTalents = new List<BaseEotETalent> { TalentB1, TalentB3, TalentC2 };
            TalentB3.ChildTalents = new List<BaseEotETalent> { TalentB2, TalentB4, TalentC3 };
            TalentB4.ChildTalents = new List<BaseEotETalent> { TalentB3, TalentC4 };
            TalentC1.ChildTalents = new List<BaseEotETalent> { TalentB1, TalentC2, TalentB1 };
            TalentC2.ChildTalents = new List<BaseEotETalent> { TalentC1, TalentC3, TalentD2 };
            TalentC3.ChildTalents = new List<BaseEotETalent> { TalentB3, TalentC2, TalentD4, TalentC4 };
            TalentC4.ChildTalents = new List<BaseEotETalent> { TalentB4, TalentC3, TalentD4 };
            TalentD1.ChildTalents = new List<BaseEotETalent> { TalentC1, TalentD2, TalentE1 };
            TalentD2.ChildTalents = new List<BaseEotETalent> { TalentC2, TalentD1, TalentD3};
            TalentD3.ChildTalents = new List<BaseEotETalent> { TalentC3, TalentD2, TalentE3};
            TalentD4.ChildTalents = new List<BaseEotETalent> { TalentE4 };
            TalentE1.ChildTalents = new List<BaseEotETalent> { TalentE2 };
            TalentE2.ChildTalents = new List<BaseEotETalent> { };
            TalentE3.ChildTalents = new List<BaseEotETalent> { TalentE4 };
            TalentE4.ChildTalents = new List<BaseEotETalent> { TalentE3 };

            TalentMatrix = new List<List<BaseEotETalent>> { new List<BaseEotETalent> { TalentA1, TalentA2, TalentA3, TalentA4 },
                                                            new List<BaseEotETalent> { TalentB1, TalentB2, TalentB3, TalentB4 },
                                                            new List<BaseEotETalent> { TalentC1, TalentC2, TalentC3, TalentC4 },
                                                            new List<BaseEotETalent> { TalentD1, TalentD2, TalentD3, TalentD4 },
                                                            new List<BaseEotETalent> { TalentE1, TalentE2, TalentE3, TalentE4 }
                                                          };
        }