public AssassinFactory() { baseModel = Resources.Load <GameObject>("AssassinModel"); attackPower = 1.2f; armor = 0.1f; maxHP = 6 * 2; maxMP = 6; //baseSkills.Add(SkillFactory.GetShiv()); baseSkills.Add(SkillFactory.GetFade()); baseSkills.Add(SkillFactory.GetCripple()); Talent t = new Talent(); t.name = "Shadow Drift"; t.description = "The assassin teleports to any tile within a huge distance."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getShadowDrift()); }; talentOptions.Add(t); t = new Talent(); t.name = "Leach"; t.description = "30% of damage dealt is healed."; t.IfChosen = unit => { unit.AddEffect(EffectFactory.getVampiricEffect(), -1); }; talentOptions.Add(t); t = new Talent(); t.name = "Single Out"; t.description = "Deal double damage to units with no allies within 3 tiles."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.GetShiv()); unit.AddEffect(EffectFactory.getSingledOutEffect(), -1); }; talentOptions.Add(t); t = new Talent(); t.name = "Pierce"; t.description = "Shiv is replace by pierce, a ranged attack with similar damage."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getPierce()); }; talentOptions.Add(t); t = new Talent(); t.name = "Efficiency"; t.description = "Move which slightly heals an ally or slightly damages an enemy. Has no energy cost, and restores energy to the caster."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getEfficiency()); }; talentOptions.Add(t); t = new Talent(); t.name = "Acid Blade"; t.description = "Assassin stabs an enemy. Weaker than shiv, but pierces and corrodes an enemy's armor."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getAcidBlade()); }; talentOptions.Add(t); name = "Assassin"; description = "A spooky dangerous assassin, who deals a lot of damage"; image = Resources.Load <Sprite>("CharacterIcons/AssassinIcon"); }