function apply_total_damage_modifier_down(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } if (!\skillbase\skill_query(439, $pd) || !check_unlocked439($pd)) { return $chprocess($pa, $pd, $active); } if ($pa['dmg_dealt'] <= 0) { return $chprocess($pa, $pd, $active); } eval(import_module('logger')); $var_439 = \skillbase\skill_getvalue(439, 'type', $pd); if ($var_439 != $pa['wep_kind']) { \skillbase\skill_setvalue(439, 'type', $pa['wep_kind'], $pd); } else { \skillbase\skill_setvalue(439, 'type', '0', $pd); if ($active) { $log .= "<span class=\"yellow\">黄翔把你的攻击方式ban了,造成的伤害降低75%!</span><br>"; } else { $log .= "<span class=\"yellow\">黄翔把敌人的攻击方式ban了,造成的伤害降低75%!</span><br>"; } $pa['dmg_dealt'] = ceil($pa['dmg_dealt'] / 4); } $chprocess($pa, $pd, $active); }
function activate232() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('skill232', 'player', 'logger', 'sys')); \player\update_sdata(); if (!\skillbase\skill_query(232) || !check_unlocked232($sdata)) { $log .= '你没有这个技能!<br>'; return; } $st = check_skill232_state($sdata); if ($st == 0) { $log .= '你不能使用这个技能!<br>'; return; } if ($st == 2) { $log .= '技能冷却中!<br>'; return; } \skillbase\skill_setvalue(232, 'lastuse', $now); $clv = \skillbase\skill_getvalue(232, 'lvl'); $sc = $shieldgain[$clv]; if ($hp < $mhp + $sc) { $hp = $mhp + $sc; } addnews(0, 'bskill232', $name); $log .= '<span class="lime">技能「力场」发动成功。</span><br>'; }
function activate261() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('skill261', 'player', 'logger', 'sys', 'itemmain')); \player\update_sdata(); if (!\skillbase\skill_query(261) || !check_unlocked261($sdata)) { $log .= '你没有这个技能!<br>'; return; } $st = check_skill261_state($sdata); if ($st == 0) { $log .= '你不能使用这个技能!<br>'; return; } if ($st == 2) { $log .= '你已经使用过这个技能了!<br>'; return; } \skillbase\skill_setvalue(261, 'lastuse', $now); $wp = $wp + $wp; addnews(0, 'bskill261', $name); $log .= '<span class="red">技能「决战」发动成功。</span><br>'; }
function strike_prepare(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } if ($pa['bskill'] != 440) { return $chprocess($pa, $pd, $active); } if (!\skillbase\skill_query(440, $pa) || !check_unlocked440($pa)) { eval(import_module('logger')); $log .= '你尚未解锁这个技能!'; $pa['bskill'] = 0; } else { eval(import_module('sys', 'skill440')); $l = \skillbase\skill_getvalue(440, 'lastuse', $pa); if ($pd['type'] != 0 && $now - $l >= $skill440_cd) { eval(import_module('logger')); if ($active) { $log .= "<span class=\"lime\">你对{$pd['name']}发动了技能「父爱」!</span><br>"; } else { $log .= "<span class=\"lime\">{$pa['name']}对你发动了技能「父爱」!</span><br>"; } \skillbase\skill_setvalue(440, 'lastuse', $now, $pa); $pd['skill440_flag'] = 1; addnews(0, 'bskill440', $pa['name'], $pd['name']); } else { if ($active) { eval(import_module('logger')); $log .= '因对方非玩家或其他原因而未发动技能。<br>'; } $pa['bskill'] = 0; } } $chprocess($pa, $pd, $active); }
function unlock42(&$pa) { if (eval(__MAGIC__)) { return $___RET_VALUE; } \skillbase\skill_setvalue(42, 'u', '1', $pa); }
function acquire400(&$pa) { if (eval(__MAGIC__)) { return $___RET_VALUE; } \skillbase\skill_setvalue(400, 'lvl', '0', $pa); }
function strike_prepare(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } if ($pa['bskill'] != 75) { return $chprocess($pa, $pd, $active); } if (!\skillbase\skill_query(75, $pa) || !check_unlocked75($pa)) { eval(import_module('logger')); $log .= '你尚未解锁这个技能!'; $pa['bskill'] = 0; } else { eval(import_module('sys', 'skill75')); $l = \skillbase\skill_getvalue(75, 'lastuse', $pa); if ($now - $l >= $skill75_cd && $pa['wep_kind'] == 'K') { eval(import_module('logger')); if ($active) { $log .= "<span class=\"lime\">你对{$pd['name']}发动了技能「剑心」!</span><br>"; } else { $log .= "<span class=\"lime\">{$pa['name']}对你发动了技能「剑心」!</span><br>"; } \skillbase\skill_setvalue(75, 'lastuse', $now, $pa); addnews(0, 'bskill75', $pa['name'], $pd['name']); } else { if ($active) { eval(import_module('logger')); $log .= '冷却时间未到或其他原因不能发动。<br>'; } $pa['bskill'] = 0; } } $chprocess($pa, $pd, $active); }
function activate76() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('skill76', 'player', 'logger', 'sys')); \player\update_sdata(); if (!\skillbase\skill_query(76) || !check_unlocked76($sdata)) { $log .= '你没有这个技能!<br>'; return; } $st = check_skill76_state($sdata); if ($st == 0) { $log .= '你不能使用这个技能!<br>'; return; } if ($st == 1) { $log .= '你已经发动过这个技能了!<br>'; return; } if ($st == 2) { $log .= '技能冷却中!<br>'; return; } \skillbase\skill_setvalue(76, 'lastuse', $now); $rage = 100; addnews(0, 'bskill76', $name); $log .= '<span class="lime">技能「充能」发动成功。</span><br>'; }
function set_stun_period($t, &$pa) { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('sys')); if ($gamestate >= 50) { $t = round($t / 3); } //死斗眩晕时间变为1/3 $flag = 1; $ct = floor(getmicrotime() * 1000); $e = 0; if (\skillbase\skill_query(602, $pa)) { $e = (int) \skillbase\skill_getvalue(602, 'end', $pa); if ($ct >= $e) { $flag = 0; } } else { $flag = 0; } if ($flag == 0) { \skillbase\skill_acquire(602, $pa); \skillbase\skill_setvalue(602, 'start', $ct, $pa); } if ($ct + $t > $e) { $e = $ct + $t; } \skillbase\skill_setvalue(602, 'end', $e, $pa); $pa['new_stun_flag'] = 1; }
function activate426() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('skill426', 'player', 'logger', 'sys')); \player\update_sdata(); if (!\skillbase\skill_query(426) || !check_unlocked426($sdata)) { $log .= '你没有这个技能!<br>'; return; } $st = check_skill426_state($sdata); if ($st == 0) { $log .= '你不能使用这个技能!<br>'; return; } if ($st == 2) { $log .= '技能冷却中!<br>'; return; } if ($hp >= $mhp && $sp >= $msp) { $log .= '你的生命和体力都不需要恢复。<br>'; return; } \skillbase\skill_setvalue(426, 'lastuse', $now); $hp = max($hp, $mhp); $sp = max($sp, $msp); $log .= '<span class="lime">技能「整备」发动成功。</span><br>'; $log .= '<span class="lime">生命和体力已恢复到最大。</span><br>'; }
function upgrade227() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('player', 'logger', 'input')); $skillpara1 = (int) $skillpara1; if (!\skillbase\skill_query(227) || !check_unlocked227($sdata)) { $log .= '你没有这个技能。<br>'; return; } if (!\sklearn_util\sklearn_basecheck($skillpara1) || !sklearn_checker227('is_learnable', $skillpara1)) { $log .= '你不可以学习这个技能!<br>'; return; } if (!sklearn_checker227('now_learnable', $skillpara1)) { $log .= '现在尚没有足够资源学习这个技能!<br>'; return; } if (\skillbase\skill_query($skillpara1)) { $log .= '你已经拥有这个技能了!<br>'; return; } if ((int) \skillbase\skill_getvalue(227, 'l') != 0) { $log .= '你已经学习过一个技能了!<br>'; return; } \skillbase\skill_setvalue(227, 'l', $skillpara1); \skillbase\skill_acquire($skillpara1); $log .= '学习成功。<br>'; }
function kill(&$pa, &$pd) { if (eval(__MAGIC__)) { return $___RET_VALUE; } $chprocess($pa, $pd); eval(import_module('sys', 'logger')); if (in_array($pd['state'], array(20, 21, 22, 23, 24, 25, 27, 29))) { if (\skillbase\skill_query(58, $pd) && (int) \skillbase\skill_getvalue(58, 'r', $pd) == 0) { \skillbase\skill_setvalue(58, 'r', '1', $pd); if ($pd['state'] == 27 && !$pd['sourceless']) { $log .= "<span class=\"lime\">但是,由于你及时按下了BOMB键,你原地满血复活了!</span><br>"; $w_log = "<span class=\"lime\">但是,由于{$pd['name']}及时按下了BOMB键,其原地满血复活了!</span><br>"; \logger\logsave($pa['pid'], $now, $w_log, 'b'); } else { //击杀复活提示将接管player_kill_enemy进行 } $pd['state'] = 0; $pd['hp'] = $pd['mhp']; $pd['skill58_flag'] = 1; if ($pd['type'] == 0) { $alivenum++; } save_gameinfo(); addnews($now, 'revival', $pd['name']); //满血复活时加成效果(这个其实是技能“新生”的内容,但直接做在一起好了) $pd['mhp'] += $pd['lvl'] * 2; $pd['hp'] += $pd['lvl'] * 2; $pd['def'] += $pd['lvl'] * 5; } } }
function activate430() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('skill430', 'player', 'logger', 'sys', 'itemmain')); \player\update_sdata(); if (!\skillbase\skill_query(430) || !check_unlocked430($sdata)) { $log .= '你没有这个技能!<br>'; return; } $st = check_skill430_state($sdata); if ($st == 0) { $log .= '你不能使用这个技能!<br>'; return; } if ($st == 2) { $log .= '技能冷却中!<br>'; return; } \skillbase\skill_setvalue(430, 'lastuse', $now); $file = GAME_ROOT . "./include/modules/base/itemmain/config/mapitem.config.php"; //真是丑陋! $itemlist = openfile($file); $in = sizeof($itemlist); $i = rand(1, $in - 1); list($iarea, $imap, $inum, $iname, $ikind, $ieff, $ista, $iskind) = explode(',', $itemlist[$i]); $itm0 = $iname; $itme0 = $ieff; $itms0 = $ista; $itmsk0 = $iskind; $itmk0 = $ikind; addnews(0, 'bskill430', $name, $iname); \itemmain\itemget(); }
function get_alone_card_skill(&$pa = NULL) { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('player', 'clubbase', 'cardbase')); $cid = $pa == NULL || $pa['pid'] == $ppid ? $card : $pa['card']; if (is_array($cards[$card]['skills'])) { $card_array = $cards[$cid]; } else { return; } foreach ($card_array['skills'] as $sk => $sklvl) { $flag = 0; if ($card_array['club']) { foreach (array_keys($clublist) as $clubnum) { if (in_array($sk, $clublist[$clubnum]['skills'])) { $flag = 1; } } } if (defined('MOD_SKILL' . $sk) && !$flag) { if ($pa == NULL || $pa['pid'] == $ppid) { \skillbase\skill_acquire($sk); \skillbase\skill_setvalue($sk, 'lvl', $sklvl); } else { \skillbase\skill_acquire($sk, $pa); \skillbase\skill_setvalue($sk, 'lvl', $sklvl, $pa); } } } }
function upgrade52() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('skill52', 'player', 'logger')); if (!\skillbase\skill_query(52) || !check_unlocked52($sdata)) { $log .= '你没有这个技能。<br>'; return; } $clv = \skillbase\skill_getvalue(52, 'lvl'); $clv = (int) $clv; if ($upgradecost[$clv] == -1) { $log .= '你已经升到满级了。<br>'; return; } if ($skillpoint < $upgradecost[$clv]) { $log .= '技能点不足。<br>'; return; } $skillpoint -= $upgradecost[$clv]; $clv++; \skillbase\skill_setvalue(52, 'lvl', (string) $clv); $log .= '升级成功。<br>'; }
function relock41(&$pa) { if (eval(__MAGIC__)) { return $___RET_VALUE; } \skillbase\skill_setvalue(41, 'u', '0', $pa); }
function upgrade202() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('skill202', 'player', 'logger')); if (!\skillbase\skill_query(202)) { $log .= '你没有这个技能!<br>'; return; } $clv = \skillbase\skill_getvalue(202, 'lvl'); $ucost = $upgradecost[$clv]; if ($clv == -1) { $log .= '你已经升级完成了,不能继续升级!<br>'; return; } if ($skillpoint < $ucost) { $log .= '技能点不足。<br>'; return; } $skillpoint -= $ucost; \skillbase\skill_setvalue(202, 'lvl', $clv + 1); \skillbase\skill_setvalue(202, 'spent', $upgradecount[$clv + 1], $pa); $log .= '升级成功。<br>'; }
function strike_prepare(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } if ($pa['bskill'] != 46) { return $chprocess($pa, $pd, $active); } if (!\skillbase\skill_query(46, $pa) || !check_unlocked46($pa)) { eval(import_module('logger')); $log .= '你尚未解锁这个技能!'; $pa['bskill'] = 0; } else { $remtime = (int) get_remaintime46($pa); if ($remtime >= 1) { eval(import_module('logger')); if ($active) { $log .= "<span class=\"lime\">你对{$pd['name']}发动了技能「暴打」!</span><br>"; } else { $log .= "<span class=\"lime\">{$pa['name']}对你发动了技能「暴打」!</span><br>"; } $remtime--; \skillbase\skill_setvalue(46, 'rmtime', $remtime, $pa); $pd['skill46_flag'] = 1; addnews(0, 'bskill46', $pa['name'], $pd['name']); } else { if ($active) { eval(import_module('logger')); $log .= '怒气不足或其他原因不能发动。<br>'; } $pa['bskill'] = 0; } } $chprocess($pa, $pd, $active); }
function findenemy(&$edata) { if (eval(__MAGIC__)) { return $___RET_VALUE; } $ct = floor(getmicrotime() * 1000); \skillbase\skill_setvalue(262, 'ct', $ct); return $chprocess($edata); }
function lost2900(&$pa = NULL) { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('player')); $del_buff_effect = \skillbase\skill_getvalue(2900, 'del_buff_effect'); $msp -= $del_buff_effect; $sp -= $del_buff_effect; \skillbase\skill_setvalue(2900, 'del_buff_effect', 0); }
function player_kill_enemy(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } if (\skillbase\skill_query(311, $pa) && $pd['type'] == 0) { $x = (int) \skillbase\skill_getvalue(311, 'cnt', $pa); $x += 1; \skillbase\skill_setvalue(311, 'cnt', $x, $pa); } $chprocess($pa, $pd, $active); }
function edible_recover($itm, $hpup, $spup) { if (eval(__MAGIC__)) { return $___RET_VALUE; } if (\skillbase\skill_query(300)) { $x = (int) \skillbase\skill_getvalue(300, 'cnt'); $x += $hpup + $spup; \skillbase\skill_setvalue(300, 'cnt', $x); } $chprocess($itm, $hpup, $spup); }
function itemmix_success() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('sys', 'player', 'logger', 'map')); if (strpos($itmsk0, 'x') !== false) { $x = (int) \skillbase\skill_getvalue(317, 'cnt'); $x++; \skillbase\skill_setvalue(317, 'cnt', $x); } $chprocess(); }
function itemmix_success() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('sys', 'player', 'logger', 'map')); if ($itm0 == "【KEY系催泪弹】") { $x = (int) \skillbase\skill_getvalue(302, 'cnt'); $x++; \skillbase\skill_setvalue(302, 'cnt', $x); } $chprocess(); }
function itemmix_success() { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('sys', 'player', 'logger', 'map')); if ($itm0 == "火水木金土符『贤者之石』") { if ((int) \skillbase\skill_getvalue(309, 'cnt') == 0) { \skillbase\skill_setvalue(309, 'cnt', $now - $starttime); } } $chprocess(); }
function player_kill_enemy(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('map')); if (\skillbase\skill_query(325, $pa) && $pd['type'] > 0 && $pa['attackwith'] == '精灵球' && $areanum == 0 && (!isset($pa['bskill']) || $pa['bskill'] == 0)) { $x = (int) \skillbase\skill_getvalue(325, 'cnt', $pa); $x += 1; \skillbase\skill_setvalue(325, 'cnt', $x, $pa); } $chprocess($pa, $pd, $active); }
function player_kill_enemy(&$pa, &$pd, $active) { if (eval(__MAGIC__)) { return $___RET_VALUE; } $chprocess($pa, $pd, $active); eval(import_module('cardbase', 'sys', 'logger', 'map')); if (\skillbase\skill_query(3000, $pa) && ($pd['type'] == 1 && $pd['name'] == '红暮')) { $x = (int) \skillbase\skill_getvalue(3000, 'cnt'); $x += 1; \skillbase\skill_setvalue(3000, 'cnt', $x, $pa); } }
function kill(&$pa, &$pd) { if (eval(__MAGIC__)) { return $___RET_VALUE; } $chprocess($pa, $pd); eval(import_module('sys', 'logger')); if (in_array($pd['state'], array(20, 21, 22, 23, 24, 25, 27, 29))) { if (\skillbase\skill_query(427, $pd)) { if ($pa['type'] == 88 || $pa['type'] == 1) { $log .= "<span class=\"linen\">都告诉你了,对某些NPC无效……快去死吧。</span><br>"; return; } \skillbase\skill_setvalue(427, 'r', '1', $pd); if ($pd['state'] == 27 && !$pd['sourceless']) { $log .= "<span class=\"lime\">但是,由于你及时按下了BOMB键,你原地满血复活了!</span><br>"; $w_log = "<span class=\"lime\">但是,由于{$pd['name']}及时按下了BOMB键,其原地满血复活了!</span><br>"; \logger\logsave($pa['pid'], $now, $w_log, 'b'); } else { //击杀复活提示将接管player_kill_enemy进行 } $pd['state'] = 0; $pd['hp'] = $pd['mhp']; $pd['skill427_flag'] = 1; $deathnum--; if ($pd['type'] == 0) { $alivenum++; } save_gameinfo(); if (\skillbase\skill_query(424, $pd)) { $clv = \skillbase\skill_getvalue(424, 'lvl', $pd); $clv = $clv - 2; if ($clv < 0) { $clv = 0; } \skillbase\skill_setvalue(424, 'lvl', $clv, $pd); } //陷阱杀人得技能点一起放在这里 if ($pd['state'] == 27) { $pa['skillpoint'] += 2; if (\skillbase\skill_query(424, $pa)) { $clv = \skillbase\skill_getvalue(424, 'lvl', $pa); $clv++; \skillbase\skill_setvalue(424, 'lvl', $clv, $pa); } } addnews($now, 'revival', $pd['name']); } } }
function itemuse(&$theitem) { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('sys', 'player')); if ($theitem['itm'] == "『G.A.M.E.O.V.E.R』") { if (\skillbase\skill_query(323)) { \skillbase\skill_setvalue(323, 'cnt', $now - $starttime); \player\player_save($sdata); } } $chprocess($theitem); }
function itemuse(&$theitem) { if (eval(__MAGIC__)) { return $___RET_VALUE; } eval(import_module('sys', 'player')); if ($theitem['itm'] == "杏仁豆腐的ID卡" && $theitem['itmk'] == "Z" && $gamestate >= 30 && $gamestate < 50) { if (\skillbase\skill_query(322)) { \skillbase\skill_setvalue(322, 'cnt', $now - $starttime); \player\player_save($sdata); } } $chprocess($theitem); }