示例#1
0
文件: hero.inc.php 项目: norter/Game
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;
}
示例#2
0
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();
    }
}