function cave_giveUpCave($caveID, $playerID, $tribeID) { global $db; $sql = $db->prepare("UPDATE " . CAVE_TABLE . "\n SET playerID = 0,\n takeoverable = 0,\n protection_end = NOW()+0,\n secureCave = 0\n WHERE playerID = :playerID\n AND caveID = :caveID\n AND starting_position = 0"); $sql->bindValue('playerID', $playerID, PDO::PARAM_INT); $sql->bindValue('caveID', $caveID, PDO::PARAM_INT); if (!$sql->execute() || $sql->rowCount() == 0) { return false; } $sql = $db->prepare("UPDATE " . CAVE_TABLE . " c\n SET name = (SELECT name FROM " . CAVE_ORGINAL_NAME_TABLE . " co WHERE co.caveID = :caveID)\n WHERE c.caveID = :caveID"); $sql->bindValue('caveID', $caveID, PDO::PARAM_INT); $sql->execute(); @unlink("/var/www/speed/images/temp/{$caveID}.png"); // delete all scheduled Events // Event_movement - will only be deleted, when a new player gets that cave // Event_artefact - can't be deleted, as it would result in serious errors // Event_wonder - FIX ME: don't know $db->query("DELETE FROM " . EVENT_DEFENSE_SYSTEM_TABLE . " WHERE caveID = '{$caveID}'"); $db->query("DELETE FROM " . EVENT_EXPANSION_TABLE . " WHERE caveID = '{$caveID}'"); $db->query("DELETE FROM " . EVENT_SCIENCE_TABLE . " WHERE caveID = '{$caveID}'"); $db->query("DELETE FROM " . EVENT_UNIT_TABLE . " WHERE caveID = '{$caveID}'"); $db->query("DELETE FROM " . EVENT_HERO_TABLE . " WHERE caveID = '{$caveID}'"); if ($tribeID != 0) { $ownRelations = TribeRelation::getRelations($tribeID); foreach ($ownRelations['own'] as $actRelation) { $ownType = $actRelation['relationType']; if ($GLOBALS['relationList'][$ownType]['isPrepareForWar'] || $GLOBALS['relationList'][$ownType]['isWar']) { $newfame = $actRelation['fame'] - NONSECURE_CAVE_VAlUE * NONSECURE_CAVE_GIVEUP_FAKTOR; $sql = $db->prepare("UPDATE " . RELATION_TABLE . "\n SET fame = :newfame\n WHERE tribeID = :actTribeRelation\n AND tribeID_target = :actTargetRelation"); $sql->bindValue('newfame', $newfame, PDO::PARAM_INT); $sql->bindValue('actTribeRelation', $actRelation['tribeID'], PDO::PARAM_INT); $sql->bindValue('actTargetRelation', $actRelation['tribeID_target'], PDO::PARAM_INT); $sql->execute(); } } } // delete hero $caveData = getCaveByID($caveID); if ($caveData['hero'] != 0) { hero_killHero($playerID); } return 1; }
} else { echo "SUCCESS\n"; } } echo "DELETE PLAYER {$playerID}: Delete messages "; $sql1 = $db_game->prepare("UPDATE " . MESSAGE_TABLE . "\n SET recipientDeleted = 1 \n WHERE recipientID = :playerID"); $sql1->bindValue('playerID', $playerID, PDO::PARAM_INT); $sql2 = $db_game->prepare("UPDATE " . MESSAGE_TABLE . "\n SET senderDeleted = 1 \n WHERE senderID = :playerID"); $sql2->bindValue('playerID', $playerID, PDO::PARAM_INT); if (!$sql1->execute() || !$sql2->execute()) { echo "FAILURE\n"; } else { echo "SUCCESS\n"; } echo "DELETE PLAYER {$playerID}: Delete hero"; if (!hero_killHero($playerID)) { echo "FAILURE hero_killHero"; } $sql = $db_game->prepare("DELETE FROM " . HERO_TABLE . "\n WHERE playerID = :playerID"); $sql->bindValue('playerID', $playerID, PDO::PARAM_INT); if (!$sql->execute()) { echo "FAILURE\n"; } else { echo "SUCCESS\n"; } echo "DELETE PLAYER {$playerID}: Delete Session "; $sql = $db_game->prepare("DELETE FROM " . SESSION_TABLE . " WHERE playerID = :playerID"); $sql->bindValue('playerID', $playerID, PDO::PARAM_INT); if (!$sql->execute()) { echo "FAILURE\n"; } else {