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
bc2993c5
Commit
bc2993c5
authored
Mar 07, 2023
by
Nemo Ma
Committed by
GitHub
Mar 07, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #49 from hikawiier/waaagh
Update wtf
parents
c8b3375b
85b0e85d
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
491 additions
and
282 deletions
+491
-282
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+19
-0
gamedata/cache/resources_1.php
gamedata/cache/resources_1.php
+6
-5
gamedata/cache/shopitem_1.php
gamedata/cache/shopitem_1.php
+1
-0
gamedata/sql/reset.sql
gamedata/sql/reset.sql
+10
-10
gamedata/sql/shopitem.sql
gamedata/sql/shopitem.sql
+4
-4
help.php
help.php
+25
-20
include/admin/vnmixlist.php
include/admin/vnmixlist.php
+4
-3
include/game.func.php
include/game.func.php
+36
-46
include/game/battle.func.php
include/game/battle.func.php
+47
-2
include/game/item.func.php
include/game/item.func.php
+30
-7
include/game/itemmain.func.php
include/game/itemmain.func.php
+9
-0
include/game/itemplace.func.php
include/game/itemplace.func.php
+24
-82
include/game/revclubskills.func.php
include/game/revclubskills.func.php
+3
-2
include/game/revclubskills_extra.func.php
include/game/revclubskills_extra.func.php
+60
-2
include/game/special.func.php
include/game/special.func.php
+7
-5
include/global.func.php
include/global.func.php
+117
-17
include/news.func.php
include/news.func.php
+14
-10
templates/default/corpse.htm
templates/default/corpse.htm
+3
-0
templates/default/help.htm
templates/default/help.htm
+63
-63
vnworld.php
vnworld.php
+9
-4
No files found.
gamedata/cache/clubskills_1.php
View file @
bc2993c5
...
...
@@ -564,6 +564,25 @@ $cskills = Array
'wepk+wep_kind'
=>
"[:wepk:] == 'WG' || [:wepk:] == 'WJ' || [:wepk:] == 'WGK' || [:wepk:] == 'WDG' || [:wep_kind:] == 'G' || [:wep_kind:] == 'J'"
,
),
),
'tl_cstick'
=>
Array
(
'name'
=>
'抡尸'
,
'tags'
=>
Array
(
'passive'
),
'desc'
=>
'发现尸体时,可消耗<span class="red">[:ragecost:]</span>点怒气将尸体作为<span class="yellow">殴系武器</span>拔出。<br>
武器的<span class="yellow">效耐</span>取决于尸体的<span class="yellow">最大生命</span>与<span class="yellow">体力</span>,上限为<span class="red">[:limit:]</span>点。<br>
优秀的尸源有概率为武器附加<span class="yellow">冲击</span>与<span class="yellow">精英</span>属性'
,
'vars'
=>
Array
(
'ragecost'
=>
100
,
'limit'
=>
2000
,
'notype'
=>
Array
(
88
,
92
),
//不能用来抡的NPC
),
'lockdesc'
=>
Array
(
'rage'
=>
'怒气不足,需要<span class="red">100</span>点怒气才能使用'
,
),
'unlock'
=>
Array
(
'rage'
=>
'[:rage:] > 100'
,
),
),
'inf_dizzy'
=>
Array
(
'name'
=>
'眩晕'
,
...
...
gamedata/cache/resources_1.php
View file @
bc2993c5
...
...
@@ -957,6 +957,7 @@ $iteminfo = Array(//注意顺序,AB必须在A的前面,以此类推
'U'
=>
'扫雷设备'
,
'V'
=>
'技能书籍'
,
'VV'
=>
'技能书籍'
,
'VS'
=>
'技能书'
,
'WN'
=>
'空手'
,
#空手
'WGK'
=>
'枪刃'
,
#射+斩
'WCF'
=>
'符札'
,
#投+符
...
...
@@ -1039,7 +1040,7 @@ $itemspkinfo = Array(
'^'
=>
'背包'
,
);
$
iteminfo_tooltip_desc
=
Array
$
tps_names
=
Array
(
# 用于记录一些内容重复但来源不同的描述
# 不能改善性能,但是可以保护视力与腱鞘?……大概吧
...
...
@@ -1059,7 +1060,7 @@ $iteminfo_tooltip_desc = Array
99
=>
Array
(
'title'
=>
"……这、这是什么?!"
),
);
$
iteminfo_tooltip
=
Array
$
tps_name
=
Array
(
# 强化道具
'钉'
=>
3
,
'钢钉'
=>
3
,
'艾莲娜的圣钉'
=>
3
,
'埃克法-冰凌-钉'
=>
3
,
...
...
@@ -1085,13 +1086,13 @@ $iteminfo_tooltip = Array
'「曳光」'
=>
1
,
'「人生重来箱」'
=>
1
,
'「菁英宅之怒」'
=>
1
,
'闭锁世界的冥神 L5'
=>
1
,
'铁兽式强袭机动兵装改牛头伯劳2 L5'
=>
1
,
'防火龙·暗流体 L5'
=>
1
,
'前托枪管龙 L5'
=>
1
,
'电子界到临者@火灵天星 L6'
=>
1
,
'「活跃迎春曲」'
=>
1
,
'「飘落」'
=>
1
,
'「明动」'
=>
1
,
'「正午高阳」'
=>
1
,
'神灭兵器-天霆号扼宙斯 ☆12'
=>
1
,
'「碧海船歌」'
=>
1
,
'「翼展」'
=>
1
,
'「安谧」'
=>
1
,
'「午前许愿」'
=>
1
,
'神之圣剑'
=>
1
,
'「龙怒」'
=>
1
,
'「升天」'
=>
1
,
'「宁静」'
=>
1
,
'「清晨恩典」'
=>
1
,
'神之棍棒'
=>
1
,
'「午前许愿」'
=>
1
,
'神之圣剑'
=>
1
,
'「
金霜协奏曲」'
=>
1
,
'「
龙怒」'
=>
1
,
'「升天」'
=>
1
,
'「宁静」'
=>
1
,
'「清晨恩典」'
=>
1
,
'神之棍棒'
=>
1
,
# 福袋SSR
'随机数之神的棍棒'
=>
2
,
'随机数之神的圣剑'
=>
2
,
'随机数之神的泪水'
=>
2
,
'随机数之神的神力'
=>
2
,
'随机数之神的震撼'
=>
2
,
'随机数之神的摄理'
=>
2
,
'随机数之神的恶戏'
=>
2
,
);
$
itemkinfo_tooltip
=
Array
$
tps_ik
=
Array
(
'Ag'
=>
Array
(
'title'
=>
"可能带有同志属性"
,),
'Al'
=>
Array
(
'title'
=>
"可能带有热恋属性"
,),
...
...
@@ -1149,7 +1150,7 @@ $itemkinfo_tooltip = Array
'ZA'
=>
Array
(
'class'
=>
'neonyellow'
,
'title'
=>
"这个物品中似乎含有让你可以独自脱离幻境的方法……"
,),
);
$
itemspkinfo_tooltip
=
Array
$
tps_isk
=
Array
(
'A'
=>
Array
(
'title'
=>
"高概率将殴斩射投爆灵六系对你的伤害减半。"
,),
//测试用
'a'
=>
Array
(
'title'
=>
"高概率将毒火冻电乱音以及爆炸对你的伤害减半。并避免异常状态。"
,),
//测试用
...
...
gamedata/cache/shopitem_1.php
View file @
bc2993c5
...
...
@@ -111,6 +111,7 @@
10,3,300,0,《投系指南》,VC,30,1,,
10,3,300,0,《爆系指南》,VD,30,1,,
10,3,300,0,《灵系指南》,VF,30,1,,
10,10,4444,0,《黑暗兵法·素材复用之卷》,VS,1,1,tl_cstick,
10,10,3800,0,《小黄的收服特训》,X,1,1,,
10,10,7000,0,《寻星流奥义书》,VK,300,1,,
10,10,5500,0,《小黄的常磐之力》,VC,300,1,,
...
...
gamedata/sql/reset.sql
View file @
bc2993c5
...
...
@@ -41,10 +41,10 @@ DROP TABLE IF EXISTS bra_mapitem;
CREATE
TABLE
bra_mapitem
(
iid
mediumint
unsigned
NOT
NULL
auto_increment
,
itm
char
(
30
)
NOT
NULL
default
''
,
itmk
char
(
5
)
not
null
default
''
,
itme
mediumint
unsigned
NOT
NULL
default
'0'
,
itms
char
(
5
)
not
null
default
'0'
,
itmsk
char
(
5
)
not
null
default
''
,
itmk
char
(
40
)
not
null
default
''
,
itme
int
(
10
)
unsigned
NOT
NULL
DEFAULT
'0'
,
itms
char
(
10
)
not
null
default
'0'
,
itmsk
char
(
40
)
not
null
default
''
,
pls
tinyint
unsigned
not
null
default
'0'
,
PRIMARY
KEY
(
iid
)
...
...
@@ -59,10 +59,10 @@ DROP TABLE IF EXISTS bra_maptrap;
CREATE
TABLE
bra_maptrap
(
tid
mediumint
unsigned
NOT
NULL
auto_increment
,
itm
char
(
30
)
NOT
NULL
default
''
,
itmk
char
(
5
)
not
null
default
''
,
itme
smallint
unsigned
NOT
NULL
default
'0'
,
itms
char
(
5
)
not
null
default
'0'
,
itmsk
char
(
5
)
not
null
default
''
,
itmk
char
(
40
)
not
null
default
''
,
itme
int
(
10
)
unsigned
NOT
NULL
DEFAULT
'0'
,
itms
char
(
10
)
not
null
default
'0'
,
itmsk
char
(
40
)
not
null
default
''
,
pls
tinyint
unsigned
not
null
default
'0'
,
PRIMARY
KEY
(
tid
)
...
...
@@ -115,9 +115,9 @@ DROP TABLE IF EXISTS bra_itemdepot;
CREATE
TABLE
bra_itemdepot
(
iid
mediumint
unsigned
NOT
NULL
auto_increment
,
itm
varchar
(
30
)
NOT
NULL
default
''
,
itmk
varchar
(
15
)
not
null
default
''
,
itmk
varchar
(
40
)
not
null
default
''
,
itme
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
itms
var
char
(
10
)
not
null
default
'0'
,
itms
char
(
10
)
not
null
default
'0'
,
itmsk
varchar
(
40
)
not
null
default
''
,
itmowner
char
(
15
)
NOT
NULL
DEFAULT
''
,
itmpw
char
(
5
)
NOT
NULL
DEFAULT
''
,
...
...
gamedata/sql/shopitem.sql
View file @
bc2993c5
...
...
@@ -10,10 +10,10 @@ CREATE TABLE bra_shopitem (
price
smallint
unsigned
NOT
NULL
default
'0'
,
area
tinyint
unsigned
NOT
NULL
default
'0'
,
item
char
(
30
)
NOT
NULL
default
''
,
itmk
char
(
5
)
NOT
NULL
default
''
,
itme
smallint
unsigned
NOT
NULL
default
'0'
,
itms
char
(
5
)
NOT
NULL
default
'0'
,
itmsk
char
(
5
)
NOT
NULL
default
''
,
itmk
char
(
40
)
not
null
default
''
,
itme
int
(
10
)
unsigned
NOT
NULL
DEFAULT
'0'
,
itms
char
(
10
)
not
null
default
'0'
,
itmsk
char
(
40
)
not
null
default
''
,
PRIMARY
KEY
(
sid
),
INDEX
KIND
(
kind
,
area
)
...
...
help.php
View file @
bc2993c5
...
...
@@ -62,14 +62,7 @@ if(filemtime($vnmixfile) > filemtime($writefile) ||filemtime($mixfile) > filemti
foreach
(
$mixinfo
as
$mix
){
if
(
$mix
[
'class'
]
!==
'hidden'
){
//名字
$mix
[
'result'
][
0
]
=
parse_itm_desc
(
$mix
[
'result'
][
0
],
'm'
);
//类别
foreach
(
$iteminfo
as
$info_key
=>
$info_value
){
if
(
strpos
(
$mix
[
'result'
][
1
],
$info_key
)
===
0
){
$mixitmk
=
parse_itm_desc
(
$info_key
,
'k'
);
break
;
}
}
$mix
[
'result'
][
0
]
=
parse_info_desc
(
$mix
[
'result'
][
0
],
'm'
);
//属性
$mixitmsk
=
''
;
if
(
!
empty
(
$mix
[
'result'
][
4
])
&&
!
is_numeric
(
$mix
[
'result'
][
4
])){
...
...
@@ -80,13 +73,22 @@ if(filemtime($vnmixfile) > filemtime($writefile) ||filemtime($mixfile) > filemti
}
}
if(!empty($mixitmsk)){$mixitmsk = substr($mixitmsk,0,-1);}*/
$mix_sk
=
get_itmsk_array
(
$mix
[
'result'
][
4
]);
$mixitmsk
=
''
;
/*
$mix_sk = get_itmsk_array($mix['result'][4]); $mixitmsk = '';
foreach($mix_sk as $sk_value)
{
if(!empty($mixitmsk)) $mixitmsk .= '+'.parse_itm_desc($sk_value,'sk');
else $mixitmsk = parse_itm_desc($sk_value,'sk');
}
}*/
$mixitmsk
=
parse_info_desc
(
$mix
[
'result'
][
4
],
'sk'
,
$mix
[
'result'
][
1
]);
}
//类别
$mixitmk
=
parse_info_desc
(
$mix
[
'result'
][
1
],
'k'
);
/*foreach($iteminfo as $info_key => $info_value){
if(strpos($mix['result'][1],$info_key)===0){
$mixitmk = parse_itm_desc($info_key,'k');
break;
}
}*/
$mixitem
[
$mix
[
'class'
]][]
=
array
(
'stuff'
=>
$mix
[
'stuff'
],
'result'
=>
array
(
$mix
[
'result'
][
0
],
$mixitmk
,
$mix
[
'result'
][
2
],
$mix
[
'result'
][
3
],
$mixitmsk
));
}
}
...
...
@@ -166,24 +168,27 @@ if(filemtime($vnmixfile) > filemtime($writefile) ||filemtime($mixfile) > filemti
if
(
$mix
[
'class'
]
!==
'hidden'
)
{
//名字
$mix
[
'result'
][
0
]
=
parse_itm_desc
(
$mix
[
'result'
][
0
],
'm'
);
//类别
foreach
(
$iteminfo
as
$info_key
=>
$info_value
){
if
(
strpos
(
$mix
[
'result'
][
1
],
$info_key
)
===
0
){
$mixitmk
=
parse_itm_desc
(
$info_key
,
'k'
);
break
;
}
}
//$mix['result'][0] = parse_itm_desc($mix['result'][0],'m');
$mix
[
'result'
][
0
]
=
parse_info_desc
(
$mix
[
'result'
][
0
],
'm'
);
//属性
$mixitmsk
=
''
;
if
(
!
empty
(
$mix
[
'result'
][
4
])
&&
!
is_numeric
(
$mix
[
'result'
][
4
])){
$mix_sk
=
get_itmsk_array
(
$mix
[
'result'
][
4
]);
$mixitmsk
=
''
;
/*
$mix_sk = get_itmsk_array($mix['result'][4]); $mixitmsk = '';
foreach($mix_sk as $sk_value)
{
if(!empty($mixitmsk)) $mixitmsk .= '+'.parse_itm_desc($sk_value,'sk');
else $mixitmsk = parse_itm_desc($sk_value,'sk');
}
}*/
$mixitmsk
=
parse_info_desc
(
$mix
[
'result'
][
4
],
'sk'
,
$mix
[
'result'
][
1
]);
}
//类别
$mixitmk
=
parse_info_desc
(
$mix
[
'result'
][
1
],
'k'
);
/*foreach($iteminfo as $info_key => $info_value){
if(strpos($mix['result'][1],$info_key)===0){
$mixitmk = parse_itm_desc($info_key,'k');
break;
}
}*/
$vmixitem
[
$mix
[
'class'
]][]
=
array
(
'name'
=>
$mix
[
'name'
],
'stuff'
=>
$mix
[
'stuff'
],
'result'
=>
array
(
$mix
[
'result'
][
0
],
$mixitmk
,
$mix
[
'result'
][
2
],
$mix
[
'result'
][
3
],
$mixitmsk
));
}
}
...
...
include/admin/vnmixlist.php
View file @
bc2993c5
...
...
@@ -34,13 +34,14 @@ if(file_exists($cache_file))
$sk_arr
=
Array
();
if
(
!
empty
(
$vn_info
[
4
]))
{
$sk_arr
=
get_itmsk_array
(
$vn_info
[
4
]);
//
$sk_arr = get_itmsk_array($vn_info[4]);
$temp_mixinfo
[
$vn_key
][
$vn_type
][
4
]
=
''
;
foreach
(
$sk_arr
as
$sk_value
)
$temp_mixinfo
[
$vn_key
][
$vn_type
][
4
]
=
parse_info_desc
(
$vn_info
[
4
],
'sk'
,
$vn_info
[
1
]);
/*foreach($sk_arr as $sk_value)
{
if(!empty($temp_mixinfo[$vn_key][$vn_type][4])) $temp_mixinfo[$vn_key][$vn_type][4] .= '+'.parse_itm_desc($sk_value,'sk');
else $temp_mixinfo[$vn_key][$vn_type][4] = parse_itm_desc($sk_value,'sk');
}
}
*/
}
}
}
...
...
include/game.func.php
View file @
bc2993c5
...
...
@@ -42,52 +42,42 @@ function init_profile(){
foreach
(
Array
(
'wep'
,
'arb'
,
'arh'
,
'ara'
,
'arf'
,
'art'
,
'itm0'
,
'itm1'
,
'itm2'
,
'itm3'
,
'itm4'
,
'itm5'
,
'itm6'
)
as
$value
)
{
global
$
{
$value
.
'_words'
};
$
{
$value
.
'_words'
}
=
parse_itm_desc
(
${$value}
,
'm'
);
}
foreach
(
Array
(
'wepk'
,
'arbk'
,
'arhk'
,
'arak'
,
'arfk'
,
'artk'
,
'itmk0'
,
'itmk1'
,
'itmk2'
,
'itmk3'
,
'itmk4'
,
'itmk5'
,
'itmk6'
)
as
$k_value
)
{
if
(
${$k_value}
)
if
(
strpos
(
$value
,
'itm'
)
!==
false
)
{
$
{
$k_value
.
'_words'
}
=
''
;
foreach
(
$iteminfo
as
$info_key
=>
$info_value
)
{
if
(
strpos
(
${$k_value}
,
$info_key
)
===
0
){
$
{
$k_value
.
'_words'
}
=
parse_itm_desc
(
$info_key
,
'k'
);
break
;
}
}
}
else
{
$
{
$k_value
.
'_words'
}
=
''
;
$k_value
=
str_replace
(
'itm'
,
'itmk'
,
$value
);
$s_value
=
str_replace
(
'itm'
,
'itms'
,
$value
);
$sk_value
=
str_replace
(
'itm'
,
'itmsk'
,
$value
);
}
}
foreach
(
Array
(
'wepsk'
,
'arbsk'
,
'arhsk'
,
'arask'
,
'arfsk'
,
'artsk'
,
'itmsk0'
,
'itmsk1'
,
'itmsk2'
,
'itmsk3'
,
'itmsk4'
,
'itmsk5'
,
'itmsk6'
)
as
$sk_value
)
{
if
(
${$sk_value}
&&
is_numeric
(
${$sk_value}
)
===
false
){
$
{
$sk_value
.
'_words'
}
=
''
;
//取我数组斧来
$tmpsk
=
get_itmsk_array
(
${$sk_value}
);
if
(
count
(
$tmpsk
)
>
3
)
else
{
$k_value
=
$value
.
'k'
;
$s_value
=
$value
.
's'
;
$sk_value
=
$value
.
'sk'
;
}
global
$$s_value
;
if
(
!
empty
(
$$s_value
))
{
global
$
{
$value
.
'_words'
};
# 初始化名称样式
$
{
$value
.
'_words'
}
=
parse_info_desc
(
$$value
,
'm'
);
# 初始化类别样式
if
(
${$k_value}
)
{
$
{
$k_value
.
'_words'
}
=
parse_info_desc
(
$$k_value
,
'k'
);
}
else
{
//在装备、道具栏内的道具超过3个属性时,显示为+...+的缩写……不然属性多起来太丑了!!
$
{
$sk_value
.
'_words'
}
=
parse_itm_desc
(
$tmpsk
,
'sk'
,
1
);
$
{
$k_value
.
'_words'
}
=
''
;
}
# 初始化属性样式
if
(
${$sk_value}
&&
is_numeric
(
${$sk_value}
)
===
false
)
{
$
{
$sk_value
.
'_words'
}
=
parse_info_desc
(
$$sk_value
,
'sk'
,
$$k_value
,
1
);
}
else
{
foreach
(
$tmpsk
as
$sk
)
{
if
(
!
empty
(
$
{
$sk_value
.
'_words'
}))
{
$
{
$sk_value
.
'_words'
}
.=
"+"
.
parse_itm_desc
(
$sk
,
'sk'
);
}
else
{
$
{
$sk_value
.
'_words'
}
=
parse_itm_desc
(
$sk
,
'sk'
);
}
}
$
{
$sk_value
.
'_words'
}
=
$nospk
;
}
}
else
{
$
{
$sk_value
.
'_words'
}
=
$nospk
;
}
}
...
...
@@ -224,18 +214,18 @@ function init_battle($ismeet = 0){
//在战斗界面中加载敌我双方武器tooltip
global
$wep_words
,
$wepk_words
,
$w_wep_words
,
$w_wepk_words
;
$wep_words
=
parse_i
tm_desc
(
$wep
,
'm'
);
$wepk_words
=
parse_itm
_desc
(
$wepk
,
'k'
);
$wep_words
=
parse_i
nfo_desc
(
$wep
,
'm'
);
$wepk_words
=
parse_info
_desc
(
$wepk
,
'k'
);
if
(
!
$fog
||
$ismeet
)
{
//非雾天显示敌人武器情报
$w_wep_words
=
parse_i
tm
_desc
(
$w_wep
,
'm'
);
$w_wepk_words
=
parse_i
tm
_desc
(
$w_wepk
,
'k'
);
$w_wep_words
=
parse_i
nfo
_desc
(
$w_wep
,
'm'
);
$w_wepk_words
=
parse_i
nfo
_desc
(
$w_wepk
,
'k'
);
//如果有的话 初始化第三方武器情报
if
(
isset
(
$n_type
))
{
global
$n_wep_words
,
$n_wepk_words
,
$n_iconImg
;
$n_iconImg
=
$n_type
?
'n_'
.
$n_icon
.
'.gif'
:
$n_gd
.
'_'
.
$n_icon
.
'.gif'
;
$n_wep_words
=
parse_i
tm
_desc
(
$n_wep
,
'm'
);
$n_wepk_words
=
parse_i
tm
_desc
(
$n_wepk
,
'k'
);
$n_wep_words
=
parse_i
nfo
_desc
(
$n_wep
,
'm'
);
$n_wepk_words
=
parse_i
nfo
_desc
(
$n_wepk
,
'k'
);
}
$w_sNoinfo
=
"
$typeinfo[$w_type]({$sexinfo[$w_gd]
}
{
$w_sNo
}
号)"
;
$w_i
=
$w_type
>
0
?
'n'
:
$w_gd
;
...
...
@@ -364,8 +354,8 @@ function init_rev_battle($ismeet = 0)
$
{
$p
.
'wepestate'
}
=
"
$wepeinfo[0]
"
;
}
//更新武器名、武器类别情报
$
{
$p
.
'wep_words'
}
=
parse_i
tm
_desc
(
$
{
$p
.
'wep'
},
'm'
);
$
{
$p
.
'wepk_words'
}
=
parse_i
tm
_desc
(
$
{
$p
.
'wepk'
},
'k'
);
$
{
$p
.
'wep_words'
}
=
parse_i
nfo
_desc
(
$
{
$p
.
'wep'
},
'm'
);
$
{
$p
.
'wepk_words'
}
=
parse_i
nfo
_desc
(
$
{
$p
.
'wepk'
},
'k'
);
//更新编号情报
$
{
$p
.
'sNoinfo'
}
=
$typeinfo
[
$
{
$p
.
'type'
}]
.
"("
.
$sexinfo
[
$
{
$p
.
'gd'
}]
.
$
{
$p
.
'sNo'
}
.
"号)"
;
//更新头像情报
...
...
include/game/battle.func.php
View file @
bc2993c5
...
...
@@ -112,7 +112,46 @@ function findcorpse(&$w_pdata){
{
$main
=
'battle'
;
$log
.=
'你发现了<span class="red">'
.
$w_name
.
'</span>的尸体!<br>'
;
foreach
(
Array
(
'wep'
,
'arb'
,
'arh'
,
'ara'
,
'arf'
,
'art'
,
'itm0'
,
'itm1'
,
'itm2'
,
'itm3'
,
'itm4'
,
'itm5'
,
'itm6'
)
as
$w_value
)
foreach
(
Array
(
'wep'
,
'arb'
,
'arh'
,
'ara'
,
'arf'
,
'art'
,
'itm0'
,
'itm1'
,
'itm2'
,
'itm3'
,
'itm4'
,
'itm5'
,
'itm6'
)
as
$value
)
{
$value
=
'w_'
.
$value
;
if
(
strpos
(
$value
,
'itm'
)
!==
false
)
{
$k_value
=
str_replace
(
'itm'
,
'itmk'
,
$value
);
$s_value
=
str_replace
(
'itm'
,
'itms'
,
$value
);
$sk_value
=
str_replace
(
'itm'
,
'itmsk'
,
$value
);
}
else
{
$k_value
=
$value
.
'k'
;
$s_value
=
$value
.
's'
;
$sk_value
=
$value
.
'sk'
;
}
if
(
!
empty
(
$$s_value
))
{
# 初始化名称样式
$
{
$value
.
'_words'
}
=
parse_info_desc
(
$$value
,
'm'
);
# 初始化类别样式
if
(
${$k_value}
)
{
$
{
$k_value
.
'_words'
}
=
parse_info_desc
(
$$k_value
,
'k'
);
}
else
{
$
{
$k_value
.
'_words'
}
=
''
;
}
# 初始化属性样式
if
(
${$sk_value}
&&
is_numeric
(
${$sk_value}
)
===
false
)
{
$
{
$sk_value
.
'_words'
}
=
parse_info_desc
(
$$sk_value
,
'sk'
,
$$k_value
,
1
);
}
else
{
$
{
$sk_value
.
'_words'
}
=
$nospk
;
}
}
}
/*foreach (Array('wep','arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $w_value)
{
if(isset(${$w_value})) ${$w_value} = parse_itm_desc(${$w_value},'m');
}
...
...
@@ -136,13 +175,19 @@ function findcorpse(&$w_pdata){
${$w_sk_value.'_words'} .= parse_itm_desc($sk,'sk');
}
}
}
}
*/
include_once
GAME_ROOT
.
'./include/game/depot.func.php'
;
$loot_depot_flag
=
0
;
if
(
in_array
(
$w_type
,
$can_lootdepot_type
))
{
$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
template
(
'corpse'
);
$cmd
=
ob_get_contents
();
ob_clean
();
...
...
include/game/item.func.php
View file @
bc2993c5
...
...
@@ -600,14 +600,37 @@ function itemuse($itmn) {
}
$wf
+=
$vefct
;
//$itme;
$wsname
=
"灵击熟练度"
;
}
elseif
(
strpos
(
$itmk
,
'VS'
)
===
0
)
{
global
$cskills
,
$clbpara
;
if
(
!
empty
(
$itmsk
)
&&
isset
(
$cskills
[
$itmsk
]))
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
$flag
=
getclubskill
(
$itmsk
,
$clbpara
);
if
(
$flag
)
{
$log
.=
"哇!没想到这本书里竟然介绍了<span class='yellow'>「
{
$cskills
[
$itmsk
][
'name'
]
}
」</span>的原理!<br>获得了技能<span class='yellow'>「
{
$cskills
[
$itmsk
][
'name'
]
}
」</span>!<br>你心满意足地把<span class='red'>
{
$itm
}
</span>吃进了肚里。<br>"
;
addnews
(
$now
,
'getsk_'
.
$itmsk
,
$name
,
$itm
);
}
else
{
$log
.=
"什么嘛!原来里面都是些你看过的东西了,你没有从书中学到任何新东西。<br>你一怒之下把这本破书撕了个稀巴烂!<br>"
;
}
}
else
{
$log
.=
"但是你横看竖看,也弄不明白作者到底想表达什么!<br>你一怒之下把这本破书撕了个稀巴烂!<br>"
;
}
}
if
(
$vefct
>
0
)
{
$log
.=
"嗯,有所收获。<br>你的
{
$wsname
}
提高了<span class=
\"
yellow
\"
>
$vefct
</span>点!<br>"
;
}
elseif
(
$vefct
==
0
)
{
$log
.=
"对你来说书里的内容过于简单了。<br>你的熟练度没有任何提升。<br>"
;
}
else
{
$vefct
=
-
$vefct
;
$log
.=
"对你来说书里的内容过于简单了。<br>而且由于盲目相信书上的知识,你反而被编写者的纰漏所误导了!<br>你的
{
$wsname
}
下降了<span class=
\"
red
\"
>
$vefct
</span>点!<br>"
;
if
(
isset
(
$vefct
))
{
if
(
$vefct
>
0
)
{
$log
.=
"嗯,有所收获。<br>你的
{
$wsname
}
提高了<span class=
\"
yellow
\"
>
$vefct
</span>点!<br>"
;
}
elseif
(
$vefct
==
0
)
{
$log
.=
"对你来说书里的内容过于简单了。<br>你的熟练度没有任何提升。<br>"
;
}
else
{
$vefct
=
-
$vefct
;
$log
.=
"对你来说书里的内容过于简单了。<br>而且由于盲目相信书上的知识,你反而被编写者的纰漏所误导了!<br>你的
{
$wsname
}
下降了<span class=
\"
red
\"
>
$vefct
</span>点!<br>"
;
}
}
if
(
$itms
!=
$nosta
)
{
$itms
--
;
...
...
include/game/itemmain.func.php
View file @
bc2993c5
...
...
@@ -1069,6 +1069,15 @@ function getcorpse($item){
return
;
}
if
(
$item
==
'cstick'
)
{
include_once
GAME_ROOT
.
'./include/game/revclubskills_extra.func.php'
;
skill_tl_cstick_act
(
$edata
);
$action
=
''
;
$mode
=
'command'
;
return
;
}
if
(
$item
==
'loot_depot'
)
{
global
$name
,
$type
;
...
...
include/game/itemplace.func.php
View file @
bc2993c5
...
...
@@ -58,95 +58,37 @@ function get_npc_helpinfo($nlist,$tooltip=1)
}
if
(
isset
(
$snpc
[
'club'
]))
$snpc
[
'club'
]
=
$snpc
[
'club'
]
==
99
?
'第一形态'
:
$clubinfo
[
$snpc
[
'club'
]];
//
合并装备
名
foreach
(
Array
(
'wep'
,
'arb'
,
'arh'
,
'ara'
,
'arf'
,
'art'
)
as
$t1
)
//
格式化装备、道具
名
foreach
(
Array
(
'wep'
,
'arb'
,
'arh'
,
'ara'
,
'arf'
,
'art'
,
'itm0'
,
'itm1'
,
'itm2'
,
'itm3'
,
'itm4'
,
'itm5'
,
'itm6'
)
as
$value
)
{
foreach
(
Array
(
''
,
'k'
,
'e'
,
's'
,
'sk'
)
as
$t2
)
if
(
strpos
(
$value
,
'itm'
)
!==
false
)
{
if
(
!
empty
(
$snpc
[
$t1
.
$t2
]))
{
//为装备名添加tooltip效果
if
(
$t2
==
''
&&
$tooltip
)
{
$snpc
[
$t1
.
$t2
]
=
parse_itm_desc
(
$snpc
[
$t1
.
$t2
],
'm'
);
}
//为装备类别添加tooltip效果
elseif
(
$t2
==
'k'
&&
$tooltip
)
{
foreach
(
$iteminfo
as
$info_key
=>
$info_value
)
{
if
(
strpos
(
$snpc
[
$t1
.
$t2
],
$info_key
)
===
0
)
{
$snpc
[
$t1
.
$t2
]
=
parse_itm_desc
(
$info_key
,
'k'
);
break
;
}
}
}
//为装备属性添加tooltip效果
elseif
(
$t2
==
'sk'
&&
$tooltip
)
{
$tmpsk
=
get_itmsk_array
(
$snpc
[
$t1
.
$t2
]);
foreach
(
$tmpsk
as
$sk
)
{
if
(
!
empty
(
$snpc
[
$t1
.
$t2
.
'_words'
]))
{
$snpc
[
$t1
.
$t2
.
'_words'
]
.=
"+"
.
parse_itm_desc
(
$sk
,
'sk'
);
}
else
{
$snpc
[
$t1
.
$t2
.
'_words'
]
=
parse_itm_desc
(
$sk
,
'sk'
);
}
}
}
}
else
{
$snpc
[
$t1
.
$t2
]
=
'-'
;
}
$k_value
=
str_replace
(
'itm'
,
'itmk'
,
$value
);
$e_value
=
str_replace
(
'itm'
,
'itme'
,
$value
);
$s_value
=
str_replace
(
'itm'
,
'itms'
,
$value
);
$sk_value
=
str_replace
(
'itm'
,
'itmsk'
,
$value
);
}
}
//合并道具名
for
(
$ni
=
0
;
$ni
<=
6
;
$ni
++
)
{
foreach
(
Array
(
''
,
'k'
,
'e'
,
's'
,
'sk'
)
as
$t2
)
else
{
$e_value
=
$value
.
'e'
;
$k_value
=
$value
.
'k'
;
$s_value
=
$value
.
's'
;
$sk_value
=
$value
.
'sk'
;
}
if
(
!
empty
(
$snpc
[
$s_value
]))
{
if
(
!
empty
(
$snpc
[
'itm'
.
$t2
.
$ni
]))
//添加tooltip效果
if
(
$tooltip
)
{
//为装备名添加tooltip效果
if
(
$t2
==
''
&&
$tooltip
)
{
$snpc
[
'itm'
.
$t2
.
$ni
]
=
parse_itm_desc
(
$snpc
[
'itm'
.
$t2
.
$ni
],
'm'
);
}
//为装备类别添加tooltip效果
elseif
(
$t2
==
'k'
&&
$tooltip
)
{
foreach
(
$iteminfo
as
$info_key
=>
$info_value
)
{
if
(
strpos
(
$snpc
[
'itm'
.
$t2
.
$ni
],
$info_key
)
===
0
)
{
$snpc
[
'itm'
.
$t2
.
$ni
]
=
parse_itm_desc
(
$info_key
,
'k'
);
break
;
}
}
}
//为装备属性添加tooltip效果
elseif
(
$t2
==
'sk'
&&
$tooltip
)
{
$tmpsk
=
get_itmsk_array
(
$snpc
[
'itm'
.
$t2
.
$ni
]);
foreach
(
$tmpsk
as
$sk
)
{
if
(
!
empty
(
$snpc
[
'itm'
.
$t2
.
$ni
.
'_words'
]))
{
$snpc
[
'itm'
.
$t2
.
$ni
.
'_words'
]
.=
"+"
.
parse_itm_desc
(
$sk
,
'sk'
);
}
else
{
$snpc
[
'itm'
.
$t2
.
$ni
.
'_words'
]
=
parse_itm_desc
(
$sk
,
'sk'
);
}
}
}
if
(
!
empty
(
$snpc
[
$value
]))
$snpc
[
$value
]
=
parse_info_desc
(
$snpc
[
$value
],
'm'
);
if
(
!
empty
(
$snpc
[
$sk_value
]))
$snpc
[
$sk_value
.
'_words'
]
=
parse_info_desc
(
$snpc
[
$sk_value
],
'sk'
,
$snpc
[
$k_value
]);
if
(
!
empty
(
$snpc
[
$k_value
]))
$snpc
[
$k_value
]
=
parse_info_desc
(
$snpc
[
$k_value
],
'k'
);
}
}
else
{
$snpc
[
$t1
.
$t2
]
=
'-'
;
}
}
$tnlist
[
$i
][
$tsub
][
$n
]
=
$snpc
;
unset
(
$snpc
);
...
...
include/game/revclubskills.func.php
View file @
bc2993c5
...
...
@@ -32,8 +32,9 @@
if
(
$ltkey
==
'lasttimes'
||
$ltkey
==
'lastturns'
)
$para
[
$ltkey
][
$sk
]
=
$lt
;
}
}
return
1
;
}
return
;
return
0
;
}
# 失去指定技能 $sk:技能名;$para:$clbpara
...
...
@@ -313,7 +314,7 @@
$data
[
'clbpara'
]
=
get_clbpara
(
$data
[
'clbpara'
]);
if
(
!
in_array
(
$sk
,
$data
[
'clbpara'
][
'skill'
]))
{
return
1
;
return
"技能未解锁!<br>"
;
}
if
(
!
empty
(
$cskills
[
$sk
][
'unlock'
]))
{
...
...
include/game/revclubskills_extra.func.php
View file @
bc2993c5
...
...
@@ -12,7 +12,7 @@
function
skill_c1_veteran_act
(
$choice
)
{
global
$log
,
$pdata
,
$cskills
,
$club
,
$clbpara
,
$itemspkinfo
;
if
(
!
check_skill_unlock
(
$sk
,
$pdata
))
if
(
!
check_skill_unlock
(
'c1_veteran'
,
$pdata
))
{
$c_arr
=
get_skillvars
(
'c1_veteran'
,
'defkind'
);
$cvar
=
&
$clbpara
[
'skillpara'
][
'c1_veteran'
][
'choice'
];
...
...
@@ -27,7 +27,7 @@
return
;
}
$cvar
=
$choice
;
$log
.=
"
「百战」的防御属性变更为
{
$itemspkinfo
[
$choice
]
}
。
<br>"
;
$log
.=
"
防御属性已变更为<span class='yellow'>
{
$itemspkinfo
[
$choice
]
}
</span>!
<br>"
;
}
else
{
...
...
@@ -57,4 +57,62 @@
return
;
}
# 尸体发火!
function
skill_tl_cstick_act
(
&
$edata
)
{
global
$log
,
$pdata
,
$cskills
;
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'
]);
# 炼到了不该炼的尸体
if
(
in_array
(
$edata
[
'type'
],
get_skillvars
(
'tl_cstick'
,
'notype'
)))
{
$log
.=
"仿佛觉察到了你那邪恶的念头,你刚一伸出手,
{
$edata
[
'name'
]
}
的尸体便化作尘埃随风散去了……<br>不知为何,你感到有些惭愧。<br>"
;
destory_corpse
(
$edata
);
$pdata
[
'rp'
]
+=
333
;
return
;
}
# 开抡!
$log
.=
"你干脆利落地把<span class='red'>
{
$edata
[
'name'
]
}
</span>从地上拽了起来!然后卯足力气,在空中挥舞了两下。<br>……<br>"
;
$pdata
[
'itm0'
]
=
"
{
$edata
[
'name'
]
}
尸体模样的棍棒"
;
$pdata
[
'itmk0'
]
=
'WP'
;
$pdata
[
'itme0'
]
=
round
(
$edata
[
'msp'
]);
$pdata
[
'itms0'
]
=
round
(
$edata
[
'mhp'
]);
$dice
=
diceroll
(
99
);
$N_obbs
=
pow
(
$edata
[
'lvl'
],
1.3
);
$z_obbs
=
!
$edata
[
'type'
]
?
pow
(
$edata
[
'lvl'
],
1.3
)
:
pow
(
$edata
[
'lvl'
],
1.15
);
if
(
$dice
<
$N_obbs
)
{
$pdata
[
'itmsk0'
]
.=
'N'
;
$log
.=
"不错!份量不轻不重刚刚好!<br>"
;
}
if
(
$dice
<
$z_obbs
)
{
$pdata
[
'itmsk0'
]
.=
'Z'
;
$log
.=
"越是挥舞,越觉趁手!这尸体仿佛死来就是为你准备的!<br>哇,这下真正捡到宝了!<br>"
;
}
if
(
empty
(
$pdata
[
'itmsk0'
]))
{
$log
.=
"哎呀……好像这具尸体和你的相性不是很好。但是无所谓啦!<br>"
;
}
# 出生啊!
$max_rp_dice
=
$pdata
[
'itme0'
]
+
$pdata
[
'itms0'
]
>
300
?
$pdata
[
'itme0'
]
+
$pdata
[
'itms0'
]
:
300
;
$rp_dice
=
rand
(
300
,
$max_rp_dice
);
$pdata
[
'rp'
]
+=
$rp_dice
;
# 做成棍了就没有尸体了
destory_corpse
(
$edata
);
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
itemget
();
}
else
{
$log
.=
isset
(
$cskills
[
'tl_cstick'
][
'lockdesc'
][
$lock
])
?
$cskills
[
'tl_cstick'
][
'lockdesc'
][
$lock
]
:
$lock
;
}
return
;
}
?>
include/game/special.func.php
View file @
bc2993c5
...
...
@@ -492,23 +492,25 @@ function shoplist($sn,$getlist=NULL) {
$itemdata
[
$i
][
'price'
]
=
$club
==
11
?
round
(
$itemlist
[
'price'
]
*
0.75
)
:
$itemlist
[
'price'
];
$itemdata
[
$i
][
'area'
]
=
$itemlist
[
'area'
];
$itemdata
[
$i
][
'item'
]
=
$itemlist
[
'item'
];
$itemdata
[
$i
][
'item_words'
]
=
parse_i
tm
_desc
(
$itemdata
[
$i
][
'item'
],
'm'
);
$itemdata
[
$i
][
'item_words'
]
=
parse_i
nfo
_desc
(
$itemdata
[
$i
][
'item'
],
'm'
);
$itemdata
[
$i
][
'itme'
]
=
$itemlist
[
'itme'
];
$itemdata
[
$i
][
'itms'
]
=
$itemlist
[
'itms'
];
//list($sid,$kind,$num,$price,$area,$item,$itmk,$itme,$itms,$itmsk)=explode(',',$itemlist);
foreach
(
$iteminfo
as
$info_key
=>
$info_value
){
/*
foreach($iteminfo as $info_key => $info_value){
if(strpos($itemlist['itmk'],$info_key)===0){
if(isset($getlist)) $itemdata[$i]['itmk'] = $info_value;
$itemdata[$i]['itmk_words'] = parse_itm_desc($info_key,'k');
break;
}
}
}*/
$itemdata
[
$i
][
'itmk_words'
]
=
parse_info_desc
(
$itemlist
[
'itmk'
],
'k'
);
$itemdata
[
$i
][
'itmsk_words'
]
=
''
;
if
(
$itemlist
[
'itmsk'
]
&&
!
is_numeric
(
$itemlist
[
'itmsk'
])){
if
(
!
isset
(
$getlist
))
{
$tmp_sk
=
get_itmsk_array
(
$itemlist
[
'itmsk'
]);
foreach
(
$tmp_sk
as
$sk
)
$itemdata
[
$i
][
'itmsk_words'
]
.=
parse_itm_desc
(
$sk
,
'sk'
);
$itemdata
[
$i
][
'itmsk_words'
]
=
parse_info_desc
(
$itemlist
[
'itmsk'
],
'sk'
,
$itemlist
[
'itmk'
]);
//$tmp_sk = get_itmsk_array($itemlist['itmsk']);
//foreach($tmp_sk as $sk) $itemdata[$i]['itmsk_words'].= parse_itm_desc($sk,'sk');
}
else
{
...
...
include/global.func.php
View file @
bc2993c5
...
...
@@ -566,25 +566,125 @@ function player_format_with_db_structure($data){
}
return
$ndata
;
}
function
parse_info_desc
(
$info
,
$type
,
$vars
=
''
,
$short
=
0
)
{
global
$iteminfo
,
$itemspkinfo
,
$cskills
;
global
$tps_name
,
$tps_names
,
$tps_ik
,
$tps_isk
;
# 处理名字
if
(
$type
==
'm'
)
{
$tinfo
=
preg_replace
(
'/锋利的|电气|毒性|\[\+.*\]|-改/'
,
''
,
$info
);
if
(
isset
(
$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
}
>
{
$tinfo
}
</span>"
;
}
elseif
(
isset
(
$tps_name
[
$tinfo
]))
{
$tinfo_f
=
isset
(
$tps_name
[
$tinfo
][
'class'
])
?
"class=
\"
{
$tps_name
[
$tinfo
][
'class'
]
}
\"
"
:
''
;
$tinfo_tp
=
isset
(
$tps_name
[
$tinfo
][
'title'
])
?
"tooltip=
\"
{
$tps_name
[
$tinfo
][
'title'
]
}
\"
"
:
''
;
return
"<span
{
$tinfo_tp
}
{
$tinfo_f
}
>
{
$info
}
</span>"
;
}
return
$info
;
}
# 处理类别
if
(
$type
==
'k'
)
{
foreach
(
$iteminfo
as
$info_key
=>
$info_value
)
{
if
(
strpos
(
$info
,
$info_key
)
===
0
)
{
$v_info
=
$info_key
;
break
;
}
}
# 类别不存在样式或提示时,用大类尝试一下
if
(
!
isset
(
$tps_ik
[
$info
]))
$info
=
$v_info
;
$info_f
=
isset
(
$tps_ik
[
$info
][
'class'
])
?
"class=
\"
{
$tps_ik
[
$info
][
'class'
]
}
\"
"
:
''
;
$info_tp
=
isset
(
$tps_ik
[
$info
][
'title'
])
?
"tooltip=
\"
{
$tps_ik
[
$info
][
'title'
]
}
\"
"
:
''
;
if
(
!
isset
(
$iteminfo
[
$info
]))
$info
=
$v_info
;
return
"<span
{
$info_tp
}
{
$info_f
}
>
{
$iteminfo
[
$info
]
}
</span>"
;
}
# 处理属性
if
(
$type
==
'sk'
)
{
$ret
=
'-^-'
;
# 处理该数量以上的属性时,将属性格式变为+...+的缩写
$short_nums
=
4
;
# 技能书特殊处理
if
(
$vars
==
'VS'
)
{
if
(
!
empty
(
$info
)
&&
isset
(
$cskills
[
$info
]))
{
$sk
=
$cskills
[
$info
];
$sknm
=
$cskills
[
$info
][
'name'
];
return
"<span tooltip=
\"
阅读后可习得技能「
{
$sknm
}
」
\"
>知识</span>"
;
}
return
"--"
;
}
# 正常处理属性
else
{
# 数组化
if
(
!
is_array
(
$info
))
$info
=
get_itmsk_array
(
$info
);
# 计数
$sk_max
=
count
(
$info
);
$sk_nums
=
0
;
$sk_info
=
''
;
foreach
(
$info
as
$sk
)
{
$csk
=
$itemspkinfo
[
$sk
];
# 检查属性有没有特殊样式
if
(
isset
(
$tps_isk
[
$sk
][
'class'
]))
$csk
=
"<span class=
\"
"
.
$tps_isk
[
$sk
][
'class'
]
.
"
\"
>"
.
$csk
.
"</span>"
;
# 将属性加入显示队列
$sk_info
.=
$csk
;
# 如果不是最后一个属性 显示一个 + 号
if
(
$sk_nums
<
$sk_max
-
1
)
$sk_info
.=
'+'
;
# 检查属性有没有tooltip
if
(
isset
(
$tps_isk
[
$sk
][
'title'
]))
{
if
(
$sk_max
>
1
)
{
$sk_tp
.=
"【
{
$itemspkinfo
[
$sk
]
}
】"
.
$tps_isk
[
$sk
][
'title'
];
if
(
$sk_nums
<
$sk_max
-
1
)
$sk_tp
.=
"
\r
"
;
}
else
{
$sk_tp
=
$tps_isk
[
$sk
][
'title'
];
}
}
$sk_nums
++
;
}
if
(
!
empty
(
$sk_info
))
$ret
=
$sk_info
;
if
(
$sk_max
>
$short_nums
&&
$short
)
$ret
=
$itemspkinfo
[
$info
[
0
]]
.
"+...+"
.
$itemspkinfo
[
end
(
$info
)];
if
(
!
empty
(
$sk_tp
))
{
$ret
=
"<span tooltip=
\"
{
$sk_tp
}
\"
>
{
$ret
}
</span>"
;
}
}
return
$ret
;
}
return
$info
;
}
//为显示在主界面、尸体发现界面、游戏帮助界面的道具名、道具类、道具属性添加额外描述
//传入$n=道具名/类/属性;$t='m'(使用名称数组)/'k'(类别)/'sk'(属性);$short=1(传入的$n为数组情况下才有效,缩写属性);$class(如果传入的$n没有匹配的样式,则应用该样式)
function
parse_itm_desc
(
$n
,
$t
,
$s
hort
=
0
,
$c
=
NULL
)
function
parse_itm_desc
(
$n
,
$t
,
$s
=
0
,
$c
=
NULL
)
{
global
$iteminfo
,
$itemspkinfo
;
//我再也不敢把变量名起的又臭又长了
global
$iteminfo_tooltip
,
$itemkinfo_tooltip
,
$itemspkinfo_tooltip
,
$iteminfo_tooltip_desc
;
global
$iteminfo
,
$itemspkinfo
,
$cskills
;
global
$tps_name
,
$tps_ik
,
$tps_isk
,
$tps_names
;
$span
=
"<span "
;
$p1
=
"tooltip=
\"
"
;
$p2
=
"class=
\"
"
;
$ret1
=
''
;
$ret2
=
''
;
$ret
=
''
;
switch
(
$t
)
{
//处理类别
case
$t
==
'k'
:
if
(
isset
(
$
itemkinfo_tooltip
[
$n
][
'title'
]))
$ret1
=
$itemkinfo_tooltip
[
$n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
itemkinfo_tooltip
[
$n
][
'class'
]))
$ret2
=
$itemkinfo_tooltip
[
$n
][
'class'
]
.
"
\"
"
;
if
(
isset
(
$
tps_ik
[
$n
][
'title'
]))
$ret1
=
$tps_ik
[
$n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
tps_ik
[
$n
][
'class'
]))
$ret2
=
$tps_ik
[
$n
][
'class'
]
.
"
\"
"
;
$n
=
$iteminfo
[
$n
];
break
;
//处理属性
case
$t
==
'sk'
:
//如果传入的n为数组,且开启缩写模式,则输出一段缩写
if
(
$short
&&
is_array
(
$n
)
&&
count
(
$n
)
>
1
)
{
$sk1
=
$itemspkinfo
[
current
(
$n
)];
$sk2
=
$itemspkinfo
[
end
(
$n
)];
$skn
=
''
;
...
...
@@ -597,25 +697,25 @@ function parse_itm_desc($n,$t,$short=0,$c=NULL)
}
else
{
if
(
isset
(
$
itemspkinfo_tooltip
[
$n
][
'title'
]))
$ret1
=
$itemspkinfo_tooltip
[
$n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
itemspkinfo_tooltip
[
$n
][
'class'
]))
$ret2
=
$itemspkinfo_tooltip
[
$n
][
'class'
]
.
"
\"
"
;
if
(
isset
(
$
tps_isk
[
$n
][
'title'
]))
$ret1
=
$tps_isk
[
$n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
tps_isk
[
$n
][
'class'
]))
$ret2
=
$tps_isk
[
$n
][
'class'
]
.
"
\"
"
;
$n
=
$itemspkinfo
[
$n
];
}
break
;
//处理名字
case
$t
==
'm'
:
$f
ilter_
n
=
preg_replace
(
'/锋利的|电气|毒性|\[.*\]|-改/'
,
''
,
$n
);
if
(
isset
(
$
iteminfo_tooltip
[
$filter_
n
]))
$fn
=
preg_replace
(
'/锋利的|电气|毒性|\[.*\]|-改/'
,
''
,
$n
);
if
(
isset
(
$
tps_name
[
$f
n
]))
{
if
(
is_array
(
$
iteminfo_tooltip
[
$filter_
n
]))
if
(
is_array
(
$
tps_name
[
$f
n
]))
{
if
(
isset
(
$
iteminfo_tooltip
[
$filter_n
][
'title'
]))
$ret1
=
$iteminfo_tooltip
[
$filter_
n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
iteminfo_tooltip
[
$filter_n
][
'class'
]))
$ret2
=
$iteminfo_tooltip
[
$filter_
n
][
'class'
]
.
"
\"
"
;
if
(
isset
(
$
tps_name
[
$fn
][
'title'
]))
$ret1
=
$tps_name
[
$f
n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
tps_name
[
$fn
][
'class'
]))
$ret2
=
$tps_name
[
$f
n
][
'class'
]
.
"
\"
"
;
}
elseif
(
isset
(
$
iteminfo_tooltip_desc
[
$iteminfo_tooltip
[
$filter_
n
]]))
elseif
(
isset
(
$
tps_names
[
$tps_name
[
$f
n
]]))
{
//使用可复用描述 越来越离谱了
if
(
isset
(
$
iteminfo_tooltip_desc
[
$iteminfo_tooltip
[
$filter_n
]][
'title'
]))
$ret1
=
$iteminfo_tooltip_desc
[
$iteminfo_tooltip
[
$filter_
n
]][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
iteminfo_tooltip_desc
[
$iteminfo_tooltip
[
$filter_n
]][
'class'
]))
$ret2
=
$iteminfo_tooltip_desc
[
$iteminfo_tooltip
[
$filter_
n
]][
'class'
]
.
"
\"
"
;
if
(
isset
(
$
tps_names
[
$tps_name
[
$fn
]][
'title'
]))
$ret1
=
$tps_names
[
$tps_name
[
$f
n
]][
'title'
]
.
"
\"
"
;
if
(
isset
(
$
tps_names
[
$tps_name
[
$fn
]][
'class'
]))
$ret2
=
$tps_names
[
$tps_name
[
$f
n
]][
'class'
]
.
"
\"
"
;
}
}
break
;
...
...
include/news.func.php
View file @
bc2993c5
...
...
@@ -34,12 +34,12 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
//登记非功能性地点信息时合并隐藏地点 为什么会有两个news.func.php???
foreach
(
$hplsinfo
as
$hgroup
=>
$hpls
)
$plsinfo
+=
$hpls
;
//死法(除DN外):道具名登记在$d上;
第四个参数:没有检查到特殊样式的给一个红色
if
(
strpos
(
$news
,
'death'
)
!==
false
&&
$news
!==
'death28'
&&
isset
(
$d
))
$d
=
parse_i
tm_desc
(
$d
,
'm'
,
0
,
"red"
);
//死法(除DN外):道具名登记在$d上;
if
(
strpos
(
$news
,
'death'
)
!==
false
&&
$news
!==
'death28'
&&
isset
(
$d
))
$d
=
parse_i
nfo_desc
(
$d
,
'm'
);
//赠送道具、吃到毒补给、陷阱、改变天气、强化武器、唱歌、打开礼物盒:道具名登记在$c上;
if
((
strpos
(
$news
,
'senditem'
)
!==
false
||
strpos
(
$news
,
'poison'
)
!==
false
||
strpos
(
$news
,
'trap'
)
!==
false
||
strpos
(
$news
,
'wth'
)
!==
false
||
strpos
(
$news
,
'newwep'
)
!==
false
||
strpos
(
$news
,
'song'
)
!==
false
||
strpos
(
$news
,
'present'
)
!==
false
)
&&
isset
(
$c
))
$c
=
parse_i
tm
_desc
(
$c
,
'm'
);
if
((
strpos
(
$news
,
'senditem'
)
!==
false
||
strpos
(
$news
,
'poison'
)
!==
false
||
strpos
(
$news
,
'trap'
)
!==
false
||
strpos
(
$news
,
'wth'
)
!==
false
||
strpos
(
$news
,
'newwep'
)
!==
false
||
strpos
(
$news
,
'song'
)
!==
false
||
strpos
(
$news
,
'present'
)
!==
false
)
&&
isset
(
$c
))
$c
=
parse_i
nfo
_desc
(
$c
,
'm'
);
//合成、使用死斗卡、使用仓库:道具名登记在$b上;
if
((
strpos
(
$news
,
'mix'
)
!==
false
||
strpos
(
$news
,
'duelkey'
)
!==
false
||
strpos
(
$news
,
'depot'
)
===
0
)
&&
isset
(
$b
))
$b
=
parse_i
tm
_desc
(
$b
,
'm'
);
if
((
strpos
(
$news
,
'mix'
)
!==
false
||
strpos
(
$news
,
'duelkey'
)
!==
false
||
strpos
(
$news
,
'depot'
)
===
0
)
&&
isset
(
$b
))
$b
=
parse_i
nfo
_desc
(
$b
,
'm'
);
//新PC加入战场 格式化nick
//卧槽这可怎么搞……只能脏一把了
...
...
@@ -116,17 +116,17 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
}
elseif
(
$news
==
'death20'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>用<span class=
\"
red
\"
>
$nowep
</span>击飞"
;
}
elseif
(
$news
==
'death21'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>使用
{
$d
}
殴打致死"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>使用
<span class=
\"
red
\"
>
{
$d
}
</span>
殴打致死"
;
}
elseif
(
$news
==
'death22'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>使用
{
$d
}
斩杀"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>使用
<span class=
\"
red
\"
>
{
$d
}
</span>
斩杀"
;
}
elseif
(
$news
==
'death23'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>使用
{
$d
}
射杀"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>使用
<span class=
\"
red
\"
>
{
$d
}
</span>
射杀"
;
}
elseif
(
$news
==
'death24'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>投掷
{
$d
}
致死"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>投掷
<span class=
\"
red
\"
>
{
$d
}
</span>
致死"
;
}
elseif
(
$news
==
'death25'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>埋设
{
$d
}
伏击炸死"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>埋设
<span class=
\"
red
\"
>
{
$d
}
</span>
伏击炸死"
;
}
elseif
(
$news
==
'death29'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>发动
{
$d
}
以灵力杀死"
;
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>被<span class=
\"
yellow
\"
>
$c
</span>发动
<span class=
\"
red
\"
>
{
$d
}
</span>
以灵力杀死"
;
}
elseif
(
$news
==
'death39'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>在与<span class=
\"
yellow
\"
>
$c
</span>的战斗中因<span class=
\"
red
\"
>武器反噬</span>意外身亡"
;
}
elseif
(
$news
==
'death26'
)
{
...
...
@@ -319,6 +319,10 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
$bsk
=
substr
(
$news
,
4
);
$bname
=
$cskills
[
$bsk
][
'name'
];
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
clan
\"
>
{
$a
}
对
{
$b
}
发动了技能<span class=
\"
yellow
\"
>「
{
$bname
}
」</span>!</span><br>
\n
"
;
}
elseif
(
strpos
(
$news
,
'getsk_'
)
===
0
)
{
$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
"
;
}
else
{
$newsinfo
.=
"<li>
$time
,
$news
,
$a
,
$b
,
$c
,
$d
<br>
\n
"
;
}
...
...
templates/default/corpse.htm
View file @
bc2993c5
...
...
@@ -5,6 +5,9 @@
<!--{elseif $allow_destory_corpse && !in_array($w_type,$no_destory_corpse_type)}-->
<input
type=
"radio"
name=
"command"
id=
"destory"
value=
"destory"
<!
--
{
if
!$
w_money
}
--
>
checked
<!--{/if}-->
>
<a
onclick=
sl('destory');
href=
"javascript:void(0);"
>
销毁尸体
</a><br>
<!--{/if}-->
<!--{if $cstick_flag}-->
<input
type=
"radio"
name=
"command"
id=
"cstick"
value=
"cstick"
><a
onclick=
sl('cstick');
href=
"javascript:void(0);"
><span
tooltip=
"消耗100点怒气,将这具尸体变成一把殴系武器"
>
抡起尸体!
</span></a><br>
<!--{/if}-->
<!--{if $loot_depot_flag}-->
<input
type=
"radio"
name=
"command"
id=
"loot_depot"
value=
"loot_depot"
><a
onclick=
sl('loot_depot');
href=
"javascript:void(0);"
>
转移安全箱权限
</a><br>
<!--{/if}-->
...
...
templates/default/help.htm
View file @
bc2993c5
This diff is collapsed.
Click to expand it.
vnworld.php
View file @
bc2993c5
...
...
@@ -48,17 +48,22 @@ if($vnmode=='none')
}
$tooltipinfo
=
''
;
}
// 格式化名称
$cinfo
[
'result'
][
0
]
=
parse_info_desc
(
$cinfo
[
'result'
][
0
],
'm'
);
// 格式化类别
$cinfo
[
'result'
][
1
]
=
parse_info_desc
(
$cinfo
[
'result'
][
1
],
'k'
);
// 格式化属性
if
(
isset
(
$cinfo
[
'result'
][
4
])
&&
is_array
(
$cinfo
[
'result'
][
4
]))
{
foreach
(
$cinfo
[
'result'
][
4
]
as
$sk
)
$temp_carr
[
$cid
][
'spkinfo'
]
=
parse_info_desc
(
$cinfo
[
'result'
][
4
],
'sk'
,
$cinfo
[
'result'
][
1
]);
/*foreach($cinfo['result'][4] as $sk)
{
if(!empty($temp_carr[$cid]['spkinfo'])) $temp_carr[$cid]['spkinfo'] .= '+'.parse_itm_desc($sk,'sk');
else
$temp_carr
[
$cid
][
'spkinfo'
]
=
parse_i
tm
_desc
(
$sk
,
'sk'
);
}
else $temp_carr[$cid]['spkinfo'] = parse_i
nfo
_desc($sk,'sk');
}
*/
}
// 汇总合成结果至一段内
$temp_carr
[
$cid
][
'result'
][
0
]
=
$cinfo
[
'result'
][
0
]
.
'/'
.
$
temp_vniteminfo
[
$cinfo
[
'result'
][
1
]
]
.
'/'
.
$cinfo
[
'result'
][
2
]
.
'/'
.
$cinfo
[
'result'
][
3
];
$temp_carr
[
$cid
][
'result'
][
0
]
=
$cinfo
[
'result'
][
0
]
.
'/'
.
$
cinfo
[
'result'
][
1
]
.
'/'
.
$cinfo
[
'result'
][
2
]
.
'/'
.
$cinfo
[
'result'
][
3
];
if
(
isset
(
$temp_carr
[
$cid
][
'spkinfo'
]))
$temp_carr
[
$cid
][
'result'
][
0
]
.=
'/'
.
$temp_carr
[
$cid
][
'spkinfo'
];
}
}
...
...
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