function hero_killHero($playerID) { global $db; $hero = getHeroByPlayer($playerID); // reset hero $sql = $db->prepare("UPDATE " . HERO_TABLE . "\n SET isAlive = 0, \n caveID = 0, \n healPoints = 0, \n isMoving = 0 \n WHERE playerID = :playerID"); $sql->bindValue('playerID', $playerID, PDO::PARAM_INT); $sql->execute(); // cancel all events $sql = $db->prepare("DELETE FROM " . EVENT_HERO_TABLE . " WHERE heroID = :heroID"); $sql->bindValue('heroID', $hero['heroID'], PDO::PARAM_INT); $return = $sql->execute(); // remove effects from cave $return = hero_removeHeroEffectsFromCave($playerID) && $return; return $return; }
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(); } }