Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
phpdts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nemo Ma
phpdts
Commits
c8b3375b
Commit
c8b3375b
authored
Mar 07, 2023
by
Nemo Ma
Committed by
GitHub
Mar 07, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #48 from hikawiier/waaagh
rev combat phase 3.16
parents
3bcb080a
980fb95e
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
728 additions
and
168 deletions
+728
-168
command.php
command.php
+10
-14
game.php
game.php
+2
-2
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+201
-27
include/game/itemmain.func.php
include/game/itemmain.func.php
+1
-1
include/game/revattr.func.php
include/game/revattr.func.php
+173
-38
include/game/revattr_extra.func.php
include/game/revattr_extra.func.php
+65
-0
include/game/revbattle.func.php
include/game/revbattle.func.php
+1
-0
include/game/revclubskills.func.php
include/game/revclubskills.func.php
+73
-53
include/game/revclubskills_extra.func.php
include/game/revclubskills_extra.func.php
+37
-9
include/game/revcombat.func.php
include/game/revcombat.func.php
+55
-20
templates/default/skill_c4_roar.htm
templates/default/skill_c4_roar.htm
+50
-0
templates/default/skill_c4_sniper.htm
templates/default/skill_c4_sniper.htm
+50
-0
templates/default/skill_sample/skill_技能编号.htm
templates/default/skill_sample/skill_技能编号.htm
+10
-4
No files found.
command.php
View file @
c8b3375b
...
@@ -595,26 +595,22 @@ if($hp > 0){
...
@@ -595,26 +595,22 @@ if($hp > 0){
$mode
=
'command'
;
$mode
=
'command'
;
}
elseif
(
$mode
==
'revskpts'
)
{
}
elseif
(
$mode
==
'revskpts'
)
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
if
(
strpos
(
$command
,
'upgskill_'
)
!==
false
)
$sk
=
substr
(
$command
,
9
);
if
(
isset
(
$cskills
[
$sk
]))
{
{
$sk
=
substr
(
$command
,
9
);
if
(
strpos
(
$command
,
'upgskill_'
)
!==
false
)
if
(
isset
(
$
{
$command
.
'_nums'
}))
{
{
$
{
$command
.
'_nums'
}
=
(
int
)
$
{
$command
.
'_nums'
};
# 升级技能
upgclbskills
(
$sk
,
$
{
$command
.
'_nums'
});
$nums
=
isset
(
$
{
$command
.
'_nums'
})
?
(
int
)
$
{
$command
.
'_nums'
}
:
1
;
}
upgclbskills
(
$sk
,
$nums
);
else
{
upgclbskills
(
$sk
);
}
}
}
elseif
(
strpos
(
$command
,
'actskill_'
)
!==
false
)
elseif
(
strpos
(
$command
,
'actskill_'
)
!==
false
)
{
$sk
=
substr
(
$command
,
9
);
if
(
isset
(
$cskills
[
$sk
])
&&
!
check_skill_unlock
(
$sk
,
$pdata
))
{
{
# 其他特殊技能按钮
include_once
GAME_ROOT
.
'./include/game/revclubskills_extra.func.php'
;
include_once
GAME_ROOT
.
'./include/game/revclubskills_extra.func.php'
;
if
(
$sk
==
'c1_veteran'
)
skill_c1_veteran_act
(
$c1_veteran_choice
);
if
(
$sk
==
'c1_veteran'
)
skill_c1_veteran_act
(
$c1_veteran_choice
);
elseif
(
$sk
==
'c4_roar'
||
$sk
==
'c4_sniper'
)
skill_c4_unlock
(
$sk
);
}
}
}
}
$mode
=
'command'
;
$mode
=
'command'
;
...
...
game.php
View file @
c8b3375b
...
@@ -36,7 +36,7 @@ if($gamestate == 0) {
...
@@ -36,7 +36,7 @@ if($gamestate == 0) {
}
}
$pdata
[
'clbpara'
]
=
get_clbpara
(
$pdata
[
'clbpara'
]);
$pdata
[
'clbpara'
]
=
get_clbpara
(
$pdata
[
'clbpara'
]);
extract
(
$pdata
);
extract
(
$pdata
,
EXTR_REFS
);
init_playerdata
();
init_playerdata
();
init_profile
();
init_profile
();
...
@@ -140,7 +140,7 @@ if($hp > 0 && !empty($clbpara['lasttimes']))
...
@@ -140,7 +140,7 @@ if($hp > 0 && !empty($clbpara['lasttimes']))
{
{
$pdata
=
current_player_save
();
$pdata
=
current_player_save
();
$pdata
[
'clbpara'
]
=
get_clbpara
(
$pdata
[
'clbpara'
]);
$pdata
[
'clbpara'
]
=
get_clbpara
(
$pdata
[
'clbpara'
]);
extract
(
$pdata
);
extract
(
$pdata
,
EXTR_REFS
);
init_playerdata
();
init_playerdata
();
init_profile
();
init_profile
();
}
}
...
...
gamedata/cache/clubskills_1.php
View file @
c8b3375b
This diff is collapsed.
Click to expand it.
include/game/itemmain.func.php
View file @
c8b3375b
...
@@ -1202,7 +1202,7 @@ function armor_hurt(&$pa,$which,$hurtvalue,$check_sk=0)
...
@@ -1202,7 +1202,7 @@ function armor_hurt(&$pa,$which,$hurtvalue,$check_sk=0)
{
{
global
$log
,
$nosta
;
global
$log
,
$nosta
;
if
(
!
empty
(
$pa
[
$which
.
's'
]))
if
(
!
empty
(
$pa
[
$which
.
's'
])
&&
!
empty
(
$hurtvalue
)
)
{
{
//无限耐久的防具可以抵挡1次任意点损耗
//无限耐久的防具可以抵挡1次任意点损耗
if
(
$pa
[
$which
.
's'
]
==
$nosta
)
if
(
$pa
[
$which
.
's'
]
==
$nosta
)
...
...
include/game/revattr.func.php
View file @
c8b3375b
...
@@ -50,6 +50,13 @@
...
@@ -50,6 +50,13 @@
global
$rangeinfo
;
global
$rangeinfo
;
if
(
empty
(
$pa
[
'wep_kind'
]))
get_wep_kind
(
$pa
);
if
(
empty
(
$pa
[
'wep_kind'
]))
get_wep_kind
(
$pa
);
$range
=
isset
(
$rangeinfo
[
$pa
[
'wep_kind'
]])
?
$rangeinfo
[
$pa
[
'wep_kind'
]]
:
NULL
;
$range
=
isset
(
$rangeinfo
[
$pa
[
'wep_kind'
]])
?
$rangeinfo
[
$pa
[
'wep_kind'
]]
:
NULL
;
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
]))
{
//获取命中倍率加成
$sk_rn
=
get_skillvars
(
'c4_sniper'
,
'rangegain'
);
$range
+=
$sk_rn
;
}
return
$range
;
return
$range
;
}
}
...
@@ -119,7 +126,7 @@
...
@@ -119,7 +126,7 @@
function
get_extra_ex_array
(
&
$pa
)
function
get_extra_ex_array
(
&
$pa
)
{
{
global
$log
;
global
$log
;
#
百战技能特效
#
「百战」效果判定:
if
(
isset
(
$pa
[
'skill_c1_veteran'
]))
if
(
isset
(
$pa
[
'skill_c1_veteran'
]))
{
{
$sk_def
=
get_skillpara
(
'c1_veteran'
,
'choice'
,
$pa
[
'clbpara'
]);
$sk_def
=
get_skillpara
(
'c1_veteran'
,
'choice'
,
$pa
[
'clbpara'
]);
...
@@ -130,6 +137,12 @@
...
@@ -130,6 +137,12 @@
//$log .= "百战使{$pa['nm']}拥有了【{$itemspkinfo[$sk_def]}】属性!<br>";
//$log .= "百战使{$pa['nm']}拥有了【{$itemspkinfo[$sk_def]}】属性!<br>";
}
}
}
}
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
])
&&
in_array
(
'r'
,
$pa
[
'ex_keys'
]))
{
$key
=
array_search
(
'r'
,
$pa
[
'ex_keys'
]);
unset
(
$pa
[
'ex_keys'
][
$key
]);
}
return
;
return
;
}
}
...
@@ -277,7 +290,7 @@
...
@@ -277,7 +290,7 @@
//获取社团技能对基础命中率的修正
//获取社团技能对基础命中率的修正
$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
);
//异常状态状态修正
//异常状态状态修正
foreach
(
$inf_htr_p
as
$inf_ky
=>
$value
)
foreach
(
$inf_htr_p
as
$inf_ky
=>
$value
)
{
{
...
@@ -299,15 +312,19 @@
...
@@ -299,15 +312,19 @@
//获取社团技能对连击命中率衰减系数的修正
//获取社团技能对连击命中率衰减系数的修正
$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_points
=
rev_get_clubskill_bonus_imftime
(
$pa
[
'club'
],
$pa
[
'skills'
],
$pa
,
$pd
[
'club'
],
$pd
[
'skills'
],
$pd
);
$inf_points
=
1
;
//$inf_points = rev_get_clubskill_bonus_imftime($pa['club'],$pa['skills'],$pa,$pd['club'],$pd['skills'],$pd);
//获取社团技能对基础致伤效果(每次致伤会损耗多少点防具耐久)的修正(新)
$inf_points
=
get_clbskill_inftimes
(
$pa
,
$pd
,
$active
,
$inf_points
);
//获取武器损耗类型
//获取武器损耗类型
$wep_imp
=
$wepimprate
[
$pa
[
'wep_kind'
]];
$wep_imp
=
$wepimprate
[
$pa
[
'wep_kind'
]];
//武器是损耗型而非消耗型
//武器是损耗型而非消耗型
...
@@ -841,7 +858,36 @@
...
@@ -841,7 +858,36 @@
//输出log
//输出log
$log
.=
$pa
[
'skill_c1_crit_log'
];
$log
.=
$pa
[
'skill_c1_crit_log'
];
}
}
#「瞄准」判定:
if
(
isset
(
$pa
[
'skill_c4_aiming'
]))
{
//获取瞄准倍率
$sk_p
=
get_skillvars
(
'c4_aiming'
,
'phydmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$dmg_p
[]
=
$p
;
//输出log
$log
.=
"<span class='yellow'>「瞄准」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
#「咆哮」判定:
if
(
isset
(
$pa
[
'skill_c4_roar'
]))
{
//获取倍率
$sk_p
=
get_skillvars
(
'c4_roar'
,
'phydmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$dmg_p
[]
=
$p
;
//输出log
$log
.=
"<span class='yellow'>「咆哮」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
#「穿杨」判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
]))
{
//获取倍率
$sk_p
=
get_skillvars
(
'c4_sniper'
,
'phydmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$dmg_p
[]
=
$p
;
//输出log
$log
.=
"<span class='yellow'>「穿杨」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
return
$dmg_p
;
return
$dmg_p
;
}
}
...
@@ -923,6 +969,20 @@
...
@@ -923,6 +969,20 @@
$log
.=
"
{
$pa
[
'nm'
]
}
的攻击无视了
{
$pd
[
'nm'
]
}
的伤害减半效果!<br>"
;
$log
.=
"
{
$pa
[
'nm'
]
}
的攻击无视了
{
$pd
[
'nm'
]
}
的伤害减半效果!<br>"
;
}
}
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
])
&&
!
isset
(
$pa
[
'pierce_flag'
])
&&
!
empty
(
$pd
[
'phy_def_flag'
]))
{
$dice
=
diceroll
(
99
);
# 冴冴说这应该是odds……但是对不起,已经太迟了……^ ^;
$obbs
=
get_skillvars
(
'c4_sniper'
,
'prfix'
);
if
(
$dice
<
$obbs
)
{
$pa
[
'pierce_flag'
]
=
1
;
$pd
[
'phy_def_flag'
]
=
0
;
$log
.=
"<span class=
\"
yellow
\"
>
{
$pa
[
'nm'
]
}
的攻击贯穿了
{
$pd
[
'nm'
]
}
的防具!</span><br>"
;
}
}
return
;
return
;
}
}
...
@@ -1004,6 +1064,48 @@
...
@@ -1004,6 +1064,48 @@
return
$dmg_p
;
return
$dmg_p
;
}
}
//预受伤事件:
//提取判断pd是否防具受损、受伤,但log在结尾统一输出
function
get_hurt_prepare_events
(
&
$pa
,
&
$pd
,
$active
)
{
global
$infatt_rev
;
# pa致伤次数>0时,计算pd防具受损或致伤情况
if
(
$pa
[
'inf_times'
]
>
0
)
{
//获取可致伤部位
$inf_parts
=
$infatt_rev
[
$pa
[
'wep_kind'
]];
$inf_att
=
Array
();
for
(
$i
=
0
;
$i
<
$pa
[
'inf_times'
];
$i
++
)
{
//随机选择一个可致伤的部位
$aim
=
rand
(
0
,
count
(
$inf_parts
)
-
1
);
$inf_aim
=
$inf_parts
[
$aim
];
//对应部位致伤次数+1
$inf_att
[
$inf_aim
]
=
isset
(
$inf_att
[
$inf_aim
])
?
$inf_att
[
$inf_aim
]
+
1
:
1
;
}
//记载防具受损、受伤情况
if
(
!
empty
(
$inf_att
))
{
$pd
[
'armor_hurt'
]
=
Array
(
'arb'
=>
0
,
'arh'
=>
0
,
'ara'
=>
0
,
'arf'
=>
0
,);
foreach
(
$inf_att
as
$ipt
=>
$times
)
{
$which
=
'ar'
.
$ipt
;
if
(
!
isset
(
$
{
'temp_'
.
$which
.
's'
}))
$
{
'temp_'
.
$which
.
's'
}
=
$pd
[
$which
.
's'
];
if
(
$
{
'temp_'
.
$which
.
's'
}
>
0
)
{
$
{
'temp_'
.
$which
.
's'
}
-=
$times
;
$pd
[
'armor_hurt'
][
$which
]
+=
$times
;
}
else
{
$pd
[
'inf_hurt'
][
$ipt
]
=
1
;
}
}
}
}
return
;
}
//获取pa能造成的属性伤害队列
//获取pa能造成的属性伤害队列
function
get_base_ex_att_array
(
&
$pa
,
&
$pd
,
$active
)
function
get_base_ex_att_array
(
&
$pa
,
&
$pd
,
$active
)
{
{
...
@@ -1181,6 +1283,24 @@
...
@@ -1181,6 +1283,24 @@
return
$total_ex_dmg
;
return
$total_ex_dmg
;
}
}
//计算属性总伤害加成
function
get_ex_dmg_p
(
&
$pa
,
&
$pd
,
$active
)
{
global
$log
;
$ex_dmg_p
=
Array
();
#「咆哮」判定:
if
(
isset
(
$pa
[
'skill_c4_roar'
]))
{
//获取倍率
$sk_p
=
get_skillvars
(
'c4_roar'
,
'exdmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$ex_dmg_p
[]
=
$p
;
//输出log
$log
.=
"<span class='yellow'>「咆哮」使
{
$pa
[
'nm'
]
}
造成的属性伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
return
$ex_dmg_p
;
}
//计算最终伤害的系数变化
//计算最终伤害的系数变化
function
get_final_dmg_p
(
&
$pa
,
&
$pd
,
$active
)
function
get_final_dmg_p
(
&
$pa
,
&
$pd
,
$active
)
{
{
...
@@ -1191,11 +1311,13 @@
...
@@ -1191,11 +1311,13 @@
if
(
isset
(
$pa
[
'skill_c2_raiding'
]))
if
(
isset
(
$pa
[
'skill_c2_raiding'
]))
{
{
$sk_p
=
get_skillvars
(
'c2_raiding'
,
'findmgr'
);
$sk_p
=
get_skillvars
(
'c2_raiding'
,
'findmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
if
(
$sk_p
)
$log
.=
"<span class='yellow'>「强袭」使
{
$pa
[
'nm'
]
}
造成的最终伤害提高了
{
$sk_p
}
%!</span><br>"
;
{
$fin_dmg_p
[]
=
$p
;
$p
=
1
+
(
$sk_p
/
100
);
$log
.=
"<span class='yellow'>「强袭」使
{
$pa
[
'nm'
]
}
造成的最终伤害提高了
{
$sk_p
}
%!</span><br>"
;
$fin_dmg_p
[]
=
$p
;
}
}
}
# 「歼灭」效果判定:
# 「歼灭」效果判定:
if
(
isset
(
$pa
[
'skill_buff_annihil'
]))
if
(
isset
(
$pa
[
'skill_buff_annihil'
]))
{
{
...
@@ -1205,8 +1327,27 @@
...
@@ -1205,8 +1327,27 @@
if
(
$sk_dice
<
$sk_obbs
)
if
(
$sk_dice
<
$sk_obbs
)
{
{
$sk_p
=
get_skillvars
(
'buff_annihil'
,
'findmgr'
);
$sk_p
=
get_skillvars
(
'buff_annihil'
,
'findmgr'
);
$p
=
$sk_p
/
100
;
if
(
$sk_p
)
$log
.=
"<span class='red'>暴击!</span><span class='lime'>「歼灭」使
{
$pa
[
'nm'
]
}
造成的最终伤害提高了
{
$sk_p
}
%!</span><br>"
;
{
$p
=
$sk_p
/
100
;
$log
.=
"<span class='red'>暴击!</span><span class='lime'>「歼灭」使
{
$pa
[
'nm'
]
}
造成的最终伤害提高了
{
$sk_p
}
%!</span><br>"
;
$fin_dmg_p
[]
=
$p
;
}
}
}
#「破甲」效果判定:
if
(
isset
(
$pa
[
'skill_c4_break'
])
&&
!
empty
(
$pd
[
'inf_hurt'
]))
{
$sk_lvl
=
get_skilllvl
(
'c4_break'
,
$pa
);
//获取伤害加成
$sk_p
=
get_skillvars
(
'c4_break'
,
'infdmgr'
,
$sk_lvl
);
//获取致伤处
$inf_p
=
count
(
$pd
[
'inf_hurt'
]);
$sk_p
*=
$inf_p
;
if
(
$sk_p
)
{
$p
=
1
+
(
$sk_p
/
100
);
$log
.=
"<span class='yellow'>「破甲」使
{
$pa
[
'nm'
]
}
造成的最终伤害提高了
{
$sk_p
}
%!</span><br>"
;
$fin_dmg_p
[]
=
$p
;
$fin_dmg_p
[]
=
$p
;
}
}
}
}
...
@@ -1293,6 +1434,13 @@
...
@@ -1293,6 +1434,13 @@
}
}
}
}
# 「爆头」技能效果
if
(
isset
(
$pa
[
'skill_c4_headshot'
])
&&
$fin_dmg
>
$pd
[
'hp'
]
*
0.85
&&
$fin_dmg
<
$pd
[
'hp'
])
{
$fin_dmg
=
$pd
[
'hp'
];
$log
.=
"<span class=
\"
yellow
\"
>
{
$pa
[
'nm'
]
}
的攻击直接将
{
$pd
[
'nm'
]
}
爆头!</span><br>"
;
}
return
$fin_dmg
;
return
$fin_dmg
;
}
}
...
@@ -1360,35 +1508,22 @@
...
@@ -1360,35 +1508,22 @@
attr_extra_19_azure
(
$pa
,
$pd
,
$active
);
attr_extra_19_azure
(
$pa
,
$pd
,
$active
);
}
}
# p
a致伤次数>0时,计算pd防具受损或致伤情况
# p
d存在防具受损况,在这里应用
if
(
$pa
[
'inf_times'
]
>
0
)
if
(
!
empty
(
$pd
[
'armor_hurt'
])
)
{
{
//获取可致伤部位
foreach
(
$pd
[
'armor_hurt'
]
as
$which
=>
$times
)
armor_hurt
(
$pd
,
$which
,
$times
);
$inf_parts
=
$infatt_rev
[
$pa
[
'wep_kind'
]];
}
$inf_att
=
Array
();
for
(
$i
=
0
;
$i
<
$pa
[
'inf_times'
];
$i
++
)
# pd存在受伤情况,在这里应用
{
if
(
!
empty
(
$pd
[
'inf_hurt'
]))
//随机选择一个可致伤的部位
{
$aim
=
rand
(
0
,
count
(
$inf_parts
)
-
1
);
foreach
(
$pd
[
'inf_hurt'
]
as
$which
=>
$times
)
$inf_aim
=
$inf_parts
[
$aim
];
//对应部位致伤次数+1
$inf_att
[
$inf_aim
]
=
isset
(
$inf_att
[
$inf_aim
])
?
$inf_att
[
$inf_aim
]
+
1
:
1
;
}
//应用防具损伤/致伤效果
foreach
(
$inf_att
as
$ipt
=>
$times
)
{
{
$which
=
'ar'
.
$ipt
;
$flag
=
get_inf_rev
(
$pd
,
$which
);
if
(
$pd
[
$which
.
's'
]
>
0
)
if
(
$flag
)
$log
.=
"
{
$pd
[
'nm'
]
}
的<span class=
\"
red
\"
>
$infinfo[$which]
</span>部受伤了!<br>"
;
{
armor_hurt
(
$pd
,
$which
,
$times
);
}
else
{
$flag
=
get_inf_rev
(
$pd
,
$ipt
);
if
(
$flag
)
$log
.=
"
{
$pd
[
'nm'
]
}
的<span class=
\"
red
\"
>
$infinfo[$ipt]
</span>部受伤了!<br>"
;
}
}
}
}
}
return
;
return
;
}
}
...
@@ -1565,7 +1700,7 @@
...
@@ -1565,7 +1700,7 @@
# 获取社团技能对反击率的修正
# 获取社团技能对反击率的修正
$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
(
$pa
,
$pd
,
$active
,
$counter
);
$counter
=
get_clbskill_counterate
(
$pa
,
$pd
,
$active
,
$counter
);
# 获取异常状态对反击率的影响
# 获取异常状态对反击率的影响
if
(
!
empty
(
$pd
[
'inf'
]))
if
(
!
empty
(
$pd
[
'inf'
]))
...
...
include/game/revattr_extra.func.php
View file @
c8b3375b
...
@@ -106,6 +106,28 @@
...
@@ -106,6 +106,28 @@
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'accgain'
,
$sk_lvl
)
/
100
);
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'accgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
}
}
#「静息」效果判定:
if
(
isset
(
$pa
[
'skill_c4_stable'
]))
{
$sk_lvl
=
get_skilllvl
(
'c4_stable'
,
$pa
);
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_stable'
,
'accgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
#「瞄准」效果判定:
if
(
isset
(
$pa
[
'skill_c4_aiming'
]))
{
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_aiming'
,
'accgain'
)
/
100
);
$hitrate
*=
$sk_r
;
}
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
]))
{
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_sniper'
,
'accgain'
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
return
$hitrate
;
}
}
...
@@ -120,9 +142,52 @@
...
@@ -120,9 +142,52 @@
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'rbgain'
,
$sk_lvl
)
/
100
);
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'rbgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
}
}
#「静息」效果判定:
if
(
isset
(
$pa
[
'skill_c4_stable'
]))
{
$sk_lvl
=
get_skilllvl
(
'c4_stable'
,
$pa
);
//获取连击命中率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_stable'
,
'rbgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
return
$hitrate
;
}
}
# 获取社团技能对致伤率(防具耐久损伤率)的修正(新)
function
get_clbskill_infrate
(
&
$pa
,
&
$pd
,
$active
,
$infrate
)
{
#「破甲」效果判定:
if
(
isset
(
$pa
[
'skill_c4_break'
]))
{
$sk_lvl
=
get_skilllvl
(
'c4_break'
,
$pa
);
//获取致伤率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_break'
,
'infrgain'
,
$sk_lvl
)
/
100
);
$infrate
*=
$sk_r
;
}
return
$infrate
;
}
# 获取社团技能对基础致伤效果(每次致伤会损耗多少点防具耐久)的修正(新)
function
get_clbskill_inftimes
(
&
$pa
,
&
$pd
,
$active
,
$inftimes
)
{
#「破甲」效果判定:
if
(
isset
(
$pa
[
'skill_c4_break'
]))
{
$sk_lvl
=
get_skilllvl
(
'c4_break'
,
$pa
);
//获取致伤效果加成
$sk_fix
=
get_skillvars
(
'c4_break'
,
'inftfix'
,
$sk_lvl
);
$inftimes
+=
$sk_fix
;
}
#「咆哮」效果判定:
if
(
isset
(
$pa
[
'skill_c4_roar'
]))
{
//获取致伤效果加成
$sk_fix
=
get_skillvars
(
'c4_roar'
,
'inftfix'
);
$inftimes
+=
$sk_fix
;
}
return
$inftimes
;
}
# 获取社团技能对伤害浮动的修正(新)
# 获取社团技能对伤害浮动的修正(新)
function
get_clbskill_fluc
(
&
$pa
,
&
$pd
,
$active
)
function
get_clbskill_fluc
(
&
$pa
,
&
$pd
,
$active
)
{
{
...
...
include/game/revbattle.func.php
View file @
c8b3375b
...
@@ -114,6 +114,7 @@
...
@@ -114,6 +114,7 @@
$unlock
=
check_skill_unlock
(
$sk
,
$sdata
);
$unlock
=
check_skill_unlock
(
$sk
,
$sdata
);
if
(
$unlock
)
if
(
$unlock
)
{
{
if
(
get_skilltags
(
$sk
,
'unlock_battle_hidden'
))
continue
;
$sk_desc
.=
is_array
(
$cskills
[
$sk
][
'lockdesc'
])
?
$cskills
[
$sk
][
'lockdesc'
][
$unlock
]
:
$cskills
[
$sk
][
'lockdesc'
];
$sk_desc
.=
is_array
(
$cskills
[
$sk
][
'lockdesc'
])
?
$cskills
[
$sk
][
'lockdesc'
][
$unlock
]
:
$cskills
[
$sk
][
'lockdesc'
];
}
}
//再检查技能是否满足激活条件
//再检查技能是否满足激活条件
...
...
include/game/revclubskills.func.php
View file @
c8b3375b
...
@@ -152,30 +152,19 @@
...
@@ -152,30 +152,19 @@
# 遍历该技能关联属性
# 遍历该技能关联属性
foreach
(
$cskill
[
'status'
]
as
$snm
)
foreach
(
$cskill
[
'status'
]
as
$snm
)
{
{
# $snm为数组时,代表关联的属性是技能参数 - $clbpara['skillpara']['技能名']['参数名']
# 格式化属性名
if
(
is_array
(
$snm
))
$snm_key
=
parse_skillrules
(
$snm
,
''
,
'clbpara'
);
{
global
$$snm_key
;
foreach
(
$snm
as
$skey
)
# 如属性值为数组,则按照登记取值
{
$seffect
=
is_array
(
$ceffect
[
$snm
])
?
$ceffect
[
$snm
][
$now_clvl
]
:
$ceffect
[
$snm
];
$clbpara
[
'skillpara'
][
$sk
][
$skey
]
+=
$ceffect
[
$skey
];
# 格式化属性值
}
$seffect
=
parse_skilloperator
(
$seffect
);
}
$so
=
is_array
(
$seffect
)
?
$seffect
[
0
]
:
''
;
else
$svars
=
is_array
(
$seffect
)
?
$seffect
[
1
]
:
$seffect
;
{
# 计算属性变化
global
$$snm
;
eval
(
"$$snm_key = $$snm_key
$so
$svars
*
$nums
;"
);
# $ceffect为数组时,视为技能升级时会使多个属性增加不同值
# 替换升级后文本
if
(
is_array
(
$ceffect
))
$clog
=
str_replace
(
"[:
{
$snm
}
:]"
,
$svars
*
$nums
,
$clog
);
{
$$snm
+=
$ceffect
[
$snm
]
*
$nums
;
$clog
=
str_replace
(
"[:effect:]"
.
$snm
,
$ceffect
[
$snm
]
*
$nums
,
$clog
);
}
# 否则技能所影响的属性都增加相同值
else
{
$$snm
+=
$ceffect
*
$nums
;
$clog
=
str_replace
(
"[:effect:]"
,
$ceffect
*
$nums
,
$clog
);
}
}
}
}
}
}
# 扣除技能点
# 扣除技能点
...
@@ -331,6 +320,7 @@
...
@@ -331,6 +320,7 @@
$unlock
=
$cskills
[
$sk
][
'unlock'
];
$unlock
=
$cskills
[
$sk
][
'unlock'
];
foreach
(
$unlock
as
$key
=>
$lock
)
foreach
(
$unlock
as
$key
=>
$lock
)
{
{
# 特判:计算技能冷却时间
if
(
$key
==
'skillcooldown'
)
if
(
$key
==
'skillcooldown'
)
{
{
$st
=
get_starttimes
(
$sk
,
$data
[
'clbpara'
]);
$st
=
get_starttimes
(
$sk
,
$data
[
'clbpara'
]);
...
@@ -344,31 +334,66 @@
...
@@ -344,31 +334,66 @@
}
}
}
}
}
}
elseif
(
strpos
(
$key
,
'+'
)
!==
false
)
# 正常计算
else
{
{
$arr_key
=
explode
(
"+"
,
$key
);
# 第一层:检查共有几个须置换条件
foreach
(
$arr_key
as
$skey
)
$arr
=
strpos
(
$key
,
'+'
)
!==
false
?
explode
(
"+"
,
$key
)
:
Array
(
$key
);
foreach
(
$arr
as
$skey
)
{
{
$lock
=
str_replace
(
"[:"
.
$skey
.
":]"
,
"
\$
data['"
.
$skey
.
"']"
,
$lock
);
#第二层:格式化置换条件对应的置换内容
$skey_value
=
parse_skillrules
(
$skey
);
#第三层:置换对应内容
$lock
=
str_replace
(
"[:
{
$skey
}
:]"
,
$skey_value
,
$lock
);
}
}
if
(
!
eval
(
"return (
$lock
);"
))
return
$key
;
if
(
!
eval
(
"return (
$lock
);"
))
return
$key
;
}
}
elseif
(
strpos
(
$key
,
'-'
)
!==
false
)
{
$arr_key
=
explode
(
"-"
,
$key
);
$lock
=
str_replace
(
"[:"
.
$arr_key
[
1
]
.
":]"
,
"
\$
data['clbpara']['
{
$arr_key
[
0
]
}
']['
{
$sk
}
']['"
.
$arr_key
[
1
]
.
"']"
,
$lock
);
if
(
!
eval
(
"return (
$lock
);"
))
return
$key
;
}
else
{
$lock
=
str_replace
(
"[:"
.
$key
.
":]"
,
"
\$
data['"
.
$key
.
"']"
,
$lock
);
if
(
!
eval
(
"return (
$lock
);"
))
return
$key
;
}
}
}
}
}
return
0
;
return
0
;
}
}
function
parse_skillrules
(
$key
,
$prefix
=
"
\$
data"
,
$prefix2
=
"['clbpara']"
)
{
//传入值内有'-'号,代表是clbpara内的内容
if
(
strpos
(
$key
,
'-'
)
!==
false
)
{
$key
=
explode
(
'-'
,
$key
);
$key_key
=
$key
[
0
];
$key_value
=
$key
[
1
];
//检查key_key内是否有“|”号
if
(
strpos
(
$key_key
,
'|'
)
!==
false
)
{
//key_key内有“|”号 代表置换内容的第二层键名另有指代
$key_key
=
explode
(
'|'
,
$key_key
);
$key_a_key
=
$key_key
[
0
];
$key_sec_key
=
$key_key
[
1
];
$key
=
$prefix
.
$prefix2
.
"['
{
$key_a_key
}
']['
{
$key_sec_key
}
']['
{
$key_value
}
']"
;
}
else
{
//key_key内没有“:”号 置换内容只停留在第一层
$key
=
$prefix
.
$prefix2
.
"['
{
$key_key
}
']['
{
$key_value
}
']"
;
}
}
//传入值是标准字段,直接导出
else
{
if
(
empty
(
$prefix
))
return
$key
;
else
$key
=
$prefix
.
"['
{
$key
}
']"
;
}
return
$key
;
}
function
parse_skilloperator
(
$key
)
{
//检查传入值内是否有分隔符
if
(
strpos
(
$key
,
'::'
)
!==
false
)
{
$key
=
explode
(
'::'
,
$key
);
return
$key
;
}
return
$key
;
}
# 技能是否可激活,返回0时为可激活,否则返回对应的未满足条件 $sk:技能名;$data:角色数据
# 技能是否可激活,返回0时为可激活,否则返回对应的未满足条件 $sk:技能名;$data:角色数据
function
check_skill_active
(
$sk
,
$data
)
function
check_skill_active
(
$sk
,
$data
)
{
{
...
@@ -576,24 +601,19 @@
...
@@ -576,24 +601,19 @@
# 技能存在关联属性
# 技能存在关联属性
if
(
isset
(
$cskill
[
'status'
]))
if
(
isset
(
$cskill
[
'status'
]))
{
{
# 检查
技能升级
是否会直接影响属性:
# 检查
社团
是否会直接影响属性:
$ceffect
=
!
empty
(
$data
)
&&
isset
(
$cskill
[
'effect'
][
$data
[
'club'
]])
?
$cskill
[
'effect'
][
$data
[
'club'
]]
:
$cskill
[
'effect'
][
0
];
$ceffect
=
!
empty
(
$data
)
&&
isset
(
$cskill
[
'effect'
][
$data
[
'club'
]])
?
$cskill
[
'effect'
][
$data
[
'club'
]]
:
$cskill
[
'effect'
][
0
];
# 遍历技能关联属性,替换介绍文本内的数值
# 遍历技能关联属性,替换介绍文本内的数值
foreach
(
$cskill
[
'status'
]
as
$snm
)
foreach
(
$cskill
[
'status'
]
as
$snm
)
{
{
if
(
!
is_array
(
$snm
))
# 如属性值为数组,则按照等级取值
{
$seffect
=
is_array
(
$ceffect
[
$snm
])
?
$ceffect
[
$snm
][
$now_clvl
]
:
$ceffect
[
$snm
];
# $ceffect为数组时,视为技能升级时会使多个属性增加不同值
# 格式化属性值
if
(
is_array
(
$ceffect
))
$seffect
=
parse_skilloperator
(
$seffect
);
{
$so
=
is_array
(
$seffect
)
?
$seffect
[
0
]
:
''
;
$sk_desc
=
str_replace
(
"[:effect:]"
.
$snm
,
$ceffect
[
$snm
],
$sk_desc
);
$svars
=
is_array
(
$seffect
)
?
$seffect
[
1
]
:
$seffect
;
}
# 替换描述文本
# 否则技能所影响的属性都增加相同值
$sk_desc
=
str_replace
(
"[:
{
$snm
}
:]"
,
$svars
,
$sk_desc
);
else
{
$sk_desc
=
str_replace
(
"[:effect:]"
,
$ceffect
,
$sk_desc
);
}
}
}
}
}
}
return
$sk_desc
;
return
$sk_desc
;
...
...
include/game/revclubskills_extra.func.php
View file @
c8b3375b
...
@@ -11,21 +11,49 @@
...
@@ -11,21 +11,49 @@
# 「百战」技能判定
# 「百战」技能判定
function
skill_c1_veteran_act
(
$choice
)
function
skill_c1_veteran_act
(
$choice
)
{
{
global
$log
,
$cskills
,
$club
,
$clbpara
,
$itemspkinfo
;
global
$log
,
$pdata
,
$cskills
,
$club
,
$clbpara
,
$itemspkinfo
;
$c_arr
=
get_skillvars
(
'c1_veteran'
,
'defkind'
);
if
(
!
check_skill_unlock
(
$sk
,
$pdata
))
$cvar
=
&
$clbpara
[
'skillpara'
][
'c1_veteran'
][
'choice'
];
if
(
empty
(
$choice
)
||
!
in_array
(
$choice
,
$c_arr
))
{
{
$log
.=
"选定的防御属性不存在!<br>"
;
$c_arr
=
get_skillvars
(
'c1_veteran'
,
'defkind'
);
$cvar
=
&
$clbpara
[
'skillpara'
][
'c1_veteran'
][
'choice'
];
if
(
empty
(
$choice
)
||
!
in_array
(
$choice
,
$c_arr
))
{
$log
.=
"选定的防御属性不存在!<br>"
;
return
;
}
if
(
$choice
==
$cvar
)
{
$log
.=
"不能重复选择属性。<br>"
;
return
;
}
$cvar
=
$choice
;
$log
.=
"「百战」的防御属性变更为
{
$itemspkinfo
[
$choice
]
}
。<br>"
;
}
else
{
$log
.=
"「百战」技能未解锁!<br>"
;
}
return
;
}
# 「穿杨」与「咆哮」解锁
function
skill_c4_unlock
(
$csk
)
{
global
$log
,
$pdata
,
$cskills
;
if
((
$csk
!=
'c4_roar'
&&
$csk
!=
'c4_sniper'
)
||
!
in_array
(
$csk
,
$pdata
[
'clbpara'
][
'skill'
]))
{
$log
.=
"要解锁的技能
{
$csk
}
不存在。<br>"
;
return
;
return
;
}
}
if
(
$choice
==
$cvar
)
if
(
!
check_skill_unlock
(
'c4_roar'
,
$pdata
)
||
!
check_skill_unlock
(
'c4_sniper'
,
$pdata
)
)
{
{
$log
.=
"
不能重复选择属性
。<br>"
;
$log
.=
"
无法重复解锁
。<br>"
;
return
;
return
;
}
}
$cvar
=
$choice
;
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
$log
.=
"「百战」的防御属性变更为
{
$itemspkinfo
[
$choice
]
}
。<br>"
;
set_skillpara
(
$csk
,
'active'
,
1
,
$pdata
[
'clbpara'
]);
set_skillpara
(
get_skillvars
(
$csk
,
'disableskill'
),
'disable'
,
1
,
$pdata
[
'clbpara'
]);
$log
.=
"<span class='yellow'>已解锁技能「
{
$cskills
[
$csk
][
'name'
]
}
」!</span><br>"
;
return
;
return
;
}
}
...
...
include/game/revcombat.func.php
View file @
c8b3375b
...
@@ -592,6 +592,9 @@
...
@@ -592,6 +592,9 @@
$log
.=
"<span class=
\"
red
\"
>
$damage
</span>点伤害!<br>"
;
$log
.=
"<span class=
\"
red
\"
>
$damage
</span>点伤害!<br>"
;
//最终物理伤害
//最终物理伤害
$pdamage
=
$damage
;
$pdamage
=
$damage
;
# 物理伤害计算结束后、加载预受伤事件……:
get_hurt_prepare_events
(
$pa
,
$pd
,
$active
);
# 属性伤害计算部分:
# 属性伤害计算部分:
//获取攻击方(pa)能造成的属性伤害类型
//获取攻击方(pa)能造成的属性伤害类型
...
@@ -603,34 +606,57 @@
...
@@ -603,34 +606,57 @@
deal_ex_damage_prepare_events
(
$pa
,
$pd
,
$active
);
deal_ex_damage_prepare_events
(
$pa
,
$pd
,
$active
);
//获取攻击方(pa)能造成的属性伤害
//获取攻击方(pa)能造成的属性伤害
$ex_damage
=
get_original_ex_dmg
(
$pa
,
$pd
,
$active
);
$ex_damage
=
get_original_ex_dmg
(
$pa
,
$pd
,
$active
);
//攻击方(pa)能造成了多次属性伤害的情况下,进行后续判断
//存在大于1种属性伤害,输出一段 A+B+C=D 样式的文本
if
(
is_array
(
$ex_damage
)
||
$ex_damage
>
1
)
$total_ex_damage
=
0
;
if
(
is_array
(
$ex_damage
))
{
{
if
(
count
(
$ex_damage
)
>
1
)
//获取攻击方(pa)能造成的属性伤害加成
$ex_damage_p
=
get_ex_dmg_p
(
$pa
,
$pd
,
$active
);
//存在大于1种属性伤害,输出一段 A+B+C=D 样式的文本,并将所有属性伤害保存在 $total_ex_damage 内
if
(
is_array
(
$ex_damage
))
{
{
$log
.=
"造成了"
;
$total_ex_damage
=
0
;
$elog
=
''
;
if
(
count
(
$ex_damage
)
>
1
)
foreach
(
$ex_damage
as
$edmg
)
{
$elog
=
''
;
foreach
(
$ex_damage
as
$edmg
)
{
$total_ex_damage
+=
$edmg
;
if
(
!
empty
(
$elog
))
$elog
.=
"+"
.
$edmg
;
else
$elog
.=
$edmg
;
}
$elog
=
'造成了'
.
$elog
;
}
else
{
{
$total_ex_damage
+=
$edmg
;
$total_ex_damage
=
$ex_damage
[
0
];
if
(
!
empty
(
$elog
))
$elog
.=
"+"
.
$edmg
;
else
$elog
=
$edmg
;
}
}
$log
.=
$elog
.
"=<span class=
\"
red
\"
>
{
$total_ex_damage
}
</span>点属性伤害!<br>"
;
//将 $total_ex_damage 存回 $ex_damage
$ex_damage
=
$total_ex_damage
;
}
}
else
//存在对最终属性伤害的修正,输出一段 A×BxC=D 或 (A+B+C)×A×B=D 样式的文本
if
(
!
empty
(
$ex_damage_p
))
{
{
$total_ex_damage
=
$ex_damage
[
0
];
if
(
isset
(
$elog
))
{
$elog
=
str_replace
(
"造成了"
,
"造成了("
,
$elog
);
$elog
=
$elog
.
')'
;
}
else
{
$elog
=
"造成了
{
$ex_damage
}
"
;
}
foreach
(
$ex_damage_p
as
$edmg_p
)
{
$ex_damage
*=
$edmg_p
;
$elog
.=
"×
{
$edmg_p
}
"
;
}
}
}
$ex_damage
=
round
(
$ex_damage
);
//存在额外的属性伤害文本,输出
if
(
isset
(
$elog
))
$log
.=
$elog
.
"=<span class=
\"
red
\"
>
{
$ex_damage
}
</span>点属性伤害!<br>"
;
}
}
else
//并入最终伤害
{
$damage
+=
$ex_damage
;
$total_ex_damage
=
$ex_damage
;
}
//最终属性伤害
$damage
+=
$total_ex_damage
;
}
}
#最终伤害计算部分:
#最终伤害计算部分:
...
@@ -961,6 +987,15 @@
...
@@ -961,6 +987,15 @@
}
}
}
}
#「掠夺」判定:
if
(
isset
(
$pa
[
'skill_c4_loot'
]))
{
//获取抢钱率
$sk_p
=
get_skillvars
(
'c4_loot'
,
'goldr'
);
$lootgold
=
$pa
[
'lvl'
]
*
$sk_p
;
$log
.=
"<span class='yellow'>「掠夺」使
{
$pa
[
'nm'
]
}
获得了
{
$lootgold
}
元!</span><br>"
;
}
return
;
return
;
}
}
...
...
templates/default/skill_c4_roar.htm
0 → 100644
View file @
c8b3375b
<!-- 注意:大部分技能可以直接通过编辑配置文件完成 -->
<!-- 可能的、需要新建模板的情况:你的技能需要在面板内执行比较复杂的、单靠配置文件无法实现的操作 -->
<tr>
<td
class=
"b1"
width=
"40"
>
<span>
{$cskills['c4_roar']['name']}
</span>
</td>
<td>
<!--{eval $unlock_c4_roar_flag = check_skill_unlock('c4_roar',$pdata);}-->
<!--{if $unlock_c4_roar_flag}-->
<div
style=
"position:relative; height:100%; width:100%;"
onmouseover=
"skill_unacquired_mouseover.call(this,event)"
onmouseout=
"skill_unacquired_mouseout.call(this,event)"
>
<div
class=
"skill_unacquired"
>
<!--{/if}-->
<table
class=
"skilltable"
>
<tr>
<td
class=
"skilldesc_left b3"
>
<span
class=
"skilldesc"
>
<!--{eval $c4_roar_desc = parse_skilldesc('c4_roar',$pdata);}-->
$c4_roar_desc
</span>
</td>
<td
class=
"skilldesc_right b3"
>
<!--{if !empty($unlock_c4_roar_flag) && $unlock_c4_roar_flag == 'skillpara|c4_roar-active'}-->
<input
type=
"button"
style=
"width:47px;margin-right:25px;float:right;"
value=
"解锁"
>
<!--{/if}-->
</td>
</tr>
</table>
<!--{if $unlock_c4_roar_flag}-->
</div>
<div
class=
"skill_unacquired_hint"
>
<table
class=
"skilltable"
>
<tr>
<td
valign=
"center"
align=
"center"
>
<span
class=
"yellow"
>
<!--{eval $c4_roar_lockdesc = $cskills['c4_roar']['lockdesc'][$unlock_c4_roar_flag];}-->
$c4_roar_lockdesc
</span>
</td>
<!--{if !empty($unlock_c4_roar_flag) && $unlock_c4_roar_flag == 'skillpara|c4_roar-active'}-->
<td
class=
"skilldesc_right"
>
<input
type=
"button"
style=
"width:47px;margin-right:25px;float:right;"
value=
"解锁"
onclick=
"$('mode').value='revskpts';$('command').value='actskill_c4_roar';postCmd('gamecmd','command.php');this.disabled=true;"
>
</td>
<!--{/if}-->
</tr>
</table>
</div>
</div>
<!--{/if}-->
</td>
</tr>
\ No newline at end of file
templates/default/skill_c4_sniper.htm
0 → 100644
View file @
c8b3375b
<!-- 注意:大部分技能可以直接通过编辑配置文件完成 -->
<!-- 可能的、需要新建模板的情况:你的技能需要在面板内执行比较复杂的、单靠配置文件无法实现的操作 -->
<tr>
<td
class=
"b1"
width=
"40"
>
<span>
{$cskills['c4_sniper']['name']}
</span>
</td>
<td>
<!--{eval $unlock_c4_sniper_flag = check_skill_unlock('c4_sniper',$pdata);}-->
<!--{if $unlock_c4_sniper_flag}-->
<div
style=
"position:relative; height:100%; width:100%;"
onmouseover=
"skill_unacquired_mouseover.call(this,event)"
onmouseout=
"skill_unacquired_mouseout.call(this,event)"
>
<div
class=
"skill_unacquired"
>
<!--{/if}-->
<table
class=
"skilltable"
>
<tr>
<td
class=
"skilldesc_left b3"
>
<span
class=
"skilldesc"
>
<!--{eval $c4_sniper_desc = parse_skilldesc('c4_sniper',$pdata);}-->
$c4_sniper_desc
</span>
</td>
<td
class=
"skilldesc_right b3"
>
<!--{if !empty($unlock_c4_sniper_flag) && $unlock_c4_sniper_flag == 'skillpara|c4_sniper-active'}-->
<input
type=
"button"
style=
"width:47px;margin-right:25px;float:right;"
value=
"解锁"
>
<!--{/if}-->
</td>
</tr>
</table>
<!--{if $unlock_c4_sniper_flag}-->
</div>
<div
class=
"skill_unacquired_hint"
>
<table
class=
"skilltable"
>
<tr>
<td
valign=
"center"
align=
"center"
>
<span
class=
"yellow"
>
<!--{eval $c4_sniper_lockdesc = $cskills['c4_sniper']['lockdesc'][$unlock_c4_sniper_flag];}-->
$c4_sniper_lockdesc
</span>
</td>
<!--{if !empty($unlock_c4_sniper_flag) && $unlock_c4_sniper_flag == 'skillpara|c4_sniper-active'}-->
<td
class=
"skilldesc_right"
>
<input
type=
"button"
style=
"width:47px;margin-right:25px;float:right;"
value=
"解锁"
onclick=
"$('mode').value='revskpts';$('command').value='actskill_c4_sniper';postCmd('gamecmd','command.php');this.disabled=true;"
>
</td>
<!--{/if}-->
</tr>
</table>
</div>
</div>
<!--{/if}-->
</td>
</tr>
\ No newline at end of file
templates/default/skill_sample/skill_技能编号.htm
View file @
c8b3375b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<!-- 可能的、需要新建模板的情况:你的技能需要在面板内执行比较复杂的、单靠配置文件无法实现的操作 -->
<!-- 可能的、需要新建模板的情况:你的技能需要在面板内执行比较复杂的、单靠配置文件无法实现的操作 -->
<tr>
<tr>
<td
class=
"b1"
width=
"40"
>
<td
class=
"b1"
width=
"40"
>
<span>
技能名
</span>
<span>
{$cskills['技能编号']['name']}
</span>
</td>
</td>
<td>
<td>
<!-- ↓↓↓ 存在解锁条件的技能才需要有这一部分 ↓↓↓ -->
<!-- ↓↓↓ 存在解锁条件的技能才需要有这一部分 ↓↓↓ -->
...
@@ -16,11 +16,13 @@
...
@@ -16,11 +16,13 @@
<tr>
<tr>
<td
class=
"skilldesc_left b3"
>
<td
class=
"skilldesc_left b3"
>
<span
class=
"skilldesc"
>
<span
class=
"skilldesc"
>
<span
tooltip=
"关于标签的介绍"
class=
"gold"
>
【技能标签 没有不需要写】
</span>
<!-- 技能介绍,自己填任意内容或使用下面的方式 -->
技能介绍
<!--{eval $技能编号_desc = parse_skilldesc('技能编号',$pdata);}-->
$技能编号_desc
</span>
</span>
</td>
</td>
<td
class=
"skilldesc_right b3"
>
<td
class=
"skilldesc_right b3"
>
<!-- 技能按钮,没有可以不填 -->
<input
type=
"number"
name=
"技能编号_nums"
style=
"width:40px"
value=
"1"
>
<input
type=
"number"
name=
"技能编号_nums"
style=
"width:40px"
value=
"1"
>
<input
type=
"button"
onclick=
"$('mode').value='revskpts';$('command').value='技能编号';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"技能操作按钮名"
>
<input
type=
"button"
onclick=
"$('mode').value='revskpts';$('command').value='技能编号';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"技能操作按钮名"
>
</td>
</td>
...
@@ -33,7 +35,11 @@
...
@@ -33,7 +35,11 @@
<table
class=
"skilltable"
>
<table
class=
"skilltable"
>
<tr>
<tr>
<td
valign=
"center"
align=
"center"
>
<td
valign=
"center"
align=
"center"
>
<span
class=
"yellow"
>
未满足解锁条件时显示的文本
</span>
<span
class=
"yellow"
>
<!-- 未满足解锁条件时显示的文本,自己填或使用下面的方式 -->
<!--{eval $技能编号_lockdesc = $cskills['技能编号']['lockdesc'][$unlock_技能编号_flag];}-->
$技能编号_lockdesc
</span>
</td>
</td>
</tr>
</tr>
</table>
</table>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment