Example #1
0
function bufficons_list()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player'));
    \player\update_sdata();
    if (\skillbase\skill_query(456, $sdata) && check_unlocked456($sdata)) {
        eval(import_module('skill456'));
        $skill456_time = $now - $starttime;
        $z = array('disappear' => 0);
        if ($skill456_time < $skill456_act_time) {
            $z['clickable'] = 1;
            $z['style'] = 1;
            $z['totsec'] = $skill456_act_time;
            $z['nowsec'] = $skill456_time;
            $skill456_rm = $skill456_act_time - $skill456_time;
            $z['hint'] = "技能「突击」";
        } else {
            $z['clickable'] = 0;
            $z['style'] = 3;
            $z['activate_hint'] = "技能「突击」生效时间已经结束";
        }
        \bufficons\bufficon_show('img/skill456.gif', $z);
    }
    $chprocess();
}
Example #2
0
function post_hack_events($itmn = 0)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'logger'));
    $itm =& ${'itm' . $itmn};
    $itmk =& ${'itmk' . $itmn};
    $itme =& ${'itme' . $itmn};
    $itms =& ${'itms' . $itmn};
    $itmsk =& ${'itmsk' . $itmn};
    $hack_dice2 = rand(0, 99);
    if ($hack_dice2 < 5) {
        $log .= '由于你的不当操作,禁区系统防火墙锁定了你的电脑并远程引爆了它。幸好你本人的位置并没有被发现。<br>';
        $itm = $itmk = $itmsk = '';
        $itme = $itms = 0;
    } elseif ($hack_dice2 < 8) {
        $log .= "<span class=\"evergreen\">“小心隔墙有耳哦。”</span>——林无月<br>";
        $log .= '你擅自入侵禁区控制系统,被控制系统远程消灭!<br>';
        $state = 14;
        \player\update_sdata();
        $sdata['sourceless'] = 1;
        $sdata['attackwith'] = '';
        \player\kill($sdata, $sdata);
        \player\player_save($sdata);
        \player\load_playerdata($sdata);
    }
}
Example #3
0
function deal_poison_move_damage($damage)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'logger'));
    $hp -= $damage;
    $log .= "<span class=\"purple\">毒发</span>减少了<span class=\"red\">{$damage}</span>点生命!<br>";
    if ($hp <= 0) {
        $state = 12;
        \player\update_sdata();
        $sdata['sourceless'] = 1;
        \player\kill($sdata, $sdata);
        \player\player_save($sdata);
        \player\load_playerdata($sdata);
    }
}
Example #4
0
function getexp($v, &$pa = NULL)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('player'));
    $flag = 0;
    if ($pa === NULL) {
        \player\update_sdata();
        $flag = 1;
        $pa =& $sdata;
    }
    checklvlup($v, $pa);
    if ($flag) {
        \player\player_save($sdata);
        \player\load_playerdata($sdata);
    }
}
Example #5
0
function upgrade62()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('skill62', 'player', 'logger'));
    \player\update_sdata();
    if (!\skillbase\skill_query(62) || !check_unlocked62($sdata)) {
        $log .= '你没有这个技能!<br>';
        return;
    }
    $clv = (int) \skillbase\skill_getvalue(62, 't');
    if ($clv == 0) {
        $log .= '发动次数达到了上限。<br>';
        return;
    }
    \skillbase\skill_setvalue(62, 't', $clv - 1);
    $mhp += 50;
    $hp += 50;
    addnews(0, 'bskill62', $name);
    $log .= '发动成功。<br>';
}
Example #6
0
function bufficons_list()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player'));
    \player\update_sdata();
    if (\skillbase\skill_query(601, $sdata)) {
        eval(import_module('skill601', 'skillbase'));
        $skill601_start = (int) \skillbase\skill_getvalue(601, 'start');
        $skill601_end = (int) \skillbase\skill_getvalue(601, 'end');
        $z = array('disappear' => 1, 'clickable' => 0, 'hint' => '状态「EMP」<br>行动冷却时间延长');
        if ($now < $skill601_end) {
            $z['style'] = 1;
            $z['totsec'] = $skill601_end - $skill601_start;
            $z['nowsec'] = $now - $skill601_start;
        } else {
            $z['style'] = 4;
        }
        \bufficons\bufficon_show('img/skill601.gif', $z);
    }
    $chprocess();
}
Example #7
0
function trap_hit()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'map', 'itemmain', 'trap', 'logger'));
    trap_deal_damage();
    if ($hp <= 0) {
        $log .= "<span class=\"red\">你被{$trperfix}陷阱杀死了!</span>";
        $state = 27;
        \player\update_sdata();
        if (!$selflag && $playerflag) {
            $edata = \player\fetch_playerdata_by_pid($itmsk0);
        } else {
            $edata =& $sdata;
            //无来源或来源是自己
            if (!$playerflag) {
                $sdata['sourceless'] = 1;
            }
            //无来源
        }
        $edata['attackwith'] = $itm0;
        $killmsg = \player\kill($edata, $sdata);
        if (!$selflag && $playerflag) {
            \player\player_save($edata);
        }
        \player\player_save($sdata);
        \player\load_playerdata($sdata);
        if (isset($sdata['sourceless'])) {
            unset($sdata['sourceless']);
        }
        if ($killmsg != '') {
            $log .= "<span class=\"yellow\">{$trname}对你说:“{$killmsg}”</span><br>";
        }
    }
    $itm0 = $itmk0 = $itmsk0 = '';
    $itme0 = $itms0 = 0;
}
Example #8
0
function deathnote($itmd = 0, $dnname = '', $dndeath = '', $dngender = 'm', $dnicon = 1, $sfn)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'logger', 'player'));
    $dn =& ${'itm' . $itmd};
    $dnk =& ${'itmk' . $itmd};
    $dne =& ${'itme' . $itmd};
    $dns =& ${'itms' . $itmd};
    $dnsk =& ${'itmsk' . $itmd};
    $mode = 'command';
    if ($dn != '■DeathNote■') {
        $log .= '道具使用错误!<br>';
        return;
    } elseif ($dns <= 0) {
        $dn = $dnk = $dnsk = '';
        $dne = $dns = 0;
        $log .= '道具不存在!<br>';
        return;
    }
    if (!$dnname) {
        return;
    }
    if ($dnname == $sfn) {
        $log .= "你不能自杀。<br>";
        return;
    }
    if (!$dndeath) {
        $dndeath = '心脏麻痹';
    }
    //echo "name=$dnname,gender = $dngender,icon=$dnicon,";
    $result = $db->query("SELECT * FROM {$tablepre}players WHERE name='{$dnname}' AND type = 0");
    if (!$db->num_rows($result)) {
        $log .= "你使用了■DeathNote■,但是什么都没有发生。<br>哪里出错了?<br>";
    } else {
        $edata = \player\fetch_playerdata($dnname);
        if ($dngender != $edata['gd'] || $dnicon != $edata['icon']) {
            $log .= "你使用了■DeathNote■,但是什么都没有发生。<br>哪里出错了?<br>";
        } else {
            $log .= "你将<span class=\"yellow b\">{$dnname}</span>的名字写在了■DeathNote■上。<br><span class=\"yellow b\">{$dnname}</span>被你杀死了。";
            $edata['state'] = 28;
            $sdata['attackwith'] = $dndeath;
            \player\update_sdata();
            \player\kill($sdata, $edata);
            \player\player_save($edata);
            \player\player_save($sdata);
            \player\load_playerdata($sdata);
            $killnum++;
        }
    }
    $dns--;
    if ($dns <= 0) {
        $log .= '■DeathNote■突然燃烧起来,转瞬间化成了灰烬。<br>';
        $dn = $dnk = $dnsk = '';
        $dne = $dns = 0;
    }
    return;
}
Example #9
0
    exit;
}
\player\load_playerdata(\player\fetch_playerdata($cuser));
\player\init_playerdata();
\player\init_profile();
$log = '';
//读取聊天信息
$chatdata = getchat(0, $teamID);
$hp_backup_temp = $hp;
$player_dead_flag_backup_temp = $player_dead_flag;
if ($hp <= 0 || $player_dead_flag) {
    player\pre_act();
    player\post_act();
}
if ($hp != $hp_backup_temp || $player_dead_flag != $player_dead_flag_backup_temp) {
    \player\update_sdata();
    \player\player_save($sdata);
}
//var_dump($itm3);
if ($hp <= 0) {
    $dtime = date("Y年m月d日H时i分s秒", $endtime);
    $kname = '';
    if ($bid) {
        $result = $db->query("SELECT name FROM {$tablepre}players WHERE pid='{$bid}'");
        if ($db->num_rows($result)) {
            $kname = $db->result($result, 0);
        }
    }
    $mode = 'death';
} elseif ($state == 1 || $state == 2 || $state == 3) {
    $mode = 'rest';
Example #10
0
function death_kagari($type)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'map', 'logger'));
    if ($type == 1) {
        $log = $log . "从少女的身上延伸出了红色的丝带,<BR>如巨蟒般将你紧紧地捆住。<BR>";
        if ($gamestate == 50) {
            $log = $log . "不过,在你即将被绞碎时,上空射来的奇异光束烧毁了丝带,救了你一命。<BR>少女见状扭头离去了。<br>";
            $inf = str_replace('b', '', $inf);
            $inf .= 'b';
            $hp = round($hp / 100);
            if ($hp <= 0) {
                $hp = 1;
            }
        } else {
            $state = 36;
            \player\update_sdata();
            $sdata['sourceless'] = 1;
            $sdata['attackwith'] = '';
            \player\kill($sdata, $sdata);
            \player\player_save($sdata);
            \player\load_playerdata($sdata);
            return;
        }
    } elseif ($type == 2) {
        $log = $log . "从少女的身上延伸出了红色的丝带,<BR>锋利的丝带朝着你的头部飞来!<BR>";
        if ($gamestate == 50) {
            $log = $log . "不过,在你即将身首异处时,上空射来的奇异光束烧毁了丝带,救了你一命。<BR>少女见状扭头离去了。<br>";
            $hp = round($hp / 100);
            $inf = str_replace('h', '', $inf);
            $inf .= 'h';
            if ($hp <= 0) {
                $hp = 1;
            }
        } else {
            $state = 37;
            \player\update_sdata();
            $sdata['sourceless'] = 1;
            $sdata['attackwith'] = '';
            \player\kill($sdata, $sdata);
            \player\player_save($sdata);
            \player\load_playerdata($sdata);
            return;
        }
    } elseif ($type == 3) {
        $log = $log . "从少女的身上延伸出了红色的丝带,<BR>灼热的丝带朝着你高速飞来!<BR>";
        if ($gamestate == 50) {
            $log = $log . "不过,在喷射着岩浆的丝带即将把你融化时,上空射来的奇异光束烧毁了丝带,救了你一命。<BR>少女见状扭头离去了。<br>";
            $hp = round($hp / 100);
            $inf = str_replace('u', '', $inf);
            $inf .= 'u';
            if ($hp <= 0) {
                $hp = 1;
            }
        } else {
            $state = 38;
            \player\update_sdata();
            $sdata['sourceless'] = 1;
            $sdata['attackwith'] = '';
            \player\kill($sdata, $sdata);
            \player\player_save($sdata);
            \player\load_playerdata($sdata);
            return;
        }
    } else {
        return;
    }
}
Example #11
0
function bufficons_list()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player'));
    \player\update_sdata();
    if (\skillbase\skill_query(76, $sdata) && check_unlocked76($sdata)) {
        eval(import_module('skill76'));
        $skill76_lst = (int) \skillbase\skill_getvalue(76, 'lastuse');
        $skill76_time = $now - $skill76_lst;
        $z = array('disappear' => 0, 'clickable' => 1, 'hint' => '技能「充能」', 'activate_hint' => '点击发动技能「充能」', 'onclick' => "\$('mode').value='special';\$('command').value='skill76_special';\$('subcmd').value='activate';postCmd('gamecmd','command.php');this.disabled=true;");
        if ($skill76_time < $skill76_cd) {
            $z['style'] = 2;
            $z['totsec'] = $skill76_cd;
            $z['nowsec'] = $skill76_time;
        } else {
            $z['style'] = 3;
        }
        \bufficons\bufficon_show('img/skill76.gif', $z);
    }
    $chprocess();
}
Example #12
0
function bufficons_list()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player'));
    \player\update_sdata();
    if (\skillbase\skill_query(251, $sdata) && check_unlocked251($sdata)) {
        eval(import_module('skill251'));
        $s = (int) \skillbase\skill_getvalue(251, 'start', $pd);
        $skill251_time = $now - $s;
        $z = array('disappear' => 0);
        if ($skill251_time < $skill251_act_time) {
            $z['clickable'] = 1;
            $z['style'] = 1;
            $z['totsec'] = $skill251_act_time;
            $z['nowsec'] = $skill251_time;
            $skill251_rm = $skill251_act_time - $skill251_time;
            $z['hint'] = "技能「天佑」生效中<br>免疫一切战斗或陷阱伤害";
        } else {
            $z['clickable'] = 0;
            $z['style'] = 3;
            $z['activate_hint'] = "技能「天佑」";
        }
        \bufficons\bufficon_show('img/skill251.gif', $z);
    }
    $chprocess();
}
Example #13
0
function act()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'map', 'player', 'logger', 'metman', 'input'));
    if ($mode == 'combat') {
        if ($command == 'back') {
            $log .= "你逃跑了。";
            $action = '';
            $mode = 'command';
            return;
        }
        $enemyid = str_replace('enemy', '', $action);
        if (!$enemyid || strpos($action, 'enemy') === false) {
            $log .= "<span class=\"yellow\">你没有遇到敌人,或已经离开战场!</span><br>";
            $action = '';
            $mode = 'command';
            return;
        }
        $result = $db->query("SELECT * FROM {$tablepre}players WHERE pid='{$enemyid}'");
        if (!$db->num_rows($result)) {
            $log .= "对方不存在!<br>";
            $action = '';
            $mode = 'command';
            return;
        }
        $edata = \player\fetch_playerdata_by_pid($enemyid);
        extract($edata, EXTR_PREFIX_ALL, 'w');
        if ($edata['pls'] != $pls) {
            $log .= "<span class=\"yellow\">" . $edata['name'] . "</span>已经离开了<span class=\"yellow\">{$plsinfo[$pls]}</span>。<br>";
            $action = '';
            $mode = 'command';
            return;
        } elseif ($edata['hp'] <= 0) {
            $log .= "<span class=\"red\">" . $edata['name'] . "</span>已经死亡,不能被攻击。<br>";
            if (\corpse\check_corpse_discover($edata)) {
                $action = 'corpse' . $edata['pid'];
                \corpse\findcorpse($edata);
            }
            return;
        }
        \player\update_sdata();
        $ldata = $sdata;
        battle_wrapper($ldata, $edata, 1);
        return;
    }
    $chprocess();
}
Example #14
0
function init_profile()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('player'));
    \player\update_sdata();
    $tpldata += parse_item_words($sdata);
    $chprocess();
}
Example #15
0
function search_area()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'map', 'player', 'logger'));
    if ($weather == 13) {
        $damage = round($mhp / 12) + rand(0, 20);
        $hp -= $damage;
        $log .= "被<span class=\"blue\">冰雹</span>击中,生命减少<span class=\"red\">{$damage}</span>点!<br>";
        if ($hp <= 0) {
            $state = 17;
            \player\update_sdata();
            $sdata['selflag'] = 1;
            \player\kill($sdata, $sdata);
            return;
        }
    } else {
        if ($weather == 14) {
            $dice = rand(0, 9);
            if ($dice == 0 && strpos($inf, 'e') === false) {
                $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
                \wound\get_inf('e');
            } elseif ($dice == 1 && strpos($inf, 'w') === false) {
                $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"grey\">混乱</span>了!<br>";
                \wound\get_inf('w');
            } else {
                $log .= "空气中充斥着狂暴的电磁波……<br>";
            }
        } else {
            if ($weather == 15) {
                $dice = rand(0, 9);
                if ($dice == 0) {
                    $mhpdown = rand(4, 8);
                    if ($mhp > $mhpdown) {
                        $log .= "空气中弥漫着的<span class=\"green\">放射性尘埃</span>导致你的生命上限减少了<span class=\"red\">{$mhpdown}</span>点!<br>";
                        $mhp -= $mhpdown;
                        if ($hp > $mhp) {
                            $hp = $mhp;
                        }
                    }
                } else {
                    $log .= "空气中弥漫着放射性尘埃……<br>";
                }
            } else {
                if ($weather == 16) {
                    $dice = rand(0, 9);
                    if ($dice == 0) {
                        $defdown = rand(3, 6);
                        if ($def > $defdown) {
                            $log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你的防御力减少了<span class=\"red\">{$defdown}</span>点!<br>";
                            $def -= $defdown;
                        }
                    } elseif ($dice == 1 && strpos($inf, 'u') === false) {
                        $log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你<span class=\"red\">烧伤</span>了!<br>";
                        \wound\get_inf('u');
                    } else {
                        $log .= "高强度的紫外线灼烧着大地……<br>";
                    }
                }
            }
        }
    }
    $chprocess();
}
Example #16
0
function bufficons_list()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player'));
    \player\update_sdata();
    if (\skillbase\skill_query(602, $sdata)) {
        eval(import_module('skill602', 'skillbase'));
        $skill602_start = (int) \skillbase\skill_getvalue(602, 'start');
        $skill602_end = (int) \skillbase\skill_getvalue(602, 'end');
        $z = array('disappear' => 1, 'clickable' => 0, 'hint' => '你处于晕眩状态!<br>无法进行任何行动或战斗,受到的伤害增加');
        $ct = floor(getmicrotime() * 1000);
        if ($ct < $skill602_end) {
            $z['style'] = 1;
            $z['totsec'] = round(($skill602_end - $skill602_start) / 1000);
            $z['nowsec'] = round(($ct - $skill602_start) / 1000);
            \bufficons\bufficon_show('img/skill602.gif', $z);
        } else {
            \skillbase\skill_lost(602);
        }
    }
    $chprocess();
}
Example #17
0
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);
}
Example #18
0
function deal_hailstorm_weather_damage()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'logger'));
    $damage = calculate_hailstorm_weather_damage();
    $hp -= $damage;
    $log .= "被<span class=\"blue\">冰雹</span>击中,生命减少了<span class=\"red\">{$damage}</span>点!<br>";
    if ($hp <= 0) {
        $state = 17;
        \player\update_sdata();
        $sdata['selflag'] = 1;
        \player\kill($sdata, $sdata);
        return;
    }
}
Example #19
0
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;
    }
}
Example #20
0
function bufficons_list()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player'));
    \player\update_sdata();
    if (\skillbase\skill_query(440, $sdata) && check_unlocked440($sdata)) {
        eval(import_module('skill440'));
        $skill440_lst = (int) \skillbase\skill_getvalue(440, 'lastuse');
        $skill440_time = $now - $skill440_lst;
        $z = array('disappear' => 0, 'clickable' => 1, 'hint' => '战斗技「父爱」', 'activate_hint' => '战斗技「父爱」已就绪<br>在战斗界面可以发动', 'onclick' => "");
        if ($skill440_time < $skill440_cd) {
            $z['style'] = 2;
            $z['totsec'] = $skill440_cd;
            $z['nowsec'] = $skill440_time;
        } else {
            $z['style'] = 3;
        }
        \bufficons\bufficon_show('img/skill440.gif', $z);
    }
    $chprocess();
}
Example #21
0
function skill_lost($skillid, &$pa = NULL)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('player', 'skillbase'));
    $skillid = (int) $skillid;
    if ($pa == NULL || $pa['pid'] == $pid) {
        if ($pa == NULL) {
            \player\update_sdata();
            $pa = $sdata;
        }
        $acquired_list[$skillid] = 0;
    } else {
        $pa['acquired_list'][$skillid] = 0;
    }
    $func = 'skill' . $skillid . '\\lost' . $skillid;
    if (defined('MOD_SKILL' . $skillid)) {
        $func($pa);
    }
}
Example #22
0
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);
}
Example #23
0
function bufficons_list()
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player'));
    \player\update_sdata();
    if (\skillbase\skill_query(453, $sdata) && check_unlocked453($sdata)) {
        sk453_skill_status_update();
        eval(import_module('skill453'));
        $skill453_lst = (int) \skillbase\skill_getvalue(453, 'lasthit');
        $skill453_target = \skillbase\skill_getvalue(453, 'target');
        $skill453_count = (int) \skillbase\skill_getvalue(453, 'cnt');
        $rat = $skill453_count * 13;
        $nlostime = $skill453_buff_lose_time - ($now - $skill453_lst);
        $z = array('style' => 3, 'disappear' => 0, 'clickable' => 1);
        if ($skill453_count > 0) {
            $z['activate_hint'] = "你对{$skill453_target}造成的最终伤害将增加{$rat}%<br>{$nlostime}秒内没有攻击将会自动失去一层效果";
            $z['corner-text'] = $skill453_count;
        } else {
            $z['activate_hint'] = "你连续主动攻击同一目标时<br>造成的伤害每次增加20%";
        }
        \bufficons\bufficon_show('img/skill453.gif', $z);
    }
    $chprocess();
}