Commit 931ed93a authored by Nemo Ma's avatar Nemo Ma Committed by GitHub

Merge pull request #192 from hikawiier/waaagh

horizon phase o.21
parents a74d4137 c36a0718
......@@ -82,6 +82,10 @@ vendor
# env file
.env
# daemon
daemon*
# 录像文件
records
......
......@@ -172,12 +172,19 @@ if($gamblingon){
//发news
$gbinfo .= "花费{$cost_credits2}切糕购买了{$bnum}{$iteminfo['item']}。<br>";
addnews($now,'gpost',$sponsor_title.' '.$udata['username'],$iteminfo['item'],$bdata['nick'].' '.$bdata['name'],$bdata['pls'],$bnum);
//打包快递给快递员 返回新生成的快递员pid
$gclb = Array('clbpara'=>Array('sponsor'=>$uid,'post'=>$bet,'postid'=>6),); //记录赞助者的uid、收货方的pid、道具位置
$gitem = Array(6,$iteminfo['item'],$iteminfo['itmk'],$iteminfo['itme'],$iteminfo['itms']*$bnum,$iteminfo['itmsk']);//打包快递
//include_once GAME_ROOT.'./include/system.func.php';
$nid = addnpc($gnpctype,$gnpcsub,1,$now,$gclb,$gitem,$bdata['pls'])[0];
# 为快递员NPC添加一些自定义参数
$gnpcdata = Array();
$gnpcdata['pls'] = $bdata['pls'];
$gnpcdata['clbpara'] = Array('sponsor'=>$uid,'post'=>$bet,'postid'=>6);
$gnpcdata['itm6'] = $iteminfo['item']; $gnpcdata['itmk6'] = $iteminfo['itmk'];
$gnpcdata['itme6'] = $iteminfo['itme']; $gnpcdata['itms6'] = $iteminfo['itms']*$bnum;
$gnpcdata['itmsk6'] = $iteminfo['itmsk'];
# 召唤快递员NPC,获取其PID
$nid = addnpc($gnpctype,$gnpcsub,1,$now,$gnpcdata)[0];
$gbinfo .= "快递员已带着你赞助的商品前往{$bdata['name']}所在的位置!谢谢惠顾~<br>";
//存一条发快递记录到gambling表里,一个玩家在快递被接收前不能发第二份快递。防止有人狂买低价商品挤爆players表。
//有过投注记录
if($gbnum && isset($gbeddata[$udata['uid']])) $db->query("UPDATE {$tablepre}gambling SET bnid='$nid' WHERE uid='$uid'");
......
......@@ -46,9 +46,9 @@
if ($tdata['weps'] && $tdata['wepe']) {
$list[] = array(
"key" => "wep",
"type" => parse_info_desc($tdata['wepk'], 'k'),
"name" => $tdata['wep'],
"props" => $tdata['wepsk'] ? parse_info_desc($tdata['wepsk'], 'sk', 'wepsk', 1) : '',
"type" => parse_kinfo_desc($tdata['wepk'], $tdata['wepsk']),
"name" => parse_nameinfo_desc($tdata['wep'],$tdata['horizon']),
"props" => $tdata['wepsk'] ? parse_skinfo_desc($tdata['wepsk'], $tdata['wepk'] , 1) : '',
"quality" => $tdata['wepe'],
"durability" => $tdata['weps'],
);
......@@ -57,9 +57,9 @@
if ($tdata['arbs'] && $tdata['arbe']) {
$list[] = array(
"key" => "arb",
"type" => parse_info_desc($tdata['arbk'], 'k'),
"name" => $tdata['arb'],
"props" => $tdata['arbsk'] ? parse_info_desc($tdata['arbsk'], 'sk', 'arbsk', 1) : '',
"type" => parse_kinfo_desc($tdata['arbk'], $tdata['arbsk']),
"name" => parse_nameinfo_desc($tdata['arb'],$tdata['horizon']),
"props" => $tdata['arbsk'] ? parse_skinfo_desc($tdata['arbsk'], $tdata['arbk'] , 1) : '',
"quality" => $tdata['arbe'],
"durability" => $tdata['arbs'],
);
......@@ -68,9 +68,9 @@
if ($tdata['arhs']) {
$list[] = array(
"key" => "arh",
"type" => parse_info_desc($tdata['arhk'], 'k'),
"name" => $tdata['arh'],
"props" => $tdata['arhsk'] ? parse_info_desc($tdata['arhsk'], 'sk', 'arhsk', 1) : '',
"type" => parse_kinfo_desc($tdata['arhk'], $tdata['arhsk']),
"name" => parse_nameinfo_desc($tdata['arh'],$tdata['horizon']),
"props" => $tdata['arhsk'] ? parse_skinfo_desc($tdata['arhsk'], $tdata['arhk'] , 1) : '',
"quality" => $tdata['arhe'],
"durability" => $tdata['arhs'],
);
......@@ -79,9 +79,9 @@
if ($tdata['aras']) {
$list[] = array(
"key" => "ara",
"type" => parse_info_desc($tdata['arak'], 'k'),
"name" => $tdata['ara'],
"props" => $tdata['arask'] ? parse_info_desc($tdata['arask'], 'sk', 'arask', 1) : '',
"type" => parse_kinfo_desc($tdata['arak'], $tdata['arask']),
"name" => parse_nameinfo_desc($tdata['ara'],$tdata['horizon']),
"props" => $tdata['arask'] ? parse_skinfo_desc($tdata['arask'], $tdata['arak'] , 1) : '',
"quality" => $tdata['arae'],
"durability" => $tdata['aras'],
);
......@@ -90,9 +90,9 @@
if ($tdata['arfs']) {
$list[] = array(
"key" => "arf",
"type" => parse_info_desc($tdata['arfk'], 'k'),
"name" => $tdata['arf'],
"props" => $tdata['arfsk'] ? parse_info_desc($tdata['arfsk'], 'sk', 'arfsk', 1) : '',
"type" => parse_kinfo_desc($tdata['arfk'], $tdata['arfsk']),
"name" => parse_nameinfo_desc($tdata['arf'],$tdata['horizon']),
"props" => $tdata['arfsk'] ? parse_skinfo_desc($tdata['arfsk'], $tdata['arfk'] , 1) : '',
"quality" => $tdata['arfe'],
"durability" => $tdata['arfs'],
);
......@@ -101,9 +101,9 @@
if ($tdata['arts']) {
$list[] = array(
"key" => "art",
"type" => parse_info_desc($tdata['artk'], 'k'),
"name" => $tdata['art'],
"props" => $tdata['artsk'] ? parse_info_desc($tdata['artsk'], 'sk', 'artsk', 1) : '',
"type" => parse_kinfo_desc($tdata['artk'], $tdata['artsk']),
"name" => parse_nameinfo_desc($tdata['art'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['artsk'], $tdata['artk'] , 1) : '',
"quality" => $tdata['arte'],
"durability" => $tdata['arts'],
);
......@@ -112,9 +112,9 @@
if ($tdata['itms0']) {
$list[] = array(
"key" => "itm0",
"type" => parse_info_desc($tdata['itmk0'], 'k'),
"name" => $tdata['itm0'],
"props" => $tdata['itmsk0'] ? parse_info_desc($tdata['itmsk0'], 'sk', 'itmsk0', 1) : '',
"type" => parse_kinfo_desc($tdata['itmk0'], $tdata['itmsk0']),
"name" => parse_nameinfo_desc($tdata['itm0'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['itmsk0'], $tdata['itmk0'] , 1) : '',
"quality" => $tdata['itme0'],
"durability" => $tdata['itms0'],
);
......@@ -123,9 +123,9 @@
if ($tdata['itms1']) {
$list[] = array(
"key" => "itm1",
"type" => parse_info_desc($tdata['itmk1'], 'k'),
"name" => $tdata['itm1'],
"props" => $tdata['itmsk1'] ? parse_info_desc($tdata['itmsk1'], 'sk', 'itmsk1', 1) : '',
"type" => parse_kinfo_desc($tdata['itmk1'], $tdata['itmsk1']),
"name" => parse_nameinfo_desc($tdata['itm1'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['itmsk1'], $tdata['itmk1'] , 1) : '',
"quality" => $tdata['itme1'],
"durability" => $tdata['itms1'],
);
......@@ -134,9 +134,9 @@
if ($tdata['itms2']) {
$list[] = array(
"key" => "itm2",
"type" => parse_info_desc($tdata['itmk2'], 'k'),
"name" => $tdata['itm2'],
"props" => $tdata['itmsk2'] ? parse_info_desc($tdata['itmsk2'], 'sk', 'itmsk2', 1) : '',
"type" => parse_kinfo_desc($tdata['itmk2'], $tdata['itmsk2']),
"name" => parse_nameinfo_desc($tdata['itm2'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['itmsk2'], $tdata['itmk2'] , 1) : '',
"quality" => $tdata['itme2'],
"durability" => $tdata['itms2'],
);
......@@ -145,9 +145,9 @@
if ($tdata['itms3']) {
$list[] = array(
"key" => "itm3",
"type" => parse_info_desc($tdata['itmk3'], 'k'),
"name" => $tdata['itm3'],
"props" => $tdata['itmsk3'] ? parse_info_desc($tdata['itmsk3'], 'sk', 'itmsk3', 1) : '',
"type" => parse_kinfo_desc($tdata['itmk3'], $tdata['itmsk3']),
"name" => parse_nameinfo_desc($tdata['itm3'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['itmsk3'], $tdata['itmk3'] , 1) : '',
"quality" => $tdata['itme3'],
"durability" => $tdata['itms3'],
);
......@@ -156,9 +156,9 @@
if ($tdata['itms4']) {
$list[] = array(
"key" => "itm4",
"type" => parse_info_desc($tdata['itmk4'], 'k'),
"name" => $tdata['itm4'],
"props" => $tdata['itmsk4'] ? parse_info_desc($tdata['itmsk4'], 'sk', 'itmsk4', 1) : '',
"type" => parse_kinfo_desc($tdata['itmk4'], $tdata['itmsk4']),
"name" => parse_nameinfo_desc($tdata['itm4'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['itmsk4'], $tdata['itmk4'] , 1) : '',
"quality" => $tdata['itme4'],
"durability" => $tdata['itms4'],
);
......@@ -167,9 +167,9 @@
if ($tdata['itms5']) {
$list[] = array(
"key" => "itm5",
"type" => parse_info_desc($tdata['itmk5'], 'k'),
"name" => $tdata['itm5'],
"props" => $tdata['itmsk5'] ? parse_info_desc($tdata['itmsk5'], 'sk', 'itmsk5', 1) : '',
"type" => parse_kinfo_desc($tdata['itmk5'], $tdata['itmsk5']),
"name" => parse_nameinfo_desc($tdata['itm5'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['itmsk5'], $tdata['itmk5'] , 1) : '',
"quality" => $tdata['itme5'],
"durability" => $tdata['itms5'],
);
......@@ -178,9 +178,9 @@
if ($tdata['itms6']) {
$list[] = array(
"key" => "itm6",
"type" => parse_info_desc($tdata['itmk6'], 'k'),
"name" => $tdata['itm6'],
"props" => $tdata['itmsk6'] ? parse_info_desc($tdata['itmsk6'], 'sk', 'itmsk6', 1) : '',
"type" => parse_kinfo_desc($tdata['itmk6'], $tdata['itmsk6']),
"name" => parse_nameinfo_desc($tdata['itm6'],$tdata['horizon']),
"props" => $tdata['artsk'] ? parse_skinfo_desc($tdata['itmsk6'], $tdata['itmk6'] , 1) : '',
"quality" => $tdata['itme6'],
"durability" => $tdata['itms6'],
);
......
......@@ -487,12 +487,6 @@ if($hp > 0){
if(strpos($command,'pose') === 0) {
$cpose = substr($command,4,1);
if(in_array($cpose,$apose)){
if($cpose == 8 && isset($clbpara['starttimes']['pose8']) && ($now < ($clbpara['starttimes']['pose8'] + 60))){
$log .= "现在无法切换至{$poseinfo[$cpose]}。剩余冷却时间:".round($clbpara['starttimes']['pose8'] + 60 - $now)."秒。<br>";
goto command_end_flag;
} elseif($cpose == 8) {
$clbpara['starttimes']['pose8'] = $now;
}
$pose = $cpose;
$log .= "基础姿态变为<span class=\"yellow\">$poseinfo[$pose]</span>。<br> ";
$mode = 'command';
......@@ -510,6 +504,19 @@ if($hp > 0){
$log .= "<span class=\"yellow\">这种策略太奇怪了!</span><br> ";
$mode = 'command';
}
} elseif(strpos($command,'hor') === 0) {
$chor = substr($command,3,1);
if(isset($horizoninfo[$chor])){
$horizon = $chor;
$log .= "视界切换为<span class=\"yellow\">$horizoninfo[$chor]</span>。<br> ";
# 切换视界后,丢失所有视野
lost_searchmemory('all',$pdata);
# 向页面发送刷新标记
$log .= "<span id='HsUipfcGhU'></span>";
}else{
$log .= "<span class=\"yellow\">这种想法太奇怪了!</span><br> ";
}
$mode = 'command';
} elseif(strpos($command,'inf') === 0) {
$infpos = substr($command,3,1);
chginf($infpos);
......
<?php
if(!defined('IN_GAME')) exit('Access Denied');
$anpcinfo = array
(
(
2 => array
(
'mode' => 2,
......@@ -10,20 +10,20 @@ $anpcinfo = array
'club' => 0,
'bid' => 0,
'inf' => '',
'rage' => 0,
'pose'=> 0,
'tactic' => 0,
'rage' => 80,
'pose'=> 1,
'tactic' => 2,
'killnum' => 0,
'rp' => 150,
'teamID' => '',
'teamPass' => '',
'pls' => 99,
'mhp' => 2300,
'mhp' => 2800,
'msp' => 200,
'att' => 250,
'def' => 350,
'lvl' => 25,
'skill' => 135,
'att' => 750,
'def' => 550,
'lvl' => 45,
'skill' => 175,
'money' => 1600,
'arb' => 'SSS战队校服',
'arbk' => 'DB',
......@@ -41,15 +41,17 @@ $anpcinfo = array
'arak' => 'DA',
'arae' => 75,
'aras' => 100,
// 'itm5' => '好人卡',
// 'itmk5' => 'Y',
// 'itme5' => 1,
// 'itms5' => 16,
'art' => '虚拟体角色卡',
'artk' => 'A',
'arte' => 75,
'arts' => 100,
'artsk' => 'c',
'sub' => array
(
0 => array
(
'name' => '水濑 名雪-改',
'description' => '全息幻象 水濑 名雪-改,掉落优秀的爆系武器和命体回复品。',
'icon' => 11,
'gd' => 'f',
'wep' => '大型闹钟',
......@@ -66,10 +68,16 @@ $anpcinfo = array
'itme2' => 33,
'itms2' => 2,
'itmsk2' => 'r',
'itm3' => '草莓圣代',
'itmk3' => 'HB',
'itme3' => 270,
'itms3' => 8,
'itmsk3' => '',
),
1 => array
(
'name' => '立华 奏-改',
'description' => '全息幻象 立华 奏-改,掉落优秀的殴系武器与歌魂增加道具。',
'icon' => 12,
'gd' => 'f',
'wep' => 'GS【伪Hand_Sonic】',
......@@ -86,10 +94,20 @@ $anpcinfo = array
'itme2' => 33,
'itms2' => 2,
'itmsk2' => 'r',
'itm3' => 'Angel Player',
'itmk3' => 'HM',
'itme3' => 30,
'itms3' => 1,
'itm4' => 'GS【HandSonic Ver.2】',
'itmk4' => 'WK',
'itme4' => 200,
'itms4' => 300,
'itmsk4' => 'k',
),
2 => array
(
'name' => '思念体-海马 濑人',
'description' => '全息幻象 思念体-海马 濑人,掉落优秀的斩系武器、强效的磨刀石与游戏王卡包。',
'icon' => 13,
'gd' => 'm',
'wep' => '【逆转的女神】',
......@@ -105,10 +123,15 @@ $anpcinfo = array
'itmk2' => 'Y',
'itme2' => 40,
'itms2' => 8,
'itm3' => '游戏王卡包',
'itmk3' => 'ygo',
'itme3' => 1,
'itms3' => 7,
),
3 => array
(
'name' => '思念体-触手众',
'description' => '全息幻象 思念体-触手众,掉落优秀的灵系武器、强效的钉子、攻防强化道具以及具有补给净化功能的饰品。',
'icon' => 14,
'gd' => 'm',
'wep' => '触手的力量',
......@@ -128,6 +151,184 @@ $anpcinfo = array
'itmk3' => 'WF',
'itme3' => 340,
'itms3' => 300,
'itm4' => '攻击之源',
'itmk4' => 'MA',
'itme4' => 24,
'itms4' => 4,
'itm5' => '防御之源',
'itmk5' => 'MD',
'itme5' => 24,
'itms5' => 2,
),
4 => array
(
'name' => '熵魔法传人 Howling',
'icon' => 'avatar_kh/howling_fk.jpg',
'horizon' => 1,
'gd' => 'f',
'mss' => 50,
'wep' => '爪拳 Haab',
'wepk' => 'WP',
'wepe' => 75,
'weps' => 200,
'arb' => '全息幻象的虚拟制服',
'arbk' => 'DB',
'arbe' => 150,
'arbs' => 100,
'arh' => '全息幻象的虚拟头带',
'arhk' => 'DH',
'arhe' => 75,
'arhs' => 100,
'arf' => '全息幻象的虚拟鞋子',
'arfk' => 'DF',
'arfe' => 75,
'arfs' => 100,
'ara' => '附魔之爪 Wayeb',
'arak' => 'DA',
'arae' => 75,
'aras' => 100,
'arask' => 'N',
'art' => '全息幻象的自律回路',
'artk' => 'A',
'arte' => 20,
'arts' => 10,
'artsk' => 'c',
'itm1' => '幻爪拳 Tonalpo',
'itmk1' => 'WP',
'itme1' => 260,
'itms1' => 200,
'itmsk1' => 'NwZ',
'itm2' => '异世界调味品',
'itmk2' => 'HB',
'itme2' => 222,
'itms2' => 8,
'description' => '全息幻象 熵魔法传人 Howling,于西之国漫雄公司畅销漫画《银月哨兵团》中登场的兽人少女,使用爪和魔法进行复合攻击。掉落优秀的殴系武器和命体回复品。',
),
5 => array
(
'name' => '幻影斗将神 S.A.S',
'icon' => 'avatar_kh/SAS_fk.jpg',
'horizon' => 1,
'gd' => 'f',
'mss' => 50,
'wep' => '破魔镰·断月',
'wepk' => 'WK',
'wepe' => 75,
'weps' => 200,
'arb' => '全息幻象的虚拟制服',
'arbk' => 'DB',
'arbe' => 150,
'arbs' => 100,
'arh' => '全息幻象的虚拟头带',
'arhk' => 'DH',
'arhe' => 75,
'arhs' => 100,
'arf' => '全息幻象的虚拟鞋子',
'arfk' => 'DF',
'arfe' => 75,
'arfs' => 100,
'ara' => '全息幻象的虚拟手套',
'arak' => 'DA',
'arae' => 75,
'aras' => 100,
'art' => '全息幻象的自律回路',
'artk' => 'A',
'arte' => 20,
'arts' => 10,
'artsk' => 'c',
'itm1' => '斩神镰·噬日',
'itmk1' => 'WK',
'itme1' => 280,
'itms1' => 100,
'itmsk1' => 'kn',
'description' => '全息幻象 幻影斗将神 S.A.S,本名叫做『Salina』,东之国著名角色扮演游戏《重生之地》的女主角之一,使用符合设定的巨大镰刀进行攻击。掉落优秀的斩系武器。',
),
6 => array
(
'name' => '银白愿天使 Annabelle',
'icon' => 'avatar_kh/annabelle_fk.jpg',
'horizon' => 1,
'gd' => 'f',
'mss' => 50,
'wep' => '『雷米尔之冲击』',
'wepk' => 'WC',
'wepe' => 75,
'weps' => 200,
'arb' => '全息幻象的虚拟制服',
'arbk' => 'DB',
'arbe' => 150,
'arbs' => 100,
'arh' => '全息幻象的虚拟头带',
'arhk' => 'DH',
'arhe' => 75,
'arhs' => 100,
'arf' => '神启之羽翼',
'arfk' => 'DF',
'arfe' => 100,
'arfs' => 100,
'arfsk' => 'MH',
'ara' => '全息幻象的虚拟手套',
'arak' => 'DA',
'arae' => 75,
'aras' => 100,
'art' => '全息幻象的自律回路',
'artk' => 'A',
'arte' => 20,
'arts' => 10,
'artsk' => 'c',
'itm1' => '卡牌包',
'itmk1' => 'ygo',
'itme1' => 1,
'itms1' => 7,
'itm2' => '赛路尔之磨刀石',
'itmk2' => 'Y',
'itme2' => 45,
'itms2' => 8,
'description' => '全息幻象 银白愿天使 Annabelle,东之国出品的以卡牌游戏《时空乱斗》为基础的卡牌角色兼可使用角色,使用各种卡牌作为飞行道具进行战斗。掉落(游戏王)卡牌包、强效的磨刀石以及带HP制御属性的腿部防具。',
),
7 => array
(
'name' => '通灵冒险家 星海',
'icon' => 'avatar_kh/xinghai_fk.jpg',
'horizon' => 1,
'gd' => 'f',
'mss' => 50,
'wep' => '5.45mm 无声手枪',
'wepk' => 'WG',
'wepe' => 75,
'weps' => 200,
'wepsk' => 'S',
'arb' => '全息幻象的虚拟制服',
'arbk' => 'DB',
'arbe' => 150,
'arbs' => 100,
'arh' => '全息幻象的虚拟头带',
'arhk' => 'DH',
'arhe' => 75,
'arhs' => 100,
'arf' => '全息幻象的虚拟鞋子',
'arfk' => 'DF',
'arfe' => 75,
'arfs' => 100,
'ara' => '全息幻象的虚拟手套',
'arak' => 'DA',
'arae' => 75,
'aras' => 100,
'art' => '全息幻象的自律回路',
'artk' => 'A',
'arte' => 20,
'arts' => 10,
'artsk' => 'c',
'itm1' => '『不可见的协助者』',
'itmk1' => 'WF',
'itme1' => 290,
'itms1' => 300,
'itmsk1' => 'i',
'itm3' => '潜意识信息播放器',
'itmk3' => 'HM',
'itme3' => 30,
'itms3' => 1,
'description' => '全息幻象 通灵冒险家 星海,东之国被改编成动画的科幻冒险网文《我,通灵者》的主角,以防身用的迷你手枪作为武器。掉落优秀的灵力兵器以及歌魂增加道具。',
),
),
),
......@@ -1378,7 +1579,8 @@ $anpcinfo = array
),
),
89 => array(
89 => array
(
'mode' => 1,
'num' => 1,
'pass' => 'bra',
......@@ -2324,8 +2526,9 @@ $anpcinfo = array
'bid' => 0,
'inf' => '',
'rage' => 13,
'pose'=> 8,
'tactic' => 0,
'pose'=> 7,
'tactic' => 2,
'horizon' => 1,
'killnum' => 0,
'teamID' => '',
'teamPass' => '',
......
......@@ -142,19 +142,19 @@ $weather_active_r = Array(
//姿态对攻击力的影响始终生效(1:只在作出先制攻击时生效)
$pose_attack_active = 0;
//姿态对攻击力的影响(单位:百分比加算)
$pose_attack_modifier = Array(0,100,0,-25,25,-50,50,-777,0);
$pose_attack_modifier = Array(0,100,0,-25,25,-50,50,-777);
//姿态对防御力的影响始终生效(1:只在受到先制攻击伤害时生效)
$pose_defend_active = 0;
//姿态对防御力的影响(单位:百分比加算)
$pose_defend_modifier = Array(0,25,0,-25,-50,-50,-466,777,10);
$pose_defend_modifier = Array(0,25,0,-25,-50,-50,-466,777);
//姿态对遇敌率的影响(遇敌率越低道具发现率越高)
$pose_find_modifier = Array(0,15,20,-20,20,5,80,85,10);
$pose_find_modifier = Array(0,15,20,-20,20,5,80,85);
//姿态对躲避率的影响
$pose_hide_modifier = Array(0,-25,-10,-10,10,-25,-80,-40,0);
$pose_hide_modifier = Array(0,-25,-10,-10,10,-25,-80,-40);
//姿态对先制率的影响(单位:百分比加算)(计算方式:进攻方姿态先制率-防守方姿态先制率)
$pose_active_modifier = Array(0,0,50,0,25,-5,5,-100,0);
$pose_active_modifier = Array(0,0,50,0,25,-5,5,-100);
//姿态对反击率的影响(单位:百分比加算)
$pose_counter_modifier = Array(0,0,0,0,0,-100,0,-100,0);
$pose_counter_modifier = Array(0,0,0,0,0,-100,0,-100);
//'通常','','重视防御','重视反击','重视躲避'
//应战策略对攻击力的影响始终生效(1:只在作出反击时生效)
......
......@@ -76,6 +76,11 @@ $mrage = 500;
//携带金钱上限
$moneylimit = 65500;
//移动需要消耗的最小SP
$movesp = 15;
//燃烧生命时移动时,生命&体力置换系数
$movehp = 1;
// 恢复量的设定
//体力恢复时间(秒):*秒1点恢复
$sleep_time = 3;
......
This diff is collapsed.
......@@ -118,6 +118,7 @@ $mixinfo = array
array('class' => 'item', 'stuff' => array('手机','笔记本电脑'),'result' => array('移动PC','EE',1,1,),),
array('class' => 'item', 'stuff' => array('高压线圈','原型武器G','原型武器C','某种机械设备'),'result' => array('电磁发射装置','X',1,1,''),),
//array('class' => 'item', 'stuff' => array('风见 幽香的ID卡','坂持 金发的ID卡','御坂 美琴的ID卡'),'result' => array('游戏解除钥匙','Y',1,1,),),
array('class' => 'item', 'stuff' => array('数据……碎片','全息幻象的自律回路'),'result' => array('调制解调器','Y',1,1,''),),
array('class' => 'item', 'stuff' => array('社员专用的ID卡','社员专用的ID卡','社员专用的ID卡'),'result' => array('游戏解除钥匙','Y',1,1,'v'),),
array('class' => 'item', 'stuff' => array('冰炎钥匙·炎','冰炎钥匙·冰'),'result' => array('游戏解除钥匙','Y',1,1,'Zv'),),
array('class' => 'item', 'stuff' => array('★荆棘式电子地雷★','★阔剑地雷★','★全图不唯一的野生巨大香蕉★'),'result' => array('★一发逆转神话★','TNc',1,1,'x'),),
......
This diff is collapsed.
......@@ -34,6 +34,13 @@ $action_list = Array
'pcover', //被敌人的协战者夹击时获得 bid为敌人协战者的id
);
//视界状态描述
$horizoninfo = Array
(
0 => '标准视界',
1 => '灵子视界',
);
//游戏状态描述
$gstate = Array(0 => '<font color="grey">已结束</font>',10 => '即将开始',20 => '开放激活',30 => '停止激活',40=> '<font color="yellow">连斗中</font>',50=>'<font color="red">死斗中</font>',60=>'<font color="red">紧急状态!</font>');
$gwin = Array(0 => '程序故障', 1 => '全部死亡',2 => '最后幸存',3 => '锁定解除',4 => '无人参加',5 => '核爆全灭',6 => 'GM中止',7=>'幻境解离');
......@@ -96,10 +103,10 @@ $hpinfo = Array('<span class="clan">并无大碍</span>','<span class="yellow">
$spinfo = Array('精力充沛','略有疲惫','精疲力尽','已经死亡');
$rageinfo = Array('平静','愤怒','暴怒','已经死亡');
$wepeinfo = Array('不值一提','略有威胁','威力可观','无敌神器');
$poseinfo = Array('通常','作战姿态','强袭姿态','探物姿态','偷袭姿态','治疗姿态','✧狂飙姿态✧','哨戒姿态','✧灵子姿态✧');
$poseinfo = Array('通常','作战姿态','强袭姿态','探物姿态','偷袭姿态','治疗姿态','✧狂飙姿态✧','哨戒姿态');
$tacinfo = Array('通常','','重视防御','重视反击','重视躲避');
//可供玩家选择的姿态、策略
$apose = Array(1,3,4,5,6,8);
$apose = Array(1,3,4,5,6);
$atac = Array(2,3,4);
//不会生成在危险地图的NPC(执行官、女主)
$hidding_typelist = Array(7,14);
......
......@@ -72,6 +72,10 @@ $tps_name = Array
'随机数之神的神力' => 2,'随机数之神的震撼' => 2,'随机数之神的摄理' => 2,'随机数之神的恶戏' => 2,
# 福袋惩罚物品
'乌黑的脸' => Array('title'=>"贪 心 不 足 蛇 吞 象"),
);
$tps_name_lore = Array
(
# 来自mtkkk的怪主意
'😂我太酷啦!😂' =>Array('class'=>'rainbow', 'title'=>"一个流汗黄豆模样的按钮,按下后立刻将自己炸成一朵烟花(自身死亡)。",),
# LORE,看了这些内容,还不考虑拆分这个文件么?总之先搞这么多……
......
......@@ -13,7 +13,7 @@ CREATE TABLE bra_players (
gd char(1) NOT NULL default 'm',
race char(32) NOT NULL default '0',
sNo smallint unsigned NOT NULL default '0',
icon smallint unsigned NOT NULL default '0',
icon varchar(255) NOT NULL DEFAULT '0',
club tinyint unsigned NOT NULL default '0',
endtime int(10) unsigned NOT NULL default '0',
validtime int(10) unsigned NOT NULL default '0',
......@@ -26,6 +26,7 @@ CREATE TABLE bra_players (
cdsec int(10) unsigned NOT NULL default '0',
cdmsec smallint(3) unsigned NOT NULL default '0',
cdtime int(10) unsigned NOT NULL DEFAULT '0',
horizon tinyint unsigned NOT NULL default '0',
action char(12) NOT NULL default '',
bid smallint unsigned NOT NULL default '0',
hp int(10) unsigned NOT NULL DEFAULT '0',
......
......@@ -42,18 +42,19 @@ $npcinfo = get_npc_helpinfo($npcinfo);
//print_r($npcinfo[14]['esub']);
$ty1[1]=1; $ty1[2]=88;
$ty2[1]=5; $ty2[2]=6;
$ty2[1]=Array(5,'asub'); $ty2[2]=Array(6,'asub');
$ty2a[1]=Array(19,'asub'); #真红蓝
$ty3[1]=11;
$ty3[1]=Array(11,'asub');
$ty4[1]=90; $ty4[2]=92;
$ty5[1]=2;
//$ty5[1]=2;
$ty5[1] = Array(2,'asub');
$ty6[1]=14; $ty6[2]=4;
$ty6e[1]=Array(14,'esub'); #女主第二形态情报
$ty7[1]=13;
$ty8[1]=15;
$ty7[1]=Array(13,'asub');
$ty8[1]=Array(15,'asub');
$ty9[1]=22;
$ty10[1]=21;
$ty11[1]=89;
$ty11[1]=Array(89,'asub');
$ty11e[1]=Array(89,'esub'); #电掣NPC第二形态情报
$ty12[1]=24;
$ty25a[1] = Array(25,'asub'); #佣兵NPC
......@@ -61,35 +62,15 @@ $ty25a[1] = Array(25,'asub'); #佣兵NPC
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)){
$mixitem = array();
foreach($mixinfo as $mix){
if($mix['class'] !== 'hidden'){
if($mix['class'] !== 'hidden')
{
//名字
$mix['result'][0] = parse_info_desc($mix['result'][0],'m');
$mix['result'][0] = parse_nameinfo_desc($mix['result'][0]);
//属性
$mixitmsk = '';
if(!empty($mix['result'][4]) && !is_numeric($mix['result'][4])){
/*for ($j = 0; $j < strlen($mix['result'][4]); $j++) {
$sub = substr($mix['result'][4],$j,1);
if(!empty($sub)){
$mixitmsk .= $itemspkinfo[$sub].'+';
}
}
if(!empty($mixitmsk)){$mixitmsk = substr($mixitmsk,0,-1);}*/
/*$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]);
}
$mixitmsk = empty($mix['result'][4]) ? '' : parse_skinfo_desc($mix['result'][4],$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;
}
}*/
$mixitmk = parse_kinfo_desc($mix['result'][1],$mix['result'][4]);
$mixitem[$mix['class']][] = array('stuff' => $mix['stuff'], 'result' => array($mix['result'][0],$mixitmk,$mix['result'][2],$mix['result'][3],$mixitmsk));
}
}
......@@ -169,27 +150,12 @@ if(filemtime($vnmixfile) > filemtime($writefile) ||filemtime($mixfile) > filemti
if($mix['class'] !== 'hidden')
{
//名字
//$mix['result'][0] = parse_itm_desc($mix['result'][0],'m');
$mix['result'][0] = parse_info_desc($mix['result'][0],'m');
$mix['result'][0] = parse_nameinfo_desc($mix['result'][0]);
//属性
$mixitmsk = '';
if(!empty($mix['result'][4]) && !is_numeric($mix['result'][4])){
/*$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]);
}
$mixitmsk = empty($mix['result'][4]) ? '' : parse_skinfo_desc($mix['result'][4],$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;
}
}*/
$mixitmk = parse_kinfo_desc($mix['result'][1],$mix['result'][4]);
$vmixitem[$mix['class']][] = array('name' => $mix['name'], 'stuff' => $mix['stuff'], 'result' => array($mix['result'][0],$mixitmk,$mix['result'][2],$mix['result'][3],$mixitmsk));
}
}
......
......@@ -33,8 +33,7 @@ if(file_exists($cache_file))
$sk_arr = Array();
if(!empty($vn_info[4]))
{
$temp_mixinfo[$vn_key][$vn_type][4] = '';
$temp_mixinfo[$vn_key][$vn_type][4] = parse_info_desc($vn_info[4],'sk',$vn_info[1]);
$temp_mixinfo[$vn_key][$vn_type][4] = parse_skinfo_desc($vn_info[4],$vn_info[1]);
}
}
}
......
......@@ -4,42 +4,43 @@ if(!defined('IN_GAME')) {
exit('Access Denied');
}
function init_playerdata(){
global $lvl,$baseexp,$exp,$gd,$icon,$arbe,$arhe,$arae,$arfe,$weather,$fog,$weps,$arbs,$log,$upexp,$lvlupexp,$iconImg,$iconImgB,$ardef;
global $pls,$weather,$pose,$tactic,$clbpara;
global $udata;
function init_playerdata($data=NULL)
{
global $baseexp,$weather,$fog,$log,$upexp,$lvlupexp,$iconImg,$iconImgB;
global $pls,$weather;
if(!isset($data))
{
global $pdata;
$data = &$pdata;
}
extract($data,EXTR_REFS);
$upexp = round(($lvl*$baseexp)+(($lvl+1)*$baseexp));
$lvlupexp = $upexp - $exp;
$iconImg = $gd.'_'.$icon.'.gif';
if(file_exists('img/'.$gd.'_'.$icon.'a.gif')) $iconImgB = $gd.'_'.$icon.'a.gif';
$ardef = $arbe + $arhe + $arae + $arfe;
if(($weather == 8)||($weather == 9)||($weather == 12)) {
$fog = true;
}
if(!$weps) {
global $nowep,$nosta,$wep,$wepk,$wepsk,$wepe;
$wep = $nowep;$wepk = 'WN';$wepsk = '';
$wepe = 0; $weps = $nosta;
}
if(!$arbs) {
global $noarb,$nosta,$arb,$arbk,$arbsk,$arbe;
$arb = $noarb;$arbk = 'DN'; $arbsk = '';
$arbe = 0; $arbs = $nosta;
if(($weather == 8)||($weather == 9)||($weather == 12))
{
$fog = true;
}
$clbpara = get_clbpara($clbpara);
}
function init_profile(){
global $inf,$infinfo,$hp,$mhp,$sp,$msp,$hpcolor,$spcolor,$newhpimg,$newspimg,$ardef,$arbe,$arhe,$arae,$arfe;
global $iteminfo,$wepk,$arbk,$arhk,$arak,$arfk,$artk,$itmk0,$itmk1,$itmk2,$itmk3,$itmk4,$itmk5,$itmk6,$rp,$killnum,$karma,$def,$att;
global $itemspkinfo,$wepsk,$arbsk,$arhsk,$arask,$arfsk,$artsk,$itmsk0,$itmsk1,$itmsk2,$itmsk3,$itmsk4,$itmsk5,$itmsk6;
global $nospk,$wepsk_words,$arbsk_words,$arhsk_words,$arask_words,$arfsk_words,$artsk_words,$itmsk0_words,$itmsk1_words,$itmsk2_words,$itmsk3_words,$itmsk4_words,$itmsk5_words,$itmsk6_words;
global $wepk_words,$arbk_words,$arhk_words,$arak_words,$arfk_words,$artk_words,$itmk0_words,$itmk1_words,$itmk2_words,$itmk3_words,$itmk4_words,$itmk5_words,$itmk6_words;
global $wep,$arb,$arh,$ara,$arf,$art,$itm0,$itm1,$itm2,$itm3,$itm4,$itm5,$itm6;
global $clbpara,$weather,$definfo,$atkinfo,$pdata,$udata;
function init_profile($data=NULL)
{
global $infinfo,$hpcolor,$spcolor,$newhpimg,$newspimg,$karma;
global $notim,$nospk,$iteminfo,$itemspkinfo,$weather,$definfo,$atkinfo;
if(!isset($data))
{
global $pdata;
$data = &$pdata;
}
extract($data,EXTR_REFS);
foreach (Array('wep','arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $value)
{
......@@ -55,48 +56,26 @@ function init_profile(){
$s_value = $value.'s';
$sk_value = $value.'sk';
}
global $$s_value;
if(!empty($$s_value))
{
global ${$value.'_words'};
global ${$value.'_words'},${$k_value.'_words'},${$s_value.'_words'},${$sk_value.'_words'};
# 初始化名称样式
${$value.'_words'} = parse_info_desc($$value,'m');
${$value.'_words'} = parse_nameinfo_desc($$value,$horizon);
# 初始化类别样式
if(${$k_value})
{
${$k_value.'_words'} = parse_info_desc($$k_value,'k');
}
else
{
${$k_value.'_words'} = '';
}
${$k_value.'_words'} = parse_kinfo_desc($$k_value,$$sk_value);
# 初始化属性样式
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;
}
}
${$sk_value.'_words'} = parse_skinfo_desc($$sk_value,$$k_value,1);
}
$ardef = $arbe + $arhe + $arae + $arfe;
$karma = ($rp * $killnum - $def )+ $att;
$hpcolor = 'clan';
if($hp <= 0 ){
//$infimg .= '<img src="img/dead.gif" style="position:absolute;top:120;left:6;width:94;height:40">';
$hpcolor = 'red';
} elseif($hp <= $mhp*0.2){
//$infimg .= '<img src="img/danger.gif" style="position:absolute;top:120;left:5;width:95;height:37">';
$hpcolor = 'red';
} elseif($hp <= $mhp*0.5){
//$infimg .= '<img src="img/caution.gif" style="position:absolute;top:120;left:5;width:95;height:36">';
$hpcolor = 'yellow';
} elseif($inf == ''){
//$infimg .= '<img src="img/fine.gif" style="position:absolute;top:120;left:12;width:81;height:38">';
}
if($sp <= $msp*0.2){
......@@ -123,179 +102,6 @@ function init_profile(){
include_once GAME_ROOT.'./include/game/revattr.func.php';
$atkinfo = \revattr\get_base_att($pdata,$pdata,1,1);
$definfo = \revattr\get_base_def($pdata,$pdata,1,1);
return;
}
function init_battle($ismeet = 0){
global $wep,$wepk;
global $w_type,$w_name,$w_gd,$w_sNo,$w_icon,$w_lvl,$w_rage,$w_hp,$w_sp,$w_mhp,$w_msp,$w_wep,$w_wepk,$w_wepe,$w_sNoinfo,$w_iconImg,$w_iconImgB,$w_hpstate,$w_spstate,$w_ragestate,$w_wepestate,$w_isdead,$hpinfo,$spinfo,$rageinfo,$wepeinfo,$fog,$typeinfo,$sexinfo,$infinfo,$w_exp,$w_upexp,$baseexp,$w_pose,$w_tactic,$w_inf,$w_infdata;
global $n_type,$n_name,$n_gd,$n_sNo,$n_icon,$n_hp,$n_mhp,$n_sp,$n_msp,$n_rage,$n_wep,$n_wepk,$n_wepe,$n_lvl,$n_pose,$n_tactic,$n_inf;
$w_upexp = round(($w_lvl*$baseexp)+(($w_lvl+1)*$baseexp));
if (CURSCRIPT == 'botservice')
{
echo "w_name=$w_name\n";
echo "w_type=$w_type\n";
echo "w_sNo=$w_sNo\n";
}
if($w_hp <= 0) {
$w_hpstate = "<span class=\"red\">$hpinfo[3]</span>";
$w_spstate = "<span class=\"red\">$spinfo[3]</span>";
$w_ragestate = "<span class=\"red\">$rageinfo[3]</span>";
$w_isdead = true;
if (CURSCRIPT == 'botservice') echo "w_dead=1\n";
} else{
if($w_hp < $w_mhp*0.2) {
$w_hpstate = "<span class=\"red\">$hpinfo[2]</span>";
if (CURSCRIPT == 'botservice') echo "w_hpstate=2\n";
} elseif($w_hp < $w_mhp*0.5) {
$w_hpstate = "<span class=\"yellow\">$hpinfo[1]</span>";
if (CURSCRIPT == 'botservice') echo "w_hpstate=1\n";
} else {
$w_hpstate = "<span class=\"clan\">$hpinfo[0]</span>";
if (CURSCRIPT == 'botservice') echo "w_hpstate=0\n";
}
if($w_sp < $w_msp*0.2) {
$w_spstate = "$spinfo[2]";
} elseif($w_sp < $w_msp*0.5) {
$w_spstate = "$spinfo[1]";
} else {
$w_spstate = "$spinfo[0]";
}
if($w_rage >= 100) {
$w_ragestate = "<span class=\"red\">$rageinfo[2]</span>";
} elseif($w_rage >= 30) {
$w_ragestate = "<span class=\"yellow\">$rageinfo[1]</span>";
} else {
$w_ragestate = "$rageinfo[0]";
}
}
if($n_hp <= 0)
{
global $n_hpstate,$n_spstate,$n_ragestate,$n_isdead;
$n_hpstate = "<span class=\"red\">$hpinfo[3]</span>";
$n_spstate = "<span class=\"red\">$spinfo[3]</span>";
$n_ragestate = "<span class=\"red\">$rageinfo[3]</span>";
$n_isdead = true;
} elseif(isset($n_hp)) {
global $n_hpstate,$n_spstate,$n_ragestate;
if($n_hp < $n_mhp*0.2) {
$n_hpstate = "<span class=\"red\">$hpinfo[2]</span>";
} elseif($n_hp < $n_mhp*0.5) {
$n_hpstate = "<span class=\"yellow\">$hpinfo[1]</span>";
} else {
$n_hpstate = "<span class=\"clan\">$hpinfo[0]</span>";
}
if($n_sp < $n_msp*0.2) {
$n_spstate = "$spinfo[2]";
} elseif($n_sp < $n_msp*0.5) {
$n_spstate = "$spinfo[1]";
} else {
$n_spstate = "$spinfo[0]";
}
if($n_rage >= 100) {
$n_ragestate = "<span class=\"red\">$rageinfo[2]</span>";
} elseif($n_rage >= 30) {
$n_ragestate = "<span class=\"yellow\">$rageinfo[1]</span>";
} else {
$n_ragestate = "$rageinfo[0]";
}
}
if($w_wepe >= 400) {
$w_wepestate = "$wepeinfo[3]";
if (CURSCRIPT == 'botservice') echo "w_wepestate=3\n";
} elseif($w_wepe >= 200) {
$w_wepestate = "$wepeinfo[2]";
if (CURSCRIPT == 'botservice') echo "w_wepestate=2\n";
} elseif($w_wepe >= 60) {
$w_wepestate = "$wepeinfo[1]";
if (CURSCRIPT == 'botservice') echo "w_wepestate=1\n";
} else {
$w_wepestate = "$wepeinfo[0]";
if (CURSCRIPT == 'botservice') echo "w_wepestate=0\n";
}
//在战斗界面中加载敌我双方武器tooltip
global $wep_words,$wepk_words,$w_wep_words,$w_wepk_words;
$wep_words = parse_info_desc($wep,'m'); $wepk_words = parse_info_desc($wepk,'k');
if(!$fog||$ismeet) {
//非雾天显示敌人武器情报
$w_wep_words = parse_info_desc($w_wep,'m');
$w_wepk_words = parse_info_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_info_desc($n_wep,'m');
$n_wepk_words = parse_info_desc($n_wepk,'k');
}
$w_sNoinfo = "$typeinfo[$w_type]({$sexinfo[$w_gd]}{$w_sNo}号)";
$w_i = $w_type > 0 ? 'n' : $w_gd;
$w_iconImg = $w_i.'_'.$w_icon; $w_iconImgB = NULL;
if(file_exists('img/'.$w_iconImg.'a.gif'))
{
$w_iconImgB = $w_iconImg.'a.gif';
}
else
{
$w_iconImg = $w_iconImg.'.gif';
}
if($w_inf) {
$w_infdata = '';
foreach ($infinfo as $inf_ky => $inf_nm) {
if(strpos($w_inf,$inf_ky) !== false) {
$w_infdata .= $inf_nm;
}
}
//$w_infdata = '<span class="red b">';
/*if(strpos($w_inf,'h') !== false){
$w_infdata .= $infinfo['h'];
}
if(strpos($w_inf,'a') !== false){
$w_infdata .= $infinfo['a'];
}
if(strpos($w_inf,'b') !== false){
$w_infdata .= $infinfo['b'];
}
if(strpos($w_inf,'f') !== false){
$w_infdata .= $infinfo['f'];
}*/
//$infdata .= '</span>';
/*if(strpos($w_inf,'p') !== false) {
$w_infdata .= "<span class=\"purple b\">{$infinfo['p']}</span>";
}
if(strpos($w_inf,'u') !== false) {
$w_infdata .= "<span class=\"yellow b\">{$infinfo['u']}</span>";
}
if(strpos($w_inf,'i') !== false) {
$w_infdata .= "<span class=\"clan b\">{$infinfo['i']}</span>";
}*/
} else {
$w_infdata = '';
}
} else {
//雾天显示???
$w_wep_words = '???';
$w_wepk_words = '???';
$w_sNoinfo = '???';
$w_iconImg = 'question.gif';
$w_name = '???';
$w_wep = '???';
$w_infdata = '???';
$w_pose = -1;
$w_tactic = -1;
$w_lvl = '?';
$w_hpstate = '???';
$w_spstate = '???';
$w_ragestate = '???';
$w_wepestate = '???';
$w_wepk = '';
}
return;
}
......
......@@ -175,7 +175,11 @@ function aievent($rate){
$itmchat[] = Array('type' => '2', 'time' => $now, 'send' => '【SANMA_TK】', 'msg' => $cht);
}
if(!empty($itmchat)){
$db->multi_insert("{$tablepre}chat",$itmchat);
foreach($itmchat as $ickey => $icvalues)
{
$db->query("INSERT INTO {$tablepre}chat (type,`time`,send,recv,msg) VALUES ('{$icvalues['type']}','{$icvalues['time']}','{$icvalues['send']}','','{$icvalues['msg']}')");
}
//$db->multi_insert("{$tablepre}chat",$itmchat);
}
}
......
This diff is collapsed.
......@@ -5,7 +5,7 @@
}
global $can_lootdepot_type;
//个人仓库最多可以储存的道具数量 0=不限制
$max_saveitem_num = 0;
$max_saveitem_num = 6;
//储存每件道具的手续费
$saveitem_cost = 20;
//取出道具的手续费
......
......@@ -96,10 +96,10 @@
foreach($list['stuff'] as $skey => $slist)
{
if($skey != 0) $smhint .= ' + ';
$smhint .= "<span class='grey'>[主]</span>".parse_info_desc($slist,'k')."";
$smhint .= "<span class='grey'>[主]</span>".parse_kinfo_desc($slist)."";
}
$smobbs = !empty($list['obbs']) ? '('.$list['obbs'].'%)' : '';
$smhint .= " → <span class='grey'>{$smobbs}</span>".parse_info_desc($list['result'],'k')."";
$smhint .= " → <span class='grey'>{$smobbs}</span>".parse_kinfo_desc($list['result'])."";
$smhint .= '</span></li>';
}
}
......@@ -117,10 +117,10 @@
foreach($list['stuff'] as $skey => $slist)
{
if($skey != 0) $smhint .= ' + ';
$smhint .= "<span class='grey'>[次]</span>".parse_info_desc($slist,'sk')."";
$smhint .= "<span class='grey'>[次]</span>".parse_skinfo_desc($slist)."";
}
$smobbs = !empty($list['obbs']) ? '('.$list['obbs'].'%)' : '';
$smhint .= " → <span class='grey'>{$smobbs}</span>".parse_info_desc($list['result'],'sk')."";
$smhint .= " → <span class='grey'>{$smobbs}</span>".parse_skinfo_desc($list['result'])."";
$smhint .= '</span></li>';
}
}
......
......@@ -1622,7 +1622,7 @@ function itemuse($itmn,&$data=NULL) {
wthchange( $itm,$itmsk);
addnews ($now,'thiphase',$name,$nick);
$hack = 1;
$gamevars['apis'] = $gamevars['api'] = 5;
$gamevars['apis'] = $gamevars['api'] = 3;
$log .= '因为破灭之歌的作用,全部锁定被打破了!<br>';
movehtm();
addnews($now,'hack2',$name,$nick);
......@@ -1641,10 +1641,14 @@ function itemuse($itmn,&$data=NULL) {
include_once GAME_ROOT . './include/system.func.php';
$log .= '嗯……?只有碎片也能用吗?<br>好像将一小部分NPC部署进了游戏内……<br>';
//思念体 4*3
addnpc ( 2, 0, 4);
addnpc ( 2, 1, 4);
addnpc ( 2, 2, 4);
addnpc ( 2, 3, 4);
addnpc ( 2, 0, 2);
addnpc ( 2, 1, 2);
addnpc ( 2, 2, 2);
addnpc ( 2, 3, 2);
addnpc ( 2, 4, 2);
addnpc ( 2, 5, 2);
addnpc ( 2, 6, 2);
addnpc ( 2, 7, 2);
addnews ($now , 'key0', $name,$nick);
$itms --;
if($itms <= 0) destory_single_item($data,$itmn,1);
......@@ -2235,6 +2239,26 @@ function itemuse($itmn,&$data=NULL) {
$log .="宝石在你的手上发出异样的光芒,似乎有个奇怪的女声在你耳边说道<span class=\"yellow\">\"我是从天界来的凯丽\"</span>.";
}
return;
} elseif ($itm == '调制解调器'){
if(!empty($gamevars['apis']))
{
$log .= '你将这件长得很像猫的东西放在了地上……目送它慢悠悠地爬走了。<br>';
if($gamevars['api'] < $gamevars['apis'])
{
$gamevars['api']++;
save_gameinfo();
$log .= '<span class="yellow">好像有什么东西恢复了!</span><br>';
}
else
{
$log .= '<span class="yellow">但是什么也没有发生!</span><br>';
}
$itms--;
}
else
{
$log .= '这件长得很像猫的东西该怎么用呢?<br>';
}
} elseif ($itm == '水果刀') {
$flag = false;
......
......@@ -178,6 +178,7 @@ function hack($itmn = 0) {
function newradar($m = 0){
global $mode,$log,$cmd,$main,$pls,$db,$tablepre,$plsinfo,$arealist,$areanum,$hack,$gamestate;
global $pnum,$npc2num,$npc3num,$npc4num,$npc5num,$npc6num,$radarscreen,$typeinfo,$weather;
global $horizon;
if((CURSCRIPT !== 'botservice') && (!$mode)) {
$log .= '仪器使用失败!<br>';
......@@ -191,7 +192,15 @@ function newradar($m = 0){
return;
}
}
$npctplist = Array(90,92,2,5,6,7,11,14,89);
if($horizon == 1)
{
$npctplist = Array(92,89);
}
else
{
$npctplist = Array(90,2,5,6,11,14);
}
$tdheight = 20;
$screenheight = count($plsinfo)*$tdheight;
if (CURSCRIPT == 'botservice')
......
......@@ -131,7 +131,7 @@ function check_trap_def_event(&$pa,$damage,$playerflag=0,$selflag=0)
}
# 「天佑」技能判定
if($damage && !check_skill_unlock('buff_godbless',$data))
if($damage && !check_skill_unlock('buff_godbless',$pa))
{
$damage = 0;
$log .= "<span class=\"yellow\">「天佑」使你免疫了陷阱伤害!</span><br>";
......@@ -225,7 +225,7 @@ function trap(&$data=NULL){
addnews($now,'trap',$name,$trname,$itm0,$nick);
}
$log .= "糟糕,你触发了{$trperfix}陷阱<span class=\"yellow\">$itm0</span>!<br>";
if($data['skilllog']) $log.= $data['skilllog'];
if(!empty($data['skilllog'])) $log.= $data['skilllog'];
$log .= "受到<span class=\"dmg\">$damage</span>点伤害!<br>";
# 踩雷rp结算
......
......@@ -199,15 +199,15 @@ function parse_smartmix_recipelink($itemindex, $stext = '', $sstyle = ''){
return "<span tooltip2=\"{$tt}\"><a ".($sstyle ? "class=\"{$sstyle}\" " : '')."onclick=\"$('itemindex').value='$itemindex';postCmd('maincmd','command.php');\">".($stext ? $stext : $itemindex).'</a></span>';
}
function parse_itemmix_resultshow($rarr){
$ret = $rarr[0].'/'.parse_info_desc($rarr[1],'k','',0,'none').'/'.$rarr[2].'/'.$rarr[3];
$itmskw = !empty($rarr[4]) ? parse_info_desc($rarr[4],'sk',$rarr[1],0,'none') : '';
$ret = $rarr[0].'/'.parse_kinfo_desc($rarr[1],'','','none').'/'.$rarr[2].'/'.$rarr[3];
$itmskw = !empty($rarr[4]) ? parse_skinfo_desc($rarr[4],$rarr[1],'','none') : '';
if($itmskw) $ret .= '/'.$itmskw;
return $ret;
}
function get_npc_helpinfo($nlist,$tooltip=1)
{
global $plsinfo,$hplsinfo,$gamecfg,$iteminfo,$clubinfo;
global $npcinit,$plsinfo,$hplsinfo,$gamecfg,$iteminfo,$clubinfo;
global $posetips,$tactips,$poseinfo,$tacinfo;
//登记非功能性地点信息时合并隐藏地点
foreach($hplsinfo as $hgroup=>$hpls) $plsinfo += $hpls;
......@@ -224,12 +224,13 @@ function get_npc_helpinfo($nlist,$tooltip=1)
foreach($npcs[$tsub] as $n => $npc)
{
$snpc = array_merge($npcs,$npc);
$snpc = array_merge($npcinit,$snpc);
unset($snpc['sub']);unset($snpc['asub']);unset($snpc['esub']);
foreach(Array('p','k','g','c','d','f') as $val)
{
if(isset($snpc['w'.$val]))
if(!empty($snpc['w'.$val]))
{
if(isset($snpc['skill']))
if(!empty($snpc['skill']))
{
$snpc['skill'] .= '(?)';
}
......@@ -249,6 +250,17 @@ function get_npc_helpinfo($nlist,$tooltip=1)
$snpc['gd'] = '未知';
}
if(isset($snpc['pls']))
{
if(is_array($snpc['pls']))
{
$splss = '';
foreach($snpc['pls'] as $spls)
{
$splss .= empty($splss) ? $plsinfo[$spls] : '|'.$plsinfo[$spls];
}
$snpc['pls'] = $splss;
}
else
{
if($tsub == 'esub')
{
......@@ -258,7 +270,7 @@ function get_npc_helpinfo($nlist,$tooltip=1)
{
$snpc['pls'] = $snpc['pls']==99 ? '随机' : $plsinfo[$snpc['pls']];
}
}
}
if(isset($snpc['pose']))$snpc['poseinfo'] = "<span tooltip=\"{$posetips[$snpc['pose']]}\">".$poseinfo[$snpc['pose']]."</span>";
if(isset($snpc['tactic']))$snpc['tacinfo'] = "<span tooltip=\"{$tactips[$snpc['tactic']]}\">".$tacinfo[$snpc['tactic']]."</span>";
......@@ -285,9 +297,9 @@ function get_npc_helpinfo($nlist,$tooltip=1)
//添加tooltip效果
if($tooltip)
{
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');
if(!empty($snpc[$value])) $snpc[$value] = parse_nameinfo_desc($snpc[$value]);
if(!empty($snpc[$sk_value])) $snpc[$sk_value.'_words'] = parse_skinfo_desc($snpc[$sk_value],$snpc[$k_value]);
if(!empty($snpc[$k_value])) $snpc[$k_value] = parse_kinfo_desc($snpc[$k_value]);
}
}
}
......
......@@ -64,6 +64,10 @@ namespace revbattle
global $log,$now,$weather,$gamevars,$gamecfg;
global $weather_active_r,$pose_active_modifier,$pose_active_modifier,$active_obbs,$chase_active_obbs;
# 敌人处于哨戒姿态下时,不会先攻
if($pd['pose'] == 7) return 100;
if($pa['pose'] == 7) return 0;
# 获取基础先攻率:
if(!$mode)
{
......
......@@ -429,9 +429,11 @@ namespace revcombat
return 0;
}
# 哨戒姿态不会反击,但是会生气……
# 生气后会变更为强袭姿态
if($pd['pose'] == 7)
{
$pd['cannot_counter_log'] = "{$pd['nm']}看起来非常生气!还是离他远点吧……";
$pd['pose'] = 2;
$pd['cannot_counter_log'] = "{$pd['nm']}看起来非常生气!这回你可摊上事啦!";
return 0;
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -61,11 +61,11 @@ 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_info_desc($d,'m');
if(strpos($news,'death')!==false && $news!=='death28' && isset($d)) $d = parse_nameinfo_desc($d);
//赠送道具、吃到毒补给、陷阱、改变天气、强化武器、唱歌、打开礼物盒:道具名登记在$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_info_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_nameinfo_desc($c);
//合成、使用死斗卡、使用仓库:道具名登记在$b上;
if((strpos($news,'mix')!==false||strpos($news,'duelkey')!==false||strpos($news,'depot')===0) && isset($b)) $b = parse_info_desc($b,'m');
if((strpos($news,'mix')!==false||strpos($news,'duelkey')!==false||strpos($news,'depot')===0) && isset($b)) $b = parse_nameinfo_desc($b);
if(!empty($old_nicknews[$news]))
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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