Commit a8913b48 authored by Nemo Ma's avatar Nemo Ma

Etobicoke Interim 2

parent 9efb91be
......@@ -1345,7 +1345,7 @@ $anpcinfo = array
'arae' => 640,
'aras' => 70,
'wep' => '强力猫爪!',
'wepk' => 'WG',
'wepk' => 'WK',
'wepe' => 400,
'weps' => 9999,
'wepsk' => 'p',
......@@ -1419,6 +1419,11 @@ $anpcinfo = array
'arak' => 'DA',
'arae' => 220,
'aras' => 100,
'wep' => '厚重的拳头',
'wepk' => 'WN',
'wepe' => 333,
'weps' => 9999,
'wepsk' => 'N',
),
4 => array
(
......@@ -1532,8 +1537,8 @@ $anpcinfo = array
'arae' => 500,
'aras' => 500,
'arask' => 'bZ',
'wep' => '魔法毒针',
'wepk' => 'WK',
'wep' => '☾ΡΑΘΘЙΨΜЙΨΑП☾',
'wepk' => 'WF',
'wepe' => 400,
'weps' => 9999,
'wepsk' => 'pv',
......
......@@ -2409,6 +2409,11 @@ $npcinfo = array
'arak' => 'DA',
'arae' => 220,
'aras' => 100,
'wep' => '厚重的拳头',
'wepk' => 'WN',
'wepe' => 333,
'weps' => 9999,
'wepsk' => 'N',
),
4 => array
(
......@@ -2522,8 +2527,8 @@ $npcinfo = array
'arae' => 500,
'aras' => 500,
'arask' => 'bZ',
'wep' => '魔法毒针',
'wepk' => 'WK',
'wep' => '☾ΡΑΘΘЙΨΜЙΨΑП☾',
'wepk' => 'WF',
'wepe' => 400,
'weps' => 9999,
'wepsk' => 'pv',
......
<?php
if(!defined('IN_GAME')) {
exit('Access Denied');
}
function move($moveto = 99) {
global $log,$pls,$plsinfo,$inf,$hp,$sp,$club,$arealist,$areanum,$hack,$areainfo,$gamestate,$pose,$weather;
$plsnum = sizeof($plsinfo);
if(($moveto == 'main')||($moveto < 0 )||($moveto >= $plsnum)){
$log .= '请选择正确的移动地点。<br>';
return;
} elseif($pls == $moveto){
$log .= '相同地点,不需要移动。<br>';
return;
} elseif(array_search($moveto,$arealist) <= $areanum && !$hack){
$log .= $plsinfo[$moveto].'是禁区,还是离远点吧!';
return;
}
//足部受伤,20;足球社,12;正常,15;
if(strpos($inf, 'f') !== false){ $movesp = 20; }
elseif($club == 6){ $movesp = 12; }
else{ $movesp = 15; }
if($sp <= $movesp){
$log .= '体力不足,不能移动,还是先睡会儿吧!';
return;
}
$sp -= $movesp;
if($weather == 11) {
if($hack){$pls = rand(0,sizeof($plsinfo)-1);}
else {$pls = rand($areanum+1,sizeof($plsinfo)-1);}
$log = ($log . "你刚迈出脚步,就被一阵龙卷风吹到了 <span class=\"yellow\">$plsinfo[$pls]</span> !<br>");
} elseif($weather == 13) {
$damage = rand(1,3);
$hp -= $damage;
$log .= "被 <span class=\"blue\">冰雹</span> 击中,导致生命减少了 <span class=\"red\">$damage</span> 点!<br>";
if($hp <= 0 ) {
include_once GAME_ROOT.'./include/state.func.php';
death('hsmove');
return;
} else {
$pls = $moveto;
$log .= "移动到了 <span class=\"yellow\">$plsinfo[$pls]</span> 。<br>";
}
} else {
$pls = $moveto;
$log .= "移动到了 <span class=\"yellow\">$plsinfo[$pls]</span> 。<br>";
}
if(strpos($inf, 'p') !== false){
$damage = rand(4,77);
$hp -= $damage;
$log .= "毒发导致生命减少了 <span class=\"red\">$damage</span> 点!<br>";
if($hp <= 0 ){
include_once GAME_ROOT.'./include/state.func.php';
death('pmove');
return;
}
}
$log .= $areainfo[$pls];
if(($gamestate>=40)&&($pose!=3)){
discover(100);
} else {
discover(70);
}
return;
}
function search(){
global $log,$pls,$arealist,$areanum,$hack,$plsinfo,$club,$sp,$gamestate,$pose,$weather,$hp;
if(array_search($pls,$arealist) <= $areanum && !$hack){
$log .= $plsinfo[$pls].'是禁区,还是赶快逃跑吧!';
return;
}
//腕部受伤,20;侦探社,12;正常,15;
if(strpos($inf, 'a') !== false){ $schsp = 20; }
elseif($club == 10){ $schsp = 12; }
else{ $schsp = 15; }
if($sp <= $schsp){
$log .= '体力不足,不能探索,还是先睡会儿吧!';
return;
}
if($weather == 13) {
$hp --;
$log .= "被 <span class=\"blue\">冰雹</span> 击中,导致生命减少了 <span class=\"red\">1</span> 点!<br>";
if($hp <= 0 ) {
include_once GAME_ROOT.'./include/state.func.php';
death('hsmove');
return;
}
}
$sp -= $schsp;
$log .= '你仔细搜索着周围的一切。。。<br>';
if(($gamestate>=40)&&($pose!=3)) {
discover(100);
} else {
discover(30);
}
return;
}
function discover($schmode = 0) {
global $log,$mode,$command,$cmd,$event_obbs,$weather,$pls,$club,$pose,$tactic,$inf,$item_obbs,$enemy_obbs,$active_obbs;
$event_dice = rand(0,99);
if($event_dice < $event_obbs){
include_once GAME_ROOT.'./include/game/event.func.php';
event();
$mode = 'command';
return;
}
include_once GAME_ROOT.'./include/game/attr.func.php';
$mode_dice = rand(0,99);
if($mode_dice < $schmode ) {
global $db,$tablepre,$pid,$corpse_obbs,$teamID,$fog,$gamestate,$bid;
if($gamestate < 40) {
$result = $db->query("SELECT * FROM {$tablepre}players WHERE pls='$pls' AND pid!='$pid' AND pid!='$bid'");
} else {
$result = $db->query("SELECT * FROM {$tablepre}players WHERE pls='$pls' AND pid!='$pid'");
}
if(!$db->num_rows($result)){
$log .= '这里似乎已经没有人在了。<br>';
$mode = 'command';
return;
}
$enemynum = $db->num_rows($result);
$enemyarray = range(0, $enemynum - 1);
shuffle($enemyarray);
$find_r = get_find_r($weather,$pls,$pose,$tactic,$club,$inf);
$find_obbs = $enemy_obbs + $find_r;
foreach($enemyarray as $enum){
$db->data_seek($result, $enum);
$edata = $db->fetch_array($result);
if($edata['hp'] > 0) {
$hide_r = get_hide_r($weather,$pls,$edata['pose'],$edata['tactic'],$edata['club'],$edata['inf']);
$enemy_dice = rand(0,99);
if($enemy_dice < ($find_obbs - $hide_r)) {
if($teamID&&(!$fog)&&($teamID == $edata['teamID'])){
include_once GAME_ROOT.'./include/game/battle.func.php';
findteam($edata);
return;
} else {
$active_r = get_active_r($weather,$pls,$pose,$tactic,$club,$inf);
$active_dice = rand(0,99);
if($active_dice < $active_obbs + $active_r) {
include_once GAME_ROOT.'./include/game/battle.func.php';
findenemy($edata);
return;
} else {
include_once GAME_ROOT.'./include/game/combat.func.php';
combat($edata,0);
return;
}
}
}
} else {
$corpse_dice = rand(0,99);
if($corpse_dice < $corpse_obbs) {
if($gamestate <40 &&(($edata['weps'] && $edata['wepe'])||($edata['arbs'] && $edata['arbe'])||$edata['arhs']||$edata['aras']||$edata['arfs']||$edata['arts']||$edata['itms0']||$edata['itms1']||$edata['itms2']||$edata['itms3']||$edata['itms4']||$edata['itms5']||$edata['money'])){
include_once GAME_ROOT.'./include/game/battle.func.php';
findcorpse($edata);
return;
} else {
discover(50);
return;
}
}
}
}
$log .= '似乎有什么人潜藏着┅┅士兵吗?<br>';
$mode = 'command';
return;
} else {
$find_r = get_find_r($weather,$pls,$pose,$tactic,$club,$inf);
$find_obbs = $item_obbs + $find_r;
$item_dice = rand(0,99);
if($item_dice < $find_obbs) {
$mapfile = GAME_ROOT."./gamedata/mapitem/{$pls}mapitem.php";
$mapitem = openfile($mapfile);
$itemnum = sizeof($mapitem) - 1;
if($itemnum <= 0){
$log .= "这里似乎什么都没有了。<br>";
$mode = 'command';
return;
}
$itemno = rand(1,$itemnum);
global $itm0,$itmk0,$itme0,$itms0,$itmsk0;
list($itm0,$itmk0,$itme0,$itms0,$itmsk0) = explode(',', $mapitem[$itemno]);
array_splice($mapitem,$itemno,1);
writeover($mapfile,implode('', $mapitem),'wb');
unset($mapitem);
if($itms0){
include_once GAME_ROOT.'./include/game/itemmain.func.php';
itemfind();
return;
} else {
$log .= "但是什么都没有发现。<br>";
}
} else {
$log .= "但是什么都没有发现。<br>";
}
}
$mode = 'command';
return;
}
?>
\ No newline at end of file
<?php
if(!defined('IN_GAME')) {
exit('Access Denied');
}
function findenemy(&$w_pdata) {
global $log,$mode,$main,$cmd,$battle_title,$attinfo,$skillinfo,$wepk,$wp,$wk,$wg,$wc,$wd,$nosta,$weps;
global $w_type,$w_name,$w_gd,$w_sNo,$w_icon,$w_hp,$w_mhp,$w_wep;
$battle_title = '发现敌人';
extract($w_pdata,EXTR_PREFIX_ALL,'w');
init_battle();
$log .= "你发现了敌人 <span class=\"red\">$w_name</span> !<br>对方好像完全没有注意到你!<br>";
$cmd .= ' 现在想要做什么?<br><br>';
$cmd .= '向对手大喊:<br><input size="30" type="text" name="message" maxlength="60"><br><br>';
$cmd .= '<input type="hidden" name="mode" value="combat"><input type="hidden" name="wid" value="'.$w_pid.'">';
$w1 = substr($wepk,1,1);
$w2 = substr($wepk,2,1);
if(($w1 == 'G')&&($weps==$nosta)){ $w1 = 'P'; }
$cmd .= '<input type="radio" name="command" id="'.$w1.'" value="'.$w1.'" checked><a onclick=sl("'.$w1.'"); href="javascript:void(0);">'."$attinfo[$w1] (${$skillinfo[$w1]})".'</a><br>';
if($w2) {
$cmd .= '<input type="radio" name="command" id="'.$w2.'" value="'.$w2.'"><a onclick=sl("'.$w2.'"); href="javascript:void(0);">'."$attinfo[$w2] (${$skillinfo[$w2]})".'</a><br>';
}
$cmd .= '<input type="radio" name="command" id="back" value="back"><a onclick=sl("back"); href="javascript:void(0);" >逃跑</a><br>';
$main = 'battle';
return;
}
function findteam(&$w_pdata){
global $log,$mode,$main,$cmd,$battle_title;
global $w_type,$w_name,$w_gd,$w_sNo,$w_icon,$w_hp,$w_mhp,$w_wep;
$battle_title = '发现队友';
extract($w_pdata,EXTR_PREFIX_ALL,'w');
init_battle(1);
$log .= "你发现了队友 <span class=\"yellow\">$w_name</span> !<br>";
$cmd .= ' 现在想要做什么?<br><br>';
$cmd .= '留言:<br><input size="30" type="text" name="message" maxlength="60"><br><br>';
$cmd .= '想要转让什么?<input type="hidden" name="mode" value="senditem"><input type="hidden" name="wid" value="'.$w_pid.'"><br><input type="radio" name="command" id="back" value="back" checked><a onclick=sl("back"); href="javascript:void(0);" >不转让</a><br><br>';
for($i = 1;$i < 6; $i++){
global ${'itms'.$i};
if(${'itms'.$i}) {
global ${'itm'.$i},${'itmk'.$i},${'itme'.$i};
$cmd .= '<input type="radio" name="command" id="itm'.$i.'" value="itm'.$i.'"><a onclick=sl("itm'.$i.'"); href="javascript:void(0);" >'."${'itm'.$i}/${'itme'.$i}/${'itms'.$i}".'</a><br>';
}
}
$main = 'battle';
return;
}
function findcorpse(&$w_pdata){
global $log,$mode,$main,$battle_title,$cmd,$bid;
global $w_type,$w_name,$w_gd,$w_sNo,$w_icon,$w_hp,$w_mhp,$w_wep;
$battle_title = '发现尸体';
extract($w_pdata,EXTR_PREFIX_ALL,'w');
init_battle(1);
$bid = $w_pid;
$main = 'battle';
$log .= '你发现了 <span class="red">'.$w_name.'</span> 的尸体!<br>';
include template('corpse');
$cmd = ob_get_contents();
ob_clean();
return;
}
function senditem(){
global $tablepre,$log,$mode,$main,$command,$cmd,$battle_title,$pls,$wid,$plsinfo,$message,$db,$now,$name,$w_log;
$result = $db->query("SELECT * FROM {$tablepre}players WHERE pid='$wid'");
if(!$db->num_rows($result)){
$log .= "对方不存在!<br>";
$mode = 'command';
return;
}
$edata = $db->fetch_array($result);
if($edata['pls'] != $pls) {
$log .= "<span class=\"yellow\">".$edata['name']."</span> 已经离开了 <span class=\"yellow\">$plsinfo[$pls]</span> 。<br>";
$mode = 'command';
return;
} elseif($edata['hp'] <= 0) {
$log .= "<span class=\"yellow\">".$edata['name']."</span> 已经死亡,不能接受物品。<br>";
$mode = 'command';
return;
}
if($message){
$log .= "<span class=\"lime\">你对 ".$edata['name']." 说:$message</span><br>";
$w_log = "<span class=\"lime\">$name 对你说:$message</span>";
if(!$edata['type']){logsave($edata['pid'],$now,$w_log);}
}
if($command != 'back'){
$itmn = substr($command, 3);
global ${'itm'.$itmn},${'itmk'.$itmn},${'itme'.$itmn},${'itms'.$itmn},${'itmsk'.$itmn};
if (!${'itms'.$itmn}) {
$log .= '此道具不存在!';
$mode = 'command';
return;
}
$itm = & ${'itm'.$itmn};
$itmk = & ${'itmk'.$itmn};
$itme = & ${'itme'.$itmn};
$itms = & ${'itms'.$itmn};
$itmsk = & ${'itmsk'.$itmn};
global $w_pid,$w_name,$w_pass,$w_type,$w_endtime,$w_gd,$w_sNo,$w_icon,$w_club,$w_hp,$w_mhp,$w_sp,$w_msp,$w_att,$w_def,$w_pls,$w_lvl,$w_exp,$w_money,$w_bid,$w_inf,$w_rage,$w_pose,$w_tactic,$w_killnum,$w_state,$w_wp,$w_wk,$w_wg,$w_wc,$w_wd,$w_teamID,$w_teamPass,$w_wep,$w_wepk,$w_wepe,$w_weps,$w_arb,$w_arbk,$w_arbe,$w_arbs,$w_arh,$w_arhk,$w_arhe,$w_arhs,$w_ara,$w_arak,$w_arae,$w_aras,$w_arf,$w_arfk,$w_arfe,$w_arfs,$w_art,$w_artk,$w_arte,$w_arts,$w_itm0,$w_itmk0,$w_itme0,$w_itms0,$w_itm1,$w_itmk1,$w_itme1,$w_itms1,$w_itm2,$w_itmk2,$w_itme2,$w_itms2,$w_itm3,$w_itmk3,$w_itme3,$w_itms3,$w_itm4,$w_itmk4,$w_itme4,$w_itms4,$w_itm5,$w_itmk5,$w_itme5,$w_itms5,$w_wepsk,$w_arbsk,$w_arhsk,$w_arask,$w_arfsk,$w_artsk,$w_itmsk0,$w_itmsk1,$w_itmsk2,$w_itmsk3,$w_itmsk4,$w_itmsk5;
extract($edata,EXTR_PREFIX_ALL,'w');
for($i = 1;$i < 6; $i++){
if(!${'w_itms'.$i}) {
${'w_itm'.$i} = $itm;
${'w_itmk'.$i} = $itmk;
${'w_itme'.$i} = $itme;
${'w_itms'.$i} = $itms;
${'w_itmsk'.$i} = $itmsk;
$log .= "你将 <span class=\"yellow\">${'w_itm'.$i}</span> 送给了 <span class=\"yellow\">$w_name</span> 。<br>";
$w_log = "<span class=\"yellow\">$name</span> 将 <span class=\"yellow\">${'w_itm'.$i}</span> 送给了你。";
if(!$w_type){logsave($w_pid,$now,$w_log);}
addnews($now,'senditem',$name,$w_name,$itm);
w_save($w_pid);
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
return;
}
}
$log .= "<span class=\"yellow\">$w_name</span> 的包裹已经满了,不能赠送物品。<br>";
}
$mode = 'command';
return;
}
?>
\ No newline at end of file
......@@ -59,7 +59,7 @@ function trap(){
}else{
$damage = round(rand(0,$itme0/2)+($itme0/2));
$damage = $tactic == 2 ? round($damage * 0.75) : $damage;
$rp = $rp / 2; //尝试修复RP踩雷可能不削半问题
//好人卡特别活动
global $itm1,$itmk1,$itms1,$itm2,$itmk2,$itms2,$itm3,$itmk3,$itms3,$itm4,$itmk4,$itms4,$itm5,$itmk5,$itms5;
$goodmancard = 0;
......@@ -83,6 +83,8 @@ function trap(){
addnews($now,'trap',$nick.' '.$name,$trname,$itm0);
}
$log .= "糟糕,你触发了{$trperfix}陷阱<span class=\"yellow\">$itm0</span>!受到<span class=\"dmg\">$damage</span>点伤害!<br>";
$rp = $rp / 2; //尝试修复RP踩雷可能不削半问题
//$log .= "【DEBUG】你目前的rp为<span class=\"dmg\">$rp</span>!<br>";
if($goodmancard){
$gm = ceil($goodmancard*rand(80,120)/100);
$log .= "在你身上的<span class=\"yellow\">好人卡</span>的作用下,你受到的伤害增加了<span class=\"red\">$gm</span>点!<br>";
......@@ -325,11 +327,16 @@ if(($itmk=='XX')||(($itmk=='XY'))){
$mode = 'command';
return;
}
if(strpos($itmsk,'v')!==false){
$log .= "{$itm}在地上化作点点碎片,随风消逝了。<br>";
$log .= "你摧毁了<span class=\"red\">$itm</span>。<br>";
}else{
// $mapfile = GAME_ROOT."./gamedata/mapitem/{$pls}mapitem.php";
// $itemdata = "$itm,$itmk,$itme,$itms,$itmsk,\n";
// writeover($mapfile,$itemdata,'ab');
$db->query("INSERT INTO {$tablepre}mapitem (itm, itmk, itme, itms, itmsk ,pls) VALUES ('$itm', '$itmk', '$itme', '$itms', '$itmsk', '$pls')");
$log .= "你丢弃了<span class=\"red\">$itm</span>。<br>";
}
$mode = 'command';
if($item == 'wep'){
$itm = '拳头';
......
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