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
4a50713a
Commit
4a50713a
authored
Mar 08, 2023
by
Nemo Ma
Committed by
GitHub
Mar 08, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #52 from hikawiier/waaagh
rev combat phase 3.17
parents
d59575b9
3ec76fe7
Changes
27
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
559 additions
and
112 deletions
+559
-112
command.php
command.php
+0
-1
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+169
-9
gamedata/cache/npc_1.php
gamedata/cache/npc_1.php
+15
-0
include/common.inc.php
include/common.inc.php
+2
-0
include/game.func.php
include/game.func.php
+2
-2
include/game/battle.func.php
include/game/battle.func.php
+4
-6
include/game/clubskills.func.php
include/game/clubskills.func.php
+1
-1
include/game/clubslct.func.php
include/game/clubslct.func.php
+2
-2
include/game/item.func.php
include/game/item.func.php
+3
-3
include/game/itemmain.func.php
include/game/itemmain.func.php
+1
-1
include/game/revattr.func.php
include/game/revattr.func.php
+87
-31
include/game/revattr_extra.func.php
include/game/revattr_extra.func.php
+103
-10
include/game/revbattle.func.php
include/game/revbattle.func.php
+3
-3
include/game/revclubskills.func.php
include/game/revclubskills.func.php
+54
-20
include/game/revclubskills_extra.func.php
include/game/revclubskills_extra.func.php
+6
-4
include/game/revcombat.func.php
include/game/revcombat.func.php
+2
-2
include/game/search.func.php
include/game/search.func.php
+1
-1
include/global.func.php
include/global.func.php
+5
-5
include/news.func.php
include/news.func.php
+2
-0
include/state.func.php
include/state.func.php
+1
-1
include/system.func.php
include/system.func.php
+27
-0
templates/default/skill_c1_veteran.htm
templates/default/skill_c1_veteran.htm
+2
-2
templates/default/skill_c3_enchant.htm
templates/default/skill_c3_enchant.htm
+58
-0
templates/default/skill_c4_roar.htm
templates/default/skill_c4_roar.htm
+2
-2
templates/default/skill_c4_sniper.htm
templates/default/skill_c4_sniper.htm
+2
-2
templates/default/skill_sample/skill_技能编号.htm
templates/default/skill_sample/skill_技能编号.htm
+2
-2
templates/default/skillpage.htm
templates/default/skillpage.htm
+3
-2
No files found.
command.php
View file @
4a50713a
...
...
@@ -594,7 +594,6 @@ if($hp > 0){
$p12
[
1
]
=
1
;
$p12
[
2
]
=
2
;
$mode
=
'command'
;
}
elseif
(
$mode
==
'revskpts'
)
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
$sk
=
substr
(
$command
,
9
);
if
(
isset
(
$cskills
[
$sk
]))
{
...
...
gamedata/cache/clubskills_1.php
View file @
4a50713a
...
...
@@ -8,7 +8,7 @@ $club_skillslist = Array
(
1
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
,
'c1_def'
,
'c1_crit'
,
'c1_sneak'
,
'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'
),
#'灌篮高手',
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'
),
#'狙击鹰眼',
5
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'拆弹专家',
6
=>
Array
(
's_hp'
,
's_ad'
,
'f_heal'
),
#'宛如疾风',
...
...
@@ -52,7 +52,7 @@ $cskills_tags = Array
(
'battle'
=>
'<span tooltip="可以在战斗中主动使用" class="gold">【战斗技】</span>'
,
'passive'
=>
'<span tooltip="满足条件时自动触发" class="gold">【被动技】</span>'
,
'active'
=>
'<span tooltip="
需主动启用才能
产生效果" class="gold">【主动技】</span>'
,
'active'
=>
'<span tooltip="
在主动启动后才会
产生效果" class="gold">【主动技】</span>'
,
//'cd' => '<span tooltip="隐藏标签:有此标签的技能会在载入时检查是否处于冷却状态" class="gold">【冷却技】</span>',
'openning'
=>
'<span tooltip="仅在先制发现敌人时可用" class="gold">【开幕技】</span>'
,
//'buff' => '<span tooltip="隐藏标签:代表这是一个临时性状态" class="gold">【状态】</span>',
...
...
@@ -370,7 +370,7 @@ $cskills = Array
),
'buff_annihil'
=>
Array
(
'name'
=>
'歼灭'
,
'name'
=>
'
[状态]
歼灭'
,
'tags'
=>
Array
(
'buff'
),
'desc'
=>
'<span class="lime">「歼灭」生效中!<br>
增益效果剩余时间:<span class="yellow">[^lasttimes^]</span> 秒</span>'
,
...
...
@@ -390,6 +390,172 @@ $cskills = Array
'wepk+wep_kind'
=>
"[:wepk:] == 'WK' || [:wepk:] == 'WGK' || [:wepk:] == 'WKP' || [:wepk:] == 'WKF' || [:wepk:] == 'WFK' || [:wep_kind:] == 'K'"
,
),
),
'c3_pitchpow'
=>
Array
(
'name'
=>
'臂力'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'手持投系武器时,反击率<span class="yellow">+[:countergain:]%</span>'
,
'maxlvl'
=>
6
,
'cost'
=>
Array
(
2
,
2
,
2
,
2
,
3
,
3
,
-
1
),
'input'
=>
'升级'
,
'log'
=>
'<span class="yellow">技能「臂力」升级成功。</span>'
,
'status'
=>
Array
(
'skillpara|c3_pitchpow-lvl'
),
'effect'
=>
Array
(
0
=>
Array
(
'skillpara|c3_pitchpow-lvl'
=>
'+=::1'
),
),
'svars'
=>
Array
(
'lvl'
=>
0
,
//初次获得时等级为0
),
'vars'
=>
Array
(
'countergain'
=>
Array
(
0
,
20
,
40
,
60
,
80
,
100
,
125
),
),
'lockdesc'
=>
'武器不适用,持<span class="yellow">投系武器</span>时生效'
,
'unlock'
=>
Array
(
'wepk+wep_kind'
=>
"[:wepk:] == 'WC' || [:wepk:] == 'WCF' || [:wepk:] == 'WCP' || [:wep_kind:] == 'C'"
,
),
),
'c3_enchant'
=>
Array
(
'name'
=>
'附魔'
,
'tags'
=>
Array
(
'battle'
,
'passive'
),
'desc'
=>
'<span tooltip="主动发动时,若角色身上不存在伤害类属性,则会为其临时附加一项随机属性。"><span class="grey">[附加提示]</span>
主动发动时,<br>在本次施加的下列属性中随机选择一种,<br>你持投系武器造成的该属性伤害永久<span class="yellow">+[:exdmggain:]%</span>(最高[:exdmgmax:]%)。<br>
持投掷兵器时生效,消耗<span class="yellow">[:ragecost:]</span>点怒气。<br>
目前各属性加成统计:<br></span>'
,
'bdesc'
=>
'<span tooltip="主动发动时,若角色身上不存在伤害类属性,则会为其临时附加一项随机属性。"><span class="grey">[附加提示]</span>
发动后将使某一随机属性伤害永久<span class="yellow">+[:exdmggain:]%</span>;消耗<span class="red">[:ragecost:]</span>怒气</span>'
,
'vars'
=>
Array
(
'ragecost'
=>
8
,
'exdmggain'
=>
3
,
//单项属性伤害加成
'exdmgmax'
=>
150
,
//单项属性伤害加成上限
'exdmgarr'
=>
Array
(
//单项属性与加成的对应关系
'u'
=>
'ur'
,
'f'
=>
'ur'
,
'i'
=>
'ir'
,
'k'
=>
'ir'
,
'e'
=>
'er'
,
'p'
=>
'pr'
,
'w'
=>
'wr'
,
'd'
=>
'dr'
,
),
'exdmgdesc'
=>
Array
(
//介绍该附魔对应的加成关系
'u'
=>
'火焰/灼焰'
,
'i'
=>
'冻气/冰华'
,
'p'
=>
'毒性'
,
'w'
=>
'音波'
,
'e'
=>
'电气'
,
'd'
=>
'爆炸'
,
),
),
'svars'
=>
Array
(
'ur'
=>
0
,
'ir'
=>
0
,
'pr'
=>
0
,
'er'
=>
0
,
'wr'
=>
0
,
'dr'
=>
0
,
'active_t'
=>
0
,
//技能发动次数
),
'lockdesc'
=>
Array
(
'lvl'
=>
'5级时解锁'
,
'wepk+wep_kind'
=>
'武器不适用,持<span class="yellow">投系武器</span>时生效'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 5'
,
'wepk+wep_kind'
=>
"[:wepk:] == 'WC' || [:wepk:] == 'WCF' || [:wepk:] == 'WCP' || [:wep_kind:] == 'C'"
,
),
),
'c3_potential'
=>
Array
(
'name'
=>
'潜能'
,
'tags'
=>
Array
(
'battle'
),
'desc'
=>
'本次攻击必中且物理伤害<span class="yellow">+[:phydmgr:]%</span><br>
持投系武器方可发动,消耗<span class="yellow">[:ragecost:]</span>点怒气'
,
'bdesc'
=>
'攻击必中且物理伤害<span class="yellow">+[:phydmgr:]%</span><br>消耗<span class="red">[:ragecost:]</span>怒气'
,
'vars'
=>
Array
(
'ragecost'
=>
70
,
'phydmgr'
=>
20
,
),
'lockdesc'
=>
Array
(
'lvl'
=>
'7级时解锁'
,
'wepk+wep_kind'
=>
'武器不适用,持<span class="yellow">投系武器</span>时生效'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 7'
,
'wepk+wep_kind'
=>
"[:wepk:] == 'WC' || [:wepk:] == 'WCF' || [:wepk:] == 'WCP' || [:wep_kind:] == 'C'"
,
),
),
'c3_hawkeye'
=>
Array
(
'name'
=>
'枭眼'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'如果你的武器射程不小于敌人,你对其先制攻击率<span class="yellow">+[:activer:]%</span>,<br>
其攻击你时命中率<span class="yellow">-[:accloss:]%</span>,连击命中率惩罚<span class="yellow">+[:rbloss:]%</span>'
,
'vars'
=>
Array
(
'activer'
=>
10
,
'accloss'
=>
12
,
'rbloss'
=>
8
,
),
'lockdesc'
=>
Array
(
'lvl'
=>
'9级时解锁'
,
'wepk+wep_kind'
=>
'武器不适用,持<span class="yellow">投系武器</span>时生效'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 9'
,
'wepk+wep_kind'
=>
"[:wepk:] == 'WC' || [:wepk:] == 'WCF' || [:wepk:] == 'WCP' || [:wep_kind:] == 'C'"
,
),
),
'c3_offset'
=>
Array
(
'name'
=>
'对撞'
,
'tags'
=>
Array
(
'active'
),
'desc'
=>
'持投系武器时,你有<span class="yellow">(<span tooltip="取决于你的投系熟练度">[^wc^]</span>×[:chancegainr:])%</span>的几率(<span class="yellow">上限[:maxchance:]%</span>),<br>
在受到伤害时抵挡<span class="yellow">(武器效果值的平方根×[:wepeffectr:])</span>点伤害(<span class="yellow">上限[:maxeffect:]点</span>)。<br>
成功抵挡伤害时,会使武器效果降低<span class="red">[:wepsloss:]%</span><br>
点击右侧的<span class="yellow">“切换”</span>按键可以随时激活或禁用该技能。<br>
[^skill-active^]'
,
'input'
=>
'切换'
,
'log'
=>
'<span class="yellow">切换了「对撞」的状态。</span>'
,
'events'
=>
Array
(
'active|c3_offset'
),
'vars'
=>
Array
(
'maxeffect'
=>
3000
,
'wepeffectr'
=>
10
,
'wepsloss'
=>
3
,
'minchance'
=>
0
,
'maxchance'
=>
70
,
'chancegainr'
=>
0.1
,
),
'svars'
=>
Array
(
'active'
=>
0
,
),
'pvars'
=>
Array
(
'wc'
,
'skill-active'
),
'lockdesc'
=>
Array
(
'lvl'
=>
'13级时解锁'
,
'wepk+wep_kind'
=>
'武器不适用,持<span class="yellow">投系武器</span>时生效'
,
),
'unlock'
=>
Array
(
'lvl'
=>
'[:lvl:] >= 13'
,
'wepk+wep_kind'
=>
"[:wepk:] == 'WC' || [:wepk:] == 'WCF' || [:wepk:] == 'WCP' || [:wep_kind:] == 'C'"
,
),
),
'c3_numerous'
=>
Array
(
'name'
=>
'百出'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'持投系武器时物理伤害<span class="yellow b">+([:dmgr:]×[:skillpara|c3_enchant-active_t:])%</span><br>
其中<span class="yellow">×</span>后的数值是你发动<span class="yellow">“附魔”</span>的次数<br>'
,
'vars'
=>
Array
(
'dmgr'
=>
2
,
),
'pvars'
=>
Array
(
'skillpara|c3_enchant-active_t'
),
'lockdesc'
=>
Array
(
'skillpara|c3_enchant-ur+skillpara|c3_enchant-ir+skillpara|c3_enchant-pr+skillpara|c3_enchant-er+skillpara|c3_enchant-wr+skillpara|c3_enchant-dr'
=>
'“附魔”中最高的属性伤害加成达到120%时解锁'
,
'wepk+wep_kind'
=>
'武器不适用,持<span class="yellow">投系武器</span>时生效'
,
),
//……
'unlock'
=>
Array
(
'skillpara|c3_enchant-ur+skillpara|c3_enchant-ir+skillpara|c3_enchant-pr+skillpara|c3_enchant-er+skillpara|c3_enchant-wr+skillpara|c3_enchant-dr'
=>
'[:skillpara|c3_enchant-ur:] >= 120 || [:skillpara|c3_enchant-ir:] >= 120 || [:skillpara|c3_enchant-er:] >= 120 || [:skillpara|c3_enchant-wr:] >= 120 || [:skillpara|c3_enchant-pr:] >= 120 || [:skillpara|c3_enchant-dr:] >= 120'
,
'wepk+wep_kind'
=>
"[:wepk:] == 'WC' || [:wepk:] == 'WCF' || [:wepk:] == 'WCP' || [:wep_kind:] == 'C'"
,
),
),
'c4_stable'
=>
Array
(
'name'
=>
'静息'
,
...
...
@@ -576,12 +742,6 @@ $cskills = Array
'limit'
=>
2000
,
'notype'
=>
Array
(
88
,
92
),
//不能用来抡的NPC
),
'lockdesc'
=>
Array
(
'rage'
=>
'怒气不足,需要<span class="red">100</span>点怒气才能使用'
,
),
'unlock'
=>
Array
(
'rage'
=>
'[:rage:] > 100'
,
),
),
'inf_dizzy'
=>
Array
(
...
...
gamedata/cache/npc_1.php
View file @
4a50713a
...
...
@@ -30,6 +30,21 @@ $npcinfo = array
'num'
=>
1
,
'pass'
=>
'bra'
,
'club'
=>
4
,
'clubskill'
=>
Array
(),
'clubskillpara'
=>
Array
(
'c4_stable'
=>
Array
(
'lvl'
=>
5
,
'costcount'
=>
14
,
),
'c4_break'
=>
Array
(
'lvl'
=>
3
,
'costcount'
=>
19
,
),
'c4_roar'
=>
Array
(
'active'
=>
1
,
),
),
'skills'
=>
66
,
'bid'
=>
0
,
'inf'
=>
''
,
...
...
include/common.inc.php
View file @
4a50713a
...
...
@@ -10,6 +10,8 @@ if(version_compare(PHP_VERSION, '4.3.0', '<')) {
exit
(
'PHP version must >= 4.3.0!'
);
}
require
GAME_ROOT
.
'./include/global.func.php'
;
require
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
require
GAME_ROOT
.
'./include/game/dice.func.php'
;
error_reporting
(
E_ALL
);
set_error_handler
(
'gameerrorhandler'
);
$magic_quotes_gpc
=
get_magic_quotes_gpc
();
...
...
include/game.func.php
View file @
4a50713a
...
...
@@ -560,7 +560,7 @@ function init_clubskillsdata($sk,$data)
# 本地不存在模板,按照预设信息生成一个
else
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
//
include_once GAME_ROOT.'./include/game/revclubskills.func.php';
global
$cskills
;
# 要检查的技能没有登记过 视为无效技能
if
(
!
array_key_exists
(
$sk
,
$cskills
))
return
0
;
...
...
@@ -690,7 +690,7 @@ function check_skilllasttimes(&$data=NULL)
$pure_flag
=
0
;
if
(
!
empty
(
$para
[
'lasttimes'
]))
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
//
include_once GAME_ROOT.'./include/game/revclubskills.func.php';
foreach
(
$para
[
'lasttimes'
]
as
$sk
=>
$lts
)
{
$stm
=
isset
(
$para
[
'starttimes'
][
$sk
])
?
$para
[
'starttimes'
][
$sk
]
:
0
;
...
...
include/game/battle.func.php
View file @
4a50713a
...
...
@@ -147,7 +147,7 @@ function findcorpse(&$w_pdata){
}
else
{
$
{
$sk_value
.
'_words'
}
=
$nospk
;
$
{
$sk_value
.
'_words'
}
=
''
;
}
}
}
...
...
@@ -183,11 +183,9 @@ function findcorpse(&$w_pdata){
$loot_depot_flag
=
depot_getlist
(
$w_name
,
$w_type
)
?
1
:
0
;
}
global
$pdata
;
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
if
(
!
check_skill_unlock
(
'tl_cstick'
,
$pdata
))
{
$cstick_flag
=
in_array
(
$w_type
,
get_skillvars
(
'tl_cstick'
,
'notype'
))
?
0
:
1
;
}
//include_once GAME_ROOT.'./include/game/revclubskills.func.php';
$cstick_flag
=
0
;
if
(
!
check_skill_unlock
(
'tl_cstick'
,
$pdata
)
&&
!
check_skill_cost
(
'tl_cstick'
,
$pdata
))
$cstick_flag
=
in_array
(
$w_type
,
get_skillvars
(
'tl_cstick'
,
'notype'
))
?
0
:
1
;
include
template
(
'corpse'
);
$cmd
=
ob_get_contents
();
ob_clean
();
...
...
include/game/clubskills.func.php
View file @
4a50713a
...
...
@@ -3,7 +3,7 @@ if (! defined ( 'IN_GAME' )) {
exit
(
'Access Denied'
);
}
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
function
getskills
(
&
$arr
)
{
...
...
include/game/clubslct.func.php
View file @
4a50713a
...
...
@@ -85,7 +85,7 @@ function updateskill(&$data=NULL)
if
(
$club
==
14
)
{
$att
+=
300
;
$def
+=
300
;
}
# 变更社团时 获取社团技能
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
//
include_once GAME_ROOT.'./include/game/revclubskills.func.php';
if
(
empty
(
$data
))
{
$cks
=
$club_skillslist
[
$club
];
...
...
@@ -103,7 +103,7 @@ function lostclub(&$data=NULL)
global
$club
,
$clbpara
,
$club_skillslist
;
if
(
!
$club
)
return
0
;
# 丢失原社团时 注销社团技能
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
//
include_once GAME_ROOT.'./include/game/revclubskills.func.php';
if
(
!
isset
(
$data
))
{
$cks
=
$club_skillslist
[
$club
];
...
...
include/game/item.func.php
View file @
4a50713a
...
...
@@ -604,7 +604,7 @@ function itemuse($itmn) {
global
$cskills
,
$clbpara
;
if
(
!
empty
(
$itmsk
)
&&
isset
(
$cskills
[
$itmsk
]))
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
$flag
=
getclubskill
(
$itmsk
,
$clbpara
);
if
(
$flag
)
{
...
...
@@ -819,7 +819,7 @@ function itemuse($itmn) {
if
(
strpos
(
$itmk
,
'ps'
)
===
0
){
//银色盒子
include_once
config
(
'randomitem'
,
$gamecfg
);
//1st case of the new diceroll system.
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
$dice
=
diceroll
(
100
);
//$dice = rand(1,100);
if
(
$dice
<=
75
){
//一般物品
...
...
@@ -875,7 +875,7 @@ function itemuse($itmn) {
}
else
{
#防呆
include_once
config
(
'randomO1'
,
$gamecfg
);
}
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
$dice
=
diceroll
(
1000
);
if
(
$dice
<=
550
){
//一般物品
$itemflag
=
$itmlow
;
...
...
include/game/itemmain.func.php
View file @
4a50713a
...
...
@@ -1045,7 +1045,7 @@ function getcorpse($item){
return
;
}
$log
.=
"你销毁了
{
$edata
[
'name'
]
}
的尸体。<br>但这一切值得吗……?<br>"
;
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
$rp
+=
diceroll
(
$rpup_destory_corpse
);
addnews
(
$now
,
'cdestroy'
,
$name
,
$edata
[
'name'
]);
destory_corpse
(
$edata
);
...
...
include/game/revattr.func.php
View file @
4a50713a
This diff is collapsed.
Click to expand it.
include/game/revattr_extra.func.php
View file @
4a50713a
...
...
@@ -4,9 +4,9 @@
exit
(
'Access Denied'
);
}
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
//
include_once GAME_ROOT.'./include/game/revclubskills.func.php';
//revattr_extra.func.php: 记录NPC特殊战斗机制...玩家战斗技也先放这里了 嘻嘻
//Q:为什么要把每个NPC的特殊战斗机制都新建一个函数保存?
...
...
@@ -19,7 +19,7 @@
# 检查主动技合法性
if
(
isset
(
$pa
[
'bskill'
]))
{
if
(
!
check_skill_unlock
(
$pa
[
'bskill'
],
$pa
)
&&
!
check_skill_
active
(
$pa
[
'bskill'
],
$pa
))
if
(
!
check_skill_unlock
(
$pa
[
'bskill'
],
$pa
)
&&
!
check_skill_
cost
(
$pa
[
'bskill'
],
$pa
))
{
$bsk
=
$pa
[
'bskill'
];
$bsk_name
=
$cskills
[
$bsk
][
'name'
];
...
...
@@ -27,7 +27,7 @@
$bsk_cost
=
get_skillvars
(
$bsk
,
'ragecost'
);
if
(
$bsk_cost
)
$pa
[
'rage'
]
-=
$bsk_cost
;
# 成功释放主动技,应用标记
$pa
[
'skill_'
.
$bsk
]
=
1
;
$pa
[
'
b
skill_'
.
$bsk
]
=
1
;
$log
.=
"<span class=
\"
lime
\"
>
{
$pa
[
'nm'
]
}
对
{
$pd
[
'nm'
]
}
发动了技能「
{
$bsk_name
}
」!</span><br>"
;
# 检查是否需要addnews
addnews
(
$now
,
'bsk_'
.
$bsk
,
$pa
[
'name'
],
$pd
[
'name'
]);
...
...
@@ -53,6 +53,7 @@
# 遍历pa技能队列 检查是否解锁
foreach
(
$pa
[
'clbpara'
][
'skill'
]
as
$sk
)
{
# passive、buff、inf标签技能通用判定
# 对于解锁技能,如果有特殊触发条件,在这里加入判定,否则会默认给一个触发标记
if
((
get_skilltags
(
$sk
,
'passive'
)
||
get_skilltags
(
$sk
,
'buff'
)
||
get_skilltags
(
$sk
,
'inf'
))
&&
!
check_skill_unlock
(
$sk
,
$pa
))
{
...
...
@@ -61,7 +62,7 @@
{
$sk_dice
=
diceroll
(
99
);
# 「偷袭」或「闷棍」技能生效时,「猛击」必定触发;
$sk_obbs
=
isset
(
$pa
[
'
skill_c1_sneak'
])
||
isset
(
$pa
[
'
skill_c1_bjack'
])
?
100
:
get_skillvars
(
'c1_crit'
,
'rate'
);
$sk_obbs
=
isset
(
$pa
[
'
bskill_c1_sneak'
])
||
isset
(
$pa
[
'b
skill_c1_bjack'
])
?
100
:
get_skillvars
(
'c1_crit'
,
'rate'
);
# 成功触发时
if
(
$sk_dice
<
$sk_obbs
)
{
...
...
@@ -69,6 +70,11 @@
$pa
[
'skill_c1_crit_log'
]
=
"<span class=
\"
yellow b
\"
>
{
$pa
[
'nm'
]
}
朝着
{
$pd
[
'nm'
]
}
打出了凶猛的一击!<span class=
\"
cyan b
\"
>
{
$pd
[
'nm'
]
}
被打晕了过去!</span></span><br>"
;
}
}
# 「枭眼」特殊判定:射程不小于对方时激活效果
elseif
(
$sk
==
'c3_hawkeye'
&&
$pa
[
'wep_range'
]
>=
$pd
[
'wep_range'
])
{
$pa
[
'skill_c3_hawkeye'
]
=
1
;
}
# 其他非特判技能,默认给一个触发标记
else
{
...
...
@@ -76,11 +82,47 @@
//$pa['skill_'.$sk.'_log'] = "";
}
}
# active标签技能通用判定
if
(
get_skilltags
(
$sk
,
'active'
)
&&
!
empty
(
get_skillpara
(
$sk
,
'active'
,
$pa
[
'clbpara'
]))
&&
!
check_skill_unlock
(
$sk
,
$pa
))
{
$pa
[
'askill_'
.
$sk
]
=
1
;
}
}
}
return
;
}
# 获取社团技能对先攻率(pa是否先攻pd)的修正(新)
function
get_clbskill_activerate
(
&
$pa
,
&
$pd
)
{
$r
=
1
;
# pa持有「枭眼」时的效果判定:
if
(
!
check_skill_unlock
(
'c3_hawkeye'
,
$pa
))
{
//计算双方射程差
$pa
[
'wep_range'
]
=
get_wep_range
(
$pa
);
$pd
[
'wep_range'
]
=
get_wep_range
(
$pd
);
if
(
$pa
[
'wep_range'
]
>=
$pd
[
'wep_range'
])
{
$sk_r
=
get_skillvars
(
'c3_hawkeye'
,
'activer'
);
$r
+=
$sk_r
/
100
;
}
}
# pd持有「枭眼」时的效果判定:
if
(
!
check_skill_unlock
(
'c3_hawkeye'
,
$pd
))
{
//计算双方射程差
$pa
[
'wep_range'
]
=
get_wep_range
(
$pa
);
$pd
[
'wep_range'
]
=
get_wep_range
(
$pd
);
if
(
$pa
[
'wep_range'
]
<
$pd
[
'wep_range'
])
{
$sk_r
=
get_skillvars
(
'c3_hawkeye'
,
'activer'
);
$r
-=
$sk_r
/
100
;
}
}
return
$r
;
}
# 获取社团技能对基础反击率的修正(新)
function
get_clbskill_counterate
(
&
$pa
,
&
$pd
,
$active
,
$counterate
)
{
...
...
@@ -92,17 +134,31 @@
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'countergain'
,
$sk_lvl
)
/
100
);
$counterate
*=
$sk_r
;
}
#「臂力」效果判定:
if
(
isset
(
$pa
[
'skill_c3_pitchpow'
]))
{
$sk_lvl
=
get_skilllvl
(
'c3_pitchpow'
,
$pa
);
//获取反击倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c3_pitchpow'
,
'countergain'
,
$sk_lvl
)
/
100
);
$counterate
*=
$sk_r
;
}
return
$counterate
;
}
# 获取社团技能对基础命中率的修正(新)
function
get_clbskill_hitrate
(
&
$pa
,
&
$pd
,
$active
,
$hitrate
)
{
# 加成:
#「潜能」效果判定:
if
(
isset
(
$pa
[
'bskill_c3_potential'
]))
{
//原来必中是这个意思……
return
10000
;
}
#「直感」效果判定:
if
(
isset
(
$pa
[
'skill_c2_intuit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c2_intuit'
,
$pa
);
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'accgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
...
...
@@ -110,30 +166,42 @@
if
(
isset
(
$pa
[
'skill_c4_stable'
]))
{
$sk_lvl
=
get_skilllvl
(
'c4_stable'
,
$pa
);
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_stable'
,
'accgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
#「瞄准」效果判定:
if
(
isset
(
$pa
[
'skill_c4_aiming'
]))
{
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_aiming'
,
'accgain'
)
/
100
);
$hitrate
*=
$sk_r
;
}
#「穿杨」效果判定:
if
(
isset
(
$pa
[
'skill_c4_sniper'
]))
{
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c4_sniper'
,
'accgain'
)
/
100
);
$hitrate
*=
$sk_r
;
}
# 减益:
#「枭眼」效果判定:
if
(
isset
(
$pd
[
'skill_c3_hawkeye'
]))
{
$sk_r
=
1
-
(
get_skillvars
(
'c3_hawkeye'
,
'accloss'
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
}
# 获取社团技能对连击命中率的修正(新)
function
get_clbskill_r_hitrate
(
&
$pa
,
&
$pd
,
$active
,
$hitrate
)
{
# 加成:
#「潜能」效果判定:
if
(
isset
(
$pa
[
'bskill_c3_potential'
]))
{
//潜能激活时连击无衰减
return
1
;
}
#「直感」效果判定:
if
(
isset
(
$pa
[
'skill_c2_intuit'
]))
{
...
...
@@ -150,6 +218,13 @@
$sk_r
=
1
+
(
get_skillvars
(
'c4_stable'
,
'rbgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
# 减益:
#「枭眼」效果判定:
if
(
isset
(
$pd
[
'skill_c3_hawkeye'
]))
{
$sk_r
=
1
-
(
get_skillvars
(
'c3_hawkeye'
,
'rbloss'
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
}
...
...
@@ -201,7 +276,25 @@
}
return
0
;
}
# 计算社团技能对单个属性基础伤害的系数补正
function
get_clbskill_ex_base_dmg_r
(
&
$pa
,
&
$pd
,
$active
,
$key
)
{
$ex_dmg_r
=
1
;
# 「附魔」效果判定:
if
(
isset
(
$pa
[
'skill_c3_enchant'
]))
{
$exdmgarr
=
get_skillvars
(
'c3_enchant'
,
'exdmgarr'
);
if
(
isset
(
$exdmgarr
[
$key
])
&&
!
empty
(
get_skillpara
(
'c3_enchant'
,
$exdmgarr
[
$key
],
$pa
[
'clbpara'
])))
{
$ex_r
=
get_skillpara
(
'c3_enchant'
,
$exdmgarr
[
$key
],
$pa
[
'clbpara'
]);
$ex_dmg_r
+=
$ex_r
/
100
;
//echo "【DEBUG】附魔使{$key}伤害提高了{$ex_r}%<br>";
}
}
return
$ex_dmg_r
;
}
# 获取社团技能对单个属性基础伤害的定值补正
function
get_clbskill_ex_base_dmg_fix
(
&
$pa
,
&
$pd
,
$active
,
$key
)
{
...
...
include/game/revbattle.func.php
View file @
4a50713a
...
...
@@ -54,7 +54,7 @@
function
escape_from_enemy
(
&
$pa
,
&
$pd
)
{
global
$action
,
$clbpara
,
$chase_escape_obbs
,
$log
;
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
# 在受追击/鏖战状态下逃跑有概率失败
if
(
strpos
(
$action
,
'pchase'
)
===
0
||
strpos
(
$action
,
'dfight'
)
===
0
)
{
...
...
@@ -101,7 +101,7 @@
//初始化玩家战斗技列表
if
(
!
empty
(
$sdata
[
'clbpara'
][
'skill'
]))
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
$battle_skills
=
Array
();
$sk_nums
=
0
;
foreach
(
$sdata
[
'clbpara'
][
'skill'
]
as
$sk
)
...
...
@@ -120,7 +120,7 @@
//再检查技能是否满足激活条件
else
{
$unlock
=
check_skill_
active
(
$sk
,
$sdata
);
$unlock
=
check_skill_
cost
(
$sk
,
$sdata
);
if
(
$unlock
)
$sk_desc
.=
$unlock
;
}
//技能可以使用,输出介绍文本
...
...
include/game/revclubskills.func.php
View file @
4a50713a
...
...
@@ -6,7 +6,7 @@
# 新社团技能:
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
# 获得指定技能 $sk:技能名;$para:$clbpara
function
getclubskill
(
$sk
,
&
$para
)
...
...
@@ -58,21 +58,13 @@
$sk_key
=
array_search
(
$sk
,
$para
[
'skill'
]);
unset
(
$para
[
'skill'
][
$sk_key
]);
# 失去指定技能时,注销对应技能参数
if
(
!
empty
(
$para
[
'skillpara'
][
$sk
]))
{
unset
(
$para
[
'skillpara'
][
$sk
]);
}
if
(
!
empty
(
$para
[
'skillpara'
][
$sk
]))
unset
(
$para
[
'skillpara'
][
$sk
]);
# 失去指定技能时,注销对应技能开始时间
if
(
!
empty
(
$para
[
'starttimes'
][
$sk
]))
unset
(
$para
[
'starttimes'
][
$sk
]);
# 失去指定技能时,注销对应技能持续时间
if
(
!
empty
(
$para
[
'lasttimes'
][
$sk
]))
{
unset
(
$para
[
'lasttimes'
][
$sk
]);
unset
(
$para
[
'starttimes'
][
$sk
]);
}
if
(
!
empty
(
$para
[
'lasttimes'
][
$sk
]))
unset
(
$para
[
'lasttimes'
][
$sk
]);
# 失去指定技能时,注销对应技能持续回合
if
(
!
empty
(
$para
[
'lastturns'
][
$sk
]))
{
unset
(
$para
[
'lastturns'
][
$sk
]);
}
if
(
!
empty
(
$para
[
'lastturns'
][
$sk
]))
unset
(
$para
[
'lastturns'
][
$sk
]);
}
return
;
}
...
...
@@ -256,6 +248,15 @@
return
0
;
}
}
# 事件:切换技能的激活状态
if
(
strpos
(
$event
,
'active|'
)
===
0
)
{
$event
=
explode
(
'|'
,
$event
);
$sk
=
$event
[
1
];
$now_active
=
get_skillpara
(
$sk
,
'active'
,
$clbpara
);
$active
=
$now_active
?
0
:
1
;
$log
.=
$active
?
"<span class='yellow'>技能已激活!</span><br>"
:
"<span class='yellow'>停用了技能效果。</span><br>"
;
set_skillpara
(
$sk
,
'active'
,
$active
,
$clbpara
);
}
return
1
;
}
...
...
@@ -310,10 +311,11 @@
function
check_skill_unlock
(
$sk
,
$data
=
NULL
)
{
global
$cskills
,
$now
;
if
(
!
$data
)
$data
=
current_player_save
();
if
(
empty
(
$data
)
)
$data
=
current_player_save
();
$data
[
'clbpara'
]
=
get_clbpara
(
$data
[
'clbpara'
]);
if
(
!
in_array
(
$sk
,
$data
[
'clbpara'
][
'skill'
]))
if
(
empty
(
$data
[
'clbpara'
][
'skill'
])
||
!
in_array
(
$sk
,
$data
[
'clbpara'
][
'skill'
]))
{
//echo "技能{$sk}未解锁<br>";
return
"技能未解锁!<br>"
;
}
if
(
!
empty
(
$cskills
[
$sk
][
'unlock'
]))
...
...
@@ -395,8 +397,8 @@
return
$key
;
}
# 技能是否
可激活
,返回0时为可激活,否则返回对应的未满足条件 $sk:技能名;$data:角色数据
function
check_skill_
active
(
$sk
,
$data
)
# 技能是否
满足消耗条件
,返回0时为可激活,否则返回对应的未满足条件 $sk:技能名;$data:角色数据
function
check_skill_
cost
(
$sk
,
$data
)
{
global
$cskills
;
# 不满足激活条件输出的文本,先写在这里,之后挪到配置文件里
...
...
@@ -456,7 +458,11 @@
# 变更保存在clbpara['skillpara']内的指定技能参数
function
set_skillpara
(
$sk
,
$skpara
,
$skdata
,
&
$para
)
{
$para
[
'skillpara'
][
$sk
][
$skpara
]
=
$skdata
;
# 要有这个技能才能设置参数
if
(
in_array
(
$sk
,
$para
[
'skill'
]))
{
$para
[
'skillpara'
][
$sk
][
$skpara
]
=
$skdata
;
}
return
;
}
...
...
@@ -567,7 +573,18 @@
foreach
(
$cskill
[
'vars'
]
as
$key
=>
$var
)
{
# 静态参数是数组的情况下 选用当前等级对应的参数
if
(
is_array
(
$var
))
$var
=
$var
[
$now_clvl
];
if
(
is_array
(
$var
))
{
if
(
isset
(
$now_clvl
))
{
$var
=
$var
[
$now_clvl
];
}
else
{
# 静态参数是数组,但是却没有传入技能等级,说明可能是其他类型的参数,直接跳过
continue
;
}
}
# 替换描述文本
$sk_desc
=
str_replace
(
"[:"
.
$key
.
":]"
,
$var
,
$sk_desc
);
}
...
...
@@ -589,6 +606,23 @@
$sk_desc
=
str_replace
(
"[^"
.
$pvar
.
"^]"
,
$tpvar
,
$sk_desc
);
}
}
elseif
(
$pvar
==
'skill-active'
)
{
if
(
isset
(
$data
[
'clbpara'
][
'skillpara'
][
$sk
][
'active'
]))
{
$tpvar
=
$data
[
'clbpara'
][
'skillpara'
][
$sk
][
'active'
];
$tpdesc
=
$tpvar
?
"<span class='clan'>【技能效果已启用】</span>"
:
"<span class='grey'>【技能效果已关闭】</span>"
;
$sk_desc
=
str_replace
(
"[^"
.
$pvar
.
"^]"
,
$tpdesc
,
$sk_desc
);
}
}
elseif
(
strpos
(
$pvar
,
'skillpara'
)
!==
false
)
{
# 格式化置换条件对应的置换内容
$skey_value
=
parse_skillrules
(
$pvar
);
$skey_value
=
eval
(
"return
$skey_value
;"
);
# 置换对应内容
$sk_desc
=
str_replace
(
"[:
{
$pvar
}
:]"
,
$skey_value
,
$sk_desc
);
}
else
{
if
(
isset
(
$data
[
$pvar
]))
...
...
include/game/revclubskills_extra.func.php
View file @
4a50713a
...
...
@@ -6,7 +6,7 @@
# 新社团技能 - 特殊社团技能处理:
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
# 「百战」技能判定
function
skill_c1_veteran_act
(
$choice
)
...
...
@@ -50,7 +50,7 @@
$log
.=
"无法重复解锁。<br>"
;
return
;
}
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
//
include_once GAME_ROOT.'./include/game/revclubskills.func.php';
set_skillpara
(
$csk
,
'active'
,
1
,
$pdata
[
'clbpara'
]);
set_skillpara
(
get_skillvars
(
$csk
,
'disableskill'
),
'disable'
,
1
,
$pdata
[
'clbpara'
]);
$log
.=
"<span class='yellow'>已解锁技能「
{
$cskills
[
$csk
][
'name'
]
}
」!</span><br>"
;
...
...
@@ -61,13 +61,14 @@
function
skill_tl_cstick_act
(
&
$edata
)
{
global
$log
,
$pdata
,
$cskills
;
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
//
include_once GAME_ROOT.'./include/game/revclubskills.func.php';
$lock
=
check_skill_unlock
(
'tl_cstick'
,
$pdata
);
if
(
!
$lock
)
{
# 扣除怒气
$pdata
[
'rage'
]
-=
get_skillvars
(
'tl_cstick'
,
'ragecost'
);
addnews
(
$now
,
'bsk_tl_cstick'
,
$pdata
[
'name'
],
$edata
[
'name'
]);
addnews
(
$now
,
'bsk_tl_cstick'
,
$pdata
[
'name'
],
$edata
[
'name'
]
.
'的尸体'
);
addnews
(
$now
,
'cstick'
,
$pdata
[
'name'
],
$edata
[
'name'
]
.
'的尸体'
);
# 炼到了不该炼的尸体
if
(
in_array
(
$edata
[
'type'
],
get_skillvars
(
'tl_cstick'
,
'notype'
)))
{
...
...
@@ -82,6 +83,7 @@
$pdata
[
'itmk0'
]
=
'WP'
;
$pdata
[
'itme0'
]
=
round
(
$edata
[
'msp'
]);
$pdata
[
'itms0'
]
=
round
(
$edata
[
'mhp'
]);
$pdata
[
'itmsk0'
]
=
''
;
$dice
=
diceroll
(
99
);
$N_obbs
=
pow
(
$edata
[
'lvl'
],
1.3
);
$z_obbs
=
!
$edata
[
'type'
]
?
pow
(
$edata
[
'lvl'
],
1.3
)
:
pow
(
$edata
[
'lvl'
],
1.15
);
...
...
include/game/revcombat.func.php
View file @
4a50713a
...
...
@@ -3,7 +3,7 @@
if
(
!
defined
(
'IN_GAME'
))
{
exit
(
'Access Denied'
);
}
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
include_once
GAME_ROOT
.
'./include/game/attr.func.php'
;
include_once
GAME_ROOT
.
'./include/game/revattr.func.php'
;
include_once
GAME_ROOT
.
'./include/game/combat.func.php'
;
...
...
@@ -674,7 +674,7 @@
}
//获取最终伤害的定值变化(伤害制御、剔透)
$fin_damage_fix
=
get_final_dmg_fix
(
$pa
,
$pd
,
$active
,
$damage
);
if
(
$fin_damage_fix
>
0
)
if
(
$fin_damage_fix
!=
$damage
)
{
$o_damage
=
$damage
;
$damage
=
$fin_damage_fix
;
...
...
include/game/search.func.php
View file @
4a50713a
...
...
@@ -628,7 +628,7 @@ function discover($schmode = 0) {
//include_once GAME_ROOT.'./include/game/clubskills.func.php';
//$active_r *= get_clubskill_bonus_active($club,$skills,$edata['club'],$edata['skills']);
//if ($active_r>96) $active_r=96;
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
include_once
GAME_ROOT
.
'./include/game/revbattle.func.php'
;
include_once
GAME_ROOT
.
'./include/game/revattr.func.php'
;
//获取并保存当前玩家数据
...
...
include/global.func.php
View file @
4a50713a
...
...
@@ -574,13 +574,13 @@ function parse_info_desc($info,$type,$vars='',$short=0)
# 处理名字
if
(
$type
==
'm'
)
{
$tinfo
=
preg_replace
(
'/锋利的|电气|毒性|\[\+.*\]|-改/'
,
''
,
$info
)
;
if
(
isset
(
$tps_name
[
$tinfo
])
&&
isset
(
$tps_names
[
$tps_name
[
$tinfo
]]))
$tinfo
=
!
isset
(
$tps_name
[
$info
])
&&
!
isset
(
$tps_names
[
$info
])
?
preg_replace
(
'/锋利的|电气|毒性|\[\+.*\]|-改/'
,
''
,
$info
)
:
$info
;
if
(
isset
(
$tps_name
[
$tinfo
])
&&
!
is_array
(
$tps_name
[
$tinfo
])
&&
isset
(
$tps_names
[
$tps_name
[
$tinfo
]]))
{
$ts
=
$tps_names
[
$tps_name
[
$tinfo
]];
$tinfo_f
=
isset
(
$ts
[
'class'
])
?
"class=
\"
{
$ts
[
'class'
]
}
\"
"
:
''
;
$tinfo_tp
=
isset
(
$ts
[
'title'
])
?
"tooltip=
\"
{
$ts
[
'title'
]
}
\"
"
:
''
;
return
"<span
{
$tinfo_tp
}
{
$tinfo_f
}
>
{
$
t
info
}
</span>"
;
return
"<span
{
$tinfo_tp
}
{
$tinfo_f
}
>
{
$info
}
</span>"
;
}
elseif
(
isset
(
$tps_name
[
$tinfo
]))
{
...
...
@@ -611,7 +611,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
# 处理属性
if
(
$type
==
'sk'
)
{
$ret
=
'-
^
-'
;
$ret
=
'--'
;
# 处理该数量以上的属性时,将属性格式变为+...+的缩写
$short_nums
=
4
;
# 技能书特殊处理
...
...
@@ -631,7 +631,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
if
(
!
is_array
(
$info
))
$info
=
get_itmsk_array
(
$info
);
# 计数
$sk_max
=
count
(
$info
);
$sk_nums
=
0
;
$sk_info
=
''
;
$sk_info
=
''
;
$sk_tp
=
''
;
foreach
(
$info
as
$sk
)
{
$csk
=
$itemspkinfo
[
$sk
];
...
...
include/news.func.php
View file @
4a50713a
...
...
@@ -250,6 +250,8 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>神北 小毬许愿复活</span><br>
\n
"
;
}
elseif
(
$news
==
'delcp'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
red
\"
>
{
$a
}
的尸体被时空特使别动队销毁了</span><br>
\n
"
;
}
elseif
(
$news
==
'cstick'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
red
\"
>
{
$a
}
把
{
$b
}
作为武器抡了起来!哇……这可真是……</span><br>
\n
"
;
}
elseif
(
$news
==
'editpc'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
red
\"
>
{
$a
}
遭到了黑幕的生化改造!</span><br>
\n
"
;
}
elseif
(
$news
==
'suisidefail'
)
{
...
...
include/state.func.php
View file @
4a50713a
...
...
@@ -228,7 +228,7 @@ function kill($death, $dname, $dtype = 0, $dpid = 0, $annex = '', &$revival_flag
//依次判定复活效果
if
(
!
$revival_flag
&&
$weather
==
17
)
{
include_once
GAME_ROOT
.
'./include/game/dice.func.php'
;
//
include_once GAME_ROOT.'./include/game/dice.func.php';
$aurora_rate
=
$dtype
?
1
:
10
;
//NPC概率1% 玩家概率10%
$aurora_dice
=
diceroll
(
100
);
if
(
$aurora_dice
<=
$aurora_rate
)
...
...
include/system.func.php
View file @
4a50713a
...
...
@@ -112,6 +112,32 @@ 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所在位置
global
$hidding_typelist
,
$deepzones
;
//女主不会刷新在危险区域
...
...
@@ -126,6 +152,7 @@ function rs_game($mode = 0) {
do
{
$rpls
=
rand
(
1
,
$plsnum
-
1
);}
while
(
$rpls
==
34
);
}
if
(
$npc
[
'pls'
]
==
99
){
$npc
[
'pls'
]
=
$rpls
;
}
$npc
[
'state'
]
=
0
;
$npc
=
player_format_with_db_structure
(
$npc
);
$db
->
array_insert
(
"
{
$tablepre
}
players"
,
$npc
);
...
...
templates/default/skill_c1_veteran.htm
View file @
4a50713a
...
...
@@ -3,8 +3,8 @@
<span>
百战
</span>
</td>
<td>
<!--{eval $unlock_c1_veteran_flag = check_skill_unlock('c1_veteran',$
p
data);}-->
<!--{eval $para = get_clbpara($
p
data['clbpara']); $nchoice = $para['skillpara']['c1_veteran']['choice'];}-->
<!--{eval $unlock_c1_veteran_flag = check_skill_unlock('c1_veteran',$
ui
data);}-->
<!--{eval $para = get_clbpara($
ui
data['clbpara']); $nchoice = $para['skillpara']['c1_veteran']['choice'];}-->
<!--{if $unlock_c1_veteran_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"
>
...
...
templates/default/skill_c3_enchant.htm
0 → 100644
View file @
4a50713a
<!-- 注意:大部分技能可以直接通过编辑配置文件完成 -->
<!-- 可能的、需要新建模板的情况:你的技能需要在面板内执行比较复杂的、单靠配置文件无法实现的操作 -->
<tr>
<td
class=
"b1"
width=
"40"
>
<span>
{$cskills['c3_enchant']['name']}
</span>
</td>
<td>
<!-- ↓↓↓ 存在解锁条件的技能才需要有这一部分 ↓↓↓ -->
<!--{eval $unlock_c3_enchant_flag = check_skill_unlock('c3_enchant',$uidata);}-->
<!--{if $unlock_c3_enchant_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 $c3_enchant_desc = parse_skilldesc('c3_enchant',$uidata);}-->
{$c3_enchant_desc}
<span
style=
"height:4px; display:block;"
>
</span>
<span
class=
"grey"
>
<!--{eval $c3_counts = 0;$exdmgarr = get_skillvars('c3_enchant','exdmgarr');}-->
<!--{loop get_skillvars('c3_enchant','exdmgdesc') $ex $exdesc}-->
<!--{eval $ex_r = get_skillpara('c3_enchant',$exdmgarr[$ex],$uidata['clbpara']);}-->
{$exdesc}:+{$ex_r}%;
<!--{if $c3_counts == 2}-->
<br>
<!--{/if}-->
<!--{eval $c3_counts++;}-->
<!--{/loop}-->
</span>
</span>
</td>
<td
class=
"skilldesc_right b3"
>
</td>
</tr>
</table>
<!-- ↓↓↓ 存在解锁条件的技能才需要有这一部分 ↓↓↓ -->
<!--{if $unlock_c3_enchant_flag}-->
</div>
<div
class=
"skill_unacquired_hint"
>
<table
class=
"skilltable"
>
<tr>
<td
valign=
"center"
align=
"center"
>
<span
class=
"yellow"
>
<!-- 未满足解锁条件时显示的文本,自己填或使用下面的方式 -->
<!--{eval $c3_enchant_lockdesc = $cskills['c3_enchant']['lockdesc'][$unlock_c3_enchant_flag];}-->
$c3_enchant_lockdesc
</span>
</td>
</tr>
</table>
</div>
</div>
<!--{/if}-->
<!-- ↑↑↑ 存在解锁条件的技能才需要有这一部分 ↑↑↑ -->
</td>
</tr>
\ No newline at end of file
templates/default/skill_c4_roar.htm
View file @
4a50713a
...
...
@@ -5,7 +5,7 @@
<span>
{$cskills['c4_roar']['name']}
</span>
</td>
<td>
<!--{eval $unlock_c4_roar_flag = check_skill_unlock('c4_roar',$
p
data);}-->
<!--{eval $unlock_c4_roar_flag = check_skill_unlock('c4_roar',$
ui
data);}-->
<!--{if $unlock_c4_roar_flag}-->
<div
style=
"position:relative; height:100%; width:100%;"
onmouseover=
"skill_unacquired_mouseover.call(this,event)"
onmouseout=
"skill_unacquired_mouseout.call(this,event)"
>
<div
class=
"skill_unacquired"
>
...
...
@@ -14,7 +14,7 @@
<tr>
<td
class=
"skilldesc_left b3"
>
<span
class=
"skilldesc"
>
<!--{eval $c4_roar_desc = parse_skilldesc('c4_roar',$
p
data);}-->
<!--{eval $c4_roar_desc = parse_skilldesc('c4_roar',$
ui
data);}-->
$c4_roar_desc
</span>
</td>
...
...
templates/default/skill_c4_sniper.htm
View file @
4a50713a
...
...
@@ -5,7 +5,7 @@
<span>
{$cskills['c4_sniper']['name']}
</span>
</td>
<td>
<!--{eval $unlock_c4_sniper_flag = check_skill_unlock('c4_sniper',$
p
data);}-->
<!--{eval $unlock_c4_sniper_flag = check_skill_unlock('c4_sniper',$
ui
data);}-->
<!--{if $unlock_c4_sniper_flag}-->
<div
style=
"position:relative; height:100%; width:100%;"
onmouseover=
"skill_unacquired_mouseover.call(this,event)"
onmouseout=
"skill_unacquired_mouseout.call(this,event)"
>
<div
class=
"skill_unacquired"
>
...
...
@@ -14,7 +14,7 @@
<tr>
<td
class=
"skilldesc_left b3"
>
<span
class=
"skilldesc"
>
<!--{eval $c4_sniper_desc = parse_skilldesc('c4_sniper',$
p
data);}-->
<!--{eval $c4_sniper_desc = parse_skilldesc('c4_sniper',$
ui
data);}-->
$c4_sniper_desc
</span>
</td>
...
...
templates/default/skill_sample/skill_技能编号.htm
View file @
4a50713a
...
...
@@ -6,7 +6,7 @@
</td>
<td>
<!-- ↓↓↓ 存在解锁条件的技能才需要有这一部分 ↓↓↓ -->
<!--{eval $unlock_技能编号_flag = check_skill_unlock('技能编号',$
p
data);}-->
<!--{eval $unlock_技能编号_flag = check_skill_unlock('技能编号',$
ui
data);}-->
<!--{if $unlock_技能编号_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"
>
...
...
@@ -17,7 +17,7 @@
<td
class=
"skilldesc_left b3"
>
<span
class=
"skilldesc"
>
<!-- 技能介绍,自己填任意内容或使用下面的方式 -->
<!--{eval $技能编号_desc = parse_skilldesc('技能编号',$
p
data);}-->
<!--{eval $技能编号_desc = parse_skilldesc('技能编号',$
ui
data);}-->
$技能编号_desc
</span>
</td>
...
...
templates/default/skillpage.htm
View file @
4a50713a
<dialog
id=
"skillpage"
style=
"width: 568px; max-width: 90%;max-height: 80%;"
>
<p
style=
"margin-left:0px; margin-top:0px; margin-right:0px; margin-bottom:0px;"
>
<!--{if !empty($pdata['clbpara']['skill'])}-->
<!--{eval $uidata = $pdata;}-->
<!--{if !empty($uidata['clbpara']['skill'])}-->
你目前有
<span
class=
"lime b"
>
$skillpoint
</span>
点技能点供自由分配,升级时可以获取新的技能点。
<br>
以下是你的技能列表。
<br><br>
...
...
@@ -16,7 +17,7 @@
</td>
</tr>
<!--{loop $clbpara['skill'] $sknm}-->
<!--{eval $skdata = init_clubskillsdata($sknm,$
p
data);}-->
<!--{eval $skdata = init_clubskillsdata($sknm,$
ui
data);}-->
<!--{if is_array($skdata)}-->
<!--{eval include template($skdata[0]);}-->
<!--{elseif !empty($skdata)}-->
...
...
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