function adr_attack_weap() { global $monster, $bat, $adr_user, $opponent_element, $item, $db, $lang, $user_id, $power, $crit_result; global $challenger, $battle_message, $user_action, $monster_action, $attack_img, $attackwith_overlay; global $damage, $dice; // weaprof $attbonus = adr_weapon_skill_check($user_id); if ($diff === TRUE && $dice != '1' || $dice >= $threat_range) { // Prefix msg if crit hit $battle_message .= $crit_result === TRUE ? '<br>' . $lang['Adr_battle_critical_hit'] . '</b><br />' : ''; $damage = adr_calc_item_damage($item, $power, $attbonus); $damage = $damage > $bat['battle_opponent_hp'] ? $bat['battle_opponent_hp'] : $damage; // V: fix element $element_name = adr_get_element_infos($item['item_element']); // Here we apply text colour if set if ($element_name['element_colour'] != '') { $item['item_name'] = '<span style="color: ' . $element_name['element_colour'] . '">' . $item['item_name'] . '</span>'; } else { $item['item_name'] = $item['item_name']; } // Fix attack msg type if ($item['item_element'] > '0' && $element_name['element_name'] != '') { $battle_message .= sprintf($lang['Adr_battle_attack_success'], $challenger['character_name'], $monster['monster_name'], $item['item_name'], adr_get_lang($element_name['element_name']), floor($attbonus), $damage) . '<br>'; } else { $battle_message .= sprintf($lang['Adr_battle_attack_success_norm'], $challenger['character_name'], $monster['monster_name'], $item['item_name'], floor($attbonus), $damage) . '<br>'; } } else { $damage = 0; $battle_message .= sprintf($lang['Adr_battle_attack_failure'], $challenger['character_name'], $monster['monster_name'], $item['item_name']) . '<br>'; } }
$level_list .= '<option value="">' . $lang['Adr_pvp_taunt_none'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_1'] . '">' . $lang['Adr_pvp_taunt_1'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_2'] . '">' . $lang['Adr_pvp_taunt_2'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_3'] . '">' . $lang['Adr_pvp_taunt_3'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_4'] . '">' . $lang['Adr_pvp_taunt_4'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_5'] . '">' . $lang['Adr_pvp_taunt_5'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_6'] . '">' . $lang['Adr_pvp_taunt_6'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_7'] . '">' . $lang['Adr_pvp_taunt_7'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_8'] . '">' . $lang['Adr_pvp_taunt_8'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_9'] . '">' . $lang['Adr_pvp_taunt_9'] . '</option>'; $level_list .= '<option value="' . $lang['Adr_pvp_taunt_10'] . '">' . $lang['Adr_pvp_taunt_10'] . '</option>'; $level_list .= '</select>'; ##=== END: custom taunt list ===## ##=== START calculate HP/MP bar width ===## list($challenger_hp_width, $challenger_hp_empty) = adr_make_bars($current_hp, $current_hp_max, '100'); list($challenger_mp_width, $challenger_mp_empty) = adr_make_bars($current_mp, $current_mp_max, '100'); list($opponent_hp_width, $opponent_hp_empty) = adr_make_bars($opponent_hp, $opponent_hp_max, '100'); list($opponent_mp_width, $opponent_mp_empty) = adr_make_bars($opponent_mp, $opponent_mp_max, '100'); ##=== END calculate HP/MP bar width ===## ##=== START: grab challenger & opponent infos ===## $current_element_infos = adr_get_element_infos($current_element); $current_alignment_infos = adr_get_alignment_infos($current_alignment); $current_class_infos = adr_get_class_infos($current_class); $opponent_element_infos = adr_get_element_infos($opponent_element); $opponent_alignment_infos = adr_get_alignment_infos($opponent_alignment); $opponent_class_infos = adr_get_class_infos($opponent_class); ##=== END: grab challenger & opponent infos ===## $template->assign_vars(array('L_ATTRIBUTES' => $lang['Adr_battle_attributes'], 'L_PHY_ATT' => $lang['Adr_battle_phy_att'], 'L_PHY_DEF' => $lang['Adr_battle_phy_def'], 'L_MAG_ATT' => $lang['Adr_battle_mag_att'], 'L_MAG_DEF' => $lang['Adr_battle_mag_def'], 'L_ALIGNMENT' => $lang['Adr_battle_alignment'], 'L_ELEMENT' => $lang['Adr_battle_element'], 'L_CLASS' => $lang['Adr_battle_class'], 'ALIGNMENT' => adr_get_lang($current_alignment_infos['alignment_name']), 'ELEMENT' => adr_get_lang($current_element_infos['element_name']), 'CHALLENGER_CLASS' => adr_get_lang($current_class_infos['class_name']), 'M_ATT' => $current_ma, 'M_DEF' => $current_md, 'OPPONENT_ALIGNMENT' => adr_get_lang($opponent_alignment_infos['alignment_name']), 'OPPONENT_ELEMENT' => adr_get_lang($opponent_element_infos['element_name']), 'OPPONENT_CLASS' => adr_get_lang($opponent_class_infos['class_name']), 'OPPONENT_M_ATT' => $opponent_ma, 'OPPONENT_M_DEF' => $opponent_md, 'ATTACK' => $weapon_list, 'SPELL' => $spell_list, 'POTION' => $potion_list, 'NAME' => $current_name, 'AVATAR_IMG' => $current_avatar_img, 'OPPONENT_NAME' => $opponent_name, 'OPPONENT_IMG' => $opponent_avatar_img, 'BATTLE_TEXT' => $battle_text, 'BATTLE_CHAT' => $battle_text_chat, 'HP' => $current_hp, 'MP' => $current_mp, 'HP_MAX' => $current_hp_max, 'MP_MAX' => $current_mp_max, 'HP_WIDTH' => $challenger_hp_width, 'MP_WIDTH' => $challenger_mp_width, 'ATT' => $current_att, 'DEF' => $current_def, 'OPPONENT_HP' => $opponent_hp, 'OPPONENT_MP' => $opponent_mp, 'OPPONENT_HP_MAX' => $opponent_hp_max, 'OPPONENT_MP_MAX' => $opponent_mp_max, 'OPPONENT_HP_WIDTH' => $opponent_hp_width, 'OPPONENT_MP_WIDTH' => $opponent_mp_width, 'OPPONENT_ATT' => $opponent_att, 'OPPONENT_DEF' => $opponent_def, 'HP_EMPTY' => $challenger_hp_empty, 'MP_EMPTY' => $challenger_mp_empty, 'OPPONENT_HP_EMPTY' => $opponent_hp_empty, 'OPPONENT_MP_EMPTY' => $opponent_mp_empty, 'TAUNT_LIST' => $level_list, 'L_COMMS' => $lang['Adr_pvp_comms'], 'L_TYPE_HERE' => $lang['Adr_pvp_custom_taunt'], 'L_CUSTOM_SENTANCE' => $lang['Adr_pvp_taunt'], 'S_CHATBOX' => append_sid("adr_battle_pvp_chatbox.{$phpEx}?battle_id=" . $battle_id), 'L_HP' => $lang['Adr_character_health'], 'L_MP' => $lang['Adr_character_magic'], 'L_ATT' => $lang['Adr_attack'], 'L_DEF' => $lang['Adr_defense'], 'L_ATTACK' => $lang['Adr_attack_opponent'], 'L_POTION' => $lang['Adr_potion_opponent'], 'L_DEFEND' => $lang['Adr_defend_opponent'], 'L_FLEE' => $lang['Adr_flee_opponent'], 'L_SPELL' => $lang['Adr_spell_opponent'], 'L_ACTIONS' => $lang['Adr_actions_opponent'], 'L_BATTLE_CHAT' => $lang['Adr_pvp_battle_chat'], 'L_BATTLE_REFRESH' => $lang['Adr_pvp_refresh_page'], 'S_PVP_ACTION' => append_sid("adr_battle_pvp.{$phpEx}?battle_id=" . $battle_id))); include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx; $template->pparse('body'); include $phpbb_root_path . 'includes/page_tail.' . $phpEx;
for ($r = 0; $r < $align_count; $r++) { // Cached sql query $align_info = adr_get_alignment_infos($align_array[$r]); $align_list .= adr_get_lang($align_info['alignment_name']); if ($r < $align_count - 2) { $align_list .= ", "; } } $template->assign_block_vars('main.items.align_restrict', array("ALIGN_LIST" => $align_list, "L_ALIGN_LIST" => $lang['Adr_character_alignment'])); } $class_array = explode(",", $row['item_restrict_class']); if ($row['item_restrict_class_enable'] == '1') { $class_count = count($class_array); $class_list = ''; for ($c = 0; $c < $class_count; $c++) { // Cached sql query $class_info = adr_get_class_infos($class_array[$c]); $class_list .= adr_get_lang($class_info['class_name']); if ($c < $class_count - 2) { $class_list .= ", "; } } $template->assign_block_vars('main.items.class_restrict', array("CLASS_LIST" => $class_list, "L_CLASS_LIST" => $lang['Adr_character_class'])); } $element_array = explode(",", $row['item_restrict_element']); if ($row['item_restrict_element_enable'] == '1') { $element_count = count($element_array); $element_list = ''; for ($e = 0; $e < $element_count; $e++) { // Cached sql query $element_info = adr_get_element_infos($element_array[$e]);
} else { if ($items[$i]['item_type_use'] == 15 || $items[$i]['item_type_use'] == 16) { $potion_selected = $_POST['item_potion'] == $items[$i]['item_id'] ? 'selected' : ''; $potion_list .= '<option value = "' . $items[$i]['item_id'] . '" ' . $potion_selected . ' >' . $item_name . ' (' . $lang['Adr_items_power'] . ': ' . $item_power . '; ' . $lang['Adr_items_duration'] . ': ' . $items[$i]['item_duration'] . ')' . '</option>'; } } } } $weapon_list .= '</select>'; $spell_list .= '</select>'; $potion_list .= '</select>'; ##=== START: Create bar widths ===## list($challenger_hp_width, $challenger_hp_empty) = adr_make_bars($challenger['character_hp'], $challenger['character_hp_max'], '100'); list($challenger_mp_width, $challenger_mp_empty) = adr_make_bars($challenger['character_mp'], $challenger['character_mp_max'], '100'); list($opponent_hp_width, $opponent_hp_empty) = adr_make_bars($bat['battle_opponent_hp'], $bat['battle_opponent_hp_max'], '100'); list($opponent_mp_width, $opponent_mp_empty) = adr_make_bars($bat['battle_opponent_mp'], $bat['battle_opponent_mp_max'], '100'); ##=== END: Create bar widths ===## ###=== START: grab challenger & opponent infos ===### $monster_element_name = adr_get_element_infos($monster['monster_base_element']); $monster_alignment_name = !$monster['monster_base_alignment'] ? adr_get_alignment_infos(2) : adr_get_alignment_infos($monster['monster_base_alignment']); $challenger_element = adr_get_element_infos($challenger['character_element']); $challenger_alignment = adr_get_alignment_infos($challenger['character_alignment']); $challenger_class = adr_get_class_infos($challenger['character_class']); ###=== END: grab challenger & opponent infos ===### $template->assign_vars(array('ATTACK' => $weapon_list, 'SPELL' => $spell_list, 'POTION' => $potion_list, 'NAME' => $challenger['character_name'], 'AVATAR_IMG' => $avatar_img, 'MONSTER_NAME' => adr_get_lang($monster['monster_name']), 'MONSTER_IMG' => $monster['monster_img'], 'BATTLE_TEXT' => $bat['battle_text'], 'HP' => $challenger['character_hp'], 'HP_MAX' => $challenger['character_hp_max'], 'HP_WIDTH' => $challenger_hp_width, 'MP' => $challenger['character_mp'], 'MP_MAX' => $challenger['character_mp_max'], 'MP_WIDTH' => $challenger_mp_width, 'ATT' => $bat['battle_challenger_att'], 'DEF' => $bat['battle_challenger_def'], 'MONSTER_HP' => $bat['battle_opponent_hp'], 'MONSTER_HP_MAX' => $bat['battle_opponent_hp_max'], 'MONSTER_HP_WIDTH' => $opponent_hp_width, 'MONSTER_MP' => $bat['battle_opponent_mp'], 'MONSTER_MP_MAX' => $bat['battle_opponent_mp_max'], 'MONSTER_MP_WIDTH' => $opponent_mp_width, 'MONSTER_ATT' => $bat['battle_opponent_att'], 'MONSTER_DEF' => $bat['battle_opponent_def'], 'L_HP' => $lang['Adr_character_health'], 'L_MP' => $lang['Adr_character_magic'], 'L_ATT' => $lang['Adr_attack'], 'L_DEF' => $lang['Adr_defense'], 'L_ATTACK' => $lang['Adr_attack_opponent'], 'L_POTION' => $lang['Adr_potion_opponent'], 'L_DEFEND' => $lang['Adr_defend_opponent'], 'L_FLEE' => $lang['Adr_flee_opponent'], 'L_SPELL' => $lang['Adr_spell_opponent'], 'L_ACTIONS' => $lang['Adr_actions_opponent'], 'L_ATTRIBUTES' => $lang['Adr_battle_attributes'], 'L_PHY_ATT' => $lang['Adr_battle_phy_att'], 'L_PHY_DEF' => $lang['Adr_battle_phy_def'], 'L_MAG_ATT' => $lang['Adr_battle_mag_att'], 'L_MAG_DEF' => $lang['Adr_battle_mag_def'], 'L_ALIGNMENT' => $lang['Adr_battle_alignment'], 'L_ELEMENT' => $lang['Adr_battle_element'], 'L_CLASS' => $lang['Adr_battle_class'], 'ALIGNMENT' => adr_get_lang($challenger_alignment['alignment_name']), 'ELEMENT' => adr_get_lang($challenger_element['element_name']), 'CLASS' => adr_get_lang($challenger_class['class_name']), 'M_ATT' => $bat['battle_challenger_magic_attack'], 'M_DEF' => $bat['battle_challenger_magic_resistance'], 'MONSTER_M_ATT' => $bat['battle_opponent_magic_attack'], 'MONSTER_M_DEF' => $bat['battle_opponent_magic_resistance'], 'MONSTER_ALIGNMENT' => adr_get_lang($monster_alignment_name['alignment_name']), 'MONSTER_ELEMENT' => adr_get_lang($monster_element_name['element_name']), 'HP_EMPTY' => $challenger_hp_empty, 'MP_EMPTY' => $challenger_mp_empty, 'MONSTER_HP_EMPTY' => $opponent_hp_empty, 'MONSTER_MP_EMPTY' => $opponent_mp_empty, 'TAUNT_LIST' => $level_list, 'L_COMMS' => $lang['Adr_pvp_comms'], 'L_TYPE_HERE' => $lang['Adr_pvp_custom_taunt'], 'L_CUSTOM_SENTANCE' => $lang['Adr_pvp_taunt'], 'S_CHATBOX' => append_sid("adr_battle_chatbox.{$phpEx}?battle_id=" . $battle_id))); include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx; $template->pparse('body'); include $phpbb_root_path . 'includes/page_tail.' . $phpEx; ?>