Commit 85806a25 authored by hisuinohoshi's avatar hisuinohoshi

update npchelp

update:{...}
bugfix:{vnmixlist.php}

更新:
修改&新增了部分css样式,将tooltip更换为新样式;
新增使用<dialog>标签实现的气泡框,因为兼容性存疑,暂时只用在显示npc帮助页面上,可以查看女主的第二形态;
修改了NPC帮助页面的生成逻辑,现在可以在帮助页面加入addnpc与evonpc内的内容了。
parent 7b17ef68
......@@ -258,11 +258,11 @@ $enpcinfo = array
'arbe' => 2700,
'arbs' => 200,
'arbsk' => 'aA',
'arh' => '',
'arhk' => 'DH',
'arhe' => 0,
'arhs' => 0,
'arhsk' => '',
//'arh' => '',
//'arhk' => 'DH',
//'arhe' => 0,
//'arhs' => 0,
//'arhsk' => '',
'arf' => '化学强化战靴',
'arfk' => 'DF',
'arfe' => 1200,
......
This diff is collapsed.
......@@ -3415,21 +3415,21 @@ $npcdescription = array
'count' => 1,
'description' => '数据碎片 风纪委员 静流:<span class="yellow">被击杀后会变身为攻击力极强的NPC</span>。',
),
/* 3 => array
'讲解员 梦美' => array
(
'count' => 0,
'description' => '数据碎片 战斗模式 梦美:讲解员 梦美的第二型態。<span class="yellow">物理傷害是不容小看的!請準備好足夠的防禦力。</span>技能是狙擊鷹眼的靜息+重擊,均滿級。',
'description' => '数据碎片 战斗模式 梦美:讲解员 梦美的第二形态,装备反装甲武器、能够镇压任何失控机械的『本能模式』。<span class="yellow">实力在数据碎片中属于中等。</span>',
),
4 => array
'喧哗少女 叶留佳' => array
(
'count' => 0,
'description' => '数据碎片 本气(?) 叶留佳:喧哗少女 叶留佳的第二型態。<span class="yellow">物理傷害不會很高,但是爆炸傷害會讓你大吃一驚的!請準備好足夠的血量。</span>技能是狙擊鷹眼的靜息+重擊,均滿級。',
'description' => '数据碎片 本气(?) 叶留佳:喧哗少女 叶留佳的第二形态。这个小叶子是吃错了什么药吗??<span class="yellow">在数据碎片中攻击面最弱,防御面最强,如果你的武器足够强力的话,可以试试优先挑战她。</span>',
),
5 => array
'风纪委员 静流' => array
(
'count' => 0,
'description' => '数据碎片 守卫者 静流:风纪委员 静流的第二型態。<span class="yellow">防禦力和血量是三位女主中最弱,但熟練度是三位女主中最高,請特別小心兩把槍和靈系武器的傷害!!</span>技能是拆彈專家的隱蔽+宛如疾風的敏捷,均滿級。',
), */
'description' => '数据碎片 守卫者 静流:风纪委员 静流的第二形态,以飒爽的战斗姿态出现的强大超能力者。<span class="yellow">在数据碎片中攻击面最强,防御面最弱,虽然一推就倒但也让无数玩家阴沟里翻船。</span><br>不知为何总给人一种摸不着头脑的感觉……',
),
),
),
15 => array
......
......@@ -359,46 +359,38 @@ background-image: url("../../img/footer_line.gif");
box-shadow:0 0 6px rgba(246, 219, 251, 0.6);
}
span.title {
/*==========tooltip样式 摆脱title了!==========*/
span[tooltip] {
position: relative;
}
/*长按带有title标签的内容时显示一个悬浮框,用于移动端、触屏显示tooltip*/
span[title]:active:before {
content: attr(title);
font: bold 10pt "微软雅黑" serif; color: white; overflow-x:hidden; overflow-y:auto; text-shadow:3px 3px 3px #3b3535; text-align: center;
background-color: rgba(198, 114, 199, 0.8); *BACKGROUND: rgb(98,135,163); *filter:alpha(opacity=60)
padding: 10px;
width: 220px;
max-width: 220px;
z-index:10;
top: -25px;
left: 0;
border-radius: 3px;
position: absolute;
span[tooltip]:hover:before {
content: attr(tooltip);
overflow-x:hidden;overflow-y:auto; padding: 3px;
font: bold 10pt "微软雅黑" serif; color: white;
text-shadow:3px 3px 3px #3b3535; text-align: center; text-fill-color: white; -webkit-text-fill-color: white;
background-size: 0; background-clip: border-box; background-color: rgba(198, 114, 199, 0.8);
top: 20px; left: -5px; border-radius: 2px;
width: 160px; max-width: 160px; z-index: 3; position: absolute;
}
/*==========下拉菜单样式==========*/
.headerlink{
font-family: "微软雅黑";
}
/*用于触发下拉菜单的样式drop*/
span.drop{
position: relative;
}
/*悬浮在drop样式上时触发下拉菜单*/
span.drop:hover .dropdown-menu{
display: block;
background-color: rgba(83, 63, 90, 0.8);
border-radius: 5px;
}
/*下拉菜单样式本体*/
.dropdown-menu{
top:17px;
left:-10px;
width: 90px;
max-width: 90px;
position: absolute;
z-index:10;
display: none;
background-size: 0; background-clip: border-box; background-color: rgba(83, 63, 90, 0.8);
top:17px; left:-10px; border-radius: 5px;
width: 90px; max-width: 90px;
z-index:4; position: absolute;
}
/*去除下拉菜单内<ul>标签的样式*/
.dropdown-menu ul{
......@@ -414,12 +406,12 @@ span.drop:hover .dropdown-menu{
justify-content: center;
font: bold 10pt "微软雅黑" serif; color: white; overflow-x:hidden; overflow-y:auto; text-shadow:3px 3px 3px #231e1e; text-align: center;
}
/**/
/*用于显示大头像的样式*/
/*==========在小头像上悬浮显示大头像==========*/
span.icon{
position: relative;
}
/*悬浮在大头像样式上时大头像*/
/*光标移动到样式上时 显示大头像*/
span.icon:hover .icona{
display: block;
background-color: rgba(83, 63, 90, 0.5);
......@@ -433,6 +425,44 @@ span.icon:hover .icona{
max-width: 140px;
padding: 5px;
position: absolute;
z-index:10;
z-index:4;
display: none;
}
/*==========用dialog实现的气泡框==========*/
/*用法:
打开:<input type="button" value="" onclick="showModalDialog($('名字'))">
气泡框本体:
<dialog id="名字">
要输入的内容
关闭气泡框方法A:<input class="cmdbutton" onclick="closeDialog($('名字'))" value="关闭窗口" type="button">
关闭气泡框方法B:<img class="dialog-background" src="img/profile.gif" onclick="closeDialog($('名字'))">
备注:方法B是一张覆盖全界面的背景图片,以实现玩家点击其他区域自动关闭对话框,
但其实点击框内的空区域也会关闭对话框……!
</dialog>*/
dialog{
position: fixed;
max-width: 50%;
max-height: 75%;
font:10pt 微软雅黑 serif;
border: #000 0px none; color: #fff; border-radius: 4px;
background-color:rgba(15, 0, 21, 0.9);
box-shadow: 0px 2px 6px #999;
z-index:4;
}
dialog::backdrop{
font: bold 10pt "微软雅黑" serif;text-decoration: none;color: #ddd; cursor: crosshair;
background-color:rgba(17,17,17,0.5); *BACKGROUND:rgb(17,17,17); *filter:alpha(opacity=50);
}
.dialog-background {
display: flex;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index:-2;
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ define('CURSCRIPT', 'help');
require './include/common.inc.php';
require './include/game.func.php';
include_once GAME_ROOT.'./include/game/itemplace.func.php';
$mixfile = config('mixitem',$gamecfg);
$shopfile = config('shopitem',$gamecfg);
......@@ -17,107 +18,35 @@ include_once $mixfile;
$writefile = GAME_ROOT.TPLDIR.'/mixhelp.htm';
include_once config('npc',$gamecfg);
for ($i=0; $i<=20; $i++) $p[$i]=$i;
include_once config('addnpc',$gamecfg);
include_once config('evonpc',$gamecfg);
//for ($i=0; $i<=20; $i++) $p[$i]=$i; //???
for ($i=1; $i<=6; $i++) $itemlst[$i]=$i;
foreach ($npcinfo as $i => $npcs)
foreach($enpcinfo as $ekey => $enpcs)
{
if(!empty($npcs))
{
foreach (Array('arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $value)
{
if(isset($npcinfo[$i][$value])) $npcinfo[$i][$value] = parse_itm_desc($npcinfo[$i][$value],'m');
}
foreach (Array('arbk','arhk','arak','arfk','artk','itmk0','itmk1','itmk2','itmk3','itmk4','itmk5','itmk6') as $value)
{
if(isset($npcinfo[$i][$value]))
{
foreach($iteminfo as $info_key => $info_value)
{
if(strpos($npcinfo[$i][$value],$info_key)===0){
$npcinfo[$i][$value] = parse_itm_desc($info_key,'k');;
break;
}
}
}
}
foreach(Array('arbsk','arhsk','arask','arfsk','artsk','itmsk0','itmsk1','itmsk2','itmsk3','itmsk4','itmsk5','itmsk6') as $value)
{
if(isset($npcinfo[$i][$value]))
{
$tmpsk = get_itmsk_array($npcinfo[$i][$value]);
foreach($tmpsk as $sk)
{
if(!empty($npcinfo[$i][$value][$value.'_words']))
{
$npcinfo[$i][$value.'_words'] .= "+".parse_itm_desc($sk,'sk');
}
else
{
$npcinfo[$i][$value.'_words'] = parse_itm_desc($sk,'sk');
}
}
}
}
foreach($npcs['sub'] as $n => $npc)
{
foreach(Array('wep','arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $value)
{
if(isset($npcinfo[$i]['sub'][$n][$value])) $npcinfo[$i]['sub'][$n][$value] = parse_itm_desc($npcinfo[$i]['sub'][$n][$value],'m');
}
foreach(Array('wepk','arbk','arhk','arak','arfk','artk','itmk0','itmk1','itmk2','itmk3','itmk4','itmk5','itmk6') as $value)
{
if(isset($npcinfo[$i]['sub'][$n][$value]))
{
foreach($iteminfo as $info_key => $info_value)
{
if(strpos($npcinfo[$i]['sub'][$n][$value],$info_key)===0){
$npcinfo[$i]['sub'][$n][$value] = parse_itm_desc($info_key,'k');;
break;
}
}
}
}
foreach(Array('wepsk','arbsk','arhsk','arask','arfsk','artsk','itmsk0','itmsk1','itmsk2','itmsk3','itmsk4','itmsk5','itmsk6') as $value)
{
if(isset($npcinfo[$i]['sub'][$n][$value]))
{
$tmpsk = get_itmsk_array($npcinfo[$i]['sub'][$n][$value]);
foreach($tmpsk as $sk)
{
if(!empty($npcinfo[$i]['sub'][$n][$value.'_words']))
{
$npcinfo[$i]['sub'][$n][$value.'_words'] .= "+".parse_itm_desc($sk,'sk');
}
else
{
$npcinfo[$i]['sub'][$n][$value.'_words'] = parse_itm_desc($sk,'sk');
}
}
}
}
}
foreach($enpcs as $sname => $enpc)
{
$npcinfo[$ekey]['sub'][$sname] = $enpc;
}
}
// $ty1[1]=6; $ty1[2]=5; $ty1[3]=1; $ty1[4]=9; $ty1[5]=88;
// $ty2[1]=11;
// $ty3[1]=2; $ty3[2]=90;
// $ty4[1]=14; $ty4[2]=4;
// $ty5[1]=13;
// $ty6[1]=15;
// $ty7[1]=22;
// $ty8[1]=21;
$ty1[1]=1; $ty1[3]=88;
$ty2[1]=5; $ty2[2]=6; $ty2[3]=19;
$npcinfo = get_npc_helpinfo($npcinfo);
$anpcinfo = get_npc_helpinfo($anpcinfo);
$ty1[1]=1; $ty1[3]=88;
$ty2[1]=5; $ty2[2]=6;
$ty2a[1]=19; #真红蓝
$ty3[1]=11;
$ty4[1]=90; $ty4[2]=92;
$ty5[1]=2;
$ty6[1]=14; $ty6[2]=4;
$ty6[1]=14; $ty6[2]=4;
$ty6e[1]=14; #女主第二形态情报
$ty7[1]=13;
$ty8[1]=15;
$ty9[1]=22;
$ty10[1]=21;
$ty11[1]=89;
$ty11[1]=89;
$ty11e[1]=89; #电掣NPC第二形态情报
$ty12[1]=24;
if(filemtime($vnmixfile) > filemtime($writefile) ||filemtime($mixfile) > filemtime($writefile) || filemtime($shopfile) > filemtime($writefile) || filemtime($mapitemfile) > filemtime($writefile) || filemtime($synfile) > filemtime($writefile) || filemtime($ovlfile) > filemtime($writefile) || filemtime($presentfile) > filemtime($writefile) || filemtime($boxfile) > filemtime($writefile)){
......@@ -202,7 +131,6 @@ if(filemtime($vnmixfile) > filemtime($writefile) ||filemtime($mixfile) > filemti
{
$mixhelpinfo .= "<td class=\"b3\" ";
if ($i==0) $mixhelpinfo .= "height=20px ";
include_once GAME_ROOT.'./include/game/itemplace.func.php';
if ($val['stuff'][$i]!='-') $mixhelpinfo .= "title=\"".get_item_place($val['stuff'][$i])."\" ";
$mixhelpinfo .= "><span>{$val['stuff'][$i]}</span></td>";
//修复加入悬浮提示后出现的问题。
......
......@@ -160,7 +160,7 @@ function post_back_vn_cache_file($data,$arr,$t=NULL)
$cont = str_replace('?>','',str_replace('<?','<?php',$checkstr));
$cont .= '$carr = ' . var_export($carr,1).";\r\n?>";
writeover($file, $cont);
chmod($cache_file,0777);
chmod($file,0777);
unlink($lock_file);
return 0;
}
......
......@@ -4,6 +4,16 @@ function $(id) {
return document.getElementById(id);
}
//dialog
function showDialog(id){
id.show();
}
function showModalDialog(id){
id.showModal();
}
function closeDialog(id){
id.close();
}
//时间检查
function checkTime(i)
......
......@@ -3,6 +3,143 @@ if (! defined ( 'IN_GAME' )) {
exit ( 'Access Denied' );
}
function get_npc_helpinfo($nlist)
{
global $plsinfo,$hplsinfo,$gamecfg,$iteminfo,$clubinfo;
//登记非功能性地点信息时合并隐藏地点
foreach($hplsinfo as $hgroup=>$hpls) $plsinfo += $hpls;
$tnlist = $nlist;
foreach ($tnlist as $i => $npcs)
{
if(!empty($npcs))
{
foreach($npcs['sub'] as $n => $npc)
{
$snpc = array_merge($npcs,$npc);
unset($snpc['sub']);
foreach(Array('p','k','g','c','d','f') as $val)
{
if(isset($snpc['w'.$val]))
{
if(isset($snpc['skill']))
{
$snpc['skill'] .= '(?)';
}
else
{
$snpc['skill'] = '不定';
}
break;
}
}
if($snpc['gd'] == 'm' || $snpc['gd'] == 'f')
{
$snpc['gd'] = $snpc['gd']=='m' ? '男' : '女';
}
else
{
$snpc['gd'] = '未知';
}
$snpc['pls'] = $snpc['pls']==99 ? '随机' : $plsinfo[$snpc['pls']];
$snpc['club'] = $snpc['club']==99 ? '第一形态' : $clubinfo[$snpc['club']];
//合并装备名
foreach(Array('wep','arb','arh','ara','arf','art') as $t1)
{
foreach(Array('','k','e','s','sk') as $t2)
{
if(isset($snpc[$t1.$t2]))
{
//为装备名添加tooltip效果
if($t2 == '')
{
$snpc[$t1.$t2] = parse_itm_desc($snpc[$t1.$t2],'m');
}
//为装备类别添加tooltip效果
elseif($t2 == 'k')
{
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')
{
$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] = '-';
}
}
}
//合并道具名
for($ni=0;$ni<=6;$ni++)
{
foreach(Array('','k','e','s','sk') as $t2)
{
if(isset($snpc['itm'.$t2.$ni]))
{
//为装备名添加tooltip效果
if($t2 == '')
{
$snpc['itm'.$t2.$ni] = parse_itm_desc($snpc['itm'.$t2.$ni],'m');
}
//为装备类别添加tooltip效果
elseif($t2 == 'k')
{
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')
{
$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');
}
}
}
}
}
}
$tnlist[$i]['sub'][$n] = $snpc;
unset($snpc);
}
}
}
return $tnlist;
}
function get_item_place($which)
{
global $plsinfo,$hplsinfo,$gamecfg;
......
......@@ -557,34 +557,34 @@ function player_format_with_db_structure($data){
function parse_itm_desc($n,$t,$short=0,$c=NULL)
{
global $iteminfo,$itemspkinfo;
//我再也不敢把变量名起的又臭又长了
global $iteminfo_tooltip,$itemkinfo_tooltip,$itemspkinfo_tooltip,$iteminfo_tooltip_desc;
$s = "<span "; $p1 = ''; $p2 = ''; $ret = '';
$span = "<span "; $p1 = "tooltip=\""; $p2 = "class=\""; $ret1 = ''; $ret2 = ''; $ret = '';
switch($t)
{
//处理类别
case $t=='k':
if(isset($itemkinfo_tooltip[$n]['title'])) $p1 = "title=\"".$itemkinfo_tooltip[$n]['title']."\"";
if(isset($itemkinfo_tooltip[$n]['class'])) $p2 = "class=\"".$itemkinfo_tooltip[$n]['class']."\"";
if(isset($itemkinfo_tooltip[$n]['title'])) $ret1 = $itemkinfo_tooltip[$n]['title']."\"";
if(isset($itemkinfo_tooltip[$n]['class'])) $ret2 = $itemkinfo_tooltip[$n]['class']."\"";
$n = $iteminfo[$n];
break;
//处理属性
case $t=='sk':
//如果传入的n为数组,且开启缩写模式,则输出一段缩写
if($short && is_array($n))
if($short && is_array($n) && count($n)>1)
{
$p1 = "title=\"";
$sk1 = $itemspkinfo[current($n)]; $sk2 = $itemspkinfo[end($n)]; $skn = '';
foreach($n as $sk_value)
{
if(!empty($skn)) $skn .='+'.$itemspkinfo[$sk_value];
else $skn = $itemspkinfo[$sk_value];
}
$p1.=$skn; $n = $sk1.'+...+'.$sk2; $p2 = "\"";
$ret1=$skn; $n = $sk1.'+...+'.$sk2; $ret1.= "\"";
}
else
{
if(isset($itemspkinfo_tooltip[$n]['title'])) $p1 = "title=\"".$itemspkinfo_tooltip[$n]['title']."\"";
if(isset($itemspkinfo_tooltip[$n]['class'])) $p2 = "class=\"".$itemspkinfo_tooltip[$n]['class']."\"";
if(isset($itemspkinfo_tooltip[$n]['title'])) $ret1= $itemspkinfo_tooltip[$n]['title']."\"";
if(isset($itemspkinfo_tooltip[$n]['class'])) $ret2= $itemspkinfo_tooltip[$n]['class']."\"";
$n = $itemspkinfo[$n];
}
break;
......@@ -595,21 +595,25 @@ function parse_itm_desc($n,$t,$short=0,$c=NULL)
{
if(is_array($iteminfo_tooltip[$filter_n]))
{
if(isset($iteminfo_tooltip[$filter_n]['title'])) $p1 = "title=\"".$iteminfo_tooltip[$filter_n]['title']."\"";
if(isset($iteminfo_tooltip[$filter_n]['class'])) $p2 = "class=\"".$iteminfo_tooltip[$filter_n]['class']."\"";
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']."\"";
}
elseif(isset($iteminfo_tooltip_desc[$iteminfo_tooltip[$filter_n]]))
{ //使用可复用描述 越来越离谱了
if(isset($iteminfo_tooltip_desc[$iteminfo_tooltip[$filter_n]]['title'])) $p1 = "title=\"".$iteminfo_tooltip_desc[$iteminfo_tooltip[$filter_n]]['title']."\"";
if(isset($iteminfo_tooltip_desc[$iteminfo_tooltip[$filter_n]]['class'])) $p2 = "class=\"".$iteminfo_tooltip_desc[$iteminfo_tooltip[$filter_n]]['class']."\"";
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']."\"";
}
}
break;
}
//传入了样式 且道具没有与预设匹配的样式 则使用传入的样式
if(isset($c) && !$p2) $p2 = "class=\"".$c."\"";
$p3 = " >"; $e = "</span>";
$ret = $s.$p1.$p2.$p3.$n.$e;
$ret = $span;
if(!empty($ret1)) $ret .= $p1.$ret1;
if(!empty($ret2))
{
if(isset($c)) $ret2 = $c."\"";
$ret .= $p2.$ret2;
}
$ret .= ">".$n."</span>";
return $ret;
}
......
......@@ -144,7 +144,14 @@ function get_itm_namelist()
include_once config('addnpc',$gamecfg);
include_once config('evonpc',$gamecfg);
$nownpclist = Array();
$nownpclist = array_merge($npcinfo,$anpcinfo,$enpcinfo);
$nownpclist = $npcinfo+$anpcinfo;
foreach($enpcinfo as $ekey => $enpcs)
{
foreach($enpcs as $sname => $enpc)
{
$nownpclist[$ekey]['sub'][$sname] = $enpc;
}
}
foreach($nownpclist as $npcs)
{
foreach(array('wep','arb','arh','ara','arf','art','itm1','itm2','itm3','itm4','itm5','itm6') as $nipval)
......
......@@ -12,6 +12,19 @@
{template npcinfohelp}
<!--{/loop}-->
<br>
此外,游戏中还存在着满足条件才能够召唤的特殊BOSS NPC。他们通常拥有独特的战斗机制,很难使用常规的战斗方式击败:
<input class="cmdbutton" onclick="showModalDialog($('ty2a'))" value="点击这里查看特殊BOSS NPC" type="button">
<br>
<dialog id="ty2a">
<p><span class="lime b">参战者 红暮&蓝凝 简介:</span></p>
<p>使用【我想要领略真正的红杀之力】后,应约而来的红暮&蓝凝。要战胜她们,光凭蛮力是行不通的……</p>
<br>
<!--{loop $ty2a $vkind $kind}-->
{template npcinfohelp_a}
<!--{/loop}-->
<img class="dialog-background" src="img/profile.gif" onclick="closeDialog($('ty2a'))">
</dialog>
<br>
<p><span class="lime">真职人 NPC简介</span></p>
此类NPC在开局对<span class="yellow">无防具的玩家有较大威胁</span>,这类NPC的特点是<span class="yellow">防御非常高</span>,且<span class="yellow">武器均带有“电击+冻气+带毒+火焰+音波”属性</span>,很容易导致玩家中异常状态。<br>如果防具很差,或没有属性防御也没钱买药剂,请不要贸然攻击它们,否则很可能导致自己中大量异常状态后难以恢复,苦不堪言。<br>
当然,击杀这些NPC后可以获取<span class="lime">极为优秀的防具</span>,在游戏中后期<span class="lime">击杀它们并拾取它们的防具保护自己</span>往往是玩家取胜的关键。<br>
......@@ -36,8 +49,19 @@
{template npcinfohelp}
<!--{/loop}-->
<br>
<p><span class="lime">二重NPC 简介</span></p>
此类NPC对玩家无威胁,但当玩家击杀它们后,它们会变身为<span class="yellow">“第二形态”</span>,此时<span class="yellow">攻击力会变得极强</span><br>可别不小心击杀了它们后被第二形态秒杀哦~ 不过,当自己处于劣势时,偷偷击杀这类NPC,并期望对手撞上它们并被它们秒杀,也是不错的翻盘思路哦~<br>
<input class="cmdbutton" onclick="showModalDialog($('ty6e'))" value="点击这里查看" type="button">她们的第二形态。<br>
<dialog id="ty6e">
<p><span class="lime b">数据碎片第二形态NPC简介</span></p>
<p>女主们的第二形态实力强大,无准备的情况下遭遇她们<span class="yellow b">有性命之忧!</span>不过,击倒她们也是<span class="lime b">特殊胜利</span>的必经之路。</p>
<br>
<!--{loop $ty6e $vkind $kind}-->
{template npcinfohelp_e}
<!--{/loop}-->
<img class="dialog-background" src="img/profile.gif" onclick="closeDialog($('ty6e'))">
</dialog>
<br>
<!--{loop $ty6 $vkind $kind}-->
{template npcinfohelp}
......@@ -50,6 +74,17 @@
下列的每一种卡池,可以刷出对应卡池的NPC。<br>
<span class="yellow">Vol.1:电掣召唤仪</span><br>
该物品可刷出以下NPC:<br>
<!--<input class="cmdbutton" onclick="showModalDialog($('ty11e'))" value="点击这里查看" type="button">她们的第二形态。<br>-->
<dialog id="ty11e">
<p><span class="lime b">电掣第二形态NPC简介</span></p>
<p></p>
<br>
<!--{loop $ty11e $vkind $kind}-->
{template npcinfohelp_e}
<!--{/loop}-->
<input class="cmdbutton" onclick="closeDialog($('ty11e'))" value="关闭窗口" type="button">
<img class="dialog-background" src="img/profile.gif" onclick="closeDialog($('ty11e'))">
</dialog>
<br>
<!--{loop $ty11 $vkind $kind}-->
{template npcinfohelp}
......
This diff is collapsed.
<!--{loop $anpcinfo[$kind]['sub'] $key $value}-->
<!--{if isset($npcdescription[$kind]['sub'][$key]['description']) && is_numeric($key)}-->
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td>
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td>
<span class="icon">
<IMG width=140px src="img/n_$anpcinfo[$kind]['sub'][$key]['icon'].gif" border="0" valign="middle"/>
<!--{if file_exists('img/n_'.$anpcinfo[$kind]['sub'][$key]['icon'].'a.gif')}-->
<div class="icona">
<IMG class="aicon" width=140px src="img/n_$anpcinfo[$kind]['sub'][$key]['icon']a.gif">
</div>
<!--{/if}-->
</span>
</td>
<td>
<table border="1" height=100% width=100% cellspacing="0" cellpadding="0">
<tr>
<td width=100px align="center" class="b1">
NPC类别
</td>
<td width=100px align="center" class="b3">
$typeinfo[$kind]
</td>
<td width=100px align="center" class="b1">
数目
</td>
<td width=100px align="center" class="b3">
<!--{if $npcdescription[$kind]['sub'][$key]['count']>0}-->
$npcdescription[$kind]['sub'][$key]['count']
<!--{else}-->
-
<!--{/if}-->
</td>
<td width=100px align="center" class="b1">
所处地点
</td>
<td width=100px align="center" class="b3">
<span class="yellow">
$anpcinfo[$kind]['sub'][$key]['pls']
</span>
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
NPC等级
</td>
<td width=100px align="center" class="b3">
<span>
Lv. $anpcinfo[$kind]['sub'][$key]['lvl']
</span>
</td>
<td width=100px align="center" class="b1">
NPC名称
</td>
<td width=100px align="center" class="b3">
<span class="lime">
$anpcinfo[$kind]['sub'][$key]['name']
</span>
</td>
<td width=100px align="center" class="b1">
性别
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['gd']
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
内定称号
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['club']
</td>
<td width=100px align="center" class="b1">
{lang pose}
</td>
<td width=100px align="center" class="b3">
$poseinfo[$anpcinfo[$kind]['sub'][$key]['pose']]
</td>
<td width=100px align="center" class="b1">
{lang tactic}
</td>
<td width=100px align="center" class="b3">
$tacinfo[$anpcinfo[$kind]['sub'][$key]['tactic']]
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
生命上限
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['mhp']
</td>
<td width=100px align="center" class="b1">
熟练度
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['skill']
</td>
<td width=100px align="center" class="b1">
怒气值
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['rage']
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
基础攻击
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['att']
</td>
<td width=100px align="center" class="b1">
基础防御
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['def']
</td>
<td width=100px align="center" class="b1">
掉落金钱
</td>
<td width=100px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['money']
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td width=140px>
$npcdescription[$kind]['sub'][$key]['description']
</td>
<td>
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td width=100px align="center" class="b1">
武器名称
</td>
<td width=505px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['wep']/$anpcinfo[$kind]['sub'][$key]['wepk']/$anpcinfo[$kind]['sub'][$key]['wepe']/$anpcinfo[$kind]['sub'][$key]['weps']<!--{if isset($anpcinfo[$kind]['sub'][$key]['wepsk_words'])}-->/$anpcinfo[$kind]['sub'][$key]['wepsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
身体装备
</td>
<td width=505px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['arb']/$anpcinfo[$kind]['sub'][$key]['arbe']/$anpcinfo[$kind]['sub'][$key]['arbs']<!--{if isset($anpcinfo[$kind]['sub'][$key]['arbsk_words'])}-->/$anpcinfo[$kind]['sub'][$key]['arbsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
头部装备
</td>
<td width=505px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['arh']/$anpcinfo[$kind]['sub'][$key]['arhe']/$anpcinfo[$kind]['sub'][$key]['arhs']<!--{if isset($anpcinfo[$kind]['sub'][$key]['arhsk_words'])}-->/$anpcinfo[$kind]['sub'][$key]['arhsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
手臂装备
</td>
<td width=505px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['ara']/$anpcinfo[$kind]['sub'][$key]['arae']/$anpcinfo[$kind]['sub'][$key]['aras']<!--{if isset($anpcinfo[$kind]['sub'][$key]['arask_words'])}-->/$anpcinfo[$kind]['sub'][$key]['arask_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
腿部装备
</td>
<td width=505px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['arf']/$anpcinfo[$kind]['sub'][$key]['arfe']/$anpcinfo[$kind]['sub'][$key]['arfs']<!--{if isset($anpcinfo[$kind]['sub'][$key]['arfsk_words'])}-->/$anpcinfo[$kind]['sub'][$key]['arfsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
饰品
</td>
<td width=505px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['art']/$anpcinfo[$kind]['sub'][$key]['artk']<!--{if isset($anpcinfo[$kind]['sub'][$key]['artsk_words'])}-->/$anpcinfo[$kind]['sub'][$key]['artsk_words']<!--{/if}-->
</td>
</tr>
<!--{loop $itemlst $id $vid}-->
<!--{if isset($anpcinfo[$kind]['sub'][$key]['itm'.$id])}-->
<tr>
<td width=100px align="center" class="b1">
掉落物品
</td>
<td width=505px align="center" class="b3">
$anpcinfo[$kind]['sub'][$key]['itm'.$id]/$anpcinfo[$kind]['sub'][$key]['itmk'.$id]/$anpcinfo[$kind]['sub'][$key]['itme'.$id]/$anpcinfo[$kind]['sub'][$key]['itms'.$id]<!--{if isset($anpcinfo[$kind]['sub'][$key]['itmsk'.$id.'_words'])}-->/$anpcinfo[$kind]['sub'][$key]['itmsk'.$id.'_words']<!--{/if}-->
</td>
</tr>
<!--{/if}-->
<!--{/loop}-->
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<!--{/if}-->
<!--{/loop}-->
<!--{loop $npcinfo[$kind]['sub'] $key $value}-->
<!--{if !is_numeric($key)}-->
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td>
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td>
<span class="icon">
<IMG width=140px src="img/n_$npcinfo[$kind]['sub'][$key]['icon'].gif" border="0" valign="middle"/>
<!--{if file_exists('img/n_'.$npcinfo[$kind]['sub'][$key]['icon'].'a.gif')}-->
<div class="icona">
<IMG class="aicon" width=140px src="img/n_$npcinfo[$kind]['sub'][$key]['icon']a.gif">
</div>
<!--{/if}-->
</span>
</td>
<td>
<table border="1" height=100% width=100% cellspacing="0" cellpadding="0">
<tr>
<td width=100px align="center" class="b1">
NPC类别
</td>
<td width=100px align="center" class="b3">
$typeinfo[$kind]
</td>
<td width=100px align="center" class="b1">
数目
</td>
<td width=100px align="center" class="b3">
<!--{if $npcdescription[$kind]['sub'][$key]['count']>0}-->
$npcdescription[$kind]['sub'][$key]['count']
<!--{else}-->
-
<!--{/if}-->
</td>
<td width=100px align="center" class="b1">
所处地点
</td>
<td width=100px align="center" class="b3">
<span class="yellow">
原地
</span>
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
NPC等级
</td>
<td width=100px align="center" class="b3">
<span>
Lv. $npcinfo[$kind]['sub'][$key]['lvl']
</span>
</td>
<td width=100px align="center" class="b1">
NPC名称
</td>
<td width=100px align="center" class="b3">
<span class="lime">
$npcinfo[$kind]['sub'][$key]['name']
</span>
</td>
<td width=100px align="center" class="b1">
性别
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['gd']
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
内定称号
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['club']
</td>
<td width=100px align="center" class="b1">
{lang pose}
</td>
<td width=100px align="center" class="b3">
$poseinfo[$npcinfo[$kind]['sub'][$key]['pose']]
</td>
<td width=100px align="center" class="b1">
{lang tactic}
</td>
<td width=100px align="center" class="b3">
$tacinfo[$npcinfo[$kind]['sub'][$key]['tactic']]
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
生命上限
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['mhp']
</td>
<td width=100px align="center" class="b1">
熟练度
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['skill']
</td>
<td width=100px align="center" class="b1">
怒气值
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['rage']
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
基础攻击
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['att']
</td>
<td width=100px align="center" class="b1">
基础防御
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['def']
</td>
<td width=100px align="center" class="b1">
掉落金钱
</td>
<td width=100px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['money']
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td width=140px>
$npcdescription[$kind]['sub'][$key]['description']
</td>
<td>
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td width=100px align="center" class="b1">
武器名称
</td>
<td width=505px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['wep']/$npcinfo[$kind]['sub'][$key]['wepk']/$npcinfo[$kind]['sub'][$key]['wepe']/$npcinfo[$kind]['sub'][$key]['weps']<!--{if isset($npcinfo[$kind]['sub'][$key]['wepsk_words'])}-->/$npcinfo[$kind]['sub'][$key]['wepsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
身体装备
</td>
<td width=505px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['arb']/$npcinfo[$kind]['sub'][$key]['arbe']/$npcinfo[$kind]['sub'][$key]['arbs']<!--{if isset($npcinfo[$kind]['sub'][$key]['arbsk_words'])}-->/$npcinfo[$kind]['sub'][$key]['arbsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
头部装备
</td>
<td width=505px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['arh']/$npcinfo[$kind]['sub'][$key]['arhe']/$npcinfo[$kind]['sub'][$key]['arhs']<!--{if isset($npcinfo[$kind]['sub'][$key]['arhsk_words'])}-->/$npcinfo[$kind]['sub'][$key]['arhsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
手臂装备
</td>
<td width=505px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['ara']/$npcinfo[$kind]['sub'][$key]['arae']/$npcinfo[$kind]['sub'][$key]['aras']<!--{if isset($npcinfo[$kind]['sub'][$key]['arask_words'])}-->/$npcinfo[$kind]['sub'][$key]['arask_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
腿部装备
</td>
<td width=505px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['arf']/$npcinfo[$kind]['sub'][$key]['arfe']/$npcinfo[$kind]['sub'][$key]['arfs']<!--{if isset($npcinfo[$kind]['sub'][$key]['arfsk_words'])}-->/$npcinfo[$kind]['sub'][$key]['arfsk_words']<!--{/if}-->
</td>
</tr>
<tr>
<td width=100px align="center" class="b1">
饰品
</td>
<td width=505px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['art']/$npcinfo[$kind]['sub'][$key]['artk']<!--{if isset($npcinfo[$kind]['sub'][$key]['artsk_words'])}-->/$npcinfo[$kind]['sub'][$key]['artsk_words']<!--{/if}-->
</td>
</tr>
<!--{loop $itemlst $id $vid}-->
<!--{if isset($npcinfo[$kind]['sub'][$key]['itm'.$id])}-->
<tr>
<td width=100px align="center" class="b1">
掉落物品
</td>
<td width=505px align="center" class="b3">
$npcinfo[$kind]['sub'][$key]['itm'.$id]/$npcinfo[$kind]['sub'][$key]['itmk'.$id]/$npcinfo[$kind]['sub'][$key]['itme'.$id]/$npcinfo[$kind]['sub'][$key]['itms'.$id]<!--{if isset($npcinfo[$kind]['sub'][$key]['itmsk'.$id.'_words'])}-->/$npcinfo[$kind]['sub'][$key]['itmsk'.$id.'_words']<!--{/if}-->
</td>
</tr>
<!--{/if}-->
<!--{/loop}-->
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<!--{/if}-->
<!--{/loop}-->
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment