예제 #1
0
    public void TestCureSkill()
    {
        if (SkillData.GetData(3) == null)
        {
            SkillData.Load();
        }

        CureSkill           cureSkill  = (CureSkill)SkillFactory.GetNewSkill(3, null, 1);
        BattleCharacterInfo Info       = new BattleCharacterInfo();
        TeamMember          teamMember = new TeamMember();

        teamMember.Init(3, true, 1);
        Info.Init(teamMember, 1);
        Debug.Log(Info.MEF + " " + cureSkill.Data.ValueList[0]);
        Assert.AreEqual(18, cureSkill.CalculateRecover(Info));
    }
예제 #2
0
    public static Skill GetNewSkill(SkillData.RootObject skillData, BattleCharacterInfo user, int lv)
    {
        Skill skill = new Skill();

        if (skillData.Type == SkillData.TypeEnum.Attack)
        {
            skill = new AttackSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Cure)
        {
            skill = new CureSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Buff)
        {
            skill = new BuffSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Poison)
        {
            skill = new PoisonSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Paralysis)
        {
            skill = new ParalysisSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Sleeping)
        {
            skill = new SleepSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.ClearAbnormal)
        {
            skill = new ClearAbnormalSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Field)
        {
            skill = new FieldSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.CureItem)
        {
            skill = new CureItemSkill(skillData, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Striking)
        {
            skill = new StrikingSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.CureLeastHP)
        {
            skill = new CureLeastHPSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Summon)
        {
            skill = new SummonSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Train)
        {
            skill = new TrainSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.Donothing)
        {
            skill = new DonothingSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.RecoverMP)
        {
            skill = new RecoverMPItemSkill(skillData, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.RageAttack)
        {
            skill = new RageAttackSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.AbnormalAttack)
        {
            skill = new AbnormalAttackSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.CancelAction)
        {
            skill = new CancelActionSkill(skillData, user, lv);
        }
        else if (skillData.Type == SkillData.TypeEnum.CureMySelf)
        {
            skill = new CureMyselfSkill(skillData, user, lv);
        }

        return(skill);
    }