function hero_levelUp($hero) { global $db; if ($hero['exp'] < $hero['lvlUp']) { return -12; } $maxHealPoints = eval("return " . hero_parseFormulas($GLOBALS['heroTypesList'][$hero['heroTypeID']]['maxHP_formula']) . ";"); $sql = $db->prepare("UPDATE " . HERO_TABLE . "\n SET lvl = lvl +1,\n tpFree = tpFree +1, \n maxHealPoints = :maxHealPoints\n WHERE playerID = :playerID"); $sql->bindValue('playerID', $hero['playerID'], PDO::PARAM_INT); $sql->bindValue('maxHealPoints', $maxHealPoints, PDO::PARAM_INT); if (!$sql->execute()) { return -12; } return 7; }
function hero_resetHeroesBugFix() { global $db; $sql = $db->prepare("SELECT * FROM " . HERO_TABLE); $sql->execute(); while ($hero = $sql->fetch(PDO::FETCH_ASSOC)) { // reset effects hero_removeHeroEffectsFromCave($hero['playerID']); // reset hero data hero_clearHeroEffectsAndSkills($hero['playerID']); //reset hero $healPoints = eval("return " . hero_parseFormulas($GLOBALS['heroTypesList'][$hero['heroTypeID']]['maxHP_formula']) . ";"); $sql = $db->prepare("UPDATE " . HERO_TABLE . " SET\n maxHpLvl = 0, maxHealPoints = :maxHealPoints,\n healPoints = :healpoints,\n regHpLvl = 0, regHP = 0,\n tpFree = 0, lvl = 0\n WHERE playerID = :playerID"); $sql->bindValue('playerID', $hero['playerID'], PDO::PARAM_INT); $sql->bindValue('maxHealPoints', $healPoints, PDO::PARAM_INT); $sql->bindValue('healpoints', floor($healPoints / 2), PDO::PARAM_INT); $sql->execute(); $sql->closeCursor(); } }