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); } }
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); } }
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; }
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; }
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; } }
function player_kill_enemy(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('sys', 'logger', 'player')); if ($active) { $log .= "<span class=\"yellow\">{$pd['name']}</span><span class=\"red\">被你杀死了!</span><br>"; $pd['battlelog'] .= "<span class=\"red\">你被{$pa['name']}杀死了!</span><br>"; } else { $log .= "<span class=\"red\">你被{$pa['name']}杀死了!</span><br>"; $pa['battlelog'] .= "<span class=\"yellow\">{$pd['name']}</span><span class=\"red\">被你杀死了!</span><br>"; } $pd['state'] = $pd['deathmark']; $kilmsg = \player\kill($pa, $pd); if ($active) { if ($kilmsg != '') { $log .= "<span class=\"yellow\">你对{$pd['name']}说:“{$kilmsg}”</span><br>"; } } else { if ($kilmsg != '') { $log .= "<span class=\"yellow\">{$pa['name']}对你说:“{$kilmsg}”</span><br>"; } } }
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(); }
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); }
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; } }
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; } }
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); }