예제 #1
0
    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");
    }