Commit f006ac06 authored by satsuki8's avatar satsuki8

merge

parents 65ccd426 4f193ce3
......@@ -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'],
);
......@@ -301,23 +301,19 @@
//将新的数组添加到空数组中,以$skid为键
$array[] = $new_array;
}
//返回最终的数组
return $array;
}
/** 获取敌方技能页面 */
function getEnemySkillPage($tdata) {
global $cskills;
$uidata = $tdata;
$array = array();
foreach ($tdata['clbpara']['skill'] as $skid) {
$cskill = $cskills[$skid];
$name = $cskill['name'];
$cdesc = parse_skilldesc($skid, $uidata);
$num_input = $cskill['num_input'];
$input = $cskill['input'];
$unlock_flag = check_skill_unlock($skid, $uidata);
$unlock_desc = parse_skilllockdesc($skid, $unlock_flag);
$new_array = array(
'id' => $skid,
'name' => $name,
......@@ -410,6 +406,62 @@
"max" => emix_calc_maxenum(),
);
}
/** 检查获取的物品是否可进行合并 */
function checkMerge() {
global $wep, $wepk, $wepe, $weps, $wepsk;
global $itm0, $itmk0, $itme0, $itms0, $itmsk0, $nosta;
$check = false;
if (preg_match('/^(WC|WD|WF|Y|B|C|TN|GB|M|V)/', $itmk0) && $itms0 !== $nosta) {
if ($wep == $itm0 && $wepk == $itmk0 && $wepe == $itme0 && $wepsk == $itmsk0) {
$check = true;
} else {
for ($i = 1; $i <= 6; $i++) {
global ${'itm'.$i}, ${'itmk'.$i}, ${'itme'.$i}, ${'itms'.$i}, ${'itmsk'.$i};
if ((${'itms'.$i}) && ($itm0 == ${'itm'.$i}) && ($itmk0 == ${'itmk'.$i}) && ($itme0 == ${'itme'.$i}) && ($itmsk0 == ${'itmsk'.$i})) {
$check = true;
}
}
}
} else if (preg_match('/^H|^P/',$itmk0) && $itms0 !== $nosta) {
$check = true;
}
return $check;
}
/** 合并物品列表 */
function mergeList() {
$sameitem = array();
for ($i=1; $i<=6; $i++) {
global $itm0, $itme0;
global ${'itm'.$i},${'itmk'.$i},${'itme'.$i},${'itms'.$i};
if (${'itms'.$i} && ($itm0 == ${'itm'.$i}) && ($itme0 == ${'itme'.$i}) && (preg_match('/^(H|P)/',${'itmk'.$i}))) {
$sameitem[] = 'item'.$i;
}
}
return $sameitem;
}
/** 获取攻击方式 */
function getAttackType() {
global $pdata, $attinfo, $nosta;
$w1 = substr($pdata['wepk'], 1, 1);
$w2 = substr($pdata['wepk'], 2, 1);
if (empty($w2) || is_numeric($w2)) {
$w2 = '';
}
if (($w1 == 'G' || $w1 == 'J') && ($pdata['weps'] == $nosta)) {
$w1 = 'P';
}
$type['type1'] = array(
'id' => $w1,
'name' => $attinfo[$w1],
);
if ($w2) {
$type['type2'] = array(
'id' => $w2,
'name' => $attinfo[$w2],
);
}
return $type;
}
echo (json_encode(array(
"page" => "game",
/** 玩家状态 */
......@@ -462,7 +514,7 @@
/** 当前称号 */
"nowGiftId" => $club,
/** 可选称号 */
"giftList" => $clubavl,
"giftList" => !$club ? array_merge(valid_getclublist_t2($udata), valid_getclublist_t1($udata)) : null,
/** 称号类型 */
"type" => $clubinfo,
),
......@@ -492,6 +544,13 @@
/** 姿态tips */
"tips" => $posetips,
),
/** 战术界面 */
"horizon" => array(
/** 当前战术界面id */
"nowHorizonId" => $horizon,
/** 可选战术界面 */
"type" => $horizoninfo,
),
/** 攻击力 */
"attack" => $atkinfo,
/** 防御力 */
......@@ -516,7 +575,7 @@
/** 击杀数 */
"killNum" => $killnum,
/** 负面状态 */
"debuff" => $inf ? $inf : ['无'],
"debuff" => $inf,
"debuffList" => $infinfo,
/** 装备 */
"equipment" => array(
......@@ -653,20 +712,11 @@
"areaNum" => $areanum,
/** 每次禁区增加数 */
"areaAdd" => $areaadd,
/** 是否解除禁区 */
"isHack" => $hack,
),
/** 攻击方式 */
"attackType" => array(
/** 方式1 */
"type1" => array(
"id" => substr($wepk,1,1),
"name" => $attinfo[substr($wepk,1,1)],
),
/** 方式2 */
"type2" => array(
"id" => substr($wepk,2,1) ? substr($wepk,2,1) : null,
"name" => substr($wepk,2,1) ? $attinfo[substr($wepk,2,1)] : null,
),
),
"attackType" => getAttackType(),
/** 视野 */
"semo" => $clbpara['smeo'],
/** 合成 */
......@@ -703,6 +753,8 @@
"crafting" => $club != 20,
/** 元素口袋 */
"element" => $club == 20,
/** 控制面板 */
"control" => isset($clbpara['console']),
),
/** 安全箱物品 */
"depotItems" => depot_getlist($name,$type),
......@@ -721,6 +773,21 @@
"time" => $dtime,
"name" => (!empty($kname) && (in_array($state, Array(20, 21, 22, 23, 24, 28, 29)))) ? $kname : null,
) : null,
/** 弹框 */
"dialog" => $clbpara['dialogue'],
/** 不可跳过弹框 */
"noSkipDialog" => $clbpara['noskip_dialogue'],
/** 游戏状态 */
"isGameOver" => $gamestate == 0,
/** 控制面板 */
"controlPanel" => array(
/** 可用信道 */
"channel" => $gamevars['api'],
/** 共计信道 */
"channelAll" => $gamevars['apis'],
/** 按钮 */
"noButton" => $clbpara['nobutton'],
)
),
/** 搜寻状态 */
"searchState" => array(
......@@ -731,7 +798,8 @@
"props" => $itmsk0_words != '--' ? $itmsk0_words : '',
"quality" => $itme0,
"durability" => $itms0,
"canMerge" => preg_match('/^H|^P/',$itmk0) && $itms0 !== $nosta,
"canMerge" => checkMerge(),
"mergeList" => mergeList(),
) : null,
/** 发现敌人 */
"findEnemy" => $tdata['nameinfo'] ? array(
......@@ -774,7 +842,7 @@
/** 敌方道具 */
"items" => $battle_title === "发现尸体" ? getCorpseItems($tdata) : null,
/** 敌方技能 */
"skill" => $tdata['clbpara']['skill'] ? getEnemySkillPage($tdata) : null,
"skill" => isset($tdata['clbpara']['skill']) ? getEnemySkillPage($tdata) : null,
/** 战斗技能 */
"battleSkills" => $battle_skills ? getBattleSkills($battle_skills) : null,
) : null,
......
......@@ -290,7 +290,7 @@ if($hp > 0){
if ($choice_position < 1 || $choice_position > 6)
$log .= '<span class="red">无此物品。</span><br />';
else {
include_once GAME_ROOT . './include/game/club21.func.php';
include_once GAME_ROOT . './include/game/special.func.php';
item_extract_trait($choice, $choice_position);
}
$mode = 'command';
......@@ -324,7 +324,7 @@ if($hp > 0){
elseif ($choice == $choice2)
$log .= '<span class="red">你选择了相同的代码片段。</span><br />';
else {
include_once GAME_ROOT . './include/game/club21.func.php';
include_once GAME_ROOT . './include/game/special.func.php';
item_add_trait($choice, $choice2);
}
$mode = 'command';
......@@ -822,7 +822,7 @@ $jgamedata = compatible_json_encode($gamedata);
//$json = new Services_JSON();
//$jgamedata = $json->encode($gamedata);
//if(!strstr($_SERVER['HTTP_REFERER'], 'php')) {
if ($udata['u_templateid'] == 1 && !strstr($_SERVER['HTTP_REFERER'], 'php') && $_SERVER['HTTP_REFERER'] != '') {
if (isset($_GET['is_new'])) {
include './api.php';
} else {
echo $jgamedata;
......
......@@ -170,7 +170,7 @@ if(isset($opendialog))
}
//if (!strstr($_SERVER['HTTP_REFERER'], 'php') && $_SERVER['HTTP_REFERER'] != '') {
if ($udata['u_templateid'] == 1 && !strstr($_SERVER['HTTP_REFERER'], 'php') && $_SERVER['HTTP_REFERER'] != '') {
if (isset($_GET['is_new'])) {
include './api.php';
} else {
include template('game');
......
......@@ -1497,7 +1497,7 @@ $anpcinfo = array
0 => array
(
'name' => '红暮',
'club' => 98,
'club' => 98,
'pose'=> 2,
'tactic' => 3,
'mhp' => 20800,
......@@ -2584,7 +2584,7 @@ $anpcinfo = array
'wepe' => 1,
'weps' => 50,
'itm5' => '◆愈合数据',
'itmk5' => 'HB',
'itmk5' => '🎆H',
'itme5' => 5,
'itms5' => '∞',
),
......@@ -2597,7 +2597,7 @@ $anpcinfo = array
'wepe' => 1,
'weps' => 50,
'itm5' => '◆熟练数据',
'itmk5' => 'VV',
'itmk5' => '🎆V',
'itme5' => 1,
'itms5' => 5,
),
......@@ -2610,7 +2610,7 @@ $anpcinfo = array
'wepe' => 1,
'weps' => 50,
'itm5' => '◆生命数据',
'itmk5' => 'MH',
'itmk5' => '🎆O',
'itme5' => 1,
'itms5' => 10,
),
......@@ -2623,7 +2623,7 @@ $anpcinfo = array
'wepe' => 1,
'weps' => 50,
'itm5' => '◆意念数据',
'itmk5' => 'MD',
'itmk5' => '🎆D',
'itme5' => 1,
'itms5' => 10,
),
......
......@@ -443,7 +443,7 @@ $cskills = Array
'wepk+wep_kind' => '武器不适用,持<span class="yellow">投系武器</span>时生效',
),
'unlock' => Array(
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'C')",
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || strpos([:wepk:],'B')!==false || (!empty([:wep_kind:]) && ([:wep_kind:] == 'C' || [:wep_kind:] == 'B'))",
),
),
'c3_enchant' => Array
......@@ -493,7 +493,7 @@ $cskills = Array
),
'unlock' => Array(
'lvl' => '[:lvl:] >= 5',
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'C')",
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || strpos([:wepk:],'B')!==false || (!empty([:wep_kind:]) && ([:wep_kind:] == 'C' || [:wep_kind:] == 'B'))",
),
),
'c3_potential' => Array
......@@ -514,7 +514,7 @@ $cskills = Array
),
'unlock' => Array(
'lvl' => '[:lvl:] >= 7',
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'C')",
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || strpos([:wepk:],'B')!==false || (!empty([:wep_kind:]) && ([:wep_kind:] == 'C' || [:wep_kind:] == 'B'))",
),
),
'c3_hawkeye' => Array
......@@ -534,7 +534,7 @@ $cskills = Array
),
'unlock' => Array(
'lvl' => '[:lvl:] >= 9',
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'C')",
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || strpos([:wepk:],'B')!==false || (!empty([:wep_kind:]) && ([:wep_kind:] == 'C' || [:wep_kind:] == 'B'))",
),
),
'c3_offset' => Array
......@@ -567,7 +567,7 @@ $cskills = Array
),
'unlock' => Array(
'lvl' => '[:lvl:] >= 13',
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'C')",
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || strpos([:wepk:],'B')!==false || (!empty([:wep_kind:]) && ([:wep_kind:] == 'C' || [:wep_kind:] == 'B'))",
),
),
'c3_numerous' => Array
......@@ -587,7 +587,7 @@ $cskills = Array
//……
'unlock' => Array(
'skillpara|c3_enchant-ur+skillpara|c3_enchant-ir+skillpara|c3_enchant-pr+skillpara|c3_enchant-er+skillpara|c3_enchant-wr+skillpara|c3_enchant-dr' => '[:skillpara|c3_enchant-ur:] >= 120 || [:skillpara|c3_enchant-ir:] >= 120 || [:skillpara|c3_enchant-er:] >= 120 || [:skillpara|c3_enchant-wr:] >= 120 || [:skillpara|c3_enchant-pr:] >= 120 || [:skillpara|c3_enchant-dr:] >= 120',
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || (!empty([:wep_kind:]) && [:wep_kind:] == 'C')",
'wepk+wep_kind' => "strpos([:wepk:],'C')!==false || strpos([:wepk:],'B')!==false || (!empty([:wep_kind:]) && ([:wep_kind:] == 'C' || [:wep_kind:] == 'B'))",
),
),
'c4_stable' => Array
......@@ -2139,11 +2139,11 @@ $cskills = Array
'pvars' => Array('skill-active','skillpara|c20_sparkle-active_t'),
'lockdesc' => Array(
'skillpara|c20_sparkle-active_t' => '已失去火花。',
'lvl' => '15级时解锁',
'lvl' => '13级时解锁',
),
'unlock' => Array(
'skillpara|c20_sparkle-active_t' => '[:skillpara|c20_sparkle-active_t:] < 1',
'lvl' => '[:lvl:] >= 15',
'lvl' => '[:lvl:] >= 13',
),
),
'c20_lotus' => Array
......@@ -2172,13 +2172,13 @@ $cskills = Array
'pvars' => Array('skillpara|c20_lotus-active_t'),
'lockdesc' => Array(
'skillpara|c20_lotus-active_t' => '黑莲花已经用光了。',
'lvl' => '21级时解锁',
'lvl' => '17级时解锁',
),
'unlock' => Array(
'skillpara|c20_lotus-active_t' => '[:skillpara|c20_lotus-active_t:] < 3',
'lvl' => '[:lvl:] >= 21',
'lvl' => '[:lvl:] >= 17',
),
),
),
'c21_stormedge' => Array
(
'name' => '斥血',
......
<?php
//基础反击率
$counter_obbs = Array('N' => 75, 'P' => 85, 'K' => 85, 'G' => 50, 'C' => 75, 'D' => 0, 'F'=> 95, 'J'=> 50);
$counter_obbs = Array('N' => 75, 'P' => 85, 'K' => 85, 'G' => 50, 'C' => 75, 'D' => 0, 'F'=> 95, 'J'=> 50, 'B'=>30);
//各种攻击方式的射程,射程大者可以反击射程小者,此外射程为0则代表不能反击任何系但也不能被任何系反击
$rangeinfo = Array('N' => 3, 'P' => 3, 'K' => 3, 'G' => 7, 'C' => 5, 'D' => 0, 'F'=> 1, 'J'=> 8);
$rangeinfo = Array('N' => 3, 'P' => 3, 'K' => 3, 'G' => 7, 'C' => 5, 'D' => 0, 'F'=> 1, 'J'=> 8, 'B'=>5);
//各种攻击方式的基础命中率
$hitrate_obbs = Array('N' => 80, 'P' => 80, 'K' => 75, 'G' => 70, 'C' => 70, 'D' => 60, 'F' => 85, 'J'=> 10);
$hitrate_obbs = Array('N' => 80, 'P' => 80, 'K' => 75, 'G' => 70, 'C' => 70, 'D' => 60, 'F' => 85, 'J'=> 10, 'B'=>65);
//$hitrate_obbs = Array('N' => 80, 'P' => 80, 'K' => 80, 'G' => 75, 'C' => 100, 'D' => 60, 'F' => 70);
//各种攻击方式的最高命中率
$hitrate_max_obbs = Array('N' => 90, 'P' => 90, 'K' => 85, 'G' => 95, 'C' => 96, 'D' => 70, 'F' => 96, 'J'=> 98);
$hitrate_max_obbs = Array('N' => 90, 'P' => 90, 'K' => 85, 'G' => 95, 'C' => 96, 'D' => 70, 'F' => 96, 'J'=> 98, 'B'=>90);
//熟练度对命中的影响,每点熟练增加的命中,可以考虑区分武器
$hitrate_r = Array('N' => 0.025, 'P' => 0.025, 'K' => 0.025, 'G' => 0.05, 'C' => 0.25, 'D' => 0.02, 'F'=> 0.1, 'J'=> 0.2);
$hitrate_r = Array('N' => 0.025, 'P' => 0.025, 'K' => 0.025, 'G' => 0.05, 'C' => 0.25, 'D' => 0.02, 'F'=> 0.1, 'J'=> 0.2, 'B'=>0.15);
//$hitrate_r = Array('N' => 0.02, 'P' => 0.02, 'K' => 0.02, 'G' => 0.01, 'C' => 0, 'D' => 0.03, 'F'=> 0.05);
//各种攻击方式的伤害变动范围,越少越稳定。
$dmg_fluc = Array('N' => 15, 'P' => 15, 'K' => 40, 'G' => 20, 'C' => 5, 'D' => 25, 'F'=> 10, 'J'=> 10);
$dmg_fluc = Array('N' => 15, 'P' => 15, 'K' => 40, 'G' => 20, 'C' => 5, 'D' => 25, 'F'=> 10, 'J'=> 10, 'B'=>10);
//熟练度对伤害的影响,每点熟练度增加的伤害
$skill_dmg = Array('N' => 0.6, 'P' => 0.6, 'K' => 0.65, 'G' => 0.6, 'C' => 0.4, 'D' => 0.75, 'F'=> 0.4, 'J'=>0.7);
$skill_dmg = Array('N' => 0.6, 'P' => 0.6, 'K' => 0.65, 'G' => 0.6, 'C' => 0.4, 'D' => 0.75, 'F'=> 0.4, 'J'=>0.7, 'B'=>0.5);
//$skill_dmg = Array('N' => 0.5, 'P' => 0.5, 'K' => 0.5, 'G' => 0.6, 'C' => 0.3, 'D' => 0.4, 'F'=> 1.2);
//各攻击方式对应的防御属性
$def_kind = Array(
'P' => 'P', 'N' => 'P',
'K' => 'K',
'G' => 'G', 'J' => 'G',
'C' => 'C',
'C' => 'C', 'B' => 'C',
'D' => 'D',
'F' => 'F',
);
......@@ -325,14 +325,14 @@ $pls_hide_modifier = Array(
34=> 0 //'英灵殿'
);
//各种攻击方式可能导致受伤的部位
$infatt = Array('N' => 'bhaf', 'P' => 'bhaf', 'K' =>'bhaf', 'G' =>'bhaf', 'C'=> 'bhaf', 'D' => 'bhaf', 'F'=> 'bhaf', 'J'=> 'bhaf');
$infatt = Array('N' => 'bhaf', 'P' => 'bhaf', 'K' =>'bhaf', 'G' =>'bhaf', 'C'=> 'bhaf', 'D' => 'bhaf', 'F'=> 'bhaf', 'J'=> 'bhaf', 'B'=> 'bhaf');
//各种攻击方式可能导致受伤的部位
$infatt_rev = Array('N' => Array('b','h','a','f'), 'P' => Array('b','h','a','f'), 'K' => Array('b','h','a','f'), 'G' => Array('b','h','a','f'), 'C'=> Array('b','h','a','f'), 'D' => Array('b','h','a','f'), 'F'=> Array('b','h','a','f'), 'J'=> Array('b','h','a','f'),);
$infatt_rev = Array('N' => Array('b','h','a','f'), 'P' => Array('b','h','a','f'), 'K' => Array('b','h','a','f'), 'G' => Array('b','h','a','f'), 'C'=> Array('b','h','a','f'), 'D' => Array('b','h','a','f'), 'F'=> Array('b','h','a','f'), 'J'=> Array('b','h','a','f'), 'B'=> Array('b','h','a','f'));
//各种攻击方式的致伤率
$infobbs = Array('N' => 5, 'P' => 15, 'K' => 55, 'G' => 20, 'C' => 10, 'D' => 45, 'F' => 30, 'J'=> 100);
$infobbs = Array('N' => 5, 'P' => 15, 'K' => 55, 'G' => 20, 'C' => 10, 'D' => 45, 'F' => 30, 'J'=> 100, 'B'=> 40);
//$infobbs = Array('N' => 5, 'P' => 15, 'K' => 30, 'G' => 30, 'C' => 15, 'D' => 40, 'F' => 30);
//各种攻击方式的武器损伤概率
$wepimprate = Array('N' => -1, 'P' => 12, 'K' => 30, 'G' => -1, 'C' => -1, 'D' => -1, 'F' => -1, 'J'=> -1);
$wepimprate = Array('N' => -1, 'P' => 12, 'K' => 30, 'G' => -1, 'C' => -1, 'D' => -1, 'F' => -1, 'J'=> -1, 'B'=> -1);
//特殊效果发生的概率,这里指属性,跟武器系别无关
$specialrate = Array('N' => 40, 'n' => 30, 'y' => 30, 'B' => 95 ,'b' => 95);
//属性攻击登录
......
......@@ -237,61 +237,53 @@ $mixinfo = array
array('class' => 'wf', 'stuff' => array('月符「Silent Serena」','月符「Silent Serena」','火水木金土符『贤者之石』','金符「Metal Fatigue」'),'result' => array('月月火水木金金符『年中无休』(笑)','WF',65500,'∞','rd'),),
array('class' => 'wf', 'stuff' => array('日&月符『Royal Diamond Ring』','梦幻『幻月』','神枪『Spear The Gungnir』','紫奥义『弹幕结界』'),'result' => array('模式『EX』','WF',72000,'∞','crdZ'),),
array('class' => 'fseed', 'stuff' => array('◆篝火','◆篝火','◆篝火'),'result' => array('◆◆篝火','DB',10,1,'a'),),
array('class' => 'fseed', 'stuff' => array('◆埋火','◆埋火','◆埋火'),'result' => array('◆◆埋火','DH',10,1,'B'),),
array('class' => 'fseed', 'stuff' => array('◆永火','◆永火','◆永火'),'result' => array('◆◆永火','DF',10,1,'M'),),
array('class' => 'fseed', 'stuff' => array('◆残火','◆残火','◆残火'),'result' => array('◆◆残火','DA',10,1,'b'),),
array('class' => 'fseed', 'stuff' => array('◆◆篝火','◆◆篝火','◆◆篝火'),'result' => array('◆◆◆篝火','DB',50,1,'a'),),
array('class' => 'fseed', 'stuff' => array('◆◆埋火','◆◆埋火','◆◆埋火'),'result' => array('◆◆◆埋火','DH',50,1,'B'),),
array('class' => 'fseed', 'stuff' => array('◆◆永火','◆◆永火','◆◆永火'),'result' => array('◆◆◆永火','DF',50,1,'M'),),
array('class' => 'fseed', 'stuff' => array('◆◆残火','◆◆残火','◆◆残火'),'result' => array('◆◆◆残火','DA',50,1,'b'),),
array('class' => 'fseed', 'stuff' => array('◆愈合数据','◆焰火'),'result' => array('◆◆愈合数据','HB',10,'∞',),),
array('class' => 'fseed', 'stuff' => array('◆◆愈合数据','◆焰火'),'result' => array('◆◆◆愈合数据','HB',20,'∞',),),
array('class' => 'fseed', 'stuff' => array('◆熟练数据','◆焰火'),'result' => array('◆◆熟练数据','VV',35,5,),),
array('class' => 'fseed', 'stuff' => array('◆◆熟练数据','◆焰火'),'result' => array('◆◆◆熟练数据','VV',70,1,),),
array('class' => 'fseed', 'stuff' => array('◆生命数据','◆焰火'),'result' => array('◆◆生命数据','MH',50,5,),),
array('class' => 'fseed', 'stuff' => array('◆◆生命数据','◆焰火'),'result' => array('◆◆◆生命数据','MH',70,1,),),
array('class' => 'fseed', 'stuff' => array('◆意念数据','◆焰火'),'result' => array('◆◆意念数据','MD',50,5,),),
array('class' => 'fseed', 'stuff' => array('◆◆意念数据','◆焰火'),'result' => array('◆◆◆意念数据','MD',70,1,),),
array('class' => 'fseed', 'stuff' => array('◆焰火','◆焰火','◆焰火','◆火之碎片'),'result' => array('✦烈焰火','A',50,50,'H'),),
array('class' => 'fseed', 'stuff' => array('◆◆◆愈合数据','✦烈焰火'),'result' => array('✦愈合数据','HB',50,'∞',),),
array('class' => 'fseed', 'stuff' => array('◆◆◆熟练数据','✦烈焰火'),'result' => array('✦熟练数据','VV',75,1,),),
array('class' => 'fseed', 'stuff' => array('◆◆◆生命数据','✦烈焰火'),'result' => array('✦生命数据','MH',100,1,),),
array('class' => 'fseed', 'stuff' => array('◆◆◆意念数据','✦烈焰火'),'result' => array('✦意念数据','MD',100,1,),),
array('class' => 'fseed', 'stuff' => array('◆愈合数据','◆焰火'),'result' => array('◆◆◆愈合数据','🎆H',60,'∞',),),
array('class' => 'fseed', 'stuff' => array('◆熟练数据','◆焰火'),'result' => array('◆◆◆熟练数据','🎆V',100,1,),),
array('class' => 'fseed', 'stuff' => array('◆生命数据','◆焰火'),'result' => array('◆◆◆生命数据','🎆O',250,1,),),
array('class' => 'fseed', 'stuff' => array('◆意念数据','◆焰火'),'result' => array('◆◆◆意念数据','🎆D',250,1,),),
array('class' => 'fseed', 'stuff' => array('◆焰火','◆焰火','◆火之碎片'),'result' => array('✦烈焰火','A',50,50,'H'),),
array('class' => 'fseed', 'stuff' => array('◆◆◆愈合数据','✦烈焰火'),'result' => array('✦愈合数据','🎆H',120,'∞',),),
array('class' => 'fseed', 'stuff' => array('◆◆◆熟练数据','✦烈焰火'),'result' => array('✦熟练数据','🎆V',75,1,),),
array('class' => 'fseed', 'stuff' => array('◆◆◆生命数据','✦烈焰火'),'result' => array('✦生命数据','🎆O',500,1,),),
array('class' => 'fseed', 'stuff' => array('◆◆◆意念数据','✦烈焰火'),'result' => array('✦意念数据','🎆D',500,1,),),
array('class' => 'fseed', 'stuff' => array('◆焰火','◆焰火','◆焰火','◆火之碎片','◆火之碎片'),'result' => array('★华焰火★','A',200,100,'HZ'),),
array('class' => 'fseed', 'stuff' => array('✦愈合数据','★华焰火★'),'result' => array('★愈合数据★','🎆H',350,'∞',),),
array('class' => 'fseed', 'stuff' => array('✦熟练数据','★华焰火★'),'result' => array('★熟练数据★','🎆V',400,1,),),
array('class' => 'fseed', 'stuff' => array('✦生命数据','★华焰火★'),'result' => array('★生命数据★','🎆O',1000,1,),),
array('class' => 'fseed', 'stuff' => array('✦意念数据','★华焰火★'),'result' => array('★意念数据★','🎆D',1000,1,),),
array('class' => 'fseed', 'stuff' => array('★愈合数据★','☾真焰火☽'),'result' => array('☾愈合数据☽','🎆H',500,'∞',),),
array('class' => 'fseed', 'stuff' => array('★熟练数据★','☾真焰火☽'),'result' => array('☾熟练数据☽','🎆V',1000,1,),),
array('class' => 'fseed', 'stuff' => array('★生命数据★','☾真焰火☽'),'result' => array('☾生命数据☽','🎆O',2000,1,),),
array('class' => 'fseed', 'stuff' => array('★意念数据★','☾真焰火☽'),'result' => array('☾意念数据☽','🎆D',2000,1,),),
array('class' => 'fseed', 'stuff' => array('◆篝火','◆篝火','◆篝火'),'result' => array('◆◆◆篝火','DB',50,1,'a'),),
array('class' => 'fseed', 'stuff' => array('◆埋火','◆埋火','◆埋火'),'result' => array('◆◆◆埋火','DH',50,1,'B'),),
array('class' => 'fseed', 'stuff' => array('◆永火','◆永火','◆永火'),'result' => array('◆◆◆永火','DF',50,1,'M'),),
array('class' => 'fseed', 'stuff' => array('◆残火','◆残火','◆残火'),'result' => array('◆◆◆残火','DA',50,1,'b'),),
array('class' => 'fseed', 'stuff' => array('◆◆◆篝火','✦烈焰火'),'result' => array('✦烈篝火','DB',50,50,'a'),),
array('class' => 'fseed', 'stuff' => array('◆◆◆埋火','✦烈焰火'),'result' => array('✦烈埋火','DH',50,50,'B'),),
array('class' => 'fseed', 'stuff' => array('◆◆◆永火','✦烈焰火'),'result' => array('✦烈永火','DF',50,50,'M'),),
array('class' => 'fseed', 'stuff' => array('◆◆◆残火','✦烈焰火'),'result' => array('✦烈残火','DA',50,50,'b'),),
array('class' => 'fseed', 'stuff' => array('✦烈篝火','✦烈篝火','✦烈篝火'),'result' => array('✦✦烈篝火','DB',100,50,'a'),),
array('class' => 'fseed', 'stuff' => array('✦烈埋火','✦烈埋火','✦烈埋火'),'result' => array('✦✦烈埋火','DH',100,50,'B'),),
array('class' => 'fseed', 'stuff' => array('✦烈永火','✦烈永火','✦烈永火'),'result' => array('✦✦烈永火','DF',100,50,'M'),),
array('class' => 'fseed', 'stuff' => array('✦烈残火','✦烈残火','✦烈残火'),'result' => array('✦✦烈残火','DA',100,50,'b'),),
array('class' => 'fseed', 'stuff' => array('✦烈篝火','✦烈篝火','✦烈篝火'),'result' => array('✦✦✦烈篝火','DB',200,50,'a'),),
array('class' => 'fseed', 'stuff' => array('✦烈埋火','✦烈埋火','✦烈埋火'),'result' => array('✦✦✦烈埋火','DH',200,50,'B'),),
array('class' => 'fseed', 'stuff' => array('✦烈永火','✦烈永火','✦烈永火'),'result' => array('✦✦✦烈永火','DF',200,50,'M'),),
array('class' => 'fseed', 'stuff' => array('✦烈残火','✦烈残火','✦烈残火'),'result' => array('✦✦✦烈残火','DA',200,50,'b'),),
array('class' => 'fseed', 'stuff' => array('✦✦烈篝火','✦✦烈篝火','✦✦烈篝火'),'result' => array('✦✦✦烈篝火','DB',200,50,'a'),),
array('class' => 'fseed', 'stuff' => array('✦✦烈埋火','✦✦烈埋火','✦✦烈埋火'),'result' => array('✦✦✦烈埋火','DH',200,50,'B'),),
array('class' => 'fseed', 'stuff' => array('✦✦烈永火','✦✦烈永火','✦✦烈永火'),'result' => array('✦✦✦烈永火','DF',200,50,'M'),),
array('class' => 'fseed', 'stuff' => array('✦✦烈残火','✦✦烈残火','✦✦烈残火'),'result' => array('✦✦✦烈残火','DA',200,50,'b'),),
array('class' => 'fseed', 'stuff' => array('✦烈焰火','✦烈焰火','◆火之碎片'),'result' => array('★华焰火★','A',200,100,'HZ'),),
array('class' => 'fseed', 'stuff' => array('✦愈合数据','★华焰火★'),'result' => array('★愈合数据★','HB',100,'∞',),),
array('class' => 'fseed', 'stuff' => array('✦熟练数据','★华焰火★'),'result' => array('★熟练数据★','VV',200,1,),),
array('class' => 'fseed', 'stuff' => array('✦生命数据','★华焰火★'),'result' => array('★生命数据★','MH',200,1,),),
array('class' => 'fseed', 'stuff' => array('✦意念数据','★华焰火★'),'result' => array('★意念数据★','MD',200,1,),),
array('class' => 'fseed', 'stuff' => array('✦✦✦烈篝火','★华焰火★'),'result' => array('★华篝火★','DB',200,100,'aZ'),),
array('class' => 'fseed', 'stuff' => array('✦✦✦烈埋火','★华焰火★'),'result' => array('★华埋火★','DH',200,100,'BZ'),),
array('class' => 'fseed', 'stuff' => array('✦✦✦烈永火','★华焰火★'),'result' => array('★华永火★','DF',200,100,'MZ'),),
array('class' => 'fseed', 'stuff' => array('✦✦✦烈残火','★华焰火★'),'result' => array('★华残火★','DA',200,100,'bZ'),),
array('class' => 'fseed', 'stuff' => array('★华焰火★','◆火之碎片'),'result' => array('☾真焰火☽','A',500,500,'HZ'),),
array('class' => 'fseed', 'stuff' => array('★愈合数据★','☾真焰火☽'),'result' => array('☾愈合数据☽','HB',300,'∞',),),
array('class' => 'fseed', 'stuff' => array('★熟练数据★','☾真焰火☽'),'result' => array('☾熟练数据☽','VV',700,1,),),
array('class' => 'fseed', 'stuff' => array('★生命数据★','☾真焰火☽'),'result' => array('☾生命数据☽','MH',700,1,),),
array('class' => 'fseed', 'stuff' => array('★意念数据★','☾真焰火☽'),'result' => array('☾意念数据☽','MD',700,1,),),
array('class' => 'fseed', 'stuff' => array('★华篝火★','☾真焰火☽'),'result' => array('☾真篝火☽','DB',500,500,'aZ'),),
array('class' => 'fseed', 'stuff' => array('★华埋火★','☾真焰火☽'),'result' => array('☾真埋火☽','DH',500,500,'BZ'),),
array('class' => 'fseed', 'stuff' => array('★华永火★','☾真焰火☽'),'result' => array('☾真永火☽','DF',500,500,'MZ'),),
......
......@@ -2137,7 +2137,7 @@
'wepe' => 1,
'weps' => 50,
'itm5' => '◆愈合数据',
'itmk5' => 'HB',
'itmk5' => '🎆H',
'itme5' => 5,
'itms5' => '∞',
),
......@@ -2152,7 +2152,7 @@
'wepe' => 1,
'weps' => 50,
'itm5' => '◆熟练数据',
'itmk5' => 'VV',
'itmk5' => '🎆V',
'itme5' => 1,
'itms5' => 5,
),
......@@ -2167,7 +2167,7 @@
'wepe' => 1,
'weps' => 50,
'itm5' => '◆生命数据',
'itmk5' => 'MH',
'itmk5' => '🎆O',
'itme5' => 1,
'itms5' => 10,
),
......@@ -2182,7 +2182,7 @@
'wepe' => 1,
'weps' => 50,
'itm5' => '◆意念数据',
'itmk5' => 'MD',
'itmk5' => '🎆D',
'itme5' => 1,
'itms5' => 10,
),
......
......@@ -296,8 +296,8 @@ $lwinfo = Array(
92 => '成为……焰火……',
);
$infinfo = Array('b' => '<span class="red">胸</span>', 'h' => '<span class="red">头</span>', 'a' => '<span class="red">腕</span>', 'f' => '<span class="red">足</span>', 'p' => '<span class="purple">毒</span>', 'u' => '<span class="red">烧</span>', 'i' => '<span class="clan">冻</span>', 'e' => '<span class="yellow">麻</span>','w' => '<span class="grey">乱</span>');
$attinfo = Array('N' => '徒手殴打', 'P' => '殴打','K' => '斩刺', 'G' => '射击', 'C' => '投掷', 'D' => '设置引信伏击', 'F' => '释放灵力攻击', 'J' => '狙击');
$skillinfo = Array('N' => 'wp', 'P' => 'wp', 'K' => 'wk', 'G' => 'wg', 'C' => 'wc', 'D' => 'wd', 'F'=> 'wf', 'J'=> 'wg');
$attinfo = Array('N' => '徒手殴打', 'P' => '殴打','K' => '斩刺', 'G' => '射击', 'C' => '投掷', 'D' => '设置引信伏击', 'F' => '释放灵力攻击', 'J' => '狙击', 'B' => '投射');
$skillinfo = Array('N' => 'wp', 'P' => 'wp', 'K' => 'wk', 'G' => 'wg', 'C' => 'wc', 'D' => 'wd', 'F'=> 'wf', 'J'=> 'wg', 'B' => 'wc');
//$rangeinfo = Array('N' => 'S', 'P' => 'S', 'K' => 'S', 'G' => 'M', 'C' => 'M', 'D' => 'L', 'F'=> 'M'); #各种攻击方式的射程,移动到combatcfg.php
$restinfo = Array('通常','睡眠','治疗','静养');
$noiseinfo = Array(
......@@ -1006,6 +1006,7 @@ $iteminfo = Array(//注意顺序,AB必须在A的前面,以此类推
'HB' => '命体恢复',
'HM' => '歌魂增加',
'HT' => '歌魂恢复',
'GA' => '箭矢',
'GBr' => '机枪弹药',
'GBi' => '气体弹药',
'GBh' => '重型弹药',
......@@ -1046,6 +1047,7 @@ $iteminfo = Array(//注意顺序,AB必须在A的前面,以此类推
'WC' => '投掷兵器',#CAST
'WD' => '爆炸物',#DETONATE
'WF' => '灵力兵器', #FLOWERING
'WB' => '弓', #BOW
'WQ' =>'????',
'XA' =>'代码残片·绿',
'XB' =>'代码残片·紫',
......@@ -1058,6 +1060,12 @@ $iteminfo = Array(//注意顺序,AB必须在A的前面,以此类推
'ZB'=> '称号卡',
'Z' => '特殊',#不可合并
'🥚' => '代码片段',
'🎆H' => '余烬', #愈合数据
'🎆V' => '余烬', #熟练数据
'🎆O' => '余烬', #生命数据
'🎆D' => '余烬', #意念数据
'P🎆' => '余烬', #霍霍完歌魂是不是还要霍霍种火数据(悲
'🎆' => '余烬', # Catch-All
);
$itemspkinfo = Array(
......@@ -1114,6 +1122,7 @@ $itemspkinfo = Array(
'^' => '背包',
'🧰' => '工具',
'🍎' => '水果',
'|' => '<:DUMMY:>', //箭矢用的分隔符
);
//club20 元素大师:
......
......@@ -166,6 +166,12 @@ $tps_ik = Array
'ZB' => Array('class'=>'lime', 'title'=>"在没有决定称号的时候使用该物品,便可获得该对应称号。",),
'ZA' => Array('class'=>'neonyellow', 'title'=>"这个物品中似乎含有让你可以独自脱离幻境的方法……",),
'🥚' => Array('class'=>'purple', 'title'=>"通过提取物品产生的蛋状物品,看起来可以插回其他物品为之强化。",),
'🎆' => Array('class'=>'lime', 'title'=>"神秘存在身上掉落的碎片,似乎和你很匹配。",),
'🎆H' => Array('class'=>'lime', 'title'=>"神秘存在身上掉落的碎片,似乎和你很匹配。",),
'🎆V' => Array('class'=>'lime', 'title'=>"神秘存在身上掉落的碎片,似乎和你很匹配。",),
'🎆O' => Array('class'=>'lime', 'title'=>"神秘存在身上掉落的碎片,似乎和你很匹配。",),
'🎆D' => Array('class'=>'lime', 'title'=>"神秘存在身上掉落的碎片,似乎和你很匹配。",),
'P🎆' => Array('class'=>'lime', 'title'=>"神秘存在身上掉落的碎片,似乎和你狠匹配。",),
);
$tps_isk = Array
......
......@@ -75,7 +75,7 @@ CREATE TABLE bra_maptrap (
DROP TABLE IF EXISTS bra_newsinfo;
CREATE TABLE bra_newsinfo (
nid smallint unsigned NOT NULL auto_increment,
nid mediumint unsigned NOT NULL auto_increment,
`time` int(10) unsigned NOT NULL default '0',
`news` char(30) NOT NULL default '',
`a` varchar(255) NOT NULL default '',
......@@ -94,7 +94,7 @@ CREATE TABLE bra_newsinfo (
DROP TABLE IF EXISTS bra_gambling;
CREATE TABLE bra_gambling (
gid smallint unsigned NOT NULL auto_increment,
gid mediumint unsigned NOT NULL auto_increment,
uid mediumint(8) unsigned NOT NULL default '0',
uname char(15) NOT NULL default '',
bid smallint unsigned NOT NULL default '0',
......
......@@ -434,6 +434,20 @@ function itemuse($itmn,&$data=NULL) {
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
}
} elseif(strpos ( $itmk, 'GA' ) === 0) {//使用箭矢
if (strpos ( $wepk, 'WB' ) !== 0) {
$log .= "<span class=\"red b\">你没有装备弓,不能给武器上箭。</span><br>";
$mode = 'command';
return;
} elseif(0 === $itmn && !empty($weps)) {//捡到的箭矢不能马上拉弓,避免换箭覆盖itm0的问题
$log .= "你一只手捏着弓箭,一只手抓着刚捡到的箭矢,没法马上弯弓搭箭。<span class=\"red b\">还是先把箭矢收进包裹里吧。</span><br>";
$mode = 'command';
return;
} else {
//$theitem = Array('itm' => &$itm, 'itmk' => &$itmk, 'itme' => &$itme, 'itms' => &$itms, 'itmsk' => &$itmsk);
include_once GAME_ROOT . './include/game/item2.func.php';
itemuse_ugb($pdata, $itmn);
}
} elseif (strpos ( $itmk, 'R' ) === 0) {
//$log.= $itm .'已经废弃,请联系管理员。';
if ($itme > 0) {
......@@ -1039,6 +1053,308 @@ function itemuse($itmn,&$data=NULL) {
}else{
$log.="你使用了<span class=\"yellow\">{$itm}</span>,但是没有发现陷阱。<br>";
}
}elseif (strpos ( $itmk, '🎆' ) === 0 ) {
//В ΜΑЛΨ, В ЩΑЁΨ, В ЦΨΨ ОΑЙЙ, В ТИХ ЩДТЖИΜД.
//ХЖ ДЖХЖТ, ЖХΨ ЦЩТΑВΜДЩ ТЖΑΡ, ΜΨЩ. ЩДВХΜЦ. ΡЖХΨ.
//Thanks Chantal for crunching those numbers - I'll make sure I find you something else to crunch on some other time...
# This method concerns 4 of them, and one additional check:
//$hp up, $w[X] up, $mhp up, $def up
# Then, decide on the Rank of the Fireseed Item, this will decide its maximum value:
$rank = 0;
# Those items will always start with either ◆,✦,★,☾, and ☼
if (strpos ( $itm, '◆' ) === 0){
$rank = 1;
}elseif (strpos ( $itm, '✦' ) === 0){
$rank = 2;
}elseif (strpos ( $itm, '★' ) === 0){
$rank = 3;
}elseif (strpos ( $itm, '☾' ) === 0){
$rank = 4;
}elseif (strpos ( $itm, '☼') === 0){
$rank = 5;
}else{
$rank = 0;
}
# Special check for a invalid item (Rank = 0), Just turn it into healing.
if($rank == 0){
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚,你感觉焕然一新!<br>";
$hp = $mhp;
$sp = $msp;
}
# Logic for each of the 4 usages.
elseif($itmk == '🎆H'){
# This is healing item, it can heal beyond your $mhp based on its rank.
if ($rank == 1){
$gainmax = round($mhp * 0.51);
}elseif ($rank == 2){
$gainmax = round($mhp * 1.08);
}elseif ($rank == 3){
$gainmax = round($mhp * 2.33);
}elseif ($rank == 4){
$gainmax = round($mhp * 5.73);
}else{
$gainmax = '∞';
}
// Tracking how much HP one can overheal based on its rank.
$clbpara['fireseedMaxHPRecover'] = $gainmax;
if ($gainmax !== '∞'){
// Gain HP and SP - note we don't overheal SP here.
$addsp = $msp - $sp < $itme ? $msp - $sp : $itme;
if($addsp > 0) $sp += $addsp;
else $addsp = 0;
// Calculating overheal HP value.
$addhp = ($mhp + $gainmax) - $hp < $itme ? ($mhp + $gainmax) - $hp : $itme;
if($addhp > 0) $hp += $addhp;
else $addhp = 0;
if ($addhp <= 0){
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
但是似乎并没有回复生命!<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你可能需要找个纯度更高的代码片段哟~」<br></span>";
$falsify = true;
}else{
$gainless = ($mhp + $gainmax) - $hp;
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
治愈的代码片段为你恢复了<span class=\"yellow\">$addhp</span>点生命和<span class=\"yellow\">$addsp</span>点体力。<br>
<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你还能获得{$gainless}点临时生命哟~<br>
但临时生命就是临时的,随时都有可能消失哟~」<br></span>";
if($gainless < $itme){
$log.="<br><span class=\"redseed\">这时,有另一把声音插了进来:<br>
「看起来这个纯度的代码片段已经喂不饱你了。<br>
赶快找下一个纯度的代码片段吧!」<br></span>";
}
}
}else{
$addsp = $msp - $sp < $itme ? $msp - $sp : $itme;
if($addsp > 0) $sp += $addsp;
else $addsp = 0;
$addhp = $itme;
$hp += $addhp;
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
治愈的代码片段为你恢复了<span class=\"yellow\">$addhp</span>点生命和<span class=\"yellow\">$addsp</span>点体力。<br>";
}
}
elseif ($itmk == '🎆V'){
# This is $w[X] up, it simply add to all $w[X] values.
if ($rank == 1){
$gainmax = 201;
}elseif ($rank == 2){
$gainmax = 502;
}elseif ($rank == 3){
$gainmax = 2003;
}elseif ($rank == 4){
$gainmax = 8011;
}else{
$gainmax = '∞';
}
// Tracking how much w value one can gain based on its rank.
$clbpara['fireseedmaxProfGain'] = $gainmax;
if ($gainmax !== '∞'){
// Gain w value
$addw = $itme;
$clbpara['fireseedmaxProfAdd'] += $addw;
if($clbpara['fireseedmaxProfGain'] - $clbpara['fireseedmaxProfAdd'] > 0) {
$wp += $addw;
$wk += $addw;
$wg += $addw;
$wc += $addw;
$wd += $addw;
$wf += $addw;}
else $addw = 0;
if ($addw <= 0){
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
但是似乎什么都没有发生!<br>
<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你可能需要找个纯度更高的代码片段哟~」<br></span>";
$falsify = true;
}else{
$gainless = $clbpara['fireseedmaxProfGain'] - $clbpara['fireseedmaxProfAdd'];
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
载有熟练度的代码片段让你获得了<span class=\"yellow\">$addw</span>点全系熟练度!<br>
<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你还能通过这个纯度的代码获得{$gainless}点熟练度哟~」<br></span>";
if($gainless < $itme){
$log.="<br><span class=\"redseed\">这时,有另一把声音插了进来:<br>
「看起来这个纯度的代码片段已经喂不饱你了。<br>
赶快找下一个纯度的代码片段吧!」<br></span>";
}
}
}else{
$addw = $itme;
$wp += $addw;
$wk += $addw;
$wg += $addw;
$wc += $addw;
$wd += $addw;
$wf += $addw;
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
载有熟练度的代码片段让你获得了<span class=\"yellow\">$addw</span>点全系熟练度!<br>";
}
}
elseif ($itmk == '🎆O'){
# This is $mhp up item, it simply add to that value.
if ($rank == 1){
$gainmax = 1001;
}elseif ($rank == 2){
$gainmax = 3002;
}elseif ($rank == 3){
$gainmax = 5003;
}elseif ($rank == 4){
$gainmax = 8008;
}else{
$gainmax = '∞';
}
// Tracking how much $mhp value one can gain based on its rank.
$clbpara['fireseedmaxHPGain'] = $gainmax;
if ($gainmax !== '∞'){
// Gain $mhp value
$addmhp = $itme;
$clbpara['fireseedmaxHPAdd'] += $addmhp;
if($clbpara['fireseedmaxHPGain'] - $clbpara['fireseedmaxHPAdd'] > 0) $mhp += $addmhp;
else $addmhp = 0;
if ($addmhp <= 0){
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
但是似乎什么都没有发生!<br>
<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你可能需要找个纯度更高的代码片段哟~」<br></span>";
$falsify = true;
}else{
$gainless = $clbpara['fireseedmaxHPGain'] - $clbpara['fireseedmaxHPAdd'];
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
载有生命的代码片段让你获得了<span class=\"yellow\">$addmhp</span>点生命最大值!<br>
<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你还能通过这个纯度的代码获得{$gainless}点生命最大值哟~」<br></span>";
if($gainless < $itme){
$log.="<br><span class=\"redseed\">这时,有另一把声音插了进来:<br>
「看起来这个纯度的代码片段已经喂不饱你了。<br>
赶快找下一个纯度的代码片段吧!」<br></span>";
}
}
}else{
$addw = $itme;
$mhp += $addmhp;
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
载有生命的代码片段让你获得了<span class=\"yellow\">$addmhp</span>点生命最大值!<br>";
}
}
elseif ($itmk == '🎆D'){
# This is $def up item, it simply add to that value.
if ($rank == 1){
$gainmax = 1001;
}elseif ($rank == 2){
$gainmax = 3002;
}elseif ($rank == 3){
$gainmax = 5003;
}elseif ($rank == 4){
$gainmax = 8008;
}else{
$gainmax = '∞';
}
// Tracking how much $def value one can gain based on its rank.
$clbpara['fireseedmaxDefGain'] = $gainmax;
if ($gainmax !== '∞'){
// Gain $def value
$adddef = $itme;
$clbpara['fireseedmaxDefAdd'] += $adddef;
if($clbpara['fireseedmaxDefGain'] - $clbpara['fireseedmaxDefAdd'] > 0) $def += $adddef;
else $adddef = 0;
if ($adddef <= 0){
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
但是似乎什么都没有发生!<br>
<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你可能需要找个纯度更高的代码片段哟~」<br></span>";
$falsify = true;
}else{
$gainless = $clbpara['fireseedmaxDefGain'] - $clbpara['fireseedmaxDefAdd'];
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
载有防御数据的代码片段让你获得了<span class=\"yellow\">$adddef</span>点基础防御力!<br>
<br>
<br>
<span class=\"blueseed\">同时,你还隐约听见了一个声音:<br>
「你还能通过这个纯度的代码获得{$gainless}点基础防御力哟~」<br></span>";
if($gainless < $itme){
$log.="<br><span class=\"redseed\">这时,有另一把声音插了进来:<br>
「看起来这个纯度的代码片段已经喂不饱你了。<br>
赶快找下一个纯度的代码片段吧!」<br></span>";
}
}
}else{
$adddef = $itme;
$def += $adddef;
$log.="你将<span class=\"yellow\">{$itm}</span>吞下了肚。<br>
载有防御数据的代码片段让你获得了<span class=\"yellow\">$adddef</span>点基础防御力!<br>";
}
}
else{
$log.="这段代码……要如何使用呢?<br>";
$falsify = true;
}
//Process item decrease.
if ($itms != $nosta) {
$itms --;
if ($itms <= 0) {
$log .= "<span class=\"red\">$itm</span>用光了。<br>";
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
}
}
# Special check for a poisoned fireseed item, WIP for now.
}elseif($itmk == 'P🎆'){
$log.="这个<span class=\"yellow\">{$itm}</span>有毒!到底是谁干的!<br>";
# For Maximum Funniness, we destroy this item.
$log .= "<span class=\"red\">$itm</span>用光了。<br>";
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
}elseif (strpos ( $itmk, 'Y' ) === 0 || strpos ( $itmk, 'Z' ) === 0) {
if ($itm == '电池') {
//功能需要修改,改为选择道具使用YE类型道具可充电
......@@ -1056,7 +1372,7 @@ function itemuse($itmn,&$data=NULL) {
if (! $flag) {
$log .= '你没有需要充电的物品。<br>';
}
} elseif ($itm == '群青多面体') {
}elseif ($itm == '群青多面体') {
//global $plsinfo,$nosta,$db,$tablepre;
$result = $db->query("SELECT pid,name,pls FROM {$tablepre}players WHERE type = 14 && hp > 0");
$ndata = array();
......
......@@ -520,21 +520,39 @@ function qianghua($itmn = 0) {
$zitmlv = $zitmlv[1];
//$dengji = substr(${'itm'.$itmn},strpos(${'itm'.$itmn},"[+")+2,strlen(${'itm'.$itmn}) - strpos(${'itm'.$itmn},"]")+1);//北京你自己看着办
//$dengji = str_replace(']','',$dengji);
if($zitmlv >= 3 && $baoshi != '『灵魂宝石』'){
$log .= '你所选的宝石只能强化装备到[+3]哦!DA☆ZE<br>';
if($zitmlv >= 4 && $baoshi != '『灵魂宝石』'){
$log .= '你所选的宝石只能强化装备到[+4]哦!DA☆ZE<br>';
$mode = 'command';
return;
}else{
if ($zitmlv >= 4){
$gailv = rand(1,$zitmlv-2);
}elseif ($zitmlv >= 6){
$gailv = rand(1,$zitmlv-1);
}elseif ($zitmlv >= 10){
$gailv = rand(1,$zitmlv);
if ($zitmlv==3 && $baoshi=='『祝福宝石』'){
if ($baoshis<2)
{
$log .= '你需要至少2颗祝福宝石才能强化装备到[+4]哦!DA☆ZE<br>';
$mode = 'command';
return;
}
elseif ($baoshis==2) //两颗成功率1/3
{
$baoshis--;
$dice = rand(1,30);
}
else //3颗必定成功
{
$baoshis -= 2;
$dice = 1;
}
}elseif ($zitmlv >= 4){
$dice = rand(1,10*($zitmlv-2));//+5概率10/20,+6概率10/30,+7概率10/40,+8概率10/50与原来相同
// $gailv = rand(1,$zitmlv-2);//原代码因为错误的缘故只能执行这里,概率是1/(当前lv-2),也即冲+5就是1/2,冲+6就是1/3以此类推
// }elseif ($zitmlv >= 6){
// $gailv = rand(1,$zitmlv-1);
// }elseif ($zitmlv >= 10){
// $gailv = rand(1,$zitmlv);
}else{
$gailv = 1;
$dice = 1;
}
if ($gailv == 1 ){
if ($dice <= 10 ){
$flag = true;
}else{$flag = false;}
}
......@@ -862,4 +880,55 @@ function item_slip($snm,&$data)
'U' => '“纸条啥的……”<br>“希望这张纸条不会成为你的遗书。”<br>“总之祝你好运。”<br>',
);
}
//使用箭矢的功能拆在这里
function itemuse_ugb(&$pdata, $itmn){
global $log, $mode, $nosta;
$wep=&$pdata['wep']; $wepk=&$pdata['wepk'];
$wepe=&$pdata['wepe']; $weps=&$pdata['weps']; $wepsk=&$pdata['wepsk'];
$itm=&$pdata['itm'.$itmn]; $itmk=&$pdata['itmk'.$itmn];
$itme=&$pdata['itme'.$itmn]; $itms=&$pdata['itms'.$itmn]; $itmsk=&$pdata['itmsk'.$itmn];
//清除箭矢名
$swapn = wep_b_clean_arrow_name($wepk);
//清除武器上的箭属性
$swapsk = wep_b_clean_arrow_sk($wepsk);
//判定卸下来的箭矢数目,然后把武器改成无穷耐
$swapnum = 0;
if ($weps !== $nosta) {
$swapnum = $weps;
$weps = $nosta;
}
$wepsk_arr = get_itmsk_array($wepsk);
$itmsk_arr = get_itmsk_array($itmsk);
//如果是箭矢或者弓有连射属性,那么箭矢上限就是连射次数上限
//判定连射次数按理也应该拆一个函数出来
$arrowmax = (in_array('r',$itmsk_arr) || in_array('r',$wepsk_arr)) ? 2 + min ( floor(${$skillinfo['B']} / 200), 4 ) : 1;
$arrownum = min($arrowmax, $itms);
//再修改一次武器的耐久值。其实如果弄一个卸箭的功能,卸箭和上箭应该要拆成两个函数
$weps = $arrownum;
$itms -= $arrownum;
//记录箭矢名
$wepk .= '|'.$itm;
//为武器增加箭属性
if(!empty($itmsk_arr)){
$wepsk .= '|'.implode('', $itmsk_arr).'|';
}
if(!$swapnum) $log .= "为<span class=\"red b\">$wep</span>选用了<span class=\"red b\">$itm</span>,<span class=\"red b\">$wep</span>发射次数增加了<span class=\"yellow b\">$arrownum</span>。<br>";
else $log .= "为<span class=\"red b\">$wep</span>换上了<span class=\"red b\">$itm</span>,<span class=\"red b\">$wep</span>发射次数增加了<span class=\"yellow b\">$arrownum</span>。<br>";
if ($itms <= 0) {
$log .= "<span class=\"red b\">$itm</span>用光了。<br>";
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
}
if($swapnum){
$pdata['itm0'] = $swapn ? $swapn : '卸下的箭';$pdata['itmk0'] = 'GA';$pdata['itme0'] = 1;$pdata['itms0'] = $swapnum; $pdata['itmsk0'] = $swapsk;
itemget();
}
}
?>
\ No newline at end of file
......@@ -408,7 +408,6 @@ function itemfind(&$data=NULL) {
}
}
function itemget(&$data=NULL)
{
global $log,$nosta,$mode,$cmd;
......@@ -436,7 +435,7 @@ function itemget(&$data=NULL)
return;
}
}
if(preg_match('/^(WC|WD|WF|Y|B|C|TN|GB|M|V)/',$itmk0) && $itms0 !== $nosta){
if(preg_match('/^(WC|WD|WF|Y|B|C|TN|GA|GB|M|V)/',$itmk0) && $itms0 !== $nosta){
//global $wep,$wepk,$wepe,$weps,$wepsk;
if($wep == $itm0 && $wepk == $itmk0 && $wepe == $itme0 && $wepsk == $itmsk0){
$weps += $itms0;
......@@ -737,7 +736,7 @@ function itemmerge($itn1,$itn2){
}
if(($it1 == $it2)&&($ite1 == $ite2)) {
if(($itk1==$itk2)&&($itsk1==$itsk2)&&preg_match('/^(WC|WD|WF|Y|B|C|TN|GB|V|M)/',$itk1)) {
if(($itk1==$itk2)&&($itsk1==$itsk2)&&preg_match('/^(WC|WD|WF|Y|B|C|TN|GA|GB|V|M)/',$itk1)) {
$its2 += $its1;
$it1 = $itk1 = $itsk1 = '';
$ite1 = $its1 = 0;
......@@ -1749,6 +1748,24 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0)
$pa['weps'] = $nosta;
}
}
elseif($pa['wep_kind'] == 'B')
{
if(!$pa['type'])
{
if($hurtvalue > 0) $log .= "<span class='grey'>{$pa['nm']}{$pa['wep']}用掉了{$hurtvalue}支箭。</span><br>";
else $log .= "<span class='grey'>{$pa['wep']}的箭矢数凭空多出了".abs($hurtvalue)."……啊??</span><br>";
}
if(empty($pa['weps']))
{
$log .= "{$pa['nm']}的<span class=\"red\">{$pa['wep']}</span>的箭矢用光了!<br>";
$pa['weps'] = $nosta;
//弓系武器用光箭后刷新一次属性,剔除箭矢带来的属性
//箭矢用光时抹掉箭矢名
wep_b_clean_arrow_name($pa['wepk']);
//箭矢用光时抹掉箭矢带来的属性
wep_b_clean_arrow_sk($pa['wepsk']);
}
}
}
}
if($wep_loss_flag)
......@@ -1764,6 +1781,7 @@ function weapon_loss(&$pa,$hurtvalue,$force_imp=0,$check_sk=0)
return;
}
//扣除指定装备的耐久。check_sk:是否在武器毁坏时重新检查属性数组$pa['ex_keys']
function armor_hurt(&$pa,$which,$hurtvalue,$check_sk=0)
{
......@@ -1820,5 +1838,30 @@ function unset_ex_from_array(&$pa,$exarr)
return;
}
//把箭矢名字抹掉
//认为武器类别|后的都是箭矢名,返回抹掉的名字
function wep_b_clean_arrow_name(&$itmk){
if(strpos($itmk,'|')===false) return '';
$ofs = strpos($itmk,'|');
$ret = substr($itmk, $ofs+1);
$itmk = substr($itmk, 0, $ofs);
return $ret;
}
//把引用的参数中的箭矢带来的属性抹掉,返回抹掉的属性
//认为|之间的属性都是箭矢属性
function wep_b_clean_arrow_sk(&$itmsk){
if(strpos($itmsk,'|')===false) return '';
//如果奇数个,则结尾补一个|,嘿嘿
if(substr_count($itmsk, '|') % 2) $itmsk .= '|';
preg_match('/\|.*\|/s',$itmsk,$matches);
$ret = '';
if(!empty($matches)) {
$itmsk = preg_replace('/\|.*?\|/s','',$itmsk);
$ret = substr($matches[0], 1, -1);
}
return $ret;
}
?>
......@@ -73,17 +73,30 @@ namespace revattr
$pa['wep_kind'] = 'P';
$pa['is_wpg'] = 1;
}
//弓没子弹当做斩系
if($pa['wep_kind'] == 'B' && $pa['weps'] == $nosta)
{
$pa['wep_kind'] = 'K';
$pa['is_wpg'] = 1;//借用同一个变量吧,总不可能又是枪又是弓……能、能吗?
}
return $pa['wep_kind']; //保险起见……
}
# 获取武器射程
function get_wep_range(&$pa)
{
global $rangeinfo;
global $rangeinfo,$skillinfo;
if(empty($pa['wep_kind'])) get_wep_kind($pa);
$range = isset($rangeinfo[$pa['wep_kind']]) ? $rangeinfo[$pa['wep_kind']] : NULL;
//弓系射程随熟练增加,每200点加1,最多加3
if($pa['wep_kind']=='B') {
$r_add = floor($pa[$skillinfo[$pa['wep_kind']]] / 200);
if($r_add > 3) $r = 3;
$range += $r_add;
}
# 获取社团技能对武器射程的修正
$range = get_clbskill_wep_range($pa,$range);
......@@ -696,6 +709,7 @@ namespace revattr
$pa['wepe_t'] = $pa['wepe'];
}
//枪托打人 武器伤害=面板数值/5
//弓当斩系武器也用同一个数值好了,懒得多想
elseif(isset($pa['is_wpg']))
{
$pa['wepe_t'] = round ($pa['wepe']/ 5 );
......
......@@ -266,13 +266,34 @@ namespace revbattle
}
}
}
//先制状态下可以自动给弓上箭
if (strpos ( $pdata['wepk'], 'WB' ) === 0 && $pdata['weps'] === $nosta) {
//$tmp_log = $log;
$pos_a = 0;
//遍历所有包裹,寻找最靠前的箭矢装填
for($i=1; $i<=6; $i++){
if($pdata['itmk'.$i] == 'GA') {
$pos_a = $i;
break;
}
}
//直接调用上箭的函数
if($pos_a) {
$log .= '你及时弯弓搭箭,';
include_once GAME_ROOT . './include/game/item2.func.php';
itemuse_ugb($pdata, $pos_a);
}
//$tmp_log_2 = substr($log, strlen($tmp_log));
//$log = $tmp_log;//暂存一下$log,调整显示顺序,不过可能不利于以后扩展,再说吧……
}
//if(!empty($tmp_log_2)) $log .= $tmp_log_2;
}
}
//初始化玩家攻击方式信息
$w1 = substr($pdata['wepk'],1,1);
$w2 = substr($pdata['wepk'],2,1);
if(empty($w2) || is_numeric($w2)) $w2='';
if(empty($w2) || is_numeric($w2) || '|' == $w2) $w2='';
if (($w1 == 'G'||$w1=='J')&&($pdata['weps']==$nosta)) $w1 = 'P';
include template('battlecmd_rev');
......
......@@ -664,12 +664,15 @@ function parse_skinfo_desc($info,$subinfo='',$short='',$tiptype='')
foreach($info as $sk)
{
$csk = $itemspkinfo[$sk];
//键值为<:DUMMY:>的属性跳过(注意只是跳过了显示的处理)
if($csk == '<:DUMMY:>') continue;
# 如果不是第一个属性 显示一个 + 号
if($sk_nums>0) $sk_info .= '+';
# 检查属性有没有特殊样式
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']))
{
......
......@@ -554,7 +554,7 @@ function gameover($time = 0, $mode = '', $winname = '') {
rs_sttime();//重置游戏开始时间和当前游戏状态
$gamestate = 0;
save_gameinfo();
save_gameinfo();//先保存一次免得后面的处理过程太长,尽可能避免脏数据
//echo '**游戏结束**';
//$gamestate = 0;
//addnews($time, "end$winmode" , $winner);
......@@ -576,6 +576,7 @@ function gameover($time = 0, $mode = '', $winname = '') {
//rs_sttime();
//save_gameinfo();
set_credits();
save_gameinfo();//set_credits()里也有修改$gamevars的需求,再存一次,反正就一条记录读写不可能高并发
return;
}
......@@ -965,10 +966,11 @@ function get_credit_up($data,$winner = '',$winmode = 0){
return $up;
}
//判定赌局结果的烂代码
function get_gambling_result($clist, $winner='',$winmode=''){
global $db,$tablepre,$gtablepre,$hdamage,$validnum,$now,$areanum,$areaadd;
global $db,$tablepre,$gtablepre,$hdamage,$validnum,$now,$areanum,$areaadd,$gamevars;
$gblog = '';
$gbfile = GAME_ROOT.TPLDIR.'/lastgb.htm';
//$gbfile = GAME_ROOT.TPLDIR.'/lastgb.htm';
if(!in_array($winmode,Array(2,3,5,7))){//无人获胜,全部赌注被冴冴吃掉
$gblog .= '无人获胜,全部切糕被冴冴吃掉!';
$updatelist = false;
......@@ -998,7 +1000,7 @@ function get_gambling_result($clist, $winner='',$winmode=''){
if($apm >= 1){$apmnum ++;}
}
$avrcredit = $creditsum / $validnum;//平均战斗力
$avrcredit = $creditsum / ($validnum > 0 ? $validnum : 1);//平均战斗力
if($avrcredit > 10000){$creditodds = 1.25;}//平均战斗力超过10000则系数为1.25,否则系数减少,平均战斗力为4000时为1.1;
else{$creditodds = round((1 + $avrcredit / 40000)*1000)/1000;}
$apmodds = round(pow(1.02,$apmnum)*1000)/1000;//每有一名玩家达到60APM则乘以1.02
......@@ -1074,11 +1076,14 @@ function get_gambling_result($clist, $winner='',$winmode=''){
}
}
}
ob_start();
include template('gbresult');
$gbresult = ob_get_contents();
ob_end_clean();
writeover($gbfile,$gbresult);
//上一轮赌局结果存入gamevars
$gamevars['gblog'] = $gblog;
$gamevars['bwlist'] = $bwlist;
// ob_start();
// include template('gbresult');
// $gbresult = ob_get_contents();
// ob_end_clean();
// writeover($gbfile,$gbresult);
return $updatelist;
}
?>
......@@ -61,13 +61,25 @@ if(!isset($cmd)){
if(isset($error)){$gamedata['innerHTML']['error'] = $error;}
ob_clean();
$jgamedata = compatible_json_encode($gamedata);
echo $jgamedata;
if (isset($_GET['is_new'])) {
echo json_encode(array(
"info" => $gamedata['innerHTML']['info'],
));
} else {
echo $jgamedata;
}
ob_end_flush();
}else{
ob_clean();
if(isset($error)){$gamedata['innerHTML']['error'] = $error;}
$jgamedata = compatible_json_encode($gamedata);
echo $jgamedata;
if (isset($_GET['is_new'])) {
echo json_encode(array(
"info" => $gamedata['innerHTML']['info'],
));
} else {
echo $jgamedata;
}
ob_end_flush();
}
}
......
......@@ -16,7 +16,7 @@
<!--{if $gamblingon && $gamestate >= 20}-->
<p>{template gambling}</p>
<!--{elseif $gamblingon && $gamestate <= 10}-->
<p>{template lastgb}</p>
<p>{template gbresult}</p>
<!--{/if}-->
</form>
......
<!--{eval $gblog=$gamevars['gblog'];$bwlist = $gamevars['bwlist'];}-->
<h3 style="font-size:16pt" class="lime">上局切糕情况</h3>
<div class="lime">$gblog</div>
<!--{if !empty($bwlist)}-->
......
<h3 style="font-size:16pt" class="lime">上局切糕情况</h3>
<div class="lime">无人获胜,全部切糕被冴冴吃掉!</div>
......@@ -327,10 +327,11 @@ if($mode == 'enter') {
$select_icon = $icon;
if (isset($_GET['is_new'])) {
// 获取可选称号
$nickList = array_map(function($val) use ($titles_list) {
$nickList = array_map(function($val) use ($titles_list, $title_desc) {
return array(
'id' => $val,
'title' => $titles_list[$val]
'title' => $titles_list[$val],
'desc' => $title_desc[$val]['title'],
);
}, $nicksrev['nicks']);
// 获取可选普通内定称号
......
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