Commit 63921e65 authored by Nemo Ma's avatar Nemo Ma Committed by GitHub

Merge pull request #58 from hikawiier/waaagh

rev achievement phase 0.997
parents 0906223f dd51ab34
......@@ -26,7 +26,7 @@ $ach_type = Array
'name' => '合成成就',
'desc' => '<font color="olive">这里是与合成各种物品相关的成就。<br>
如果看合成表觉得麻烦,只以这些物品为目标似乎也不错。<br></font>',
'ach' => Array(0,14,15,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48),
'ach' => Array(0,14,15,49,33,50,51,52,35,36,37,38,39,40,41,42,43,44,45,46,47,48),
),
'lifetime' => Array(
'name' => '生涯成就',
......@@ -38,7 +38,7 @@ $ach_type = Array
'name' => '挑战成就',
'desc' => '<font color="olive">这里是与特定游戏中挑战相关的成就。<br>
虽然颇为浮云,但毕竟山就在那里。<br></font>',
'ach' => Array(1,28,31,32,49,50,51,52,255),
'ach' => Array(1,200,201,28,202,203,204,205,206,207,31,32,255),
),
);
......@@ -81,13 +81,6 @@ $ach_list = Array
'合成物品【KEY系催泪弹】30次',
),
),
1 => Array(
'lvl' => 1,
'name' => Array('清水池之王','清水池之王'),
'title' => Array('KEY男'),
'c1' => Array(30),
'c2' => Array(16),
),
3 => Array(
'lvl' => 3,
'name' => Array('脚本小子','黑客','幻境解离者?'),
......@@ -227,13 +220,6 @@ $ach_list = Array
'c1' => Array(0,300,500),
'c2' => Array(10,0,0),
),
28 => Array(
'lvl' => 1,
'name' => Array('烈火疾风'),
'title' => Array('神触'),
'c1' => Array(250),
'c2' => Array(0),
),
29 => Array(
'lvl' => 3,
'name' => Array('及时补给','衣食无忧','奥义很爽'),
......@@ -248,20 +234,7 @@ $ach_list = Array
'c1' => Array(0,0,0),
'c2' => Array(5,50,200),
),
31 => Array(
'lvl' => 1,
'name' => Array('Return to Sender'),
'title' => Array('R.T.S'),
'c1' => Array(0),
'c2' => Array(0),
),
32 => Array(
'lvl' => 2,
'name' => Array('0xFFFFFFFFFFFFFFFF','kernel on chessboard'),
'title' => Array('LOOP'),
'c1' => Array(0),
'c2' => Array(0),
),
33 => Array(
'lvl' => 1,
'name' => Array('诅咒之刃'),
......@@ -367,34 +340,6 @@ $ach_list = Array
'c1' => Array(0,100,350),
'c2' => Array(10,0,0),
),
49 => Array(
'lvl' => 3,
'name' => Array('超级KEY爱好者','键·四季赞歌'),
'title' => Array('','键·四季赞歌'),
'c1' => Array(0,700),
'c2' => Array(100,0),
),
50 => Array(
'lvl' => 2,
'name' => Array('人,能够挑战神吗?','★一发逆转!★'),
'title' => Array('','★一发逆转!★'),
'c1' => Array(0,700),
'c2' => Array(100,0),
),
51 => Array(
'lvl' => 2,
'name' => Array('究极的灵魂','『EX』'),
'title' => Array('','『EX』'),
'c1' => Array(0,700),
'c2' => Array(100,0),
),
52 => Array(
'lvl' => 2,
'name' => Array('真正的决斗者','◎胜利之光◎'),
'title' => Array('','『EX』'),
'c1' => Array(0,700),
'c2' => Array(100,0),
),
53 => Array(
'lvl' => 3,
'name' => Array('来打钉子吧!','棍棒爱好者','无情打钉者'),
......@@ -660,7 +605,7 @@ $ach_list = Array
# 击杀从福袋中开出稀有道具的玩家
69 => Array(
'lvl' => 3,
'name' => Array('?','海豹?','欧鳇?'),
'name' => Array('?','海豹?','欧鳇?'),
'title' => Array('','海豹杀手','上帝之鞭'),
'c1' => Array(233,234,235),
'c2' => Array(0,0,0),
......@@ -670,6 +615,191 @@ $ach_list = Array
'在入场时间更晚的情况下,击杀13位<span class="sienna">从福袋中开出SSR物品</span>的活跃玩家',
),
),
# 合成成就
# 合成春雨夏海 > 这个应该挪到合成成就里
49 => Array(
'lvl' => 3,
'name' => Array('超级KEY爱好者','键·四季赞歌'),
'title' => Array('','键·四季赞歌'),
'c1' => Array(0,700),
'c2' => Array(100,0),
'desc' => Array(
'合成物品【春雨夏海,秋叶冬雪】1次',
'合成物品【春雨夏海,秋叶冬雪】7次',
),
),
# 合成一发逆转神话 > 同上
50 => Array(
'lvl' => 2,
'name' => Array('人,能够挑战神吗?','★一发逆转!★'),
'title' => Array('','★一发逆转!★'),
'c1' => Array(0,700),
'c2' => Array(100,0),
'desc' => Array(
'合成物品★一发逆转神话★1次',
'合成物品★一发逆转神话★7次',
),
),
# 合成EX 你们都挤在挑战里干什么??
51 => Array(
'lvl' => 2,
'name' => Array('究极的灵魂','『EX』'),
'title' => Array('','『EX』'),
'c1' => Array(0,700),
'c2' => Array(100,0),
'desc' => Array(
'合成物品模式『EX』1次',
'合成物品模式『EX』7次',
),
),
# 合成光之创造神 ……
52 => Array(
'lvl' => 2,
'name' => Array('真正的决斗者','◎胜利之光◎'),
'title' => Array('','『EX』'),
'c1' => Array(0,700),
'c2' => Array(100,0),
'desc' => Array(
'合成物品◎光之创造神◎1次',
'合成物品◎光之创造神◎7次',
),
),
# 挑战成就
# key男
1 => Array(
'lvl' => 1,
'name' => Array('清水池之王','清水池之王'),
'request' => Array('最快速度:[:request:]秒'),
'title' => Array('KEY男'),
'c1' => Array(30),
'c2' => Array(16),
'desc' => Array(
'在开局<span class="sienna">5分钟内</span>合成【KEY系催泪弹】',
),
),
# 开局15分钟内合成贤者之石
200 => Array(
'lvl' => 1,
'name' => Array('不动的大图书馆'),
'request' => Array('最快速度:[:request:]秒'),
'title' => Array('哲学家'),
'c1' => Array(0),
'c2' => Array(666),
'desc' => Array(
'在开局<span class="sienna">15分钟内</span>合成火水木金土符『贤者之石』',
),
),
# 开局7分钟内合成✦烈埋火
201 => Array(
'lvl' => 1,
'name' => Array('星星之火','滴水石穿'),
'request' => Array('最快速度:[:request:]秒'),
'title' => Array('铁头'),
'c1' => Array(0),
'c2' => Array(666),
'desc' => Array(
'在开局<span class="sienna">7分钟内</span>合成✦烈埋火',
),
),
# 神触
28 => Array(
'lvl' => 1,
'name' => Array('烈火疾风',),
'request' => Array('最快速度:[:request:]秒'),
'title' => Array('神触'),
'c1' => Array(250),
'c2' => Array(0),
'desc' => Array(
'在开局<span class="sienna">30分钟内</span>开启死斗模式',
),
),
# 开局25分钟内达成锁定解除
202 => Array(
'lvl' => 1,
'name' => Array('锁孔','穿越无钥之门'),
'request' => Array('最快速度:[:request:]秒'),
'title' => Array('银之键'),
'c1' => Array(0),
'c2' => Array(1024),
'desc' => Array(
'在开局<span class="sienna">25分钟内</span>达成结局:锁定解除',
),
),
# 开局55分钟内达成幻境解离
203 => Array(
'lvl' => 1,
'name' => Array('宛如梦幻','幻境旅者'),
'request' => Array('最快速度:[:request:]秒'),
'title' => Array('前向星'),
'c1' => Array(0),
'c2' => Array(4096),
'desc' => Array(
'在开局<span class="sienna">55分钟内</span>达成结局:幻境解离',
),
),
# 使用混沌武器打满伤害
204 => Array(
'lvl' => 1,
'name' => Array('混沌的宠儿','随机数之神的庇佑'),
'title' => Array('四面骰'),
'c1' => Array(0),
'c2' => Array(444),
'desc' => Array(
'使用带有<span class="sienna">混沌属性</span>的武器攻击时,造成1次满额伤害',
),
),
# 一击承受超过一百万伤害
205 => Array(
'lvl' => 1,
'name' => Array('磁场高手','磁场颠佬'),
'request' => Array('承受最多伤害:[:request:]点'),
'title' => Array('大只佬'),
'c1' => Array(0),
'c2' => Array(1919),
'desc' => Array(
'在战斗中一次性受到超过<span class="sienna">1000000</span>点伤害',
),
),
# 不使用合成/元素合成达成锁定解除/幻境解离结局
206 => Array(
'lvl' => 1,
'name' => Array('你是怎么做到的?'),
'title' => Array('草木飞花'),
'c1' => Array(7777),
'c2' => Array(0),
'desc' => Array(
'不使用<span class="sienna">合成/元素合成/队伍</span>功能<br>达成结局:锁定解除 或 幻境解离',
),
),
# 不击杀小兵/种火达成锁定解除结局
207 => Array(
'lvl' => 1,
'name' => Array('这是人能做到的吗?'),
'title' => Array('手下留情'),
'c1' => Array(0),
'c2' => Array(7777),
'desc' => Array(
'不击杀<span class="sienna">各路党派与种火</span>达成结局:锁定解除',
),
),
# RTS:这是一个存在固定模板的成就
31 => Array(
'lvl' => 1,
'name' => Array('Return to Sender'),
'title' => Array('R.T.S'),
'c1' => Array(0),
'c2' => Array(0),
),
# LOOP > TODO:修改为一个版本成就
32 => Array(
'lvl' => 2,
'name' => Array('0xFFFFFFFFFFFFFFFF','kernel on chessboard'),
'title' => Array('LOOP'),
'c1' => Array(0),
'c2' => Array(0),
),
);
//Hi
?>
\ No newline at end of file
......@@ -9,6 +9,7 @@ CREATE TABLE bra_players (
type tinyint NOT NULL default '0',
name char(40) not null default '',
pass char(32) NOT NULL default '',
ip char(15) NOT NULL DEFAULT '',
gd char(1) NOT NULL default 'm',
race char(32) NOT NULL default '0',
sNo smallint unsigned NOT NULL default '0',
......
This diff is collapsed.
......@@ -428,7 +428,7 @@
global $now,$name,$log,$iteminfo,$itemspkinfo,$elements_info;
global $no_emix_circulation;
global $emix_luck_info,$emix_tips_arr,$emix_name_brackets_arr,$emix_name_prefix_arr,$emix_name_meta_arr,$emix_name_tail_arr;
global $itm0,$itmk0,$itme0,$itms0,$itmsk0;
global $itm0,$itmk0,$itme0,$itms0,$itmsk0,$clbpara;
if(!$emlist)
{
......@@ -436,6 +436,9 @@
return;
}
//尝试合成时 合成操作计数+1
if(empty($clbpara['achvars']['immix'])) $clbpara['achvars']['immix'] = 1;
//输入了合法的元素参数,先初始化一些变量。
$c_times = 0; $total_enum = 0; $dom_ekey = -1; $dom_enum = -1; $multi_dom_ekey = Array(); $emix_flag = NULL; $emix_fix = NULL;
//自定义效/耐比的阈值:2%~98%
......
......@@ -543,7 +543,7 @@ function itemmerge($itn1,$itn2){
$syncn=$synck=$synce=$syncs=$syncsk=Array();
function itemmix($mlist, $itemselect=-1) {
global $log,$mode,$gamecfg,$name,$nosta,$gd,$name,$nick;
global $itm1,$itm2,$itm3,$itm4,$itm5,$itm6,$itms1,$itms2,$itms3,$itms4,$itms5,$itms6,$itme1,$itme2,$itme3,$itme4,$itme5,$itme6,$club,$wd;
global $itm1,$itm2,$itm3,$itm4,$itm5,$itm6,$itms1,$itms2,$itms3,$itms4,$itms5,$itms6,$itme1,$itme2,$itme3,$itme4,$itme5,$itme6,$club,$clbpara,$wd;
global $itmk1,$itmk2,$itmk3,$itmk4,$itmk5,$itmk6,$itmsk1,$itmsk2,$itmsk3,$itmsk4,$itmsk5,$itmsk6;
global $syncn,$synck,$synce,$syncs,$syncsk,$sync,$reqname,$star;
global $cmd;
......@@ -558,6 +558,10 @@ function itemmix($mlist, $itemselect=-1) {
$mode = 'itemmix';
return;
}
//尝试合成时 合成操作计数+1
if(empty($clbpara['achvars']['immix'])) $clbpara['achvars']['immix'] = 1;
$issyncro=false;
$isntsyn=false;
$isoverlay=false;
......
......@@ -472,8 +472,9 @@
{
$maxdmg = $pd['mhp'] > $pa['wepe'] ? $pa['wepe'] : $pd['mhp'];
$damage = rand(1,$maxdmg);
global $log;
$log .= "武器随机造成了<span class=\"red\">$damage</span>点伤害!<br>";
// 混沌伤害打满时 保存至成就
if($damage == $maxdmg) $pa['clbpara']['achvars']['full_chaosdmg'] = 1;
return $damage;
}
......@@ -1579,6 +1580,9 @@
}
}
# 将pa造成的伤害记录在pd的成就里
if(!$pd['type'] && $pa['final_damage'] >= 1000000) $pd['clbpara']['achvars']['takedmg'] = $pa['final_damage'];
return;
}
......
......@@ -422,6 +422,11 @@
player_save($pa); player_save($pd);
}
# 检查战斗中出现的杂项成就
include_once GAME_ROOT.'./include/game/achievement.func.php';
if(!$pa['type']) check_misc_achievement_rev($pa,$pd);
if(!$pd['type']) check_misc_achievement_rev($pd,$pa);
# 刷新玩家状态
if(!$sdata['type']) player_load($sdata);
# 主视角不是玩家,可能是玩家召唤的NPC帮手。将身上的印记传给玩家。
......@@ -1006,6 +1011,9 @@
# 保存击杀女主的记录
if($pd['type'] == 14) $pa['clbpara']['achvars']['kill_n14'] += 1;
# 保存击杀种火或小兵的记录
if(empty($pa['clbpara']['achvars']['kill_minion']) && ($pd['type'] == 90 || $pd['type'] == 91 || $pd['type'] == 92)) $pa['clbpara']['achvars']['kill_minion'] = 1;
# 快递被劫事件:
if(isset($pd['clbpara']['post']))
{
......
......@@ -25,7 +25,7 @@ function teamcheck() {
}
function teammake($tID,$tPass) {
global $log,$mode,$teamID,$teamPass,$db,$tablepre,$noitm,$sp,$team_sp,$now,$name,$gamestate,$nick;
global $log,$mode,$teamID,$teamPass,$db,$tablepre,$noitm,$sp,$team_sp,$now,$name,$gamestate,$nick,$clbpara;
if($gamestate >= 40) {
$log .= '连斗时不能组建队伍。<br>';
$mode = 'command';
......@@ -58,6 +58,10 @@ function teammake($tID,$tPass) {
} elseif($sp <= $team_sp) {
$log .= '体力不足,不能创建队伍。至少需要<span class="yellow">'.$team_sp.'</span>点体力。<br>';
} else {
//创建队伍时,队伍计数+1
if(empty($clbpara['achvars']['team'])) $clbpara['achvars']['team'] = 1;
$result = $db->query("SELECT pid FROM {$tablepre}players WHERE teamID='$tID'");
if($db->num_rows($result)){
$log .= '队伍<span class="yellow">'.$tID.'</span>已经存在,请更换队伍名。<br>';
......@@ -78,7 +82,7 @@ function teammake($tID,$tPass) {
}
function teamjoin($tID,$tPass) {
global $log,$mode,$teamID,$teamPass,$db,$tablepre,$noitm,$sp,$team_sp,$teamj_sp,$now,$name,$teamlimit,$gamestate;
global $log,$mode,$teamID,$teamPass,$db,$tablepre,$noitm,$sp,$team_sp,$teamj_sp,$now,$name,$teamlimit,$gamestate,$clbpara;
if($gamestate >= 40) {
$log .= '连斗时不能加入队伍。<br>';
$mode = 'command';
......@@ -110,6 +114,10 @@ function teamjoin($tID,$tPass) {
} elseif($sp <= $teamj_sp) {
$log .= '体力不足,不能加入队伍。至少需要<span class="yellow">'.$teamj_sp.'</span>点体力。<br>';
} else {
//加入队伍时,队伍计数+1
if(empty($clbpara['achvars']['team'])) $clbpara['achvars']['team'] = 1;
$result = $db->query("SELECT teamPass FROM {$tablepre}players WHERE teamID='$tID'");
if(!$db->num_rows($result)){
$log .= '队伍<span class="yellow">'.$tID.'</span>不存在,请先创建队伍。<br>';
......
......@@ -32,6 +32,8 @@
<!--{if !empty($alist[$aid]['lvldesc'][$alvl]) }-->
<!-- 存在预设的对应阶段的完成状态描述文本 -->
{$alist[$aid]['lvlname'][$alvl]}
<!--{elseif !empty($alist[$aid]['lvldesc'][$rlvl]) }-->
{$alist[$aid]['lvlname'][$rlvl]}
<!--{else}-->
<!-- 否则使用默认描述文本 -->
<!--{if ($alvl == $alist[$aid]['lvl']) }-->
......@@ -48,6 +50,9 @@
<!--{if !empty($alist[$aid]['request'][$alvl]) }-->
<!--{eval $areq = $alist[$aid]['request'][$alvl]; $areq = str_replace("[:request:]",$prc[$aid],$areq);}-->
{$areq}
<!--{elseif !empty($alist[$aid]['request'][$rlvl]) }-->
<!--{eval $areq = $alist[$aid]['request'][$rlvl]; $areq = str_replace("[:request:]",$prc[$aid],$areq);}-->
{$areq}
<!--{elseif $alvl == $alist[$aid]['lvl']}-->
达成次数:{$prc[$aid]}次
<!--{else}-->
......
......@@ -65,7 +65,8 @@ if($mode == 'enter') {
$cpl = Array(); $prc = Array();
}
$ip = real_ip();
//$ip = real_ip();
$ip = $udata['ip'];
$db->query("UPDATE {$tablepre}users SET gender='$gender', nick='$nick', icon='$icon', motto='$motto', killmsg='$killmsg', lastword='$lastword' WHERE username='".$udata['username']."'" );
if($validnum >= $validlimit) {
gexit($_ERROR['player_limit'],__file__, __line__);
......@@ -77,7 +78,6 @@ if($mode == 'enter') {
if ($gender !== 'm' && $gender !== 'f'){
$gender = 'm';
}
$validnum++;
$alivenum++;
$name = $cuser;
......
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