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
0bb887d5
Commit
0bb887d5
authored
May 24, 2023
by
Nemo Ma
Committed by
GitHub
May 24, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #160 from hikawiier/waaagh
update club13
parents
4e64d8bb
4faa7f6a
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
622 additions
and
200 deletions
+622
-200
gamedata/cache/addnpc_1.php
gamedata/cache/addnpc_1.php
+71
-24
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+158
-5
gamedata/cache/npc_1.php
gamedata/cache/npc_1.php
+104
-1
gamedata/cache/resources_1.php
gamedata/cache/resources_1.php
+2
-1
gamedata/cache/titles_1.php
gamedata/cache/titles_1.php
+1
-1
include/game/clubslct.func.php
include/game/clubslct.func.php
+15
-28
include/game/item.func.php
include/game/item.func.php
+11
-5
include/game/itemmain.func.php
include/game/itemmain.func.php
+50
-46
include/game/itemplace.func.php
include/game/itemplace.func.php
+14
-0
include/game/revattr.func.php
include/game/revattr.func.php
+57
-10
include/game/revclubskills.func.php
include/game/revclubskills.func.php
+32
-22
include/game/revclubskills.inc.php
include/game/revclubskills.inc.php
+9
-0
include/game/revcombat.func.php
include/game/revcombat.func.php
+27
-3
include/game/revcombat_extra.func.php
include/game/revcombat_extra.func.php
+22
-2
include/game/search.func.php
include/game/search.func.php
+7
-0
include/state.func.php
include/state.func.php
+1
-1
include/system.func.php
include/system.func.php
+13
-47
templates/default/command.htm
templates/default/command.htm
+6
-1
templates/default/help.htm
templates/default/help.htm
+17
-1
templates/default/templates.lang.php
templates/default/templates.lang.php
+3
-0
valid.php
valid.php
+2
-2
No files found.
gamedata/cache/addnpc_1.php
View file @
0bb887d5
<?php
if
(
!
defined
(
'IN_GAME'
))
exit
(
'Access Denied'
);
$npcinit
=
array
(
'name'
=>
''
,
'pass'
=>
'bra'
,
'gd'
=>
'm'
,
'icon'
=>
0
,
'club'
=>
0
,
'mhp'
=>
0
,
'msp'
=>
0
,
'att'
=>
0
,
'def'
=>
0
,
'pls'
=>
0
,
'lvl'
=>
0
,
'money'
=>
0
,
'inf'
=>
''
,
'rage'
=>
0
,
'pose'
=>
0
,
'tactic'
=>
0
,
'killnum'
=>
0
,
'state'
=>
1
,
'teamID'
=>
''
,
'teamPass'
=>
''
,
'bid'
=>
0
,
'wp'
=>
0
,
'wk'
=>
0
,
'wc'
=>
0
,
'wg'
=>
0
,
'wd'
=>
0
,
'wf'
=>
0
,
'wep'
=>
''
,
'wepk'
=>
''
,
'wepe'
=>
0
,
'weps'
=>
0
,
'wepsk'
=>
''
,
'arb'
=>
''
,
'arbk'
=>
''
,
'arbe'
=>
0
,
'arbs'
=>
0
,
'arbsk'
=>
''
,
'arh'
=>
''
,
'arhk'
=>
''
,
'arhe'
=>
0
,
'arhs'
=>
0
,
'arhsk'
=>
''
,
'arf'
=>
''
,
'arfk'
=>
''
,
'arfe'
=>
0
,
'arfs'
=>
0
,
'arfsk'
=>
''
,
'ara'
=>
''
,
'arak'
=>
''
,
'arae'
=>
0
,
'aras'
=>
0
,
'arask'
=>
''
,
'art'
=>
''
,
'artk'
=>
''
,
'arte'
=>
0
,
'arts'
=>
0
,
'artsk'
=>
''
,
'itm0'
=>
''
,
'itmk0'
=>
''
,
'itme0'
=>
0
,
'itms0'
=>
0
,
'itmsk0'
=>
''
,
'itm1'
=>
''
,
'itmk1'
=>
''
,
'itme1'
=>
0
,
'itms1'
=>
0
,
'itmsk1'
=>
''
,
'itm2'
=>
''
,
'itmk2'
=>
''
,
'itme2'
=>
0
,
'itms2'
=>
0
,
'itmsk2'
=>
''
,
'itm3'
=>
''
,
'itmk3'
=>
''
,
'itme3'
=>
0
,
'itms3'
=>
0
,
'itmsk3'
=>
''
,
'itm4'
=>
''
,
'itmk4'
=>
''
,
'itme4'
=>
0
,
'itms4'
=>
0
,
'itmsk4'
=>
''
,
'itm5'
=>
''
,
'itmk5'
=>
''
,
'itme5'
=>
0
,
'itms5'
=>
0
,
'itmsk5'
=>
''
,
'itm6'
=>
''
,
'itmk6'
=>
''
,
'itme6'
=>
0
,
'itms6'
=>
0
,
'itmsk6'
=>
''
,
);
$anpcinfo
=
array
(
2
=>
array
...
...
@@ -159,6 +138,12 @@ $anpcinfo = array
'num'
=>
1
,
'pass'
=>
'bra'
,
'club'
=>
9
,
'clubskillpara'
=>
Array
(
'c9_spirit'
=>
Array
(
'lvl'
=>
3
,
),
),
'bid'
=>
0
,
'inf'
=>
''
,
'state'
=>
1
,
...
...
@@ -278,6 +263,15 @@ $anpcinfo = array
'icon'
=>
3
,
'gd'
=>
'f'
,
'club'
=>
9
,
'clubskillpara'
=>
Array
(
'c9_spirit'
=>
Array
(
'lvl'
=>
3
,
),
'c9_charge'
=>
Array
(
'active-t'
=>
2
,
),
),
'wep'
=>
'简称为UCW的杏仁豆腐'
,
'wepk'
=>
'WK'
,
'wepe'
=>
133
,
...
...
@@ -295,6 +289,16 @@ $anpcinfo = array
'icon'
=>
4
,
'gd'
=>
'm'
,
'club'
=>
8
,
'inf'
=>
'p'
,
'clubskillpara'
=>
Array
(
'c8_expert'
=>
Array
(
'lvl'
=>
3
,
),
'c8_infilt'
=>
Array
(
'lvl'
=>
5
,
),
),
'wep'
=>
'彩虹色的杏仁豆腐'
,
'wepk'
=>
'WD'
,
'wepe'
=>
100
,
...
...
@@ -367,6 +371,19 @@ $anpcinfo = array
(
'name'
=>
'Acg_Xilin'
,
'icon'
=>
2
,
'club'
=>
4
,
'clubskillpara'
=>
Array
(
'c4_stable'
=>
Array
(
'lvl'
=>
3
,
),
'c4_break'
=>
Array
(
'lvl'
=>
2
,
),
'c4_roar'
=>
Array
(
'active'
=>
1
,
),
),
'wep'
=>
'【全屏幕弹幕发射】'
,
'wepk'
=>
'WG'
,
'wepe'
=>
360
,
...
...
@@ -390,9 +407,15 @@ $anpcinfo = array
'num'
=>
3
,
'pass'
=>
'bra'
,
'club'
=>
9
,
'clubskillpara'
=>
Array
(
'c9_spirit'
=>
Array
(
'lvl'
=>
3
,
),
),
'bid'
=>
0
,
'inf'
=>
''
,
'rage'
=>
100
,
'rage'
=>
255
,
'pose'
=>
1
,
'tactic'
=>
3
,
'killnum'
=>
0
,
...
...
@@ -1524,7 +1547,16 @@ $anpcinfo = array
(
'name'
=>
'坚韧之子·拉姆'
,
'icon'
=>
154
,
'club'
=>
1
,
'club'
=>
13
,
'clubskillpara'
=>
Array
(
'c13_quick'
=>
Array
(
'lvl'
=>
2
,
),
'c13_wingchun'
=>
Array
(
'lvl'
=>
1
,
),
),
'mhp'
=>
2904
,
'msp'
=>
2233
,
'att'
=>
201
,
...
...
@@ -2160,7 +2192,22 @@ $anpcinfo = array
'mercsalary'
=>
50
,
'mercfireaction'
=>
1
,
'coverp'
=>
50
,
'club'
=>
1
,
'club'
=>
13
,
'clubskill'
=>
Array
(
'buff_duel'
,
),
'clubskillpara'
=>
Array
(
'c13_quick'
=>
Array
(
'lvl'
=>
3
,
),
'c13_wingchun'
=>
Array
(
'lvl'
=>
2
,
),
'c13_duel'
=>
Array
(
'active-t'
=>
1
,
),
),
'name'
=>
'Chuck Norris'
,
'icon'
=>
360
,
'pose'
=>
2
,
...
...
gamedata/cache/clubskills_1.php
View file @
0bb887d5
...
...
@@ -6,7 +6,7 @@ if(!defined('IN_GAME')) exit('Access Denied');
# 社团变更时可获得的技能清单:
$club_skillslist
=
Array
(
1
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c1_def'
,
'c1_crit'
,
'c1_stalk'
,
'c1_burnsp'
,
'c1_bjack'
,
'c1_veteran'
),
#'
铁拳无敌
',
1
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c1_def'
,
'c1_crit'
,
'c1_stalk'
,
'c1_burnsp'
,
'c1_bjack'
,
'c1_veteran'
),
#'
街头霸王
',
2
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c2_butcher'
,
'c2_intuit'
,
'c2_raiding'
,
'c2_master'
,
'c2_annihil'
),
#'见敌必斩',
3
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c3_pitchpow'
,
'c3_enchant'
,
'c3_potential'
,
'c3_hawkeye'
,
'c3_offset'
,
'c3_numerous'
),
#'灌篮高手',
4
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c4_stable'
,
'c4_break'
,
'c4_aiming'
,
'c4_loot'
,
'c4_roar'
,
'c4_sniper'
,
'c4_headshot'
),
#'狙击鹰眼',
...
...
@@ -18,6 +18,7 @@ $club_skillslist = Array
10
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c10_inspire'
,
'c10_insight'
,
'c10_decons'
),
#'天赋异禀', //高速成长与天赋异禀合并为天赋异禀
11
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c11_ebuy'
,
'c11_merc'
,
'c11_stock'
,
'c11_renjie'
),
#'富家子弟',
12
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c12_huge'
,
'c12_enmity'
,
'c12_garrison'
,
'c12_rage'
,
'c12_bloody'
,
'c12_swell'
),
#'全能兄贵', //根性兄贵、肌肉兄贵、全能骑士合并为全能兄贵
13
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c13_master'
,
'c13_kungfu'
,
'c13_quick'
,
'c13_wingchun'
,
'c13_parry'
,
'c13_duel'
),
//13 => Array('s_hp','s_ad','f_heal'), #'根性兄贵',
//14 => Array('s_hp','s_ad','f_heal'), #'肌肉兄贵',
15
=>
Array
(
'f_heal'
),
#'<span class="L5">L5状态</span>',
...
...
@@ -50,18 +51,21 @@ $cskills_wlist = Array
# 社团技能标签介绍:
$cskills_tags
=
Array
(
//'club' => '<span tooltip="隐藏标签:代表这个技能会显示在称号技能页面" class="gold">【称号】</span>',
'battle'
=>
'<span tooltip="可以在战斗中主动使用" class="gold">【战斗技】</span>'
,
'passive'
=>
'<span tooltip="满足条件时自动触发" class="gold">【被动技】</span>'
,
'switch'
=>
'<span tooltip="可主动启用或停用效果" class="gold">【开关技】</span>'
,
'active'
=>
'<span tooltip="可在技能界面直接使用" class="gold">【主动技】</span>'
,
'openning'
=>
'<span tooltip="仅在初次先制发现敌人时可用" class="gold">【开幕技】</span>'
,
'limit'
=>
'<span tooltip="每局游戏内可发动次数有限" class="gold">【限次技】</span>'
,
//'buff' => '<span tooltip="隐藏标签:代表这是一个临时性状态" class="gold">【状态】</span>',
//'inf' => '<span tooltip="隐藏标签:代表这是一个负面状态,这个技能会显示在状态页面" class="gold">【异常】</span>',
//'buff' => '<span tooltip="隐藏标签:代表这是一个正面状态,这个技能会显示在状态页面" class="gold">【增益】</span>',
//'unlock_battle_hidden' => '<span tooltip="隐藏标签:未解锁时不会在战斗界面显示" class="gold">【隐藏】</span>',
//'player' => '<span tooltip="隐藏标签:只有玩家会有此技能" class="gold">【玩家】</span>',
);
// tips
$sktrapidatk
=
'<span class="gold" tooltip2="【连续攻击】:攻击完毕、且造成的最终伤害结算后,在敌人反击前再度发起攻击">连续攻击</span>'
;
$sktpshield
=
'<span class="gold" tooltip2="【护盾】:可抵消等同于护盾值的伤害。护盾值只在抵消属性伤害时消耗,抵消电击伤害时双倍消耗。护盾存在时不会受到反噬伤害或陷入异常状态。">护盾</span>'
;
$sktprp
=
'<span class="yellow">报应点数</span>'
;
$sktpwhitedmg
=
'<span class="gold" tooltip2="【纯粹伤害】:不会受防御、抹消或制御效果影响的定值伤害">纯粹伤害</span>'
;
...
...
@@ -878,8 +882,8 @@ $cskills = Array
'name'
=>
'双响'
,
'tags'
=>
Array
(
'battle'
,
'limit'
),
'wepk'
=>
Array
(
'D'
),
'desc'
=>
'本局已发动<span class="redseed"> [^skillpara|c5_double-active_t^]/[:maxactive_t:] </span>次<br>使用爆系武器方可发动,
连续攻击
[:chase_t:]次。'
,
'bdesc'
=>
'本次战斗你将
连续攻击
[:chase_t:]次;本局已发动<span class="redseed">[^skillpara|c5_double-active_t^]/[:maxactive_t:]</span>次'
,
'desc'
=>
'本局已发动<span class="redseed"> [^skillpara|c5_double-active_t^]/[:maxactive_t:] </span>次<br>使用爆系武器方可发动,
'
.
$sktrapidatk
.
'
[:chase_t:]次。'
,
'bdesc'
=>
'本次战斗你将
'
.
$sktrapidatk
.
'
[:chase_t:]次;本局已发动<span class="redseed">[^skillpara|c5_double-active_t^]/[:maxactive_t:]</span>次'
,
'svars'
=>
Array
(
'active_t'
=>
0
,
),
...
...
@@ -1674,7 +1678,7 @@ $cskills = Array
'name'
=>
'海虎'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'在生命值低于<span class="yellow">50%/30%</span>生命上限的情况下,<br>
有<span class="yellow">[:swellr:]%×</span><span class="gold" tooltip2="底力系数计算公式:(1+2×已损失生命百分比)×已损失生命百分比">底力系数</span>概率
连续造成<span class="yellow">2/3</span>次攻击
'
,
有<span class="yellow">[:swellr:]%×</span><span class="gold" tooltip2="底力系数计算公式:(1+2×已损失生命百分比)×已损失生命百分比">底力系数</span>概率
造成<span class="yellow">2/3</span>次'
.
$sktrapidatk
.
'
'
,
'vars'
=>
Array
(
'swellr'
=>
19
,
),
...
...
@@ -1687,6 +1691,155 @@ $cskills = Array
'hp+mhp'
=>
'[:hp:] <= [:mhp:]*0.5'
,
),
),
'c13_kungfu'
=>
Array
(
'name'
=>
'拳法'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'空手作战时,相当于持有等同于殴系熟练度数值的武器<br>
攻击时有<span class="yellow">35%/15%/5%/3%</span>的几率额外获得<span class="yellow">1/2/3/4</span>点熟练<br>'
,
'lockdesc'
=>
Array
(
'wepk+wep_kind'
=>
"空手时可发动"
,
),
'unlock'
=>
Array
(
'wepk+wep_kind'
=>
"strpos([:wepk:],'N')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'N')"
,
),
),
'c13_master'
=>
Array
(
'name'
=>
'宗师'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'手持武器时造成的物理伤害减少<span class="red">[:phydmgloss:]%</span>;<br>
若武器是带“拳”字的钝器则减少<span class="red">[:phydmgloss_2:]%</span>;<br>
你不能再埋设陷阱,且从陷阱处受到的伤害减少<span class="yellow">[:trapdmgloss:]%</span><br>'
,
'vars'
=>
Array
(
'phydmgloss'
=>
90
,
'phydmgloss_2'
=>
50
,
'trapdmgloss'
=>
60
,
),
),
'c13_quick'
=>
Array
(
'name'
=>
'快拳'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'空手战斗时有<span class="yellow">[:rapidr:]%</span>概率'
.
$sktrapidatk
.
'2次'
,
'maxlvl'
=>
4
,
'cost'
=>
Array
(
3
,
3
,
4
,
4
,
-
1
),
'input'
=>
'升级'
,
'log'
=>
'<span class="yellow">技能「快拳」升级成功。</span><br>'
,
'status'
=>
Array
(
'skillpara|c13_quick-lvl'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c13_quick-lvl'
=>
'+=::1'
,),
),
'svars'
=>
Array
(
'lvl'
=>
0
),
'vars'
=>
Array
(
'rapidr'
=>
Array
(
10
,
15
,
20
,
25
,
30
),
),
'lockdesc'
=>
Array
(
'wepk+wep_kind'
=>
"空手时可发动"
,
),
'unlock'
=>
Array
(
'wepk+wep_kind'
=>
"strpos([:wepk:],'N')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'N')"
,
),
),
'c13_wingchun'
=>
Array
(
'name'
=>
'乱击'
,
'tags'
=>
Array
(
'battle'
),
'maxlvl'
=>
2
,
'cost'
=>
Array
(
6
,
9
,
-
1
),
'input'
=>
'升级'
,
'log'
=>
'<span class="yellow">技能「乱击」升级成功。</span><br>'
,
'status'
=>
Array
(
'skillpara|c13_wingchun-lvl'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c13_wingchun-lvl'
=>
'+=::1'
,),
),
'svars'
=>
Array
(
'lvl'
=>
0
),
'desc'
=>
"空手时可发动,消耗<span class=
\"
yellow
\"
>[:ragecost:]</span>点怒气;<br>
本次攻击附加<span class=
\"
yellow
\"
>[:ragecost:]%</span>殴熟的物理伤害;<br>
且「快拳」的发动率<span class=
\"
yellow
\"
>+[:rapidr:]</span>%<br>"
,
'bdesc'
=>
"消耗<span class=
\"
red
\"
>[:ragecost:]%</span>点怒气,附加等于<span class=
\"
yellow
\"
>[:phydmgr:]%</span>殴熟的物理伤害;本次攻击「快拳」的触发率<span class=
\"
yellow
\"
>+[:rapidr:]</span>%"
,
'vars'
=>
Array
(
'ragecost'
=>
Array
(
30
,
40
,
45
),
'phydmgr'
=>
Array
(
25
,
33
,
50
),
'rapidr'
=>
Array
(
5
,
15
,
25
),
),
'lockdesc'
=>
Array
(
'lvl'
=>
'7级时解锁'
,
'wepk+wep_kind'
=>
"空手时可发动"
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 7'
,
'wepk+wep_kind'
=>
"strpos([:wepk:],'N')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'N')"
,
),
),
'c13_parry'
=>
Array
(
'name'
=>
'消力'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'你的基础防御力增加<span class="yellow">殴系熟练度</span>点;<br>
战斗中,你有<span class="yellow">[:parryr:]%</span>几率消去<span class="yellow">殴系熟练度</span>点伤害(最多<span class="yellow">[:maxparry:]</span>点)<br>'
,
'vars'
=>
Array
(
'parryr'
=>
20
,
'maxparry'
=>
800
,
),
'lockdesc'
=>
Array
(
'lvl'
=>
'11级时解锁'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 11'
,
),
),
'c13_duel'
=>
Array
(
'name'
=>
'决战'
,
'tags'
=>
Array
(
'active'
,
'limit'
),
'desc'
=>
'发动后获得增益效果:<br>
当前殴系熟练翻倍,但每次探索/移动时减少<span class="red">[:wploss:]</span>点殴熟;<br>
技能生效时,「快拳」与「消力」的发动率<span class="yellow">+[:rapidr:]%</span>'
,
'input'
=>
'发动'
,
'no_reload_page'
=>
1
,
'log'
=>
'<span class="L5">你感觉一股力量贯通全身!</span><br>'
,
'status'
=>
Array
(
'wp'
,
'skillpara|c13_duel-active_t'
),
'effect'
=>
Array
(
0
=>
Array
(
'wp'
=>
'*=::2'
,
'skillpara|c13_duel-active_t'
=>
'+=::1'
),
),
'events'
=>
Array
(
'getskill_buff_duel'
,
'active_news'
),
'link'
=>
Array
(
'buff_duel'
),
'vars'
=>
Array
(),
'svars'
=>
Array
(
'active_t'
=>
0
,
),
'lockdesc'
=>
Array
(
'skillpara|c13_duel-active_t'
=>
'次数耗尽,已无法发动该技能'
,
'lvl'
=>
'21级时解锁'
,
'wp'
=>
'需要至少250点殴熟才能发动!'
,
),
'unlock'
=>
Array
(
'skillpara|c13_duel-active_t'
=>
'[:skillpara|c13_duel-active_t:] < 1'
,
'lvl'
=>
'[:lvl:] >= 21'
,
'wp'
=>
'[:wp:] >= 250'
,
),
),
'buff_duel'
=>
Array
(
'name'
=>
'[状态]决战'
,
'tags'
=>
Array
(
'buff'
),
'desc'
=>
'<span class="lime">「决战」生效中!'
,
'vars'
=>
Array
(
'wploss'
=>
5
,
//每次移动减少的欧熟
'rapidr'
=>
20
,
//增加的技能发动率
),
'lockdesc'
=>
Array
(
'wp'
=>
'需要至少5点殴熟才能生效!'
,
),
'unlock'
=>
Array
(
'wp'
=>
'[:wp:] >= 5'
,
),
),
'c19_nirvana'
=>
Array
(
'name'
=>
'涅槃'
,
...
...
gamedata/cache/npc_1.php
View file @
0bb887d5
...
...
@@ -6,6 +6,7 @@ $npcinit = array
'mhp'
=>
0
,
'msp'
=>
0
,
'att'
=>
0
,
'def'
=>
0
,
'pls'
=>
0
,
'lvl'
=>
0
,
'money'
=>
0
,
'inf'
=>
''
,
'rage'
=>
0
,
'pose'
=>
0
,
'tactic'
=>
0
,
'killnum'
=>
0
,
'state'
=>
1
,
'teamID'
=>
''
,
'teamPass'
=>
''
,
'bid'
=>
0
,
'clbpara'
=>
Array
(),
'wp'
=>
0
,
'wk'
=>
0
,
'wc'
=>
0
,
'wg'
=>
0
,
'wd'
=>
0
,
'wf'
=>
0
,
'skills'
=>
0
,
'rp'
=>
0
,
'wep'
=>
''
,
'wepk'
=>
''
,
'wepe'
=>
0
,
'weps'
=>
0
,
'wepsk'
=>
''
,
'arb'
=>
''
,
'arbk'
=>
''
,
'arbe'
=>
0
,
'arbs'
=>
0
,
'arbsk'
=>
''
,
...
...
@@ -1826,6 +1827,21 @@ $npcinfo = array
'gd'
=>
'f'
,
'icon'
=>
101
,
'club'
=>
10
,
'clubskill'
=>
Array
(
'c4_stable'
,
'c4_break'
,
),
'clubskillpara'
=>
Array
(
'c4_stable'
=>
Array
(
'lvl'
=>
3
,
),
'c4_break'
=>
Array
(
'lvl'
=>
3
,
),
'c10_insight'
=>
Array
(
'lvl'
=>
4
,
),
),
'mhp'
=>
4932
,
'att'
=>
5120
,
'skill'
=>
1500
,
...
...
@@ -1977,7 +1993,22 @@ $npcinfo = array
'name'
=>
'北京推倒你'
,
'gd'
=>
'm'
,
'icon'
=>
102
,
'club'
=>
1
,
'club'
=>
13
,
'clubskill'
=>
Array
(
'buff_duel'
,
),
'clubskillpara'
=>
Array
(
'c13_quick'
=>
Array
(
'lvl'
=>
4
,
),
'c13_wingchun'
=>
Array
(
'lvl'
=>
2
,
),
'c13_duel'
=>
Array
(
'active-t'
=>
1
,
),
),
'skill'
=>
600
,
'wep'
=>
'拳头'
,
'wepk'
=>
'WN'
,
...
...
@@ -2017,6 +2048,20 @@ $npcinfo = array
'icon'
=>
105
,
'hp'
=>
4900
,
'club'
=>
4
,
'clubskillpara'
=>
Array
(
'c4_stable'
=>
Array
(
'lvl'
=>
6
,
'costcount'
=>
20
,
),
'c4_break'
=>
Array
(
'lvl'
=>
3
,
'costcount'
=>
19
,
),
'c4_sniper'
=>
Array
(
'active'
=>
1
,
),
),
'skill'
=>
800
,
'wep'
=>
'AKM-ExS'
,
'wepk'
=>
'WJ'
,
...
...
@@ -2031,6 +2076,15 @@ $npcinfo = array
'mhp'
=>
19000
,
'icon'
=>
98
,
'club'
=>
2
,
'clubskill'
=>
Array
(
'buff_annihil'
),
'clubskillpara'
=>
Array
(
'c2_intuit'
=>
Array
(
'lvl'
=>
6
,
),
),
'skill'
=>
600
,
'wep'
=>
'画(ping)笔(ru)'
,
'wepk'
=>
'WK'
,
...
...
@@ -2044,6 +2098,19 @@ $npcinfo = array
'gd'
=>
'm'
,
'icon'
=>
10
,
'club'
=>
7
,
'clubskill'
=>
Array
(
'buff_shield'
),
'clubskillpara'
=>
Array
(
'c7_shield'
=>
Array
(
'lvl'
=>
5
,
),
'buff_shield'
=>
Array
(
'svars'
=>
1766
,
),
),
'skill'
=>
1000
,
'wep'
=>
'破解的PSP-3000'
,
'wepk'
=>
'WP'
,
...
...
@@ -2058,7 +2125,17 @@ $npcinfo = array
'pose'
=>
4
,
'att'
=>
4000
,
'icon'
=>
10
,
'inf'
=>
'p'
,
'club'
=>
8
,
'clubskillpara'
=>
Array
(
'c8_expert'
=>
Array
(
'lvl'
=>
4
,
),
'c8_infilt'
=>
Array
(
'lvl'
=>
6
,
),
),
'skill'
=>
600
,
'wep'
=>
'超级☆无敌辰音LILY'
,
'wepk'
=>
'WD'
,
...
...
@@ -2073,6 +2150,20 @@ $npcinfo = array
'def'
=>
30250
,
'icon'
=>
4
,
'club'
=>
4
,
'clubskillpara'
=>
Array
(
'c4_stable'
=>
Array
(
'lvl'
=>
6
,
'costcount'
=>
20
,
),
'c4_break'
=>
Array
(
'lvl'
=>
3
,
'costcount'
=>
19
,
),
'c4_roar'
=>
Array
(
'active'
=>
1
,
),
),
'skill'
=>
600
,
'wep'
=>
'光翼型近接支援残酷戦闘機'
,
'wepk'
=>
'WG'
,
...
...
@@ -2250,6 +2341,18 @@ $npcinfo = array
'gd'
=>
'm'
,
'icon'
=>
4
,
'club'
=>
10
,
'clubskill'
=>
Array
(
'c4_sniper'
,
),
'clubskillpara'
=>
Array
(
'c4_sniper'
=>
Array
(
'active'
=>
1
,
),
'c10_insight'
=>
Array
(
'lvl'
=>
4
,
),
),
'wep'
=>
'205mm绯牡丹加农炮'
,
'wepk'
=>
'WJ'
,
'wepe'
=>
800
,
...
...
gamedata/cache/resources_1.php
View file @
0bb887d5
...
...
@@ -40,7 +40,7 @@ $gwin = Array(0 => '程序故障', 1 => '全部死亡',2 => '最后幸存',3 =>
$week
=
Array
(
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
);
$clubinfo
=
Array
(
0
=>
'无'
,
1
=>
'
铁拳无敌
'
,
1
=>
'
街头霸王
'
,
2
=>
'见敌必斩'
,
3
=>
'灌篮高手'
,
4
=>
'狙击鹰眼'
,
...
...
@@ -53,6 +53,7 @@ $clubinfo = Array(
10
=>
'天赋异禀'
,
11
=>
'富家子弟'
,
12
=>
'全能兄贵'
,
//根性兄贵、肌肉兄贵、全能骑士合并为全能兄贵
13
=>
'铁拳无敌'
,
//13=>'根性兄贵',
//14=>'肌肉兄贵',
15
=>
'<span class="L5">L5状态</span>'
,
...
...
gamedata/cache/titles_1.php
View file @
0bb887d5
...
...
@@ -337,7 +337,7 @@ if(!defined('IN_GAME')) exit('Access Denied');
# 24. 殴系爱好者
24
=>
Array
(
'wp'
=>
'[:+=:]50'
,
'itm6'
=>
'「
铁拳无敌
」称号卡'
,
'itmk6'
=>
'ZB'
,
'itme6'
=>
1
,
'itms6'
=>
1
,
'itmsk6'
=>
''
,
'itm6'
=>
'「
街头霸王
」称号卡'
,
'itmk6'
=>
'ZB'
,
'itme6'
=>
1
,
'itms6'
=>
1
,
'itmsk6'
=>
''
,
),
# 26. 斩系爱好者
26
=>
Array
(
...
...
include/game/clubslct.func.php
View file @
0bb887d5
...
...
@@ -61,8 +61,8 @@ function valid_getclublist_t2($udata)
# 特殊社团列表
function
valid_getclublist_t1
(
$udata
)
{
# 随机可选范围(选3):6-疾风 10-天赋 11-富家 12-全能 19-晶莹
$temp_t1_list
=
Array
(
6
,
10
,
11
,
12
,
19
);
# 随机可选范围(选3):6-疾风 10-天赋 11-富家 12-全能 1
3-铁拳 1
9-晶莹
$temp_t1_list
=
Array
(
6
,
10
,
11
,
12
,
1
3
,
1
9
);
global
$db
,
$gtablepre
;
...
...
@@ -114,21 +114,11 @@ function getclub($who, &$c1, &$c2, &$c3)
if
(
$c2
>
$c3
)
swap
(
$c2
,
$c3
);
}
function
changeclub
(
$clb
,
&
$data
=
NULL
)
function
changeclub
(
$clb
,
&
$data
)
{
if
(
!
isset
(
$data
))
{
global
$club
;
lostclub
();
$club
=
$clb
;
updateskill
();
}
else
{
lostclub
(
$data
);
$data
[
'club'
]
=
$clb
;
updateskill
(
$data
);
}
lostclub
(
$data
);
$data
[
'club'
]
=
$clb
;
updateskill
(
$data
);
}
function
updateskill
(
&
$data
=
NULL
)
...
...
@@ -143,7 +133,7 @@ function updateskill(&$data=NULL)
}
extract
(
$data
,
EXTR_REFS
);
if
(
$club
==
1
)
{
$wp
+=
50
;}
if
(
$club
==
1
||
$club
==
13
)
{
$wp
+=
50
;}
if
(
$club
==
2
)
$wk
+=
50
;
if
(
$club
==
3
)
$wc
+=
50
;
if
(
$club
==
4
)
$wg
+=
50
;
...
...
@@ -151,22 +141,19 @@ function updateskill(&$data=NULL)
if
(
$club
==
9
)
$wf
+=
40
;
if
(
$club
==
11
)
$money
+=
680
;
if
(
$club
==
12
)
{
$wp
+=
25
;
$wk
+=
25
;
$wc
+=
25
;
$wg
+=
25
;
$wd
+=
25
;
$wf
+=
25
;
$mhp
+=
250
;
$hp
+=
250
;
$att
+=
300
;
$def
+=
300
;}
/*if ($club==16) { $wp+=25; $wk+=25; $wc+=25; $wg+=25; $wd+=25; $wf+=25; }
if ($club==13) { $mhp+=250; $hp+=250; }
if ($club==14) { $att+=300; $def+=300; }*/
# 变更社团时 获取社团技能
//include_once GAME_ROOT.'./include/game/revclubskills.func.php';
if
(
!
isset
(
$data
))
if
(
!
empty
(
$club_skillslist
[
$club
]))
{
$cks
=
$club_skillslist
[
$club
];
foreach
(
$cks
as
$sk
)
getclubskill
(
$sk
,
$clbpara
);
}
else
{
$cks
=
$club_skillslist
[
$data
[
'club'
]]
;
foreach
(
$cks
as
$sk
)
getclubskill
(
$sk
,
$data
[
'clbpara'
]);
foreach
(
$cks
as
$sk
)
{
# NPC不会学习带有'player'标签的技能
if
(
get_skilltags
(
$sk
,
'player'
)
&&
$type
)
continue
;
getclubskill
(
$sk
,
$clbpara
)
;
}
}
return
;
}
function
lostclub
(
&
$data
=
NULL
)
...
...
include/game/item.func.php
View file @
0bb887d5
...
...
@@ -331,14 +331,20 @@ function itemuse($itmn,&$data=NULL) {
}
}
elseif
(
strpos
(
$itmk
,
'T'
)
===
0
)
{
//global $pls, $exp, $upexp, $wd, $club,$lvl,$db,$tablepre;
if
(
!
check_skill_unlock
(
'c13_master'
,
$data
))
{
$log
.=
"你老脸一红,只觉得自己是被鬼迷了心窍,怎么会起了这种卑劣的念头!<br>羞愤之下,你一口把<span class='yellow'>
{
$itm
}
</span>吞进了肚子。<br>"
;
$itms
=
0
;
destory_single_item
(
$data
,
$itmn
,
1
);
$mode
=
'command'
;
return
;
}
$trapk
=
str_replace
(
'TN'
,
'TO'
,
$itmk
);
//$mapfile = GAME_ROOT . "./gamedata/mapitem/{$pls}mapitem.php";
//$itemdata = "$itm,TO,$itme,1,$pid,\n";
//writeover ( $mapfile, $itemdata, 'ab' );
$db
->
query
(
"INSERT INTO
{
$tablepre
}
maptrap (itm, itmk, itme, itms, itmsk, pls) VALUES ('
$itm
', '
$trapk
', '
$itme
', '1', '
$pid
', '
$pls
')"
);
$log
.=
"设置了陷阱<span class=
\"
red
\"
>
$itm
</span>。<br>小心,自己也很难发现。<br>"
;
//echo $exp;
if
(
$club
==
5
){
$exp
+=
2
;
$wd
+=
2
;}
else
{
$exp
++
;
$wd
++
;}
...
...
include/game/itemmain.func.php
View file @
0bb887d5
...
...
@@ -76,11 +76,45 @@ function calc_trap_escape_rate(&$pa,$playerflag=0,$selflag=0)
return
min
(
$escrate
,
$max_escrate
);
}
# 计算触发陷阱后的“迎击事件”
# 计算触发陷阱后的陷阱伤害
function
calc_trap_damage
(
&
$pa
,
$pd
=
NULL
,
$playerflag
=
0
,
$selflag
=
0
)
{
global
$log
;
// 奇迹陷阱
if
(
$pa
[
'itmk0'
]
==
'TOc'
)
{
$damage
=
$pa
[
'hp'
];
return
$damage
;
}
// 随机数大神的陷阱
if
(
$pa
[
'itmk0'
]
==
'TO8'
)
{
$damage
=
$pa
[
'hp'
]
/
8
;
return
$damage
;
}
$damage
=
round
(
rand
(
0
,
$pa
[
'itme0'
]
/
2
)
+
(
$pa
[
'itme0'
]
/
2
));
# 防御姿态可以降低陷阱伤害
$damage
=
$pa
[
'tactic'
]
==
2
?
round
(
$damage
*
0.75
)
:
$damage
;
# 技能「宗师」效果判定
if
(
!
check_skill_unlock
(
'c13_master'
,
$pa
))
{
$pa
[
'skilllog'
]
=
"大祸临头,你却呵呵笑道:“雕虫小技,不足为惧!”<br>"
;
$damage_p
=
get_skillvars
(
'c13_master'
,
'trapdmgloss'
);
$pa
[
'skilllog'
]
.=
"已经跳到你腿上的<span class='yellow'>
{
$pa
[
'itm0'
]
}
</span>显然被你非凡的气魄震慑到了!你仅"
;
$damage
=
round
(
$damage
*
(
1
-
(
$damage_p
/
100
)));
}
return
$damage
;
}
# 计算触发陷阱后的伤害减免事件
function
check_trap_def_event
(
&
$pa
,
$damage
,
$playerflag
=
0
,
$selflag
=
0
)
{
# 奇迹雷不能迎击
if
(
$pa
[
'itmk0'
]
==
'TOc'
)
return
$damage
;
# 奇迹雷
、神力雷
不能迎击
if
(
$pa
[
'itmk0'
]
==
'TOc'
||
$pa
[
'itmk0'
]
==
'TO8'
)
return
$damage
;
# 检查是否有迎击属性
include_once
GAME_ROOT
.
'./include/game/revattr.func.php'
;
if
(
empty
(
$pa
[
'ex_keys'
]))
$pa
[
'ex_keys'
]
=
array_merge
(
\revattr\get_equip_ex_array
(
$pa
),
\revattr\get_wep_ex_array
(
$pa
));
...
...
@@ -95,6 +129,14 @@ function check_trap_def_event(&$pa,$damage,$playerflag=0,$selflag=0)
$damage
=
0
;
}
}
# 「天佑」技能判定
if
(
$damage
&&
!
check_skill_unlock
(
'buff_godbless'
,
$data
))
{
$damage
=
0
;
$log
.=
"<span class=
\"
yellow
\"
>「天佑」使你免疫了陷阱伤害!</span><br>"
;
}
return
$damage
;
}
...
...
@@ -122,7 +164,6 @@ function calc_trap_reuse_rate($pa,$playerflag=0,$selflag=0)
return
$fdrate
;
}
function
trap
(
&
$data
=
NULL
){
global
$log
,
$cmd
,
$mode
,
$iteminfo
;
global
$now
,
$db
,
$tablepre
;
...
...
@@ -167,47 +208,14 @@ function trap(&$data=NULL){
if
(
$dice
>=
$escrate
)
{
$bid
=
$itmsk0
;
// 奇迹陷阱
if
(
$itmk0
==
'TOc'
)
{
$damage
=
$hp
;
$goodmancard
=
0
;
goto
real_trap_damage
;
}
// 随机数大神的陷阱
elseif
(
$itmk0
==
'TO8'
)
{
$damage
=
$hp
/
8
;
$goodmancard
=
0
;
}
else
{
$damage
=
round
(
rand
(
0
,
$itme0
/
2
)
+
(
$itme0
/
2
));
// 防御姿态可以降低陷阱伤害
$damage
=
$tactic
==
2
?
round
(
$damage
*
0.75
)
:
$damage
;
//好人卡特别活动
//global $itm1,$itmk1,$itms1,$itm2,$itmk2,$itms2,$itm3,$itmk3,$itms3,$itm4,$itmk4,$itms4,$itm5,$itmk5,$itms5;
$goodmancard
=
0
;
for
(
$i
=
1
;
$i
<=
5
;
$i
++
){
if
(
$
{
'itms'
.
$i
}
&&
$
{
'itm'
.
$i
}
==
'好人卡'
&&
$
{
'itmk'
.
$i
}
==
'Y'
){
$goodmancard
+=
$
{
'itms'
.
$i
};
}
}
}
# 计算陷阱伤害
$damage
=
calc_trap_damage
(
$data
,
NULL
,
$playerflag
,
$selflag
);
# 检查陷阱是否被迎击
$damage
=
check_trap_def_event
(
$data
,
$damage
,
$playerflag
,
$selflag
);
# 「天佑」技能判定
if
(
$damage
&&
$itmk0
!=
'TOc'
&&
!
check_skill_unlock
(
'buff_godbless'
,
$data
))
{
$damage
=
0
;
$log
.=
"<span class=
\"
yellow
\"
>「天佑」使你免疫了陷阱伤害!</span><br>"
;
}
if
(
$damage
)
{
real_trap_damage
:
$tmp_club
=
$club
;
$hp
-=
$damage
;
$trapkill
=
false
;
...
...
@@ -216,19 +224,15 @@ function trap(&$data=NULL){
{
addnews
(
$now
,
'trap'
,
$name
,
$trname
,
$itm0
,
$nick
);
}
$log
.=
"糟糕,你触发了
{
$trperfix
}
陷阱<span class=
\"
yellow
\"
>
$itm0
</span>!受到<span class=
\"
dmg
\"
>
$damage
</span>点伤害!<br>"
;
$log
.=
"糟糕,你触发了
{
$trperfix
}
陷阱<span class=
\"
yellow
\"
>
$itm0
</span>!<br>"
;
if
(
$data
[
'skilllog'
])
$log
.=
$data
[
'skilllog'
];
$log
.=
"受到<span class=
\"
dmg
\"
>
$damage
</span>点伤害!<br>"
;
# 踩雷rp结算
$rp_up
=
-
1
*
$rp
/
2
;
include_once
GAME_ROOT
.
'./include/state.func.php'
;
if
(
$rp_up
)
rpup_rev
(
$data
,
$rp_up
);
if
(
$goodmancard
)
{
$gm
=
ceil
(
$goodmancard
*
rand
(
80
,
120
)
/
100
);
$log
.=
"在你身上的<span class=
\"
yellow
\"
>好人卡</span>的作用下,你受到的伤害增加了<span class=
\"
red
\"
>
$gm
</span>点!<br>"
;
$hp
-=
$gm
;
}
# 陷阱击杀
if
(
$hp
<=
0
)
{
...
...
include/game/itemplace.func.php
View file @
0bb887d5
...
...
@@ -3,6 +3,20 @@ if (! defined ( 'IN_GAME' )) {
exit
(
'Access Denied'
);
}
# 创建一个合成索引
function
smartmix_create_recipe_quest
(
$itm
,
$tp
=
0
,
&
$data
=
NULL
)
{
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
# 创建新的合成索引时,清空旧索引内记录的数据
if
(
!
empty
(
$clbpara
[
'smartmix'
]))
unset
(
$clbpara
[
'smartmix'
]);
}
//以道具名反查mixinfo数据
//tp & 1 以原料反查,tp & 2 以产物反查
//返回mixinfo里的单个array
...
...
include/game/revattr.func.php
View file @
0bb887d5
...
...
@@ -147,7 +147,7 @@ namespace revattr
$bsk
=
$pa
[
'bskill'
];
$bsk_name
=
$cskills
[
$bsk
][
'name'
];
# 扣除怒气
$bsk_cost
=
get_skill
vars
(
$bsk
,
'ragecost'
);
$bsk_cost
=
get_skill
ragecost
(
$bsk
,
$pa
);
if
(
$bsk_cost
)
$pa
[
'rage'
]
-=
$bsk_cost
;
# 成功释放主动技,应用标记
$pa
[
'bskill_'
.
$bsk
]
=
1
;
...
...
@@ -682,8 +682,14 @@ namespace revattr
if
(
$pa
[
'wep_kind'
]
==
'N'
)
{
if
(
!
isset
(
$pa
[
'wep_skill'
]))
$pa
[
'wep_skill'
]
=
get_wep_skill
(
$pa
);
$pa
[
'wepe_t'
]
=
round
(
$pa
[
'wep_skill'
]
*
2
/
3
);
}
$pa
[
'wepe_t'
]
=
round
(
$pa
[
'wep_skill'
]
*
2
/
3
);
#「拳法」效果判定,在空手基础上再额外增加
if
(
isset
(
$pa
[
'skill_c13_kungfu'
]))
{
$pa
[
'wepe_t'
]
=
round
(
$pa
[
'wep_skill'
]);
}
}
//射系 武器伤害=面板数值
elseif
(
$pa
[
'wep_kind'
]
==
'G'
||
$pa
[
'wep_kind'
]
==
'J'
)
{
...
...
@@ -795,19 +801,22 @@ namespace revattr
$pa
[
'charge_flag'
]
=
1
;
}
}
# 获取pd社团技能对防御力的加成(旧)
/*if(!empty($pd['skills']))
{
rev_get_clubskill_bonus($pa['club'],$pa['skills'],$pa,$pd['club'],$pa['skills'],$pd,$att1,$def1);
}*/
# 获取pd社团技能对防御力的加成(新)
$sk_def
=
0
;
# 「格挡」技能加成
if
(
!
check_skill_unlock
(
'c1_def'
,
$pd
))
{
$def_trans_rate
=
$cskills
[
'c1_def'
][
'vars'
][
'trans'
];
$def_maxtrans
=
$cskills
[
'c1_def'
][
'vars'
][
'maxtrans'
];
$sk_def
=
min
(
$def_maxtrans
,
$def_trans_rate
*
$pd
[
'wepe'
]
/
100
);
$sk_def
+
=
min
(
$def_maxtrans
,
$def_trans_rate
*
$pd
[
'wepe'
]
/
100
);
}
# 「消力」技能加成
if
(
!
check_skill_unlock
(
'c13_parry'
,
$pd
))
{
$sk_def
+=
$pd
[
'wp'
];
}
# 汇总:
$total_def
=
$base_def
+
$equip_def
;
if
(
!
empty
(
$def1
))
$total_def
+=
$def1
;
...
...
@@ -918,6 +927,8 @@ namespace revattr
//计算在原始伤害基础上附加的固定伤害
function
get_original_fix_dmg_rev
(
&
$pa
,
&
$pd
,
$active
)
{
global
$log
;
$damage
=
0
;
# 重枪
if
(
$pa
[
'wep_kind'
]
==
'J'
)
...
...
@@ -929,7 +940,6 @@ namespace revattr
# 灵力武器
if
(
$pa
[
'wep_kind'
]
==
'F'
)
{
global
$log
;
if
(
isset
(
$pa
[
'sldr_flag'
])
||
isset
(
$pd
[
'sldr_flag'
]))
{
$log
.=
"<span class=
\"
red
\"
>由于灵魂抽取的作用,灵系武器伤害大幅降低了!</span><br>"
;
...
...
@@ -939,6 +949,14 @@ namespace revattr
$damage
+=
$pa
[
'wepe'
];
}
}
#「乱击」判定:
if
(
isset
(
$pa
[
'bskill_c13_wingchun'
]))
{
$sk_p
=
get_skillvars
(
'c13_wingchun'
,
'phydmgr'
,
get_skilllvl
(
'c13_wingchun'
,
$pa
));
$sk_dmg
=
round
(
$pa
[
'wep_skill'
]
*
(
$sk_p
/
100
));
$log
.=
"<span class='yellow'>
{
$pa
[
'nm'
]
}
对着敌人打出了一屏幕的拳头,附加了
{
$sk_dmg
}
点伤害!</span><br>"
;
$damage
+=
$sk_dmg
;
}
$pa
[
'original_dmg'
]
+=
$damage
;
return
$damage
;
}
...
...
@@ -1073,6 +1091,14 @@ namespace revattr
$dmg_p
[]
=
$p
;
$log
.=
"<span class='yellow'>「解构」使
{
$pa
[
'nm'
]
}
造成的物理伤害提高了
{
$sk_p
}
%!</span><br>"
;
}
#「宗师」判定:
if
(
isset
(
$pa
[
'skill_c13_master'
])
&&
$pa
[
'wep_kind'
]
!=
'N'
)
{
$sk_p
=
(
strpos
(
$pa
[
'wep_name'
],
'拳'
)
!==
false
&&
$pa
[
'wep_kind'
]
==
'P'
)
?
get_skillvars
(
'c13_master'
,
'phydmgloss_2'
)
:
get_skillvars
(
'c13_master'
,
'phydmgloss'
);
$p
=
1
-
(
$sk_p
/
100
);
$dmg_p
[]
=
$p
;
$log
.=
"<span class='yellow'>
{
$pa
[
'nm'
]
}
耻于使用武器战斗!造成的物理伤害降低了
{
$sk_p
}
%!</span><br>"
;
}
return
$dmg_p
;
}
...
...
@@ -1931,6 +1957,27 @@ namespace revattr
$log
.=
"<span class=
\"
lime
\"
>「护盾」使
{
$pd
[
'nm'
]
}
受到的伤害降低了
{
$sk_var
}
点!</span><br>"
;
}
# 「消力」效果判定
if
(
isset
(
$pd
[
'skill_c13_parry'
]))
{
$sk_dice
=
diceroll
(
99
);
$sk_obbs
=
get_skillvars
(
'c13_parry'
,
'parryr'
);
#「决战」概率增幅
if
(
isset
(
$pd
[
'skill_buff_duel'
]))
$sk_obbs
+=
get_skillvars
(
'buff_duel'
,
'rapidr'
);
if
(
$sk_dice
<=
$sk_obbs
)
{
$sk_var
=
min
(
$pd
[
'wep_skill'
],
get_skillvars
(
'c13_parry'
,
'maxparry'
));
if
(
$sk_var
)
{
$sk_var
=
min
(
$fin_dmg
,
$sk_var
);
$fin_dmg
-=
$sk_var
;
$log
.=
"<span class=
\"
yellow
\"
>
{
$pd
[
'nm'
]
}
使出化劲儿,消去了
{
$sk_var
}
点伤害!</span><br>"
;
}
}
}
# 「灵俑」抵挡伤害判定
if
(
!
empty
(
$pd
[
'clbpara'
][
'zombieid'
]))
{
...
...
include/game/revclubskills.func.php
View file @
0bb887d5
...
...
@@ -5,9 +5,6 @@
}
# 新社团技能:
//include_once GAME_ROOT.'./include/game/dice.func.php';
# 获得指定技能 $sk:技能名;$para:$clbpara
function
getclubskill
(
$sk
,
&
$para
)
{
...
...
@@ -41,7 +38,7 @@
function
lostclubskill
(
$sk
,
&
$para
)
{
global
$cskills
;
if
(
in_array
(
$sk
,
$para
[
'skill'
]))
if
(
!
empty
(
$para
[
'skill'
])
&&
in_array
(
$sk
,
$para
[
'skill'
]))
{
# 检查技能丢失时是否要执行事件
if
(
isset
(
$cskills
[
$sk
][
'lostevents'
]))
...
...
@@ -74,27 +71,29 @@
return
;
}
# 激活指定技能(技能名,额外参数)(这个做法还是太离谱,暂时废弃)
/*function actclbskills($data,$sk,$skpara=NULL)
# 通过自定义方式初始化技能与技能参数
# 'clubskill' => Array('sk1'); # 获取指定技能
# 'clubskillpara' => Array('sk1' => 'sk1para' => Array('para_key' => 'para_values')); # 修改指定技能参数
function
customtclubskill
(
&
$data
)
{
global $log,$cskills;
if(isset($cskills[$sk]))
{
# 合法性检查
$flag = check_skill_unlock($sk,$data);
if($flag) return;
include_once GAME_ROOT.'./include/game/revclubskills_extra.func.php';
$sk_func = 'skill_'.$sk.'act';
if(function_exists($sk_func))
if
(
!
empty
(
$data
[
'clubskill'
]))
{
foreach
(
$data
[
'clubskill'
]
as
$sk
)
getclubskill
(
$sk
,
$data
[
'clbpara'
]);
}
if
(
!
empty
(
$data
[
'clubskillpara'
]))
{
foreach
(
$data
[
'clubskillpara'
]
as
$sk
=>
$skpara
)
{
if(!empty($skpara))
eval("$sk_func($skpara);");
else
eval("$sk_func();");
foreach
(
$skpara
as
$para_key
=>
$para_value
)
{
//....
$data
[
'clbpara'
][
'skillpara'
][
$sk
][
$para_key
]
=
$para_value
;
//set_skillpara($sk,$para_key,$para_value,$data['clbpara']);
}
}
}
}*/
return
;
}
# 升级指定技能 $sk:技能名;$nums:升级次数
function
upgclbskills
(
$sk
,
$nums
=
1
)
...
...
@@ -328,6 +327,17 @@
return
0
;
}
function
get_skillragecost
(
$sk
,
$data
)
{
$ragecost
=
get_skillvars
(
$sk
,
'ragecost'
);
if
(
is_array
(
$ragecost
))
{
$sk_lvl
=
get_skilllvl
(
$sk
,
$data
);
$ragecost
=
$ragecost
[
$sk_lvl
];
}
return
$ragecost
;
}
# 技能是否满足消耗条件,返回0时为可激活,否则返回对应的未满足条件 $sk:技能名;$data:角色数据
function
check_skill_cost
(
$sk
,
$data
)
{
...
...
@@ -336,8 +346,8 @@
$cannot_active_log
=
Array
(
0
=>
'怒气不足,需要<span class="red">[:ragecost:]</span>点怒气'
,
);
$ragecost
=
get_skillragecost
(
$sk
,
$data
);
# 检查技能需要消耗的怒气条件是否满足
$ragecost
=
get_skillvars
(
$sk
,
'ragecost'
);
if
(
$ragecost
&&
$data
[
'rage'
]
<
$ragecost
)
{
$clog
=
str_replace
(
'[:ragecost:]'
,
$ragecost
,
$cannot_active_log
[
0
]);
...
...
include/game/revclubskills.inc.php
0 → 100644
View file @
0bb887d5
<?php
if
(
!
defined
(
'IN_GAME'
))
{
exit
(
'Access Denied'
);
}
?>
include/game/revcombat.func.php
View file @
0bb887d5
...
...
@@ -566,9 +566,33 @@ namespace revcombat
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);
# 增加熟练度
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+=
1
;
# 天赋异禀额外+1熟练度
if
(
$pa
[
'club'
]
==
10
)
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+=
1
;
# 「拳法」效果判定
if
(
isset
(
$pa
[
'skill_c13_kungfu'
])
&&
$pa
[
'wep_kind'
]
==
'N'
)
{
$sk_obbs
=
diceroll
(
99
);
if
(
$sk_obbs
>=
96
)
{
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+=
4
;
}
elseif
(
$sk_obbs
>=
94
)
{
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+=
3
;
}
elseif
(
$sk_obbs
>=
85
)
{
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+=
2
;
}
elseif
(
$sk_obbs
>=
65
)
{
$pa
[
$skillinfo
[
$pa
[
'wep_kind'
]]]
+=
1
;
}
}
return
$damage
;
}
...
...
include/game/revcombat_extra.func.php
View file @
0bb887d5
...
...
@@ -341,7 +341,7 @@ namespace revcombat
$loop
=
0
;
# 「双响」效果判定
if
(
isset
(
$pa
[
'bskill_c5_double'
]))
if
(
!
$loop
&&
isset
(
$pa
[
'bskill_c5_double'
]))
{
unset
(
$pa
[
'bskill_c5_double'
]);
unset
(
$pa
[
'bskilllog'
]);
$log
.=
"<span class=
\"
yellow
\"
>
{
$pa
[
'nm'
]
}
引爆了预埋的另一组爆炸物!</span><br>"
;
...
...
@@ -349,7 +349,7 @@ namespace revcombat
}
# 「海虎」效果判定
if
(
isset
(
$pa
[
'skill_c12_swell'
]))
if
(
!
$loop
&&
isset
(
$pa
[
'skill_c12_swell'
]))
{
$pa
[
'skill_c12_swell'
]
--
;
if
(
empty
(
$pa
[
'skill_c12_swell'
]))
unset
(
$pa
[
'skill_c12_swell'
]);
...
...
@@ -357,6 +357,26 @@ namespace revcombat
$loop
=
1
;
}
# 「快拳」效果判定
if
(
!
$loop
&&
isset
(
$pa
[
'skill_c13_quick'
]))
{
$sk_dice
=
diceroll
(
99
);
$sk_obbs
=
get_skillvars
(
'c13_quick'
,
'rapidr'
,
get_skilllvl
(
'c13_quick'
,
$pa
));
#「乱击」概率增幅
if
(
isset
(
$pa
[
'bskill_c13_wingchun'
]))
$sk_obbs
+=
get_skillvars
(
'c13_wingchun'
,
'rapidr'
,
get_skilllvl
(
'c13_wingchun'
,
$pa
));
#「决战」概率增幅
if
(
isset
(
$pa
[
'skill_buff_duel'
]))
$sk_obbs
+=
get_skillvars
(
'buff_duel'
,
'rapidr'
);
if
(
$sk_dice
<=
$sk_obbs
)
{
$pa
[
'skill_c13_quick'
]
--
;
if
(
empty
(
$pa
[
'skill_c13_quick'
]))
unset
(
$pa
[
'skill_c13_quick'
]);
$log
.=
"<span class=
\"
lime
\"
>
{
$pa
[
'nm'
]
}
身法灵动,再度出拳!</span><br>"
;
$loop
=
1
;
}
}
# 循环打击触发时,注销所有的主动技触发标记
if
(
$loop
&&
!
empty
(
$pa
[
'bskill'
])
&&
!
empty
(
$pa
[
'bskill_'
.
$pa
[
'bskill'
]]))
{
...
...
include/game/search.func.php
View file @
0bb887d5
...
...
@@ -527,6 +527,13 @@ function move_search_events(&$data,$act)
set_skillpara
(
$sk
,
'ms'
,
$ms
,
$data
[
'clbpara'
]);
}
# 「决战」效果判定
if
(
!
check_skill_unlock
(
'buff_duel'
,
$data
))
{
$sk_var
=
get_skillvars
(
'buff_duel'
,
'wploss'
);
if
(
$data
[
'wp'
]
>=
$sk_var
)
$data
[
'wp'
]
-=
$sk_var
;
}
return
;
}
...
...
include/state.func.php
View file @
0bb887d5
...
...
@@ -449,7 +449,7 @@
if
(
isset
(
$pa
[
'bskill'
])
&&
isset
(
$pa
[
'bskill_'
.
$pa
[
'bskill'
]]))
{
$bsk
=
$pa
[
'bskill'
];
$bsk_cost
=
get_skill
vars
(
$bsk
,
'ragecost'
);
$bsk_cost
=
get_skill
ragecost
(
$bsk
,
'ragecost'
);
if
(
$bsk_cost
)
{
$pa
[
'rage'
]
+=
round
(
$bsk_cost
*
0.1
);
...
...
include/system.func.php
View file @
0bb887d5
...
...
@@ -72,6 +72,7 @@ function rs_game($mode = 0) {
//echo " - NPC初始化 - ";
$db
->
query
(
"DELETE FROM
{
$tablepre
}
players WHERE type>0 "
);
include_once
config
(
'npc'
,
$gamecfg
);
include_once
GAME_ROOT
.
"./include/game/clubslct.func.php"
;
//$typenum = sizeof($typeinfo);
$plsnum
=
sizeof
(
$plsinfo
);
$npcqry
=
''
;
...
...
@@ -111,30 +112,10 @@ function rs_game($mode = 0) {
//$npc['wp'] = $npc['wk'] = $npc['wg'] = $npc['wc'] = $npc['wd'] = $npc['wf'] = $npc['skill'];
if
(
$npc
[
'gd'
]
==
'r'
){
$npc
[
'gd'
]
=
rand
(
0
,
1
)
?
'm'
:
'f'
;}
# 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'
]);
}
}
# NPC称号技能初始化
if
(
!
empty
(
$npc
[
'club'
]))
changeclub
(
$npc
[
'club'
],
$npc
);
# NPC自定义技能初始化
if
(
!
empty
(
$npc
[
'clubskill'
])
||
!
empty
(
$npc
[
'clubskillpara'
]))
customtclubskill
(
$npc
);
//初始化NPC所在位置
global
$hidding_typelist
,
$deepzones
;
...
...
@@ -647,6 +628,8 @@ function movehtm($atime = 0) {
function
addnpc
(
$type
,
$sub
,
$num
,
$time
=
0
,
$clbstatus
=
NULL
,
$aitem
=
NULL
,
$apls
=
NULL
)
{
global
$now
,
$db
,
$gtablepre
,
$tablepre
,
$log
,
$plsinfo
,
$typeinfo
,
$arealist
,
$areanum
,
$gamecfg
;
global
$hidding_typelist
,
$deepzones
;
include_once
GAME_ROOT
.
"./include/game/clubslct.func.php"
;
$time
=
$time
==
0
?
$now
:
$time
;
$plsnum
=
sizeof
(
$plsinfo
);
/*if(empty($anpcinfo) || empty($npcinit)){
...
...
@@ -697,29 +680,12 @@ function addnpc($type,$sub,$num,$time = 0,$clbstatus=NULL,$aitem=NULL,$apls=NULL
}
//$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'
]);
}
}
# NPC称号技能初始化
if
(
!
empty
(
$npc
[
'club'
]))
changeclub
(
$npc
[
'club'
],
$npc
);
# NPC自定义技能初始化
if
(
!
empty
(
$npc
[
'clubskill'
])
||
!
empty
(
$npc
[
'clubskillpara'
]))
customtclubskill
(
$npc
);
//自定义addnpc出现位置,会覆盖原本预设的位置。 TODO:要不要发个特别的news?
if
(
isset
(
$apls
))
$npc
[
'pls'
]
=
(
int
)
$apls
;
//自定义addnpc身上携带的道具,会覆盖原本预设的道具。 格式:$aitem=Array($iid=>Array($itm,$itmk,$itme,$itms,$itmsk),...)
...
...
templates/default/command.htm
View file @
0bb887d5
...
...
@@ -188,4 +188,9 @@
<input
type=
"button"
class=
"cmdbutton"
name=
"sp_mercpage"
value=
"佣兵管理"
onclick=
"showModalDialog($('mercpage'));"
>
</span>
{template skill_mercpage}
<!--{/if}-->
\ No newline at end of file
<!--{/if}-->
<!--<br>
<span tooltip="创建一项新的合成索引,会覆盖掉原来的索引记录">
<input type="button" class="cmdbutton" id="v" name="skillstable" value="合成索引" onclick="showModalDialog($('skillpage'));">
</span> -->
templates/default/help.htm
View file @
0bb887d5
...
...
@@ -1643,7 +1643,7 @@ NPC也会发出重击和必杀技,请随时小心。</p>
</tr>
<tr>
<td
class=
"b2"
height=
20px
>
<span>
铁拳无敌
</span>
<span>
街头霸王
</span>
</td>
<td
class=
"b3"
>
<span>
一般
</span>
...
...
@@ -1826,6 +1826,22 @@ NPC也会发出重击和必杀技,请随时小心。</p>
<span><input
type=
"button"
class=
"cmdbutton"
value=
"点击查看称号技能"
onclick=
"showModalDialog($('skillhelp-c11'));"
></span>
</td>
</tr>
<tr>
<td
class=
"b2"
height=
20px
>
<span>
铁拳无敌
</span>
</td>
<td
class=
"b3"
>
<span>
特殊
</span>
</td>
<td
class=
"b3"
>
<span>
初始殴熟+50;殴熟成长更快,但使用武器的伤害大幅降低;
<br>
有非比寻常的宗师气度;
</span>
</td>
<td
class=
"b3"
>
<span><input
type=
"button"
class=
"cmdbutton"
value=
"点击查看称号技能"
onclick=
"showModalDialog($('skillhelp-c13'));"
></span>
</td>
</tr>
<tr>
<td
class=
"b2"
height=
20px
>
<span>
晶莹剔透
</span>
...
...
templates/default/templates.lang.php
View file @
0bb887d5
...
...
@@ -157,6 +157,9 @@ $language = array
'emoji'
=>
'表情'
,
'chatswitch'
=>
'切换'
,
'maptitle'
=>
'虚拟世界地图'
,
'skillpage_no_skill'
=>
'目前没有任何技能,去选择一个内定称号、或在游戏中寻找更多技能吧!'
,
);
...
...
valid.php
View file @
0bb887d5
...
...
@@ -251,10 +251,10 @@ if($mode == 'enter') {
# 格式化插入player数据
$ndata
=
update_db_player_structure
(
1
);
foreach
(
$ndata
as
$key
=>
$type
)
foreach
(
$ndata
as
$key
=>
$
n
type
)
{
if
(
isset
(
$$key
))
$ndata
[
$key
]
=
$$key
;
elseif
(
strpos
(
$type
,
'int'
)
!==
false
)
$ndata
[
$key
]
=
0
;
elseif
(
strpos
(
$
n
type
,
'int'
)
!==
false
)
$ndata
[
$key
]
=
0
;
else
$ndata
[
$key
]
=
''
;
}
...
...
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