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
54da2de9
Commit
54da2de9
authored
Mar 17, 2023
by
Nemo Ma
Committed by
GitHub
Mar 17, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #66 from hikawiier/waaagh
rev combat phase 3.19
parents
e52f807f
87c7bb99
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
407 additions
and
68 deletions
+407
-68
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+136
-2
gamedata/cache/evonpc_1.php
gamedata/cache/evonpc_1.php
+30
-0
gamedata/cache/resources_1.php
gamedata/cache/resources_1.php
+2
-1
include/game/clubslct.func.php
include/game/clubslct.func.php
+1
-1
include/game/itemmain.func.php
include/game/itemmain.func.php
+2
-2
include/game/revattr.func.php
include/game/revattr.func.php
+80
-49
include/game/revattr_extra.func.php
include/game/revattr_extra.func.php
+51
-5
include/game/revclubskills.func.php
include/game/revclubskills.func.php
+30
-2
include/game/revcombat.func.php
include/game/revcombat.func.php
+12
-0
include/news.func.php
include/news.func.php
+4
-0
include/system.func.php
include/system.func.php
+50
-0
templates/default/rankinfo.htm
templates/default/rankinfo.htm
+2
-2
templates/default/skill_temp.htm
templates/default/skill_temp.htm
+3
-2
templates/default/winnerlist.htm
templates/default/winnerlist.htm
+1
-1
valid.php
valid.php
+3
-1
No files found.
gamedata/cache/clubskills_1.php
View file @
54da2de9
...
@@ -14,7 +14,7 @@ $club_skillslist = Array
...
@@ -14,7 +14,7 @@ $club_skillslist = Array
6
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'宛如疾风',
6
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'宛如疾风',
7
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'锡安成员',
7
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'锡安成员',
8
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'黑衣组织',
8
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'黑衣组织',
9
=>
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'
),
#'超能力者',
10
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'高速成长',
10
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'高速成长',
11
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'富家子弟',
11
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'富家子弟',
12
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'全能骑士',
12
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'全能骑士',
...
@@ -352,7 +352,7 @@ $cskills = Array
...
@@ -352,7 +352,7 @@ $cskills = Array
'effect'
=>
Array
(
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c2_annihil-active'
=>
'=::1'
),
0
=>
Array
(
'skillpara|c2_annihil-active'
=>
'=::1'
),
),
),
'events'
=>
Array
(
'setstarttimes_c2_annihil'
,
'getskill_buff_annihil'
),
'events'
=>
Array
(
'
active_news'
,
'
setstarttimes_c2_annihil'
,
'getskill_buff_annihil'
),
'link'
=>
Array
(
'buff_annihil'
),
'link'
=>
Array
(
'buff_annihil'
),
'vars'
=>
Array
(
'vars'
=>
Array
(
'lasttimes'
=>
200
,
//持续时间 仅供介绍文本显示用
'lasttimes'
=>
200
,
//持续时间 仅供介绍文本显示用
...
@@ -863,6 +863,140 @@ $cskills = Array
...
@@ -863,6 +863,140 @@ $cskills = Array
'wepk+wep_kind'
=>
"[:wepk:] == 'WD' || [:wepk:] == 'WDG' || [:wepk:] == 'WDF' || (!empty([:wep_kind:]) && [:wep_kind:] == 'D')"
,
'wepk+wep_kind'
=>
"[:wepk:] == 'WD' || [:wepk:] == 'WDG' || [:wepk:] == 'WDF' || (!empty([:wep_kind:]) && [:wep_kind:] == 'D')"
,
),
),
),
),
'c9_kotodama'
=>
Array
(
'name'
=>
'言灵'
,
//未完成
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'使用灵力武器主动攻击敌人时,可通过喊话触发特殊效果<br>
升级该技能可解锁更多触发关键词,以下是目前可触发的关键词:'
,
'maxlvl'
=>
3
,
'cost'
=>
Array
(
3
,
3
,
4
,
-
1
),
'input'
=>
'升级'
,
'log'
=>
'<span class="yellow">技能「言灵」升级成功。</span>'
,
'status'
=>
Array
(
'skillpara|c9_kotodama-lvl'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c9_kotodama-lvl'
=>
'+=::1'
),
),
'svars'
=>
Array
(
'lvl'
=>
0
,
),
'vars'
=>
Array
(
),
),
'c9_spirit'
=>
Array
(
'name'
=>
'灵力'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'敌人攻击你时,其命中率降低<span class="yellow">[:accloss:]%</span>,连击命中率惩罚<span class="yellow">+[:rbloss:]%</span><br>
你使用灵系武器的体力消耗降低<span class="yellow">[:spcloss:]%</span>'
,
'maxlvl'
=>
3
,
'cost'
=>
Array
(
3
,
3
,
4
,
-
1
),
'input'
=>
'升级'
,
'log'
=>
'<span class="yellow">技能「灵力」升级成功。</span>'
,
'status'
=>
Array
(
'skillpara|c9_spirit-lvl'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c9_spirit-lvl'
=>
'+=::1'
),
),
'svars'
=>
Array
(
'lvl'
=>
0
,
//初次获得时等级为0
),
'vars'
=>
Array
(
'accloss'
=>
Array
(
0
,
4
,
8
,
12
),
'rbloss'
=>
Array
(
0
,
2
,
3
,
4
),
'spcloss'
=>
Array
(
40
,
50
,
60
,
70
),
),
),
'c9_lb'
=>
Array
(
'name'
=>
'必杀'
,
'tags'
=>
Array
(
'battle'
),
'desc'
=>
'本次攻击造成物理伤害<span class="yellow">×[:phydmgr:]</span><br>
消耗<span class="yellow">[:ragecost:]</span>点怒气,若拥有<span class="yellow">重击辅助</span>属性会额外返还<span class="yellow">[:rageback:]</span>点怒气'
,
'bdesc'
=>
'本次攻击物理伤害<span class="yellow">×[:phydmgr:]</span>,消耗<span class="red">[:ragecost:]</span>怒气'
,
'vars'
=>
Array
(
'ragecost'
=>
40
,
'rageback'
=>
6
,
'phydmgr'
=>
2
,
),
'lockdesc'
=>
Array
(
'lvl'
=>
'3级时解锁'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 3'
,
),
),
'c9_iceheart'
=>
Array
(
'name'
=>
'冰心'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'使用灵力武器攻击时,你受到的反噬伤害降低<span class="yellow">[:hpshloss:]%</span><br>
受到伤害时,即刻解除<span class="yellow">[:purify:]</span>个异常/受伤状态。<br>
每通过技能解除1个异常/受伤状态,你的怒气提升<span class="yellow">[:ragegain:]</span>点'
,
'vars'
=>
Array
(
'hpshloss'
=>
80
,
'purify'
=>
1
,
'ragegain'
=>
40
,
),
'lockdesc'
=>
Array
(
'lvl'
=>
'7级时解锁'
,
'wepk+wep_kind'
=>
'武器不适用,持<span class="yellow">灵力武器</span>时生效'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 7'
,
'wepk+wep_kind'
=>
"[:wepk:] == 'WF' || [:wepk:] == 'WCF' || [:wepk:] == 'WKF' || [:wepk:] == 'WFK' || [:wepk:] == 'WDF' || (!empty([:wep_kind:]) && [:wep_kind:] == 'F')"
,
),
),
'c9_charge'
=>
Array
(
'name'
=>
'充能'
,
'tags'
=>
Array
(
'cd'
),
'desc'
=>
'发动后立即增加<span class="yellow">[:rageadd:]</span>点怒气。<br>
前<span class="yellow">[:freet:]</span>次发动没有冷却时间,之后每次发动冷却时间<span class="clan">[:cd:]</span>秒<br>
本局已发动:<span class="yellow">[^skillpara|c9_charge-active_t^]</span>次'
,
'input'
=>
'发动'
,
'log'
=>
'<span class="lime">技能「充能」发动成功。</span><br>'
,
'events'
=>
Array
(
'charge'
,
'active_news'
),
'status'
=>
Array
(
'skillpara|c9_charge-active_t'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c9_charge-active_t'
=>
'+=::1'
),
),
'svars'
=>
Array
(
'active_t'
=>
0
,
),
'vars'
=>
Array
(
'rageadd'
=>
100
,
'freet'
=>
2
,
'cd'
=>
600
,
//冷却时间
),
'pvars'
=>
Array
(
'skillpara|c9_charge-active_t'
,
),
'lockdesc'
=>
Array
(
'lvl'
=>
'11级时解锁'
,
'skillcooldown'
=>
'技能冷却中!<br>剩余冷却时间:<span class="red">[:cd:]</span> 秒'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 11'
,
'skillcooldown'
=>
0
,
),
),
'c9_heartfire'
=>
Array
(
'name'
=>
'心火'
,
'tags'
=>
Array
(
'battle'
),
'desc'
=>
'本次攻击造成的最终伤害<span class="yellow">×[:findmgr:]</span>。消耗<span class="yellow">[:ragecost:]</span>点怒气<br>'
,
'bdesc'
=>
'本次攻击最终伤害<span class="yellow">×[:findmgr:]</span>,消耗<span class="red">[:ragecost:]</span>怒气'
,
'vars'
=>
Array
(
'ragecost'
=>
60
,
'findmgr'
=>
2
,
),
'lockdesc'
=>
Array
(
'lvl'
=>
'19级时解锁'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 19'
,
),
),
'tl_cstick'
=>
Array
'tl_cstick'
=>
Array
(
(
'name'
=>
'抡尸'
,
'name'
=>
'抡尸'
,
...
...
gamedata/cache/evonpc_1.php
View file @
54da2de9
...
@@ -68,6 +68,21 @@ $enpcinfo = array
...
@@ -68,6 +68,21 @@ $enpcinfo = array
'gd'
=>
'f'
,
'gd'
=>
'f'
,
'icon'
=>
62
,
'icon'
=>
62
,
'club'
=>
4
,
'club'
=>
4
,
'clubskill'
=>
Array
(),
'clubskillpara'
=>
Array
(
'c4_stable'
=>
Array
(
'lvl'
=>
3
,
'costcount'
=>
7
,
),
'c4_break'
=>
Array
(
'lvl'
=>
1
,
'costcount'
=>
6
,
),
'c4_sniper'
=>
Array
(
'active'
=>
1
,
),
),
'inf'
=>
''
,
'inf'
=>
''
,
'rage'
=>
225
,
'rage'
=>
225
,
'state'
=>
1
,
'state'
=>
1
,
...
@@ -123,6 +138,21 @@ $enpcinfo = array
...
@@ -123,6 +138,21 @@ $enpcinfo = array
'gd'
=>
'f'
,
'gd'
=>
'f'
,
'icon'
=>
64
,
'icon'
=>
64
,
'club'
=>
4
,
'club'
=>
4
,
'clubskill'
=>
Array
(),
'clubskillpara'
=>
Array
(
'c4_stable'
=>
Array
(
'lvl'
=>
2
,
'costcount'
=>
4
,
),
'c4_break'
=>
Array
(
'lvl'
=>
1
,
'costcount'
=>
6
,
),
'c4_roar'
=>
Array
(
'active'
=>
1
,
),
),
'inf'
=>
''
,
'inf'
=>
''
,
'rage'
=>
225
,
'rage'
=>
225
,
'state'
=>
1
,
'state'
=>
1
,
...
...
gamedata/cache/resources_1.php
View file @
54da2de9
...
@@ -244,6 +244,7 @@ $lwinfo = Array(
...
@@ -244,6 +244,7 @@ $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
...
@@ -1157,7 +1158,7 @@ $tps_isk = Array
...
@@ -1157,7 +1158,7 @@ $tps_isk = Array
'B'
=>
Array
(
'title'
=>
"极高概率将全部物理伤害变为1。"
,),
'B'
=>
Array
(
'title'
=>
"极高概率将全部物理伤害变为1。"
,),
'b'
=>
Array
(
'title'
=>
"极高概率将全部属性伤害变为1。"
,),
'b'
=>
Array
(
'title'
=>
"极高概率将全部属性伤害变为1。"
,),
'C'
=>
Array
(
'title'
=>
"高概率将投系对你的物理伤害减半。"
,),
'C'
=>
Array
(
'title'
=>
"高概率将投系对你的物理伤害减半。"
,),
'c'
=>
Array
(
'title'
=>
"
降低重击与必杀技的怒气消耗,以及重击概率。
"
,),
'c'
=>
Array
(
'title'
=>
"
攻击时额外获得1点怒气,发动战斗技时会返还10%消耗的怒气
"
,),
'D'
=>
Array
(
'title'
=>
"高概率将爆系对你的物理伤害,以及爆炸属性伤害减半。"
,),
'D'
=>
Array
(
'title'
=>
"高概率将爆系对你的物理伤害,以及爆炸属性伤害减半。"
,),
'd'
=>
Array
(
'title'
=>
"攻击对手时,将产生额外的爆炸属性伤害。"
,),
'd'
=>
Array
(
'title'
=>
"攻击对手时,将产生额外的爆炸属性伤害。"
,),
'E'
=>
Array
(
'title'
=>
"高概率将电击属性对你的属性伤害减半。并避免身体麻痹状态。"
,),
'E'
=>
Array
(
'title'
=>
"高概率将电击属性对你的属性伤害减半。并避免身体麻痹状态。"
,),
...
...
include/game/clubslct.func.php
View file @
54da2de9
...
@@ -86,7 +86,7 @@ function updateskill(&$data=NULL)
...
@@ -86,7 +86,7 @@ function updateskill(&$data=NULL)
# 变更社团时 获取社团技能
# 变更社团时 获取社团技能
//include_once GAME_ROOT.'./include/game/revclubskills.func.php';
//include_once GAME_ROOT.'./include/game/revclubskills.func.php';
if
(
empty
(
$data
))
if
(
!
isset
(
$data
))
{
{
$cks
=
$club_skillslist
[
$club
];
$cks
=
$club_skillslist
[
$club
];
foreach
(
$cks
as
$sk
)
getclubskill
(
$sk
,
$clbpara
);
foreach
(
$cks
as
$sk
)
getclubskill
(
$sk
,
$clbpara
);
...
...
include/game/itemmain.func.php
View file @
54da2de9
...
@@ -101,7 +101,7 @@ function check_trap_def_event(&$pa,$damage,$playerflag=0,$selflag=0)
...
@@ -101,7 +101,7 @@ function check_trap_def_event(&$pa,$damage,$playerflag=0,$selflag=0)
function
calc_trap_reuse_rate
(
$pa
,
$playerflag
=
0
,
$selflag
=
0
)
function
calc_trap_reuse_rate
(
$pa
,
$playerflag
=
0
,
$selflag
=
0
)
{
{
# 基础回收率
# 基础回收率
$fdrate
=
5
+
$
lvl
/
3
;
$fdrate
=
5
+
$
pa
[
'lvl'
]
/
3
;
# 拆弹专家社团加成
# 拆弹专家社团加成
if
(
$pa
[
'club'
]
==
5
)
$fdrate
+=
35
;
if
(
$pa
[
'club'
]
==
5
)
$fdrate
+=
35
;
# 自雷回收加成
# 自雷回收加成
...
@@ -1192,7 +1192,7 @@ function getcorpse($item){
...
@@ -1192,7 +1192,7 @@ function getcorpse($item){
if
(
$item
==
'destory'
)
if
(
$item
==
'destory'
)
{
{
if
(
!
$allow_destory_corpse
||
in_array
(
$edata
[
'ty
ep
'
],
$no_destory_corpse_type
))
if
(
!
$allow_destory_corpse
||
in_array
(
$edata
[
'ty
pe
'
],
$no_destory_corpse_type
))
{
{
$log
.=
"你还想对这具可怜的尸体干什么?麻烦给死者一点基本的尊重!<br>"
;
$log
.=
"你还想对这具可怜的尸体干什么?麻烦给死者一点基本的尊重!<br>"
;
$action
=
''
;
$action
=
''
;
...
...
include/game/revattr.func.php
View file @
54da2de9
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
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'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_sniper'
]))
{
{
//获取射程加成
//获取射程加成
$sk_rn
=
get_skillvars
(
'c4_sniper'
,
'rangegain'
);
$sk_rn
=
get_skillvars
(
'c4_sniper'
,
'rangegain'
);
...
@@ -138,7 +138,7 @@
...
@@ -138,7 +138,7 @@
}
}
}
}
#「穿杨」效果判定:
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
])
&&
in_array
(
'r'
,
$pa
[
'ex_keys'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_sniper'
])
&&
in_array
(
'r'
,
$pa
[
'ex_keys'
]))
{
{
$key
=
array_search
(
'r'
,
$pa
[
'ex_keys'
]);
$key
=
array_search
(
'r'
,
$pa
[
'ex_keys'
]);
unset
(
$pa
[
'ex_keys'
][
$key
]);
unset
(
$pa
[
'ex_keys'
][
$key
]);
...
@@ -150,8 +150,8 @@
...
@@ -150,8 +150,8 @@
function
combat_prepare_events
(
&
$pa
,
&
$pd
,
$active
)
function
combat_prepare_events
(
&
$pa
,
&
$pd
,
$active
)
{
{
# 社团技能初始化(主动型/战斗技)
# 社团技能初始化(主动型/战斗技)
if
(
isset
(
$pa
[
'bskill'
]))
attr_extra_active_skills
(
$pa
,
$pd
,
$active
);
attr_extra_active_skills
(
$pa
,
$pd
,
$active
);
if
(
isset
(
$pd
[
'bskill'
]))
attr_extra_active_skills
(
$pd
,
$pa
,
$active
);
//这可能吗……?总之先写上没错……
attr_extra_active_skills
(
$pd
,
$pa
,
$active
);
# 社团技能初始化(被动型)(最好不要在这个阶段输出log,把log和成功触发的标记保存进对应角色里,到实际结算效果时再显示。)
# 社团技能初始化(被动型)(最好不要在这个阶段输出log,把log和成功触发的标记保存进对应角色里,到实际结算效果时再显示。)
if
(
!
empty
(
$pa
[
'clbpara'
][
'skill'
]))
attr_extra_passive_skills
(
$pa
,
$pd
,
$active
);
if
(
!
empty
(
$pa
[
'clbpara'
][
'skill'
]))
attr_extra_passive_skills
(
$pa
,
$pd
,
$active
);
if
(
!
empty
(
$pd
[
'clbpara'
][
'skill'
]))
attr_extra_passive_skills
(
$pd
,
$pa
,
$active
);
if
(
!
empty
(
$pd
[
'clbpara'
][
'skill'
]))
attr_extra_passive_skills
(
$pd
,
$pa
,
$active
);
...
@@ -776,8 +776,16 @@
...
@@ -776,8 +776,16 @@
{
{
//获取体力消耗系数:
//获取体力消耗系数:
$sp_cost_r
=
$pa
[
'club'
]
==
9
?
0.2
:
0.25
;
$sp_cost_r
=
$pa
[
'club'
]
==
9
?
0.2
:
0.25
;
//获取社团技能对体力消耗系数的修正:
//获取社团技能对体力消耗系数的修正:(旧)
$sp_cost_r
*=
get_clubskill_bonus_spd
(
$pa
[
'club'
],
$pa
[
'skills'
]);
//$sp_cost_r *= get_clubskill_bonus_spd($pa['club'],$pa['skills']);
//获取社团技能对体力消耗系数的修正:(新)
#「灵力」效果判定:
if
(
isset
(
$pa
[
'skill_c9_spirit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c9_spirit'
,
$pa
);
$sk_r
=
1
-
(
get_skillvars
(
'c9_spirit'
,
'spcloss'
,
$sk_lvl
)
/
100
);
$sp_cost_r
*=
$sk_r
;
}
//获取理论消耗体力最大值:
//获取理论消耗体力最大值:
$sp_cost_max
=
$sp_cost_r
*
$pa
[
'wepe'
];
$sp_cost_max
=
$sp_cost_r
*
$pa
[
'wepe'
];
//获取实际消耗体力:
//获取实际消耗体力:
...
@@ -799,42 +807,15 @@
...
@@ -799,42 +807,15 @@
$log
.=
"发挥了灵力武器
{
$f
}
%的威力!<br>"
;
$log
.=
"发挥了灵力武器
{
$f
}
%的威力!<br>"
;
}
}
# 重击判定:
#「必杀」效果判定:(原喊话必杀技)
//获取触发重击需要的最小怒气值
if
(
isset
(
$pa
[
'bskill_c9_lb'
]))
if
(
in_array
(
'c'
,
$pa
[
'ex_keys'
]))
{
$rage_min_cost
=
$pa
[
'club'
]
==
9
?
20
:
10
;
}
else
{
{
$rage_min_cost
=
$pa
[
'club'
]
==
9
?
50
:
30
;
//获取伤害变化倍率
}
$sk_r
=
get_skillvars
(
'c9_lb'
,
'phydmgr'
);
if
(
$pa
[
'rage'
]
>=
$rage_min_cost
)
$dmg_p
[]
=
$sk_r
;
{
//输出log
//获取触发概率
if
(
$pa
[
'type'
])
$log
.=
npc_chat_rev
(
$pa
,
$pd
,
'critical'
);
if
(
isset
(
$pa
[
'message'
])
||
$pa
[
'rage'
]
>=
255
)
$log
.=
"<span class=
\"
red
\"
>发动必杀技!</span><br>"
;
{
$max_dice
=
100
;
}
else
{
if
(
$pa
[
'type'
])
$max_dice
=
40
;
else
$max_dice
=
$pa
[
'club'
]
==
9
?
0
:
30
;
}
//掷骰
$cri_dice
=
diceroll
(
100
);
if
(
$cri_dice
<=
$max_dice
)
{
$pa
[
'rage'
]
-=
$rage_min_cost
;
//获取伤害变化倍率
$p
=
$pa
[
'club'
]
==
9
?
2
:
1.5
;
$dmg_p
[]
=
$p
;
//输出log
$log
.=
npc_chat_rev
(
$pa
,
$pd
,
'critical'
);
$log
.=
"
{
$pa
[
'nm'
]
}
消耗<span class=
\"
yellow
\"
>
{
$rage_min_cost
}
</span>点怒气,"
;
if
(
$pa
[
'club'
]
==
9
)
$log
.=
"<span class=
\"
red
\"
>发动必杀技!</span><br>"
;
else
$log
.=
"<span class=
\"
red
\"
>使出重击!</span><br>"
;
}
}
}
# 连击判定:
# 连击判定:
...
@@ -877,7 +858,7 @@
...
@@ -877,7 +858,7 @@
$log
.=
"<span class='yellow'>
{
$pa
[
'nm'
]
}
打得
{
$pd
[
'nm'
]
}
落花流水,物理伤害增加了
{
$sk_p
}
%!</span><br>"
;
$log
.=
"<span class='yellow'>
{
$pa
[
'nm'
]
}
打得
{
$pd
[
'nm'
]
}
落花流水,物理伤害增加了
{
$sk_p
}
%!</span><br>"
;
}
}
#「瞄准」判定:
#「瞄准」判定:
if
(
isset
(
$pa
[
'skill_c4_aiming'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_aiming'
]))
{
{
$sk_p
=
get_skillvars
(
'c4_aiming'
,
'phydmgr'
);
$sk_p
=
get_skillvars
(
'c4_aiming'
,
'phydmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$p
=
1
+
(
$sk_p
/
100
);
...
@@ -885,7 +866,7 @@
...
@@ -885,7 +866,7 @@
$log
.=
"<span class='yellow'>「瞄准」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
$log
.=
"<span class='yellow'>「瞄准」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
}
#「咆哮」判定:
#「咆哮」判定:
if
(
isset
(
$pa
[
'skill_c4_roar'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_roar'
]))
{
{
$sk_p
=
get_skillvars
(
'c4_roar'
,
'phydmgr'
);
$sk_p
=
get_skillvars
(
'c4_roar'
,
'phydmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$p
=
1
+
(
$sk_p
/
100
);
...
@@ -893,7 +874,7 @@
...
@@ -893,7 +874,7 @@
$log
.=
"<span class='yellow'>「咆哮」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
$log
.=
"<span class='yellow'>「咆哮」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
}
#「穿杨」判定:
#「穿杨」判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_sniper'
]))
{
{
$sk_p
=
get_skillvars
(
'c4_sniper'
,
'phydmgr'
);
$sk_p
=
get_skillvars
(
'c4_sniper'
,
'phydmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$p
=
1
+
(
$sk_p
/
100
);
...
@@ -982,7 +963,7 @@
...
@@ -982,7 +963,7 @@
}
}
#「穿杨」效果判定:
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
])
&&
!
isset
(
$pa
[
'pierce_flag'
])
&&
!
empty
(
$pd
[
'phy_def_flag'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_sniper'
])
&&
!
isset
(
$pa
[
'pierce_flag'
])
&&
!
empty
(
$pd
[
'phy_def_flag'
]))
{
{
$dice
=
diceroll
(
99
);
$dice
=
diceroll
(
99
);
# 冴冴说这应该是odds……但是对不起,已经太迟了……^ ^;
# 冴冴说这应该是odds……但是对不起,已经太迟了……^ ^;
...
@@ -1300,7 +1281,7 @@
...
@@ -1300,7 +1281,7 @@
$log
.=
$exdmgname
[
$ex
];
//xx
$log
.=
$exdmgname
[
$ex
];
//xx
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
[
'n
ame
'
]
}{
$exdmginf
[
$pa
[
'ex_dmginf_log'
]]
}
了!"
;
if
(
!
empty
(
$pa
[
'ex_dmginf_log'
]))
$log
.=
"并使
{
$pd
[
'n
m
'
]
}{
$exdmginf
[
$pa
[
'ex_dmginf_log'
]]
}
了!"
;
$log
.=
"<br>"
;
$log
.=
"<br>"
;
$total_ex_dmg
[]
=
$ex_dmg
;
$total_ex_dmg
[]
=
$ex_dmg
;
}
}
...
@@ -1310,7 +1291,7 @@
...
@@ -1310,7 +1291,7 @@
//计算单个属性伤害系数变化
//计算单个属性伤害系数变化
function
get_ex_base_dmg_p
(
&
$pa
,
&
$pd
,
$active
,
$ex
,
$ex_dmg
)
function
get_ex_base_dmg_p
(
&
$pa
,
&
$pd
,
$active
,
$ex
,
$ex_dmg
)
{
{
global
$ex_good_wep
,
$ex_inf
,
$ex_inf_punish
,
$log
;
global
$ex_good_wep
,
$ex_inf
,
$ex_inf_punish
,
$
exdmginf
,
$exdmgname
,
$
log
;
# 「高能」效果判定:
# 「高能」效果判定:
if
(
isset
(
$pa
[
'bskill_c5_higheg'
])
&&
$ex
==
'd'
)
if
(
isset
(
$pa
[
'bskill_c5_higheg'
])
&&
$ex
==
'd'
)
{
{
...
@@ -1343,7 +1324,7 @@
...
@@ -1343,7 +1324,7 @@
global
$log
;
global
$log
;
$ex_dmg_p
=
Array
();
$ex_dmg_p
=
Array
();
#「咆哮」判定:
#「咆哮」判定:
if
(
isset
(
$pa
[
'skill_c4_roar'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_roar'
]))
{
{
//获取倍率
//获取倍率
$sk_p
=
get_skillvars
(
'c4_roar'
,
'exdmgr'
);
$sk_p
=
get_skillvars
(
'c4_roar'
,
'exdmgr'
);
...
@@ -1405,6 +1386,16 @@
...
@@ -1405,6 +1386,16 @@
$fin_dmg_p
[]
=
$p
;
$fin_dmg_p
[]
=
$p
;
}
}
}
}
# 「心火」效果判定:
if
(
isset
(
$pa
[
'bskill_c9_heartfire'
]))
{
$sk_p
=
get_skillvars
(
'c9_heartfire'
,
'findmgr'
);
if
(
$sk_p
)
{
$log
.=
"<span class='lime'>
{
$pa
[
'nm'
]
}
敛神聚气,谷足力量凝聚在这凌厉一击上!</span><br>"
;
$fin_dmg_p
[]
=
$sk_p
;
}
}
# 书中虫防守事件:移动到最终伤害系数变化阶段了
# 书中虫防守事件:移动到最终伤害系数变化阶段了
if
(
$pd
[
'type'
]
==
89
&&
(
$pd
[
'name'
]
==
'高中生·白神'
||
$pd
[
'name'
]
==
'白神·讨价还价'
))
if
(
$pd
[
'type'
]
==
89
&&
(
$pd
[
'name'
]
==
'高中生·白神'
||
$pd
[
'name'
]
==
'白神·讨价还价'
))
...
@@ -1534,6 +1525,13 @@
...
@@ -1534,6 +1525,13 @@
if
(
in_array
(
'H'
,
$pa
[
'ex_keys'
]))
{
if
(
in_array
(
'H'
,
$pa
[
'ex_keys'
]))
{
$hp_d
=
floor
(
$hp_d
/
10
);
$hp_d
=
floor
(
$hp_d
/
10
);
}
}
# 「冰心」技能判定
if
(
isset
(
$pa
[
'skill_c9_iceheart'
]))
{
$sk_r
=
1
-
(
get_skillvars
(
'c9_iceheart'
,
'hpshloss'
)
/
100
);
$hp_d
=
floor
(
$hp_d
*
$sk_r
);
$log
.=
"<span class='yellow'>「冰心」使
{
$pa
[
'nm'
]
}
受到的反噬伤害降低了!</span><br>"
;
}
if
(
$hp_d
>
0
)
if
(
$hp_d
>
0
)
{
{
$log
.=
"惨无人道的攻击对
{
$pa
[
'nm'
]
}
自身造成了<span class=
\"
red
\"
>
$hp_d
</span>点<span class=
\"
red
\"
>反噬伤害!</span><br>"
;
$log
.=
"惨无人道的攻击对
{
$pa
[
'nm'
]
}
自身造成了<span class=
\"
red
\"
>
$hp_d
</span>点<span class=
\"
red
\"
>反噬伤害!</span><br>"
;
...
@@ -1550,7 +1548,7 @@
...
@@ -1550,7 +1548,7 @@
//防守方(pd)在受到伤害后触发的事件
//防守方(pd)在受到伤害后触发的事件
function
get_hurt_events
(
&
$pa
,
&
$pd
,
$active
)
function
get_hurt_events
(
&
$pa
,
&
$pd
,
$active
)
{
{
global
$log
,
$infatt_rev
,
$infinfo
;
global
$log
,
$infatt_rev
,
$infinfo
,
$dtinfinfo
;
# 「灭气」技能效果
# 「灭气」技能效果
if
(
isset
(
$pa
[
'skill_c1_burnsp'
]))
if
(
isset
(
$pa
[
'skill_c1_burnsp'
]))
...
@@ -1600,6 +1598,26 @@
...
@@ -1600,6 +1598,26 @@
}
}
}
}
# 「冰心」效果判定
if
(
isset
(
$pd
[
'skill_c9_iceheart'
])
&&
!
empty
(
$pd
[
'inf'
]))
{
$purify
=
get_skillvars
(
'c9_iceheart'
,
'purify'
);
# 获取当前异常队列
$now_inf
=
str_split
(
$pd
[
'inf'
]);
# 计算最多可净化异常数
$purify
=
min
(
$purify
,
count
(
$now_inf
));
for
(
$p
=
0
;
$p
<
$purify
;
$p
++
)
{
$heal_inf
=
$now_inf
[
$p
];
$flag
=
heal_inf_rev
(
$pd
,
$heal_inf
);
if
(
$flag
)
{
$log
.=
"<span class='yellow'>
{
$pd
[
'nm'
]
}
敛神聚气,从
{
$dtinfinfo
[
$heal_inf
]
}
中恢复了!</span><br>"
;
$pd
[
'rage'
]
=
max
(
255
,
$pd
[
'rage'
]
+
get_skillvars
(
'c9_iceheart'
,
'ragegain'
));
}
}
}
# 将pa造成的伤害记录在pd的成就里
# 将pa造成的伤害记录在pd的成就里
if
(
!
$pd
[
'type'
]
&&
$pa
[
'final_damage'
]
>=
1000000
)
$pd
[
'clbpara'
][
'achvars'
][
'takedmg'
]
=
$pa
[
'final_damage'
];
if
(
!
$pd
[
'type'
]
&&
$pa
[
'final_damage'
]
>=
1000000
)
$pd
[
'clbpara'
][
'achvars'
][
'takedmg'
]
=
$pa
[
'final_damage'
];
...
@@ -1639,6 +1657,19 @@
...
@@ -1639,6 +1657,19 @@
return
0
;
return
0
;
}
}
# 从异常状态中恢复
function
heal_inf_rev
(
&
$pa
,
$infnm
)
{
global
$log
;
if
(
strpos
(
$pa
[
'inf'
],
$infnm
)
!==
false
)
{
$pa
[
'inf'
]
=
str_replace
(
$infnm
,
""
,
$pa
[
'inf'
]);
//$pa['combat_inf'] .= $infnm;
return
1
;
}
return
0
;
}
//受到技能异常(眩晕、石化)
//受到技能异常(眩晕、石化)
function
get_skill_inf
(
&
$pa
,
$sk
,
$times
,
$type
=
0
)
function
get_skill_inf
(
&
$pa
,
$sk
,
$times
,
$type
=
0
)
{
{
...
...
include/game/revattr_extra.func.php
View file @
54da2de9
...
@@ -46,6 +46,37 @@
...
@@ -46,6 +46,37 @@
unset
(
$pa
[
'bskill'
]);
unset
(
$pa
[
'bskill'
]);
}
}
}
}
# NPC释放战斗技 暂时先重复写一遍,之后合并到一个函数里
if
(
!
$active
&&
$pa
[
'type'
]
&&
!
empty
(
$pa
[
'clbpara'
][
'skill'
]))
{
# 打乱并遍历pa技能队列 寻找可用战斗技
$npc_skill
=
$pa
[
'clbpara'
][
'skill'
];
shuffle
(
$npc_skill
);
foreach
(
$npc_skill
as
$sk
)
{
if
(
get_skilltags
(
$sk
,
'battle'
)
&&
!
check_skill_unlock
(
$sk
,
$pa
)
&&
!
check_skill_cost
(
$pa
[
'bskill'
],
$pa
))
{
$bsk
=
$sk
;
$bsk_name
=
$cskills
[
$bsk
][
'name'
];
# 扣除怒气
$bsk_cost
=
get_skillvars
(
$bsk
,
'ragecost'
);
if
(
$bsk_cost
)
$pa
[
'rage'
]
-=
$bsk_cost
;
# 成功释放主动技,应用标记
$pa
[
'bskill_'
.
$bsk
]
=
1
;
$log
.=
"<span class=
\"
lime
\"
>
{
$pa
[
'nm'
]
}
对
{
$pd
[
'nm'
]
}
发动了技能「
{
$bsk_name
}
」!</span><br>"
;
# 限次技每次使用时次数+1
if
(
get_skilltags
(
$bsk
,
'limit'
))
{
set_skillpara
(
$bsk
,
'active_t'
,
get_skillpara
(
$bsk
,
'active_t'
,
$pa
[
'clbpara'
])
+
1
,
$pa
[
'clbpara'
]);
}
# 检查是否需要addnews
addnews
(
$now
,
'bsk_'
.
$bsk
,
$pa
[
'name'
],
$pd
[
'name'
]);
# 别让NPC放两个技能!
break
;
}
}
}
return
;
return
;
}
}
...
@@ -72,7 +103,7 @@
...
@@ -72,7 +103,7 @@
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
b
\"
>
{
$pa
[
'nm'
]
}
朝着
{
$pd
[
'nm'
]
}
打出了凶猛的一击!<span class=
\"
cyan b
\"
>
{
$pd
[
'nm'
]
}
被打晕了过去!</span></span><br>"
;
$pa
[
'skill_c1_crit_log'
]
=
"<span class=
\"
yellow
\"
>
{
$pa
[
'nm'
]
}
朝着
{
$pd
[
'nm'
]
}
打出了凶猛的一击!<span class=
\"
clan
\"
>
{
$pd
[
'nm'
]
}
被打晕了过去!</span></span><br>"
;
}
}
}
}
# 「枭眼」特殊判定:射程不小于对方时激活效果
# 「枭眼」特殊判定:射程不小于对方时激活效果
...
@@ -194,13 +225,13 @@
...
@@ -194,13 +225,13 @@
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
}
}
#「瞄准」效果判定:
#「瞄准」效果判定:
if
(
isset
(
$pa
[
'skill_c4_aiming'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_aiming'
]))
{
{
$sk_r
=
1
+
(
get_skillvars
(
'c4_aiming'
,
'accgain'
)
/
100
);
$sk_r
=
1
+
(
get_skillvars
(
'c4_aiming'
,
'accgain'
)
/
100
);
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
}
}
#「穿杨」效果判定:
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_sniper'
]))
{
{
$sk_r
=
1
+
(
get_skillvars
(
'c4_sniper'
,
'accgain'
)
/
100
);
$sk_r
=
1
+
(
get_skillvars
(
'c4_sniper'
,
'accgain'
)
/
100
);
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
...
@@ -213,6 +244,13 @@
...
@@ -213,6 +244,13 @@
$sk_r
=
1
-
(
get_skillvars
(
'c3_hawkeye'
,
'accloss'
)
/
100
);
$sk_r
=
1
-
(
get_skillvars
(
'c3_hawkeye'
,
'accloss'
)
/
100
);
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
}
}
#「灵力」效果判定:
if
(
isset
(
$pd
[
'skill_c9_spirit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c9_spirit'
,
$pd
);
$sk_r
=
1
-
(
get_skillvars
(
'c9_spirit'
,
'accloss'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
return
$hitrate
;
}
}
...
@@ -242,6 +280,7 @@
...
@@ -242,6 +280,7 @@
$sk_r
=
1
+
(
get_skillvars
(
'c4_stable'
,
'rbgain'
,
$sk_lvl
)
/
100
);
$sk_r
=
1
+
(
get_skillvars
(
'c4_stable'
,
'rbgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
}
}
# 减益:
# 减益:
#「枭眼」效果判定:
#「枭眼」效果判定:
if
(
isset
(
$pd
[
'skill_c3_hawkeye'
]))
if
(
isset
(
$pd
[
'skill_c3_hawkeye'
]))
...
@@ -249,6 +288,13 @@
...
@@ -249,6 +288,13 @@
$sk_r
=
1
-
(
get_skillvars
(
'c3_hawkeye'
,
'rbloss'
)
/
100
);
$sk_r
=
1
-
(
get_skillvars
(
'c3_hawkeye'
,
'rbloss'
)
/
100
);
$hitrate
*=
$sk_r
;
$hitrate
*=
$sk_r
;
}
}
#「灵力」效果判定:
if
(
isset
(
$pd
[
'skill_c9_spirit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c9_spirit'
,
$pd
);
$sk_r
=
1
-
(
get_skillvars
(
'c9_spirit'
,
'rbloss'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
return
$hitrate
;
}
}
...
@@ -278,7 +324,7 @@
...
@@ -278,7 +324,7 @@
$inftimes
+=
$sk_fix
;
$inftimes
+=
$sk_fix
;
}
}
#「咆哮」效果判定:
#「咆哮」效果判定:
if
(
isset
(
$pa
[
'skill_c4_roar'
]))
if
(
isset
(
$pa
[
'
b
skill_c4_roar'
]))
{
{
//获取致伤效果加成
//获取致伤效果加成
$sk_fix
=
get_skillvars
(
'c4_roar'
,
'inftfix'
);
$sk_fix
=
get_skillvars
(
'c4_roar'
,
'inftfix'
);
...
@@ -306,7 +352,7 @@
...
@@ -306,7 +352,7 @@
{
{
$ex_dmg_r
=
1
;
$ex_dmg_r
=
1
;
# 「附魔」效果判定:
# 「附魔」效果判定:
if
(
isset
(
$pa
[
'skill_c3_enchant'
]))
if
(
isset
(
$pa
[
'
b
skill_c3_enchant'
]))
{
{
$exdmgarr
=
get_skillvars
(
'c3_enchant'
,
'exdmgarr'
);
$exdmgarr
=
get_skillvars
(
'c3_enchant'
,
'exdmgarr'
);
if
(
isset
(
$exdmgarr
[
$key
])
&&
!
empty
(
get_skillpara
(
'c3_enchant'
,
$exdmgarr
[
$key
],
$pa
[
'clbpara'
])))
if
(
isset
(
$exdmgarr
[
$key
])
&&
!
empty
(
get_skillpara
(
'c3_enchant'
,
$exdmgarr
[
$key
],
$pa
[
'clbpara'
])))
...
...
include/game/revclubskills.func.php
View file @
54da2de9
...
@@ -178,9 +178,15 @@
...
@@ -178,9 +178,15 @@
}
}
# 升级指定技能会触发的事件,返回0时代表无法升级技能
# 升级指定技能会触发的事件,返回0时代表无法升级技能
function
upgclbskills_events
(
$event
,
$sk
)
function
upgclbskills_events
(
$event
,
$sk
,
$data
=
NULL
)
{
{
global
$log
,
$cskills
,
$clbpara
;
global
$log
,
$cskills
,
$clbpara
,
$name
;
# 事件:激活技能
if
(
$event
==
'active_news'
)
{
addnews
(
$now
,
'ask_'
.
$sk
,
$name
);
return
1
;
}
# 事件:治疗
# 事件:治疗
if
(
$event
==
'heal'
)
if
(
$event
==
'heal'
)
{
{
...
@@ -206,6 +212,28 @@
...
@@ -206,6 +212,28 @@
}
}
return
1
;
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
)
if
(
strpos
(
$event
,
'getskill_'
)
===
0
)
{
{
...
...
include/game/revcombat.func.php
View file @
54da2de9
...
@@ -1037,6 +1037,18 @@
...
@@ -1037,6 +1037,18 @@
{
{
$pa_rgup
=
rand
(
1
,
2
);
$pa_rgup
=
rand
(
1
,
2
);
$pa
[
'rage'
]
=
min
(
255
,
$pa
[
'rage'
]
+
$pa_rgup
);
$pa
[
'rage'
]
=
min
(
255
,
$pa
[
'rage'
]
+
$pa_rgup
);
# 成功发动战斗技时,额外返还10%怒气
if
(
isset
(
$pa
[
'bskill'
])
&&
isset
(
$pa
[
'bskill_'
.
$pa
[
'bskill'
]]))
{
$bsk
=
$pa
[
'bskill'
];
$bsk_cost
=
get_skillvars
(
$bsk
,
'ragecost'
);
if
(
$bsk_cost
)
{
$pa
[
'rage'
]
+=
round
(
$bsk_cost
*
0.1
);
# 必杀技能额外返还15点怒气
if
(
$bsk
==
'c9_lb'
)
$pa
[
'rage'
]
+=
get_skillvars
(
'c9_lb'
,
'rageback'
);
}
}
}
}
}
}
# 无论攻击是否命中,计算pd(防守方)因挨打获得的怒气
# 无论攻击是否命中,计算pd(防守方)因挨打获得的怒气
...
...
include/news.func.php
View file @
54da2de9
...
@@ -317,6 +317,10 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
...
@@ -317,6 +317,10 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
orange
\"
>
{
$a
}
发送了控制指令,全部禁区解除!</span><br>
\n
"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
orange
\"
>
{
$a
}
发送了控制指令,全部禁区解除!</span><br>
\n
"
;
}
elseif
(
$news
==
'csl_addarea'
)
{
}
elseif
(
$news
==
'csl_addarea'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
orange
\"
>
{
$a
}
发送了控制指令,下一回禁区提前到来了!</span><br>
\n
"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
orange
\"
>
{
$a
}
发送了控制指令,下一回禁区提前到来了!</span><br>
\n
"
;
}
elseif
(
strpos
(
$news
,
'ask_'
)
===
0
)
{
$ask
=
substr
(
$news
,
4
);
$aname
=
$cskills
[
$ask
][
'name'
];
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
lime
\"
>
{
$a
}
发动了技能<span class=
\"
yellow
\"
>「
{
$aname
}
」</span>!</span><br>
\n
"
;
}
elseif
(
strpos
(
$news
,
'bsk_'
)
===
0
)
{
}
elseif
(
strpos
(
$news
,
'bsk_'
)
===
0
)
{
$bsk
=
substr
(
$news
,
4
);
$bsk
=
substr
(
$news
,
4
);
$bname
=
$cskills
[
$bsk
][
'name'
];
$bname
=
$cskills
[
$bsk
][
'name'
];
...
...
include/system.func.php
View file @
54da2de9
...
@@ -687,6 +687,29 @@ function addnpc($type,$sub,$num,$time = 0,$clbstatus=NULL,$aitem=NULL,$apls=NULL
...
@@ -687,6 +687,29 @@ function addnpc($type,$sub,$num,$time = 0,$clbstatus=NULL,$aitem=NULL,$apls=NULL
}
}
//$npc['pls'] = rand(1,$plsnum-1);
//$npc['pls'] = rand(1,$plsnum-1);
}
}
# NPC技能初始化
// 社团技能初始化
global
$club_skillslist
;
if
(
isset
(
$club_skillslist
[
$npc
[
'club'
]]))
{
if
(
empty
(
$npc
[
'clbpara'
]))
$npc
[
'clbpara'
][
'skill'
]
=
Array
();
$npc_csk
=
$club_skillslist
[
$npc
[
'club'
]];
foreach
(
$npc_csk
as
$sk
)
getclubskill
(
$sk
,
$npc
[
'clbpara'
]);
}
// 自定技能初始化
global
$cskills
;
if
(
!
empty
(
$npc
[
'clubskill'
]))
{
foreach
(
$npc
[
'clubskill'
]
as
$sk
)
getclubskill
(
$sk
,
$npc
[
'clbpara'
]);
}
// 自定技能参数初始化
if
(
!
empty
(
$npc
[
'clubskillpara'
]))
{
foreach
(
$npc
[
'clubskillpara'
]
as
$sk
=>
$skarr
)
{
foreach
(
$skarr
as
$skpara
=>
$skvalue
)
set_skillpara
(
$sk
,
$skpara
,
$skvalue
,
$npc
[
'clbpara'
]);
}
}
//自定义addnpc出现位置,会覆盖原本预设的位置。 TODO:要不要发个特别的news?
//自定义addnpc出现位置,会覆盖原本预设的位置。 TODO:要不要发个特别的news?
if
(
isset
(
$apls
))
$npc
[
'pls'
]
=
(
int
)
$apls
;
if
(
isset
(
$apls
))
$npc
[
'pls'
]
=
(
int
)
$apls
;
//自定义addnpc身上携带的道具,会覆盖原本预设的道具。 格式:$aitem=Array($iid=>Array($itm,$itmk,$itme,$itms,$itmsk),...)
//自定义addnpc身上携带的道具,会覆盖原本预设的道具。 格式:$aitem=Array($iid=>Array($itm,$itmk,$itme,$itms,$itmsk),...)
...
@@ -758,6 +781,33 @@ function evonpc($type,$name){
...
@@ -758,6 +781,33 @@ function evonpc($type,$name){
$npc
[
'wp'
]
=
$npc
[
'wk'
]
=
$npc
[
'wg'
]
=
$npc
[
'wc'
]
=
$npc
[
'wd'
]
=
$npc
[
'wf'
]
=
$npc
[
'skill'
];
$npc
[
'wp'
]
=
$npc
[
'wk'
]
=
$npc
[
'wg'
]
=
$npc
[
'wc'
]
=
$npc
[
'wd'
]
=
$npc
[
'wf'
]
=
$npc
[
'skill'
];
unset
(
$npc
[
'skill'
]);
unset
(
$npc
[
'skill'
]);
$qry
=
''
;
$qry
=
''
;
# NPC进化后技能初始化
// 社团技能初始化
global
$club_skillslist
;
if
(
isset
(
$club_skillslist
[
$npc
[
'club'
]]))
{
if
(
empty
(
$npc
[
'clbpara'
]))
$npc
[
'clbpara'
][
'skill'
]
=
Array
();
$npc_csk
=
$club_skillslist
[
$npc
[
'club'
]];
foreach
(
$npc_csk
as
$sk
)
getclubskill
(
$sk
,
$npc
[
'clbpara'
]);
}
// 自定技能初始化
global
$cskills
;
if
(
!
empty
(
$npc
[
'clubskill'
]))
{
foreach
(
$npc
[
'clubskill'
]
as
$sk
)
getclubskill
(
$sk
,
$npc
[
'clbpara'
]);
}
// 自定技能参数初始化
if
(
!
empty
(
$npc
[
'clubskillpara'
]))
{
foreach
(
$npc
[
'clubskillpara'
]
as
$sk
=>
$skarr
)
{
foreach
(
$skarr
as
$skpara
=>
$skvalue
)
set_skillpara
(
$sk
,
$skpara
,
$skvalue
,
$npc
[
'clbpara'
]);
}
}
unset
(
$npc
[
'clubskill'
]);
unset
(
$npc
[
'clubskillpara'
]);
# todo:整理下这堆烂摊子
$npc
[
'clbpara'
]
=
json_encode
(
$npc
[
'clbpara'
]);
//$npc = player_format_with_db_structure($npc);
foreach
(
$npc
as
$key
=>
$val
){
foreach
(
$npc
as
$key
=>
$val
){
$qry
.=
"
$key
= '
{
$val
}
',"
;
$qry
.=
"
$key
= '
{
$val
}
',"
;
}
}
...
...
templates/default/rankinfo.htm
View file @
54da2de9
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
<TR
height=
"20"
>
<TR
height=
"20"
>
<TD
class=
"b1"
width=
"30px"
><span>
排名
</span></TD>
<TD
class=
"b1"
width=
"30px"
><span>
排名
</span></TD>
<TD
class=
"b1"
width=
"45px"
><span>
UID
</span></TD>
<TD
class=
"b1"
width=
"45px"
><span>
UID
</span></TD>
<TD
class=
"b1"
width=
"95px"
><span>
{lang nick}
</span></TD>
<TD
class=
"b1"
width=
"95px"
><span>
{lang name}
</span></TD>
<TD
class=
"b1"
width=
"95px"
><span>
{lang name}
</span></TD>
<TD
class=
"b1"
width=
"75px"
><span>
{lang nick}
</span></TD>
<TD
class=
"b1"
width=
"35px"
><span>
{lang gender}
</span></TD>
<TD
class=
"b1"
width=
"35px"
><span>
{lang gender}
</span></TD>
<TD
class=
"b1"
width=
"80px"
><span>
{lang icon}
</span></TD>
<TD
class=
"b1"
width=
"80px"
><span>
{lang icon}
</span></TD>
<TD
class=
"b1"
style=
"maxwidth:120"
><span>
{lang motto}
</span></TD>
<TD
class=
"b1"
style=
"maxwidth:120"
><span>
{lang motto}
</span></TD>
...
@@ -18,8 +18,8 @@
...
@@ -18,8 +18,8 @@
<TR
height=
"20"
>
<TR
height=
"20"
>
<TD
class=
"b2"
><span>
<!--{if $urdata['number']==1}-->
<a
title=
"触手!"
><span
class=
"red"
>
榜首
</span></a>
<!--{elseif $urdata['number']<=10}-->
<span
class=
"yellow"
>
$urdata['number']
</span>
<!--{else}-->
$urdata['number']
<!--{/if}-->
</span></TD>
<TD
class=
"b2"
><span>
<!--{if $urdata['number']==1}-->
<a
title=
"触手!"
><span
class=
"red"
>
榜首
</span></a>
<!--{elseif $urdata['number']<=10}-->
<span
class=
"yellow"
>
$urdata['number']
</span>
<!--{else}-->
$urdata['number']
<!--{/if}-->
</span></TD>
<TD
class=
"b3"
><span>
$urdata['uid']
</span></TD>
<TD
class=
"b3"
><span>
$urdata['uid']
</span></TD>
<TD
class=
"b3"
><span><u><a
href=
"user_profile.php?playerID=$urdata['username']"
>
$urdata['username']
</a></u></span></TD>
<TD
class=
"b3"
><span>
$urdata['nickinfo']
</span></TD>
<TD
class=
"b3"
><span>
$urdata['nickinfo']
</span></TD>
<TD
class=
"b3"
><span><u><a
href=
"user_profile.php?playerID=$urdata['username']"
>
$urdata['username']
</a></u></span></TD>
<TD
class=
"b3"
><span>
<!--{if $urdata['gender']}-->
$sexinfo[$urdata['gender']]
<!--{else}-->
$sexinfo[0]
<!--{/if}-->
</span></TD>
<TD
class=
"b3"
><span>
<!--{if $urdata['gender']}-->
$sexinfo[$urdata['gender']]
<!--{else}-->
$sexinfo[0]
<!--{/if}-->
</span></TD>
<TD
class=
"b3"
><span><IMG
src=
"img/$urdata['img']"
width=
"70"
height=
"40"
border=
"0"
align=
"absmiddle"
></span></TD>
<TD
class=
"b3"
><span><IMG
src=
"img/$urdata['img']"
width=
"70"
height=
"40"
border=
"0"
align=
"absmiddle"
></span></TD>
<TD
class=
"b3"
><span>
$urdata['motto']
</span></TD>
<TD
class=
"b3"
><span>
$urdata['motto']
</span></TD>
...
...
templates/default/skill_temp.htm
View file @
54da2de9
...
@@ -3,6 +3,8 @@
...
@@ -3,6 +3,8 @@
<!--{eval $cskill = $cskills[$skid];}-->
<!--{eval $cskill = $cskills[$skid];}-->
<!--{if isset($cskill['maxlvl'])}-->
<!--{if isset($cskill['maxlvl'])}-->
<!--{eval $now_clvl = get_skilllvl($skid,$uidata); $max_lvl_flag = $now_clvl >= $cskill['maxlvl'] ? 1 : 0;}-->
<!--{eval $now_clvl = get_skilllvl($skid,$uidata); $max_lvl_flag = $now_clvl >= $cskill['maxlvl'] ? 1 : 0;}-->
<!--{else}-->
<!--{eval $max_lvl_flag = 0;}-->
<!--{/if}-->
<!--{/if}-->
<tr>
<tr>
<td
class=
"b1"
width=
"40"
>
<td
class=
"b1"
width=
"40"
>
...
@@ -43,12 +45,11 @@
...
@@ -43,12 +45,11 @@
<td
valign=
"center"
align=
"center"
>
<td
valign=
"center"
align=
"center"
>
<span
class=
"yellow"
>
<span
class=
"yellow"
>
<!-- 未满足解锁条件时显示的文本,自己填或使用下面的方式 -->
<!-- 未满足解锁条件时显示的文本,自己填或使用下面的方式 -->
<!--{eval $skid_lockdesc = $cskill['lockdesc'][$unlock_flag];}-->
<!--{if is_array($unlock_flag)}-->
<!--{if is_array($unlock_flag)}-->
<!--{eval $unlock_cd = $unlock_flag[1]; $unlock_flag = $unlock_flag[0]; $unlock_flag = str_replace("[:cd:]","$unlock_cd",$unlock_flag);}-->
<!--{eval $unlock_cd = $unlock_flag[1]; $unlock_flag = $unlock_flag[0]; $unlock_flag = str_replace("[:cd:]","$unlock_cd",$unlock_flag);}-->
<!--{/if}-->
<!--{/if}-->
<!--{eval $unlock_flag = is_array($cskill['lockdesc']) ? $cskill['lockdesc'][$unlock_flag] : $cskill['lockdesc']; $unlock_flag = isset($unlock_cd) ? str_replace("[:cd:]","$unlock_cd",$unlock_flag) : $unlock_flag;}-->
<!--{eval $unlock_flag = is_array($cskill['lockdesc']) ? $cskill['lockdesc'][$unlock_flag] : $cskill['lockdesc']; $unlock_flag = isset($unlock_cd) ? str_replace("[:cd:]","$unlock_cd",$unlock_flag) : $unlock_flag;}-->
<span
class=
"yellow"
>
$skid_lockdesc
</span>
$unlock_flag
</span>
</span>
</td>
</td>
</tr>
</tr>
...
...
templates/default/winnerlist.htm
View file @
54da2de9
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<TR
height=
"20"
>
<TR
height=
"20"
>
<TD
class=
"b1"
width=
"30px"
><span>
回
</span></TD>
<TD
class=
"b1"
width=
"30px"
><span>
回
</span></TD>
<TD
class=
"b1"
width=
"60px"
><span>
胜利方式
</span></TD>
<TD
class=
"b1"
width=
"60px"
><span>
胜利方式
</span></TD>
<TD
class=
"b1"
width=
"
7
5px"
><span>
头衔
</span></TD>
<TD
class=
"b1"
width=
"
9
5px"
><span>
头衔
</span></TD>
<TD
class=
"b1"
width=
"95px"
><span>
优胜者名
</span></TD>
<TD
class=
"b1"
width=
"95px"
><span>
优胜者名
</span></TD>
<TD
class=
"b1"
width=
"80px"
><span>
头像
</span></TD>
<TD
class=
"b1"
width=
"80px"
><span>
头像
</span></TD>
<TD
class=
"b1"
><span>
游戏结束时间
</span></TD>
<TD
class=
"b1"
><span>
游戏结束时间
</span></TD>
...
...
valid.php
View file @
54da2de9
...
@@ -124,7 +124,9 @@ if($mode == 'enter') {
...
@@ -124,7 +124,9 @@ 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
,
5
);
$dice_name
=
$clubinfo
[
$dice
];
$dice
=
rand
(
1
,
6
);
if
(
$dice
==
6
)
$dice
=
9
;
$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
;
if
(
$wingames
<=
1
){
if
(
$wingames
<=
1
){
...
...
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