Example #1
0
function check_physical_def_attr(&$pa, &$pd, $active)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('ex_phy_def', 'logger'));
    if (isset($def_kind[$pa['wep_kind']])) {
        $ex_def_array = \attrbase\get_ex_def_array($pa, $pd, $active);
        if (in_array($def_kind[$pa['wep_kind']], $ex_def_array) || in_array('A', $ex_def_array)) {
            if (check_ex_phy_def_proc($pa, $pd, $active)) {
                if ($active) {
                    $log .= "<span class=\"yellow\">{$pd['name']}的装备使你的攻击伤害减半了!</span><br>";
                } else {
                    $log .= "<span class=\"yellow\">你的装备使{$pa['name']}的攻击伤害减半了!</span><br>";
                }
                return array(0.5);
            } else {
                if ($active) {
                    $log .= "<span class=\"yellow\">{$pd['name']}的装备没能发挥攻击伤害减半的效果!</span><br>";
                } else {
                    $log .= "<span class=\"yellow\">你的装备没能发挥攻击伤害减半的效果!</span><br>";
                }
                return array();
            }
        }
    }
    return array();
}
Example #2
0
function check_dmg_def_attr(&$pa, &$pd, $active)
{
    //判定伤害制御
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('logger'));
    if (in_array('h', \attrbase\get_ex_def_array($pa, $pd, $active))) {
        //$dmg_dice = rand(1950,2050);
        $dmg_dice = 1997;
        if ($pa['dmg_dealt'] > $dmg_dice) {
            $proc_rate = get_dmg_def_proc_rate($pa, $pd, $active);
            $dice = rand(0, 99);
            if ($dice < $proc_rate) {
                if ($active) {
                    $log .= "在{$pd['name']}的装备的作用下,攻击伤害被限制了!<br>";
                } else {
                    $log .= "在你的装备的作用下,攻击伤害被限制了!<br>";
                }
                $pa['dmg_dealt'] = $dmg_dice;
            } else {
                if ($active) {
                    $log .= "{$pd['name']}的装备没能发挥限制攻击伤害的效果!<br>";
                } else {
                    $log .= "你的装备没能发挥限制攻击伤害的效果!<br>";
                }
            }
        }
    }
}
Example #3
0
function check_ex_dmg_nullify(&$pa, &$pd, $active)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('ex_dmg_att', 'logger'));
    $ex_att_array = \attrbase\get_ex_attack_array($pa, $pd, $active);
    $ex_def_array = \attrbase\get_ex_def_array($pa, $pd, $active);
    //有属性攻击才进入判断
    $flag = 0;
    $exnum = 0;
    foreach ($ex_attack_list as $key) {
        if (in_array($key, $ex_att_array)) {
            $flag = 1;
            $exnum++;
        }
    }
    if ($flag && in_array('b', $ex_def_array)) {
        $proc_rate = get_ex_dmg_nullify_proc_rate($pa, $pd, $active);
        $dice = rand(0, 99);
        if ($dice < $proc_rate) {
            $log .= "<span class=\"red\">属性攻击的力量完全被防具吸收了!</span>只造成了<span class=\"red\">{$exnum}</span>点伤害!<br>";
            $pa['ex_dmg_dealt'] = $exnum;
            $pd['exdmg_nullify_success'] = 1;
            return 1;
        } else {
            $log .= "纳尼?防具使属性攻击无效化的属性竟然失效了!<br>";
            return 0;
        }
    }
    return 0;
}
Example #4
0
function check_physical_nullify(&$pa, &$pd, $active)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('logger'));
    $ex_def_array = \attrbase\get_ex_def_array($pa, $pd, $active);
    if (in_array('B', $ex_def_array)) {
        $proc_rate = get_ex_phy_nullify_proc_rate($pa, $pd, $active);
        $dice = rand(0, 99);
        if ($dice < $proc_rate) {
            if ($active) {
                $log .= "<span class=\"yellow\">你的攻击完全被{$pd['name']}的装备吸收了!</span><br>";
            } else {
                $log .= "<span class=\"yellow\">{$pa['name']}的攻击完全被你的装备吸收了!</span><br>";
            }
            $pd['physical_nullify_success'] = 1;
        } else {
            if ($active) {
                $log .= "纳尼?{$pd['name']}的装备使攻击无效化的属性竟然失效了!<br>";
            } else {
                $log .= "纳尼?你的装备使攻击无效化的属性竟然失效了!<br>";
            }
        }
    }
    return array();
}
Example #5
0
function check_ex_single_dmg_def_attr(&$pa, &$pd, $active, $key)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('ex_dmg_att', 'ex_dmg_def', 'logger'));
    $r = 1;
    if (isset($def_kind[$key])) {
        $ex_def_array = \attrbase\get_ex_def_array($pa, $pd, $active);
        if (in_array($def_kind[$key], $ex_def_array) || in_array('a', $ex_def_array)) {
            if (check_ex_dmg_def_proc($pa, $pd, $active, $key)) {
                $log .= "{$exdmgname[$key]}被防具防御了!";
                $r = 0.5;
                $pd['ex_dmg_' . $key . '_defend_success'] = 1;
            } else {
                $log .= "属性防御装备没能发挥应有的作用!";
            }
        }
    }
    return $r;
}