Пример #1
0
function get_ex_def_array(&$pa, &$pd, $active)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    if (!\skillbase\skill_query(28, $pd) || !check_unlocked28($pd)) {
        return $chprocess($pa, $pd, $active);
    }
    $r = $chprocess($pa, $pd, $active);
    if (\itemmain\count_itmsk_num($pd['wepsk']) === 0) {
        array_push($r, 'A');
    }
    return $r;
}
Пример #2
0
function npcinfo_gen_item_description($itm, $itmk, $itme, $itms, $itmsk)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    echo $itm;
    if ($itmk != '') {
        echo '/' . \itemmain\parse_itmk_words($itmk);
    }
    if ($itme != '') {
        echo '/' . $itme;
    }
    if ($itms != '') {
        echo '/' . $itms;
    }
    if (\itemmain\count_itmsk_num($itmsk) > 0) {
        echo '/' . \itemmain\parse_itmsk_words($itmsk);
    }
}
Пример #3
0
function gemming($t1, $t2)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    if ($t1 != 'wep' && $t1 != 'arb' && $t1 != 'arh' && $t1 != 'ara' && $t1 != 'arf') {
        $log .= '你只能给你的武器/防具增加属性。<br>';
        $mode = 'command';
        return;
    }
    $itm =& ${$t1};
    $itmk =& ${$t1 . 'k'};
    $itme =& ${$t1 . 'e'};
    $itms =& ${$t1 . 's'};
    $itmsk =& ${$t1 . 'sk'};
    if ($t1 == 'wep' || !$itme || !$itms) {
        if ($itmk == 'WN') {
            $log .= '你试图改造你的武器,但是你没有装备武器。<br>';
            $mode = 'command';
            return;
        }
    } else {
        if ($itms <= 0 && $itms != $nosta) {
            $log .= '本防具不存在,请重新选择。<br>';
            $mode = 'command';
            return;
        }
    }
    if (\itemmain\count_itmsk_num($itmsk) >= 6) {
        $log .= '你选择的物品属性数目已达到6个属性的上限,无法改造!<br>';
        $mode = 'command';
        return;
    }
    $t2 = (int) $t2;
    if ($t2 < 1 || $t2 > 6) {
        $log .= '你选择的宝石/方块不存在,请重新选择。<br>';
        $mode = 'command';
        return;
    }
    $gem =& ${'itm' . $t2};
    $gemk =& ${'itmk' . $t2};
    $geme =& ${'itme' . $t2};
    $gems =& ${'itms' . $t2};
    $gemsk =& ${'itmsk' . $t2};
    if ($gems <= 0 && $gems != $nosta) {
        $log .= '你选择的宝石/方块不存在,请重新选择。<br>';
        $mode = 'command';
        return;
    }
    $buff = array();
    if ($gem == '红色方块') {
        //火焰
        if ($t1 == 'wep') {
            $buff = array(array(35, 'u'));
        } else {
            $buff = array(array(65, 'P'), array(35, 'U'));
        }
    } else {
        if ($gem == '黄色方块') {
            //重辅
            if ($t1 == 'wep') {
                $buff = array(array(100, 'c'));
            } else {
                $buff = array(array(65, 'D'), array(35, 'c'));
            }
        } else {
            if ($gem == '蓝色方块') {
                //冻气
                if ($t1 == 'wep') {
                    $buff = array(array(35, 'i'));
                } else {
                    $buff = array(array(65, 'G'), array(35, 'I'));
                }
            } else {
                if ($gem == '绿色方块') {
                    //带毒
                    if ($t1 == 'wep') {
                        $buff = array(array(35, 'p'));
                    } else {
                        $buff = array(array(65, 'K'), array(35, 'q'));
                    }
                } else {
                    if ($gem == '金色方块') {
                        //电击
                        if ($t1 == 'wep') {
                            $buff = array(array(35, 'e'));
                        } else {
                            $buff = array(array(65, 'C'), array(35, 'E'));
                        }
                    } else {
                        if ($gem == '银色方块') {
                            //音波
                            if ($t1 == 'wep') {
                                $buff = array(array(35, 'w'));
                            } else {
                                $buff = array(array(65, 'F'), array(35, 'W'));
                            }
                        } else {
                            if ($gem == '红宝石方块') {
                                //火焰/灼焰
                                if ($t1 == 'wep') {
                                    $buff = array(array(65, 'u'), array(35, 'f'));
                                } else {
                                    $buff = array(array(100, 'U'));
                                }
                            } else {
                                if ($gem == '蓝宝石方块') {
                                    //冻气/冰华
                                    if ($t1 == 'wep') {
                                        $buff = array(array(65, 'i'), array(35, 'k'));
                                    } else {
                                        $buff = array(array(100, 'I'));
                                    }
                                } else {
                                    if ($gem == '绿宝石方块') {
                                        if ($t1 == 'wep') {
                                            $buff = array(array(15, 'u'), array(15, 'i'), array(15, 'p'), array(15, 'e'), array(15, 'w'), array(6, 'f'), array(6, 'k'), array(6, 'n'), array(6, 'N'), array(1, 'd'));
                                        } else {
                                            $buff = array(array(15, 'C'), array(15, 'D'), array(15, 'F'), array(15, 'G'), array(15, 'K'), array(15, 'P'), array(3, 'A'), array(3, 'a'), array(4, 'H'));
                                        }
                                    } else {
                                        if ($gem == '水晶方块') {
                                            //连击/HP制御
                                            if ($t1 == 'wep') {
                                                $buff = array(array(1, 'r'));
                                            } else {
                                                $buff = array(array(5, 'H'));
                                            }
                                        } else {
                                            if ($gem == '黑色方块') {
                                                //贯穿
                                                if ($t1 == 'wep') {
                                                    $buff = array(array(5, 'n'));
                                                } else {
                                                    $buff = array(array(5, 'm'));
                                                }
                                            } else {
                                                if ($gem == '白色方块') {
                                                    //冲击
                                                    if ($t1 == 'wep') {
                                                        $buff = array(array(5, 'N'));
                                                    } else {
                                                        $buff = array(array(5, 'M'));
                                                    }
                                                } else {
                                                    $log .= "你的物品不是合法的宝石或方块。<br>请参阅帮助获得所有合法的宝石或方块及它们的对应改造属性的列表。<br>";
                                                    $mode = 'command';
                                                    return;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    $dice = rand(1, 100);
    $flag = 0;
    $log .= "你将<span class=\"yellow\">{$gem}</span>镶嵌到了<span class=\"yellow\">{$itm}</span>上。<br>";
    $lb = 10;
    $ub = 20;
    if (strpos($gem, '宝石') !== false) {
        $lb = round($lb * 1.75);
        $ub = round($ub * 1.75);
    }
    //宝石强化效果更高
    foreach ($buff as $value) {
        if ($dice <= $value[0]) {
            $flag = 1;
            gemming_itme_buff($itm, $itmk, $itme, $itms, $itmsk, $lb, $ub);
            $log .= "同时,你的装备<span class=\"yellow\">{$itm}</span>还获得了“<span class=\"yellow\">{$itemspkinfo[$value[1]]}</span>”属性!<br>";
            include_once GAME_ROOT . './include/news.func.php';
            addnews(0, 'gemming', $name, $gem, $itm, $itemspkinfo[$value[1]]);
            if (strpos($itmsk, $value[1]) === false) {
                $itmsk .= $value[1];
            }
            break;
        } else {
            $dice -= $value[0];
        }
    }
    $expgain = rand(4, 7);
    if (!$flag) {
        $lb = round($lb / 2);
        $ub = round($ub / 2);
        gemming_itme_buff($itm, $itmk, $itme, $itms, $itmsk, $lb, $ub);
        $log .= "但是你的装备并没有获得额外属性。看起来技术还不过关的样子。<span class=\"yellow\">你决定痛定思痛,总结经验。</span><br>";
        $rage += rand(5, 15);
        $rage = min($rage, 100);
        $expgain = rand(7, 11);
    }
    \lvlctl\getexp($expgain);
    $gems--;
    $log .= "消耗了一枚{$gem}。<br>";
    if ($gems <= 0) {
        $log .= "{$gem}用完了。<br>";
        $gem = '';
        $gemk = '';
        $gems = 0;
        $geme = 0;
        $gemsk = '';
    }
    $mode = 'command';
}