Ejemplo n.º 1
0
 $damage_multiplier = $_SESSION['opp_attack'] - $_SESSION['char_def'];
 if ($damage_multiplier < 0) {
     // Missed
     $_SESSION['disp_msg'][] = $attackingcharacter->name . " misses you!";
 }
 //Check hit to Character
 if (!$damage_multiplier) {
     // Deadlock
     $_SESSION['disp_msg'][] = $lang_comb["def_en"] . " " . $attackingcharacter->name . "";
 }
 if (DEBUG >= 1) {
     $_SESSION['disp_msg'][] = "**DEBUG: damage multiplier = " . $damage_multiplier;
 }
 if ($damage_multiplier > 0) {
     // Do and show damage to Character
     DEBUG and $_SESSION['disp_msg'][] = "**DEBUG: char defense_min =  " . $character->defense_min();
     $_SESSION['dmg_to_char'] = roll_damage(root_damage($attackingcharacter->attack_min() * $damage_multiplier) - $character->defense_min() / 2, root_damage($attackingcharacter->attack_max() * $damage_multiplier) - $character->defense_min());
     DEBUG and $_SESSION['disp_msg'][] = "**DEBUG: dmg_to_char = " . $_SESSION['dmg_to_char'];
     if ($_SESSION['dmg_to_char'] <= 0) {
         $_SESSION['dmg_to_char'] = 1;
     }
     $character->hit_points = $character->hit_points - $_SESSION['dmg_to_char'];
     $_SESSION['disp_msg'][] = $attackingcharacter->name . " " . $lang_comb["hit_for_u"] . " " . $_SESSION['dmg_to_char'];
     if ($character->hit_points <= 0) {
         $character->hit_points = 0;
         $_SESSION['disp_msg'][] = $attackingcharacter->name . " " . $lang_comb["kill_u_man"];
         //Let NPC Receive Gold
         $attackingcharacter->gold += (int) ($character->gold * 0.15);
         $character->gold = (int) ($character->gold * 0.85);
         // FIXME: player should really lose ALL gold carrying... this is temp (should set to 0)
         $attackingcharacter->xp += ((int) ($character->max_hp / 1) + $attackingcharacter->wisdom) * $_SESSION['fightbonus'];