Beispiel #1
0
    /// <summary>
    /// ターゲットへのダメージを計算する
    /// </summary>
    /// <param name="target">ターゲット</param>
    /// <param name="power">スキルのパワー</param>
    /// <param name="buff">妖精の力</param>
    private void Target_Damage(GameObject target, float power, float buff)
    {
        JobBase jb     = target.GetComponent <JobBase>();
        int     damage = Math.Max((int)((_attack + power) * buff) - jb._defence, 0);

        if (jb.CheckFlag(ConditionStatus.ALL_DAMAGE_DOWN_20))
        {
            damage = damage * 80 / 100;
        }
        else if (jb.CheckFlag(ConditionStatus.ALL_DAMAGE_DOWN))
        {
            damage = damage * 90 / 100;
        }
        jb.Set_HP(damage);
        target.GetComponentInChildren <Animator>().SetTrigger("Damage");
        Vector3 pos = target.transform.position;

        pos.y += target.GetComponent <CapsuleCollider>().height;
        GameObject effectObj = Instantiate(Resources.Load("Prefabs/Magic/Hit_Effect"), pos, Quaternion.identity) as GameObject;
    }