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 ScholarSpecialization()
        {
            SpecName = "Scholar";
            SpecCareer = BaseEotECareer.EotECareers.COLONIST;
            SpecSkills = new List<BaseEotECareer.EotESkills> { BaseEotECareer.EotESkills.OUTERRIM, BaseEotECareer.EotESkills.UNDERWORLD, BaseEotECareer.EotESkills.XENOLOGY, BaseEotECareer.EotESkills.PERCEPTION };
            SpecDescription = "The Gift of Knowledge\n\nAt first, the idea of a Scholar wandering with a bunch of ne'er-do-wells in the " +
                              "Outer Rim might seem a bit odd, if not downright ridiculous. However, with all of the dangers and wonders " +
                              "of \"a thousand thousand worlds,\" having someone around who actually knows something more than how to reload " +
                              "a heavy blaster could be exceedingly useful inder any number of circumstances. This is especially true when a " +
                              "group is faced with something truly unknown or needs to find something that simple tracking alone cannot locate.";

            /* Talent Tree */
            TalentA1 = new RespectedScholarTalent(true, 5);
            TalentA2 = new SpeaksBinaryTalent(true, 5);
            TalentA3 = new GritTalent(true, 5);
            TalentA4 = new BraceTalent(true, 5);
            TalentB1 = new ResearcherTalent(new List<BaseEotETalent> { TalentA1, TalentB2, TalentC1 }, 10);
            TalentB2 = new RespectedScholarTalent(new List<BaseEotETalent> { TalentA2, TalentB1 }, 10);
            TalentB3 = new ResolveTalent(new List<BaseEotETalent> { TalentA3, TalentB4 }, 10);
            TalentB4 = new ResearcherTalent(new List<BaseEotETalent> { TalentA4, TalentC4 }, 10);
            TalentC1 = new CodebreakerTalent(new List<BaseEotETalent> { TalentB1, TalentC2 }, 15);
            TalentC2 = new KnowledgeSpecializationTalent(new List<BaseEotETalent> { TalentC1, TalentD2 }, 15);
            TalentC3 = new NaturalScholarTalent(new List<BaseEotETalent> { TalentC4, TalentD3 }, 15);
            TalentC4 = new WellRoundedTalent(new List<BaseEotETalent> { TalentB4, TalentC3 }, 15);
            TalentD1 = new KnowledgeSpecializationTalent(new List<BaseEotETalent> { TalentD2, TalentE1 }, 20);
            TalentD2 = new IntenseFocusTalent(new List<BaseEotETalent> { TalentC2, TalentD1 }, 20);
            TalentD3 = new ConfidenceTalent(new List<BaseEotETalent> { TalentC3, TalentD4 }, 20);
            TalentD4 = new ResolveTalent(new List<BaseEotETalent> { TalentD3, TalentE4 }, 20);
            TalentE1 = new StrokeOfGeniusTalent(new List<BaseEotETalent> { TalentD1, TalentE2 }, 25);
            TalentE2 = new MentalFortressTalent(new List<BaseEotETalent> { TalentE1, TalentE3 }, 25);
            TalentE3 = new DedicationTalent(new List<BaseEotETalent> { TalentE2, TalentE4 }, 25);
            TalentE4 = new ToughenedTalent(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 }
                                                          };
        }
        public GadgeteerSpecialization()
        {
            SpecName = "Gadgeteer";
            SpecCareer = BaseEotECareer.EotECareers.BOUNTYHUNTER;
            SpecSkills = new List<BaseEotECareer.EotESkills> { BaseEotECareer.EotESkills.BRAWL, BaseEotECareer.EotESkills.COERCION, BaseEotECareer.EotESkills.MECHANICS, BaseEotECareer.EotESkills.RANGEDLIGHT };
            SpecDescription = "Connoisseur of Tech\n\nConsidering how often a single Bounty Hunter finds himself faced with terrible " +
                              "odds (more often than not, an acquisition has friends or employees who work hard to protect him), it's " +
                              "not surprising how many specialize in high-tech gear and weapons. The Gadgeteer excels at presenting " +
                              "himself as a one-person battle force, at least for a short time. Using both the latest tech and his own " +
                              "personally modified gear, a Bounty Hunter with this specialization can be hard to stop.";

            /* Talent Tree */
            TalentA1 = new BraceTalent(true, 5);
            TalentA2 = new ToughenedTalent(true, 5);
            TalentA3 = new IntimidatingTalent(true, 5);
            TalentA4 = new DefensiveStanceTalent(true, 5);
            TalentB1 = new SpareClipTalent(new List<BaseEotETalent> {  }, 10);
            TalentB2 = new JuryRiggedTalent(new List<BaseEotETalent> {  }, 10);
            TalentB3 = new PointBlankTalent(new List<BaseEotETalent> {  }, 10);
            TalentB4 = new DisorientTalent(new List<BaseEotETalent> {  }, 10);
            TalentC1 = new ToughenedTalent(new List<BaseEotETalent> {  }, 15);
            TalentC2 = new ArmorMasterTalent(new List<BaseEotETalent> {  }, 15);
            TalentC3 = new NaturalEnforcerTalent(new List<BaseEotETalent> {  }, 15);
            TalentC4 = new StunningBlowTalent(new List<BaseEotETalent> {  }, 15);
            TalentD1 = new JuryRiggedTalent(new List<BaseEotETalent> {  }, 20);
            TalentD2 = new TinkererTalent(new List<BaseEotETalent> {  }, 20);
            TalentD3 = new DeadlyAccuracyTalent(new List<BaseEotETalent> {  }, 20);
            TalentD4 = new StunningBlowImprovedTalent(new List<BaseEotETalent> {  }, 20);
            TalentE1 = new IntimidatingTalent(new List<BaseEotETalent> {  }, 25);
            TalentE2 = new DedicationTalent(new List<BaseEotETalent> {  }, 25);
            TalentE3 = new ArmorMasterImprovedTalent(new List<BaseEotETalent> {  }, 25);
            TalentE4 = new CripplingBlowTalent(new List<BaseEotETalent> {  }, 25);

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

            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 }
                                                          };
        }