public TechFactory() { baseModel = Resources.Load <GameObject>("TechModel"); attackPower = 0.9f; armor = 0.4f; maxHP = 10; maxMP = 6; baseSkills.Add(SkillFactory.GetSnipe()); baseSkills.Add(SkillFactory.GetRepair()); baseSkills.Add(SkillFactory.GetMakeSentry()); Talent t = new Talent(); t.name = "Med Station"; t.description = "Able to create med stations. Static structures that restore health to nearby allies every turn."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getMakeMedStation()); }; talentOptions.Add(t); t = new Talent(); t.name = "Add Repair"; t.description = "Adds Repair to Class"; t.IfChosen = unit => { unit.AddSkill(SkillFactory.GetRepair()); }; talentOptions.Add(t); t = new Talent(); t.name = "Battle Bot"; t.description = "Creates a mobile robot buddy. Will move to and attack enemies for you."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getMakeBattlePet()); }; talentOptions.Add(t); t = new Talent(); t.name = "Sticky Grenade"; t.description = "Attaches a sticky grenade to an enemy, which explodes after 2 turns."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getStickyGrenade()); }; talentOptions.Add(t); t = new Talent(); t.name = "Master Sniper"; t.description = "Snipe is free."; t.IfChosen = unit => { unit.talentTags.Add("FreeSnipe"); }; talentOptions.Add(t); t = new Talent(); t.name = "Toughness"; t.description = "The Tech is just tough. Nothing complicated. Slight increase to armor and damage."; t.IfChosen = Unit => { Unit.AddEffect(EffectFactory.getToughEffect(), -1); }; talentOptions.Add(t); name = "Technician"; description = "A repairman who can build robots"; image = Resources.Load <Sprite>("CharacterIcons/TechIcon"); }
public MedicFactory() { baseModel = Resources.Load <GameObject>("MedicModel"); attackPower = 0.9f; armor = 0.2f; maxHP = 4 * 2; maxMP = 6; baseSkills.Add(SkillFactory.GetHeal()); baseSkills.Add(SkillFactory.GetAoEHeal()); baseSkills.Add(SkillFactory.GetWeakenOffense()); Talent t = new Talent(); t.name = "Anatomy"; t.description = "Medic learns the Anatomy Skill. Provides a huge damage buff to a single target."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getAnatomy()); }; talentOptions.Add(t); t = new Talent(); t.name = "Med Station"; t.description = "Can deploy a med station, which passively heals allies around it"; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getMakeMedStation()); }; talentOptions.Add(t); t = new Talent(); t.name = "Blood Donor"; t.description = "Medic learns the Blood Donor Skill. The medic siphons the hitpoints of his target."; t.IfChosen = unit => { unit.AddSkill(SkillFactory.GetBloodDonor()); }; talentOptions.Add(t); t = new Talent(); t.name = "Balance"; t.description = "Heal now damages a nearby enemy in addition to healing the target. It also siphons the enemy's armor."; t.IfChosen = unit => { unit.talentTags.Add("Balance"); }; talentOptions.Add(t); t = new Talent(); t.name = "Lethal Injection"; t.description = "Medic gains Lethal Injection, a single target attack that slightly lowers the target's armor and damage"; t.IfChosen = unit => { unit.AddSkill(SkillFactory.getLethalInjection()); }; talentOptions.Add(t); t = new Talent(); t.name = "Oath Breaker"; t.description = "AOE heal now deals damage instead"; t.IfChosen = unit => { unit.talentTags.Add("OathBreaker"); }; talentOptions.Add(t); name = "Medic"; description = "A doctor who supports his team with his healing powers."; image = Resources.Load <Sprite>("CharacterIcons/MedicIcon"); }