📄 combat.php
字号:
if (!$req) { showError(__FILE__,__LINE__,__FUNCTION__); exit;}
//REFRESH SIDEBAR INFO
$refsidebar= true;
$attackingcharacter->update_stamina();
if(@$break_loop){
break;
}
}
}//hit points>0
}//end foreach opponent
}
$character->update_stamina();
if( $character->stamina_points<0.25*$character->stamina_points ){
$refsidebar= true;
}
// DRINK POTIONS
if($comb_act == 'drink_potion') {
$_SESSION['heal_points'] = $character->drink_potion2($invid);
$_SESSION['no_heal'] = 0;
$refsidebar= true;
// still in combat?
if($_SESSION['endcombat'] == false) { // "yes" means you drink and OPP attacks
jsChangeLocation("combat.php?comb_act=npc_attack&healed");
} else { // "no" means you drink, no OPP attack
jsChangeLocation("combat.php?healed");
}
}
if(@$refsidebar){
refsidebar();
}
}//skip actions
?>
<table width=400 border=1 cellspacing=0 cellpadding=5 align=center>
<tr style=background:#006600;>
<td align=center><big><?= sayOpponents() ?></big></td>
</tr>
<?
// Opponent Health
$color="#00FF00";
$percent=$oppcharacter->hit_points/$oppcharacter->max_hp*100;
$percent<85 AND $color="#D7D730";
$percent<55 AND $color="#AA5500";
$percent<30 AND $color="#FF0000";
//FIXME: image width/height database needed
print "
<tr>
<td align=\"center\"><img src='".$oppcharacter->image."' height=160></td>
</tr>
<tr>
<td>".$lang_comb['opp_heea']." : ".$oppcharacter->hit_points." / ".$oppcharacter->max_hp."</td>
</tr>
<tr>
<td> <table border=0 cellspacing=0 align=left width=$percent%> <tr> <td BGCOLOR=$color> </td> </tr> </table> </td>
</tr>
";
// Player Health
$color="#00FF00";
$percent=$character->hit_points/$character->max_hp*100;
$percent<85 AND $color="#D7D730";
$percent<55 AND $color="#AA5500";
$percent<30 AND $color="#FF0000";
print "
<tr>
<td>".$lang_comb['ur_heea']." : ".$character->hit_points." / ".$character->max_hp."</td>
</tr>
<tr>
<td> <table border=0 cellspacing=0 align=left width=$percent%> <tr> <td BGCOLOR=$color> </td> </tr> </table> </td>
<tr>
</tr>
";
?>
</td>
</tr>
<? if(@$_SESSION['opponent_id']&& !@$_SESSION['endcombat']) {
?>
<tr>
<td>
<table width="100%" border=0 cellspacing=0 cellpadding=3 align=left>
<tr>
<td align=center><input type='button' onClick='self.location="combat.php?comb_act=both_attack"' value='<? echo $lang_comb["_attt"]; ?>'></td>
<td align=center><input type='button' onClick='self.location="combat.php?comb_act=flee"' value='<? echo $lang_comb["_flee"]; ?>'></td>
</tr>
</table>
</td>
</tr>
<?
// Show available magic
echo "<tr>
<td>
<table width=\"100%\" border=0 cellspacing=0 cellpadding=3 align=left><tr>";
// $result=mysql_query("SELECT id,item_id FROM phaos_char_inventory WHERE username = '".$character->user."' AND type='spell_items'");
$result=mysql_query("SELECT id,item_id,count(item_id) FROM phaos_char_inventory WHERE username = '".$character->user."' AND type='spell_items' group by item_id ");
if( mysql_num_rows($result) ){
while(list($id,$item_id,$count) = mysql_fetch_array($result)){
$result1= mysql_query("SELECT name,image_path,damage_mess FROM phaos_spells_items WHERE id=$item_id ");
list($description,$image_path,$damage_mess) = mysql_fetch_array($result1);
if($damage_mess == 0){ $damage_mess = "单重效果";} else {$damage_mess = "多重效果";}
echo "<td align=left><input type='image' src='$image_path' alt='$description--$damage_mess' title='$description--$damage_mess' onClick='self.location=\"combat.php?comb_act=magic_attack&spellid=$item_id&invid=$id\"'><br>($count)</td>";
}
}else{
echo "<td align=center>".$lang_comb["no_mag"]."</td>";
}
echo "</tr></table>
</td></tr>";
?>
<?
// Show available potions
echo "<tr>
<td>
<table width='100%' border=0 cellspacing=0 cellpadding=3 align=left><tr>";
$result=mysql_query("SELECT id,item_id,count(item_id) FROM phaos_char_inventory WHERE username = '".$character->user."' AND type='potion' group by item_id ");
if( mysql_num_rows($result) ){
while(list($id,$item_id,$count) = mysql_fetch_array($result)){
$result1= mysql_query("SELECT name,image_path FROM phaos_potion WHERE id=$item_id ");
list($description,$image_path) = mysql_fetch_array($result1);
echo "<td align=left><input type='image' src='$image_path' alt='$description' title='$description' onClick='self.location=\"combat.php?comb_act=drink_potion&item_id=$item_id&invid=$id\"'><br>($count)</td>";
}
}else{
echo "<td align=center>".$lang_comb["no_pot"]."</td>";
}
echo "</tr></table>
</td></tr>";
?>
<? } ?>
<tr>
<td>
<table width="100%" weight="100%" border=0 cellspacing=0 cellpadding=0 align=center>
<tr>
<?
if(@$combat_continue){
//echo "<td align=center><b>(Combat continues...)</b></td>";
$combat_continue = 0;
} else {
$char_first_attack = $character->dexterity+diceroll();
$opp_first_attack = $oppcharacter->dexterity+diceroll();
if($char_first_attack <= $opp_first_attack){
jsChangeLocation("combat.php?comb_act=npc_attack&npcfirstatt");
} else {
// You attack first, code
echo "<td align=center>".$lang_comb["sight_enn"]."</td>";
}
}
echo "</tr>";
print_msgs(@$_SESSION['disp_msg']);
unset($_SESSION['disp_msg']);
?>
</tr>
</table>
</td>
</tr>
<?
//
// wandering mobs always check for new opponents, the arena does not.
//
if( defined('DEBUG') and DEBUG ){
$GLOBALS['debugmsgs'][]= "\ncombatlocation=".@$_SESSION['combatlocation'];
$GLOBALS['debugmsgs'][]= "\ncharfrom=".@$_SESSION['charfrom'];
$GLOBALS['debugmsgs'][]= "\nopponent id=".@$_SESSION['opponent_id'];
$GLOBALS['debugmsgs'][]= "\nend of combat detected=".@$_SESSION['endcombat'];
$GLOBALS['debugmsgs'][]= "\n hp: me ".@$character->hit_points." vs opp ".@$oppcharacter->hit_points;
}
if($character->hit_points>0){
if( !(@$_SESSION['opponent_id']&& !@$_SESSION['endcombat']) ){
?>
<tr>
<td align=center><input type='button' onClick='self.location="combat.php?comb_act=nextfight"' value='<? echo $lang_comb["_conti"]; ?>'></td>
</tr>
<?php
}
}else{//player died
unset($_SESSION['opponent_id']);
?>
<tr>
<td align=center><input type='button' onClick='self.location="travel.php"' value='<? echo $lang_comb["_conti"]; ?>'></td>
</tr>
<?php
}
?>
<tr>
<td align=center><?=@$_SESSION['locationname']?></td>
</tr>
</table>
<p>
<br><br>
<?
function endfight(){
$disp_msg= $_SESSION['disp_msg'];
$charfrom= @$_SESSION['charfrom'];
session_unset();
session_destroy();
flush();
if(@$_SESSION['charfrom'] == "arena"){
return "arena.php";
}
else if($charfrom == "dungeon"){
return "travel_dungeon.php?finish";
}else{
return "travel.php";
}
}
function sayOpponents(){
global $oppcharacter;
$more= (@$_SESSION['num_of_opps']>1)? ' and '.($_SESSION['num_of_opps']-1).' more foes':"";
return "$oppcharacter->name Level $oppcharacter->level $more";
}
include "trailer.php";
include "footer.php";
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -