Commit 08e1b93b authored by Nemo Ma's avatar Nemo Ma Committed by GitHub

Merge pull request #162 from hikawiier/waaagh

update
parents e8e52247 64959d55
...@@ -31,6 +31,7 @@ while($apdata = $db->fetch_array($result)) ...@@ -31,6 +31,7 @@ while($apdata = $db->fetch_array($result))
} else{ } else{
$apdata['apm'] = 0; $apdata['apm'] = 0;
} }
$apdata['nick'] = titles_get_desc($apdata['nick']);
// $result3 = $db->query("SELECT motto FROM {$gtablepre}users WHERE username = '".$apdata['name']."'"); // $result3 = $db->query("SELECT motto FROM {$gtablepre}users WHERE username = '".$apdata['name']."'");
// $apdata['motto'] = $db->result($result3, 0); // $apdata['motto'] = $db->result($result3, 0);
......
...@@ -696,7 +696,7 @@ function check_player_misc_states(&$data) ...@@ -696,7 +696,7 @@ function check_player_misc_states(&$data)
function get_safe_plslist($mode=1) function get_safe_plslist($mode=1)
{ {
global $areanum,$arealist,$hack,$deepzones; global $areanum,$arealist,$hack,$deepzones;
$r = $hack ? array_slice($arealist,$areanum+1) : $arealist; $r = $hack ? $arealist : array_slice($arealist,$areanum+1);
if($mode) $r = array_diff($r, $deepzones); if($mode) $r = array_diff($r, $deepzones);
return $r; return $r;
} }
......
...@@ -47,10 +47,8 @@ function check_can_move($pls,$pgroup,$moveto) ...@@ -47,10 +47,8 @@ function check_can_move($pls,$pgroup,$moveto)
return 1; return 1;
} }
function move($moveto = 99,&$data=NULL) { function move($moveto = 99,&$data=NULL)
//global $lvl,$log,$pls,$pgroup,$plsinfo,$hplsinfo,$inf,$hp,$mhp,$sp,$def,$club,$arealist,$areanum,$hack,$areainfo,$gamestate,$pose,$weather; {
//global $gamestate,$gamecfg,$pdata;
global $log,$weather,$plsinfo,$hplsinfo,$arealist,$areanum,$hack,$areainfo,$gamestate,$gamecfg; global $log,$weather,$plsinfo,$hplsinfo,$arealist,$areanum,$hack,$areainfo,$gamestate,$gamecfg;
global $inf_move_sp,$infwords,$inf_move_hp; global $inf_move_sp,$infwords,$inf_move_hp;
...@@ -103,8 +101,6 @@ function move($moveto = 99,&$data=NULL) { ...@@ -103,8 +101,6 @@ function move($moveto = 99,&$data=NULL) {
if(strpos($inf,$inf_ky)!==false){$movesp+=$sp_down;} if(strpos($inf,$inf_ky)!==false){$movesp+=$sp_down;}
} }
} }
//if(strpos($inf, 'f') !== false){ $movesp += 5; }
//if(strpos($inf, 'i') !== false){ $movesp += 15; }
if($club == 6){ if($club == 6){
if($lvl>=20){ if($lvl>=20){
$movesp -= 14; $movesp -= 14;
...@@ -113,104 +109,24 @@ function move($moveto = 99,&$data=NULL) { ...@@ -113,104 +109,24 @@ function move($moveto = 99,&$data=NULL) {
} }
} }
if($sp <= $movesp){ if($sp <= $movesp){
$log .= "体力不足,不能移动!<br>还是先睡会儿吧!<br>"; $log .= "体力不足,不能移动!<br>还是先睡会儿吧!<br>";
return; return;
} }
$sp -= $movesp; $sp -= $movesp;
$moved = false;
if($weather == 11) {//龙卷风
if($hpls_flag)
{
$pls = array_rand($hplsinfo[$pgroup]);
$moveto_info = $hplsinfo[$pgroup][$pls];
}
else
{
if($hack){$pls = rand(0,sizeof($plsinfo)-1);}
else {$pls = rand($areanum+1,sizeof($plsinfo)-1);$pls=$arealist[$pls];}
$moveto_info = $plsinfo[$pls];
}
$log = ($log . "龙卷风把你吹到了<span class=\"yellow\">$moveto_info</span>!<br>");
$moved = true;
} elseif($weather == 13) {//冰雹
$damage = round($mhp/12) + rand(0,20);
$hp -= $damage;
$log .= "被<span class=\"blue\">冰雹</span>击中,生命减少了<span class=\"red\">$damage</span>点!<br>";
if($hp <= 0 ) {
death('hsmove','',0,'',$data);
return;
// } else {
// $pls = $moveto;
// $log .= "消耗<span class=\"yellow\">{$movesp}</span>点体力,移动到了<span class=\"yellow\">$plsinfo[$pls]</span>。<br>";
}
} elseif($weather == 14){//离子暴
$dice = rand(0,8);
if($dice ==0 && strpos($inf,'e')===false){
$log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
$inf = str_replace('e','',$inf);
$inf .= 'e';
}elseif($dice ==1 && strpos($inf,'w')===false){
$log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"grey\">混乱</span>了!<br>";
$inf = str_replace('w','',$inf);
$inf .= 'w';
}elseif($dice ==2 && (strpos($inf,'w')===false || strpos($inf,'e')===false)){
if (strpos($inf,'w')===false)
{
$log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"grey\">混乱</span>了!<br>";
$inf = str_replace('w','',$inf);
$inf .= 'w';
}
if (strpos($inf,'e')===false)
{
$log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
$inf = str_replace('e','',$inf);
$inf .= 'e';
}
}else{
$log .= "空气中充斥着狂暴的电磁波……<br>";
}
} elseif($weather == 15){//辐射尘
$dice = rand(0,3);
if($dice == 0){
$mhpdown = rand(4,8);
if($mhp > $mhpdown){
$log .= "空气中弥漫着的<span class=\"green\">放射性尘埃</span>导致你的生命上限减少了<span class=\"red\">{$mhpdown}</span>点!<br>";
$mhp -= $mhpdown;
if($hp > $mhp){$hp = $mhp;}
}
}elseif ($dice==1 && strpos($inf,'p')===false){
$log .= "空气中弥漫着的<span class=\"green\">放射性尘埃</span>导致你<span class=\"purple\">中毒</span>了!<br>";
$inf = str_replace('p','',$inf);
$inf .= 'p';
}else{
$log .= "空气中弥漫着放射性尘埃……<br>";
}
} elseif($weather == 16){//臭氧洞
$dice = rand(0,7);
if($dice <= 3){
$defdown = rand(4,8);
if($def > $defdown){
$log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你的防御力减少了<span class=\"red\">{$defdown}</span>点!<br>";
$def -= $defdown;
}
}elseif($dice <=5 && strpos($inf,'u')===false){
$log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你<span class=\"red\">烧伤</span>了!<br>";
$inf = str_replace('u','',$inf);
$inf .= 'u';
}else{
$log .= "高强度的紫外线灼烧着大地……<br>";
}
}
if(!$moved) { # 预移动、探索阶段事件结算
$moved = pre_move_search_events($data,'move');
if($hp <= 0) return;
if(!$moved)
{
if(!$hpls_flag) $pgroup = 0; if(!$hpls_flag) $pgroup = 0;
$pls = $moveto; $pls = $moveto;
$moveto_info = $hpls_flag ? $hplsinfo[$pgroup][$pls] : $plsinfo[$pls]; $moveto_info = $hpls_flag ? $hplsinfo[$pgroup][$pls] : $plsinfo[$pls];
$log .= "消耗<span class=\"yellow\">{$movesp}</span>点体力,移动到了<span class=\"yellow\">{$moveto_info}</span>。<br>"; $log .= "消耗<span class=\"yellow\">{$movesp}</span>点体力,移动到了<span class=\"yellow\">{$moveto_info}</span>。<br>";
}else{$f=false;} }
$log .= $areainfo[$pls].'<br>'; $log .= $areainfo[$pls].'<br>';
...@@ -219,14 +135,12 @@ function move($moveto = 99,&$data=NULL) { ...@@ -219,14 +135,12 @@ function move($moveto = 99,&$data=NULL) {
if($hp <= 0) return; if($hp <= 0) return;
$enemyrate = \revbattle\calc_meetman_rate($data); $enemyrate = \revbattle\calc_meetman_rate($data);
//echo "enemyrate = {$enemyrate}%";
discover($enemyrate,$data); discover($enemyrate,$data);
return; return;
} }
function search(&$data=NULL){ function search(&$data=NULL)
//global $pdata,$lvl,$log,$pls,$pgroup,$arealist,$areanum,$hack,$plsinfo,$hplsinfo,$club,$sp,$gamestate,$pose,$weather,$hp,$mhp,$def,$inf; {
global $log,$weather,$arealist,$areanum,$hack,$plsinfo,$hplsinfo,$gamestate; global $log,$weather,$arealist,$areanum,$hack,$plsinfo,$hplsinfo,$gamestate;
global $inf_search_sp,$infwords,$inf_search_hp; global $inf_search_sp,$infwords,$inf_search_hp;
...@@ -258,8 +172,6 @@ function search(&$data=NULL){ ...@@ -258,8 +172,6 @@ function search(&$data=NULL){
if(strpos($inf,$inf_ky)!==false){$schsp+=$sp_down;} if(strpos($inf,$inf_ky)!==false){$schsp+=$sp_down;}
} }
} }
//if(strpos($inf, 'a') !== false){ $schsp += 5; }
//if(strpos($inf, 'i') !== false){ $schsp += 15; }
if($club == 6){ if($club == 6){
if($lvl>=20){ if($lvl>=20){
$schsp -= 14; $schsp -= 14;
...@@ -268,13 +180,47 @@ function search(&$data=NULL){ ...@@ -268,13 +180,47 @@ function search(&$data=NULL){
} }
} }
if($sp <= $schsp){ if($sp <= $schsp){
$log .= "体力不足,不能探索!<br>还是先睡会儿吧!<br>"; $log .= "体力不足,不能探索!<br>还是先睡会儿吧!<br>";
return; return;
} }
if($weather == 11) {//龙卷风 # 预移动、探索阶段事件结算
$moved = pre_move_search_events($data,'search');
if($hp <= 0) return;
$sp -= $schsp;
$log .= "消耗<span class=\"yellow\">{$schsp}</span>点体力,你搜索着周围的一切。。。<br>";
# 探索指定地点,结算探索事件
move_search_events($data,'search');
if($hp <= 0) return;
$enemyrate = \revbattle\calc_meetman_rate($data);
discover($enemyrate,$data);
return;
}
# 预探索、移动阶段事件
function pre_move_search_events(&$data,$act)
{
global $log,$inf_move_hp,$inf_move_sp,$infwords,$now,$elements_info;
global $hpls_flag,$moveto,$hack,$areanum,$arealist,$plsinfo,$weather,$gamevars;
if(!isset($data))
{
global $pdata;
$data = &$pdata;
}
extract($data,EXTR_REFS);
$moved = 0;
# 天气事件
# 龙卷风
if($weather == 11)
{
if($hpls_flag) if($hpls_flag)
{ {
$pls = array_rand($hplsinfo[$pgroup]); $pls = array_rand($hplsinfo[$pgroup]);
...@@ -282,24 +228,28 @@ function search(&$data=NULL){ ...@@ -282,24 +228,28 @@ function search(&$data=NULL){
} }
else else
{ {
if($hack){$pls = rand(0,sizeof($plsinfo)-1);} $safepls = get_safe_plslist(0);
else {$pls = rand($areanum+1,sizeof($plsinfo)-1);$pls=$arealist[$pls];} $pls = $safepls[array_rand($safepls)];
$moveto_info = $plsinfo[$pls]; $moveto_info = $plsinfo[$pls];
} }
$log = ($log . "龙卷风把你吹到了<span class=\"yellow\">$moveto_info</span>!<br>"); $log = ($log . "龙卷风把你吹到了<span class=\"yellow\">$moveto_info</span>!<br>");
$moved = true; $moved = true;
} elseif($weather == 13) {//冰雹 }
# 冰雹
elseif($weather == 13)
{
$damage = round($mhp/12) + rand(0,20); $damage = round($mhp/12) + rand(0,20);
$hp -= $damage; $hp -= $damage;
$log .= "被<span class=\"blue\">冰雹</span>击中,生命减少了<span class=\"red\">$damage</span>点!<br>"; $log .= "被<span class=\"blue\">冰雹</span>击中,生命减少了<span class=\"red\">$damage</span>点!<br>";
if($hp <= 0 ) { if($hp <= 0 )
{
death('hsmove','',0,'',$data); death('hsmove','',0,'',$data);
return; return $moved;
// } else {
// $pls = $moveto;
// $log .= "消耗<span class=\"yellow\">{$movesp}</span>点体力,移动到了<span class=\"yellow\">$plsinfo[$pls]</span>。<br>";
} }
} elseif($weather == 14){//离子暴 }
# 离子暴
elseif($weather == 14)
{
$dice = rand(0,8); $dice = rand(0,8);
if($dice ==0 && strpos($inf,'e')===false){ if($dice ==0 && strpos($inf,'e')===false){
$log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>"; $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
...@@ -325,7 +275,10 @@ function search(&$data=NULL){ ...@@ -325,7 +275,10 @@ function search(&$data=NULL){
}else{ }else{
$log .= "空气中充斥着狂暴的电磁波……<br>"; $log .= "空气中充斥着狂暴的电磁波……<br>";
} }
} elseif($weather == 15){//辐射尘 }
//辐射尘
elseif($weather == 15)
{
$dice = rand(0,3); $dice = rand(0,3);
if($dice == 0){ if($dice == 0){
$mhpdown = rand(4,8); $mhpdown = rand(4,8);
...@@ -341,7 +294,10 @@ function search(&$data=NULL){ ...@@ -341,7 +294,10 @@ function search(&$data=NULL){
}else{ }else{
$log .= "空气中弥漫着放射性尘埃……<br>"; $log .= "空气中弥漫着放射性尘埃……<br>";
} }
} elseif($weather == 16){//臭氧洞 }
//臭氧洞
elseif($weather == 16)
{
$dice = rand(0,7); $dice = rand(0,7);
if($dice <= 3){ if($dice <= 3){
$defdown = rand(4,8); $defdown = rand(4,8);
...@@ -357,20 +313,33 @@ function search(&$data=NULL){ ...@@ -357,20 +313,33 @@ function search(&$data=NULL){
$log .= "高强度的紫外线灼烧着大地……<br>"; $log .= "高强度的紫外线灼烧着大地……<br>";
} }
} }
$sp -= $schsp;
$log .= "消耗<span class=\"yellow\">{$schsp}</span>点体力,你搜索着周围的一切。。。<br>";
# 探索指定地点,结算探索事件
move_search_events($data,'search');
if($hp <= 0) return;
$enemyrate = \revbattle\calc_meetman_rate($data);
//echo "enemyrate = {$enemyrate}%";
discover($enemyrate,$data);
return;
# 「霉运」效果:移动/探索时有概率迷路到其他地图
if(!$moved && !check_skill_unlock('inf_cursed',$data))
{
# 迷路概率13%
$sk_obbs = 13;
$sk_dice = diceroll(99);
if($sk_dice <= $sk_obbs)
{
if($hpls_flag)
{
$pls = array_rand($hplsinfo[$pgroup]);
$moveto_info = $hplsinfo[$pgroup][$pls];
}
else
{
$safepls = get_safe_plslist(0);
$pls = $safepls[array_rand($safepls)];
$moveto_info = $plsinfo[$pls];
}
$meta_act = $act == 'move' ? "走在前往{$plsinfo[$moveto]}的路上" : "在附近探索";
$log .= "<span class='red'>你正哼着小曲{$meta_act},忽然眼前一黑!<br>回过神来时,你发现自己竟然走到了<span class=\"yellow\">$moveto_info</span>!</span><br>……<br>";
$moved = true;
}
}
return $moved;
} }
# 探索或移动行为会触发的事件 # 探索或移动行为会触发的事件
......
...@@ -105,8 +105,8 @@ function titles_get_desc($tkey,$mode=0) ...@@ -105,8 +105,8 @@ function titles_get_desc($tkey,$mode=0)
{ {
$n_desc = "<span "; $n_desc = "<span ";
} }
# 存在样式,赋予一个样式: # 存在样式、且允许输出样式,赋予一个样式:
if(isset($title_desc[$tkey]['class'])) if(!$mode && isset($title_desc[$tkey]['class']))
{ {
$n_class = "class=\"{$title_desc[$tkey]['class']}\" "; $n_class = "class=\"{$title_desc[$tkey]['class']}\" ";
$n_desc .= $n_class; $n_desc .= $n_class;
......
...@@ -72,7 +72,7 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') { ...@@ -72,7 +72,7 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
{ {
$name = is_array($old_nicknews[$news]) ? $old_nicknews[$news][0] : 'a'; $name = is_array($old_nicknews[$news]) ? $old_nicknews[$news][0] : 'a';
$nick = is_array($old_nicknews[$news]) ? $old_nicknews[$news][1] : $old_nicknews[$news]; $nick = is_array($old_nicknews[$news]) ? $old_nicknews[$news][1] : $old_nicknews[$news];
if(!empty($$nick) || $$nick == 0) $$nick = titles_get_desc($$nick); if(!empty($$nick) || $$nick == 0) $$nick = titles_get_desc($$nick,1);
$$name = $$nick.' '.$$name; $$name = $$nick.' '.$$name;
unset($name);unset($nick); unset($name);unset($nick);
} }
...@@ -141,13 +141,14 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') { ...@@ -141,13 +141,14 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
if(!empty($a) && strpos($a,'|')!==false) if(!empty($a) && strpos($a,'|')!==false)
{ {
$arr = explode('|',$a); $arr = explode('|',$a);
$a = titles_get_desc($arr[0]).' '.$arr[1]; $old_a = $a;
$a = titles_get_desc($arr[0],1).' '.$arr[1];
unset($arr); unset($arr);
} }
if(!empty($c) && strpos($c,'|')!==false) if(!empty($c) && strpos($c,'|')!==false)
{ {
$arr = explode('|',$c); $arr = explode('|',$c);
$c = titles_get_desc($arr[0]).' '.$arr[1]; $c = titles_get_desc($arr[0],1).' '.$arr[1];
unset($arr); unset($arr);
} }
if($news == 'death11') { if($news == 'death11') {
...@@ -221,8 +222,9 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') { ...@@ -221,8 +222,9 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
} else { } else {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"yellow\">$a</span>因<span class=\"red\">不明原因</span>死亡"; $newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"yellow\">$a</span>因<span class=\"red\">不明原因</span>死亡";
} }
if($b) $dname = $typeinfo[$b].' '.$a; if(!isset($old_a)) $old_a = $a;
else $dname = $a; if($b) $dname = $typeinfo[$b].' '.$old_a;
else $dname = $typeinfo[0].' '.$old_a;
// if($b == 0) { // if($b == 0) {
// //$dname = $a; // //$dname = $a;
// $lwresult = $db->query("SELECT lastword FROM {$gtablepre}users WHERE username = '$a'"); // $lwresult = $db->query("SELECT lastword FROM {$gtablepre}users WHERE username = '$a'");
......
<TABLE border="1"> <TABLE border="1">
<tr align="center" class="b1"> <tr align="center" class="b1">
<td class="b1"><span>名字&编号</span></td> <td class="b1"><span>名字&编号</span></td>
<td class="b1"><span>头衔</span></td>
<td width="140" class="b1"><span>头像</span></td> <td width="140" class="b1"><span>头像</span></td>
<td class="b1"><span>等级</span></td> <td class="b1"><span>等级</span></td>
<td class="b1"><span>杀害玩家数</span></td> <td class="b1"><span>杀害玩家数</span></td>
...@@ -18,6 +19,7 @@ ...@@ -18,6 +19,7 @@
<tr class="b3"> <tr class="b3">
<td align="center" class="b3"><span><u><a href="user_profile.php?playerID=$alive['name']">$alive['name']</a></u><br>$sexinfo[$alive['gd']] $alive['sNo'] 号</span></td> <td align="center" class="b3"><span><u><a href="user_profile.php?playerID=$alive['name']">$alive['name']</a></u><br>$sexinfo[$alive['gd']] $alive['sNo'] 号</span></td>
<td class="b3" style="padding: 5px;"><span>$alive['nick']</span></td>
<td align="center" class="b3"><span><IMG src="img/$alive['iconImg']" width="140" height="80" border="0" align="absmiddle"></span></td> <td align="center" class="b3"><span><IMG src="img/$alive['iconImg']" width="140" height="80" border="0" align="absmiddle"></span></td>
<td class="b3"><span>$alive['lvl']</span></td> <td class="b3"><span>$alive['lvl']</span></td>
<td class="b3"><span>$alive['killnum']</span></td> <td class="b3"><span>$alive['killnum']</span></td>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<td> <td>
<table border="0" width="720" cellspacing="0" cellpadding="0" valign="middle"> <table border="0" width="720" cellspacing="0" cellpadding="0" valign="middle">
<tr> <tr>
<!--{eval $nickinfo = titles_get_desc($nick);}--> <!--{eval $nickinfo = titles_get_desc($nick,1);}-->
<td width="210" colspan="3" class="b1"><span>{$nickinfo} {$name}</span></td> <td width="210" colspan="3" class="b1"><span>{$nickinfo} {$name}</span></td>
<td width="100" colspan="1" class="b1"><span>{$sexinfo[$gd]}{$sNo}号</span></td> <td width="100" colspan="1" class="b1"><span>{$sexinfo[$gd]}{$sNo}号</span></td>
<td width="95" colspan="2" class="b1"><span>{lang weather}:$wthinfo[$weather]</span></td> <td width="95" colspan="2" class="b1"><span>{lang weather}:$wthinfo[$weather]</span></td>
......
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