Commit 80ed40da authored by hisuinohoshi's avatar hisuinohoshi

rev combat phase 3.3

- 怒气技能系统变化:
移除了旧版技能系统;
移植回「锡安组织」社团的怒气技能;
「锡安组织」部分技能重做,详见游戏内技能表(游戏帮助在路上了!);

其他变化:
- 混沌武器现在变得更加混沌了;
- 合成出的游戏解除钥匙现在带有灵魂绑定属性;

修正:
- PVE结局时若队伍里只有一个活跃玩家,则不会算作团队胜利;
- 敌人从眩晕中恢复后没有正常保存数据的问题;
parent f0afdf78
...@@ -95,7 +95,7 @@ if($hp > 0){ ...@@ -95,7 +95,7 @@ if($hp > 0){
} }
//如果身上存在时效性技能,检查技能是否超时 //如果身上存在时效性技能,检查技能是否超时
if($hp > 0 && !empty($clbpara['lasttimes'])) check_skilllasttimes(); if($hp > 0 && !empty($clbpara['lasttimes'])) check_skilllasttimes($pdata);
//应用眩晕状态效果 //应用眩晕状态效果
if($hp > 0 && !empty($clbpara['skill']) && in_array('inf_dizzy',$clbpara['skill'])) if($hp > 0 && !empty($clbpara['skill']) && in_array('inf_dizzy',$clbpara['skill']))
{ {
...@@ -589,10 +589,11 @@ if($hp > 0){ ...@@ -589,10 +589,11 @@ if($hp > 0){
$mode = 'command'; $mode = 'command';
} }
} elseif ($mode == 'sp_skpts') { } elseif ($mode == 'sp_skpts') {
include_once GAME_ROOT.'./include/game/clubskills.func.php'; //include_once GAME_ROOT.'./include/game/clubskills.func.php';
upgradeclubskills($command); //upgradeclubskills($command);
calcskills($skarr); //calcskills($skarr);
$p12[1]=1; $p12[2]=2; //$p12[1]=1; $p12[2]=2;
$log .= "不存在该指令!<br>";
$mode = 'command'; $mode = 'command';
} elseif ($mode == 'revskpts') { } elseif ($mode == 'revskpts') {
$sk = substr($command,9); $sk = substr($command,9);
......
...@@ -136,10 +136,11 @@ if($hp > 0 && $coldtimeon && $showcoldtimer && $rmcdtime){$log .= "行动冷却 ...@@ -136,10 +136,11 @@ if($hp > 0 && $coldtimeon && $showcoldtimer && $rmcdtime){$log .= "行动冷却
//如果身上存在时效性技能,检查技能是否超时 //如果身上存在时效性技能,检查技能是否超时
if($hp > 0 && !empty($clbpara['lasttimes'])) if($hp > 0 && !empty($clbpara['lasttimes']))
{ {
$flag = check_skilllasttimes(); $flag = check_skilllasttimes($pdata);
if($flag) if($flag)
{ {
$pdata = current_player_save(); player_save($pdata);
$pdata = fetch_playerdata_by_name($cuser);
$pdata['clbpara'] = get_clbpara($pdata['clbpara']); $pdata['clbpara'] = get_clbpara($pdata['clbpara']);
extract($pdata,EXTR_REFS); extract($pdata,EXTR_REFS);
init_playerdata(); init_playerdata();
......
...@@ -12,7 +12,7 @@ $club_skillslist = Array ...@@ -12,7 +12,7 @@ $club_skillslist = Array
4 => Array('s_hp','s_ad','f_heal','c4_stable','c4_break','c4_aiming','c4_loot','c4_roar','c4_sniper','c4_headshot'), #'狙击鹰眼', 4 => Array('s_hp','s_ad','f_heal','c4_stable','c4_break','c4_aiming','c4_loot','c4_roar','c4_sniper','c4_headshot'), #'狙击鹰眼',
5 => Array('s_hp','s_ad','f_heal','c5_sneak','c5_caution','c5_review','c5_focus','c5_higheg','c5_double'), #'拆弹专家', 5 => Array('s_hp','s_ad','f_heal','c5_sneak','c5_caution','c5_review','c5_focus','c5_higheg','c5_double'), #'拆弹专家',
6 => Array('s_hp','s_ad','f_heal','c6_godluck','c6_godsend','c6_godbless','c6_godpow','c6_godeyes','c6_justice'), #'宛如疾风', 6 => Array('s_hp','s_ad','f_heal','c6_godluck','c6_godsend','c6_godbless','c6_godpow','c6_godeyes','c6_justice'), #'宛如疾风',
7 => Array('s_hp','s_ad','f_heal'), #'锡安成员', 7 => Array('s_hp','s_ad','f_heal','c7_radar','c7_shield','c7_electric','c7_field','c7_emp','c7_overload'), #'锡安成员',
8 => Array('s_hp','s_ad','f_heal'), #'黑衣组织', 8 => Array('s_hp','s_ad','f_heal'), #'黑衣组织',
9 => Array('s_hp','s_ad','f_heal','c9_spirit','c9_lb','c9_iceheart','c9_charge','c9_heartfire'), #'超能力者', 9 => Array('s_hp','s_ad','f_heal','c9_spirit','c9_lb','c9_iceheart','c9_charge','c9_heartfire'), #'超能力者',
10 => Array('s_hp','s_ad','f_heal'), #'高速成长', 10 => Array('s_hp','s_ad','f_heal'), #'高速成长',
...@@ -53,7 +53,6 @@ $cskills_tags = Array ...@@ -53,7 +53,6 @@ $cskills_tags = Array
'battle' => '<span tooltip="可以在战斗中主动使用" class="gold">【战斗技】</span>', 'battle' => '<span tooltip="可以在战斗中主动使用" class="gold">【战斗技】</span>',
'passive' => '<span tooltip="满足条件时自动触发" class="gold">【被动技】</span>', 'passive' => '<span tooltip="满足条件时自动触发" class="gold">【被动技】</span>',
'active' => '<span tooltip="在主动启动后才会产生效果" class="gold">【主动技】</span>', 'active' => '<span tooltip="在主动启动后才会产生效果" class="gold">【主动技】</span>',
//'cd' => '<span tooltip="隐藏标签:有此标签的技能会在载入时检查是否处于冷却状态" class="gold">【冷却技】</span>',
'openning' => '<span tooltip="仅在先制发现敌人时可用" class="gold">【开幕技】</span>', 'openning' => '<span tooltip="仅在先制发现敌人时可用" class="gold">【开幕技】</span>',
'limit' => '<span tooltip="每局游戏内可发动次数有限" class="gold">【限次技】</span>', 'limit' => '<span tooltip="每局游戏内可发动次数有限" class="gold">【限次技】</span>',
//'buff' => '<span tooltip="隐藏标签:代表这是一个临时性状态" class="gold">【状态】</span>', //'buff' => '<span tooltip="隐藏标签:代表这是一个临时性状态" class="gold">【状态】</span>',
...@@ -341,7 +340,7 @@ $cskills = Array ...@@ -341,7 +340,7 @@ $cskills = Array
'c2_annihil' => Array 'c2_annihil' => Array
( (
'name' => '歼灭', 'name' => '歼灭',
'tags' => Array('active','cd'), 'tags' => Array('active'),
'desc' => '发动后获得增益效果:<br> 'desc' => '发动后获得增益效果:<br>
持斩系武器时,你的攻击有<span class="yellow">[:rate:]%</span>概率造成<span class="red b">[:findmgr:]%</span>最终伤害;<br> 持斩系武器时,你的攻击有<span class="yellow">[:rate:]%</span>概率造成<span class="red b">[:findmgr:]%</span>最终伤害;<br>
计算属性伤害时你的基础攻击力将视作武器攻击力。<br> 计算属性伤害时你的基础攻击力将视作武器攻击力。<br>
...@@ -352,7 +351,7 @@ $cskills = Array ...@@ -352,7 +351,7 @@ $cskills = Array
'effect' => Array( 'effect' => Array(
0 => Array('skillpara|c2_annihil-active' => '=::1'), 0 => Array('skillpara|c2_annihil-active' => '=::1'),
), ),
'events' => Array('active_news','setstarttimes_c2_annihil','getskill_buff_annihil'), 'events' => Array('setstarttimes_c2_annihil','getskill_buff_annihil','active_news'),
'link' => Array('buff_annihil'), 'link' => Array('buff_annihil'),
'vars' => Array( 'vars' => Array(
'lasttimes' => 200, //持续时间 仅供介绍文本显示用 'lasttimes' => 200, //持续时间 仅供介绍文本显示用
...@@ -839,8 +838,8 @@ $cskills = Array ...@@ -839,8 +838,8 @@ $cskills = Array
( (
'name' => '双响', 'name' => '双响',
'tags' => Array('battle','limit'), 'tags' => Array('battle','limit'),
'desc' => '本局已发动<span class="yellow">[^skillpara|c5_double-active_t^]/[:maxactive_t:]次</span><br>使用爆系武器方可发动,连续攻击[:chase_t:]次。', 'desc' => '本局已发动<span class="redseed"> [^skillpara|c5_double-active_t^]/[:maxactive_t:] </span>次<br>使用爆系武器方可发动,连续攻击[:chase_t:]次。',
'bdesc' => '本次战斗你将连续攻击[:chase_t:]次;本局已发动<span class="yellow">[^skillpara|c5_double-active_t^]/[:maxactive_t:]</span>次', 'bdesc' => '本次战斗你将连续攻击[:chase_t:]次;本局已发动<span class="redseed">[^skillpara|c5_double-active_t^]/[:maxactive_t:]</span>次',
'svars' => Array( 'svars' => Array(
'active_t' => 0, 'active_t' => 0,
), ),
...@@ -949,10 +948,10 @@ $cskills = Array ...@@ -949,10 +948,10 @@ $cskills = Array
'c9_charge' => Array 'c9_charge' => Array
( (
'name' => '充能', 'name' => '充能',
'tags' => Array('cd'), 'tags' => Array('active'),
'desc' => '发动后立即增加<span class="yellow">[:rageadd:]</span>点怒气。<br> 'desc' => '发动后立即增加<span class="yellow">[:rageadd:]</span>点怒气。<br>
前<span class="yellow">[:freet:]</span>次发动没有冷却时间,之后每次发动冷却时间<span class="clan">[:cd:]</span>秒<br> 前<span class="yellow">[:freet:]</span>次发动没有冷却时间,之后每次发动冷却时间<span class="clan">[:cd:]</span>秒<br>
本局已发动:<span class="yellow">[^skillpara|c9_charge-active_t^]</span>次', 本局已发动:<span class="redseed"> [^skillpara|c9_charge-active_t^] </span>次',
'input' => '发动', 'input' => '发动',
'log' => '<span class="lime">技能「充能」发动成功。</span><br>', 'log' => '<span class="lime">技能「充能」发动成功。</span><br>',
'events' => Array('charge','active_news'), 'events' => Array('charge','active_news'),
...@@ -1127,6 +1126,136 @@ $cskills = Array ...@@ -1127,6 +1126,136 @@ $cskills = Array
'lvl' => '[:lvl:] >= 15', 'lvl' => '[:lvl:] >= 15',
), ),
), ),
'c7_radar' => Array
(
'name' => '探测',
'desc' => '消耗<span class="lime">1</span>技能点,进行一次广域探测',
'cost' => 1,
'input' => '探测',
'no_reload_page' => 1,
'log' => '消耗了<span class="lime">[:cost:]</span>技能点,激活了广域探测功能。<br>',
'events' => Array('radar'),
),
'c7_shield' => Array
(
'name' => '护盾',
'tags' => Array('passive'),
'desc' => '进入战斗时,若生命值低于<span class="yellow">[:hpalert:]%</span>,生成一个拥有<span class="yellow">[:svar:]</span>点效果的<span class="gold" tooltip2="【护盾】:可抵消等同于护盾值的伤害。护盾值只在抵消属性伤害时消耗,抵消电击伤害时双倍消耗。护盾存在时不会受到反噬伤害或陷入异常状态。">护盾</span><br>
护盾值耗尽后,需要等待<span class="clan">[:cd:]</span>秒才能重新激活。',
'maxlvl' => 5,
'cost' => Array(4,4,5,7,9,-1),
'input' => '升级',
'log' => '<span class="yellow">技能「护盾」升级成功。</span><br>',
'status' => Array('skillpara|c7_shield-lvl'),
'effect' => Array(
0 => Array('skillpara|c7_shield-lvl' => '+=::1',),
),
'svars' => Array(
'lvl' => 0,
'accgain' => 0, 'rbgain' => 0, 'accloss' => 0, 'rbloss' => 0,
),
'vars' => Array(
'svar' => Array(110,155,185,225,265,355),
'cd' => Array(150,120,120,90,60,45),
'hpalert' => Array(35,40,45,50,60,70),
),
'lockdesc' => Array(
'skillpara|buff_shield-svar' => '护盾已存在,无法重复生成!',
'skillcooldown' => '护盾充能中!<br>充能所需时间:<span class="red">[:cd:]</span> 秒',
),
'unlock' => Array(
'skillpara|buff_shield-svar' => 'empty([:skillpara|buff_shield-svar:])',
'skillcooldown' => 0,
),
),
'c7_electric' => Array
(
'name' => '磁暴',
'tags' => Array('battle'),
'desc' => '消耗<span class="yellow">[:ragecost:]</span>点怒气,本次攻击<span class="yellow">带电</span>,电击属性伤害<span class="yellow">+[:exdmgfix:]</span>点,
且有<span class="yellow">[:infr:]%</span>概率使敌人陷入<span class="yellow">麻痹</span>状态。<br>
若敌人已处于<span class="yellow">麻痹</span>状态,则<span class="yellow">眩晕</span>敌人<span class="clan">[:lasttimes:]</span>秒',
'bdesc' => '本次攻击<span class="yellow">带电</span>,电击属性伤害<span class="yellow">+[:exdmgfix:]</span>,有<span class="yellow">[:infr:]%</span>概率<span class="yellow">麻痹</span>敌人,或使已麻痹敌人眩晕<span class="yellow">[:lasttimes:]</span>秒;消耗<span class="red">[:ragecost:]</span>怒气',
'vars' => Array(
'ragecost' => 25,
'exdmgfix' => 60,
'infr' => 40,
'lasttimes' => 2,
),
'lockdesc' => Array(
'lvl' => '3级时解锁',
),
'unlock' => Array(
'lvl' => '[:lvl:] >= 3',
),
),
'c7_field' => Array
(
'name' => '力场',
'tags' => Array('active'),
'desc' => '消耗<span class="lime">[:cost:]</span>技能点,无视冷却立刻激活一个<span class="gold" tooltip2="【护盾】:可抵消等同于护盾值的伤害。护盾值只在抵消属性伤害时消耗,抵消电击伤害时双倍消耗。护盾存在时不会受到反噬伤害或陷入异常状态。">护盾</span>',
'cost' => 2,
'input' => '激活',
'log' => '<span class="yellow">「护盾」已激活!</span><br>',
'events' => Array('getskill_buff_shield','setskillvars_buff_shield|c7_shield|svar','active_news'),
'link' => Array('c7_shield'),
'lockdesc' => Array(
'lvl' => '5级时解锁',
'skillpara|buff_shield-svar' => '护盾已存在,无法重复生成!',
),
'unlock' => Array(
'lvl' => '[:lvl:] >= 5',
'skillpara|buff_shield-svar' => 'empty([:skillpara|buff_shield-svar:])',
),
),
'buff_shield' => Array
(
'name' => '[状态]护盾',
'tags' => Array('buff'),
'desc' => '<span class="lime"><span class="gold" tooltip2="【护盾】:可抵消等同于护盾值的伤害。护盾值只在抵消属性伤害时消耗,抵消电击伤害时双倍消耗。护盾存在时不会受到反噬伤害或陷入异常状态。">护盾</span>生效中!<br>
当前护盾值:<span class="yellow">[^skillpara|buff_shield-svar^]</span> 点</span>',
'svars' => Array('svar' => 0),
'pvars' => Array('skillpara|buff_shield-svar'),
'lostevents' => Array('setstarttimes_c7_shield'),
),
'c7_overload' => Array
(
'name' => '过载',
'tags' => Array('passive'),
'desc' => '你造成的电击伤害没有上限',
'lockdesc' => Array(
'lvl' => '15级时解锁',
),
'unlock' => Array(
'lvl' => '[:lvl:] >= 15',
),
),
'c7_emp' => Array
(
'name' => '脉冲',
'tags' => Array('battle','limit'),
'desc' => '本局已发动<span class="redseed"> [^skillpara|c7_emp-active_t^]/[:maxactive_t:] </span>次<br>
消耗<span class="yellow">[:ragecost:]</span>点怒气,同时无效化你与敌人的<span class="yellow">抹消/制御类</span>属性,<br>
成功无效化时,使敌人进入<span class="yellow">麻痹</span>状态。<br>
若敌人已处于<span class="yellow">麻痹</span>状态,则眩晕敌人<span class="clan">[:lasttimes:]</span>秒<br>',
'bdesc' => '无效化双方的<span class="yellow">抹消/制御类</span>属性,并<span class="yellow">麻痹</span>敌人,或使已麻痹敌人眩晕<span class="yellow">[:lasttimes:]</span>秒;
消耗<span class="red">[:ragecost:]</span>怒气<br>本局已发动<span class="redseed"> [^skillpara|c7_emp-active_t^]/[:maxactive_t:] </span>次',
'vars' => Array(
'ragecost' => 60,
'maxactive_t' => 2,
'lasttimes' => 3,
),
'svars' => Array('active_t' => 0),
'pvars' => Array('skillpara|c7_emp-active_t'),
'lockdesc' => Array(
'skillpara|c7_emp-active_t' => '次数耗尽,已无法发动该技能',
'lvl' => '21级时解锁',
),
'unlock' => Array(
'skillpara|c7_emp-active_t' => '[:skillpara|c7_emp-active_t:] < 2',
'lvl' => '[:lvl:] >= 21',
),
),
'tl_cstick' => Array 'tl_cstick' => Array
( (
'name' => '抡尸', 'name' => '抡尸',
......
...@@ -215,9 +215,9 @@ ...@@ -215,9 +215,9 @@
//0.电掣召唤仪:分解种火尸体随机获得:数量分别在1~10、10~20、20~30、30~40、40~50之间的5种不同元素 //0.电掣召唤仪:分解种火尸体随机获得:数量分别在1~10、10~20、20~30、30~40、40~50之间的5种不同元素
0 => Array('stuff'=>Array(0=>'r1-10',1=>'r10-20',2=>'r20-30',3=>'r30-40',4=>'r40-50'),'result'=>Array('电掣召唤仪','Y',1,1,)), 0 => Array('stuff'=>Array(0=>'r1-10',1=>'r10-20',2=>'r20-30',3=>'r30-40',4=>'r40-50'),'result'=>Array('电掣召唤仪','Y',1,1,)),
//1.游戏解除钥匙(执行官ID卡):分解执行官尸体时依次获得:数量在1000~2000之间的3种不同元素 //1.游戏解除钥匙(执行官ID卡):分解执行官尸体时依次获得:数量在1000~2000之间的3种不同元素
1 => Array('class'=>'hidden','stuff'=>Array(0=>'r1000-2000',1=>'r1000-2000',2=>'r1000-2000'),'result'=>Array('游戏解除钥匙','Y',1,1,)), 1 => Array('class'=>'hidden','stuff'=>Array(0=>'r1000-2000',1=>'r1000-2000',2=>'r1000-2000'),'result'=>Array('游戏解除钥匙','Y',1,1,'v')),
//2.游戏解除钥匙(真红暮):分解冰炎钥匙火·冰时依次获得:数量在10000~99999之间的2种不同元素 //2.游戏解除钥匙(真红暮):分解冰炎钥匙火·冰时依次获得:数量在10000~99999之间的2种不同元素
2 => Array('class'=>'hidden','stuff'=>Array(0=>'r10000-99999',1=>'r10000-99999'),'result'=>Array('游戏解除钥匙','Y',1,1,'Z')), 2 => Array('class'=>'hidden','stuff'=>Array(0=>'r10000-99999',1=>'r10000-99999'),'result'=>Array('游戏解除钥匙','Y',1,1,'Zv')),
//3.破灭之诗:分解三女主歌词卡时依次获得:数量在100~999之间的3种不同元素 //3.破灭之诗:分解三女主歌词卡时依次获得:数量在100~999之间的3种不同元素
3 => Array('class'=>'hidden','stuff'=>Array(0=>'r100-999',1=>'r100-999',2=>'r100-999'),'result'=>Array('破灭之诗','Y',1,1,95)), 3 => Array('class'=>'hidden','stuff'=>Array(0=>'r100-999',1=>'r100-999',2=>'r100-999'),'result'=>Array('破灭之诗','Y',1,1,95)),
//4.黑色发卡:分解黑色碎片、十字发卡时依次获得:数量在500~1000、10000~29999之间的2种不同元素 //4.黑色发卡:分解黑色碎片、十字发卡时依次获得:数量在500~1000、10000~29999之间的2种不同元素
......
...@@ -108,8 +108,8 @@ $mixinfo = array ...@@ -108,8 +108,8 @@ $mixinfo = array
array('class' => 'item', 'stuff' => array('手机','笔记本电脑'),'result' => array('移动PC','EE',1,1,),), array('class' => 'item', 'stuff' => array('手机','笔记本电脑'),'result' => array('移动PC','EE',1,1,),),
array('class' => 'item', 'stuff' => array('高压线圈','原型武器G','原型武器C','某种机械设备'),'result' => array('电磁发射装置','X',1,1,''),), array('class' => 'item', 'stuff' => array('高压线圈','原型武器G','原型武器C','某种机械设备'),'result' => array('电磁发射装置','X',1,1,''),),
//array('class' => 'item', 'stuff' => array('风见 幽香的ID卡','坂持 金发的ID卡','御坂 美琴的ID卡'),'result' => array('游戏解除钥匙','Y',1,1,),), //array('class' => 'item', 'stuff' => array('风见 幽香的ID卡','坂持 金发的ID卡','御坂 美琴的ID卡'),'result' => array('游戏解除钥匙','Y',1,1,),),
array('class' => 'item', 'stuff' => array('社员专用的ID卡','社员专用的ID卡','社员专用的ID卡'),'result' => array('游戏解除钥匙','Y',1,1,),), array('class' => 'item', 'stuff' => array('社员专用的ID卡','社员专用的ID卡','社员专用的ID卡'),'result' => array('游戏解除钥匙','Y',1,1,'v'),),
array('class' => 'item', 'stuff' => array('冰炎钥匙·炎','冰炎钥匙·冰'),'result' => array('游戏解除钥匙','Y',1,1,'Z'),), array('class' => 'item', 'stuff' => array('冰炎钥匙·炎','冰炎钥匙·冰'),'result' => array('游戏解除钥匙','Y',1,1,'Zv'),),
array('class' => 'item', 'stuff' => array('★荆棘式电子地雷★','★阔剑地雷★','★全图不唯一的野生巨大香蕉★'),'result' => array('★一发逆转神话★','TNc',1,1,'x'),), array('class' => 'item', 'stuff' => array('★荆棘式电子地雷★','★阔剑地雷★','★全图不唯一的野生巨大香蕉★'),'result' => array('★一发逆转神话★','TNc',1,1,'x'),),
array('class' => 'item', 'stuff' => array('水','黑色雏菊','白色方块'),'result' => array('风祭河水','Y',1,1,),), array('class' => 'item', 'stuff' => array('水','黑色雏菊','白色方块'),'result' => array('风祭河水','Y',1,1,),),
array('class' => 'item', 'stuff' => array('水','黑色方块','白色雏菊'),'result' => array('仪水镜','Y',1,1,),), array('class' => 'item', 'stuff' => array('水','黑色方块','白色雏菊'),'result' => array('仪水镜','Y',1,1,),),
...@@ -367,7 +367,7 @@ $mixinfo = array ...@@ -367,7 +367,7 @@ $mixinfo = array
array('class' => 'hidden', 'stuff' => array('《董子语录》','琉璃血'),'result' => array('『C.H.A.O.S』','Y',1,1,),'karma1'=>'-500','karma2'=>'2000',), array('class' => 'hidden', 'stuff' => array('《董子语录》','琉璃血'),'result' => array('『C.H.A.O.S』','Y',1,1,),'karma1'=>'-500','karma2'=>'2000',),
array('class' => 'hidden', 'stuff' => array('圣光啊!你有看到那个敌人吗!','琉璃血'),'result' => array('『C.H.A.O.S』','Y',1,1,),'karma1'=>'-500','karma2'=>'2000',), array('class' => 'hidden', 'stuff' => array('圣光啊!你有看到那个敌人吗!','琉璃血'),'result' => array('『C.H.A.O.S』','Y',1,1,),'karma1'=>'-500','karma2'=>'2000',),
array('class' => 'hidden', 'stuff' => array('黑色碎片','十字发卡'),'result' => array('黑色发卡','X',1,1,),), array('class' => 'hidden', 'stuff' => array('黑色碎片','十字发卡'),'result' => array('黑色发卡','X',1,1,),),
array('class' => 'hidden', 'stuff' => array('『T.E.R.R.A』','『A.Q.U.A』','『V.E.N.T.U.S』'),'result' => array('『G.A.M.E.O.V.E.R』','Y',1,1,),), array('class' => 'hidden', 'stuff' => array('『T.E.R.R.A』','『A.Q.U.A』','『V.E.N.T.U.S』'),'result' => array('『G.A.M.E.O.V.E.R』','Y',1,1,'v'),),
array('class' => 'hidden', 'stuff' => array('提示纸条K','提示纸条E'),'result' => array('提示纸条Y','WC',1,1,'zd'),), array('class' => 'hidden', 'stuff' => array('提示纸条K','提示纸条E'),'result' => array('提示纸条Y','WC',1,1,'zd'),),
array('class' => 'hidden', 'stuff' => array('[INNOCENCE]','[DILIGENCE]','[CONSCIENCE]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),), array('class' => 'hidden', 'stuff' => array('[INNOCENCE]','[DILIGENCE]','[CONSCIENCE]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),),
array('class' => 'hidden', 'stuff' => array('[ΨТОВХ]','[ЫΑИЙВХΨ]','[ΩЙΑТΨ]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),), array('class' => 'hidden', 'stuff' => array('[ΨТОВХ]','[ЫΑИЙВХΨ]','[ΩЙΑТΨ]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),),
......
...@@ -244,7 +244,6 @@ $lwinfo = Array( ...@@ -244,7 +244,6 @@ $lwinfo = Array(
92 => '成为……焰火……', 92 => '成为……焰火……',
); );
$infinfo = Array('b' => '<span class="red">胸</span>', 'h' => '<span class="red">头</span>', 'a' => '<span class="red">腕</span>', 'f' => '<span class="red">足</span>', 'p' => '<span class="purple">毒</span>', 'u' => '<span class="red">烧</span>', 'i' => '<span class="clan">冻</span>', 'e' => '<span class="yellow">麻</span>','w' => '<span class="grey">乱</span>'); $infinfo = Array('b' => '<span class="red">胸</span>', 'h' => '<span class="red">头</span>', 'a' => '<span class="red">腕</span>', 'f' => '<span class="red">足</span>', 'p' => '<span class="purple">毒</span>', 'u' => '<span class="red">烧</span>', 'i' => '<span class="clan">冻</span>', 'e' => '<span class="yellow">麻</span>','w' => '<span class="grey">乱</span>');
$dtinfinfo = Array('b' => '<span class="red">胸部受伤</span>', 'h' => '<span class="red">头部受伤</span>', 'a' => '<span class="red">腕部受伤</span>', 'f' => '<span class="red">足部受伤</span>', 'p' => '<span class="purple">中毒</span>', 'u' => '<span class="red">烧伤</span>', 'i' => '<span class="clan">冻结</span>', 'e' => '<span class="yellow">麻痹</span>','w' => '<span class="grey">混乱</span>');
$attinfo = Array('N' => '徒手殴打', 'P' => '殴打','K' => '斩刺', 'G' => '射击', 'C' => '投掷', 'D' => '设置引信伏击', 'F' => '释放灵力攻击', 'J' => '狙击'); $attinfo = Array('N' => '徒手殴打', 'P' => '殴打','K' => '斩刺', 'G' => '射击', 'C' => '投掷', 'D' => '设置引信伏击', 'F' => '释放灵力攻击', 'J' => '狙击');
$skillinfo = Array('N' => 'wp', 'P' => 'wp', 'K' => 'wk', 'G' => 'wg', 'C' => 'wc', 'D' => 'wd', 'F'=> 'wf', 'J'=> 'wg'); $skillinfo = Array('N' => 'wp', 'P' => 'wp', 'K' => 'wk', 'G' => 'wg', 'C' => 'wc', 'D' => 'wd', 'F'=> 'wf', 'J'=> 'wg');
//$rangeinfo = Array('N' => 'S', 'P' => 'S', 'K' => 'S', 'G' => 'M', 'C' => 'M', 'D' => 'L', 'F'=> 'M'); #各种攻击方式的射程,移动到combatcfg.php //$rangeinfo = Array('N' => 'S', 'P' => 'S', 'K' => 'S', 'G' => 'M', 'C' => 'M', 'D' => 'L', 'F'=> 'M'); #各种攻击方式的射程,移动到combatcfg.php
...@@ -1185,7 +1184,7 @@ $tps_isk = Array ...@@ -1185,7 +1184,7 @@ $tps_isk = Array
'P' => Array('title' => "高概率将殴系对你的物理伤害减半。",), 'P' => Array('title' => "高概率将殴系对你的物理伤害减半。",),
'p' => Array('title' => "攻击对手时,将产生额外的毒属性伤害。也有可能让对手陷入中毒异常状态。",), 'p' => Array('title' => "攻击对手时,将产生额外的毒属性伤害。也有可能让对手陷入中毒异常状态。",),
'q' => Array('title' => "高概率将毒属性对你的属性伤害减半。并避免中毒状态。",), 'q' => Array('title' => "高概率将毒属性对你的属性伤害减半。并避免中毒状态。",),
'R' => Array('title' => "这把武器的最终伤害将会为随机值。",), 'R' => Array('title' => "这把武器造成的伤害与消耗的耐久为随机值。",),
'r' => Array('title' => "根据你的熟练度,做出一定数量的连续攻击。",), 'r' => Array('title' => "根据你的熟练度,做出一定数量的连续攻击。",),
'S' => Array('title' => "枪支类武器开火时不会产生声音。",), 'S' => Array('title' => "枪支类武器开火时不会产生声音。",),
's' => Array('title' => "这个物品是游戏王同调合成的必备素材。",), 's' => Array('title' => "这个物品是游戏王同调合成的必备素材。",),
......
...@@ -380,6 +380,17 @@ span[tooltip]:hover:before { ...@@ -380,6 +380,17 @@ span[tooltip]:hover:before {
transform: translate(25px, 25px); transform: translate(25px, 25px);
width:max-content; max-width: 175px; position: absolute; z-index: 50; width:max-content; max-width: 175px; position: absolute; z-index: 50;
} }
span[tooltip2]:hover:before {
content: attr(tooltip2);
font: 8pt "微软雅黑" serif; color: rgba(225, 124, 226, 1);
padding: 7px; text-align: left; white-space:pre-line;
text-shadow:1px 1px 1px rgb(106, 0, 108); text-fill-color: rgb(245, 174, 246); -webkit-text-fill-color: rgb(245, 174, 246);
/*background-clip: border-box; background-color: rgba(198, 114, 199, 0.8);*/
background-color:rgba(0,0,0,0.8); *BACKGROUND: rgb(0,0,0); *filter:alpha(opacity=70);
border-radius: 3px; border:2px solid rgba(225, 124, 226, 0.4);
transform: translate(25px, 25px);
width:max-content; max-width: 175px; position: fixed; z-index: 50;
}
/* 下拉菜单样式 */ /* 下拉菜单样式 */
.headerlink{ .headerlink{
......
...@@ -113,6 +113,12 @@ function init_profile(){ ...@@ -113,6 +113,12 @@ function init_profile(){
$clbpara = get_clbpara($clbpara); $clbpara = get_clbpara($clbpara);
if(!check_skill_unlock('buff_shield',$pdata))
{
global $shield_info;
$shield_info = "<span class=\"blueseed\" tooltip2=\"【护盾】:可抵消等同于护盾值的伤害。护盾值只在抵消属性伤害时消耗,抵消电击伤害时双倍消耗。护盾存在时不会受到反噬伤害或陷入异常状态。\">(".get_skillpara('buff_shield','svar',$clbpara).")</span>";
}
include_once GAME_ROOT.'./include/game/revattr.func.php'; include_once GAME_ROOT.'./include/game/revattr.func.php';
$atkinfo = get_base_att($pdata,$pdata,1,1); $atkinfo = get_base_att($pdata,$pdata,1,1);
$definfo = get_base_def($pdata,$pdata,1,1); $definfo = get_base_def($pdata,$pdata,1,1);
...@@ -570,45 +576,40 @@ function get_remaincdtime($pid){ ...@@ -570,45 +576,40 @@ function get_remaincdtime($pid){
} }
// 检查时效性技能是否达到时限 // 检查时效性技能是否达到时限
function check_skilllasttimes(&$data=NULL) function check_skilllasttimes(&$data)
{ {
global $cskills,$log,$now,$name; global $cskills,$log,$now,$name;
if(!isset($data)) $nm = ($data['type'] || $data['name'] != $name) ? $data['name'] : '你';
{ $data['pure_flag'] = 0;
global $clbpara; if(!empty($data['clbpara']['lasttimes']))
$para = &$clbpara;
$nm = '你';
}
else
{
$para = &$data['clbpara'];
$nm = &$data['name'];
}
$pure_flag = 0;
if(!empty($para['lasttimes']))
{ {
//include_once GAME_ROOT.'./include/game/revclubskills.func.php'; //include_once GAME_ROOT.'./include/game/revclubskills.func.php';
foreach($para['lasttimes'] as $sk => $lts) foreach($data['clbpara']['lasttimes'] as $sk => $lts)
{ {
$stm = isset($para['starttimes'][$sk]) ? $para['starttimes'][$sk] : 0; $stm = isset($data['clbpara']['starttimes'][$sk]) ? $data['clbpara']['starttimes'][$sk] : 0;
# 技能已达到时效 # 技能已达到时效
if($now > $lts+$stm) if($now > $lts+$stm)
{ {
$sk_name = $cskills[$sk]['name']; $sk_name = $cskills[$sk]['name'];
if(get_skilltags($sk,'buff')) if(get_skilltags($sk,'buff'))
{ {
$log.="技能<span class='yellow'>「{$sk_name}」</span>的持续效果结束了!<br>"; $log.="<span class='yellow'>「{$sk_name}」</span>的效果结束了!<br>";
} }
else else
{ {
$log.="{$nm}从<span class='yellow'>「{$sk_name}」</span>状态中恢复了!<br>"; $log.="{$nm}从<span class='yellow'>「{$sk_name}」</span>状态中恢复了!<br>";
} }
lostclubskill($sk,$para); lostclubskill($sk,$data['clbpara']);
$pure_flag = 1; $data['pure_flag'] = 1;
}
} }
} }
if($nm != '你')
{
player_save($data);
return $data;
} }
return $pure_flag; return $data['pure_flag'];
} }
//通过名字抓取指定玩家数据,只能抓玩家 //通过名字抓取指定玩家数据,只能抓玩家
...@@ -633,6 +634,7 @@ function fetch_playerdata_by_pid($pid) ...@@ -633,6 +634,7 @@ function fetch_playerdata_by_pid($pid)
if(!$db->num_rows($result)) return NULL; if(!$db->num_rows($result)) return NULL;
$pdata = $db->fetch_array($result); $pdata = $db->fetch_array($result);
if(!empty($pdata['clbpara'])) $pdata['clbpara'] = get_clbpara($pdata['clbpara']); if(!empty($pdata['clbpara'])) $pdata['clbpara'] = get_clbpara($pdata['clbpara']);
//套装效果刷新
include_once GAME_ROOT.'./include/game/itemmain.func.php'; include_once GAME_ROOT.'./include/game/itemmain.func.php';
reload_set_items($pdata); reload_set_items($pdata);
return $pdata; return $pdata;
......
...@@ -1546,9 +1546,9 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk) ...@@ -1546,9 +1546,9 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
// 初始化 // 初始化
$done = 0; $done = 0;
// 101.使用参战者红暮&蓝凝掉落的钥匙达成锁定解除结局 // 101.使用参战者红暮&蓝凝掉落的钥匙达成锁定解除结局
if($isk == 'Z') $aid = 101; if(strpos($isk,'Z') !== false) $aid = 101;
// 102.使用DF掉落的钥匙达成锁定解除结局 // 102.使用DF掉落的钥匙达成锁定解除结局
elseif($isk == 'x') $aid = 102; elseif(strpos($isk,'x') !== false) $aid = 102;
// 100.使用执行官掉落的钥匙达成锁定解除结局 // 100.使用执行官掉落的钥匙达成锁定解除结局
else $aid = 100; else $aid = 100;
......
...@@ -1549,7 +1549,9 @@ function get_damage_p(&$rg, $atkcdt, $type, $nm,$cl = 0, $msg = '' ) { ...@@ -1549,7 +1549,9 @@ function get_damage_p(&$rg, $atkcdt, $type, $nm,$cl = 0, $msg = '' ) {
} }
function checkdmg($p1, $p2, $d) { function checkdmg($p1, $p2, $d) {
if (($d >= 100) && ($d < 150)) { if ($d < 0) {
$words = "{$p1}{$p2}回复了<span class=\"lime\">".abs($d)."</span>点生命……怎么会是呢?";
} elseif (($d >= 100) && ($d < 150)) {
$words = "{$p1}{$p2}施加了一定程度的伤害。(100-150)"; $words = "{$p1}{$p2}施加了一定程度的伤害。(100-150)";
} elseif (($d >= 150) && ($d < 200)) { } elseif (($d >= 150) && ($d < 200)) {
$words = "{$p1}拿了什么神兵?{$p2}所受的损伤已经不可忽略了。(150-200)"; $words = "{$p1}拿了什么神兵?{$p2}所受的损伤已经不可忽略了。(150-200)";
......
...@@ -697,7 +697,7 @@ function event_rp_up($rpup){ ...@@ -697,7 +697,7 @@ function event_rp_up($rpup){
}else{ }else{
include_once GAME_ROOT.'./include/game/clubskills.func.php'; include_once GAME_ROOT.'./include/game/clubskills.func.php';
$rpdec = 30; $rpdec = 30;
$rpdec += get_clubskill_rp_dec($club,$skills); //$rpdec += get_clubskill_rp_dec($club,$skills);
$rp += round($rpup*(100-$rpdec)/100); $rp += round($rpup*(100-$rpdec)/100);
} }
return; return;
......
...@@ -308,7 +308,7 @@ function newradar($m = 0){ ...@@ -308,7 +308,7 @@ function newradar($m = 0){
$radarscreen .= '</tr>'; $radarscreen .= '</tr>';
} }
$radarscreen .= '</tbody></table>'; $radarscreen .= '</tbody></table>';
$log .= '白色数字:该区域内的人数<br><span class="yellow b">黄色数字</span>:自己所在区域的人数<br><span class="red b">×</span>:禁区<br><br>'; $log .= '白色数字:该区域内的人数<br><span class="yellow">黄色数字</span>:自己所在区域的人数<br><span class="red b">×</span>:禁区<br><br>';
include template('radarcmd'); include template('radarcmd');
$cmd = ob_get_contents(); $cmd = ob_get_contents();
ob_clean(); ob_clean();
......
...@@ -1386,7 +1386,7 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0) ...@@ -1386,7 +1386,7 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0)
{ {
global $log,$wepimprate,$nosta; global $log,$wepimprate,$nosta;
if($hurtvalue>0 && $pa['wep_kind'] != 'N') if($hurtvalue && $pa['wep_kind'] != 'N')
{ {
$wep_loss_flag = 0; $wep_loss_flag = 0;
//获取武器损耗类型 //获取武器损耗类型
...@@ -1397,12 +1397,20 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0) ...@@ -1397,12 +1397,20 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0)
if($pa['weps'] == $nosta || $force_imp) if($pa['weps'] == $nosta || $force_imp)
{ {
$pa['wepe'] = max(0,$pa['wepe']-$hurtvalue); $pa['wepe'] = max(0,$pa['wepe']-$hurtvalue);
if(!$pa['type']) $log.= "<span class='grey'>{$pa['nm']}{$pa['wep']}的攻击力下降了{$hurtvalue}。</span><br>"; if(!$pa['type'])
{
if($hurtvalue > 0) $log.= "<span class='grey'>{$pa['nm']}{$pa['wep']}的攻击力下降了{$hurtvalue}。</span><br>";
else $log.= "<span class='grey'>{$pa['nm']}{$pa['wep']}的攻击力上升了".abs($hurtvalue)."!……为什么啊?</span><br>";
}
} }
else else
{ {
$pa['weps'] = max(0,$pa['weps']-$hurtvalue); $pa['weps'] = max(0,$pa['weps']-$hurtvalue);
if(!$pa['type']) $log.= "<span class='grey'>{$pa['nm']}{$pa['wep']}的耐久度下降了{$hurtvalue}。</span><br>"; if(!$pa['type'])
{
if($hurtvalue > 0) $log.= "<span class='grey'>{$pa['nm']}{$pa['wep']}的耐久度下降了{$hurtvalue}。</span><br>";
else $log.= "<span class='grey'>{$pa['nm']}{$pa['wep']}的耐久度上升了".abs($hurtvalue)."!……为什么啊?</span><br>";
}
} }
if(empty($pa['weps']) || empty($pa['wepe'])) if(empty($pa['weps']) || empty($pa['wepe']))
{ {
...@@ -1418,7 +1426,11 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0) ...@@ -1418,7 +1426,11 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0)
$pa['weps'] = max(0,$pa['weps']-$hurtvalue); $pa['weps'] = max(0,$pa['weps']-$hurtvalue);
if($pa['wep_kind'] == 'C' || $pa['wep_kind'] == 'D' || $pa['wep_kind'] == 'F') if($pa['wep_kind'] == 'C' || $pa['wep_kind'] == 'D' || $pa['wep_kind'] == 'F')
{ {
if(!$pa['type']) $log .= "<span class='grey'>{$pa['nm']}用掉了{$hurtvalue}{$pa['wep']}。</span><br>"; if(!$pa['type'])
{
if($hurtvalue > 0) $log .= "<span class='grey'>{$pa['nm']}用掉了{$hurtvalue}{$pa['wep']}。</span><br>";
else $log .= "<span class='grey'>{$pa['wep']}凭空增殖出了".abs($hurtvalue)."个……啊??</span><br>";
}
if(empty($pa['weps'])) if(empty($pa['weps']))
{ {
$log .= "{$pa['nm']}的<span class=\"red\">{$pa['wep']}</span>用光了!<br>"; $log .= "{$pa['nm']}的<span class=\"red\">{$pa['wep']}</span>用光了!<br>";
...@@ -1427,7 +1439,11 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0) ...@@ -1427,7 +1439,11 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0)
} }
elseif($pa['wep_kind'] == 'G' || $pa['wep_kind'] == 'J') elseif($pa['wep_kind'] == 'G' || $pa['wep_kind'] == 'J')
{ {
if(!$pa['type']) $log .= "<span class='grey'>{$pa['nm']}{$pa['wep']}的弹药数减少了{$hurtvalue}。</span><br>"; if(!$pa['type'])
{
if($hurtvalue > 0) $log .= "<span class='grey'>{$pa['nm']}{$pa['wep']}的弹药数减少了{$hurtvalue}。</span><br>";
else $log .= "<span class='grey'>{$pa['wep']}的弹药数凭空多出了".abs($hurtvalue)."……啊??</span><br>";
}
if(empty($pa['weps'])) if(empty($pa['weps']))
{ {
$log .= "{$pa['nm']}的<span class=\"red\">{$pa['wep']}</span>弹药用光了!<br>"; $log .= "{$pa['nm']}的<span class=\"red\">{$pa['wep']}</span>弹药用光了!<br>";
......
...@@ -154,10 +154,7 @@ ...@@ -154,10 +154,7 @@
unset($pa['ex_keys'][$key]); unset($pa['ex_keys'][$key]);
} }
# 「天义」效果判定: # 「天义」效果判定:
if(isset($pa['skill_c6_justice']) && (empty($pa['ex_keys']) || !in_array('N',$pa['ex_keys']))) if(isset($pa['skill_c6_justice']) && (empty($pa['ex_keys']) || !in_array('N',$pa['ex_keys']))) $pa['ex_keys'][] = 'N';
{
$pa['ex_keys'][] = 'N';
}
return; return;
} }
...@@ -306,8 +303,8 @@ ...@@ -306,8 +303,8 @@
$hitrate += round($pa['wep_skill'] * $hitrate_r[$pa['wep_kind']]); $hitrate += round($pa['wep_skill'] * $hitrate_r[$pa['wep_kind']]);
//武器基础命中率上限 //武器基础命中率上限
$hitrate = min($hitrate_max_obbs[$pa['wep_kind']],$hitrate); $hitrate = min($hitrate_max_obbs[$pa['wep_kind']],$hitrate);
//获取社团技能对基础命中率的修正 //获取社团技能对基础命中率的修正(旧)
$hitrate *= rev_get_clubskill_bonus_hitrate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd); //$hitrate *= rev_get_clubskill_bonus_hitrate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd);
//获取社团技能对基础命中率的修正(新) //获取社团技能对基础命中率的修正(新)
$hitrate = get_clbskill_hitrate($pa,$pd,$active,$hitrate); $hitrate = get_clbskill_hitrate($pa,$pd,$active,$hitrate);
//异常状态状态修正 //异常状态状态修正
...@@ -328,15 +325,15 @@ ...@@ -328,15 +325,15 @@
//获取基础连击命中率衰减系数:注意,这个值越高衰减越慢 //获取基础连击命中率衰减系数:注意,这个值越高衰减越慢
$hitratebonus = 0.8; $hitratebonus = 0.8;
//获取社团技能对连击命中率衰减系数的修正 //获取社团技能对连击命中率衰减系数的修正(旧)
$hitratebonus *= rev_get_clubskill_bonus_hitrate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd); //$hitratebonus *= rev_get_clubskill_bonus_hitrate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd);
//获取社团技能对连击命中率衰减系数的修正(新) //获取社团技能对连击命中率衰减系数的修正(新)
$hitratebonus = get_clbskill_r_hitrate($pa,$pd,$active,$hitratebonus); $hitratebonus = get_clbskill_r_hitrate($pa,$pd,$active,$hitratebonus);
//获取基础致伤率(防具耐久损伤率)系数 //获取基础致伤率(防具耐久损伤率)系数
$inf_r = $infobbs[$pa['wep_kind']]; $inf_r = $infobbs[$pa['wep_kind']];
//获取社团技能对致伤率(防具耐久损伤率)的修正 //获取社团技能对致伤率(防具耐久损伤率)的修正(旧)
$inf_r *= rev_get_clubskill_bonus_imfrate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd); //$inf_r *= rev_get_clubskill_bonus_imfrate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd);
//获取社团技能对致伤率(防具耐久损伤率)的修正(新) //获取社团技能对致伤率(防具耐久损伤率)的修正(新)
$inf_r = get_clbskill_infrate($pa,$pd,$active,$inf_r); $inf_r = get_clbskill_infrate($pa,$pd,$active,$inf_r);
//获取基础致伤效果(每次致伤会损耗多少点防具耐久) //获取基础致伤效果(每次致伤会损耗多少点防具耐久)
...@@ -354,8 +351,8 @@ ...@@ -354,8 +351,8 @@
//额外损伤系数 //额外损伤系数
if(isset($pa['is_wpg'])) $wep_imp_obbs *= 4; if(isset($pa['is_wpg'])) $wep_imp_obbs *= 4;
if($pa['weps']==$nosta) $wep_imp_obbs *= 2; if($pa['weps']==$nosta) $wep_imp_obbs *= 2;
//社团技能对武器损伤系数的修正 //社团技能对武器损伤系数的修正(旧)
$wep_imp_obbs *= rev_get_clubskill_bonus_imprate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd); //$wep_imp_obbs *= rev_get_clubskill_bonus_imprate($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd);
//社团技能对武器损伤系数的修正(新) //社团技能对武器损伤系数的修正(新)
# 「解牛」技能效果: # 「解牛」技能效果:
if(isset($pa['bskill_c2_butcher'])) if(isset($pa['bskill_c2_butcher']))
...@@ -415,7 +412,7 @@ ...@@ -415,7 +412,7 @@
//获取不受其他条件影响的固定伤害变化(混沌伤害) //获取不受其他条件影响的固定伤害变化(混沌伤害)
function get_fix_damage(&$pa,&$pd,$active) function get_fix_damage(&$pa,&$pd,$active)
{ {
global $log; global $log,$nosta;
# 黑熊吃香蕉事件: # 黑熊吃香蕉事件:
if($pa['type'] && in_array('X',$pa['ex_keys'])) if($pa['type'] && in_array('X',$pa['ex_keys']))
...@@ -505,8 +502,24 @@ ...@@ -505,8 +502,24 @@
if(in_array('R',$pa['ex_keys'])) if(in_array('R',$pa['ex_keys']))
{ {
$maxdmg = $pd['mhp'] > $pa['wepe'] ? $pa['wepe'] : $pd['mhp']; $maxdmg = $pd['mhp'] > $pa['wepe'] ? $pa['wepe'] : $pd['mhp'];
$damage = rand(1,$maxdmg); $mindmg = max(-1*$pa['wepe'],-1*($pd['mhp'] - $pd['hp'] + 1));
do{
$damage = rand($mindmg,$maxdmg);
}while(empty($damage));
if($damage > 0)
{
$log .= "武器随机造成了<span class=\"red\">$damage</span>点伤害!<br>"; $log .= "武器随机造成了<span class=\"red\">$damage</span>点伤害!<br>";
}
else
{
$log .= "武器随机为{$pd['nm']}回复了<span class=\"lime\">".abs($damage)."</span>点生命!<br>";
}
// 混沌混沌
$max_imp_times = $pa['weps'] == $nosta ? $pa['wepe'] : $pa['weps'];
$min_imp_times = $pa['weps'] == $nosta ? -$pa['wepe'] : -$pa['weps'];
do{
$pa['wep_imp_times'] = rand($min_imp_times,$max_imp_times);
}while(empty($pa['wep_imp_times']));
// 混沌伤害打满时 保存至成就 // 混沌伤害打满时 保存至成就
if($damage == $maxdmg) $pa['clbpara']['achvars']['full_chaosdmg'] = 1; if($damage == $maxdmg) $pa['clbpara']['achvars']['full_chaosdmg'] = 1;
return $damage; return $damage;
...@@ -543,12 +556,12 @@ ...@@ -543,12 +556,12 @@
$pa['wepe_t'] = $pa['wepe'] * 2; $pa['wepe_t'] = $pa['wepe'] * 2;
} }
# 获取pa社团技能对攻击力的加成 # 获取pa社团技能对攻击力的加成(旧)
if(!empty($pa['skills'])) /*if(!empty($pa['skills']))
{ {
rev_get_clubskill_bonus($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$att1,$def1); rev_get_clubskill_bonus($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$att1,$def1);
$pa['att'] += $att1; $pa['att'] += $att1;
} }*/
# 汇总:: # 汇总::
$base_att = $pa['att'] + $pa['wepe_t']; $base_att = $pa['att'] + $pa['wepe_t'];
...@@ -598,23 +611,23 @@ ...@@ -598,23 +611,23 @@
} }
} }
# 计算社团技能对pa攻击力的修正 # 计算社团技能对pa攻击力的修正(旧)
$club_atk_per = 100; /*$club_atk_per = 100;
if(!empty($pa['club']) || !empty($pa['skills'])) if(!empty($pa['club']) || !empty($pa['skills']))
{ {
rev_get_clubskill_bonus_p($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$attfac,$deffac); rev_get_clubskill_bonus_p($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$attfac,$deffac);
$club_atk_per *= $attfac; $club_atk_per *= $attfac;
} }*/
# 汇总 # 汇总
$base_att = round($base_att*($base_atk_per/100)*($inf_atk_per/100)*($club_atk_per/100)); $base_att = round($base_att*($base_atk_per/100)*($inf_atk_per/100));
$base_att = max(1,$base_att); $base_att = max(1,$base_att);
if($tooltip) if($tooltip)
{ {
$tooltip .= "天气修正:{$wth_atk_per}%\r 地点修正:{$pls_atk_per}%\r 姿态修正:{$pose_atk_per}%\r 策略修正:{$tac_atk_per}%"; $tooltip .= "天气修正:{$wth_atk_per}%\r 地点修正:{$pls_atk_per}%\r 姿态修正:{$pose_atk_per}%\r 策略修正:{$tac_atk_per}%";
if($inf_atk_per <> 100) $tooltip .=" \r 异常状态修正:{$inf_atk_per}%"; if($inf_atk_per <> 100) $tooltip .=" \r 异常状态修正:{$inf_atk_per}%";
if($club_atk_per <> 100) $tooltip .=" \r 称号技能修正:{$club_atk_per}%"; //if($club_atk_per <> 100) $tooltip .=" \r 称号技能修正:{$club_atk_per}%";
$tooltip .="\">".$base_att."</span>"; $tooltip .="\">".$base_att."</span>";
return $tooltip; return $tooltip;
} }
...@@ -645,13 +658,13 @@ ...@@ -645,13 +658,13 @@
} }
} }
# 获取pd社团技能对防御力的加成(旧) # 获取pd社团技能对防御力的加成(旧)
if(!empty($pd['skills'])) /*if(!empty($pd['skills']))
{ {
rev_get_clubskill_bonus($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$att1,$def1); rev_get_clubskill_bonus($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$att1,$def1);
} }*/
# 获取pd社团技能对防御力的加成(新) # 获取pd社团技能对防御力的加成(新)
# 「格挡」技能加成 # 「格挡」技能加成
if(isset($pd['skill_c1_def'])) if(!check_skill_unlock('c1_def',$pd))
{ {
global $cskills; global $cskills;
$def_trans_rate = $cskills['c1_def']['vars']['trans']; $def_trans_rate = $cskills['c1_def']['vars']['trans'];
...@@ -710,23 +723,23 @@ ...@@ -710,23 +723,23 @@
} }
} }
# 计算社团技能对pd防御力的修正 # 计算社团技能对pd防御力的修正(旧)
$club_def_per = 100; /*$club_def_per = 100;
if(!empty($pd['club']) || !empty($pd['skills'])) if(!empty($pd['club']) || !empty($pd['skills']))
{ {
rev_get_clubskill_bonus_p($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$attfac,$deffac); rev_get_clubskill_bonus_p($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$attfac,$deffac);
$club_def_per *= $deffac; $club_def_per *= $deffac;
} }*/
# 汇总 # 汇总
$total_def = round($total_def*($base_def_per/100)*($inf_def_per/100)*($club_def_per/100)); $total_def = round($total_def*($base_def_per/100)*($inf_def_per/100));
$total_def = max(0.01,$total_def); $total_def = max(0.01,$total_def);
if($tooltip) if($tooltip)
{ {
$tooltip .= "天气修正:{$wth_def_per}% \r 地点修正:{$pls_def_per}% \r 姿态修正:{$pose_def_per}% \r 策略修正:{$tac_def_per}%"; $tooltip .= "天气修正:{$wth_def_per}% \r 地点修正:{$pls_def_per}% \r 姿态修正:{$pose_def_per}% \r 策略修正:{$tac_def_per}%";
if($inf_def_per <> 100) $tooltip .=" \r 异常状态修正:{$inf_def_per}%"; if($inf_def_per <> 100) $tooltip .=" \r 异常状态修正:{$inf_def_per}%";
if($club_def_per <> 100) $tooltip .=" \r 称号技能修正:{$club_def_per}%"; //if($club_def_per <> 100) $tooltip .=" \r 称号技能修正:{$club_def_per}%";
$tooltip .="\">".$total_def."</span>"; $tooltip .="\">".$total_def."</span>";
return $tooltip; return $tooltip;
} }
...@@ -746,8 +759,8 @@ ...@@ -746,8 +759,8 @@
$damage = ($pa['base_att'] / $pd['base_def']) * $pa['wep_skill'] * $skill_dmg[$pa['wep_kind']]; $damage = ($pa['base_att'] / $pd['base_def']) * $pa['wep_skill'] * $skill_dmg[$pa['wep_kind']];
//获取伤害浮动系数: //获取伤害浮动系数:
$dfluc = $dmg_fluc [$pa['wep_kind']]; $dfluc = $dmg_fluc [$pa['wep_kind']];
//获取社团技能对伤害浮动系数的修正: //获取社团技能对伤害浮动系数的修正:(旧)
$dfluc += rev_get_clubskill_bonus_fluc($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd); //$dfluc += rev_get_clubskill_bonus_fluc($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd);
//获取社团技能对伤害浮动系数的修正(新): //获取社团技能对伤害浮动系数的修正(新):
$dfluc += get_clbskill_fluc($pa,$pd,$active); $dfluc += get_clbskill_fluc($pa,$pd,$active);
//计算具体伤害浮动: //计算具体伤害浮动:
...@@ -756,7 +769,9 @@ ...@@ -756,7 +769,9 @@
if(isset($pa['skill_c2_intuit']) && $dfluc < 0) $dfluc = abs($dfluc); if(isset($pa['skill_c2_intuit']) && $dfluc < 0) $dfluc = abs($dfluc);
//汇总 //汇总
$dmg_factor = (100 + $dfluc) / 100; $dmg_factor = (100 + $dfluc) / 100;
//echo "浮动前 damage = {$damage}<br>";
$damage = round ( $damage * $dmg_factor * rand ( 4, 10 ) / 10 ); $damage = round ( $damage * $dmg_factor * rand ( 4, 10 ) / 10 );
//echo "浮动后 damage = {$damage}<br>";
//把计算得到的原始伤害保存在$pa['original_dmg']里 //把计算得到的原始伤害保存在$pa['original_dmg']里
$pa['original_dmg'] = $damage; $pa['original_dmg'] = $damage;
return $damage; return $damage;
...@@ -766,14 +781,14 @@ ...@@ -766,14 +781,14 @@
function get_original_fix_dmg_rev(&$pa,&$pd,$active) function get_original_fix_dmg_rev(&$pa,&$pd,$active)
{ {
$damage = 0; $damage = 0;
//重枪 # 重枪
if ($pa['wep_kind'] == 'J') if ($pa['wep_kind'] == 'J')
{ {
$adddamage=$pd['mhp']/3; $adddamage=$pd['mhp']/3;
if ($adddamage>20000) $adddamage=10000; if ($adddamage>20000) $adddamage=10000;
$damage += round($pa['wepe']*2/3+$adddamage); $damage += round($pa['wepe']*2/3+$adddamage);
} }
//灵力武器 # 灵力武器
if ($pa['wep_kind'] == 'F') if ($pa['wep_kind'] == 'F')
{ {
global $log; global $log;
...@@ -869,7 +884,7 @@ ...@@ -869,7 +884,7 @@
$sk_p = 1 + (get_skillvars('c1_crit','attgain',$sk_lvl) / 100); $sk_p = 1 + (get_skillvars('c1_crit','attgain',$sk_lvl) / 100);
$dmg_p[]= $sk_p; $dmg_p[]= $sk_p;
//输出log //输出log
$log .= $pa['skill_c1_crit_log']; $log .= "<span class=\"yellow\">{$pa['nm']}朝着{$pd['nm']}打出了凶猛的一击!<span class=\"clan\">{$pd['nm']}被打晕了过去!</span></span><br>";
} }
#「潜能」判定: #「潜能」判定:
if(isset($pa['bskill_c3_potential'])) if(isset($pa['bskill_c3_potential']))
...@@ -935,9 +950,18 @@ ...@@ -935,9 +950,18 @@
if(isset($pa['skill_c6_justice'])) $obbs *= get_skillvars('c6_justice','pdefbkr'); if(isset($pa['skill_c6_justice'])) $obbs *= get_skillvars('c6_justice','pdefbkr');
//检查抹消属性是否生效 //检查抹消属性是否生效
if($dice > $obbs) if($dice > $obbs)
{
#「脉冲」效果判定:
if(isset($pa['bskill_c7_emp']) || isset($pd['bskill_c7_emp']))
{
$log .= "<span class='yellow'>在电磁脉冲的干扰下,伤害抹消力场被无效化了!</span><br>";
$pa['bskill_c7_emp'] = 2;
}
else
{ {
$pd['phy_def_flag'] = 2; $pd['phy_def_flag'] = 2;
} }
}
else else
{ {
$log .="纳尼?{$pd['nm']}的装备使攻击无效化的属性竟然失效了!<br>"; $log .="纳尼?{$pd['nm']}的装备使攻击无效化的属性竟然失效了!<br>";
...@@ -1102,10 +1126,13 @@ ...@@ -1102,10 +1126,13 @@
//提取判断pd是否防具受损、受伤,但log在结尾统一输出 //提取判断pd是否防具受损、受伤,但log在结尾统一输出
function get_hurt_prepare_events(&$pa,&$pd,$active) function get_hurt_prepare_events(&$pa,&$pd,$active)
{ {
global $infatt_rev; global $infatt_rev,$log;
# pa致伤次数>0时,计算pd防具受损或致伤情况 # pa致伤次数>0时,计算pd防具受损或致伤情况
if($pa['inf_times']>0) if($pa['inf_times']>0)
{ {
# 「护盾」存在时无视致伤效果
if (isset($pd['skill_buff_shield'])) return;
//获取可致伤部位 //获取可致伤部位
$inf_parts = $infatt_rev[$pa['wep_kind']]; $inf_parts = $infatt_rev[$pa['wep_kind']];
$inf_att = Array(); $inf_att = Array();
...@@ -1144,7 +1171,7 @@ ...@@ -1144,7 +1171,7 @@
function get_base_ex_att_array(&$pa,&$pd,$active) function get_base_ex_att_array(&$pa,&$pd,$active)
{ {
global $ex_attack,$log,$itemspkinfo; global $ex_attack,$log,$itemspkinfo;
$ex_keys =Array(); $ex_keys = Array();
foreach($pa['ex_keys'] as $ex) foreach($pa['ex_keys'] as $ex)
{ {
if(in_array($ex,$ex_attack)) if(in_array($ex,$ex_attack))
...@@ -1181,6 +1208,8 @@ ...@@ -1181,6 +1208,8 @@
// 使用次数+1 // 使用次数+1
set_skillpara('c3_enchant','active_t',get_skillpara('c3_enchant','active_t',$pa['clbpara'])+1,$pa['clbpara']); set_skillpara('c3_enchant','active_t',get_skillpara('c3_enchant','active_t',$pa['clbpara'])+1,$pa['clbpara']);
} }
# 「磁暴」效果判定:
if(isset($pa['bskill_c7_electric']) && (empty($ex_keys) || !in_array('e',$ex_keys))) $ex_keys[] = 'e';
return $ex_keys; return $ex_keys;
} }
...@@ -1195,9 +1224,18 @@ ...@@ -1195,9 +1224,18 @@
$dice = diceroll(99); $dice = diceroll(99);
//检查抹消属性是否生效 //检查抹消属性是否生效
if($dice < $specialrate['b']) if($dice < $specialrate['b'])
{
#「脉冲」效果判定:
if(isset($pa['bskill_c7_emp']) || isset($pd['bskill_c7_emp']))
{
$log .= "<span class='yellow'>在电磁脉冲的干扰下,属性抹消力场被无效化了!</span><br>";
$pa['bskill_c7_emp'] = 2;
}
else
{ {
$pd['ex_def_flag'] = 2; $pd['ex_def_flag'] = 2;
} }
}
else else
{ {
$log .="纳尼?{$pd['nm']}装备上使属性攻击无效化的属性竟然失效了!<br>"; //无效化属性攻击的属性无效化了 怎么会这样 $log .="纳尼?{$pd['nm']}装备上使属性攻击无效化的属性竟然失效了!<br>"; //无效化属性攻击的属性无效化了 怎么会这样
...@@ -1292,15 +1330,36 @@ ...@@ -1292,15 +1330,36 @@
//计算单个属性的基础属性伤害: 基础伤害 + 效果↔伤害系数修正 + 熟练↔伤害系数修正 //计算单个属性的基础属性伤害: 基础伤害 + 效果↔伤害系数修正 + 熟练↔伤害系数修正
$ex_dmg = $ex_base_dmg[$ex] + $pa['wepe']/$ex_wep_dmg[$ex] + $pa['wep_skill']/$ex_skill_dmg[$ex]; $ex_dmg = $ex_base_dmg[$ex] + $pa['wepe']/$ex_wep_dmg[$ex] + $pa['wep_skill']/$ex_skill_dmg[$ex];
//计算单个属性能造成的基础伤害上限 //计算单个属性能造成的基础伤害上限
if($ex_max_dmg[$ex]>0 && $ex_dmg>$ex_max_dmg[$ex]) $ex_dmg = $ex_max_dmg[$ex]; $ex_dmg = get_ex_base_dmg_max($pa,$pd,$active,$ex,$ex_dmg);
//计算得意武器类型对单个属性伤害的系数修正 //计算得意武器类型对单个属性伤害的系数修正
if(isset($ex_good_wep[$ex]) && $ex_good_wep[$ex] == $pa['wep_kind']) $ex_dmg *= 2; if(isset($ex_good_wep[$ex]) && $ex_good_wep[$ex] == $pa['wep_kind']) $ex_dmg *= 2;
//计算属性伤害浮动 //计算属性伤害浮动
$ex_dmg = round($ex_dmg * rand(100-$ex_dmg_fluc[$ex],100+$ex_dmg_fluc[$ex])/100); $ex_dmg = round($ex_dmg * rand(100-$ex_dmg_fluc[$ex],100+$ex_dmg_fluc[$ex])/100);
//计算单个属性的属性伤害变化: //计算单个属性的属性伤害变化:
$ex_dmg = get_ex_base_dmg_p($pa,$pd,$active,$ex,$ex_dmg); $ex_dmg = get_ex_base_dmg_p($pa,$pd,$active,$ex,$ex_dmg);
//pd身上保有「护盾」的情况下 计算会对护盾造成的损害
if(isset($pd['skill_buff_shield']))
{
$shield = get_skillpara('buff_shield','svar',$pd['clbpara']);
$ex_shield_dmg_r = $ex == 'e' ? 2 : 1;
$ex_shield_dmg = $ex_dmg * $ex_shield_dmg_r;
if($ex_shield_dmg >= $shield)
{
$ex_dmg = max(1,round(($ex_shield_dmg - $shield)/$ex_shield_dmg_r));
unset($pd['skill_buff_shield']);
lostclubskill('buff_shield',$pd['clbpara']);
$pa['ex_breakshield_log'] = 1;
}
else
{
$shield -= $ex_dmg;
$ex_dmg = 0;
set_skillpara('buff_shield','svar',$shield,$pd['clbpara']);
$pa['ex_shield_log'] = 1;
}
}
//计算是否能够施加属性异常 //计算是否能够施加属性异常
if(empty($pd['ex_def_flag']) && isset($ex_inf[$ex]) && strpos($pd['inf'],$ex_inf[$ex])===false) if(empty($pd['ex_def_flag']) && empty($pd['skill_buff_shield']) && isset($ex_inf[$ex]) && strpos($pd['inf'],$ex_inf[$ex])===false)
{ {
$dice = diceroll(99); $dice = diceroll(99);
//获取属性施加异常的基础概率 + 熟练度修正 //获取属性施加异常的基础概率 + 熟练度修正
...@@ -1320,15 +1379,35 @@ ...@@ -1320,15 +1379,35 @@
//整理后统一输出文本 //整理后统一输出文本
if(!empty($pa['ex_dmgpsh_log'])) $log .= $pa['ex_dmgpsh_log']; //由于对方已经xx xx伤害提升/降低 if(!empty($pa['ex_dmgpsh_log'])) $log .= $pa['ex_dmgpsh_log']; //由于对方已经xx xx伤害提升/降低
$log .= $exdmgname[$ex]; //xx $log .= $exdmgname[$ex]; //xx
if($ex_dmg)
{
if(!empty($pa['ex_dmgdef_log'])) $log .= "被防御效果抵消了!仅"; if(!empty($pa['ex_dmgdef_log'])) $log .= "被防御效果抵消了!仅";
$log .= "造成了<span class=\"red\">{$ex_dmg}</span>点伤害!"; $log .= "造成了<span class=\"red\">{$ex_dmg}</span>点伤害!";
if(!empty($pa['ex_dmginf_log'])) $log .= "并使{$pd['nm']}{$exdmginf[$pa['ex_dmginf_log']]}了!"; if(!empty($pa['ex_dmginf_log'])) $log .= "并使{$pd['nm']}{$exdmginf[$pa['ex_dmginf_log']]}了!";
$log .= "<br>"; $log .= "<br>";
if(!empty($pa['ex_breakshield_log'])) $log .= "<span class='red'>{$pd['nm']}的「护盾」被打破了!</span><br>";
$total_ex_dmg[] = $ex_dmg; $total_ex_dmg[] = $ex_dmg;
} }
else
{
if(!empty($pa['ex_shield_log'])) $log .= "被「护盾」抵消了!";
$log .= "没能造成伤害!<br>";
if(!empty($pa['ex_shield_log'])) $log .= "<span class='grey'>{$pd['nm']}的「护盾」效力减弱了……</span><br>";
}
}
return $total_ex_dmg; return $total_ex_dmg;
} }
//计算单个属性伤害上限
function get_ex_base_dmg_max(&$pa,&$pd,$active,$ex,$ex_dmg)
{
global $ex_max_dmg;
# 「过载」效果判定:
if($ex == 'e' && isset($pa['skill_c7_overload'])) return $ex_dmg;
if($ex_max_dmg[$ex]>0 && $ex_dmg>$ex_max_dmg[$ex]) $ex_dmg = $ex_max_dmg[$ex];
return $ex_dmg;
}
//计算单个属性伤害系数变化 //计算单个属性伤害系数变化
function get_ex_base_dmg_p(&$pa,&$pd,$active,$ex,$ex_dmg) function get_ex_base_dmg_p(&$pa,&$pd,$active,$ex,$ex_dmg)
{ {
...@@ -1516,11 +1595,20 @@ ...@@ -1516,11 +1595,20 @@
$log .= "<span class='gold'>{$pa['nm']}凌厉的攻势直接突破了{$pd['nm']}的伤害限制!</span><br>"; $log .= "<span class='gold'>{$pa['nm']}凌厉的攻势直接突破了{$pd['nm']}的伤害限制!</span><br>";
} }
else else
{
#「脉冲」效果判定:
if(isset($pa['bskill_c7_emp']) || isset($pd['bskill_c7_emp']))
{
$log .= "<span class='yellow'>在电磁脉冲的干扰下,伤害制御力场被无效化了!</span><br>";
$pa['bskill_c7_emp'] = 2;
}
else
{ {
$fin_dmg = 1950 + $dice; $fin_dmg = 1950 + $dice;
$log .= "在{$pd['nm']}的装备的作用下,攻击伤害被限制了!<br>"; $log .= "在{$pd['nm']}的装备的作用下,攻击伤害被限制了!<br>";
} }
} }
}
else else
{ {
$log .= "{$pd['nm']}的装备没能发挥限制攻击伤害的效果!<br>"; $log .= "{$pd['nm']}的装备没能发挥限制攻击伤害的效果!<br>";
...@@ -1538,6 +1626,14 @@ ...@@ -1538,6 +1626,14 @@
} }
} }
# 「护盾」效果判定
if(isset($pd['skill_buff_shield']))
{
$sk_var = get_skillpara('buff_shield','svar',$pd['clbpara']);
$fin_dmg = max(0,$fin_dmg - $sk_var);
$log .= "<span class=\"lime\">「护盾」使{$pd['nm']}受到的伤害降低了{$sk_var}点!</span><br>";
}
# 「爆头」技能效果 # 「爆头」技能效果
if(isset($pa['skill_c4_headshot']) && $fin_dmg > $pd['hp']*0.85 && $fin_dmg < $pd['hp']) if(isset($pa['skill_c4_headshot']) && $fin_dmg > $pd['hp']*0.85 && $fin_dmg < $pd['hp'])
{ {
...@@ -1563,11 +1659,27 @@ ...@@ -1563,11 +1659,27 @@
} else { } else {
$hp_d = floor($pa['hp']*4/5); $hp_d = floor($pa['hp']*4/5);
} }
if (in_array('H',$pa['ex_keys'])) { if (in_array('H',$pa['ex_keys']))
{
#「脉冲」效果判定:
if(isset($pa['bskill_c7_emp']) || isset($pd['bskill_c7_emp']))
{
$log .= "<span class='yellow'>在电磁脉冲的干扰下,HP制御力场被无效化了!</span><br>";
$pa['bskill_c7_emp'] = 2;
}
else
{
$hp_d = floor ( $hp_d / 10 ); $hp_d = floor ( $hp_d / 10 );
} }
}
# 「护盾」效果判定
if ($hp_d && isset($pa['skill_buff_shield']))
{
$hp_d = 0;
$log .= "<span class='yellow'>「护盾」使{$pa['nm']}免受反噬伤害!</span><br>";
}
# 「冰心」技能判定 # 「冰心」技能判定
if (isset($pa['skill_c9_iceheart'])) if ($hp_d && isset($pa['skill_c9_iceheart']))
{ {
$sk_r = 1 - (get_skillvars('c9_iceheart','hpshloss') / 100); $sk_r = 1 - (get_skillvars('c9_iceheart','hpshloss') / 100);
$hp_d = floor($hp_d * $sk_r); $hp_d = floor($hp_d * $sk_r);
...@@ -1589,7 +1701,7 @@ ...@@ -1589,7 +1701,7 @@
//防守方(pd)在受到伤害后触发的事件 //防守方(pd)在受到伤害后触发的事件
function get_hurt_events(&$pa,&$pd,$active) function get_hurt_events(&$pa,&$pd,$active)
{ {
global $log,$infinfo; global $log,$infinfo,$exdmginf;
# pd存在防具受损况,在这里应用 # pd存在防具受损况,在这里应用
if(!empty($pd['armor_hurt'])) if(!empty($pd['armor_hurt']))
...@@ -1603,7 +1715,54 @@ ...@@ -1603,7 +1715,54 @@
foreach($pd['inf_hurt'] as $which => $times) foreach($pd['inf_hurt'] as $which => $times)
{ {
$flag = get_inf_rev($pd,$which); $flag = get_inf_rev($pd,$which);
if($flag) $log .= "{$pd['nm']}的<span class=\"red\">$infinfo[$which]</span>部受伤了!<br>"; if($flag) $log .= "{$pd['nm']}{$exdmginf[$which]}了!<br>";
}
}
if(isset($pa['bskill_c7_electric']))
{
if(strpos($pd['inf'],'e')!==false)
{
$flag = get_skillinf_rev($pd,'inf_dizzy',get_skillvars('c7_electric','lasttimes'));
if($flag)
{
$log .= "<span class='yellow'>由于已经处于麻痹状态,狂暴的电流直接将{$pd['nm']}电晕了!</span><br>";
if(!$pd['type'] && $pd['nm']!='你') $pd['logsave'] .= "狂暴的电流直接将你电晕!<br>";
elseif(!$pa['type'] && $pa['nm']!='你') $pa['logsave'] .= "狂暴的电流直接将<span class=\"yellow\">{$pd['name']}</span>电晕!<br>";
}
}
else
{
$infr = get_skillvars('c7_electric','infr');
$dice = diceroll(99);
if($dice < $infr)
{
$flag = get_inf_rev($pd,'e');
$log .= "<span class='yellow'>「磁暴」使{$pd['nm']}{$exdmginf['e']}了!</span><br>";
}
else
{
$log .= "<span class='yellow'>{$pd['nm']}没有受到「磁暴」影响!</span><br>";
}
}
}
if(isset($pa['bskill_c7_emp']) && $pa['bskill_c7_emp'] > 1)
{
if(strpos($pd['inf'],'e')!==false)
{
$flag = get_skillinf_rev($pd,'inf_dizzy',get_skillvars('c7_electric','lasttimes'));
if($flag)
{
$log .= "<span class='yellow'>由于已经处于麻痹状态,狂暴的能量脉冲直接把{$pd['nm']}冲晕了过去!</span><br>";
if(!$pd['type'] && $pd['nm']!='你') $pd['logsave'] .= "狂暴的能量脉冲把你冲晕了过去!<br>";
elseif(!$pa['type'] && $pa['nm']!='你') $pa['logsave'] .= "狂暴的能量脉冲把<span class=\"yellow\">{$pd['name']}</span>冲晕了过去!<br>";
}
}
else
{
$flag = get_inf_rev($pd,'e');
$log .= "<span class='yellow'>「脉冲」使{$pd['nm']}{$exdmginf['e']}了!</span><br>";
} }
} }
...@@ -1646,6 +1805,15 @@ ...@@ -1646,6 +1805,15 @@
return 0; return 0;
} }
# 应用技能类异常
function get_skillinf_rev(&$pa,$sk,$last=0)
{
global $log;
$flag = getclubskill($sk,$pa['clbpara']);
if($last && $flag) set_lasttimes($sk,$last,$pa['clbpara']);
return $flag;
}
# 从异常状态中恢复 # 从异常状态中恢复
function heal_inf_rev(&$pa,$infnm) function heal_inf_rev(&$pa,$infnm)
{ {
...@@ -1662,7 +1830,7 @@ ...@@ -1662,7 +1830,7 @@
//打击结束,已经应用扣血后的事件结算 //打击结束,已经应用扣血后的事件结算
function rev_combat_result_events(&$pa,&$pd,$active) function rev_combat_result_events(&$pa,&$pd,$active)
{ {
global $log,$infinfo,$dtinfinfo; global $log,$infinfo,$exdmginf;
# 真蓝凝防守事件: # 真蓝凝防守事件:
if($pd['type'] == 19 && $pd['name'] == '蓝凝') if($pd['type'] == 19 && $pd['name'] == '蓝凝')
...@@ -1682,18 +1850,11 @@ ...@@ -1682,18 +1850,11 @@
{ {
$sk_lvl = get_skilllvl('c1_crit',$pa); $sk_lvl = get_skilllvl('c1_crit',$pa);
$sk_lst = get_skillvars('c1_crit','stuntime',$sk_lvl); $sk_lst = get_skillvars('c1_crit','stuntime',$sk_lvl);
getclubskill('inf_dizzy',$pd['clbpara']); $flag = get_skillinf_rev($pd,'inf_dizzy',$sk_lst);
set_lasttimes('inf_dizzy',$sk_lst,$pd['clbpara']); if($flag)
//$pd['clbpara']['lasttimes']['inf_dizzy'] = $sk_lst;
// 猛击logsave……先放这,以后再整理
global $now;
if(!$pd['type'] && $pd['nm']!='你')
{
$pd['logsave'] .= "凶猛的一击直接将你打晕了过去!<br>";
}
elseif(!$pa['type'] && $pa['nm']!='你')
{ {
$pa['logsave'] .= "你凶猛的一击直接将<span class=\"yellow\">{$pd['name']}}</span>打晕了过去!<br>"; if(!$pd['type'] && $pd['nm']!='你') $pd['logsave'] .= "凶猛的一击直接将你打晕了过去!<br>";
elseif(!$pa['type'] && $pa['nm']!='你') $pa['logsave'] .= "你凶猛的一击直接将<span class=\"yellow\">{$pd['name']}</span>打晕了过去!<br>";
} }
} }
...@@ -1711,7 +1872,7 @@ ...@@ -1711,7 +1872,7 @@
$flag = heal_inf_rev($pd,$heal_inf); $flag = heal_inf_rev($pd,$heal_inf);
if($flag) if($flag)
{ {
$log .= "<span class='yellow'>{$pd['nm']}敛神聚气,从{$dtinfinfo[$heal_inf]}中恢复了!</span><br>"; $log .= "<span class='yellow'>{$pd['nm']}敛神聚气,从{$exdmginf[$heal_inf]}中恢复了!</span><br>";
$pd['rage'] = max(255,$pd['rage']+get_skillvars('c9_iceheart','ragegain')); $pd['rage'] = max(255,$pd['rage']+get_skillvars('c9_iceheart','ragegain'));
} }
} }
...@@ -1786,7 +1947,7 @@ ...@@ -1786,7 +1947,7 @@
include_once GAME_ROOT.'./include/game/clubskills.func.php'; include_once GAME_ROOT.'./include/game/clubskills.func.php';
# 计算社团技能对躲避率的系数修正(旧): # 计算社团技能对躲避率的系数修正(旧):
$hide_r *= get_clubskill_bonus_hide($pd['club'],$pd['skills']); //$hide_r *= get_clubskill_bonus_hide($pd['club'],$pd['skills']);
# 计算社团技能对躲避率的定值修正: # 计算社团技能对躲避率的定值修正:
$hide_r = get_clbskill_hide_rate_fix($pa,$pd,$hide_r); $hide_r = get_clbskill_hide_rate_fix($pa,$pd,$hide_r);
...@@ -1822,7 +1983,7 @@ ...@@ -1822,7 +1983,7 @@
} }
# 计算社团技能对于先攻率的系数修正(旧): # 计算社团技能对于先攻率的系数修正(旧):
$active_r *= get_clubskill_bonus_active($pa['club'],$pa['skills'],$pd['club'],$pd['skills']); //$active_r *= get_clubskill_bonus_active($pa['club'],$pa['skills'],$pd['club'],$pd['skills']);
# 计算社团技能对于先攻率的定值修正(新): # 计算社团技能对于先攻率的定值修正(新):
$active_r = get_clbskill_active_rate_fix($pa,$pd,$active_r); $active_r = get_clbskill_active_rate_fix($pa,$pd,$active_r);
...@@ -1926,8 +2087,8 @@ ...@@ -1926,8 +2087,8 @@
# 鏖战状态下,将基础反击率修正为100 # 鏖战状态下,将基础反击率修正为100
if(isset($pd['is_dfight']) || isset($pa['is_dfight'])) $counter = 100; if(isset($pd['is_dfight']) || isset($pa['is_dfight'])) $counter = 100;
# 获取社团技能对反击率的修正 # 获取社团技能对反击率的修正(旧)
$counter *= rev_get_clubskill_bonus_counter($pd['club'],$pd['skills'],$pd,$pa['club'],$pa['skills'],$pa); //$counter *= rev_get_clubskill_bonus_counter($pd['club'],$pd['skills'],$pd,$pa['club'],$pa['skills'],$pa);
# 获取社团技能对反击率的修正(新) # 获取社团技能对反击率的修正(新)
$counter = get_clbskill_counterate($pd,$pa,$active,$counter); $counter = get_clbskill_counterate($pd,$pa,$active,$counter);
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
if($bsk_cost) $pa['rage'] -= $bsk_cost; if($bsk_cost) $pa['rage'] -= $bsk_cost;
# 成功释放主动技,应用标记 # 成功释放主动技,应用标记
$pa['bskill_'.$bsk] = 1; $pa['bskill_'.$bsk] = 1;
$pa['bskilllog'] .= "<span class=\"lime\">{$pa['nm']}{$pd['nm']}发动了技能「{$bsk_name}」!</span><br>"; $pa['bskilllog'] = "<span class=\"lime\">{$pa['nm']}{$pd['nm']}发动了技能「{$bsk_name}」!</span><br>";
# 限次技每次使用时次数+1 # 限次技每次使用时次数+1
if(get_skilltags($bsk,'limit')) if(get_skilltags($bsk,'limit'))
{ {
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
if($bsk_cost) $pa['rage'] -= $bsk_cost; if($bsk_cost) $pa['rage'] -= $bsk_cost;
# 成功释放主动技,应用标记 # 成功释放主动技,应用标记
$pa['bskill_'.$bsk] = 1; $pa['bskill_'.$bsk] = 1;
$log .= "<span class=\"lime\">{$pa['nm']}{$pd['nm']}发动了技能「{$bsk_name}」!</span><br>"; $pa['bskilllog'] = "<span class=\"lime\">{$pa['nm']}{$pd['nm']}发动了技能「{$bsk_name}」!</span><br>";
# 限次技每次使用时次数+1 # 限次技每次使用时次数+1
if(get_skilltags($bsk,'limit')) if(get_skilltags($bsk,'limit'))
{ {
...@@ -83,9 +83,10 @@ ...@@ -83,9 +83,10 @@
# 技能判定(被动型):这里通常只判定技能是否生效,如生效,提供一个标记 # 技能判定(被动型):这里通常只判定技能是否生效,如生效,提供一个标记
function attr_extra_passive_skills(&$pa,&$pd,$active,$sk='') function attr_extra_passive_skills(&$pa,&$pd,$active,$sk='')
{ {
global $cskills; global $cskills,$log;
if(!empty($pa['clbpara']['skill'])) if(!empty($pa['clbpara']['skill']))
{ {
$pa['skilllog'] = '';
# 遍历pa技能队列 检查是否解锁 # 遍历pa技能队列 检查是否解锁
foreach($pa['clbpara']['skill'] as $sk) foreach($pa['clbpara']['skill'] as $sk)
{ {
...@@ -100,17 +101,27 @@ ...@@ -100,17 +101,27 @@
# 「偷袭」或「闷棍」技能生效时,「猛击」必定触发; # 「偷袭」或「闷棍」技能生效时,「猛击」必定触发;
$sk_obbs = isset($pa['bskill_c1_stalk'])||isset($pa['bskill_c1_bjack']) ? 100 : get_skillvars('c1_crit','rate'); $sk_obbs = isset($pa['bskill_c1_stalk'])||isset($pa['bskill_c1_bjack']) ? 100 : get_skillvars('c1_crit','rate');
# 成功触发时 # 成功触发时
if($sk_dice < $sk_obbs) if($sk_dice < $sk_obbs) $pa['skill_c1_crit'] = 1;
{
$pa['skill_c1_crit'] = 1;
$pa['skill_c1_crit_log'] = "<span class=\"yellow\">{$pa['nm']}朝着{$pd['nm']}打出了凶猛的一击!<span class=\"clan\">{$pd['nm']}被打晕了过去!</span></span><br>";
}
} }
# 「枭眼」特殊判定:射程不小于对方时激活效果 # 「枭眼」特殊判定:射程不小于对方时激活效果
elseif($sk == 'c3_hawkeye' && $pa['wep_range'] >= $pd['wep_range']) elseif($sk == 'c3_hawkeye' && $pa['wep_range'] >= $pd['wep_range'])
{ {
$pa['skill_c3_hawkeye'] = 1; $pa['skill_c3_hawkeye'] = 1;
} }
# 「护盾」特殊判定:生命值不小于指定百分比时激活一个护盾
elseif($sk == 'c7_shield')
{
$sk_lvl = get_skilllvl('c7_shield',$pa);
$hpalert = get_skillvars('c7_shield','hpalert',$sk_lvl);
if($pa['hp'] <= $pa['mhp']*($hpalert/100))
{
getclubskill('buff_shield',$pa['clbpara']);
set_skillpara('buff_shield','svar',get_skillvars('c7_shield','svar',$sk_lvl),$data['clbpara']);
$pa['skill_buff_shield'] = 1;
//$pa['skilllog'] .= "<span class='lime'>感知到危险,闪烁着淡蓝幽光的护盾自动出现在{$pa['nm']}身旁!<br></span>";
$log .= "<span class='lime'>感知到危险,闪烁着淡蓝幽光的护盾自动出现在{$pa['nm']}身旁!<br></span>";
}
}
# 其他非特判技能,默认给一个触发标记 # 其他非特判技能,默认给一个触发标记
else else
{ {
...@@ -438,6 +449,12 @@ ...@@ -438,6 +449,12 @@
$sk_var = round($pa['att']/$ex_wep_dmg[$key]); $sk_var = round($pa['att']/$ex_wep_dmg[$key]);
$ex_dmg_fix += $sk_var; $ex_dmg_fix += $sk_var;
} }
# 「磁暴」效果判定:
if(isset($pa['bskill_c7_electric']) && $key == 'e')
{
$sk_var = get_skillvars('c7_electric','exdmgfix');
$ex_damage_fix += $sk_var;
}
return $ex_dmg_fix; return $ex_dmg_fix;
} }
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
$uskid = substr($event,9); $uskid = substr($event,9);
set_skillpara($uskid,'active',0,$para); set_skillpara($uskid,'active',0,$para);
} }
elseif(strpos($event,'setstarttimes_')===0)
{
$uskid = str_replace('setstarttimes_','',$event);
set_starttimes($uskid,$para);
}
} }
} }
$sk_key = array_search($sk,$para['skill']); $sk_key = array_search($sk,$para['skill']);
...@@ -95,7 +100,8 @@ ...@@ -95,7 +100,8 @@
function upgclbskills($sk,$nums=1,$choice=NULL) function upgclbskills($sk,$nums=1,$choice=NULL)
{ {
global $log,$club,$clbpara,$skillpoint,$gamecfg,$now; global $log,$club,$clbpara,$skillpoint,$gamecfg,$now;
global $cskills; global $cskills,$pdata;
include_once GAME_ROOT.'./include/game/revclubskills_extra.func.php';
# 合法性检查 # 合法性检查
$flag = check_can_upgclbskills($sk,$nums,$choice); $flag = check_can_upgclbskills($sk,$nums,$choice);
...@@ -132,9 +138,10 @@ ...@@ -132,9 +138,10 @@
{ {
foreach($cskill['events'] as $event) foreach($cskill['events'] as $event)
{ {
$flag = upgclbskills_events($event,$sk); $flag = upgclbskills_events($event,$sk,$pdata);
if(!$flag) break;
} }
# 会触发多个事件时,只要有一个事件成功触发就会继续升级流程 # 会触发多个事件时,只要有一个事件成功触发就会继续升级流程 # 什么脑瘫设计,赶紧改成反过来
if(!$flag) return; if(!$flag) return;
} }
# 检查技能升级是否会直接影响属性: # 检查技能升级是否会直接影响属性:
...@@ -169,159 +176,12 @@ ...@@ -169,159 +176,12 @@
if(!empty($cost)) $skillpoint -= $cost; if(!empty($cost)) $skillpoint -= $cost;
$log .= $clog; $log .= $clog;
# 存在复选框的技能,升级后重载技能页面 # 存在复选框的技能,升级后重载技能页面
//if(isset($cskill['num_input'])) if(empty($cskill['no_reload_page']))
//{ {
global $opendialog; global $opendialog;
$opendialog = 'skillpage'; $opendialog = 'skillpage';
//}
return;
}
# 升级指定技能会触发的事件,返回0时代表无法升级技能
function upgclbskills_events($event,$sk,$data=NULL)
{
global $log,$cskills,$clbpara,$name;
# 事件:激活技能
if($event == 'active_news')
{
addnews($now,'ask_'.$sk,$name);
return 1;
}
# 事件:治疗
if($event == 'heal')
{
# 事件效果:回复满生命、体力,并清空所有异常状态
global $hp,$mhp,$sp,$msp,$inf;
$heal_flag = 0;
if(!empty($inf))
{
$inf = '';
$heal_flag = 1;
$log .= "你的所有异常状态全部解除了!<br>";
}
if($hp < $mhp || $sp < $msp)
{
$hp = $mhp; $sp = $msp;
$heal_flag = 1;
$log .= "你的生命与体力完全恢复了!<br>";
}
if(!$heal_flag)
{
$log .= "你不需要使用这个技能!<br>";
return 0;
}
return 1;
}
# 事件:怒气充能
if($event == 'charge')
{
global $rage;
if($rage >= 255)
{
$log .= "你不需要使用这个技能!<br>";
return 0;
}
$rage = min(255,$rage + get_skillvars('c9_charge','rageadd'));
// 检查当前技能使用次数
$active_t = get_skillpara('c9_charge','active_t',$clbpara);
// 第3次使用时开始冷却
if($active_t+1 > get_skillvars('c9_charge','freet'))
{
$event = 'setstarttimes_c9_charge';
}
else
{
return 1;
}
}
# 事件:获取指定技能
if(strpos($event,'getskill_') === 0)
{
# 事件效果:获取一个登记过的技能
$gskid = substr($event,9);
if(isset($cskills[$gskid]))
{
getclubskill($gskid,$clbpara);
} }
else return;
{
$log .= "技能{$gskid}不存在!这可能是一个BUG,请联系管理员。<br>";
return 0;
}
return 1;
}
# 事件:为指定技能设置开始时间
if(strpos($event,'setstarttimes_') === 0)
{
$gskid = substr($event,14);
if(isset($cskills[$gskid]))
{
set_starttimes($gskid,$clbpara);
}
else
{
$log .= "技能{$gskid}不存在!这可能是一个BUG,请联系管理员。<br>";
return 0;
}
return 1;
}
# 事件:为指定技能设置持续时间
if(strpos($event,'setlasttimes_') === 0)
{
$gskarr = substr($event,13);
$gskarr = explode('+',$gskarr);
$gskid = $gskarr[0]; $gsklst = $gskarr[1];
if(isset($cskills[$gskid]) && $gsklst)
{
set_lasttimes($gskid,$gsklst,$clbpara);
}
else
{
$log .= "技能{$gskid}不存在或持续时间{$gsklst}无效!这可能是一个BUG,请联系管理员。<br>";
return 0;
}
}
# 事件:切换技能的激活状态
if(strpos($event,'active|') === 0)
{
$event = explode('|',$event); $sk = $event[1];
$now_active = get_skillpara($sk,'active',$clbpara);
$active = $now_active ? 0 : 1;
$log .= $active ? "<span class='yellow'>技能已激活!</span><br>" : "<span class='yellow'>停用了技能效果。</span><br>" ;
set_skillpara($sk,'active',$active,$clbpara);
}
# 事件:天运
if($event == 'c6_godluck' || $event == 'c6_godsend')
{
$dice0 = rand(1,2);
$dice1 = rand(get_skillvars($event,'flucmin'),get_skillvars($event,'flucmax'));
if($event == 'c6_godluck')
{
if($dice0 == 1)
{
set_skillpara($event,'accloss',get_skillpara($event,'accloss',$clbpara)+$dice1,$clbpara);
set_skillpara($event,'rbloss',get_skillpara($event,'rbloss',$clbpara)+$dice1,$clbpara);
}
else
{
set_skillpara($event,'accgain',get_skillpara($event,'accgain',$clbpara)+$dice1,$clbpara);
set_skillpara($event,'rbgain',get_skillpara($event,'rbgain',$clbpara)+$dice1,$clbpara);
}
}
else
{
if($dice0 == 1)
{
set_skillpara($event,'actgain',get_skillpara($event,'actgain',$clbpara)+$dice1,$clbpara);
set_skillpara($event,'hidegain',get_skillpara($event,'hidegain',$clbpara)+$dice1,$clbpara);
}
else
{
set_skillpara($event,'countergain',get_skillpara($event,'countergain',$clbpara)+$dice1,$clbpara);
}
}
}
return 1;
} }
# 升级技能时的合法性检查 # 升级技能时的合法性检查
...@@ -398,7 +258,8 @@ ...@@ -398,7 +258,8 @@
$st = get_starttimes($sk,$data['clbpara']); $st = get_starttimes($sk,$data['clbpara']);
if($st) if($st)
{ {
$cd = get_skillvars($sk,'cd'); if(isset($cskills[$sk]['maxlvl'])) $sklvl = get_skilllvl($sk,$data);
$cd = isset($sklvl) ? get_skillvars($sk,'cd',$sklvl) : get_skillvars($sk,'cd');
if($now < $st+$cd) if($now < $st+$cd)
{ {
$last_cd = $st+$cd-$now; $last_cd = $st+$cd-$now;
......
...@@ -6,35 +6,182 @@ ...@@ -6,35 +6,182 @@
# 新社团技能 - 特殊社团技能处理: # 新社团技能 - 特殊社团技能处理:
//include_once GAME_ROOT.'./include/game/dice.func.php'; # 升级指定技能会触发的事件,返回0时代表无法升级技能
function upgclbskills_events($event,$sk,&$data=NULL)
/*# 「百战」技能判定
function skill_c1_veteran_act($choice)
{ {
global $log,$pdata,$cskills,$club,$clbpara,$itemspkinfo; global $log,$cskills,$clbpara,$name;
if(!check_skill_unlock('c1_veteran',$pdata)) # 事件:激活技能
if($event == 'active_news')
{ {
$c_arr = get_skillvars('c1_veteran','defkind'); addnews($now,'ask_'.$sk,$name);
$cvar = &$clbpara['skillpara']['c1_veteran']['choice']; return 1;
if(empty($choice) || !in_array($choice,$c_arr)) }
# 事件:治疗
if($event == 'heal')
{ {
$log .= "选定的防御属性不存在!<br>"; # 事件效果:回复满生命、体力,并清空所有异常状态
return; global $hp,$mhp,$sp,$msp,$inf;
$heal_flag = 0;
if(!empty($inf))
{
$inf = '';
$heal_flag = 1;
$log .= "你的所有异常状态全部解除了!<br>";
} }
if($choice == $cvar) if($hp < $mhp || $sp < $msp)
{ {
$log .= "不能重复选择属性。<br>"; $hp = $mhp; $sp = $msp;
return; $heal_flag = 1;
$log .= "你的生命与体力完全恢复了!<br>";
} }
$cvar = $choice; if(!$heal_flag)
$log .= "防御属性已变更为<span class='yellow'>{$itemspkinfo[$choice]}</span>!<br>"; {
$log .= "你不需要使用这个技能!<br>";
return 0;
}
return 1;
}
# 事件:怒气充能
if($event == 'charge')
{
global $rage;
if($rage >= 255)
{
$log .= "你不需要使用这个技能!<br>";
return 0;
}
$rage = min(255,$rage + get_skillvars('c9_charge','rageadd'));
// 检查当前技能使用次数
$active_t = get_skillpara('c9_charge','active_t',$clbpara);
// 第3次使用时开始冷却
if($active_t+1 > get_skillvars('c9_charge','freet'))
{
$event = 'setstarttimes_c9_charge';
} }
else else
{ {
$log .= "「百战」技能未解锁!<br>"; return 1;
}
}
# 事件:广域探测
if($event == 'radar')
{
include_once GAME_ROOT.'./include/game/item2.func.php';
newradar(2);
return 1;
}
# 事件:获取指定技能
if(strpos($event,'getskill_') === 0)
{
# 事件效果:获取一个登记过的技能
$gskid = substr($event,9);
if(isset($cskills[$gskid]))
{
getclubskill($gskid,$clbpara);
}
else
{
$log .= "技能{$gskid}不存在!这可能是一个BUG,请联系管理员。<br>";
return 0;
}
return 1;
}
# 事件:为指定技能1设置技能2中的静态参数3
if(strpos($event,'setskillvars_') === 0)
{
$sk_arr = str_replace('setskillvars_','',$event);
$sk_arr = explode('|',$sk_arr);
if(count($sk_arr) == 3)
{
$sk0 = $sk_arr[0]; $sk1 = $sk_arr[1]; $sk_vars = $sk_arr[2];
$sk_vars = strpos($sk_vars,'+')!==false ? explode('+',$sk_vars) : Array($sk_vars);
if(isset($cskills[$sk1]['maxlvl'])) $sklvl = get_skilllvl($sk1,$data);
foreach($sk_vars as $var)
{
$sk_var = isset($sklvl) ? get_skillvars($sk1,$var,$sklvl) : get_skillvars($sk1,$var);
set_skillpara($sk0,$var,$sk_var,$data['clbpara']);
}
return 1;
}
else
{
$log .= "参数设置错误<br>";
return 0;
}
}
# 事件:为指定技能设置开始时间
if(strpos($event,'setstarttimes_') === 0)
{
$gskid = substr($event,14);
if(isset($cskills[$gskid]))
{
set_starttimes($gskid,$clbpara);
}
else
{
$log .= "技能{$gskid}不存在!这可能是一个BUG,请联系管理员。<br>";
return 0;
}
return 1;
}
# 事件:为指定技能设置持续时间
if(strpos($event,'setlasttimes_') === 0)
{
$gskarr = substr($event,13);
$gskarr = explode('+',$gskarr);
$gskid = $gskarr[0]; $gsklst = $gskarr[1];
if(isset($cskills[$gskid]) && $gsklst)
{
set_lasttimes($gskid,$gsklst,$clbpara);
}
else
{
$log .= "技能{$gskid}不存在或持续时间{$gsklst}无效!这可能是一个BUG,请联系管理员。<br>";
return 0;
}
}
# 事件:切换技能的激活状态
if(strpos($event,'active|') === 0)
{
$event = explode('|',$event); $sk = $event[1];
$now_active = get_skillpara($sk,'active',$clbpara);
$active = $now_active ? 0 : 1;
$log .= $active ? "<span class='yellow'>技能已激活!</span><br>" : "<span class='yellow'>停用了技能效果。</span><br>" ;
set_skillpara($sk,'active',$active,$clbpara);
}
# 事件:天运
if($event == 'c6_godluck' || $event == 'c6_godsend')
{
$dice0 = rand(1,2);
$dice1 = rand(get_skillvars($event,'flucmin'),get_skillvars($event,'flucmax'));
if($event == 'c6_godluck')
{
if($dice0 == 1)
{
set_skillpara($event,'accloss',get_skillpara($event,'accloss',$clbpara)+$dice1,$clbpara);
set_skillpara($event,'rbloss',get_skillpara($event,'rbloss',$clbpara)+$dice1,$clbpara);
}
else
{
set_skillpara($event,'accgain',get_skillpara($event,'accgain',$clbpara)+$dice1,$clbpara);
set_skillpara($event,'rbgain',get_skillpara($event,'rbgain',$clbpara)+$dice1,$clbpara);
}
}
else
{
if($dice0 == 1)
{
set_skillpara($event,'actgain',get_skillpara($event,'actgain',$clbpara)+$dice1,$clbpara);
set_skillpara($event,'hidegain',get_skillpara($event,'hidegain',$clbpara)+$dice1,$clbpara);
}
else
{
set_skillpara($event,'countergain',get_skillpara($event,'countergain',$clbpara)+$dice1,$clbpara);
}
}
}
return 1;
} }
return;
}*/
# 「穿杨」与「咆哮」解锁 # 「穿杨」与「咆哮」解锁
function skill_c4_unlock($csk) function skill_c4_unlock($csk)
......
...@@ -533,6 +533,7 @@ ...@@ -533,6 +533,7 @@
# 战斗技文本 # 战斗技文本
if(isset($pa['bskilllog'])) $log.= $pa['bskilllog']; if(isset($pa['bskilllog'])) $log.= $pa['bskilllog'];
if(isset($pa['bskilllog2'])) $log.= $pa['bskilllog2']; if(isset($pa['bskilllog2'])) $log.= $pa['bskilllog2'];
if(!empty($pa['skilllog'])) $log.= $pa['skilllog'];
# 命中次数大于0时 执行伤害判断 # 命中次数大于0时 执行伤害判断
if ($pa['hitrate_times'] > 0) if ($pa['hitrate_times'] > 0)
...@@ -543,7 +544,7 @@ ...@@ -543,7 +544,7 @@
{ {
$damage = $fix_dmg; $damage = $fix_dmg;
$pa['final_damage'] = $damage; $pa['final_damage'] = $damage;
if($damage <= 0) $log .= "<span class=\"yellow\">造成的总伤害:<span class=\"red\">$damage</span>。</span><br>"; if($damage == 0) $log .= "<span class=\"yellow\">造成的总伤害:<span class=\"red\">$damage</span>。</span><br>";
} }
//如无,则正常计算伤害 //如无,则正常计算伤害
else else
...@@ -587,8 +588,9 @@ ...@@ -587,8 +588,9 @@
} }
$damage = $damage > 1 ? round ( $damage ) : 1; //命中了至少会保留1点伤害 此所谓雁过拔毛 $damage = $damage > 1 ? round ( $damage ) : 1; //命中了至少会保留1点伤害 此所谓雁过拔毛
$log.="<span class=\"red\">$damage</span>点伤害!<br>"; $log.="<span class=\"red\">$damage</span>点伤害!<br>";
//最终物理伤害 //造成的最终物理伤害
$pdamage = $damage; $pdamage = $damage;
$pa['phy_damage'] = $pdamage;
# 物理伤害计算结束后、加载预受伤事件……: # 物理伤害计算结束后、加载预受伤事件……:
get_hurt_prepare_events($pa,$pd,$active); get_hurt_prepare_events($pa,$pd,$active);
...@@ -652,7 +654,8 @@ ...@@ -652,7 +654,8 @@
//存在额外的属性伤害文本,输出 //存在额外的属性伤害文本,输出
if(isset($elog)) $log .= $elog."=<span class=\"red\">{$ex_damage}</span>点属性伤害!<br>"; if(isset($elog)) $log .= $elog."=<span class=\"red\">{$ex_damage}</span>点属性伤害!<br>";
} }
//并入最终伤害 //将造成的最终属性伤害登记在$pa['ex_damage'] 并入最终伤害
$pa['ex_damage'] = $ex_damage;
$damage += $ex_damage; $damage += $ex_damage;
} }
...@@ -719,7 +722,7 @@ ...@@ -719,7 +722,7 @@
# active已经没用了……大概吧 # active已经没用了……大概吧
function rev_combat_result(&$pa,&$pd,$active) function rev_combat_result(&$pa,&$pd,$active)
{ {
global $log; global $log,$now;
# 执行扣血后的战斗结算阶段事件 # 执行扣血后的战斗结算阶段事件
rev_combat_result_events($pa,$pd,$active); rev_combat_result_events($pa,$pd,$active);
# 死者(受伤者)pd血量低于0时 结算击杀/复活事件 # 死者(受伤者)pd血量低于0时 结算击杀/复活事件
......
...@@ -597,7 +597,7 @@ function discover($schmode = 0) { ...@@ -597,7 +597,7 @@ function discover($schmode = 0) {
//include_once GAME_ROOT.'./include/game/dice.func.php'; //include_once GAME_ROOT.'./include/game/dice.func.php';
include_once GAME_ROOT.'./include/game/revbattle.func.php'; include_once GAME_ROOT.'./include/game/revbattle.func.php';
//刷新敌人时效性状态 //刷新敌人时效性状态
if(!empty($edata['clbpara']['lasttimes'])) check_skilllasttimes($edata); if(!empty($edata['clbpara']['lasttimes'])) $edata = check_skilllasttimes($edata);
//计算先攻概率 //计算先攻概率
$active_r = get_active_r_rev($pdata,$edata); $active_r = get_active_r_rev($pdata,$edata);
$bid = $edata['pid']; $bid = $edata['pid'];
......
...@@ -38,6 +38,11 @@ function init_icon_states(&$pa,$pd,$ismeet=0) ...@@ -38,6 +38,11 @@ function init_icon_states(&$pa,$pd,$ismeet=0)
function init_hp_states(&$pa,$pd,$ismeet=0) function init_hp_states(&$pa,$pd,$ismeet=0)
{ {
global $fog,$hpinfo,$spinfo,$rageinfo; global $fog,$hpinfo,$spinfo,$rageinfo;
# 「护盾」数值显示
if(!check_skill_unlock('buff_shield',$pa))
{
$pa['shield_info'] = "<span class=\"blueseed\" tooltip2=\"【护盾】:可抵消等同于护盾值的伤害。护盾值只在抵消属性伤害时消耗,抵消电击伤害时双倍消耗。护盾存在时不会受到反噬伤害或陷入异常状态。\">(".get_skillpara('buff_shield','svar',$pa['clbpara']).")</span>";
}
# 「天眼」技能判定 # 「天眼」技能判定
if(!check_skill_unlock('c6_godeyes',$pd)) if(!check_skill_unlock('c6_godeyes',$pd))
{ {
......
...@@ -538,7 +538,7 @@ function gameover($time = 0, $mode = '', $winname = '') { ...@@ -538,7 +538,7 @@ function gameover($time = 0, $mode = '', $winname = '') {
$pdata['getime'] = $time; $pdata['getime'] = $time;
$pdata['hdmg'] = $hdamage; $pdata['hdmg'] = $hdamage;
$pdata['hdp'] = $hplayer; $pdata['hdp'] = $hplayer;
$pdata['teamMate'] = !empty($team_mates) ? implode("+",$team_mates) : ''; $pdata['teamMate'] = !empty($team_mates) && count($team_mates)>1 ? implode("+",$team_mates) : '';
$pdata['teamIcon'] = !empty($team_mates) ? 1 : 0; $pdata['teamIcon'] = !empty($team_mates) ? 1 : 0;
$db->query("INSERT INTO {$tablepre}winners (gid,nick,name,pass,type,endtime,gd,sNo,icon,club,hp,mhp,sp,msp,ss,mss,att,def,pls,lvl,`exp`,money,bid,inf,rage,pose,tactic,killnum,killnum2,state,wp,wk,wg,wc,wd,wf,teamID,teamPass,teamMate,teamIcon,wep,wepk,wepe,weps,arb,arbk,arbe,arbs,arh,arhk,arhe,arhs,ara,arak,arae,aras,arf,arfk,arfe,arfs,art,artk,arte,arts,itm0,itmk0,itme0,itms0,itm1,itmk1,itme1,itms1,itm2,itmk2,itme2,itms2,itm3,itmk3,itme3,itms3,itm4,itmk4,itme4,itms4,itm5,itmk5,itme5,itms5,itm6,itmk6,itme6,itms6,motto,wmode,vnum,gtime,gstime,getime,hdmg,hdp,hkill,hkp,wepsk,arbsk,arhsk,arask,arfsk,artsk,itmsk0,itmsk1,itmsk2,itmsk3,itmsk4,itmsk5,itmsk6) VALUES ('".$gamenum."','".$pdata['nick']."','".$pdata['name']."','".$pdata['pass']."','".$pdata['type']."','".$pdata['endtime']."','".$pdata['gd']."','".$pdata['sNo']."','".$pdata['icon']."','".$pdata['club']."','".$pdata['hp']."','".$pdata['mhp']."','".$pdata['sp']."','".$pdata['msp']."','".$pdata['ss']."','".$pdata['mss']."','".$pdata['att']."','".$pdata['def']."','".$pdata['pls']."','".$pdata['lvl']."','".$pdata['exp']."','".$pdata['money']."','".$pdata['bid']."','".$pdata['inf']."','".$pdata['rage']."','".$pdata['pose']."','".$pdata['tactic']."','".$pdata['killnum']."','".$pdata['killnum2']."','".$pdata['state']."','".$pdata['wp']."','".$pdata['wk']."','".$pdata['wg']."','".$pdata['wc']."','".$pdata['wd']."','".$pdata['wf']."','".$pdata['teamID']."','".$pdata['teamPass']."','".$pdata['teamMate']."','".$pdata['teamIcon']."','".$pdata['wep']."','".$pdata['wepk']."','".$pdata['wepe']."','".$pdata['weps']."','".$pdata['arb']."','".$pdata['arbk']."','".$pdata['arbe']."','".$pdata['arbs']."','".$pdata['arh']."','".$pdata['arhk']."','".$pdata['arhe']."','".$pdata['arhs']."','".$pdata['ara']."','".$pdata['arak']."','".$pdata['arae']."','".$pdata['aras']."','".$pdata['arf']."','".$pdata['arfk']."','".$pdata['arfe']."','".$pdata['arfs']."','".$pdata['art']."','".$pdata['artk']."','".$pdata['arte']."','".$pdata['arts']."','".$pdata['itm0']."','".$pdata['itmk0']."','".$pdata['itme0']."','".$pdata['itms0']."','".$pdata['itm1']."','".$pdata['itmk1']."','".$pdata['itme1']."','".$pdata['itms1']."','".$pdata['itm2']."','".$pdata['itmk2']."','".$pdata['itme2']."','".$pdata['itms2']."','".$pdata['itm3']."','".$pdata['itmk3']."','".$pdata['itme3']."','".$pdata['itms3']."','".$pdata['itm4']."','".$pdata['itmk4']."','".$pdata['itme4']."','".$pdata['itms4']."','".$pdata['itm5']."','".$pdata['itmk5']."','".$pdata['itme5']."','".$pdata['itms5']."','".$pdata['itm6']."','".$pdata['itmk6']."','".$pdata['itme6']."','".$pdata['itms6']."','".$pdata['motto']."','".$pdata['wmode']."','".$pdata['vnum']."','".$pdata['gtime']."','".$pdata['gstime']."','".$pdata['getime']."','".$pdata['hdmg']."','".$pdata['hdp']."','".$pdata['hkill']."','".$pdata['hkp']."','".$pdata['wepsk']."','".$pdata['arbsk']."','".$pdata['arhsk']."','".$pdata['arask']."','".$pdata['arfsk']."','".$pdata['artsk']."','".$pdata['itmsk0']."','".$pdata['itmsk1']."','".$pdata['itmsk2']."','".$pdata['itmsk3']."','".$pdata['itmsk4']."','".$pdata['itmsk5']."','".$pdata['itmsk6']."')"); $db->query("INSERT INTO {$tablepre}winners (gid,nick,name,pass,type,endtime,gd,sNo,icon,club,hp,mhp,sp,msp,ss,mss,att,def,pls,lvl,`exp`,money,bid,inf,rage,pose,tactic,killnum,killnum2,state,wp,wk,wg,wc,wd,wf,teamID,teamPass,teamMate,teamIcon,wep,wepk,wepe,weps,arb,arbk,arbe,arbs,arh,arhk,arhe,arhs,ara,arak,arae,aras,arf,arfk,arfe,arfs,art,artk,arte,arts,itm0,itmk0,itme0,itms0,itm1,itmk1,itme1,itms1,itm2,itmk2,itme2,itms2,itm3,itmk3,itme3,itms3,itm4,itmk4,itme4,itms4,itm5,itmk5,itme5,itms5,itm6,itmk6,itme6,itms6,motto,wmode,vnum,gtime,gstime,getime,hdmg,hdp,hkill,hkp,wepsk,arbsk,arhsk,arask,arfsk,artsk,itmsk0,itmsk1,itmsk2,itmsk3,itmsk4,itmsk5,itmsk6) VALUES ('".$gamenum."','".$pdata['nick']."','".$pdata['name']."','".$pdata['pass']."','".$pdata['type']."','".$pdata['endtime']."','".$pdata['gd']."','".$pdata['sNo']."','".$pdata['icon']."','".$pdata['club']."','".$pdata['hp']."','".$pdata['mhp']."','".$pdata['sp']."','".$pdata['msp']."','".$pdata['ss']."','".$pdata['mss']."','".$pdata['att']."','".$pdata['def']."','".$pdata['pls']."','".$pdata['lvl']."','".$pdata['exp']."','".$pdata['money']."','".$pdata['bid']."','".$pdata['inf']."','".$pdata['rage']."','".$pdata['pose']."','".$pdata['tactic']."','".$pdata['killnum']."','".$pdata['killnum2']."','".$pdata['state']."','".$pdata['wp']."','".$pdata['wk']."','".$pdata['wg']."','".$pdata['wc']."','".$pdata['wd']."','".$pdata['wf']."','".$pdata['teamID']."','".$pdata['teamPass']."','".$pdata['teamMate']."','".$pdata['teamIcon']."','".$pdata['wep']."','".$pdata['wepk']."','".$pdata['wepe']."','".$pdata['weps']."','".$pdata['arb']."','".$pdata['arbk']."','".$pdata['arbe']."','".$pdata['arbs']."','".$pdata['arh']."','".$pdata['arhk']."','".$pdata['arhe']."','".$pdata['arhs']."','".$pdata['ara']."','".$pdata['arak']."','".$pdata['arae']."','".$pdata['aras']."','".$pdata['arf']."','".$pdata['arfk']."','".$pdata['arfe']."','".$pdata['arfs']."','".$pdata['art']."','".$pdata['artk']."','".$pdata['arte']."','".$pdata['arts']."','".$pdata['itm0']."','".$pdata['itmk0']."','".$pdata['itme0']."','".$pdata['itms0']."','".$pdata['itm1']."','".$pdata['itmk1']."','".$pdata['itme1']."','".$pdata['itms1']."','".$pdata['itm2']."','".$pdata['itmk2']."','".$pdata['itme2']."','".$pdata['itms2']."','".$pdata['itm3']."','".$pdata['itmk3']."','".$pdata['itme3']."','".$pdata['itms3']."','".$pdata['itm4']."','".$pdata['itmk4']."','".$pdata['itme4']."','".$pdata['itms4']."','".$pdata['itm5']."','".$pdata['itmk5']."','".$pdata['itme5']."','".$pdata['itms5']."','".$pdata['itm6']."','".$pdata['itmk6']."','".$pdata['itme6']."','".$pdata['itms6']."','".$pdata['motto']."','".$pdata['wmode']."','".$pdata['vnum']."','".$pdata['gtime']."','".$pdata['gstime']."','".$pdata['getime']."','".$pdata['hdmg']."','".$pdata['hdp']."','".$pdata['hkill']."','".$pdata['hkp']."','".$pdata['wepsk']."','".$pdata['arbsk']."','".$pdata['arhsk']."','".$pdata['arask']."','".$pdata['arfsk']."','".$pdata['artsk']."','".$pdata['itmsk0']."','".$pdata['itmsk1']."','".$pdata['itmsk2']."','".$pdata['itmsk3']."','".$pdata['itmsk4']."','".$pdata['itmsk5']."','".$pdata['itmsk6']."')");
} }
......
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
</tr> </tr>
<tr> <tr>
<td class="b2" width=70px height=20px><span>{lang hp}</span></td> <td class="b2" width=70px height=20px><span>{lang hp}</span></td>
<td class="b3" width=170px><span><span class="$hpcolor">$sdata['hp'] / $sdata['mhp']</span></span></td> <td class="b3" width=170px><span><span class="$hpcolor"><!--{if isset($sdata['shield_info'])}-->{$sdata['shield_info']}<!--{/if}-->$sdata['hp'] / $sdata['mhp']</span></span></td>
<td class="b2" width=70px><span>{lang sp}</span></td> <td class="b2" width=70px><span>{lang sp}</span></td>
<td class="b3" width=105px><span>$sdata['sp'] / $sdata['msp']</span></td> <td class="b3" width=105px><span>$sdata['sp'] / $sdata['msp']</span></td>
<td class="b2" width=70px><span>{lang rage}</span></td> <td class="b2" width=70px><span>{lang rage}</span></td>
......
...@@ -104,14 +104,14 @@ ...@@ -104,14 +104,14 @@
<!-- 第 4 行:地区功能--> <!-- 第 4 行:地区功能-->
<!--{if in_array($pls,$shops)}--> <!--{if in_array($pls,$shops)}-->
<input type="button" class="cmdbutton" id="sp_shop" name="sp_shop" value="商店" onclick="$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_shop';postCmd('gamecmd','command.php');this.disabled=true;"> <input type="button" class="cmdbutton" id="sp_shop" name="sp_shop" value="商店" onclick="$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_shop';postCmd('gamecmd','command.php');this.disabled=true;">
<br>
<!--{/if}--> <!--{/if}-->
<!--{if in_array($pls,$depots)}--> <!--{if in_array($pls,$depots)}-->
<span tooltip="向安全箱中存入或取出道具"> <span tooltip="向安全箱中存入或取出道具">
<input type="button" class="cmdbutton" id="sp_depot" name="sp_depot" value="安全箱" onclick="$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_depot';postCmd('gamecmd','command.php');this.disabled=true;"> <input type="button" class="cmdbutton" id="sp_depot" name="sp_depot" value="安全箱" onclick="$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_depot';postCmd('gamecmd','command.php');this.disabled=true;">
</span> </span>
<!--{/if}-->
<input type="button" class="cmdbutton" id="sp_skpts" name="sp_skpts" value="升级技能" onclick="$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_skpts';postCmd('gamecmd','command.php');this.disabled=true;">
<br> <br>
<!--{/if}-->
<!-- 第 5 行:社团特殊功能--> <!-- 第 5 行:社团特殊功能-->
<!--{if $club == 7}--> <!--{if $club == 7}-->
......
...@@ -149,7 +149,14 @@ ...@@ -149,7 +149,14 @@
</span> </span>
</td> </td>
<td class="b2"><span>{lang hp}</span></td> <td class="b2"><span>{lang hp}</span></td>
<td class="b3"><span><span class="<!--{if $hp <= $mhp*0.2}-->red<!--{elseif $hp <= $mhp*0.5}-->yellow<!--{else}-->clan<!--{/if}-->">$hp / $mhp</span></span></td> <td class="b3">
<span>
<span class="<!--{if $hp <= $mhp*0.2}-->red<!--{elseif $hp <= $mhp*0.5}-->yellow<!--{else}-->clan<!--{/if}-->">
<!--{if isset($shield_info)}-->{$shield_info}<!--{/if}-->
$hp / $mhp
</span>
</span>
</td>
<td class="b2"><span>{lang skillpoint}</span></td> <td class="b2"><span>{lang skillpoint}</span></td>
<td class="b3"><!--{if $skillpoint > 0}--><span class="lime">$skillpoint</span><!--{else}--><span>$skillpoint</span><!--{/if}--></td> <td class="b3"><!--{if $skillpoint > 0}--><span class="lime">$skillpoint</span><!--{else}--><span>$skillpoint</span><!--{/if}--></td>
</tr> </tr>
......
...@@ -124,8 +124,8 @@ if($mode == 'enter') { ...@@ -124,8 +124,8 @@ if($mode == 'enter') {
//$itm[6] = '银白盒子'; $itmk[6] = 'p'; $itme[6] = 1; $itms[6] = 1; $itmsk[6] = 'ps'; //$itm[6] = '银白盒子'; $itmk[6] = 'p'; $itme[6] = 1; $itms[6] = 1; $itmsk[6] = 'ps';
$itm[5] = '秋刀鱼罐头'; $itmk[5] = 'HB'; $itme[5] = 70; $itms[5] = 15; $itm[5] = '秋刀鱼罐头'; $itmk[5] = 'HB'; $itme[5] = 70; $itms[5] = 15;
//$itm[5] = 'GRAND OPENING 「开门大吉」'; $itmk[5] = 'p000'; $itme[5] = 1; $itms[5] = 1; //$itm[5] = 'GRAND OPENING 「开门大吉」'; $itmk[5] = 'p000'; $itme[5] = 1; $itms[5] = 1;
$dice = rand(1,7); $dice = rand(4,8);
if($dice == 7) $dice = 9; if($dice == 8) $dice = 9;
$dice_name = $clubinfo[$dice]; $dice_name = $clubinfo[$dice];
$itm[5] = '「'.$dice_name.' 社团卡」'; $itmk[5] = 'ZB'; $itme[5] = $dice; $itms[5] = 1; $itm[5] = '「'.$dice_name.' 社团卡」'; $itmk[5] = 'ZB'; $itme[5] = $dice; $itms[5] = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment