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
feb8f653
Commit
feb8f653
authored
Mar 25, 2023
by
Nemo Ma
Committed by
GitHub
Mar 25, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #90 from hikawiier/waaagh
rev combat phase 3.?+1
parents
76ebdf0b
9c70fd53
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
325 additions
and
49 deletions
+325
-49
bot/revbotservice.php
bot/revbotservice.php
+1
-0
command.php
command.php
+8
-9
gamedata/cache/addnpc_1.php
gamedata/cache/addnpc_1.php
+1
-1
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+68
-4
gamedata/cache/npc_1.php
gamedata/cache/npc_1.php
+2
-2
gamedata/cache/resources_1.php
gamedata/cache/resources_1.php
+3
-2
include/game/clubslct.func.php
include/game/clubslct.func.php
+4
-2
include/game/revattr.func.php
include/game/revattr.func.php
+14
-4
include/game/revattr_extra.func.php
include/game/revattr_extra.func.php
+34
-0
include/game/revclubskills.func.php
include/game/revclubskills.func.php
+53
-11
include/game/revclubskills_extra.func.php
include/game/revclubskills_extra.func.php
+45
-7
include/game/revcombat.func.php
include/game/revcombat.func.php
+9
-1
include/news.func.php
include/news.func.php
+9
-0
templates/default/help.htm
templates/default/help.htm
+1
-1
templates/default/skill_c10_inspire.htm
templates/default/skill_c10_inspire.htm
+68
-0
templates/default/skill_c1_veteran.htm
templates/default/skill_c1_veteran.htm
+1
-1
templates/default/skill_c5_focus.htm
templates/default/skill_c5_focus.htm
+3
-3
valid.php
valid.php
+1
-1
No files found.
bot/revbotservice.php
View file @
feb8f653
...
...
@@ -69,6 +69,7 @@ while($id)
if
(
$flag
==
0
)
{
unset
(
$gamevars
[
'botid'
][
array_search
(
$botid
,
$gamevars
[
'botid'
])]);
save_gameinfo
();
save_combatinfo
();
if
(
empty
(
$gamevars
[
'botid'
]))
break
;
}
echo
"
\n
BOT:
{
$id
}
行动完成
\n
"
;
...
...
command.php
View file @
feb8f653
...
...
@@ -640,21 +640,20 @@ if($hp > 0){
$mode
=
'command'
;
}
elseif
(
$mode
==
'revskpts'
)
{
$sk
=
substr
(
$command
,
9
);
if
(
isset
(
$cskills
[
$sk
]))
{
if
(
strpos
(
$command
,
'upgskill_'
)
!==
false
)
{
if
(
isset
(
$cskills
[
$sk
]))
{
if
(
strpos
(
$command
,
'upgskill_'
)
!==
false
)
{
if
(
isset
(
$cskills
[
$sk
][
'num_input'
])){
$nums
=
isset
(
$
{
$command
.
'_nums'
})
?
(
int
)
$
{
$command
.
'_nums'
}
:
1
;
upgclbskills
(
$sk
,
$nums
);
}
elseif
(
isset
(
$upgpara
)
&&
isset
(
$cskills
[
$sk
][
'choice'
])
&&
in_array
(
$upgpara
,
$cskills
[
$sk
][
'choice'
])){
upgclbskills
(
$sk
,
1
,
$upgpara
);
}
else
{
upgclbskills
(
$sk
);
}
}
elseif
(
strpos
(
$command
,
'actskill_'
)
!==
false
)
{
}
elseif
(
strpos
(
$command
,
'swtskill_'
)
!==
false
)
{
if
(
isset
(
$upgpara
)
&&
isset
(
$cskills
[
$sk
][
'choice'
])
&&
in_array
(
$upgpara
,
$cskills
[
$sk
][
'choice'
]))
{
switchclbskills
(
$sk
,
$upgpara
);
}
}
elseif
(
strpos
(
$command
,
'actskill_'
)
!==
false
)
{
# 其他特殊技能按钮
include_once
GAME_ROOT
.
'./include/game/revclubskills_extra.func.php'
;
if
(
$sk
==
'c1_veteran'
)
skill_c1_veteran_act
(
$c1_veteran_choice
);
...
...
gamedata/cache/addnpc_1.php
View file @
feb8f653
...
...
@@ -1317,7 +1317,7 @@ $anpcinfo = array
1
=>
array
(
'name'
=>
'蓝凝'
,
'club'
=>
1
8
,
'club'
=>
1
0
,
'mhp'
=>
9999998
,
'msp'
=>
1600
,
'att'
=>
199900
,
...
...
gamedata/cache/clubskills_1.php
View file @
feb8f653
...
...
@@ -15,7 +15,7 @@ $club_skillslist = Array
7
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c7_radar'
,
'c7_shield'
,
'c7_electric'
,
'c7_field'
,
'c7_overload'
,
'c7_emp'
),
#'锡安成员',
8
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c8_expert'
,
'c8_infilt'
,
'c8_catalyst'
,
'c8_deadheal'
,
'c8_assassin'
),
#'黑衣组织',
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'
,
'c10_inspire'
,
'c10_insight'
,
'c10_decons'
),
#'天赋异禀', //高速成长与天赋异禀合并为天赋异禀
11
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'富家子弟',
12
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'全能骑士',
13
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'根性兄贵',
...
...
@@ -23,7 +23,7 @@ $club_skillslist = Array
15
=>
Array
(
'f_heal'
),
#'<span class="L5">L5状态</span>',
16
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'全能骑士',
17
=>
Array
(
'f_heal'
),
#'走路萌物',
18
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'天赋异禀',
//
18 => Array('s_hp','s_ad','f_heal'), #'天赋异禀',
19
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'晶莹剔透',
20
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'元素大师', #商店购买社团卡
21
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'灵子梦魇', #暂定名,商店购买社团卡
...
...
@@ -251,7 +251,7 @@ $cskills = Array
# 这是一个使用固定模板的技能 在这里进行编辑不会有任何效果……等等,还是有点效果的……编辑下面提供的内容是会有效果的
'name'
=>
'百战'
,
'tags'
=>
Array
(
'passive'
),
'log'
=>
"切换了「百战」的防御类型。"
,
'
c
log'
=>
"切换了「百战」的防御类型。"
,
'choice'
=>
Array
(
'P'
,
'K'
,
'C'
,
'G'
,
'F'
,
'D'
,
'I'
,
'U'
,
'q'
,
'W'
,
'E'
),
//可选择的单系防御类型
'svars'
=>
Array
(
'choice'
=>
''
,
//初始默认选择的单项防御
...
...
@@ -829,7 +829,7 @@ $cskills = Array
'name'
=>
'专注'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
"你可随意于下列三个状态间切换:"
,
'log'
=>
"切换了「专注」的状态。"
,
'
c
log'
=>
"切换了「专注」的状态。"
,
'choice'
=>
Array
(
0
,
1
,
2
),
//无效果/重视遇敌/重视探物
'svars'
=>
Array
(
'choice'
=>
0
,
...
...
@@ -1417,6 +1417,70 @@ $cskills = Array
'pvars'
=>
Array
(
'lasttimes'
),
'lostevents'
=>
Array
(
'unactive_c8_assassin'
),
),
'c10_inspire'
=>
Array
(
'name'
=>
'灵感'
,
'tags'
=>
Array
(
'active'
),
'desc'
=>
"选定一个称号,升级本技能时将<span class='yellow'>随机</span>获得一个选定称号的<span class='yellow'>技能</span><br>
(可能会重复获得)<br>"
,
'maxlvl'
=>
8
,
'cost'
=>
Array
(
4
,
5
,
7
,
9
,
11
,
14
,
17
,
20
,
-
1
),
'input'
=>
'思考'
,
'log'
=>
'……<br>'
,
'choice'
=>
Array
(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
),
//无效果/重视遇敌/重视探物
'clog'
=>
'<span class="yellow">切换了选定称号。</span><br>'
,
'events'
=>
Array
(
'inspire'
),
'status'
=>
Array
(
'skillpara|c10_inspire-lvl'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c10_inspire-lvl'
=>
'+=::1'
,),
),
'svars'
=>
Array
(
'lvl'
=>
0
,
'choice'
=>
1
,
),
),
'c10_insight'
=>
Array
(
'name'
=>
'洞察'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'敌人所用武器熟练度低于你的<span class="gold" tooltip2="你当前所持武器熟练度+(其他系别熟练度×0.25)">战斗熟练度</span>时,<br>
你对其命中率<span class="yellow">+[:accgain:]%</span>;先制率<span class="yellow">+[:actgain:]%</span><br>
敌人对你的命中率<span class="yellow">-[:accloss:]%</span>;连击命中率<span class="yellow">-[:rbloss:]%</span>'
,
'maxlvl'
=>
4
,
'cost'
=>
Array
(
2
,
3
,
4
,
6
,
-
1
),
'input'
=>
'升级'
,
'log'
=>
'<span class="yellow">「洞察」升级成功。</span><br>'
,
'status'
=>
Array
(
'skillpara|c10_insight-lvl'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c10_insight-lvl'
=>
'+=::1'
,),
),
'svars'
=>
Array
(
'lvl'
=>
0
),
'vars'
=>
Array
(
'accgain'
=>
Array
(
5
,
7
,
10
,
17
,
30
),
'actgain'
=>
Array
(
3
,
5
,
8
,
12
,
17
),
'accloss'
=>
Array
(
3
,
6
,
11
,
15
,
17
),
'rbloss'
=>
Array
(
4
,
7
,
14
,
18
,
22
),
),
),
'c10_decons'
=>
Array
(
'name'
=>
'解构'
,
'tags'
=>
Array
(
'battle'
),
'desc'
=>
'消耗<span class="yellow">[:ragecost:]</span>点怒气,本次攻击物理伤害<span class="yellow">+[:phydmgr:]%</span><br>
击杀敌人时,额外获得<span class="lime">敌人等级-(0.15×<span tooltip2="等同于你当前等级">[^lvl^])</span></span>点经验'
,
'bdesc'
=>
'物理伤害<span class="yellow">+[:phydmgr:]%</span>,击杀时额外获得<span class="lime">敌人等级-(0.15×<span tooltip2="等同于你当前等级">[^lvl^]</span>)</span>点经验;消耗<span class="red">[:ragecost:]</span>怒气'
,
'vars'
=>
Array
(
'ragecost'
=>
18
,
'phydmgr'
=>
20
,
),
'pvars'
=>
Array
(
'lvl'
),
'lockdesc'
=>
Array
(
'lvl'
=>
'3级时解锁'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 3'
,
),
),
'tl_cstick'
=>
Array
(
'name'
=>
'抡尸'
,
...
...
gamedata/cache/npc_1.php
View file @
feb8f653
...
...
@@ -1825,7 +1825,7 @@ $npcinfo = array
'name'
=>
'虚子'
,
'gd'
=>
'f'
,
'icon'
=>
101
,
'club'
=>
1
8
,
'club'
=>
1
0
,
'mhp'
=>
4932
,
'att'
=>
5120
,
'skill'
=>
1500
,
...
...
@@ -2249,7 +2249,7 @@ $npcinfo = array
'name'
=>
'星莲船四面BOSS'
,
'gd'
=>
'm'
,
'icon'
=>
4
,
'club'
=>
1
8
,
'club'
=>
1
0
,
'wep'
=>
'205mm绯牡丹加农炮'
,
'wepk'
=>
'WJ'
,
'wepe'
=>
800
,
...
...
gamedata/cache/resources_1.php
View file @
feb8f653
...
...
@@ -34,7 +34,8 @@ $clubinfo = Array(
7
=>
'锡安成员'
,
8
=>
'黑衣组织'
,
9
=>
'超能力者'
,
10
=>
'高速成长'
,
//10=>'高速成长', //天赋异禀与高速成长合并
10
=>
'天赋异禀'
,
11
=>
'富家子弟'
,
12
=>
'全能骑士'
,
13
=>
'根性兄贵'
,
...
...
@@ -42,7 +43,7 @@ $clubinfo = Array(
15
=>
'<span class="L5">L5状态</span>'
,
16
=>
'全能骑士'
,
17
=>
'走路萌物'
,
18
=>
'天赋异禀'
,
//
18=>'天赋异禀',
19
=>
'晶莹剔透'
,
20
=>
'元素大师'
,
#商店购买社团卡
21
=>
'灵子梦魇'
,
#暂定名,商店购买社团卡
...
...
include/game/clubslct.func.php
View file @
feb8f653
...
...
@@ -43,8 +43,10 @@ function getclub($who, &$c1, &$c2, &$c3)
if
(
$delt
>
30
)
if
(
$c1
==
1
)
$c2
=
2
;
else
$c2
=
1
;
$c3
=
calc
(
11131
,
6397
,
$curgid
,
$curuid
,
$curpid
,
$starttime
,
$validtime
);
$clubid
=
array
(
6
,
7
,
8
,
99
,
10
,
11
,
13
,
14
,
16
,
18
,
19
,
7
,
99
,
13
,
14
,
18
,
6
,
19
,
13
,
14
,
18
);
$c3
%=
21
;
$c3
=
$clubid
[
$c3
];
//$clubid = array(6,7,8,99,10,11,13,14,16,18,19,7,99,13,14,18,6,19,13,14,18);
//$c3%=21; $c3=$clubid[$c3];
$clubid
=
array
(
6
,
7
,
8
,
99
,
10
,
11
,
13
,
14
,
16
,
19
,
7
,
99
,
13
,
14
,
18
,
6
,
19
,
13
,
14
);
$c3
%=
19
;
$c3
=
$clubid
[
$c3
];
if
(
$c1
==
$c3
||
$c2
==
$c3
)
$c3
=
99
;
if
(
$c1
>
$c2
)
swap
(
$c1
,
$c2
);
...
...
include/game/revattr.func.php
View file @
feb8f653
...
...
@@ -98,9 +98,11 @@
global
$skillinfo
,
$log
;
if
(
empty
(
$pa
[
'wep_kind'
]))
get_wep_kind
(
$pa
);
# 获取真实熟练度 保存在$pa['wep_skill']内
if
(
$pa
[
'club'
]
==
18
)
# 天赋异禀在计算熟练时附加25%别系熟练
if
(
$pa
[
'club'
]
==
10
)
{
$wep_skill
=
round
(
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
*
0.7
+
(
$pa
[
'wp'
]
+
$pa
[
'wk'
]
+
$pa
[
'wc'
]
+
$pa
[
'wg'
]
+
$pa
[
'wd'
]
+
$pa
[
'wf'
])
*
0.3
);
$wep_skill
=
round
(
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+
(
$pa
[
'wp'
]
+
$pa
[
'wk'
]
+
$pa
[
'wc'
]
+
$pa
[
'wg'
]
+
$pa
[
'wd'
]
+
$pa
[
'wf'
])
*
0.25
);
}
else
{
...
...
@@ -534,9 +536,9 @@
if
(
in_array
(
'R'
,
$pa
[
'ex_keys'
]))
{
$maxdmg
=
$pd
[
'mhp'
]
>
$pa
[
'wepe'
]
?
$pa
[
'wepe'
]
:
$pd
[
'mhp'
];
$mindmg
=
max
(
-
1
*
$pa
[
'wepe'
],
-
1
*
(
$pd
[
'mhp'
]
-
$pd
[
'hp'
]
+
1
)
);
$mindmg
=
max
(
1
,(
$pd
[
'mhp'
]
-
$pd
[
'hp'
])
/
2
);
do
{
$damage
=
rand
(
$mindmg
,
$maxdmg
);
$damage
=
rand
(
-
1
*
$mindmg
,
$maxdmg
);
}
while
(
empty
(
$damage
));
if
(
$damage
>
0
)
{
...
...
@@ -961,6 +963,14 @@
$dmg_p
[]
=
$p
;
$log
.=
"<span class='yellow'>「穿杨」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
#「解构」判定:
if
(
isset
(
$pa
[
'bskill_c10_decons'
]))
{
$sk_p
=
get_skillvars
(
'c10_decons'
,
'phydmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$dmg_p
[]
=
$p
;
$log
.=
"<span class='yellow'>「解构」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
return
$dmg_p
;
}
...
...
include/game/revattr_extra.func.php
View file @
feb8f653
...
...
@@ -134,6 +134,12 @@
$pa
[
'skilllog'
]
.=
"<span class='yellow'>
{
$pa
[
'nm'
]
}
从阴影中现出身形,打了
{
$pd
[
'nm'
]
}
一个措手不及!</span><br>"
;
lostclubskill
(
'buff_assassin'
,
$pa
[
'clbpara'
]);
}
# 「洞察」特殊判定:熟练度高于对方时触发
elseif
(
$sk
==
'c10_insight'
&&
$pa
[
'wep_skill'
]
>
$pd
[
'wep_skill'
])
{
$pa
[
'skill_c10_insight'
]
=
1
;
$pa
[
'skilllog'
]
.=
"<span class='yellow'>
{
$pa
[
'nm'
]
}
凭借丰富的经验看穿了
{
$pd
[
'nm'
]
}
的破绽!</span><br>"
;
}
# 其他非特判技能,默认给一个触发标记
else
{
...
...
@@ -222,6 +228,13 @@
$sk_r
=
get_skillvars
(
'buff_assassin'
,
'actgain'
);
$r
+=
$sk_r
;
}
# pa持有「洞察」时的效果判定:(只在主动发现敌人时应用)
if
(
!
check_skill_unlock
(
'c10_insight'
,
$pa
)
&&
get_wep_skill
(
$pa
)
>
get_wep_skill
(
$pd
))
{
$sk_lvl
=
get_skilllvl
(
'c10_insight'
,
$pa
);
$sk_r
=
get_skillvars
(
'c10_insight'
,
'actgain'
,
$sk_lvl
);
$r
+=
$sk_r
;
}
return
$r
;
}
...
...
@@ -303,6 +316,13 @@
$hitrate
*=
$sk_r
;
}
}
#「洞察」效果判定:
if
(
isset
(
$pa
[
'skill_c10_insight'
]))
{
$sk_lvl
=
get_skilllvl
(
'c10_insight'
,
$pa
);
$sk_r
=
1
+
(
get_skillvars
(
'c10_insight'
,
'accgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
# 减益:
#「枭眼」效果判定:
...
...
@@ -328,6 +348,13 @@
$hitrate
*=
$sk_r
;
}
}
#「洞察」效果判定:
if
(
isset
(
$pd
[
'skill_c10_insight'
]))
{
$sk_lvl
=
get_skilllvl
(
'c10_insight'
,
$pd
);
$sk_r
=
1
-
(
get_skillvars
(
'c10_insight'
,
'accloss'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
}
...
...
@@ -392,6 +419,13 @@
$hitrate
*=
$sk_r
;
}
}
#「洞察」效果判定:
if
(
isset
(
$pd
[
'skill_c10_insight'
]))
{
$sk_lvl
=
get_skilllvl
(
'c10_insight'
,
$pd
);
$sk_r
=
1
-
(
get_skillvars
(
'c10_insight'
,
'rbloss'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
}
...
...
include/game/revclubskills.func.php
View file @
feb8f653
...
...
@@ -97,14 +97,14 @@
}*/
# 升级指定技能 $sk:技能名;$nums:升级次数
function
upgclbskills
(
$sk
,
$nums
=
1
,
$choice
=
NULL
)
function
upgclbskills
(
$sk
,
$nums
=
1
)
{
global
$log
,
$club
,
$clbpara
,
$skillpoint
,
$gamecfg
,
$now
;
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
);
if
(
!
$flag
)
return
;
# 获取技能信息
...
...
@@ -167,13 +167,60 @@
$clog
=
str_replace
(
"[:
{
$snm
}
:]"
,
$svars
*
$nums
,
$clog
);
}
}
# 扣除技能点
if
(
!
empty
(
$cost
))
$skillpoint
-=
$cost
;
$log
.=
$clog
;
# 存在复选框的技能,升级后重载技能页面
if
(
empty
(
$cskill
[
'no_reload_page'
]))
{
global
$opendialog
;
$opendialog
=
'skillpage'
;
}
return
;
}
# 切换指定技能选项
function
switchclbskills
(
$sk
,
$choice
,
&
$data
=
NULL
)
{
global
$log
,
$cskills
,
$gamecfg
,
$now
;
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
include_once
GAME_ROOT
.
'./include/game/revclubskills_extra.func.php'
;
# 合法性检查
if
(
isset
(
$choice
)
&&
!
isset
(
$cskills
[
$sk
][
'choice'
]))
{
$log
.=
"该技能无法变更状态。"
;
return
;
}
$lock_flag
=
check_skill_unlock
(
$sk
,
$data
);
if
(
$lock_flag
)
{
$log
.=
parse_skilllockdesc
(
$sk
,
$lock_flag
);
return
;
}
# 获取技能信息
$cskill
=
$cskills
[
$sk
];
# 获取技能升级后文本
$clog
=
isset
(
$cskill
[
'clog'
])
?
$cskill
[
'clog'
]
:
'状态变更成功!<br>'
;
# 检查技能是否是要切换状态
if
(
isset
(
$choice
))
{
$clbpara
[
'skillpara'
][
$sk
][
'choice'
]
=
$choice
;
if
(
in_array
(
$choice
,
$cskills
[
$sk
][
'choice'
]))
{
$clbpara
[
'skillpara'
][
$sk
][
'choice'
]
=
$choice
;
}
else
{
$log
.=
"状态参数非法。"
;
return
;
}
}
# 扣除技能点
if
(
!
empty
(
$cost
))
$skillpoint
-=
$cost
;
$log
.=
$clog
;
# 存在复选框的技能,升级后重载技能页面
if
(
empty
(
$cskill
[
'no_reload_page'
]))
...
...
@@ -185,7 +232,7 @@
}
# 升级技能时的合法性检查
function
check_can_upgclbskills
(
$sk
,
$nums
,
$choice
=
NULL
)
function
check_can_upgclbskills
(
$sk
,
$nums
)
{
global
$log
,
$gamecfg
;
global
$pdata
,
$club
,
$clbpara
,
$skillpoint
;
...
...
@@ -206,11 +253,6 @@
$log
.=
"该技能每次只能提升1级。"
;
return
;
}
if
(
isset
(
$choice
)
&&
!
isset
(
$cskills
[
$sk
][
'choice'
]))
{
$log
.=
"该技能无法变更状态。"
;
return
;
}
if
(
array_key_exists
(
$sk
,
$cskills_wlist
)
&&
!
in_array
(
$club
,
$cskills_wlist
[
$sk
]))
{
$log
.=
"你不能升级此技能。<br>"
;
...
...
include/game/revclubskills_extra.func.php
View file @
feb8f653
...
...
@@ -9,7 +9,15 @@
# 升级指定技能会触发的事件,返回0时代表无法升级技能
function
upgclbskills_events
(
$event
,
$sk
,
&
$data
=
NULL
)
{
global
$log
,
$cskills
,
$clbpara
,
$name
,
$now
;
global
$log
,
$cskills
,
$now
,
$club_skillslist
;
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
# 事件:激活技能
if
(
$event
==
'active_news'
)
{
...
...
@@ -20,7 +28,6 @@
if
(
$event
==
'heal'
)
{
# 事件效果:回复满生命、体力,并清空所有异常状态
global
$hp
,
$mhp
,
$sp
,
$msp
,
$inf
;
$heal_flag
=
0
;
if
(
!
empty
(
$inf
))
{
...
...
@@ -44,19 +51,18 @@
# 事件:怒气充能
if
(
$event
==
'charge'
)
{
global
$rage
;
if
(
$rage
>=
255
)
{
$log
.=
"你不需要使用这个技能!<br>"
;
return
0
;
}
$rage
=
min
(
255
,
$rage
+
get_skillvars
(
'c9_charge'
,
'rageadd'
));
$rage
=
min
(
255
,
$rage
+
get_skillvars
(
$sk
,
'rageadd'
));
// 检查当前技能使用次数
$active_t
=
get_skillpara
(
'c9_charge'
,
'active_t'
,
$clbpara
);
$active_t
=
get_skillpara
(
$sk
,
'active_t'
,
$clbpara
);
// 第3次使用时开始冷却
if
(
$active_t
+
1
>
get_skillvars
(
'c9_charge'
,
'freet'
))
if
(
$active_t
+
1
>
get_skillvars
(
$sk
,
'freet'
))
{
$event
=
'setstarttimes_
c9
_charge'
;
$event
=
'setstarttimes_
'
.
$sk
.
'
_charge'
;
}
else
{
...
...
@@ -70,6 +76,38 @@
newradar
(
2
);
return
1
;
}
# 事件:灵感
if
(
$event
==
'inspire'
)
{
# 事件效果:随机获取一个选定社团的技能……嗯……
$sk_c
=
get_skillpara
(
$sk
,
'choice'
,
$data
[
'clbpara'
]);
$sk_list
=
$club_skillslist
[
$sk_c
];
if
(
!
empty
(
$sk_list
))
{
do
{
$get_skill
=
$sk_list
[
array_rand
(
$sk_list
)];
}
while
(
get_skilltags
(
$get_skill
,
'player'
));
// 检查是否为未学习技能
$gsk_name
=
$cskills
[
$get_skill
][
'name'
];
$log
.=
"你灵光一现,忽然想到了技能<span class='lime'>「
{
$gsk_name
}
」</span>的用法!<br>"
;
if
(
!
in_array
(
$get_skill
,
$data
[
'clbpara'
][
'skill'
]))
{
getclubskill
(
$get_skill
,
$data
[
'clbpara'
]);
addnews
(
$now
,
'inssk_'
.
$get_skill
,
$name
,
$sk
);
}
else
{
$log
.=
"但是你已经学过<span class='lime'>「
{
$gsk_name
}
」</span>了……<br>"
;
addnews
(
$now
,
'inssk_failed'
,
$name
,
$sk
);
}
return
1
;
}
else
{
$log
.=
"所选称号无可学习技能,这可能是一个BUG,请联系管理员。<br>"
;
}
return
0
;
}
# 事件:获取指定技能
if
(
strpos
(
$event
,
'getskill_'
)
===
0
)
{
...
...
include/game/revcombat.func.php
View file @
feb8f653
...
...
@@ -143,8 +143,10 @@
# 初始化双方的真实攻击方式wep_kind,传入了攻击方式/主动技的情况下,在这里判断传入参数的合法性。
get_wep_kind
(
$pd
);
$pd
[
'wep_range'
]
=
get_wep_range
(
$pd
);
$pd
[
'wep_skill'
]
=
get_wep_skill
(
$pd
);
get_wep_kind
(
$pa
,
$wep_kind
,
$pd
[
'wep_range'
]);
$pa
[
'wep_range'
]
=
get_wep_range
(
$pa
);
$pa
[
'wep_skill'
]
=
get_wep_skill
(
$pa
);
# 传入pa为玩家、pd为NPC,且存在鏖战/追击标志时,判断战斗流程类型(标准/追击/鏖战/协战)
if
(
!
$pa
[
'type'
]
&&
$pd
[
'type'
]
&&
(
strpos
(
$pa
[
'action'
],
'dfight'
)
!==
false
||
strpos
(
$pa
[
'action'
],
'chase'
)
!==
false
))
...
...
@@ -711,7 +713,7 @@
if
(
!
empty
(
$pa
[
'wep_imp_times'
]))
weapon_loss
(
$pa
,
$pa
[
'wep_imp_times'
]);
//发出声音
addnoise
(
$pa
[
'wep_kind'
],
$pa
[
'wepsk'
],
$now
,
$pa
[
'pls'
],
$pa
[
'pid'
],
$pd
[
'pid'
],
$pa
[
'wep_kind'
]
);
//增加熟练度
//增加熟练度
//天赋异禀攻击时额外+1熟练度
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+=
$pa
[
'club'
]
==
10
?
2
:
1
;
//print_r($pa);
return
$damage
;
...
...
@@ -1097,6 +1099,12 @@
#「反思」技能效果
if
(
isset
(
$pa
[
'skill_c5_review'
]))
$expup
=
1
;
}
if
(
isset
(
$pa
[
'bskill_c10_decons'
])
&&
$pa
[
'final_damage'
]
>
$pd
[
'hp'
])
{
$sk_up
=
ceil
(
$pd
[
'lvl'
]
-
(
$pa
[
'lvl'
]
*
0.15
));
$log
.=
'<span class="yellow">「解构」使'
.
$pa
[
'nm'
]
.
'获得了额外'
.
$sk_up
.
'点经验!</span><br>'
;
$expup
+=
$sk_up
;
}
if
(
!
empty
(
$expup
))
$pa
[
'exp'
]
+=
$expup
;
//$log .= "$isplayer 的经验值增加 $expup 点<br>";
...
...
include/news.func.php
View file @
feb8f653
...
...
@@ -329,6 +329,15 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
$bsk
=
substr
(
$news
,
6
);
$bname
=
$cskills
[
$bsk
][
'name'
];
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
{
$a
}
通过翻阅
{
$b
}
学会了技能<span class=
\"
lime
\"
>「
{
$bname
}
」</span>!</span><br>
\n
"
;
}
elseif
(
strpos
(
$news
,
'inssk_'
)
===
0
)
{
$bsk
=
substr
(
$news
,
6
);
$skname
=
$cskills
[
$b
][
'name'
];
if
(
$bsk
==
'failed'
){
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
{
$a
}
发动了「
{
$skname
}
」!但是什么也没学会……</span><br>
\n
"
;
}
else
{
$bname
=
$cskills
[
$bsk
][
'name'
];
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
{
$a
}
通过「
{
$skname
}
」学会了技能<span class=
\"
lime
\"
>「
{
$bname
}
」</span>!</span><br>
\n
"
;
}
}
else
{
$newsinfo
.=
"<li>
$time
,
$news
,
$a
,
$b
,
$c
,
$d
<br>
\n
"
;
}
...
...
templates/default/help.htm
View file @
feb8f653
...
...
@@ -1792,7 +1792,7 @@ NPC也会发出重击和必杀技,请随时小心。</p>
</span>
</td>
<td
class=
"b3"
>
<span>
待实装
</span>
<span>
<input
type=
"button"
class=
"cmdbutton"
value=
"点击查看称号技能"
onclick=
"showModalDialog($('skillhelp-c10'));"
>
</span>
</td>
</tr>
<tr>
...
...
templates/default/skill_c10_inspire.htm
0 → 100644
View file @
feb8f653
<!--{eval $skid = 'c10_inspire'; $cskill = $cskills[$skid];}-->
<!--{if isset($cskill['maxlvl'])}-->
<!--{eval $now_clvl = get_skilllvl($skid,$uidata); $max_lvl_flag = $now_clvl >= $cskill['maxlvl'] ? 1 : 0;}-->
<!--{/if}-->
<tr>
<td
class=
"b1"
width=
"40"
>
<span>
{$cskill['name']}
</span>
</td>
<td>
<!--{eval $unlock_skid_flag = check_skill_unlock('c10_inspire',$uidata);}-->
<!--{eval $para = get_clbpara($uidata['clbpara']); $nchoice = $para['skillpara']['c10_inspire']['choice'];}-->
<!--{if $unlock_skid_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 $cdesc = parse_skilldesc($skid,$uidata);}-->
{$cdesc}
当前选择的称号是:
<span
class=
"yellow"
>
<!--{if !empty($nchoice)}-->
$clubinfo[$nchoice]
<!--{else}-->
无
<!--{/if}-->
</span>
<!--{if empty($no_skill_input)}-->
变更选择为:
<select
name=
"upgpara"
id=
"upgpara"
onchange=
"$('mode').value='revskpts';$('command').value='swtskill_{$skid}';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{if empty($nchoice)}-->
<option
value=
""
selected
>
无
<br
/>
<!--{/if}-->
<!--{loop $cskills[$skid]['choice'] $key}-->
<!--{if $key != $nchoice}-->
<option
value=
"$key"
>
$clubinfo[$key]
<br
/>
<!--{else}-->
<option
value=
"$key"
selected
>
$clubinfo[$key]
<br
/>
<!--{/if}-->
<!--{/loop}-->
</select>
<!--{/if}-->
</span>
</td>
<td
class=
"skilldesc_right b3"
>
<!--{if empty($no_skill_input)}-->
<!--{if !empty($cskill['input']) && empty($max_lvl_flag)}-->
<input
type=
"button"
onclick=
"$('mode').value='revskpts';$('command').value='upgskill_{$skid}';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"{$cskill['input']}"
>
<!--{/if}-->
<!--{/if}-->
</td>
</tr>
</table>
<!--{if $unlock_skid_flag}-->
<!--{eval $unlock_desc = parse_skilllockdesc($skid,$unlock_skid_flag);}-->
</div>
<div
class=
"skill_unacquired_hint"
>
<table
class=
"skilltable"
>
<tr>
<td
valign=
"center"
align=
"center"
>
<span
class=
"yellow"
>
$unlock_desc
</span>
</td>
</tr>
</table>
</div>
</div>
<!--{/if}-->
</td>
</tr>
\ No newline at end of file
templates/default/skill_c1_veteran.htm
View file @
feb8f653
...
...
@@ -19,7 +19,7 @@
<!--{if empty($no_skill_input)}-->
变更选择为:
<select
name=
"upgpara"
id=
"upgpara"
onchange=
"$('mode').value='revskpts';$('command').value='
upg
skill_c1_veteran';postCmd('gamecmd','command.php');this.disabled=true;"
>
<select
name=
"upgpara"
id=
"upgpara"
onchange=
"$('mode').value='revskpts';$('command').value='
swt
skill_c1_veteran';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{if empty($nchoice)}-->
<option
value=
""
selected
>
无
<br
/>
<!--{/if}-->
...
...
templates/default/skill_c5_focus.htm
View file @
feb8f653
...
...
@@ -24,17 +24,17 @@
<tr><td>
<!--{if $nchoice==1}-->
<span
>
<!--{/if}-->
(1) 遇敌率提高15%
<!--{if $nchoice==1}-->
</span>
<!--{/if}-->
</td><td>
<!--{if $nchoice==1}-->
<span
class=
"lime"
>
[当前选择]
</span>
<!--{elseif empty($no_skill_input)}-->
<input
type=
"button"
style=
"width:46px"
onclick=
"$('mode').value='revskpts';$('command').value='
upg
skill_{$skid}';$('subcmd').name='upgpara';$('subcmd').value='1';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"选择"
>
<!--{/if}-->
<!--{if $nchoice==1}-->
<span
class=
"lime"
>
[当前选择]
</span>
<!--{elseif empty($no_skill_input)}-->
<input
type=
"button"
style=
"width:46px"
onclick=
"$('mode').value='revskpts';$('command').value='
swt
skill_{$skid}';$('subcmd').name='upgpara';$('subcmd').value='1';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"选择"
>
<!--{/if}-->
</td></tr>
<tr><td>
<!--{if $nchoice==0}-->
<span
>
<!--{/if}-->
(2) 无效果
<!--{if $nchoice==0}-->
</span>
<!--{/if}-->
</td><td>
<!--{if $nchoice==0}-->
<span
class=
"lime"
>
[当前选择]
</span>
<!--{elseif empty($no_skill_input)}-->
<input
type=
"button"
style=
"width:46px"
onclick=
"$('mode').value='revskpts';$('command').value='
upg
skill_{$skid}';$('subcmd').name='upgpara';$('subcmd').value='0';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"选择"
>
<!--{/if}-->
<!--{if $nchoice==0}-->
<span
class=
"lime"
>
[当前选择]
</span>
<!--{elseif empty($no_skill_input)}-->
<input
type=
"button"
style=
"width:46px"
onclick=
"$('mode').value='revskpts';$('command').value='
swt
skill_{$skid}';$('subcmd').name='upgpara';$('subcmd').value='0';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"选择"
>
<!--{/if}-->
</td></tr>
<tr><td>
<!--{if $nchoice==2}-->
<span
>
<!--{/if}-->
(3) 物品发现率提高15%
<!--{if $nchoice==2}-->
</span>
<!--{/if}-->
</td><td>
<!--{if $nchoice==2}-->
<span
class=
"lime"
>
[当前选择]
</span>
<!--{elseif empty($no_skill_input)}-->
<input
type=
"button"
style=
"width:46px"
onclick=
"$('mode').value='revskpts';$('command').value='
upg
skill_{$skid}';$('subcmd').name='upgpara';$('subcmd').value='2';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"选择"
>
<!--{/if}-->
<!--{if $nchoice==2}-->
<span
class=
"lime"
>
[当前选择]
</span>
<!--{elseif empty($no_skill_input)}-->
<input
type=
"button"
style=
"width:46px"
onclick=
"$('mode').value='revskpts';$('command').value='
swt
skill_{$skid}';$('subcmd').name='upgpara';$('subcmd').value='2';postCmd('gamecmd','command.php');this.disabled=true;"
value=
"选择"
>
<!--{/if}-->
</td></tr>
</table>
</span>
...
...
valid.php
View file @
feb8f653
...
...
@@ -132,7 +132,7 @@ if($mode == 'enter') {
}
$itmk
[
3
]
=
'HB'
;
$itme
[
3
]
=
70
;
$itms
[
3
]
=
15
;
//$itm[5] = 'GRAND OPENING 「开门大吉」'; $itmk[5] = 'p000'; $itme[5] = 1; $itms[5] = 1;
$dice
=
rand
(
4
,
9
);
$dice_name
=
$clubinfo
[
$dice
];
$dice
=
rand
(
4
,
10
);
$dice_name
=
$clubinfo
[
$dice
];
$itm
[
5
]
=
'「'
.
$dice_name
.
' 社团卡」'
;
$itmk
[
5
]
=
'ZB'
;
$itme
[
5
]
=
$dice
;
$itms
[
5
]
=
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