<?php //Si le joueur est dans une ville, on regarde si il est actuellement en combat if (verif_battle()) { if (request_confirm('End_Invocations')) { $Invocation_Choice = request_post('Invocation'); $MP_Choice = request_post('MP_Choice'); if (user_data('Account_MP_Remaining') >= $MP_Choice) { $Invocation = get_db("edit_admin", array('table' => 'Caranille_Invocations', 'ID' => 'Invocation_Name', 'value' => $Invocation_Choice)); $Invocation_Damage = $Invocation['Invocation_Damage']; $Total_Damage_Monster = getMonsterDamage(); // non utilisé ??? //$Monster_MIN_Defense = htmlspecialchars(addslashes($_SESSION['Monster_Defense'])) / $bonus_malus_battle; //$Monster_MAX_Defense = htmlspecialchars(addslashes($_SESSION['Monster_Defense'])) * $bonus_malus_battle; $Invocation_Total_Damage = htmlspecialchars(addslashes($Invocation_Damage)) * htmlspecialchars(addslashes($MP_Choice)); $_SESSION['Monster_HP'] = monster_data('HP') - htmlspecialchars(addslashes($Invocation_Total_Damage)); $message = "{$Invocation_Choice} a infligé {$Invocation_Total_Damage} HP de dégat au " . monster_data('Name') . "<br /><br />"; $message .= "Le " . monster_data('Name') . " vous a infligé {$Total_Damage_Monster} HP de dégat<br /><br />"; add_diary($message); } else { $message = 'Vous n\'avez pas assez de MP'; } $roaster_action = true; /** echo $message ; echo '<form method="POST" action="'.get_link('Battle','Game').'">'; echo '<input type="submit" name="Continue" value="continuer">'; echo '</form>'; **/ } }
$full_life = perso_data('HP_Total'); $end_battle = true; $return = get_link("Main", "Public"); // echec dans un donjon ou une mission, on l'emmene à l'hopital..... if ($_SESSION['Dungeon_Battle'] == 1 || $_SESSION['Mission_Battle'] == 1) { $Town_Price_INN = htmlspecialchars(addslashes($information_Town['Town_Price_INN'])); user_set('Account_Golds', user_data('Account_Golds') - $Town_Price_INN); $HP_recup = $full_life; } if ($_SESSION['Arena_Battle'] == 1) { $message = "Vous avez perdu le combat"; $message .= "Votre défaite dans l'arène vous fait perdre 1 points de notorieté<br />"; $HP_recup = $full_life * ($percent_life_restore_arena / 100); debug_log("HP_recup::{$HP_recup} = {$full_life}*({$percent_life_restore_chapter}/100)<br/>"); user_set('Account_Notoriety', user_data('Account_Notoriety') - 1); $Player_ID = monster_data('ID'); exec_db("UPDATE Caranille_Accounts SET Account_Notoriety= Account_Notoriety + 1 WHERE Account_ID= {$Player_ID}"); } if ($_SESSION['Dungeon_Battle'] == 1) { $Town_Price_INN = htmlspecialchars(addslashes($information_Town['Town_Price_INN'])); $message = 'Vous êtes morts...<br />Vous avez été emmené d\'urgence à l\'auberge et les soins vous ont été facturé ' . $Town_Price_INN . ' Pièce d\'or<br />'; $HP_recup = $full_life; } if ($_SESSION['Chapter_Battle'] == 1) { $HP_recup = $full_life * ($percent_life_restore_chapter / 100); debug_log("HP_recup::{$HP_recup} = {$full_life}*({$percent_life_restore_chapter}/100)"); $_final .= $Chapter_Level['Chapter_Defeate']; } if ($_SESSION['Mission_Battle'] == 1) { $Town_Price_INN = htmlspecialchars(addslashes($information_Town['Town_Price_INN'])); $_final .= $Mission['Mission_Defeate'];
<?php //Si le joueur est dans une ville, on regarde si il est actuellement en combat if (verif_battle()) { if (request_confirm('Attack')) { $MIN_Strength = perso_data('Strength_Total') / $bonus_malus_battle; $MAX_Strength = perso_data('Strength_Total') * $bonus_malus_battle; $Positive_Damage_Player = mt_rand($MIN_Strength, $MAX_Strength); $Negative_Damage_Player = getMonsterDefense(); //mt_rand($Monster_MIN_Defense, $Monster_MAX_Defense); $Total_Damage_Player = htmlspecialchars(addslashes($Positive_Damage_Player)) - htmlspecialchars(addslashes($Negative_Damage_Player)); //Si les dégats du joueurs ou du monstre sont égal ou inférieur à zero if ($Total_Damage_Player <= 0) { $Total_Damage_Player = 0; } $_SESSION['Monster_HP'] = monster_data('HP') - htmlspecialchars(addslashes($Total_Damage_Player)); $Total_Damage_Monster = getMonsterDamage(); $message = "Votre attaque a infligé " . $Total_Damage_Player . "HP de dégat au " . monster_data('Name') . "<br /><br />"; $message .= "Le " . monster_data('Name') . " vous a infligé " . $Total_Damage_Monster . "HP de dégat" . "<br /><br />"; add_diary($message); $roaster_action = true; } }
<?php if ($roaster_action && $_SESSION['Arena_Battle'] !== 1) { if (has_roaster()) { $recrus = get_roaster(); if (!empty($recrus)) { $ct_recrus = count($recrus); foreach ($recrus as $Account) { $Strength_Total = $Account['Level_Strength'] + $Account['Account_Strength_Bonus'] + $roaster_max_bonus; $MIN_Strength = $Strength_Total / $bonus_malus_battle; $MAX_Strength = $Strength_Total * $bonus_malus_battle; $Positive_Damage_Player = mt_rand($MIN_Strength, $MAX_Strength); $Negative_Damage_Player = getMonsterDefense(); //mt_rand($Monster_MIN_Defense, $Monster_MAX_Defense); $Total_Damage_Player = htmlspecialchars(addslashes($Positive_Damage_Player)) - htmlspecialchars(addslashes($Negative_Damage_Player)); //Si les dégats du joueurs ou du monstre sont égal ou inférieur à zero if ($Total_Damage_Player <= 0) { $Total_Damage_Player = 0; } $_SESSION['Monster_HP'] = monster_data('HP') - htmlspecialchars(addslashes($Total_Damage_Player)); //$Total_Damage_Monster = getMonsterDamage(); $message .= "l'attaque de " . $Account['Account_Pseudo'] . " a infligé " . $Total_Damage_Player . "HP de dégat au " . monster_data('Name') . "<br /><br />"; //$message .= "Le ".monster_data('Name')." vous a infligé ".$Total_Damage_Monster."HP de dégat"; //add_diary($message); } } } }
} if ($_SESSION['Arena_Battle'] == 0) { echo "<img title='" . monster_data('Image_Name') . "' height='50px' src='data:" . monster_data('Image_Type') . ";base64," . monster_data('Image_Base64') . "' /><br/>"; } if ($_SESSION['Arena_Battle'] == 1) { get_arena_ocedar(); } if (request_confirm('Continue')) { if ($end_battle) { echo $_final; close_battle(); } else { //Si la HP du monstre est supérieur à 0 et que la HP du personnage est supérieur à zero le combat commence ou continue if (monster_data('HP') > 0 && user_data('Account_HP_Remaining') > 0) { echo "Combat de " . monster_data('Name') . " Contre " . user_data('Account_Pseudo') . "<br /><br />"; echo "HP de " . monster_data('Name') . " " . monster_data('HP') . " HP<br />"; echo "Vos HP: " . user_data('Account_HP_Remaining') . " HP<br /><br />"; echo '<form method="POST" action="' . get_link('Battle', 'Game') . '">'; echo '<input type="submit" name="Attack" value="Attaquer"/><br />'; echo '<input type="submit" name="Magics" value="Magies"/><br />'; echo '<input type="submit" name="Invocations" value="Invocation"/><br />'; echo '<input type="submit" name="Items" value="Objets"/><br />'; echo '<input type="submit" name="Escape" value="fuir"/><br />'; echo '</form>'; } } } else { //Si l'utilisateur à choisit la fuite if (request_confirm('Escape')) { echo $message . '<br />'; echo '<form method="POST" action="' . get_link("Main", "Public") . '">';
<?php if (verif_battle()) { if (request_confirm('Continue')) { if (has_roaster()) { if (monster_data('HP') <= 0) { if ($_SESSION['Arena_Battle'] !== 1) { $recrus = get_roaster(); if (!empty($recrus)) { foreach ($recrus as $Account) { $new_expe = $Account['Account_Experience'] + monster_data('Experience'); $new_gold = $Account['Account_Golds'] + monster_data('Golds'); update_db('Caranille_Accounts', array('Account_Experience' => $new_expe, 'Account_Golds' => $new_gold, 'Account_ID' => $Account['Account_ID'])); $diary_message = "Vous avez remporté le combat !!!<br />"; $diary_message .= "Pièces d'or (PO) + " . monster_data('Golds') . " <br />"; $diary_message .= "Experience (XP) + " . monster_data('Experience') . " <br />"; add_diary($diary_message, $Account['Account_ID']); } } } } } } }
/** return les degats causé par le joueur dans un tour **/ function getPlayerDamage() { if (request_confirm('Attack')) { $MIN_Strength = perso_data('Strength_Total') / $bonus_malus_battle; $MAX_Strength = perso_data('Strength_Total') * $bonus_malus_battle; $Positive_Damage_Player = mt_rand($MIN_Strength, $MAX_Strength); $Negative_Damage_Player = getMonsterDefense(); //mt_rand($Monster_MIN_Defense, $Monster_MAX_Defense); $Total_Damage_Player = htmlspecialchars(addslashes($Positive_Damage_Player)) - htmlspecialchars(addslashes($Negative_Damage_Player)); //Si les dégats du joueurs ou du monstre sont égal ou inférieur à zero if ($Total_Damage_Player <= 0) { $Total_Damage_Player = 0; } $_SESSION['Monster_HP'] = monster_data('HP') - htmlspecialchars(addslashes($Total_Damage_Player)); } if (request_confirm('End_Invocations')) { $Invocation_Choice = htmlspecialchars(addslashes($_POST['Invocation'])); $MP_Choice = htmlspecialchars(addslashes($_POST['MP_Choice'])); if ($_SESSION['MP'] >= $MP_Choice) { $Invocation = get_db("edit_admin", array('table' => 'Caranille_Invocations', 'ID' => 'Invocation_Name', 'value' => $Invocation_Choice)); $Invocation_Damage = $Invocation['Invocation_Damage']; // non utilisé ??? //$Monster_MIN_Defense = htmlspecialchars(addslashes($_SESSION['Monster_Defense'])) / $bonus_malus_battle; //$Monster_MAX_Defense = htmlspecialchars(addslashes($_SESSION['Monster_Defense'])) * $bonus_malus_battle; $Invocation_Total_Damage = htmlspecialchars(addslashes($Invocation_Damage)) * htmlspecialchars(addslashes($MP_Choice)); $_SESSION['Monster_HP'] = monster_data('HP') - htmlspecialchars(addslashes($Invocation_Total_Damage)); } else { $message = 'Vous n\'avez pas assez de MP'; } } }