コード例 #1
0
ファイル: Creature.cs プロジェクト: tapenjoyGame/cry
    public void CalculateStat()
    {
        StatBase = new StatInfo(Info.Stat);
        StatBase.AddRange(Info.StatIncrease, Level);

        StatGrade = new StatInfo(StatBase);
        StatGrade.Multiply(GradePercent);

        StatAdd = new StatInfo();
        if (Weapon != null)
        {
            Weapon.AddStats(StatAdd);
        }
        if (Armor != null)
        {
            Armor.AddStats(StatAdd);
        }

        foreach (var skill in Skills.Where(s => s.Info.Type == eSkillType.passive || s.Info.Type == eSkillType.passive_etc))
        {
            skill.AddStats(StatAdd, StatGrade, GradePercent);
        }

        foreach (var rune in Runes)
        {
            rune.Info.Skill.AddStats(StatAdd, StatGrade, Info.AttackType, 1f, rune.StatLevel);
        }

        StatTotal = new StatInfo(StatGrade);
        StatTotal.AddRange(StatAdd);
    }
コード例 #2
0
ファイル: Creature.cs プロジェクト: tapenjoyGame/cry
    public StatInfo CalculateBattleStat(float grade_percent)
    {
        StatInfo stat_grade = new StatInfo(StatBase);

        stat_grade.Multiply(grade_percent);

        StatInfo battle_stat = new StatInfo(stat_grade);

        Weapon.AddStats(battle_stat);
        Armor.AddStats(battle_stat);

        foreach (var skill in Skills.Where(s => s.Info.Type == eSkillType.passive || s.Info.Type == eSkillType.passive_etc))
        {
            skill.AddStats(battle_stat, stat_grade, grade_percent);
        }

        foreach (var rune in Runes)
        {
            rune.Info.Skill.AddStats(battle_stat, stat_grade, Info.AttackType, 1f, rune.StatLevel);
        }

        return(battle_stat);
    }