コード例 #1
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'Y') === 0 || strpos($itmk, 'Z') === 0) {
        if ($itm == '消音器') {
            if (strpos($wepk, 'WG') !== 0) {
                $log .= '你没有装备枪械,不能使用消音器。<br>';
            } elseif (strpos($wepsk, 'S') === false) {
                $wepsk .= 'S';
                $log .= "你给<span class=\"yellow\">{$wep}</span>安装了<span class=\"yellow\">{$itm}</span>。<br>";
                \itemmain\itms_reduce($theitem);
            } else {
                $log .= "你的武器已经安装了消音器。<br>";
            }
            return;
        }
    }
    $chprocess($theitem);
}
コード例 #2
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'p') === 0) {
        $log .= "你打开了<span class=\"yellow\">{$itm}</span>。<br>";
        $file = __DIR__ . '/config/present.config.php';
        $plist = openfile($file);
        $rand = rand(0, count($plist) - 1);
        list($in, $ik, $ie, $is, $isk) = explode(',', $plist[$rand]);
        $itm0 = $in;
        $itmk0 = $ik;
        $itme0 = $ie;
        $itms0 = $is;
        $itmsk0 = $isk;
        addnews($now, 'present', $name, $itm, $in);
        \itemmain\itms_reduce($theitem);
        \itemmain\itemget();
        return;
    } elseif (strpos($itmk, 'ygo') === 0) {
        $log .= "你打开了<span class=\"yellow\">{$itm}</span>。<br>";
        $file = __DIR__ . '/config/ygobox.config.php';
        $plist1 = openfile($file);
        $rand1 = rand(0, count($plist1) - 1);
        list($in, $ik, $ie, $is, $isk) = explode(',', $plist1[$rand1]);
        $itm0 = $in;
        $itmk0 = $ik;
        $itme0 = $ie;
        $itms0 = $is;
        $itmsk0 = $isk;
        addnews($now, 'present', $name, $itm, $in);
        \itemmain\itms_reduce($theitem);
        \itemmain\itemget();
        return;
    } elseif (strpos($itmk, 'fy') === 0) {
        $log .= "你打开了<span class=\"yellow\">{$itm}</span>。<br>";
        $file = __DIR__ . '/config/fybox.config.php';
        $plist1 = openfile($file);
        $rand1 = rand(0, count($plist1) - 1);
        list($in, $ik, $ie, $is, $isk) = explode(',', $plist1[$rand1]);
        $itm0 = $in;
        $itmk0 = $ik;
        $itme0 = $ie;
        $itms0 = $is;
        $itmsk0 = $isk;
        addnews($now, 'present', $name, $itm, $in);
        \itemmain\itms_reduce($theitem);
        \itemmain\itemget();
        return;
    }
    $chprocess($theitem);
}
コード例 #3
0
ファイル: main.php プロジェクト: sillycross/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    eval(import_module('sys', 'player', 'logger'));
    if (strpos($itmk, 'HM') === 0) {
        $mss += $itme;
        $ss += $itme;
        $log .= "你使用了<span class=\"red\">{$itm}</span>,增加了<span class=\"yellow\">{$itme}</span>点歌魂。<br>";
        \itemmain\itms_reduce($theitem);
        return;
    } elseif (strpos($itmk, 'HT') === 0) {
        $ssup = $itme;
        if ($ss < $mss) {
            $oldss = $ss;
            $ss += $ssup;
            $ss = $ss > $mss ? $mss : $ss;
            $oldss = $ss - $oldss;
            $log .= "你使用了<span class=\"red\">{$itm}</span>,恢复了<span class=\"yellow\">{$oldss}</span>点歌魂。<br>";
            \itemmain\itms_reduce($theitem);
        } else {
            $log .= '你的歌魂不需要恢复。<br>';
        }
    }
    if (strpos($itmk, 'ss') === 0) {
        $eqp = 'art';
        $noeqp = '';
        if ($noeqp && strpos(${$eqp . 'k'}, $noeqp) === 0 || !${$eqp . 's'}) {
            ${$eqp} = $itm;
            ${$eqp . 'k'} = $itmk;
            ${$eqp . 'e'} = $itme;
            ${$eqp . 's'} = $itms;
            ${$eqp . 'sk'} = $itmsk;
            $log .= "装备了<span class=\"yellow\">{$itm}</span>。<br>";
            $itm = $itmk = $itmsk = '';
            $itme = $itms = 0;
        } else {
            swap(${$eqp}, $itm);
            swap(${$eqp . 'k'}, $itmk);
            swap(${$eqp . 'e'}, $itme);
            swap(${$eqp . 's'}, $itms);
            swap(${$eqp . 'sk'}, $itmsk);
            $log .= "卸下了<span class=\"red\">{$itm}</span>,装备了<span class=\"yellow\">{${$eqp}}</span>。<br>";
        }
        return;
    }
    $chprocess($theitem);
}
コード例 #4
0
ファイル: main.php プロジェクト: hikawiier/dtsmod-campfire
function itemuse_urt(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'map', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if ($itmk == 'RT') {
        //传送道具的效果判定区
        //首先是传送器效果,0~98为固定传送,99为随机传送
        if (!is_numeric($itmsk)) {
            $log .= "这个传送器好像已经坏掉了……<br>";
        } elseif ($itmsk == 99) {
            if ($hack) {
                $rpls = rand(0, sizeof($plsinfo) - sizeof($hidden_arealist) - 1);
            } else {
                $rpls = rand($areanum + 1, sizeof($plsinfo) - sizeof($hidden_arealist) - 1);
            }
            $pls = $arealist[$rpls];
        } else {
            $pls = $itmsk;
        }
        //然后是不同的log和是否赠送固定的返程道具,log根据道具名判定,没有则为默认log,有提供固定返程道具或者不给返程的把flag改成true,固定给的直接在log下面加道具类型,记得加itemget()
        $fix_return_flag = false;
        if ($itm == '测试用传送器') {
            $log .= "你biu的一下就被传送到了{$plsinfo[$pls]}。<br>";
        } elseif ($itm == '安全(?)传送装置') {
            $log .= "你被{$itm}传送到了{$plsinfo[$pls]},不管怎么说到底还是活下来了!所以还算安全……吧?<br>";
            $fix_return_flag = true;
        } else {
            $log .= "你被{$itm}传送到了{$plsinfo[$pls]},顺便还获得了一个返程道具,真是太划算了!<br>";
        }
        //最后是默认赠送的返程道具
        if (!$fix_return_flag) {
            $itm0 = '安全(?)传送装置';
            $itmk0 = 'RT';
            $itme0 = 1;
            $itms0 = 1;
            $itmsk0 = 99;
            \itemmain\itemget();
        }
        \itemmain\itms_reduce($theitem);
    }
}
コード例 #5
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse_edible(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'HS') === 0) {
        if ($sp < $msp) {
            $spup = get_edible_spup($theitem);
            $spup = min($msp - $sp, $spup);
            $spup = max(0, $spup);
            edible_recover($itm, 0, $spup);
            \itemmain\itms_reduce($theitem);
        } else {
            $log .= '你的体力不需要恢复。<br>';
        }
    } elseif (strpos($itmk, 'HH') === 0) {
        if ($hp < $mhp) {
            $hpup = get_edible_hpup($theitem);
            $hpup = min($mhp - $hp, $hpup);
            $hpup = max(0, $hpup);
            edible_recover($itm, $hpup, 0);
            \itemmain\itms_reduce($theitem);
        } else {
            $log .= '你的生命不需要恢复。<br>';
        }
    } elseif (strpos($itmk, 'HB') === 0) {
        if ($hp < $mhp || $sp < $msp) {
            $spup = get_edible_spup($theitem);
            $hpup = get_edible_hpup($theitem);
            $spup = min($msp - $sp, $spup);
            $hpup = min($mhp - $hp, $hpup);
            $spup = max(0, $spup);
            $hpup = max(0, $hpup);
            edible_recover($itm, $hpup, $spup);
            \itemmain\itms_reduce($theitem);
        } else {
            $log .= '你的生命和体力都不需要恢复。<br>';
        }
    }
}
コード例 #6
0
ファイル: main.php プロジェクト: hikawiier/dtsmod-campfire
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'logger', 'itemmain', 'input', 'clubbase', 'cardbase'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itm, '自适应型溶剂') !== false && $itmk == 'Y') {
        if ($club == 18 || $club == 17) {
            $log .= "你感觉自己的胃在看到试剂的第一眼时就开始不断抽搐,这东西究竟有多恶心啊……还是不要随便喝了。<br>";
            return;
        }
        if (defined('MOD_CLUBBASE')) {
            \clubbase\club_lost();
        }
        $club = 18;
        if (defined('MOD_CLUBBASE')) {
            \clubbase\club_acquire($club);
        }
        get_alone_card_skill();
        if (strpos($itm, 'TA-00')) {
            $skillpoint += round($lvl + $lvl / 2 + 3);
        } elseif (strpos($itm, 'TA-C3')) {
            $skillpoint = round($lvl + $lvl / 2 + 3);
        } elseif (strpos($itm, 'TA-E3')) {
            $skillpoint = $lvl + 3;
        } else {
            $skillpoint += 3;
        }
        $log .= "你看着面前散发着不祥气息的粉色试剂,皱着眉头将它一饮而尽。<br>没有想象中的那么难喝,尝起来似乎是草莓味的……<br><span class='lime'>你感觉自己好像变得更聪明了,又好像没有。</span><br>";
        \itemmain\itms_reduce($theitem);
        return;
    }
    $chprocess($theitem);
}
コード例 #7
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'wound', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'C') === 0) {
        $ck = substr($itmk, 1, 1);
        if ($ck == 'a') {
            $flag = false;
            $log .= "服用了<span class=\"red\">{$itm}</span>。<br>";
            for ($i = 0; $i < strlen($inf); $i++) {
                $log .= "{$infname[$inf[$i]]}状态解除了。<br>";
                $flag = true;
            }
            $inf = '';
            if (!$flag) {
                $log .= '但是什么也没发生。<br>';
            }
        } else {
            if (strpos($inf, $ck) !== false) {
                $inf = str_replace($ck, '', $inf);
                $log .= "服用了<span class=\"red\">{$itm}</span>,{$infname[$ck]}状态解除了。<br>";
            } else {
                $log .= "服用了<span class=\"red\">{$itm}</span>,但是什么效果也没有。<br>";
            }
        }
        \itemmain\itms_reduce($theitem);
        return;
    }
    $chprocess($theitem);
}
コード例 #8
0
ファイル: main.php プロジェクト: sillycross/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'wound', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'HR') === 0) {
        $rageup = min(100 - $rage, $itme);
        if ($rageup <= 0) {
            $log .= '你已经出离愤怒了,动怒伤肝,还是歇歇吧!<br>';
            return;
        }
        $rage += $rageup;
        $log .= "你吃了一口{$itm},顿时感觉心中充满了愤怒。你的怒气值增加了<span class=\"yellow\">{$rageup}</span>点!<br>";
        \itemmain\itms_reduce($theitem);
        return;
    }
    $chprocess($theitem);
}
コード例 #9
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'armor', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'Y') === 0 || strpos($itmk, 'Z') === 0) {
        if (strpos($itm, '磨刀石') !== false) {
            if (use_stone($itm, $itme)) {
                \itemmain\itms_reduce($theitem);
            }
            return;
        } else {
            if (preg_match("/钉\$/", $itm) || preg_match("/钉\\[/", $itm)) {
                if (use_nail($itm, $itme)) {
                    \itemmain\itms_reduce($theitem);
                }
                return;
            } else {
                if ($itm == '针线包') {
                    if ($arb == $noarb || !$arb) {
                        $log .= '你没有装备防具,不能使用针线包。<br>';
                    } elseif (strpos($arbsk, 'Z') !== false) {
                        $log .= '<span class="yellow">该防具太单薄以至于不能使用针线包。</span><br>你感到一阵蛋疼菊紧,你的蛋疼度增加了<span class="yellow">233</span>点。<br>';
                    } else {
                        $arbe += rand(0, 2) + $itme;
                        $log .= "用<span class=\"yellow\">{$itm}</span>给防具打了补丁,<span class=\"yellow\">{$arb}</span>的防御力变成了<span class=\"yellow\">{$arbe}</span>。<br>";
                        \itemmain\itms_reduce($theitem);
                    }
                    return;
                } elseif ($itm == '武器师安雅的奖赏') {
                    if (use_anya($itm)) {
                        \itemmain\itms_reduce($theitem);
                    }
                    return;
                }
            }
        }
    }
    $chprocess($theitem);
}
コード例 #10
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'EW') === 0) {
        wthchange($itm, $itmsk);
        \itemmain\itms_reduce($theitem);
        return;
    }
    $chprocess($theitem);
}
コード例 #11
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'weapon', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'V') === 0) {
        $skill_minimum = 100;
        $skill_limit = 300;
        $log .= "你阅读了<span class=\"red\">{$itm}</span>。<br>";
        $dice = rand(-5, 5);
        if (strpos($itmk, 'VV') === 0) {
            $skcnt = 0;
            $ws_sum = 0;
            foreach (array_unique(array_values($skillinfo)) as $key) {
                $skcnt++;
                $ws_sum += ${$key};
            }
            if ($ws_sum < $skill_minimum * $skcnt) {
                $vefct = $itme;
            } elseif ($ws_sum < $skill_limit * $skcnt) {
                $vefct = round($itme * (1 - ($ws_sum - $skill_minimum * $skcnt) / ($skill_limit * $skcnt - $skill_minimum * $skcnt)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            foreach (array_unique(array_values($skillinfo)) as $key) {
                ${$key} += $vefct;
            }
            $wsname = "全系熟练度";
        } elseif (strpos($itmk, 'VP') === 0) {
            if ($wp < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wp < $skill_limit) {
                $vefct = round($itme * (1 - ($wp - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wp += $vefct;
            //$itme;
            $wsname = "斗殴熟练度";
        } elseif (strpos($itmk, 'VK') === 0) {
            if ($wk < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wk < $skill_limit) {
                $vefct = round($itme * (1 - ($wk - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wk += $vefct;
            //$itme;
            $wsname = "斩刺熟练度";
        } elseif (strpos($itmk, 'VG') === 0) {
            if ($wg < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wg < $skill_limit) {
                $vefct = round($itme * (1 - ($wg - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wg += $vefct;
            //$itme;
            $wsname = "射击熟练度";
        } elseif (strpos($itmk, 'VC') === 0) {
            if ($wc < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wc < $skill_limit) {
                $vefct = round($itme * (1 - ($wc - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wc += $vefct;
            //$itme;
            $wsname = "投掷熟练度";
        } elseif (strpos($itmk, 'VD') === 0) {
            if ($wd < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wd < $skill_limit) {
                $vefct = round($itme * (1 - ($wd - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wd += $vefct;
            //$itme;
            $wsname = "引爆熟练度";
        } elseif (strpos($itmk, 'VF') === 0) {
            if ($wf < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wf < $skill_limit) {
                $vefct = round($itme * (1 - ($wf - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wf += $vefct;
            //$itme;
            $wsname = "灵击熟练度";
        }
        if ($vefct > 0) {
            $log .= "嗯,有所收获。<br>你的{$wsname}提高了<span class=\"yellow\">{$vefct}</span>点!<br>";
        } elseif ($vefct == 0) {
            $log .= "对你来说书里的内容过于简单了。<br>你的熟练度没有任何提升。<br>";
        } else {
            $vefct = -$vefct;
            $log .= "对你来说书里的内容过于简单了。<br>而且由于盲目相信书上的知识,你反而被编写者的纰漏所误导了!<br>你的{$wsname}下降了<span class=\"red\">{$vefct}</span>点!<br>";
        }
        \itemmain\itms_reduce($theitem);
        return;
    }
    $chprocess($theitem);
}
コード例 #12
0
ファイル: main.php プロジェクト: DTS-China/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'P') === 0) {
        if (strpos($itmk, '2') === 2) {
            $damage = round($itme * 2);
        } elseif (strpos($itmk, '1') === 2) {
            $damage = round($itme * 1.5);
        } else {
            $damage = round($itme);
        }
        if (defined('MOD_WOUND')) {
            \wound\get_inf('p');
        }
        $hp -= $damage;
        $playerflag = 0;
        if ($itmsk && is_numeric($itmsk)) {
            $playerflag = 1;
        }
        $selflag = 0;
        if ($playerflag && $itmsk == $pid) {
            $selflag = 1;
        }
        if ($playerflag) {
            $wdata = \player\fetch_playerdata_by_pid($itmsk);
            $wprefix = '<span class="yellow">' . $wdata['name'] . '</span>';
            if ($selflag) {
                $wprefix = '你自己';
            }
            $log .= "糟糕,<span class=\"yellow\">{$itm}</span>中被{$wprefix}掺入了毒药!你受到了<span class=\"dmg\">{$damage}</span>点伤害!<br>";
            addnews($now, 'poison', $name, $wdata['name'], $itm);
            if (!$selflag) {
                send_poison_enemylog($itm, $itmsk);
            }
        } else {
            $log .= "糟糕,<span class=\"yellow\">{$itm}</span>有毒!你受到了<span class=\"dmg\">{$damage}</span>点伤害!<br>";
        }
        if ($hp <= 0) {
            $state = 26;
            \player\update_sdata();
            if ($playerflag && !$selflag) {
                $sdata['bid'] = $itmsk;
                $log .= "你被<span class=\"red\">" . $wdata['name'] . "</span>毒死了!";
            } else {
                if ($playerflag) {
                    $sdata['bid'] = $itmsk;
                    $wdata =& $sdata;
                    $log .= "你被毒死了!";
                } else {
                    $wdata =& $sdata;
                    $sdata['sourceless'] = 1;
                    $log .= "你被毒死了!";
                }
            }
            $wdata['attackwith'] = $itm;
            $killmsg = \player\kill($wdata, $sdata);
            if (isset($sdata['sourceless'])) {
                unset($sdata['sourceless']);
            }
            if ($killmsg) {
                $log .= "<span class=\"yellow\">{$wdata['name']}对你说:“{$killmsg}”</span><br>";
            }
            if ($playerflag && !$selflag) {
                \player\player_save($wdata);
            }
            \player\player_save($sdata);
            \player\load_playerdata($sdata);
        }
        \itemmain\itms_reduce($theitem);
        return;
    }
    if ((strpos($itmk, 'Y') === 0 || strpos($itmk, 'Z') === 0) && $itm == '毒药') {
        include template(MOD_POISON_POISON);
        $cmd = ob_get_contents();
        ob_clean();
        return;
    }
    $chprocess($theitem);
}
コード例 #13
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse_um(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    eval(import_module('player', 'weapon', 'logger', 'lvlctl'));
    $log .= "你服用了<span class=\"red\">{$itm}</span>。<br>";
    if (strpos($itmk, 'MA') === 0) {
        $att_min = 200;
        $att_limit = 500;
        $dice = rand(-5, 5);
        if ($att < $att_min) {
            $mefct = $itme;
        } elseif ($att < $att_limit) {
            $mefct = round($itme * (1 - ($att - $att_min) / ($att_limit - $att_min)));
        } else {
            $mefct = 0;
        }
        /*
        if ($mefct < 5) {
        	if ($mefct < $dice) {
        		$mefct = - $dice;
        	}
        }
        */
        $att += $mefct;
        $mdname = "基础攻击力";
    } elseif (strpos($itmk, 'MD') === 0) {
        $def_min = 200;
        $def_limit = 500;
        $dice = rand(-5, 5);
        if ($def < $def_min) {
            $mefct = $itme;
        } elseif ($def < $def_limit) {
            $mefct = round($itme * (1 - ($def - $def_min) / ($def_limit - $def_min)));
        } else {
            $mefct = 0;
        }
        /*
        if ($mefct < 5) {
        	if ($mefct < $dice) {
        		$mefct = - $dice;
        	}
        }
        */
        $def += $mefct;
        $mdname = "基础防御力";
    } elseif (strpos($itmk, 'ME') === 0) {
        $lvlup_objective = $itme / 10;
        $mefct = round($baseexp * 2 * $lvlup_objective + rand(0, 5));
        $mdname = "经验值";
        //经验值增加最后加,因为log的次序关系
    } elseif (strpos($itmk, 'MS') === 0) {
        $mefct = $itme;
        $sp += $mefct;
        $msp += $mefct;
        $mdname = "体力上限";
    } elseif (strpos($itmk, 'MH') === 0) {
        $mefct = $itme;
        $hp += $mefct;
        $mhp += $mefct;
        $mdname = "生命上限";
    } elseif (strpos($itmk, 'MV') === 0) {
        $skill_minimum = 60;
        $skill_limit = 600;
        $skcnt = 0;
        $ws_sum = 0;
        foreach (array_unique(array_values($skillinfo)) as $key) {
            $skcnt++;
            $ws_sum += ${$key};
        }
        $dice = rand(-10, 10);
        if ($ws_sum < $skill_minimum * $skcnt) {
            $mefct = $itme;
        } elseif ($ws_sum < $skill_limit * $skcnt) {
            $mefct = round(calc_skillbook_value($ws_sum - $skill_minimum * $skcnt, $itme));
        } else {
            $mefct = 0;
        }
        /*
        if ($mefct < 10) {
        	if ($mefct < $dice) {
        		$mefct = - $dice;
        	}
        }
        */
        foreach (array_unique(array_values($skillinfo)) as $key) {
            ${$key} += $mefct;
        }
        $mdname = "全系熟练度";
    }
    if ($mefct > 0) {
        $log .= "身体里有种力量涌出来!<br>你的{$mdname}提高了<span class=\"yellow\">{$mefct}</span>点!<br>";
    } elseif ($mefct == 0) {
        $log .= "已经很强了,却还想靠药物继续强化自己,是不是太贪心了?<br>你的能力没有任何提升。<br>";
    } else {
        $mefct = -$mefct;
        $log .= "已经很强了,却还想靠药物继续强化自己,是不是太贪心了?<br>你贪婪的行为引发了药物的副作用!<br>你的{$mdname}下降了<span class=\"red\">{$mefct}</span>点!<br>";
    }
    if (strpos($itmk, 'ME') === 0) {
        \lvlctl\getexp($mefct);
    }
    \itemmain\itms_reduce($theitem);
}
コード例 #14
0
ファイル: main.php プロジェクト: hikawiier/dtsmod-campfire
function change_trap($i, $cway)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger', 'remakegun'));
    if ($pls != 31) {
        $log .= "<span class='red'>该地区不存在陷阱改造工作台,请重新输入指令。</span><br>";
        return;
    }
    if (!is_numeric($i) || !$i || $i > 6 || $i < 1 || ${'itmk' . $i} !== 'WD' && $cway == 'dtt' || strpos(${'itmk' . $i}, 'T') === false && $cway == 'ttd') {
        $log .= "<span class='red'>要改造的陷阱或爆炸物选择错误,请重新输入指令。</span><br>";
        return;
    }
    if ($cway !== 'dtt' && $cway !== 'ttd') {
        $log .= "<span class='red'>改造方式选择错误,请重新输入指令。</span><br>";
        return;
    }
    $citm['itm'] =& ${'itm' . $i};
    $citm['itmk'] =& ${'itmk' . $i};
    $citm['itme'] =& ${'itme' . $i};
    $citm['itms'] =& ${'itms' . $i};
    $citm['itmsk'] =& ${'itmsk' . $i};
    if (strpos($citm['itm'], '便携式') !== false || strpos($citm['itm'], '埋设式') !== false) {
        $log .= "<span class='red'>该道具已被改造过,不可重复改造!</span><br>";
        return;
    }
    $change_succ_obbs = round($wd * 0.35);
    $log .= "你将要改造的易爆品放在了工作台上,开始小心翼翼的拆解它……<br>";
    $log .= "…………<br>";
    if ($cway == 'ttd') {
        if (rand(1, 100) <= $change_succ_obbs) {
            $log .= "<span class='yellow'>“呼……”</span><br>完成了手中精密的工作,你如释重负般长吁了一口气。<br>这样看来,陷阱的改造工作就<span class='red'>顺利完成</span>了!<br>";
            if (strpos($citm['itmk'], 'TNc') !== false) {
                $itm0 = '便携式' . $citm['itm'];
                $itmk0 = 'WD';
                $itme0 = round(32675 * (rand(85, 135) / 100));
                $itms0 = '∞';
                $itmsk0 = 'nxd';
            } else {
                $itm0 = '便携式' . $citm['itm'];
                $itmk0 = 'WD';
                $itme0 = round($citm['itme'] * (rand(85, 135) / 100));
                $itms0 = $citm['itms'];
                $itmsk0 = 'd';
            }
            addnews($now, 'ct_succ', $name, $citm['itm'], '陷阱', '爆炸物');
        } else {
            $fail_dmg = strpos($citm['itmk'], 'TNc') !== false ? round(32675 * (rand(55, 95) / 100)) : round($citm['itme'] * (rand(55, 95) / 100));
            $log .= "正当你谨慎的拆开道具的外壳时,你听到了“滴”的一声……<br>在下一个瞬间,你就被爆炸带来的巨大冲击力掀翻在地。<br><span class='yellow'>在猛烈的爆炸中,你受到了<span class='red'>{$fail_dmg}</span>点伤害!</span><br>";
            if ($hp > $fail_dmg) {
                $hp -= $fail_dmg;
            } else {
                $hp = 0;
                $state = 98;
                \player\update_sdata();
                $sdata['sourceless'] = 1;
                $sdata['attackwith'] = '';
                \player\kill($sdata, $sdata);
                \player\player_save($sdata);
                \player\load_playerdata($sdata);
            }
            addnews($now, 'ct_fail', $name, $citm['itm'], '陷阱', '爆炸物', $fail_dmg);
        }
        \itemmain\itms_reduce($citm, 1);
        if ($itms0) {
            \itemmain\itemget();
        }
    } elseif ($cway == 'dtt') {
        if (rand(1, 100) <= $change_succ_obbs) {
            $log .= "<span class='yellow'>“呼……”</span><br>完成了手中精密的工作,你如释重负般长吁了一口气。<br>这样看来,爆炸物的改造工作就<span class='red'>顺利完成</span>了!<br>";
            $itm0 = '埋设式' . $citm['itm'];
            $itmk0 = 'TN';
            $itme0 = $citm['itms'] > 5 || $citm['itms'] == '∞' ? round($citm['itme'] * 5) : round($citm['itme'] * $citm['itms']);
            $itms0 = 1;
            $itmsk0 = '';
            addnews($now, 'ct_succ', $name, $citm['itm'], '爆炸物', '陷阱');
        } else {
            $fail_dmg = round($citm['itme'] * (rand(55, 95) / 100));
            $log .= "正当你谨慎的拆开道具的外壳时,你听到了“滴”的一声……<br>在下一个瞬间,你就被爆炸带来的巨大冲击力掀翻在地。<br><span class='yellow'>在猛烈的爆炸中,你受到了<span class='red'>{$fail_dmg}</span>点伤害!</span><br>";
            if ($hp > $fail_dmg) {
                $hp -= $fail_dmg;
                addnews($now, 'ct_fail', $name, $citm['itm'], '爆炸物', '陷阱', $fail_dmg);
            } else {
                $hp = 0;
                $state = 98;
                \player\update_sdata();
                $sdata['sourceless'] = 1;
                $sdata['attackwith'] = '';
                \player\kill($sdata, $sdata);
                \player\player_save($sdata);
                \player\load_playerdata($sdata);
            }
        }
        \itemmain\itms_reduce($citm, 1);
        if ($itms0) {
            \itemmain\itemget();
        }
    } else {
        return;
    }
}
コード例 #15
0
ファイル: main.php プロジェクト: hikawiier/dtsmod-campfire
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'p') === 0) {
        //现在所有的礼物盒类道具都应该使用类别'p',依靠属性来判断究竟是什么礼物盒
        //每个属性对应的文件名
        $p_arr = array('^999^' => 'present', '^998^' => 'ygobox', '^997^' => 'fybox', '^996^' => 'ugabox', '^995^' => 'ugcbox');
        //这样写的问题就是,礼盒的属性里不能再有其他内容了,否则就会爆炸,保险起见加一个判定
        $pi_flag = false;
        foreach (array_keys($p_arr) as $p_sk) {
            $isk = \itemmain\get_itmsk_array($itmsk);
            if (in_array($p_sk, $isk) && sizeof($isk) == 1) {
                $pi_flag = true;
            }
        }
        if (!$pi_flag) {
            $log .= "这个盒子看起来已经坏掉了,还是扔了吧。<br>";
            return;
        }
        $p_path = '/config/' . $p_arr[$isk[0]] . '.config.php';
        $log .= "你打开了<span class=\"yellow\">{$itm}</span>。<br>";
        $file = __DIR__ . $p_path;
        $plist = openfile($file);
        $rand = rand(0, count($plist) - 1);
        list($in, $ik, $ie, $is, $isk) = explode(',', $plist[$rand]);
        $itm0 = $in;
        $itmk0 = $ik;
        $itme0 = $ie;
        $itms0 = $is;
        $itmsk0 = $isk;
        addnews($now, 'present', $name, $itm, $in);
        \itemmain\itms_reduce($theitem);
        \itemmain\itemget();
        return;
    }
    /*elseif(strpos ( $itmk, 'ygo' ) === 0){
    			$log.="你打开了<span class=\"yellow\">$itm</span>。<br>";
    			$file = __DIR__.'/config/ygobox.config.php';
    			$plist1 = openfile($file);
    			$rand1 = rand(0,count($plist1)-1);
    			list($in,$ik,$ie,$is,$isk) = explode(',',$plist1[$rand1]);
    			$itm0 = $in;$itmk0=$ik;$itme0=$ie;$itms0=$is;$itmsk0=$isk;
    			addnews($now,'present',$name,$itm,$in);
    			\itemmain\itms_reduce($theitem);
    			\itemmain\itemget();	
    			return;
    		} elseif(strpos ( $itmk, 'fy' ) === 0){
    			$log.="你打开了<span class=\"yellow\">$itm</span>。<br>";
    			$file = __DIR__.'/config/fybox.config.php';
    			$plist1 = openfile($file);
    			$rand1 = rand(0,count($plist1)-1);
    			list($in,$ik,$ie,$is,$isk) = explode(',',$plist1[$rand1]);
    			$itm0 = $in;$itmk0=$ik;$itme0=$ie;$itms0=$is;$itmsk0=$isk;
    			addnews($now,'present',$name,$itm,$in);
    			\itemmain\itms_reduce($theitem);
    			\itemmain\itemget();	
    			return;
    		} elseif(strpos ( $itmk, 'GA' ) === 0){
    			$log.="你打开了<span class=\"yellow\">$itm</span>。<br>";
    			$file = __DIR__.'/config/ugabox.config.php';
    			$plist1 = openfile($file);
    			$rand1 = rand(0,count($plist1)-1);
    			list($in,$ik,$ie,$is,$isk) = explode(',',$plist1[$rand1]);
    			$itm0 = $in;$itmk0=$ik;$itme0=$ie;$itms0=$is;$itmsk0=$isk;
    			addnews($now,'present',$name,$itm,$in);
    			\itemmain\itms_reduce($theitem);
    			\itemmain\itemget();	
    			return;
    		} elseif(strpos ( $itmk, 'GC' ) === 0){
    			$log.="你打开了<span class=\"yellow\">$itm</span>。<br>";
    			$file = __DIR__.'/config/ugcbox.config.php';
    			$plist1 = openfile($file);
    			$rand1 = rand(0,count($plist1)-1);
    			list($in,$ik,$ie,$is,$isk) = explode(',',$plist1[$rand1]);
    			$itm0 = $in;$itmk0=$ik;$itme0=$ie;$itms0=$is;$itmsk0=$isk;
    			addnews($now,'present',$name,$itm,$in);
    			\itemmain\itms_reduce($theitem);
    			\itemmain\itemget();	
    			return;
    		}*/
    $chprocess($theitem);
}
コード例 #16
0
ファイル: main.php プロジェクト: hikawiier/dtsmod-campfire
function itemuse_uec(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'input', 'logger', 'gamesysctl'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if ($itm == '便携式控制中心子端') {
        ob_clean();
        include template(MOD_GAMESYSCTL_MOBGSC_CMD);
        $cmd = ob_get_contents();
        ob_clean();
        return;
    }
    if ($itm == '动力装甲修复工具') {
        if ($itme) {
            ob_clean();
            include template(MOD_ITEM_UEC_CHOOSE_REPAIR_AIMMER);
            $cmd = ob_get_contents();
            ob_clean();
            return;
        } else {
            $metal_flag = 0;
            for ($i = 0; $i <= 6; $i++) {
                if (${'itms' . $i} && strpos(${'itm' . $i}, '金属材料') !== false) {
                    $mitm['itm'] =& ${'itm' . $i};
                    $mitm['itmk'] =& ${'itmk' . $i};
                    $mitm['itme'] =& ${'itme' . $i};
                    $mitm['itms'] =& ${'itms' . $i};
                    $mitm['itmsk'] =& ${'itmsk' . $i};
                    $metal_flag += $mitm['itme'] * $mitm['itms'];
                    \itemmain\itms_reduce($mitm, 1);
                    break;
                }
            }
            if ($metal_flag) {
                $metal_flag = round($metal_flag * rand(8, 10) / 10);
                $itme += $metal_flag;
                $log .= "你打开了修复工具的装填仓,将金属材料放入其中,你隐约能听到小盒子内传出机械齿轮转动的声音。<br>修复工具的材料储量增加了<span class='yellow'>{$metal_flag}</span>点!<br>";
            } else {
                $log .= "修复工具的装填仓为空,而且你身上没有金属片!<br>";
                return;
            }
        }
    }
}
コード例 #17
0
ファイル: main.php プロジェクト: Tian-hao/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if ($itmk == 'U') {
        $trapresult = $db->query("SELECT * FROM {$tablepre}maptrap WHERE pls = '{$pls}' AND itme>='{$itme}'");
        $trpnum = $db->num_rows($trapresult);
        if ($trpnum > 0) {
            $itemno = rand(0, $trpnum - 1);
            $db->data_seek($trapresult, $itemno);
            $mi = $db->fetch_array($trapresult);
            $deld = $mi['itm'];
            $delp = $mi['tid'];
            $db->query("DELETE FROM {$tablepre}maptrap WHERE tid='{$delp}'");
            $log .= "远方传来一阵爆炸声,伟大的<span class=\"yellow\">{$itm}</span>用生命和鲜血扫除了<span class=\"yellow\">{$deld}</span>。<br><span class=\"red\">实在是大快人心啊!</span><br>";
        } else {
            $log .= "你使用了<span class=\"yellow\">{$itm}</span>,但是没有发现陷阱。<br>";
        }
        \itemmain\itms_reduce($theitem);
        return;
    } elseif (strpos($itmk, 'Y') === 0 || strpos($itmk, 'Z') === 0) {
        if ($itm == '御神签') {
            $log .= "使用了<span class=\"yellow\">{$itm}</span>。<br>";
            divining();
            \itemmain\itms_reduce($theitem);
            return;
        } elseif ($itm == '凸眼鱼') {
            eval(import_module('corpse'));
            $tm = $now - $corpseprotect;
            //尸体保护
            $db->query("UPDATE {$tablepre}players SET weps='0',arbs='0',arhs='0',aras='0',arfs='0',arts='0',itms0='0',itms1='0',itms2='0',itms3='0',itms4='0',itms5='0',itms6='0',money='0' WHERE hp <= 0 AND endtime <= {$tm}");
            $cnum = $db->affected_rows();
            addnews($now, 'corpseclear', $name, $cnum);
            $log .= "使用了<span class=\"yellow\">{$itm}</span>。<br>突然刮起了一阵怪风,吹走了地上的{$cnum}具尸体!<br>";
            \itemmain\itms_reduce($theitem);
            return;
        } elseif ($itm == '■DeathNote■') {
            include template('deathnote');
            $cmd = ob_get_contents();
            ob_clean();
            $log .= '你翻开了■DeathNote■<br>';
            return;
        } elseif ($itm == '游戏解除钥匙') {
            $state = 6;
            $url = 'end.php';
            \sys\gameover($now, 'end3', $name);
        } elseif ($itm == '『C.H.A.O.S』') {
            $flag = false;
            $log .= "一阵强光刺得你睁不开眼。<br>强光逐渐凝成了光球,你揉揉眼睛,发现包裹里的东西全都不翼而飞了。<br>";
            for ($i = 1; $i <= 6; $i++) {
                global ${'itm' . $i}, ${'itmk' . $i}, ${'itme' . $i}, ${'itms' . $i}, ${'itmsk' . $i};
                $itm =& ${'itm' . $i};
                $itmk =& ${'itmk' . $i};
                $itme =& ${'itme' . $i};
                $itms =& ${'itms' . $i};
                $itmsk =& ${'itmsk' . $i};
                if ($itm == '黑色发卡') {
                    $flag = true;
                }
                $itm = '';
                $itmk = '';
                $itme = 0;
                $itms = 0;
                $itmsk = '';
            }
            $karma = $rp * $killnum - $def + $att;
            $f1 = false;
            //『G.A.M.E.O.V.E.R』itmk:Y itme:1 itms:1 itmsk:zxZ
            if ($ss >= 600 && $killnum <= 15) {
                $itm0 = '『T.E.R.R.A』';
                $itmk0 = 'Y';
                $itme0 = 1;
                $itms0 = 1;
                $itmsk0 = 'z';
                include_once GAME_ROOT . './include/game/itemmain.func.php';
                \itemmain\itemget();
                $f1 = true;
            }
            if ($karma <= 2000) {
                $itm0 = '『A.Q.U.A』';
                $itmk0 = 'Y';
                $itme0 = 1;
                $itms0 = 1;
                $itmsk0 = 'x';
                include_once GAME_ROOT . './include/game/itemmain.func.php';
                \itemmain\itemget();
                $f1 = true;
            }
            if ($flag == true) {
                $itm0 = '『V.E.N.T.U.S』';
                $itmk0 = 'Y';
                $itme0 = 1;
                $itms0 = 1;
                $itmsk0 = 'Z';
                include_once GAME_ROOT . './include/game/itemmain.func.php';
                \itemmain\itemget();
                $f1 = true;
            }
            if ($f1 == false) {
                $itm0 = '『S.C.R.A.P』';
                $itmk0 = 'Y';
                $itme0 = 1;
                $itms0 = 1;
                include_once GAME_ROOT . './include/game/itemmain.func.php';
                \itemmain\itemget();
            }
        } elseif ($itm == '『G.A.M.E.O.V.E.R』') {
            $state = 6;
            $url = 'end.php';
            \sys\gameover($now, 'end7', $name);
        } elseif ($itm == '杏仁豆腐的ID卡') {
            $duelstate = \gameflow_duel\duel($now, $itm);
            if ($duelstate == 50) {
                $log .= "<span class=\"yellow\">你使用了{$itm}。</span><br><span class=\"evergreen\">“干得不错呢,看来咱应该专门为你清扫一下战场……”</span><br><span class=\"evergreen\">“所有的NPC都离开战场了。好好享受接下来的杀戮吧,祝你好运。”</span>——林无月<br>";
                $itm = $itmk = $itmsk = '';
                $itme = $itms = 0;
            } elseif ($duelstate == 51) {
                $log .= "你使用了<span class=\"yellow\">{$itm}</span>,不过什么反应也没有。<br><span class=\"evergreen\">“咱已经帮你准备好舞台了,请不要要求太多哦。”</span>——林无月<br>";
            } else {
                $log .= "你使用了<span class=\"yellow\">{$itm}</span>,不过什么反应也没有。<br><span class=\"evergreen\">“表演的时机还没到呢,请再忍耐一下吧。”</span>——林无月<br>";
            }
            return;
        } elseif ($itm == '奇怪的按钮') {
            $button_dice = rand(1, 10);
            if ($button_dice < 5) {
                $log .= "你按下了<span class=\"yellow\">{$itm}</span>,不过好像什么都没有发生!";
                $itm = $itmk = $itmsk = '';
                $itme = $itms = 0;
            } elseif ($button_dice < 8) {
                $state = 6;
                $url = 'end.php';
                \sys\gameover($now, 'end5', $name);
            } else {
                $log .= '好像什么也没发生嘛?<br>咦,按钮上的标签写着什么?“危险,勿触”……?<br>';
                $log .= '呜哇,按钮爆炸了!<br>';
                $state = 30;
                \player\update_sdata();
                $sdata['sourceless'] = 1;
                $sdata['attackwith'] = '';
                \player\kill($sdata, $sdata);
                \player\player_save($sdata);
                \player\load_playerdata($sdata);
            }
            return;
        } else {
            if (substr($itm, 0, strlen('提示纸条')) == '提示纸条') {
                if ($itm == '提示纸条A') {
                    $log .= '你读着纸条上的内容:<br>“执行官其实都是幻影,那个红暮的身上应该有召唤幻影的玩意。”<br>“用那个东西然后打倒幻影的话能用游戏解除钥匙出去吧。”<br>';
                } elseif ($itm == '提示纸条B') {
                    $log .= '你读着纸条上的内容:<br>“我设下的灵装被残忍地清除了啊……”<br>“不过资料没全部清除掉。<br>用那个碎片加上传奇的画笔和天然属性……”<br>“应该能重新组合出那个灵装。”<br>';
                } elseif ($itm == '提示纸条C') {
                    $log .= '你读着纸条上的内容:<br>“小心!那个叫红暮的家伙很强!”<br>“不过她太依赖自己的枪了,有什么东西能阻挡那伤害的话……”<br>';
                } elseif ($itm == '提示纸条D') {
                    $log .= '你读着纸条上的内容:<br>“我不知道另外那个孩子的底细。如果我是你的话,不会随便乱惹她。”<br>“但是她貌似手上拿着符文册之类的东西。”<br>“也许可以利用射程优势?!”<br>“你知道的,法师的射程都不咋样……”';
                } elseif ($itm == '提示纸条E') {
                    $log .= '你读着纸条上的内容:<br>“生存并不能靠他人来喂给你知识,”<br>“有一套和元素有关的符卡的公式是没有出现在帮助里面的,用逻辑推理好好推理出正确的公式吧。”<br>“金木水火土在这里都能找到哦~”<br>';
                } elseif ($itm == '提示纸条F') {
                    $log .= '你读着纸条上的内容:<br>“喂你真的是全部买下来了么……”<br>“这样的提示纸条不止这六种,其他的纸条估计被那两位撒出去了吧。”<br>“总之祝你好运。”<br>';
                } elseif ($itm == '提示纸条G') {
                    $log .= '你读着纸条上的内容:<br>“上天保佑,”<br>“请不要在让我在模拟战中被击坠了!”<br>“空羽 上。”<br>';
                } elseif ($itm == '提示纸条H') {
                    $log .= '你读着纸条上的内容:<br>“在研究施设里面出了大事的SCP竟然又输出了新的样本!”<br>“按照董事长的意见就把这些家伙当作人体试验吧!”<br>署名看不清楚……<br>';
                } elseif ($itm == '提示纸条I') {
                    $log .= '你读着纸条上的内容:<br>“嗯……”<br>“制作神卡所用的各种认证都可以在商店里面买到。”<br>“其实卡片真的有那么强大的力量么?”<br>';
                } elseif ($itm == '提示纸条J') {
                    $log .= '你读着纸条上的内容:<br>“知道么?”<br>“果酱面包果然还是甜的好,哪怕是甜的生姜也能配制出如地雷般爆炸似的美味。”<br>“祝你好运。”<br>';
                } elseif ($itm == '提示纸条K') {
                    $log .= '你读着纸条上的内容:<br>“水符?”<br>“你当然需要水,然后水看起来是什么颜色的?”<br>“找一个颜色类似的东西合成就有了吧。”<br>';
                } elseif ($itm == '提示纸条L') {
                    $log .= '你读着纸条上的内容:<br>“木符?”<br>“你当然需要树叶,然后说到树叶那是什么颜色?”<br>“找一个颜色类似的东西合成就有了吧。”<br>';
                } elseif ($itm == '提示纸条M') {
                    $log .= '你读着纸条上的内容:<br>“火符?”<br>“你当然需要找把火,然后说到火那是什么颜色?”<br>“找一个颜色类似的东西合成就有了吧。”<br>';
                } elseif ($itm == '提示纸条N') {
                    $log .= '你读着纸条上的内容:<br>“土符?”<br>“说到土那就是石头吧,然后说到石头那是什么颜色?”<br>“找一个颜色类似的东西合成就有了吧。”<br>';
                } elseif ($itm == '提示纸条P') {
                    $log .= '你读着纸条上的内容:<br>“金符?这个的确很绕人……”<br>“说到金那就是炼金,然后这是21世纪了,炼制一个金色方块需要什么?”<br>“总之祝你好运。”<br>';
                } elseif ($itm == '提示纸条Q') {
                    $log .= '你读着纸条上的内容:<br>“据说在另外的空间里面;”<br>“一个吸血鬼因为无聊就在她所居住的地方洒满了大雾,”<br>“真任性。”<br>';
                } elseif ($itm == '提示纸条R') {
                    $log .= '你读着纸条上的内容:<br>“知道么,”<br>“东方幻想乡这作游戏里面EXTRA的最终攻击”<br>“被老外们称作『幻月的Rape Time』,当然对象是你。”<br>';
                } elseif ($itm == '提示纸条S') {
                    $log .= '你读着纸条上的内容:<br>“土水符?”<br>“哈哈哈那肯定是需要土和水啦,可能还要额外的素材吧。”<br>“总之祝你好运。”<br>';
                } elseif ($itm == '提示纸条T') {
                    $log .= '你读着纸条上的内容:<br>“我一直对虚拟现实中的某些迹象很在意……”<br>“这种未名的威压感是怎么回事?”<br>“总之祝你好运。”<br>';
                } elseif ($itm == '提示纸条U') {
                    $log .= '你读着纸条上的内容:<br>“纸条啥的……”<br>“希望这张纸条不会成为你的遗书。”<br>“总之祝你好运。”<br>';
                } else {
                    $log .= '你打开了纸条,发现是一张白纸。<br>';
                }
                return;
            } elseif ($itm == '仪水镜') {
                $log .= '水面上映出了你自己的脸,你仔细端详着……<br>';
                if ($rp < 40) {
                    $log .= '你的脸看起来十分白皙。<br>';
                } elseif ($rp < 200) {
                    $log .= '你的脸看起来略微有点黑。<br>';
                } elseif ($rp < 550) {
                    $log .= '你的脸上貌似笼罩着一层黑雾。<br>';
                } elseif ($rp < 1200) {
                    $log .= '你的脸已经和黑炭差不多了,赶快去洗洗!<br>';
                } elseif ($rp < 5499) {
                    $log .= '你印堂漆黑,看起来最近要有血光之灾!<br>';
                } elseif ($rp > 5500) {
                    $log .= '水镜中已经黑的如墨一般了。<br>希望你的H173还在……<br>';
                } else {
                    $log .= '你的脸从水镜中消失了。<br>';
                }
                return;
            } elseif ($itm == '风祭河水') {
                $slv_dice = rand(1, 20);
                if ($slv_dice < 8) {
                    $log .= "你一口干掉了<span class=\"yellow\">{$itm}</span>,不过好像什么都没有发生!";
                    $itm = $itmk = $itmsk = '';
                    $itme = $itms = 0;
                } elseif ($slv_dice < 16) {
                    $rp = $rp - 10 * $slv_dice;
                    $log .= "你感觉身体稍微轻了一点点。<br>";
                    $itm = $itmk = $itmsk = '';
                    $itme = $itms = 0;
                } elseif ($slv_dice < 20) {
                    $rp = 0;
                    $log .= "你头晕脑胀地躺到了地上,<br>感觉整个人都被救济了。<br>你努力着站了起来。<br>";
                    $wp = $wk = $wg = $wc = $wd = $wf = 100;
                    $itm = $itmk = $itmsk = '';
                    $itme = $itms = 0;
                } else {
                    $log .= '你头晕脑胀地躺到了地上,<br>感觉整个人都被救济了。<br>';
                    $log .= '然后你失去了意识。<br>';
                    $state = 35;
                    \player\update_sdata();
                    $sdata['sourceless'] = 1;
                    $sdata['attackwith'] = '';
                    \player\kill($sdata, $sdata);
                    \player\player_save($sdata);
                    \player\load_playerdata($sdata);
                }
                return;
            } elseif ($itm == '水果刀') {
                $flag = false;
                for ($i = 1; $i <= 6; $i++) {
                    foreach (array('香蕉', '苹果', '西瓜') as $fruit) {
                        if (strpos(${'itm' . $i}, $fruit) !== false && strpos(${'itm' . $i}, '皮') === false && (strpos(${'itmk' . $i}, 'H') === 0 || strpos(${'itmk' . $i}, 'P') === 0)) {
                            if ($wk >= 120) {
                                $log .= "练过刀就是好啊。你娴熟地削着果皮。<br><span class=\"yellow\">{${'itm' . $i}}</span>变成了<span class=\"yellow\">★残骸★</span>!<br>咦为什么会出来这种东西?算了还是不要吐槽了。<br>";
                                ${'itm' . $i} = '★残骸★';
                                ${'itme' . $i} *= rand(2, 4);
                                ${'itms' . $i} *= rand(3, 5);
                                $flag = true;
                                $wk++;
                            } else {
                                $log .= "想削皮吃<span class=\"yellow\">{${'itm' . $i}}</span>,没想到削完发现只剩下一堆果皮……<br>手太笨拙了啊。<br>";
                                ${'itm' . $i} = str_replace($fruit, $fruit . '皮', ${'itm' . $i});
                                ${'itmk' . $i} = 'TN';
                                ${'itms' . $i} *= rand(2, 4);
                                $flag = true;
                                $wk++;
                            }
                            break;
                        }
                    }
                    if ($flag == true) {
                        break;
                    }
                }
                if (!$flag) {
                    $log .= '包裹里没有水果。<br>';
                } else {
                    $dice = rand(1, 5);
                    if ($dice == 1) {
                        $log .= "<span class=\"red\">{$itm}</span>变钝了,无法再使用了。<br>";
                        $itm = $itmk = $itmsk = '';
                        $itme = $itms = 0;
                    }
                }
                return;
            } elseif (strpos($itm, 'RP回复设备') !== false) {
                $rp = 0;
                $log .= "你使用了<span class=\"yellow\">{$itm}</span>。你的RP归零了。<br>";
                return;
            }
        }
    }
    $chprocess($theitem);
}
コード例 #18
0
ファイル: main.php プロジェクト: sillycross/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    eval(import_module('sys'));
    if (strpos($itmk, 'Y') === 0 || strpos($itmk, 'Z') === 0) {
        if ($itm == '装有H173的注射器' && $gametype == 2) {
            eval(import_module('logger'));
            $log .= '你把注射器的包装撕开,却发现没有针头。“妈的智障”,你念叨着,把注射器随手扔掉了。<br>';
            \itemmain\itms_reduce($theitem);
            return;
        }
    }
    $chprocess($theitem);
}
コード例 #19
0
ファイル: main.php プロジェクト: hikawiier/dtsmod-campfire
function gamesysctl_cwth($wth)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'weather', 'logger', 'itemmain', 'player'));
    if ($wth == $weather) {
        $log .= "当你提交了操作后,一个大大error出现在了画面上,虽然你是一个不讲鹰语的爱国者,但是“错误”这个单词你还是认识的。<br><span class='yellow'>画面下方的错误原因中写着:当前天气已为{$wthinfo[$wth]},不需要再次修改。</span><br>";
    } elseif (!isset($wthinfo[$wth])) {
        $log .= "当你提交了操作后,一个大大error出现在了画面上,虽然你是一个不讲鹰语的爱国者,但是“错误”这个单词你还是认识的。<br><span class='yellow'>画面下方的错误原因中写着:提交的天气数据错误,请重新确认。</span><br>";
    } else {
        $log .= "当你提交了操作后,控制面板上的数据开始飞速刷新,你不由得分了下神。当你再次抬起头时,窗外的天气已经变成了<span class='yellow'>{$wthinfo[$wth]}</span>!<br>但等你再看向控制台时,它已经因为<span class='red'>能源不足</span>自动休眠了……这能量核心是山寨的吧!?<br>";
        $weather = $wth;
        save_gameinfo();
        addnews($now, 'gsc_cwth', $name, $wth);
        foreach (array(1, 2, 3, 4, 5, 6) as $i) {
            if (${'itm' . $i} == '能量核心' && ${'itms' . $i} > 0) {
                $core['itme'] =& ${'itme' . $i};
                $core['itms'] =& ${'itms' . $i};
                $core['itm'] =& ${'itm' . $i};
                $core['itmk'] =& ${'itmk' . $i};
                $core['itmsk'] =& ${'itmsk' . $i};
                \itemmain\itms_reduce($core);
                break;
            }
        }
    }
}
コード例 #20
0
ファイル: main.php プロジェクト: hikawiier/dtsmod-campfire
function remake_gun_result($r_way, $i)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger', 'remakegun'));
    if ($r_way !== 'r_local' && $r_way !== 'r_item') {
        $log .= "<span class='red'>改造方式选择错误,请重新输入指令。</span><br>";
        return;
    }
    if ($r_way == 'r_local' && $pls != 28) {
        $log .= "<span class='red'>该地区不存在改造工作台,请重新输入指令。</span><br>";
        return;
    }
    if (!is_numeric($i) || !$i || $i > 6 || $i < 1 || ${'itmk' . $i} !== 'RG' || ${'itms' . $i} <= 0) {
        $log .= "<span class='red'>要使用的枪械配件选择错误,请重新输入指令。</span><br>";
        return;
    }
    if ($wepk !== 'WG' && $wepk !== 'WJ' && $wepk !== 'WDG' && $wepk !== 'WGK') {
        $log .= "<span class='red'>你所装备的武器不是远程武器或重型枪械,无法对其进行改造!</span><br>";
        return;
    }
    $log .= "你小心翼翼的将枪械拆开,开始对内部的复杂结构进行改造……<br>";
    $log .= "…………<br>";
    $rgi['itm'] =& ${'itm' . $i};
    $rgi['itmk'] =& ${'itmk' . $i};
    $rgi['itme'] =& ${'itme' . $i};
    $rgi['itms'] =& ${'itms' . $i};
    $rgi['itmsk'] =& ${'itmsk' . $i};
    $rg_sk = \itemmain\get_itmsk_array($rgi['itmsk']);
    $wep_sk = \itemmain\get_itmsk_array($wepsk);
    $rg_sk_num = sizeof($rg_sk);
    $wep_sk_num = sizeof($wep_sk);
    if ($rg_sk_num && $wep_sk_num) {
        $merge_sk = array_intersect($rg_sk, $wep_sk);
        $merge_flag = false;
        if (sizeof($merge_sk) > 0) {
            $merge_flag = true;
            $merge_effect = 0;
        }
    }
    if ($rg_sk_num) {
        $rg_sk_rarity = 0;
        foreach ($rg_sk as $rg_skey => $rg_skinfo) {
            if (in_array($rg_skinfo, $merge_sk) && $merge_flag) {
                $merge_effect += in_array($rg_skinfo, array_keys($sk_rarity)) ? $sk_rarity[$rg_skinfo] : 1;
                unset($rg_sk[$rg_skey]);
            } else {
                $rg_sk_rarity += in_array($rg_skinfo, array_keys($sk_rarity)) ? $sk_rarity[$rg_skinfo] : 1;
            }
        }
        if ($rg_sk_rarity <= 25) {
            $rg_sk_rarity *= 0.75;
        } elseif ($rg_sk_rarity > 25 && $rg_sk_rarity <= 40) {
            $rg_sk_rarity *= 0.8;
        } elseif ($rg_sk_rarity > 40 && $rg_sk_rarity <= 55) {
            $rg_sk_rarity *= 0.85;
        } elseif ($rg_sk_rarity > 55 && $rg_sk_rarity <= 70) {
            $rg_sk_rarity *= 0.9;
        } else {
            $rg_sk_rarity *= 1;
        }
    }
    if ($wep_sk_num) {
        $wep_sk_rarity = 0;
        foreach ($wep_sk as $wep_skey => $wep_skinfo) {
            $wep_sk_rarity += in_array($wep_skinfo, array_keys($sk_rarity)) ? $sk_rarity[$wep_skinfo] : 1;
        }
        if ($wep_sk_rarity <= 25) {
            $wep_sk_rarity *= 0.85;
        } elseif ($wep_sk_rarity > 25 && $wep_sk_rarity <= 40) {
            $wep_sk_rarity *= 0.8;
        } elseif ($wep_sk_rarity > 40 && $wep_sk_rarity <= 55) {
            $wep_sk_rarity *= 0.75;
        } elseif ($wep_sk_rarity > 55 && $wep_sk_rarity <= 70) {
            $wep_sk_rarity *= 0.7;
        } else {
            $wep_sk_rarity *= 0.6;
        }
    }
    $changesucc_obbs_max = $r_way == 'r_local' ? 99 : 75;
    $base_changesucc_obbs = 0;
    if ($wg <= 100) {
        $base_changesucc_obbs = $wg * 0.28;
    } elseif ($wg > 100 && $wg <= 200) {
        $base_changesucc_obbs = 28 + ($wg - 100) * 0.22;
    } elseif ($wg > 200 && $wg <= 300) {
        $base_changesucc_obbs = 50 + ($wg - 200) * 0.18;
    } elseif ($wg > 300 && $wg <= 400) {
        $base_changesucc_obbs = 68 + ($wg - 300) * 0.14;
    } else {
        $base_changesucc_obbs = 82 + ($wg - 400) * 0.1;
    }
    $base_changesucc_obbs = min($changesucc_obbs_max, $base_changesucc_obbs);
    $r_effect_obbs = ($r_itme + $merge_effect) / 25;
    $r_skrarity_obbs = $rg_sk_rarity;
    $wep_skrarity_obbs = $wep_sk_rarity;
    $final_changesucc_obbs = ceil($base_changesucc_obbs - $r_effect_obbs - $r_skrarity_obbs - $wep_skrarity_obbs);
    $final_changesucc_obbs = max(1, $final_changesucc_obbs);
    if (rand(1, 100) <= $final_changesucc_obbs) {
        $log .= "<span class='yellow'>“呼……”</span><br>完成了手中精密的工作,你如释重负般长吁了一口气。<br>这样看来,枪械改造的工作<span class='red'>顺利完成</span>了!<br>你掂了掂手中的爱枪,感觉它变得更顺手了。<br>";
        $add_sk = implode("", $rg_sk);
        $add_effect = $rgi['itme'] + $merge_effect;
        $wepsk .= $add_sk;
        $wepe += $add_effect;
        $log .= "<br><span class='yellow'>你的武器<span class='lime'>【{$wep}】</span>在经过<span class='lime'>【{$rgi['itm']}】</span>的改造后发生了如下改变:</span><br>";
        if ($add_effect > 0) {
            $log .= "<span class='yellow'>效果提高  ->  <span class='red'>{$add_effect}</span></span><br>";
        }
        if (sizeof($rg_sk) > 0) {
            $log .= "<span class='yellow'>属性增加  ->  </span>";
            foreach ($rg_sk as $n_rg_sk => $i_rg_sk) {
                $log .= "<span class='red'>【{$itemspkinfo[$i_rg_sk]}】 </span>";
            }
            $log .= "<br><br>";
        }
        addnews($now, 'remake_succ', $name, $rgi['itm'], $wep);
    } else {
        $log .= "虽然你尽可能让自己小心的操作,但还是由于一个小失误弄坏了精密的配件。<br>这样看来,枪械改造的工作<span class='red'>彻底失败</span>了。<br>虽然如此,你还是把枪械部件的残骸收了起来。<br>";
        $basic_down_effect = round($rg_sk_rarity) + rand(1, 5);
        $down_effect = $wepe - $basic_down_effect <= 0 ? $wepe - 1 : $basic_down_effect;
        $wepe -= $down_effect;
        if (rand(1, 100) <= round($rg_sk_rarity / 10) && strpos($wepsk, 'o') === false) {
            $log .= "而且由于你的粗心大意,对你的枪械造成了<span class='red'>不可挽回的损害</span>!<br>看来它的寿命被极大的缩短了……<br>";
            $down_sk = 'o';
            $wepsk .= $down_sk;
        }
        $log .= "<br><span class='yellow'>你的武器<span class='lime'>【{$wep}】</span>在经过<span class='lime'>【{$rgi['itm']}】</span>的改造后发生了如下改变:</span><br>";
        if ($down_effect >= 0) {
            $log .= "<span class='yellow'>效果降低  ->  <span class='red'>{$down_effect}</span></span><br>";
        }
        if ($down_sk) {
            $log .= "<span class='yellow'>属性增加  ->  <span class='red'>【一发】</span></span><br><br>";
        }
        $itm0 = '一堆废铁';
        $itmk0 = 'X';
        $itme0 = round($rg_sk_rarity) + $rgi['itme'];
        $itms0 = 1;
        $itmsk0 = '';
        addnews($now, 'remake_fail', $name, $rgi['itm'], $wep);
    }
    \itemmain\itms_reduce($rgi);
    if ($itms0) {
        \itemmain\itemget();
    }
}
コード例 #21
0
ファイル: main.php プロジェクト: nahakyuu/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'weapon', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'V') === 0) {
        //特殊的技能书类型VS,效果是获得技能编号为itmsk的技能
        if (strpos($itmk, 'VS') === 0) {
            eval(import_module('clubbase'));
            $sk_kind = (int) $itmsk;
            if ($sk_kind < 1) {
                $sk_kind = 1;
            }
            if (defined('MOD_SKILL' . $sk_kind) && $clubskillname[$sk_kind] != '') {
                if (\skillbase\skill_query($sk_kind)) {
                    $log .= "你翻开了<span class=\"red\">{$itm}</span>,发现这本书就是昨天刚刚看过的那本。你随手把书放回了包里。<br>";
                } else {
                    $log .= "你读完了<span class=\"red\">{$itm}</span>,感觉受益匪浅。你获得了技能「<span class=\"yellow\">" . $clubskillname[$sk_kind] . "</span>」,请前往技能界面查看。<br>";
                    \skillbase\skill_acquire($sk_kind);
                    \itemmain\itms_reduce($theitem);
                }
            } else {
                $log .= "技能书参数错误,这应该是一个BUG,请联系管理员。<br>";
            }
            return;
        }
        //下面是普通的技能书处理(效果是加某个系的熟练)
        $skill_minimum = 100;
        $skill_limit = 300;
        $log .= "你阅读了<span class=\"red\">{$itm}</span>。<br>";
        $dice = rand(-5, 5);
        if (strpos($itmk, 'VV') === 0) {
            $skcnt = 0;
            $ws_sum = 0;
            foreach (array_unique(array_values($skillinfo)) as $key) {
                $skcnt++;
                $ws_sum += ${$key};
            }
            if ($ws_sum < $skill_minimum * $skcnt) {
                $vefct = $itme;
            } elseif ($ws_sum < $skill_limit * $skcnt) {
                $vefct = round($itme * (1 - ($ws_sum - $skill_minimum * $skcnt) / ($skill_limit * $skcnt - $skill_minimum * $skcnt)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            foreach (array_unique(array_values($skillinfo)) as $key) {
                ${$key} += $vefct;
            }
            $wsname = "全系熟练度";
        } elseif (strpos($itmk, 'VP') === 0) {
            if ($wp < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wp < $skill_limit) {
                $vefct = round($itme * (1 - ($wp - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wp += $vefct;
            //$itme;
            $wsname = "斗殴熟练度";
        } elseif (strpos($itmk, 'VK') === 0) {
            if ($wk < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wk < $skill_limit) {
                $vefct = round($itme * (1 - ($wk - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wk += $vefct;
            //$itme;
            $wsname = "斩刺熟练度";
        } elseif (strpos($itmk, 'VG') === 0) {
            if ($wg < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wg < $skill_limit) {
                $vefct = round($itme * (1 - ($wg - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wg += $vefct;
            //$itme;
            $wsname = "射击熟练度";
        } elseif (strpos($itmk, 'VC') === 0) {
            if ($wc < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wc < $skill_limit) {
                $vefct = round($itme * (1 - ($wc - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wc += $vefct;
            //$itme;
            $wsname = "投掷熟练度";
        } elseif (strpos($itmk, 'VD') === 0) {
            if ($wd < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wd < $skill_limit) {
                $vefct = round($itme * (1 - ($wd - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wd += $vefct;
            //$itme;
            $wsname = "引爆熟练度";
        } elseif (strpos($itmk, 'VF') === 0) {
            if ($wf < $skill_minimum) {
                $vefct = $itme;
            } elseif ($wf < $skill_limit) {
                $vefct = round($itme * (1 - ($wf - $skill_minimum) / ($skill_limit - $skill_minimum)));
            } else {
                $vefct = 0;
            }
            if ($vefct < 5) {
                if ($vefct < $dice) {
                    $vefct = -$dice;
                }
            }
            $wf += $vefct;
            //$itme;
            $wsname = "灵击熟练度";
        }
        if ($vefct > 0) {
            $log .= "嗯,有所收获。<br>你的{$wsname}提高了<span class=\"yellow\">{$vefct}</span>点!<br>";
        } elseif ($vefct == 0) {
            $log .= "对你来说书里的内容过于简单了。<br>你的熟练度没有任何提升。<br>";
        } else {
            $vefct = -$vefct;
            $log .= "对你来说书里的内容过于简单了。<br>而且由于盲目相信书上的知识,你反而被编写者的纰漏所误导了!<br>你的{$wsname}下降了<span class=\"red\">{$vefct}</span>点!<br>";
        }
        \itemmain\itms_reduce($theitem);
        return;
    }
    $chprocess($theitem);
}
コード例 #22
0
ファイル: main.php プロジェクト: nahakyuu/dts
function trap_use(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    $trapk = str_replace('TN', 'TO', $itmk);
    $db->query("INSERT INTO {$tablepre}maptrap (itm, itmk, itme, itms, itmsk, pls) VALUES ('{$itm}', '{$trapk}', '{$itme}', '1', '{$pid}', '{$pls}')");
    $log .= "设置了陷阱<span class=\"red\">{$itm}</span>。<br>小心,自己也很难发现。<br>";
    \lvlctl\getexp(1);
    $wd++;
    \itemmain\itms_reduce($theitem);
}
コード例 #23
0
ファイル: main.php プロジェクト: winddramon/dts
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'Y') === 0 || strpos($itmk, 'Z') === 0) {
        if ($itm == '装有H173的注射器') {
            $log .= '你考虑了一会,<br>把袖子卷了起来,给自己注射了H173。<br>';
            $deathdice = rand(0, 8191);
            if ($deathdice == 8191 || $club == 15) {
                $log .= '你突然感觉到一种不可思议的力量贯通全身!<br>';
                $wp = $wk = $wg = $wc = $wd = $wf = 3000;
                $att = $def = 5000;
                $club = 15;
                addnews($now, 'suisidefail', $name);
                $itm = $itmk = $itmsk = '';
                $itme = $itms = 0;
            } else {
                $state = 31;
                $log .= '你失去了知觉。<br>';
                \player\update_sdata();
                $sdata['sourceless'] = 1;
                $sdata['attackwith'] = $itm;
                \player\kill($sdata, $sdata);
                \player\player_save($sdata);
                \player\load_playerdata($sdata);
            }
            return;
        } elseif (strpos($itm, '溶剂SCP-294') === 0) {
            if (defined('MOD_CLUBBASE')) {
                \clubbase\club_lost();
            }
            $club = 17;
            if (defined('MOD_CLUBBASE')) {
                \clubbase\club_acquire($club);
            }
            if ($itm == '溶剂SCP-294_PT_Poini_Kune') {
                $log .= '你考虑了一会,一扬手喝下了杯中中冒着紫色幽光的液体。<br><span class="yellow">你感到全身就像燃烧起来一样,不禁扪心自问这值得么?</span><br>';
                if ($mhp > 573) {
                    $up = rand(0, $mhp + $msp);
                } else {
                    $up = rand(0, 573);
                }
                if ($club == 17) {
                    $hpdown = $spdown = round($up * 1.5);
                } elseif ($club == 13) {
                    $hpdown = $up + 200;
                    $spdown = $up;
                } else {
                    $hpdown = $spdown = $up;
                }
                $wp += $up;
                $wk += $up;
                $wg += $up;
                $wc += $up;
                $wd += $up;
                $wf += $up;
                $rp += 500;
                $mhp = $mhp - $hpdown;
                $msp = $msp - $spdown;
                $log .= '你的生命上限减少了<span class="yellow">' . $hpdown . '</span>点,体力上限减少了<span class="yellow">' . $spdown . '</span>点,而你的全系熟练度提升了<span class="yellow">' . $up . '</span>点!<br>';
            } elseif ($itm == '溶剂SCP-294_PT_Arnval') {
                $log .= '你考虑了一会,一扬手喝下了杯中中冒着白色气泡的清澈液体。<br><span class="yellow">你感到全身就像燃烧起来一样,不禁扪心自问这值得么?</span><br>';
                if ($msp > 573) {
                    $up = rand(0, $msp * 1.5);
                } else {
                    $up = rand(0, 573);
                }
                $mhp = $mhp + $up;
                $def = $def + $up;
                $down = $club == 17 ? round($up * 1.5) : $up;
                $rp += 200;
                $msp = $msp - $down;
                $att = $att - $down;
                $log .= '你的体力上限和攻击力减少了<span class="yellow">' . $down . '</span>点,而你的生命上限和防御力提升了<span class="yellow">' . $up . '</span>点!<br>';
            } elseif ($itm == '溶剂SCP-294_PT_Strarf') {
                $log .= '你考虑了一会,一扬手喝下了杯中中冒着灰色气泡的清澈液体。<br><span class="yellow">你感到全身就像燃烧起来一样,不禁扪心自问这值得么?</span><br>';
                if ($mhp > 573) {
                    $up = rand(0, $msp * 1.5);
                } else {
                    $up = rand(0, 573);
                }
                $msp = $msp + $up;
                $att = $att + $up;
                $down = $club == 17 ? round($up * 1.5) : $up;
                $rp += 200;
                $mhp = $mhp - $down;
                $def = $def - $down;
                $log .= '你的生命上限和防御力减少了<span class="yellow">' . $down . '</span>点,而你的体力上限和攻击力提升了<span class="yellow">' . $up . '</span>点!<br>';
            } elseif ($itm == '溶剂SCP-294_PT_ErulTron') {
                $log .= '你考虑了一会,<br>一扬手喝下了杯中中冒着粉红光辉的液体。<br>你感到你整个人貌似变得更普通了点。<br>';
                $lvl = $exp = 0;
                $att = round($att * 0.8);
                $def = round($def * 0.8);
                $log .= '<span class="yellow">你的等级和经验值都归0了!但是,你的攻击力和防御力也变得更加普通了。</span><br>';
            }
            if ($att < 0) {
                $att = 0;
            }
            if ($def < 0) {
                $def = 0;
            }
            if ($hp > $mhp) {
                $hp = $mhp;
            }
            if ($sp > $msp) {
                $sp = $msp;
            }
            $deathflag = false;
            if ($mhp <= 0) {
                $hp = $mhp = 0;
                $deathflag = true;
            }
            if ($msp <= 0) {
                $sp = $msp = 0;
                $deathflag = true;
            }
            if ($deathflag) {
                $log .= '<span class="yellow">看起来你的身体无法承受药剂的能量……<br>果然这一点都不值得……<br></span>';
                $state = 34;
                \player\update_sdata();
                $sdata['sourceless'] = 1;
                $sdata['attackwith'] = $itm;
                \player\kill($sdata, $sdata);
                \player\player_save($sdata);
                \player\load_playerdata($sdata);
            } else {
                addnews($now, 'notworthit', $name);
            }
            \itemmain\itms_reduce($theitem);
            return;
        }
    }
    $chprocess($theitem);
}