} //always attack the one the character is engaged with $defenders[$oppcharacter->id] =& $oppcharacter; } } else { $defenders = array($oppcharacter->id => &$oppcharacter); } foreach (array_keys($defenders) as $defenderkey) { $defender =& $defenders[$defenderkey]; if ($defender->hit_points <= 0) { if (DEBUG) { $_SESSION['disp_msg'][] = "**DEBUG: defender[{$defenderkey}]=" . print_r($defender, true); } } else { // Determine char attack value $_SESSION['char_attack'] = $character->attack_roll($comb_act); if (DEBUG >= 1) { $_SESSION['disp_msg'][] = "**DEBUG: char_attack = " . $_SESSION['char_attack']; } // Determine opponent defense value $_SESSION['opp_defence'] = $defender->defence_roll($comb_act); if (DEBUG >= 1) { $_SESSION['disp_msg'][] = "**DEBUG: opp_def = " . $_SESSION['opp_defence']; } //Check hit to opponent $damage_multiplier = $_SESSION['char_attack'] - $_SESSION['opp_defence']; if ($damage_multiplier < 0) { // Missed $_SESSION['disp_msg'][] = $lang_comb["u_miss"]; } if (!$damage_multiplier) {