Пример #1
0
    public bool CritHappen;//暴击-判定成功
    public void CheckThisSkillCauseCrit(SkillFunction _skill)
    {
        int   baseC   = ThisBasicRoleProperty().ReadRA(AttributeData.Crit);
        int   realC   = (int)(baseC * AllRandomSetClass.SimplePercentToDecimal(_skill.CritR + 100));
        float Rate    = AdolescentSet.CritFunction(realC);
        bool  _IsCrit = UnityEngine.Random.Range(0, 1f) < Rate;

        CritHappen = _IsCrit;
    }
Пример #2
0
    public void initData_supplement_H_Caster(RoleAttributeList ra, int grade)
    {
        RoleAttributeList gradeEffect = AdolescentSet.AttritubeShowByLevel_basic(grade
                                                                                 , 0.6f       //生命
                                                                                 , 0.75f      //法力
                                                                                 , 0.6f       //怒气
                                                                                 , 0.2f, 0.2f //物攻防
                                                                                 , 1.1f, 0.6f //法攻防
                                                                                 );

        RoleBasicRA = ra.Clone;
        RoleBasicRA.Add(gradeEffect);//等级加成
        AddTempleMultiplier(Job.Priest);
        //额外效果
        CRIDmg += 25;
    }
Пример #3
0
    public void initData_supplement_H_Fighter(RoleAttributeList ra, int grade)
    {
        RoleAttributeList gradeEffect = AdolescentSet.AttritubeShowByLevel_basic(grade
                                                                                 , 1.2f       //生命
                                                                                 , 0.1f       //法力
                                                                                 , 1f         //怒气
                                                                                 , 0.2f, 1f   //物攻防
                                                                                 , 0.1f, 0.1f //法攻防
                                                                                 );

        RoleBasicRA = ra.Clone;
        RoleBasicRA.Add(gradeEffect);//等级加成
        AddTempleMultiplier(Job.Fighter);
        //额外效果
        DmgReduction += 10;
    }
Пример #4
0
 public bool AccurHappen;//精准·闪避-判定成功
 public void CheckThisSkillCauseAccur(SkillFunction _skill, BattleRoleData _targetUnit)
 {
     if (_targetUnit.IsEnemy == IsEnemy)
     {
         AccurHappen = true;
     }
     else
     {
         BasicRoleProperty _target = _targetUnit.ThisBasicRoleProperty();
         int   baseA    = ThisBasicRoleProperty().ReadRA(AttributeData.Accur);
         int   realA    = (int)(baseA * AllRandomSetClass.SimplePercentToDecimal(_skill.AccuracyR + 100));
         int   Evo      = _target.ReadRA(AttributeData.Evo);
         float Rate     = AdolescentSet.AccurFunction(realA, Evo);
         float t        = UnityEngine.Random.Range(0, 1f);
         bool  _IsAccur = t < Rate;
         AccurHappen = _IsAccur;
         Debug.Log("精准度计算:" + _IsAccur + " || " + t + " " + Rate
                   + "--evo:" + Evo + "--accur:" + realA + "--baseAccur:" + baseA
                   + "--skillAccuracyR:" + _skill.AccuracyR);
     }
 }