function adr_update_all_cache_infos() { global $db, $lang, $phpEx, $userdata, $phpbb_root_path, $table_prefix, $board_config; $cache_config = explode('-', $board_config['Adr_use_cache_system']); // Update cache files which are currently enabled if ($cache_config[0] == '1') { adr_update_alignment_infos(); } if ($cache_config[1] == '1') { adr_update_class_infos(); } if ($cache_config[2] == '1') { adr_update_general_config(); } if ($cache_config[3] == '1') { adr_update_element_infos(); } if ($cache_config[4] == '1') { adr_update_item_quality(); } if ($cache_config[5] == '1') { adr_update_item_type(); } if ($cache_config[6] == '1') { adr_update_posters_infos(); } if ($cache_config[7] == '1') { adr_update_race_infos(); } if ($cache_config[8] == '1') { adr_update_skills(); } if ($cache_config[9] == '1') { adr_update_monster_infos(); } // Update last update stamp $sql = "UPDATE " . ADR_GENERAL_TABLE . " SET config_value = " . time() . " WHERE config_name = 'Adr_cache_last_updated' "; if (!($result = $db->sql_query($sql))) { adr_previous(Adr_character_general_update_error, admin_adr_general, ''); } return; }
function adr_substract_sp($id, $sum, $direct, $nav) { global $lang, $phpEx, $userdata, $db; $id = intval($id); $sql = "SELECT character_sp FROM " . ADR_CHARACTERS_TABLE . "\n\t\tWHERE character_id = {$id} "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not check character SP', "", __LINE__, __FILE__, $sql); } $user_infos = $db->sql_fetchrow($result); $character_sp = $user_infos['character_sp']; $sum = intval($sum); if ($character_sp < $sum) { adr_previous(Adr_lack_sp, $direct, $nav); } else { $sql = "UPDATE " . ADR_CHARACTERS_TABLE . "\n\t\t\tSET character_sp = character_sp - {$sum}\n\t\t\tWHERE character_id = {$id} "; if (!$db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Could not update character SP', "", __LINE__, __FILE__, $sql); } } }
function adr_update_all_cache_infos() { global $db, $lang, $phpEx, $userdata, $phpbb_root_path, $table_prefix, $board_config; // Update cache files which are currently enabled // V: actually, cache everything LOLE adr_update_alignment_infos(); adr_update_class_infos(); adr_update_general_config(); adr_update_element_infos(); adr_update_item_quality(); adr_update_item_type(); adr_update_posters_infos(); adr_update_race_infos(); adr_update_skills(); adr_update_monster_infos(); // Update last update stamp $sql = "UPDATE " . ADR_GENERAL_TABLE . " SET config_value = " . time() . " WHERE config_name = 'Adr_cache_last_updated' "; if (!($result = $db->sql_query($sql))) { adr_previous(Adr_character_general_update_error, admin_adr_general, ''); } }
message_die(GENERAL_MESSAGE, $message); } else { if ($used_food[0] == 0) { adr_previous(Adr_food_used, adr_character_inventory, ''); } } break; case "use_potion": $potion_id = !empty($HTTP_POST_VARS['potion_id']) ? intval($HTTP_POST_VARS['potion_id']) : intval($HTTP_GET_VARS['potion_id']); $used_potion = adr_consume($potion_id, $user_id); if ($used_potion[0] == 1) { $direction = append_sid("adr_character_inventory.{$phpEx}"); $message .= $used_potion[1] . '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>"); message_die(GENERAL_MESSAGE, $message); } else { if ($used_potion[0] == 0) { adr_previous(Adr_potion_used, adr_character_inventory, ''); } } break; case "use_recipe": $recipe_id = !empty($HTTP_POST_VARS['recipe_id']) ? intval($HTTP_POST_VARS['recipe_id']) : intval($HTTP_GET_VARS['recipe_id']); $learn_recipe = adr_use_recipe($recipe_id, $user_id); if ($learn_recipe == 1) { adr_previous(Adr_recipe_successful_added, adr_character_inventory, ''); } else { if ($learn_recipe == 2) { adr_previous(Adr_recipe_was_delted, adr_character_inventory, ''); } else { if ($learn_recipe == 0) { adr_previous(Adr_recipe_already_known, adr_character_inventory, '');
message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']); } } else { $this_userdata = get_userdata($_POST['username'], true); if (!$this_userdata) { message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']); } } $searchid = $this_userdata['user_id']; $sql = "SELECT c.* , r.race_name , r.race_img , e.element_name , e.element_img , a.alignment_name , a.alignment_img , cl.class_name , cl.class_img , cl.class_update_xp_req\n\t\t\tFROM " . ADR_CHARACTERS_TABLE . " c , " . ADR_RACES_TABLE . " r , " . ADR_ELEMENTS_TABLE . " e , " . ADR_ALIGNMENTS_TABLE . " a , " . ADR_CLASSES_TABLE . " cl\n\t\t\tWHERE c.character_id= '{$searchid}'\n\t\t\tAND cl.class_id = c.character_class\n\t\t\tAND r.race_id = c.character_race\n\t\t\tAND e.element_id = c.character_element\n\t\t\tAND a.alignment_id = c.character_alignment "; if (!($result = $db->sql_query($sql))) { message_die(CRITICAL_ERROR, 'Error Getting Adr Users!'); } $row = $db->sql_fetchrow($result); if (!is_numeric($row['character_class'])) { adr_previous(Adr_admin_character_lack, admin_adr_users, ''); } $max_hp = $row['class_update_xp_req']; for ($p = 1; $p < $row['character_level']; $p++) { $max_hp = floor($max_hp * (($adr_general['next_level_penalty'] + 100) / 100)); } $class = adr_get_lang($row['class_name']); $race = adr_get_lang($row['race_name']); $element = adr_get_lang($row['element_name']); $alignment = adr_get_lang($row['alignment_name']); $message = $row['character_desc']; $message = str_replace('<', '<', $message); $message = str_replace('>', '>', $message); $message = str_replace('<br />', "\n", $message); $skills = adr_get_skill_data(''); // Generate the lists
$sql = "UPDATE " . CONFIG_TABLE . "\r\n\t\tSET config_value = '{$zone_picture_link_enable}'\r\n\t\tWHERE config_name = 'Adr_zone_picture_link' "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Could not update Dynamic Zone Town Maps setting.", '', __LINE__, __FILE__, $sql); } // update Dynamic Zone Town Maps World Map Zone $sql = "UPDATE " . CONFIG_TABLE . "\r\n\t\tSET config_value = '{$zone_worldmap_zone}'\r\n\t\tWHERE config_name = 'Adr_zone_worldmap_zone' "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Could not update Dynamic Zone Town Maps setting.", '', __LINE__, __FILE__, $sql); } // update Dynamic Zone Town Maps World Map Zone $sql = "UPDATE " . CONFIG_TABLE . "\r\n\t\tSET config_value = '{$zone_townmap_display_required}'\r\n\t\tWHERE config_name = 'Adr_zone_townmap_display_required' "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Could not update Dynamic Zone Town Maps setting.", '', __LINE__, __FILE__, $sql); } adr_update_general_config(); adr_previous(Adr_zone_general_change_successful, admin_adr_zone_general, ''); } $sql = "SELECT * FROM " . ADR_GENERAL_TABLE; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_MESSAGE, 'Unable to get ADR General Settings', "", __LINE__, __FILE__, $sql); } while ($row = $db->sql_fetchrow($result)) { $adr_general[$row['config_name']] = $row['config_value']; } $sql = "SELECT u.user_id , u.username , c.character_id FROM " . USERS_TABLE . " u\r\n\tLEFT JOIN " . ADR_CHARACTERS_TABLE . " c ON ( u.user_id = c.character_id AND c.character_class <> 0 )\r\n\tWHERE user_id > '1'\r\n\tORDER BY username "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not obtain characters list', "", __LINE__, __FILE__, $sql); } $chars = $db->sql_fetchrowset($result); $existing_pm_members = explode(',', $board_config['zone_cheat_member_pm']); $zone_cheat_member_pm_list = '<select name="zone_cheat_member_pm[] size="5" multiple>';
adr_previous(Adr_forge_lumberjack_tool_needed, adr_lumberjack, "mode=lumberjacking"); } else { //Tool gets used even if character doesn't find anything adr_use_item($tool, $user_id); $item = drop_gather_loot($actual_zone, $user_id, 'herbalism', 8); if (!$item) { include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx; $direction = append_sid("adr_lumberjack.{$phpEx}?mode=lumberjacking"); $message .= "Vous n'avez rien trouvé."; $message .= '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>"); message_die(GENERAL_MESSAGE, $message); } else { include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx; $message = $item . '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>"); message_die(GENERAL_MESSAGE, $message); } } break; } } else { $template->assign_block_vars('main', array()); } // Fix the values $InfoLumber = $HTTP_POST_VARS['InfoLumber']; if ($InfoLumber) { adr_previous(Adr_Lumber_Infos, adr_lumberjack, ''); } $template->assign_vars(array('L_CREATE_ITEM' => $lang['Adr_lumberjack_create'], 'L_LUMBERJACK' => $lang['Adr_forge_lumberjack'], 'L_GO_TO_LUMBER' => $lang['Adr_lumberjack_go_to'], 'L_LUMBERJACK_EXPLAIN_AREA' => $lang['Adr_lumberjack_explain'], 'U_CREATE_ITEM' => append_sid("adr_lumberjack.{$phpEx}?mode=create"), 'U_LUMBERJACK' => append_sid("adr_lumberjack.{$phpEx}?mode=lumberjacking"), 'S_FORGE_ACTION' => append_sid("adr_lumberjack.{$phpEx}"))); include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx; $template->pparse('body'); include $phpbb_root_path . 'includes/page_tail.' . $phpEx;
$quantity = $_POST['quantity'] ? intval($_POST['quantity']) : 1; $to_user_id = !empty($_POST['give_to']) ? $_POST['give_to'] : $_GET['give_to']; $sql = "SELECT * FROM " . ADR_SHOPS_SPELLS_TABLE . " \r\n\t\t\t\tWHERE spell_owner_id = 1 "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, $lang['Adr_shop_items_failure_deleted']); } $items = $db->sql_fetchrowset($result); while (list(, $item) = @each($items)) { if (isset($_POST[$item['spell_id']])) { $item_id = $item['spell_id']; for ($j = 0; $j < $quantity; $j++) { adr_spell_add_new($item_id, $to_user_id, 'admin_adr_give_users_spells'); } } } adr_previous(Adr_spells_give_spell_success, admin_adr_give_users_spells, ''); break; } } else { adr_template_file('admin/config_adr_give_user_spells_body.tpl'); $template->assign_block_vars('view_store', array()); if (isset($_GET['mode2']) || isset($_POST['mode2'])) { $mode2 = isset($_POST['mode2']) ? htmlspecialchars($_POST['mode2']) : htmlspecialchars($_GET['mode2']); } else { $mode2 = 'itemname'; } if (isset($_POST['order'])) { $sort_order = $_POST['order'] == 'ASC' ? 'ASC' : 'DESC'; } else { if (isset($_GET['order'])) { $sort_order = $_GET['order'] == 'ASC' ? 'ASC' : 'DESC';
} $message = $lang['Adr_vault_loan_ok'] . $loan_sum . ' ' . get_reward_name(); $message .= '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . append_sid("adr_vault.{$phpEx}") . "\">", "</a>"); message_die(GENERAL_MESSAGE, $message); } if ($loan_back) { $pay_off = $vault['loan_sum'] * (1 + $vault_general['loan_interests'] / 100); if ($pay_off > $userdata['user_points']) { adr_previous(Adr_vault_loan_lack_points, adr_vault, ''); } subtract_reward($user_id, $pay_off); $sql = "UPDATE " . ADR_VAULT_USERS_TABLE . "\n\t\tSET loan_sum = 0,\n\t\tloan_time = 0\n\t\tWHERE owner_id = {$user_id}"; if (!$db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Could not obtain accounts information', "", __LINE__, __FILE__, $sql); } adr_previous(Adr_vault_loan_pay_off_ok, adr_vault, ''); } $sql = "SELECT * FROM " . ADR_VAULT_USERS_TABLE; if (!($result = $db->sql_query($sql))) { message_die(CRITICAL_ERROR, 'Error Getting Vault Users!'); } $vault_stats = $db->sql_fetchrowset($result); $opened_accounts = 0; $total_deposit = 0; for ($i = 0; $i < count($vault_stats); $i++) { $opened_accounts = $opened_accounts + 1; $total_deposit = $total_deposit + $vault_stats[$i]['account_sum']; } $sql = "SELECT * FROM " . ADR_VAULT_USERS_TABLE . "\n\tWHERE owner_id = {$user_id} "; if (!($result = $db->sql_query($sql))) { message_die(CRITICAL_ERROR, 'Error Getting Vault Users!');
$InfoEntrepot = $HTTP_POST_VARS['InfoEntrepot']; if ($InfoEntrepot) { adr_previous("Adr_TownMap_Entrepot_Infos", "adr_zones", ''); } $InfoCombat = $HTTP_POST_VARS['InfoCombat']; if ($InfoCombat) { adr_previous("Adr_TownMap_Combat_Infos", "adr_zones", ''); } $InfoMine = $HTTP_POST_VARS['InfoMine']; if ($InfoMine) { adr_previous("Adr_TownMap_Mine_Infos", "adr_zones", ''); } $InfoEnchantement = $HTTP_POST_VARS['InfoEnchantement']; if ($InfoEnchantement) { adr_previous("Adr_TownMap_Enchantement_Infos", "adr_zones", ''); } $InfoClan = $HTTP_POST_VARS['InfoClan']; if ($InfoClan) { adr_previous("Adr_TownMap_Clan_Infos", "adr_zones", ''); } // V: Disable that french crap ... :p define('PAGE_DISABLED', true); if (PAGE_DISABLED && $userdata['user_level'] != ADMIN) { header('location:' . append_sid("adr_zones.{$phpEx}")); exit; } $template->assign_vars(array('ADMIN_ALERT' => PAGE_DISABLED, 'MUSIQUE' => $musique, 'SAISON' => $saison, 'L_TOWNMAP' => $lang['Adr_TownMap_name'], 'L_TOWNMAP_MONSTRE' => $lang['TownMap_Monstre'], 'L_TOWNMAP_TEMPLE' => $lang['TownMap_Temple'], 'L_TOWNMAP_FORGE' => $lang['TownMap_Forge'], 'L_TOWNMAP_PRISON' => $lang['TownMap_Prison'], 'L_TOWNMAP_BANQUE' => $lang['TownMap_Banque'], 'L_TOWNMAP_BOUTIQUE' => $lang['TownMap_Boutique'], 'L_TOWNMAP_MAISON' => $lang['TownMap_Maison'], 'L_TOWNMAP_ENTRAINEMENT' => $lang['TownMap_Entrainement'], 'L_TOWNMAP_ENTREPOT' => $lang['TownMap_Entrepot'], 'L_TOWNMAP_COMBAT' => $lang['TownMap_Combat'], 'L_TOWNMAP_MINE' => $lang['TownMap_Mine'], 'L_TOWNMAP_ENCHANTEMENT' => $lang['TownMap_Enchantement'], 'L_TOWNMAP_CLAN' => $lang['TownMap_Clan'], 'L_TOWNBOUTONINFO1' => $lang['Adr_TownMap_Bouton_Infos1'], 'L_TOWNBOUTONINFO2' => $lang['Adr_TownMap_Bouton_Infos2'], 'L_TOWNBOUTONINFO3' => $lang['Adr_TownMap_Bouton_Infos3'], 'L_TOWNBOUTONINFO4' => $lang['Adr_TownMap_Bouton_Infos4'], 'L_TOWNBOUTONINFO5' => $lang['Adr_TownMap_Bouton_Infos5'], 'L_TOWNBOUTONINFO6' => $lang['Adr_TownMap_Bouton_Infos6'], 'L_TOWNBOUTONINFO7' => $lang['Adr_TownMap_Bouton_Infos7'], 'L_TOWNBOUTONINFO8' => $lang['Adr_TownMap_Bouton_Infos8'], 'L_TOWNBOUTONINFO9' => $lang['Adr_TownMap_Bouton_Infos9'], 'L_TOWNBOUTONINFO10' => $lang['Adr_TownMap_Bouton_Infos10'], 'L_TOWNBOUTONINFO11' => $lang['Adr_TownMap_Bouton_Infos11'], 'L_TOWNBOUTONINFO12' => $lang['Adr_TownMap_Bouton_Infos12'], 'L_TEMPLEPRESENTATION' => $lang['Adr_TownMap_Temple_Presentation'], 'L_PRISONPRESENTATION' => $lang['Adr_TownMap_Prison_Presentation'], 'L_BANQUEPRESENTATION' => $lang['Adr_TownMap_Banque_Presentation'], 'L_MAISONPRESENTATION' => $lang['Adr_TownMap_Maison_Presentation'], 'L_FORGEPRESENTATION' => $lang['Adr_TownMap_Forge_Presentation'], 'L_BOUTIQUEPRESENTATION' => $lang['Adr_TownMap_Boutique_Presentation'], 'L_ENTRAINEMENTPRESENTATION' => $lang['Adr_TownMap_Entrainement_Presentation'], 'L_ENTREPOTPRESENTATION' => $lang['Adr_TownMap_Entrepot_Presentation'], 'L_COMBATPRESENTATION' => $lang['Adr_TownMap_Combat_Presentation'], 'L_MINEPRESENTATION' => $lang['Adr_TownMap_Mine_Presentation'], 'L_ENCHANTEMENTPRESENTATION' => $lang['Adr_TownMap_Enchantement_Presentation'], 'L_CLANPRESENTATION' => $lang['Adr_TownMap_Clan_Presentation'], 'L_COPYRIGHT' => $lang['TownMap_Copyright'], 'U_TOWNMAP_TEMPLE' => append_sid("adr_temple.{$phpEx}"), 'U_TOWNMAP_FORGE' => append_sid("adr_TownMap_forge.{$phpEx}"), 'U_TOWNMAP_PRISON' => append_sid("adr_TownMap_Prison.{$phpEx}"), 'U_TOWNMAP_BANQUE' => append_sid("adr_TownMap_Banque.{$phpEx}"), 'U_TOWNMAP_BOUTIQUE' => append_sid("adr_TownMap_Boutique.{$phpEx}"), 'U_TOWNMAP_MAISON' => append_sid("adr_TownMap_Maison.{$phpEx}"), 'U_TOWNMAP_ENTRAINEMENT' => append_sid("adr_TownMap_Entrainement.{$phpEx}"), 'U_TOWNMAP_ENTREPOT' => append_sid("adr_TownMap_Entrepot.{$phpEx}"), 'U_TOWNMAP_COMBAT' => append_sid("adr_battle.{$phpEx}"), 'U_TOWNMAP_MINE' => append_sid("adr_TownMap_mine.{$phpEx}"), 'U_TOWNMAP_ENCHANTEMENT' => append_sid("adr_TownMap_pierrerunique.{$phpEx}"), 'U_TOWNMAP_CLAN' => append_sid("adr_clans.{$phpEx}"), 'U_COPYRIGHT' => append_sid("TownMap_Copyright.{$phpEx}"), 'S_CHARACTER_ACTION' => append_sid("adr_TownMap.{$phpEx}"))); $template->pparse('body'); include $phpbb_root_path . 'includes/page_tail.' . $phpEx; ?>
include $phpbb_root_path . 'includes/page_header.' . $phpEx; include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx; $saison = 'Carte' . $board_config['adr_seasons']; // Deny access if the user is into a battle $sql = " SELECT * FROM " . ADR_BATTLE_LIST_TABLE . " \r\n\tWHERE battle_challenger_id = {$user_id}\r\n\tAND battle_result = 0\r\n\tAND battle_type = 1 "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $bat = $db->sql_fetchrow($result); if (is_numeric($bat['battle_id'])) { adr_previous(Adr_battle_progress, adr_battle, ''); } // Get the general config $adr_general = adr_get_general_config(); // Deny access if user is imprisioned if ($userdata['user_cell_time']) { adr_previous(Adr_shops_no_thief, adr_cell, ''); } // Get the user infos $adr_char = adr_get_user_infos($user_id); // Fix the values $InfoClan = $HTTP_POST_VARS['InfoClan']; if ($InfoClan) { adr_previous(Adr_TownMap_Clan_Infos, adr_TownMap_Clan, ''); } else { $template->assign_vars(array('SAISON' => $saison, 'L_TOWNMAP_CLAN' => $lang['TownMap_Clan'], 'L_CLAN' => $lang['TownMap_Clan_Lien'], 'L_FAQ' => $lang['TownMap_Clan_faq'], 'L_TOWNBOUTONINFO' => $lang['Adr_TownMap_Bouton_Infos'], 'L_TOWNBOUTONRETOUR' => $lang['Adr_TownMap_Bouton_Retour'], 'L_CLANPRESENTATION' => $lang['Adr_TownMap_Clan_Presentation'], 'L_CLANENTREE' => $lang['TownMap_Clan_Entree'], 'L_TOWNMAPCOPYRIGHT' => $lang['TownMap_Copyright'], 'L_COPYRIGHT' => $lang['Adr_copyright'], 'U_COPYRIGHT' => append_sid("adr_copyright.{$phpEx}"), 'U_TOWNBOUTONRETOUR' => append_sid("adr_zones.{$phpEx}"), 'U_TOWNMAP_CLAN' => append_sid("adr_clans.{$phpEx}"), 'U_CLAN' => append_sid("adr_clans.{$phpEx}"), 'U_FAQ' => append_sid("adr_character_faq.{$phpEx}"), 'U_TOWNMAPCOPYRIGHT' => append_sid("TownMap_Copyright.{$phpEx}"), 'S_CHARACTER_ACTION' => append_sid("adr_TownMap_Clan.{$phpEx}"))); } $template->pparse('body'); include $phpbb_root_path . 'includes/page_tail.' . $phpEx; ?>
} } } else { if ($attack) { // Define the weapon quality and power $weap = intval($_POST['item_weapon']); $power = 1; $quality = 0; if ($weap) { $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\t\t\tWHERE item_in_shop = '0'\n\t\t\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\t\t\tAND item_in_warehouse = '0'\n\t\t\t\t\tAND item_monster_thief = 0\n\t\t\t\t\tAND (item_bought_timestamp < '" . $battle_pvp['battle_start'] . "' OR item_bought_timestamp = '0')\n\t\t\t\t\t{$item_sql}\n\t\t\t\t\tAND item_id = '{$weap}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $item = $db->sql_fetchrow($result); if ($current_mp < $item['item_mp_use'] || $current_mp < '0') { adr_previous(Adr_battle_check, 'adr_battle', ''); } // Remove any MP costs if ($item['item_mp_use'] > '0') { $check_mp = $user_id === $battle_challenger_id ? 'battle_challenger_mp' : 'battle_opponent_mp'; $sql = "UPDATE " . ADR_BATTLE_PVP_TABLE . "\n\t\t\t\t\t\tSET {$check_mp} = ({$check_mp} - " . $item['item_mp_use'] . ")\n\t\t\t\t\t\tWHERE battle_id = '{$battle_id}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not update battle', '', __LINE__, __FILE__, $sql); } } // Define theses values according to the item type ( enchanted weapon are better than normal weapons ) $quality = $item['item_type_use'] == '6' ? $item['item_quality'] * 2 : $item['item_quality']; $power = $item['item_power'] + $item['item_add_power']; adr_use_item($weap, $user_id); } // Let's check if the attack succeeds
$final_req_list .= $final_req_list == '' ? $recipe_items_req_list[$a] . $amount : ":" . $recipe_items_req_list[$a] . $amount; } } //add potion $sql = "INSERT INTO " . ADR_SHOPS_ITEMS_TABLE . " \r\n\t\t\t\t( item_id , item_owner_id , item_type_use , item_name , item_desc , item_icon , item_price , item_quality , item_duration , item_duration_max , item_power , item_add_power , item_mp_use , item_weight , item_auth , item_max_skill, item_sell_back_percentage, item_steal_dc , item_store_id , item_element , item_element_str_dmg , item_element_same_dmg , item_element_weak_dmg, item_brewing_items_req, item_effect )\r\n\t\t\t\tVALUES ( {$item_id} , 1 , {$item_type} , '" . str_replace("\\'", "''", $item_name) . "', '" . str_replace("\\'", "''", $item_desc) . "' , '" . str_replace("\\'", "''", $item_icon) . "' , {$item_price} , {$item_quality} , {$item_duration} , {$item_duration_max} ,{$item_power} , {$item_add_power} , {$item_mp_use} , {$item_weight} , {$item_auth} , {$item_max_skill}, {$item_sell_back_percent}, {$item_steal_dc} , {$item_store} , {$item_element} , {$item_element_str} , {$item_element_same} , {$item_element_weak}, '" . $final_req_list . "', '" . $recipe_effects . "' )"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't insert new potion", "", __LINE__, __FILE__, $sql); } //add recipe $sql = "INSERT INTO " . ADR_SHOPS_ITEMS_TABLE . " \r\n\t\t\t\t( item_id , item_owner_id , item_type_use , item_name , item_desc , item_icon , item_price , item_quality , item_duration , item_duration_max , item_power , item_weight , item_auth , item_sell_back_percentage, item_steal_dc , item_store_id , item_brewing_recipe, item_brewing_items_req, item_effect, item_recipe_linked_item, item_original_recipe_id )\r\n\t\t\t\tVALUES ( {$recipe_id} , 1 , {$recipe_type} , '" . str_replace("\\'", "''", $recipe_name) . "', '" . str_replace("\\'", "''", $recipe_desc) . "' , '" . str_replace("\\'", "''", $recipe_img) . "' , {$recipe_price} , {$recipe_quality} , {$recipe_duration} , {$recipe_duration_max} ,{$recipe_power} , {$recipe_weight} , {$recipe_auth} , {$recipe_sell_back_percent}, {$recipe_steal_dc} , {$recipe_store}, 1, '" . $final_req_list . "', '" . $recipe_effects . "', {$item_id}, {$recipe_id} )"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't insert new recipe", "", __LINE__, __FILE__, $sql); } adr_previous(Adr_recipe_successful_added, admin_adr_brewing_recipes, ''); break; } } else { adr_template_file('admin/config_adr_brewing_recipes_list_body.tpl'); $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) { $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']); } else { $mode2 = 'name'; } if (isset($HTTP_POST_VARS['order'])) { $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC'; } else { if (isset($HTTP_GET_VARS['order'])) { $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
function adr_spell_check_components($spell_id, $user_id, $location) { global $db; $spell_id = intval($spell_id); $user_id = intval($user_id); $location = $location; //Get spell details $sql = "SELECT spell_id, spell_original_id, spell_owner_id FROM " . ADR_SHOPS_SPELLS_TABLE . "\r\n\t\tWHERE spell_id = {$spell_id}\r\n\t\tAND spell_owner_id = {$user_id}"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, 'Could not obtain owners spells information', "", __LINE__, __FILE__, $sql); } $spell_data = $db->sql_fetchrow($result); $spell_id = $spell_data['spell_original_id']; //Get original spell details $sql = "SELECT * FROM " . ADR_SHOPS_SPELLS_TABLE . "\r\n\t\tWHERE spell_id = '{$spell_id}'\r\n\t\tAND spell_owner_id = '1'"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, 'Could not obtain owners spells information', "", __LINE__, __FILE__, $sql); } $original_data = $db->sql_fetchrow($result); $items_req = explode(':', $original_data['spell_items_req']); for ($i = 0; $i < count($items_req); $i++) { $switch = !($i % 2) ? $check_item = 0 : ($check_item = 1); if ($check_item == 1) { //get item info $sql_info = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\t\tWHERE item_id = " . $items_req[$i - 1] . "\r\n\t\t\t\t\tAND item_owner_id = '1'"; $result_info = $db->sql_query($sql_info); if (!$result_info) { message_die(GENERAL_ERROR, 'Could not obtain items information', "", __LINE__, __FILE__, $sql_info); } $item_info = $db->sql_fetchrow($result_info); //check the amount in user inventory of each needed item $req_item_name = str_replace("'", "\\'", $item_info['item_name']); $sql = "SELECT count(*) AS total FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tWHERE item_owner_id = {$user_id}\r\n\t\t\t\tAND item_name = '" . $req_item_name . "'\r\n\t\t\t\tAND item_in_warehouse = 0\r\n\t\t\t\tAND item_in_shop = 0\r\n\t\t\t\tAND item_duration > 0\r\n\t\t\t\t"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, 'Could not obtain total amount of the needed item', "", __LINE__, __FILE__, $sql); } $total = $db->sql_fetchrow($result); if ($total['total'] < $items_req[$i]) { adr_previous(Adr_spells_missing_item, $location, ""); } } } for ($i = 0; $i < count($items_req); $i++) { $switch = !($i % 2) ? $check_item = 0 : ($check_item = 1); if ($check_item == 1) { //get item info $sql_info = "SELECT item_name, item_owner_id, item_id FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tWHERE item_id = " . $items_req[$i - 1] . "\r\n\t\t\t\tAND item_owner_id = '1'"; $result_info = $db->sql_query($sql_info); if (!$result_info) { message_die(GENERAL_ERROR, 'Could not obtain items information', "", __LINE__, __FILE__, $sql_info); } $item_info = $db->sql_fetchrow($result_info); $req_item_name = str_replace("'", "\\'", $item_info['item_name']); echo $rew_item_name . "<br>"; //delete item from inventory $sql = " DELETE FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tWHERE item_in_shop = 0\r\n\t\t\t\tAND item_in_warehouse = 0\r\n\t\t\t\tAND item_owner_id = {$user_id}\r\n\t\t\t\tAND item_name = '" . $req_item_name . "'\r\n\t\t\t\tLIMIT " . $items_req[$i] . "\r\n\t\t\t\t"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, 'Could not delete item', "", __LINE__, __FILE__, $sql); } } } }
define('IN_ADR_SHOPS', 1); if (!empty($setmodules)) { $filename = basename(__FILE__); $module['ADR Spells']['Spell Settings'] = $filename; return; } $phpbb_root_path = "./../"; require $phpbb_root_path . 'extension.inc'; require './pagestart.' . $phpEx; include_once $phpbb_root_path . 'adr/includes/adr_global.' . $phpEx; adr_template_file('admin/config_adr_spells_general_body.tpl'); $sql = "SELECT * FROM " . ADR_GENERAL_TABLE; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_MESSAGE, $lang['Adr_character_lack']); } while ($row = $db->sql_fetchrow($result)) { $adr_general[$row['config_name']] = $row['config_value']; } $submit = isset($_POST['submit']); if ($submit) { $pm = intval($_POST['pm']); // update pm $sql = "UPDATE " . ADR_GENERAL_TABLE . " \r\n\t\tSET config_value = '{$pm}' \r\n\t\tWHERE config_name = 'spell_enable_pm' "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Could not update pm.", '', __LINE__, __FILE__, $sql); } adr_previous(Adr_spells_general_change_successful, admin_adr_spells_settings, ''); } $template->assign_vars(array("SPELLS_PM_SEND" => $adr_general['spell_enable_pm'] == '1' ? 'CHECKED' : '', "SPELLS_NO_PM_SEND" => $adr_general['spell_enable_pm'] == '0' ? 'CHECKED' : '', "L_SPELLS_GENERAL_TITLE" => $lang['Adr_spells_general_title'], "L_SPELLS_GENERAL_EXPLAIN" => $lang['Adr_spells_general_explain'], "L_SPELLS_PM" => $lang['Adr_spells_pm'], "L_SPELLS_PM_EXPLAIN" => $lang['Adr_spells_pm_explain'], "L_YES" => $lang['Yes'], "L_NO" => $lang['No'], "L_SPELLS_SUBMIT" => $lang['Submit'], "S_SPELLS_ACTION" => append_sid("admin_adr_spells_settings.{$phpEx}"))); $template->pparse("body"); include_once './page_footer_admin.' . $phpEx;
} if ($total = $db->sql_fetchrow($result)) { $total_items = $total['total']; $pagination = generate_pagination("adr_shops.{$phpEx}?mode=view_store&mode2={$mode2}&order={$sort_order}&shop_id=" . $shop_id . "", $total_items, $board_config['topics_per_page'], $start) . ' '; } $template->assign_vars(array('ORDER_BY' => $order_by, 'ACTION_SELECT' => $action_select, 'SELECT_CAT' => $select_category, 'SELECT_QUANTITY' => $select_quantity, 'STORE_ID' => $shop_id, 'STORE_NAME' => $store_name, 'STORE_DESC' => $store_desc, 'SHOP_OWNER_ID' => $shop_owner_id, 'POINTS' => number_format(get_reward($user_id)), 'SHOW_LINK' => $show_link, 'L_POINTS' => $lang['Adr_my'] . get_reward_name(), 'L_SHOW_LINK' => $show_type, "L_SELECT_CAT" => $lang['Adr_items_select'], "L_SELECT_QUANTITY" => $lang['Adr_items_select_quantity'], "L_ITEM_NAME" => $lang['Adr_shops_categories_item_name'], "L_ITEM_DESC" => $lang['Adr_shops_categories_item_desc'], "L_ITEM_QUALITY" => $lang['Adr_items_quality'], "L_ITEM_POWER" => $lang['Adr_items_power'], "L_ITEM_WEIGHT" => $lang['Adr_character_weight'], "L_ITEM_DURATION" => $lang['Adr_items_duration'], "L_ACTION" => $lang['Adr_items_action'], "L_ITEM_IMG" => $lang['Adr_races_image'], "L_ITEM_PRICE" => $lang['Adr_items_price'], "L_ITEM_TYPE" => $lang['Adr_items_type_use'], "L_NO_ITEMS" => $lang['Adr_items_none'], 'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'], 'L_ORDER' => $lang['Order'], 'L_SORT' => $lang['Sort'], 'L_SUBMIT' => $lang['Submit'], 'S_MODE_SELECT' => $select_sort_mode, 'S_ORDER_SELECT' => $select_sort_order, 'PAGINATION' => $pagination, 'PAGE_NUMBER' => sprintf($lang['Page_of'], floor($start / $board_config['topics_per_page']) + 1, ceil($total_items / $board_config['topics_per_page'])), 'L_GOTO_PAGE' => $lang['Goto_page'], 'S_MODE_ACTION' => append_sid("adr_shops.{$phpEx}?mode=view_store&shop_id=" . $shop_id . ""))); break; case 'view_store_admin': $template->assign_block_vars('view_store', array()); if ($userdata['user_level'] != ADMIN) { // Send user PM notification... $member_id = 2; $subject = $lang['Adr_report_pm_sub']; $message = sprintf($lang['Adr_report_pm_msg'], $character_id); adr_send_pm($member_id, $subject, $message); adr_previous(Adr_admin_only_area, 'adr_shops', ''); } // Prevents blank page if (!$shop_id) { $shop_id = 1; } if ($shop_id == 1) { $template->assign_block_vars('view_store.forum_shops', array()); } if (isset($_GET['mode2']) || isset($_POST['mode2'])) { $mode2 = isset($_POST['mode2']) ? htmlspecialchars($_POST['mode2']) : htmlspecialchars($_GET['mode2']); } else { $mode2 = 'itemname'; } if (isset($_POST['order'])) { $sort_order = $_POST['order'] == 'ASC' ? 'ASC' : 'DESC';
function adr_battle_equip_initialise($user_id, $armor, $buckler, $helm, $gloves, $amulet, $ring) { global $db, $lang, $adr_general, $template, $board_config; $user_id = intval($user_id); $armor = intval($armor); $buckler = intval($buckler); $helm = intval($helm); $gloves = intval($gloves); $amulet = intval($amulet); $ring = intval($ring); // Get the user infos $char = adr_get_user_infos($user_id); ### START restriction checks ### $item_sql = adr_make_restrict_sql($char); ### END restriction checks ### // Be sure he has a character if (!is_numeric($char['character_id'])) { adr_previous(Adr_your_character_lack, adr_character, ''); } // Calculate the base stats $hp = 0; $mp = 0; $level = $char['character_level']; $char_element = $char['character_element']; $char_mp = $char['character_mp']; // Create base attack & defence stats $att = adr_battle_make_att($char['character_might'], $char['character_constitution']); $ma = adr_battle_make_magic_att($char['character_intelligence']); $def = adr_battle_make_def($char['character_ac'], $char['character_dexterity']); $md = adr_battle_make_magic_def($char['character_wisdom']); if ($armor) { $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$armor}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $item = $db->sql_fetchrow($result); $armor_id = $item['item_id']; $def = $def + ($item['item_power'] + $item['item_add_power']); adr_use_item($armor, $user_id); } if ($buckler) { $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$buckler}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $item = $db->sql_fetchrow($result); $buckler_id = $item['item_id']; $def = $def + ($item['item_power'] + $item['item_add_power']); adr_use_item($buckler, $user_id); } if ($gloves) { $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$gloves}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $item = $db->sql_fetchrow($result); $gloves_id = $item['item_id']; $def = $def + ($item['item_power'] + $item['item_add_power']); adr_use_item($gloves, $user_id); } if ($helm) { $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$helm}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $item = $db->sql_fetchrow($result); $helm_id = $item['item_id']; $def = $def + ($item['item_power'] + $item['item_add_power']); adr_use_item($helm, $user_id); } // Now we modify mp and hp regeneration with amulets and rings if ($amulet) { $sql = " SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$amulet}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $item = $db->sql_fetchrow($result); $amulet_id = $item['item_id']; $hp = $hp + $item['item_power']; adr_use_item($amulet, $user_id); } if ($ring) { $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$ring}'"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $item = $db->sql_fetchrow($result); $ring_id = $item['item_id']; $mp = $mp + $item['item_power']; adr_use_item($ring, $user_id); } ##=== START: new monster rand selection code as posted by Sederien ===## // Let's care about the opponent now $sql = " SELECT * FROM " . ADR_BATTLE_MONSTERS_TABLE . "\n\t\tWHERE monster_level <= '{$level}'\n\t\tORDER BY RAND() LIMIT 1"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query monsters list', '', __LINE__, __FILE__, $sql); } $monsters = $db->sql_fetchrow($result); // Be sure monsters of the user level exists if (!$monsters) { adr_previous(Adr_no_monsters, adr_character, ''); } // Get this monster base stats $monster_id = $monsters['monster_id']; $monster_level = $monsters['monster_level']; $monster_base_hp = $monsters['monster_base_hp']; $monster_base_att = $monsters['monster_base_att']; $monster_base_def = $monsters['monster_base_def']; $monster_base_element = $monsters['monster_base_element']; $monster_base_mp = $monsters['monster_base_mp']; $monster_base_mp_power = $monsters['monster_base_mp_power']; $monster_base_ma = $monsters['monster_base_magic_attack']; $monster_base_md = $monsters['monster_base_magic_resistance']; $monster_base_sp = $monsters['monster_base_sp']; ##=== END: new monster selection code by Sederien ===## // If the user is higher level than the monster , update the monster stats if ($monster_level < $level) { if ($adr_general['battle_calc_type']) { // Xanathis's alternative battle modifier calculation for monster battles $modifier = ($adr_general['battle_monster_stats_modifier'] - 100) / 100 * ($level - $monster_level) + 1; } else { $modifier = $adr_general['battle_monster_stats_modifier'] / 100 * ($level - $monster_level); } $monster_base_hp = ceil($monster_base_hp * $modifier); $monster_base_att = ceil($monster_base_att * $modifier); $monster_base_def = ceil($monster_base_def * $modifier); $monster_base_mp = ceil($monster_base_mp * $modifier); $monster_base_ma = ceil($monster_base_ma * $modifier); $monster_base_md = ceil($monster_base_md * $modifier); $monster_base_sp = ceil($monster_base_sp * $modifier); } ##=== START array for equipment id's ## $equip_array = intval($helm_id) . '-' . intval($armor_id) . '-' . intval($gloves_id) . '-' . intval($buckler_id) . '-' . intval($amulet_id) . '-' . intval($ring_id) . '-' . intval($hp) . '-' . intval($mp); ##=== END array for equipment id's ## ##=== START: Initiative Checks // 1d20 roll. Highest starts. $monster_dex = 10 + rand(1, $monster_level) * 2; //temp $challenger_init_check = rand(1, 20) + adr_modifier_calc($char['character_dexterity']); $monster_init_check = rand(1, 20) + adr_modifier_calc($monster_dex); // Check who will start ELSE do a rand to determine. if ($challenger_init_check >= $monster_init_check) { $turn = 1; } else { $turn = 2; } ##=== END: Initiative Checks // Finally insert all theses values into the database $sql = "INSERT INTO " . ADR_BATTLE_LIST_TABLE . "\n\t\t(battle_type, battle_start, battle_turn, battle_result, battle_text, battle_challenger_id, battle_challenger_hp, battle_challenger_mp, battle_challenger_att, battle_challenger_def, battle_challenger_element, battle_challenger_magic_attack, battle_challenger_magic_resistance, battle_challenger_equipment_info, battle_opponent_id, battle_opponent_hp, battle_opponent_hp_max, battle_opponent_mp, battle_opponent_mp_max, battle_opponent_mp_power, battle_opponent_att, battle_opponent_def, battle_opponent_element, battle_opponent_magic_attack, battle_opponent_magic_resistance, battle_opponent_sp)\n\t\tVALUES(1, " . time() . ", {$turn}, 0, '', {$user_id}, {$hp}, {$mp}, {$att}, {$def}, {$char_element}, {$ma}, {$md}, '{$equip_array}', {$monster_id}, {$monster_base_hp}, {$monster_base_hp}, {$monster_base_mp}, {$monster_base_mp}, {$monster_base_mp_power}, {$monster_base_att}, {$monster_base_def}, {$monster_base_element}, {$monster_base_ma}, {$monster_base_md}, {$monster_base_sp})"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't insert new battle", "", __LINE__, __FILE__, $sql); } return; }
switch ($mode) { case 'delete': // Define some values $items = isset($HTTP_POST_VARS['item_box']) ? $HTTP_POST_VARS['item_box'] : array(); $item_id_list .= '('; if (count($items) > 0) { for ($i = 0; $i < count($items); $i++) { $item_id_list .= $items[$i] . ','; } } $item_id_list .= '0)'; $sql = "DELETE FROM " . ADR_SHOPS_SPELLS_TABLE . "\r\n\t\t\t\tWHERE spell_owner_id = {$user_id} "; if (!$db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Could not obtain items information', "", __LINE__, __FILE__, $sql); } adr_previous(Adr_shop_items_successful_deleted, adr_character_inventory_spells, ''); break; case 'view_item': adr_template_file('adr_inventory_body_spells.tpl'); $template->assign_block_vars('view_item', array()); $item_owner_id = intval($HTTP_GET_VARS['item_owner_id']); $item_id = intval($HTTP_GET_VARS['item_id']); // All item info $sql = "SELECT i.* , t.item_type_lang , e.element_img FROM " . ADR_SHOPS_SPELLS_TABLE . " i\r\n\t\t\t\tLEFT JOIN " . ADR_SHOPS_ITEMS_TYPE_TABLE . " t ON ( i.item_type_use = t.item_type_id )\r\n\t\t\t\tLEFT JOIN " . ADR_ELEMENTS_TABLE . " e ON ( i.spell_element = e.element_id )\r\n\t\t\t\tWHERE i.spell_id = {$item_id}\r\n\t\t\t\tAND i.spell_owner_id = {$item_owner_id} "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql); } $row = $db->sql_fetchrow($result); $item_logo = $row['spell_icon']; if ($row['spell_icon'] != '') { $item_img = '<img src="adr/images/items/' . $item_logo . '">';
function adr_pet_magic() { global $monster, $bat, $adr_user, $opponent_element, $item, $db, $lang, $user_id, $power; global $challenger, $battle_message, $user_action, $monster_action, $attack_img, $attackwith_overlay; global $rabbit_user; if ($rabbit_user['creature_attack'] < 1 || $rabbit_user['creature_health'] < 1) { adr_previous(Adr_battle_pet_dead_or_limitattack, 'adr_battle', ''); } $pet_poison = '0'; $price_mp = rand($rabbit_general['mp_min'], $rabbit_general['mp_max']) * $rabbit_user['creature_level']; rabbit_check_mp($price_mp); $pet_dice = rand(0, 20); if ($rabbit_user['creature_statut'] == '0') { if ($pet_dice == '20') { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(2, 5) * 5; $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />'; } else { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8); $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />'; } } //$rabbit_user['creature_statut'] == '0' if ($rabbit_user['creature_statut'] == '1') { if ($pet_dice == '20') { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(5, 15); $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />'; } else { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(2, 5); $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />'; } } //$rabbit_user['creature_statut'] == '1' if ($rabbit_user['creature_statut'] == '2') { if ($pet_dice == '20') { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8); $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />'; } else { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level']; $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />'; } } //$rabbit_user['creature_statut'] == '2' if ($rabbit_user['creature_statut'] == '3') { if ($pet_dice == '20') { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(2, 5) * 5; $poison = rand(0, 5); $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />'; $battle_message .= sprintf($lang['Adr_battle_pet_poison'], intval($poison)) . '<br />'; } else { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8); $poison = rand(0, 3); $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />'; $battle_message .= sprintf($lang['Adr_battle_pet_poison'], intval($poison)) . '<br />'; } } //$rabbit_user['creature_statut'] == '3' if ($rabbit_user['creature_statut'] == '4') { if ($pet_dice == '20') { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8) * 6; $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />'; } else { $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(5, 10); $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />'; } } //$rabbit_user['creature_statut'] == '4' rabbit_pet_regen(); adr_use_hp_amulet(); adr_use_mp_ring(); $sql = "UPDATE " . RABBITOSHI_USERS_TABLE . "\n\t\tSET creature_health = creature_health - '{$poison}',\n\t\t creature_mp = creature_mp - '{$price_mp}',\n\t\t creature_magicattack = (creature_magicattack - 1)\n\t\tWHERE owner_id = {$user_id} "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not update pet info', '', __LINE__, __FILE__, $sql); } //!$result = $db->sql_query($sql) // Update the database $sql = "UPDATE " . ADR_BATTLE_LIST_TABLE . "\n\t\tSET battle_opponent_hp = battle_opponent_hp - '{$pet_damage}',\n\t\t battle_turn = 2 ,\n\t\t battle_challenger_dmg = '{$pet_damage}'\n\t\tWHERE battle_challenger_id = {$user_id}\n\t\tAND battle_result = 0\n\t\tAND battle_type = 1 "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not update battle', '', __LINE__, __FILE__, $sql); } //!($result = $db->sql_query($sql)) }
$template->assign_var('OUT_OF_ZONES', false); // Get Zone infos $area_id = $adr_user['character_area']; $zone = zone_get($area_id); // V: let's make sure nothing bad happened for some reason // i.e. somebody deleted the zone. // of course, it's still gonna fail its race's start zone got ERASED if (!$zone) { $sql = "SELECT race_zone_begin FROM " . ADR_RACES_TABLE . "\r\n\t\tWHERE race_id = " . $adr_user['character_race']; $result = $db->sql_query($sql); if (!($race = $db->sql_fetchrow($result))) { message_die(GENERAL_MESSAGE, 'Could not query race data'); } $sql = "UPDATE " . ADR_CHARACTERS_TABLE . "\r\n\t\tSET character_area = " . $race['race_zone_begin']; $db->sql_query($sql); adr_previous('ADR_MOVED_BACK_TO_SAFE_ZONE', 'adr_zones'); } $zone_name = $zone['zone_name']; $zone_img = $zone['zone_img']; $zone_desc = $zone['zone_desc']; $zone_element = $zone['zone_element']; $zone_shops = $zone['zone_shops']; $zone_forge = $zone['zone_forge']; $zone_mine = $zone['zone_mine']; $zone_enchant = $zone['zone_enchant']; $zone_temple = $zone['zone_temple']; $zone_prison = $zone['zone_prison']; $zone_bank = $zone['zone_bank']; // V: let's build actions stuff $has_actions = false; $extra_buildings = array('beggar', 'blacksmith', 'brewing', 'cooking', 'fish', 'herbal', 'hunting', 'jobs', 'lake', 'lumberjack', 'research', 'tailor');
} else { $book_zone = implode(',', $HTTP_POST_VARS['book_zone']); } $book_details = isset($HTTP_POST_VARS['book_details']) ? trim($HTTP_POST_VARS['book_details']) : trim($HTTP_GET_VARS['book_details']); $book_difficulty = intval($HTTP_POST_VARS['book_difficulty']); $book_false = intval($HTTP_POST_VARS['book_false']); $book_crafting = intval($HTTP_POST_VARS['book_crafting']); $book_id = $fields_data['book_id'] + 1; if ($book_name == '' || $book_details == '') { message_die(MESSAGE, $lang['Fields_empty']); } $sql = "INSERT INTO " . ADR_LIBRARY_TABLE . " \r\n\t\t\t\t( book_id , book_name , book_details , book_zone , book_difficulty , book_false , book_crafting )\r\n\t\t\t\tVALUES ( {$book_id},'" . str_replace("\\'", "''", $book_name) . "', '" . str_replace("\\'", "''", $book_details) . "' , '" . str_replace("\\'", "''", $book_zone) . "' , {$book_difficulty} , '{$book_false}' , '{$book_crafting}' )"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Couldn't insert new alignment", "", __LINE__, __FILE__, $sql); } adr_previous(Adr_library_successful_added, admin_adr_library, ''); break; } } else { adr_template_file('admin/config_adr_library_list_body.tpl'); $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) { $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']); } else { $mode2 = 'book_id'; } if (isset($HTTP_POST_VARS['order'])) { $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC'; } else { if (isset($HTTP_GET_VARS['order'])) { $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
$alignment_name = isset($_POST['alignment_name']) ? trim($_POST['alignment_name']) : trim($_GET['alignment_name']); $alignment_img = isset($_POST['alignment_img']) ? trim($_POST['alignment_img']) : trim($_GET['alignment_img']); $alignment_desc = isset($_POST['alignment_desc']) ? trim($_POST['alignment_desc']) : trim($_GET['alignment_desc']); $level = intval($_POST['level']); $alignment_id = $fields_data['alignment_id'] + 1; if ($alignment_name == '') { message_die(MESSAGE, $lang['Fields_empty']); } $sql = "INSERT INTO " . ADR_ALIGNMENTS_TABLE . " \n\t\t\t\t( alignment_id , alignment_name , alignment_desc , alignment_level , alignment_img )\n\t\t\t\tVALUES ( {$alignment_id},'" . str_replace("\\'", "''", $alignment_name) . "', '" . str_replace("\\'", "''", $alignment_desc) . "' , {$level} , '" . str_replace("\\'", "''", $alignment_img) . "' )"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't insert new alignment", "", __LINE__, __FILE__, $sql); } // Update cache adr_update_alignment_infos(); adr_previous(Adr_alignment_successful_added, admin_adr_alignments, ''); break; } } else { adr_template_file('admin/config_adr_alignments_list_body.tpl'); $sql = "SELECT *\n\t\tFROM " . ADR_ALIGNMENTS_TABLE; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, 'Could not obtain alignments information', "", __LINE__, __FILE__, $sql); } $alignments = $db->sql_fetchrowset($result); for ($i = 0; $i < count($alignments); $i++) { $row_class = !($i % 2) ? $theme['td_class1'] : $theme['td_class2']; $level[0] = $lang['Adr_races_level_all']; $level[1] = $lang['Adr_races_level_admin']; $level[2] = $lang['Adr_races_level_mod'];
if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql); } $row = $db->sql_fetchrow($result); // Get the "other" id $other_id = $row['battle_opponent_id'] != $user_id ? intval($row['battle_opponent_id']) : intval($row['battle_challenger_id']); $stopped_by = $row['battle_opponent_id'] != $user_id ? 6 : 5; $sql = " UPDATE " . ADR_CHARACTERS_TABLE . "\r\t\t\t\tSET character_victories = character_victories + 1\r\t\t\t\tWHERE character_id = {$other_id} "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not update character', '', __LINE__, __FILE__, $sql); } $sql = " UPDATE " . ADR_CHARACTERS_TABLE . "\r\t\t\t\tSET character_flees = character_flees + 1\r\t\t\t\tWHERE character_id = {$user_id} "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not update character', '', __LINE__, __FILE__, $sql); } $sql = " UPDATE " . ADR_BATTLE_PVP_TABLE . "\r\t\t\t\tSET battle_result = {$stopped_by}\r\t\t\t\tWHERE battle_id = {$battle_id}\r\t\t\t\tAND ( battle_opponent_id = {$user_id}\tOR battle_challenger_id = {$user_id} ) "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not delete defy', '', __LINE__, __FILE__, $sql); } $sql = " SELECT prefs_pvp_notif_pm FROM " . ADR_CHARACTERS_TABLE . "\r\t\t\t\tWHERE character_id = {$other_id} "; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't query preferences", "", __LINE__, __FILE__, $sql); } $opponent = $db->sql_fetchrow($result); $subject = $lang['Adr_pvp_stopped']; $message = sprintf($lang['Adr_pvp_stopped_by'], $adr_user['character_name']); if ($opponent['prefs_pvp_notif_pm']) { adr_send_pm($other_id, $subject, $message); } adr_previous(Adr_pvp_stop_ok, adr_character_pvp, "");
$result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, 'Could not obtain item information', "", __LINE__, __FILE__, $sql); } $del_item = $db->sql_fetchrow($result); $split_loottables = explode(':', $del_item['item_loottables']); foreach ($split_loottables as $value) { if ($value != $loottable_id) { $loottables_list .= $loottables_list == '' ? $value : ":" . $value; } } $sql = "UPDATE " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tSET item_loottables = '" . $loottables_list . "'\r\n\t\t\t\tWHERE item_id = " . $item_id . " \r\n\t\t\t\tAND item_owner_id = 1\r\n\t\t\t\t"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Couldn't update item", "", __LINE__, __FILE__, $sql); } adr_previous(Adr_loottable_cats_successful_item_deleted, admin_adr_loottables_cats, 'mode=view_loottable&loottable_id=' . $loottable_id . ''); break; } } else { adr_template_file('admin/config_adr_loottables_cats_list_body.tpl'); $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) { $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']); } else { $mode2 = 'loottablename'; } if (isset($HTTP_POST_VARS['order'])) { $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC'; } else { if (isset($HTTP_GET_VARS['order'])) { $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
$success = adr_use_skill_stone($user_id, $tool, $item_to_repair); if ($success == -1) { $message = $lang['Adr_forge_repair_failure_critical']; } else { if (!$success) { $message = $lang['Adr_forge_stone_failure']; } else { $message = sprintf($lang['Adr_forge_stone_success'], $success); } } $direction = append_sid("adr_TownMap_forge.{$phpEx}?mode=stone"); $message .= '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>"); message_die(GENERAL_MESSAGE, $message); break; case 'create': break; } } else { $template->assign_block_vars('main', array()); } // Fix the values $InfoForge = $HTTP_POST_VARS['InfoForge']; if ($InfoForge) { adr_previous(Adr_TownMap_Forge_Infos, adr_TownMap_forge, ''); } else { $template->assign_vars(array('SAISON' => $saison, 'L_TOWNMAP_FORGE' => $lang['TownMap_Forge'], 'L_TOWNBOUTONINFO' => $lang['Adr_TownMap_Bouton_Infos'], 'L_TOWNBOUTONRETOUR' => $lang['Adr_TownMap_Bouton_Retour'], 'L_FORGEPRESENTATION' => $lang['Adr_TownMap_Forge_Presentation'], 'L_FORGEENTREE' => $lang['TownMap_Forge_Entree'], 'L_REPAIR_ITEM' => $lang['Adr_forge_repair'], 'L_CREATE_ITEM' => $lang['Adr_forge_create'], 'L_STONE' => $lang['Adr_forge_stone'], 'L_COPYRIGHT' => $lang['Adr_copyright'], 'L_TOWNMAPCOPYRIGHT' => $lang['TownMap_Copyright'], 'U_TOWNBOUTONRETOUR' => append_sid("adr_zones.{$phpEx}"), 'U_TOWNMAP_FORGE' => append_sid("adr_TownMap_forge.{$phpEx}"), 'U_COPYRIGHT' => append_sid("adr_copyright.{$phpEx}"), 'U_TOWNMAPCOPYRIGHT' => append_sid("TownMap_Copyright.{$phpEx}"), 'U_REPAIR_ITEM' => append_sid("adr_TownMap_forge.{$phpEx}?mode=repair"), 'U_CREATE_ITEM' => append_sid("adr_TownMap_forge.{$phpEx}?mode=create"), 'U_STONE' => append_sid("adr_TownMap_forge.{$phpEx}?mode=stone"), 'S_FORGE_ACTION' => append_sid("adr_TownMap_forge.{$phpEx}"), 'S_CHARACTER_ACTION' => append_sid("adr_TownMap_forge.{$phpEx}"))); } $template->pparse('body'); include $phpbb_root_path . 'includes/page_tail.' . $phpEx; ?>
$oppose_weak_dmg = intval($_POST['oppose_weak_dmg']); $element_oppose_str = intval($_POST['element_str_list']); $element_oppose_weak = intval($_POST['element_weak_list']); $element_colour = $_POST['element_colour']; $element_id = $fields_data['element_id'] + 1; if ($element_name == '') { message_die(MESSAGE, $lang['Fields_empty']); } $sql = "INSERT INTO " . ADR_ELEMENTS_TABLE . " \n\t\t\t\t( element_id , element_name , element_desc , element_level , element_img , element_skill_mining_bonus , element_skill_stone_bonus , element_skill_forge_bonus , element_skill_enchantment_bonus , element_skill_trading_bonus , element_skill_thief_bonus , element_oppose_strong , element_oppose_strong_dmg , element_oppose_weak , element_oppose_weak_dmg , element_oppose_same_dmg, element_colour )\n\t\t\t\tVALUES ( {$element_id},'" . str_replace("\\'", "''", $element_name) . "', '" . str_replace("\\'", "''", $element_desc) . "' , {$level} , '" . str_replace("\\'", "''", $element_img) . "' , {$b_mining} , {$b_stone} , {$b_forge} ,{$b_enchant} , {$b_trading} ,{$b_thief} , {$element_oppose_str} , {$oppose_str_dmg} , {$element_oppose_weak} , {$oppose_weak_dmg} , {$oppose_same_dmg}, '{$element_colour}' )"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't insert new element", "", __LINE__, __FILE__, $sql); } // Update cache adr_update_element_infos(); adr_previous(Adr_element_successful_added, admin_adr_elements, ''); break; } } else { adr_template_file('admin/config_adr_elements_list_body.tpl'); $sql = "SELECT *\n\t\tFROM " . ADR_ELEMENTS_TABLE; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, 'Could not obtain elements information', "", __LINE__, __FILE__, $sql); } $elements = $db->sql_fetchrowset($result); for ($i = 0; $i < count($elements); $i++) { $row_class = !($i % 2) ? $theme['td_class1'] : $theme['td_class2']; $level[0] = $lang['Adr_races_level_all']; $level[1] = $lang['Adr_races_level_admin']; $level[2] = $lang['Adr_races_level_mod'];
$item_price = $adr_type_price; // Then apply the quality modifier $item_price = $item_price * ($adr_quality_price / 100); // And now the power - it's a little more complicated $item_price = $item_power > 1 ? $item_price + $item_price * (($item_power - 1) * ($adr_general['item_modifier_power'] - 100) / 100) : $item_price; // Apply the duration penalty $item_price = abs($item_price / ($item_duration_max / $item_duration)); // Finally let's use a non decimal value & add 10 % $item_price = ceil($item_price * 1.1); } $sql = "INSERT INTO " . ADR_BEGGAR_DONATIONS . "\r\n\t\t\t\t( item_id , item_owner_id , item_chance , item_type_use , item_name , item_desc , item_icon , item_price , item_quality , item_duration , item_duration_max , item_power , item_add_power , item_mp_use , item_weight , item_max_skill , item_element , item_element_str_dmg , item_element_same_dmg , item_element_weak_dmg )\r\n\t\t\t\tVALUES ( {$item_id} , 1 , {$item_chance} , {$item_type} , '" . str_replace("\\'", "''", $item_name) . "', '" . str_replace("\\'", "''", $item_desc) . "' , '" . str_replace("\\'", "''", $item_icon) . "' , {$item_price} , {$item_quality} , {$item_duration} , {$item_duration_max} , {$item_power} , {$item_add_power} , {$item_mp_use} , {$item_weight} , {$item_max_skill} , {$item_element} , {$item_element_str} , {$item_element_same} , {$item_element_weak} )"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't insert new item", "", __LINE__, __FILE__, $sql); } adr_previous(Adr_shops_items_successful_added, admin_adr_beggar_donations, ''); break; } } else { adr_template_file('admin/config_adr_beggar_donations_list_body.tpl'); $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) { $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']); } else { $mode2 = 'itemname'; } if (isset($HTTP_POST_VARS['order'])) { $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC'; } else { if (isset($HTTP_GET_VARS['order'])) { $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
$season[2] = $lang['Adr_Season_2']; $season[3] = $lang['Adr_Season_3']; $season[4] = $lang['Adr_Season_4']; $season_list = '<select name="season">'; for ($i = 1; $i < 5; $i++) { $selected = $i == $board_config['adr_seasons'] ? ' selected="selected"' : ''; $season_list .= '<option value = "' . $i . '" ' . $selected . ' >' . $season[$i] . '</option>'; } $season_list .= '</select>'; $submit = isset($HTTP_POST_VARS['submit']); if ($submit) { $new_season = trim(str_replace('"', '"', $HTTP_POST_VARS['season'])); $season_time = intval($HTTP_POST_VARS['season_time']) * 86400; // verify empty fields if ($season_time == '') { adr_previous(Adr_season_empty, admin_adr_seasons, ''); } // update season $sql = "UPDATE " . CONFIG_TABLE . " \r\n\t\tSET config_value = '{$new_season}' \r\n\t\tWHERE config_name = 'adr_seasons' "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Could not acces seasons table.", '', __LINE__, __FILE__, $sql); } $sql = "UPDATE " . CONFIG_TABLE . " \r\n\t\tSET config_value = '{$season_time}' \r\n\t\tWHERE config_name = 'adr_seasons_time' "; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, "Could not acces seasons table.", '', __LINE__, __FILE__, $sql); } adr_previous(Adr_season_change_successful, admin_adr_seasons, ''); } $template->assign_vars(array("SEASON_LIST" => $season_list, "SEASON_TIME" => floor($board_config['adr_seasons_time'] / 86400), "L_SEASONS_TITLE" => $lang['Adr_seasons_acp_title'], "L_SEASONS_EXPLAIN" => $lang['Adr_seasons_acp_explain'], "L_SEASONS_CONFIG" => $lang['Adr_seasons_acp_config'], "L_SEASON_CHOICE" => $lang['Adr_seasons_acp_choice'], "L_SEASON_TIME" => $lang['Adr_seasons_acp_time'], "L_SEASON_DAYS" => $lang['Adr_seasons_acp_days'], "L_SEASON_SUBMIT" => $lang['Adr_seasons_acp_submit'], "S_SEASON_ACTION" => append_sid("admin_adr_seasons.{$phpEx}"))); $template->pparse("body"); include_once './page_footer_admin.' . $phpEx;
function rabbit_check_mp($price_mp) { global $rabbit_user; if ($rabbit_user['creature_mp'] > $price_mp) { adr_previous('Adr_battle_pet_mp_lack', 'adr_battle', ''); } }
$loottables_list = ''; } elseif (in_array('0', $monster_loottables)) { $loottables_list = '0'; } else { sort($monster_loottables); $loottables_list = ''; for ($a = 0; $a < $selected_loottables; $a++) { $loottables_list .= $loottables_list == '' ? $monster_loottables[$a] : ":" . $monster_loottables[$a]; } } $monster_items = array(); $monster_items = $HTTP_POST_VARS['items']; $selected_items = count($monster_items); if ($selected_items == 0) { $items_list = ''; } elseif (in_array('0', $monster_items)) { $items_list = '0'; } else { sort($monster_items); $items_list = ''; for ($a = 0; $a < $selected_items; $a++) { $items_list .= $items_list == '' ? $monster_items[$a] : ":" . $monster_items[$a]; } } $sql = "INSERT INTO " . ADR_BATTLE_MONSTERS_TABLE . " \r\t\t\t\t( monster_id , monster_name , monster_img , monster_level , monster_base_hp , monster_base_def , monster_base_att , monster_base_element , monster_base_mp , monster_base_mp_power , monster_base_magic_attack , monster_base_magic_resistance , monster_base_sp , monster_base_custom_spell , monster_thief_skill, monster_season , monster_weather , monster_message_enable , monster_message, monster_possible_drop, monster_guranteened_drop, monster_loottables, monster_specific_drop, monster_regeneration , monster_mp_regeneration , monster_base_mp_drain , monster_base_mp_transfer , monster_base_hp_drain , monster_base_hp_transfer, monster_time )\r\t\t\t\tVALUES ( {$monster_id} , '" . str_replace("\\'", "''", $monster_name) . "', '" . str_replace("\\'", "''", $monster_img) . "' , {$level} , {$hp} , {$def} , {$att} , {$element} , {$mp} , {$mp_power} , {$ma} , {$md} , {$sp} , '" . str_replace("\\'", "''", $custom_spell) . "' , {$thief_skill}, {$season} , {$weather} , {$message_enable} , '" . str_replace("\\'", "''", $message) . "' , {$possible_drop}, {$guranteened_drop}, '" . $loottables_list . "', '" . $items_list . "', {$regeneration} , {$mp_regeneration} , {$mp_drain} , {$mp_transfer} , {$hp_drain} , {$hp_transfer}, {$time})"; $result = $db->sql_query($sql); if (!$result) { message_die(GENERAL_ERROR, "Couldn't insert new monster", "", __LINE__, __FILE__, $sql); } adr_previous(Adr_monster_successful_added, admin_adr_monsters, ''); break;