亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? combat.php

?? 三國(guó)好好 子
?? PHP
?? 第 1 頁 / 共 3 頁
字號(hào):
<?
include "header.php";

/* part Copyright 2005 peter.schaefer@gmail.com */

session_start();

// INITIAL SETUP

include_once "class_character.php";

/*
 * return the root of the damage
 * FIXME: charcters attacks, magic, and the opponents table have to be fixed to use the same system
 * the damage inflicted by character is completely out of proportion compared to damage min/max of npcs
 */
function root_damage($damage) {
    $exp= 0.49;//0.50
    return (int)(pow($damage,$exp)+rand(0,99)*0.01);
}

/*
 * return a random damage between min and max
 * Adding this kind of randomness should make combat more exciting, while keeping damage in the lower range most of the time.
 * FIXME: This function should somehow make root_damage superfluous, but that requires making npcs more player like
 */
function roll_damage($mindamage, $maxdamage) {

    $delta= $maxdamage-$mindamage;
    if($delta<1){
        $delta= 1;
    }

    $damage= floor( $mindamage+ exp( rand(0,floor(137.0*log($delta)))/137.0 ) + rand(0,99)*0.01 );
    DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: damage between $mindamage-$maxdamage = $damage";
    return $damage;
}

$character = new character($PHP_PHAOS_CHARID);

$_SESSION['disp_msg'] = array();
if (isset($_GET['charfrom']))	{ $_SESSION['charfrom'] = $_GET['charfrom'];}

//FIXME: way to easy to hack
$_SESSION['fightbonus']= isset($_GET['bonus'])? $_GET['bonus']: 1;
if($_SESSION['fightbonus']>4){
    $_SESSION['fightbonus']= 4;
}

function setcombatlocation($combatlocation){
    $_SESSION['combatlocation']= $combatlocation;
    $result = mysql_query("select name from phaos_locations where id=$_SESSION[combatlocation] LIMIT 1");
    @list($_SESSION['locationname']) = mysql_fetch_row($result);
}

DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: character hp= $character->hit_points";

// OPPONENT INFORMATION
if( @$_SESSION['charfrom'] != "arena" ) {
    DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: normal combat";
    setcombatlocation($character->location);
    $list= whos_here($_SESSION['combatlocation'],'phaos_npc');
}else{
        //CAVEAT: usernames have limited length, so don't use too long names for npc character types

        $list= array();
        if(@$_SESSION['combatlocation']){
            $list= whos_here($_SESSION['combatlocation'],'phaos_arena_fighting');
            DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: Trying to locate previous opponents, found ".count($list);
        } else {
        //place new monsters in arena
        // this code has to be moved/adapted into the arena.php, I guess, since otherwise the arena cannot properly set the level of the monster
            DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: arena initial setup";

            //Set opponents level
            $opponent_level= intval(@$_GET['opponent_level']);
            if($opponent_level>0){
                $_SESSION['opp_level'] = $opponent_level;
            }else{
                $_SESSION['opp_level'] = (int)rand((int)($character->level/5),($character->level));
            }
            $other_opp_level= $_SESSION['opp_level'];

            // Set number of opponents
            $_SESSION['num_of_opps'] = rand(1, ceil(sqrt($opponent_level)) );

            $opponent_id= intval(@$_GET['opponent_id']);
            DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: choosing opponent $opponent_id, lvl $_SESSION[opp_level] , $_SESSION[num_of_opps] foes";

            //find or create an arena location
            //FIXME
            //find out whether there is a city or special here, and use the name
            $result = mysql_query("select name from phaos_locations where id=$character->location LIMIT 1");
            @list($locationname) = mysql_fetch_row($result);

            $arenaat= isset($locationname)? $locationname : "Unknown ".rand(0,99);
            $arenaname= "Arena ".rand(1,3)." at $arenaat";

            //check whether this arena exists already
            $result = mysql_query("select id from phaos_locations where name='$arenaname' order by id DESC");
            @list($arenalocation) = mysql_fetch_row($result);
            if(!@$arenalocation){
                DEBUG and $_SESSION['disp_msg'][] = "DEBUG: adding new arena ";
                $arenalocation= nextLocationIdFromRange('arena_fighting_location',__FILE__,__LINE__);
                //insert if not exists
                $query= "insert into phaos_locations
                 (id, name, image_path, special, buildings, pass, explore)
                 values
                 ($arenalocation, '$arenaname','images/arena.gif',1,0,1,0)
                  ";
                $req = mysql_query($query);
                if (!$req) { showError(__FILE__,__LINE__,__FUNCTION__); exit;}

                $result = mysql_query("select id from phaos_locations where name='$arenaname' order by id DESC");
                @list($arenalocation) = mysql_fetch_row($result);

                //make arena point to itself so that monsters don't wander off
                $query= "update phaos_locations
                 set
                `above_left`= $arenalocation,
                `above`= $arenalocation,
                `above_right`= $arenalocation,
                `leftside`= $arenalocation,
                `rightside`= $arenalocation,
                `below_left`= $arenalocation,
                `below`= $arenalocation,
                `below_right`= $arenalocation
                where id= $arenalocation";
                $req = mysql_query($query);
                if (!$req) { showError(__FILE__,__LINE__,__FUNCTION__); exit;}
            }

            (@$arenalocation)or die('Must have a special location for arena');

            $_SESSION['arenalocation']= $arenalocation;
            setcombatlocation($_SESSION['arenalocation']);

            $opplocation= $character->location;

            //empty arena of old combatants
            //FIXME: check whether arena is in use
            $query= "update phaos_characters
             set location= '$opplocation',
                  username= 'phaos_npc_arena'
            where location= '$arenalocation'";
            $req = mysql_query($query);
            if (!$req) { showError(__FILE__,__LINE__,__FUNCTION__); exit;}

            $oppsneeded= $_SESSION['num_of_opps'];

            if(@$opponent_id){
                //try to find requested opponent
                $query = "SELECT id FROM phaos_characters WHERE $opplocation AND id=$opponent_id AND username LIKE 'phaos_%_arena'";
                $result = mysql_query($query);
                //place requested opponent
                if( mysql_num_rows($result)>0 ){
                    $oppcharacter= new character($opponent_id);
                    $oppcharacter->user= 'phaos_arena_fighting';
                    $oppcharacter->place($arenalocation);
                    $opponent_id= $oppcharacter->id;//paranoia
                    $list[]= $opponent_id;
                    $_SESSION['opponent_id'] = $opponent_id;
                    --$oppsneeded;
                    if(--$other_opp_level<1){
                        $other_opp_level= 1;
                    }
                }
            }

            //place new monsters on map
            $query = "SELECT * FROM phaos_opponents WHERE location='$opplocation' ORDER BY RAND() LIMIT $oppsneeded";
            $blueprints= fetch_all($query);
            foreach($blueprints as $blueprint){
                $npc= new np_character_from_blueprint($blueprint,$other_opp_level,'phaos_arena_fighting');
                $npc->place($arenalocation);
                $list[]= $npc->id;
                DEBUG AND $_SESSION['disp_msg'][] = @"DEBUG: placing $npc->name $npc->level $npc->username";
            }
            //$list= whos_here($_SESSION['combatlocation'],'phaos_arena_fighting');
        }// set up arena
}

$_SESSION['num_of_opps'] = count($list);
DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: There are ".count($list)." opponents here.";

//TODO: for spells
//$opponentList= makeList($list);

$oppcharacter= null;
if (!count($list)) {
    $comb_act = 'endfight';
    DEBUG and print_msgs($_SESSION['disp_msg'],'','<br>');
    $link= endfight();
    jsChangeLocation($link);
    $skip_actions = true;
}else{
    $skip_actions = false;

    if(!@$_SESSION['opponent_id']){
        $_SESSION['opponent_id']= $list[0];
    }

    //load opponents
    $opponents= array();
    foreach($list as $id) {
        $opponents[$id]= new character($id);
    }

    if(@$_SESSION['opponent_id']){
        DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: Using old opponent";
        $oppcharacter = &$opponents[$_SESSION['opponent_id']];
    }
    if(!@$oppcharacter || $oppcharacter->hit_points<=0 ) {
        $_SESSION['opponent_id'] = $list[0];
        $oppcharacter = &$opponents[$_SESSION['opponent_id']];
        DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: Using new opponent";
    }
}

if(DEBUG){
    $_SESSION['disp_msg'][] = "DEBUG: location: ".@$character->location;
    $_SESSION['disp_msg'][] = "DEBUG: charfrom: ".@$_SESSION['charfrom'];
    $_SESSION['disp_msg'][] = "DEBUG: combat location: ".@$_SESSION['combatlocation'];
    $_SESSION['disp_msg'][] = "DEBUG: opponent id: ".@$oppcharacter->id;
    $_SESSION['disp_msg'][] = "DEBUG: opponent session id: ".@$_SESSION['opponent_id'];
    $_SESSION['disp_msg'][] = "DEBUG: LIST: ".print_r(@$list,true);
}

//$_SESSION['opponent_id']: the an opponent to attack
//$_SESSION['endcombat']: whether combat skips the monster attack, maybe if monster is dead

$_SESSION['endcombat'] = false;

if($skip_actions) {
    DEBUG AND $_SESSION['disp_msg'][] = "DEBUG: Skipping actions";
} else {  // Do this if we have an opponent ID  (only time we shouldn't have one is when we FIRST enter combat)

   $combat_continue = 1;   //Combat continues from where it left off

   if(isset($healed)) {
      if($_SESSION['no_heal'] == 1) {
         $_SESSION['disp_msg'][] = $lang_comb["not_heal_this"];
      } else {
        $_SESSION['disp_msg'][] = $lang_comb["drink"].$_SESSION['heal_points']."";
        refsidebar();
      }
      unset($healed);
   }

   // COMBAT ACTIONS
   if(!isset($comb_act)){
    $comb_act= 'travel';
   }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜电影av| 亚洲成人www| 国产三级欧美三级日产三级99 | 在线观看日韩一区| 91首页免费视频| 成人免费看视频| 成人免费视频一区| 大尺度一区二区| 成人性视频网站| 成人午夜视频网站| 丰满白嫩尤物一区二区| 韩国一区二区视频| 国产在线精品一区二区不卡了 | 国产精品嫩草影院av蜜臀| 久久先锋影音av鲁色资源| 久久先锋影音av| 久久久久99精品国产片| 国产午夜亚洲精品不卡| 国产亚洲精品aa| 国产精品理论在线观看| 亚洲色图欧美激情| 亚洲资源中文字幕| 奇米影视一区二区三区小说| 蜜臀av国产精品久久久久| 国精产品一区一区三区mba视频| 国产寡妇亲子伦一区二区| 成人免费视频网站在线观看| 色综合亚洲欧洲| 国产精品理论片在线观看| 一区二区三区资源| 午夜电影网亚洲视频| 极品美女销魂一区二区三区 | av在线这里只有精品| 色综合久久中文综合久久牛| 欧美视频自拍偷拍| 日韩欧美国产综合在线一区二区三区 | 丁香啪啪综合成人亚洲小说| 99热精品国产| 7777精品伊人久久久大香线蕉的| 日韩三级免费观看| 久久精品亚洲精品国产欧美| 亚洲日本va午夜在线影院| 天天色综合成人网| 国产综合成人久久大片91| 99re成人精品视频| 666欧美在线视频| 国产午夜精品久久久久久免费视| 亚洲精品国产无套在线观| 丝袜亚洲另类欧美综合| 国产精品乡下勾搭老头1| 91搞黄在线观看| 久久久久久亚洲综合| 一区二区久久久久久| 国产在线精品一区二区夜色 | 天天综合色天天综合| 国产在线不卡视频| 欧美性生活久久| 久久综合九色综合97婷婷| 亚洲综合免费观看高清完整版 | 欧美日韩视频一区二区| 久久免费看少妇高潮| 亚洲最大成人网4388xx| 韩国女主播成人在线观看| 91久久一区二区| 亚洲精品在线免费观看视频| 亚洲第一综合色| 成人免费va视频| 日韩美一区二区三区| 一区二区三区av电影| 国产一区二区三区最好精华液| 91官网在线观看| 中文字幕精品三区| 免费不卡在线观看| 在线视频综合导航| 中文在线资源观看网站视频免费不卡 | 亚洲五月六月丁香激情| 国产suv一区二区三区88区| 69p69国产精品| 亚洲综合另类小说| 97se亚洲国产综合自在线不卡 | 成人免费在线视频| 黄色小说综合网站| 亚洲免费观看高清完整版在线观看| 激情综合色综合久久综合| 欧美日韩一级片网站| 亚洲色欲色欲www在线观看| 国产一区二区三区免费播放| 欧美一区二区在线不卡| 亚洲最大成人综合| 色久综合一二码| 国产精品午夜在线观看| 国产一区二区三区免费| 精品精品欲导航| 日本一不卡视频| 欧亚洲嫩模精品一区三区| 亚洲欧美激情视频在线观看一区二区三区 | 精品欧美黑人一区二区三区| 亚洲成av人在线观看| 91福利社在线观看| 亚洲免费观看在线视频| 99久久精品免费| 中文字幕巨乱亚洲| 99精品热视频| 中文字幕乱码日本亚洲一区二区| 国产老肥熟一区二区三区| 精品国产亚洲一区二区三区在线观看| 午夜精品福利在线| 欧美酷刑日本凌虐凌虐| 天天色天天操综合| 欧美一区二区黄色| 美女免费视频一区二区| 欧美mv和日韩mv国产网站| 加勒比av一区二区| 美日韩一区二区| 26uuu亚洲综合色| 国产精品一区二区91| 精品国产乱码久久久久久闺蜜 | 欧美中文字幕一区二区三区| 亚洲黄网站在线观看| 欧美日韩国产首页| 日韩国产欧美三级| 日韩精品在线一区二区| 激情av综合网| 国产精品―色哟哟| 色婷婷激情一区二区三区| 亚洲综合色婷婷| 91精品国产综合久久久久久久久久| 偷拍日韩校园综合在线| 欧美电影免费观看高清完整版在线| 久久99久久99| 国产欧美日韩视频一区二区| 99热这里都是精品| 亚洲成人动漫在线观看| 日韩手机在线导航| 国产·精品毛片| 亚洲欧洲制服丝袜| 日韩一区二区三区视频在线| 国产精品自产自拍| 亚洲九九爱视频| 8x8x8国产精品| 东方aⅴ免费观看久久av| 亚洲一区二区美女| 337p粉嫩大胆噜噜噜噜噜91av| www.日本不卡| 日韩主播视频在线| 国产清纯白嫩初高生在线观看91 | 欧美一区二区三区思思人| 91麻豆精品国产91久久久久久| 老司机精品视频线观看86| 欧美国产一区视频在线观看| 91免费在线看| 久久精品国产亚洲高清剧情介绍| 日本一区免费视频| 欧美老肥妇做.爰bbww视频| 国产精品 日产精品 欧美精品| 亚洲男帅同性gay1069| 日韩一区和二区| 92国产精品观看| 久久精品噜噜噜成人88aⅴ| 中文字幕亚洲一区二区av在线| 91精品国产综合久久久久久| 国产成人精品一区二| 五月天婷婷综合| 国产精品的网站| 日韩欧美激情一区| 在线一区二区视频| 国产91在线|亚洲| 日韩精品成人一区二区在线| 日韩一区中文字幕| 日韩欧美国产一二三区| 色综合天天狠狠| 国产馆精品极品| 蜜桃视频在线一区| 亚洲综合色丁香婷婷六月图片| 久久久久国产精品麻豆ai换脸 | 国产精品小仙女| 肉肉av福利一精品导航| 亚洲色图在线看| 日本一区二区三区dvd视频在线| 9191成人精品久久| 欧美日韩专区在线| 99国产欧美久久久精品| 国产精品亚洲一区二区三区在线| 91视视频在线观看入口直接观看www | 日本不卡在线视频| 亚洲美女淫视频| ㊣最新国产の精品bt伙计久久| 久久免费电影网| 日韩免费电影一区| 日韩欧美色综合网站| 欧美人与z0zoxxxx视频| 91福利在线观看| 在线看国产一区| 91福利在线看| 在线日韩国产精品| 色综合色狠狠综合色| 丁香天五香天堂综合| 亚洲一区二区在线视频| 国产日韩成人精品| 欧美sm极限捆绑bd|