public static function kill(\PDO $pdo_db, int $ship_id, array $langvars, Reg $tkireg, bool $remove_planets = false) { $sql = "UPDATE ::prefix::ships SET ship_destroyed='Y', on_planet='N', sector=0, cleared_defenses=' ' WHERE ship_id=:ship_id"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':ship_id', $ship_id); $stmt->execute(); $sql = "DELETE FROM ::prefix::bounty WHERE placed_by = :placed_by"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':placed_by', $ship_id); $stmt->execute(); if ($remove_planets === true && $ship_id > 0) { $sql = "DELETE FROM ::prefix::planets WHERE owner=:owner"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':owner', $ship_id); $stmt->execute(); } else { $sql = "UPDATE ::prefix::planets SET owner=0, team=0, fighters=0, base='N' WHERE owner=:owner"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':owner', $ship_id); $stmt->execute(); } $sql = "SELECT DISTINCT sector_id FROM ::prefix::planets WHERE owner=:owner AND base='Y'"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':owner', $ship_id); $stmt->execute(); $sectors_owned = $stmt->fetchAll(\PDO::FETCH_ASSOC); if ($sectors_owned !== null) { foreach ($sectors_owned as $tmp_sector) { Ownership::calc($pdo_db, $tmp_sector, $tkireg->min_bases_to_own, $langvars); } } $sql = "DELETE FROM ::prefix::sector_defense WHERE ship_id=:ship_id"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':owner', $ship_id); $stmt->execute(); $sql = "SELECT zone_id FROM ::prefix::zones WHERE team_zone='N' AND owner=:owner"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':owner', $ship_id); $stmt->execute(); $zone = $stmt->fetch(\PDO::FETCH_ASSOC); $sql = "UPDATE ::prefix::universe SET zone_id=1 WHERE zone_id=:zone_id"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':zone_id', $zone['zone_id']); $stmt->execute(); $sql = "SELECT character_name FROM ::prefix::ships WHERE ship_id=:ship_id"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':owner', $ship_id); $stmt->execute(); $name = $stmt->fetch(\PDO::FETCH_ASSOC); $headline = $name['character_name'] . ' ' . $langvars['l_killheadline']; $newstext = str_replace('[name]', $name['character_name'], $langvars['l_news_killed']); $sql = "INSERT INTO ::prefix::news (headline, newstext, user_id, date, news_type) VALUES (:headline,:newstext,:user_id,NOW(), 'killed')"; $stmt = $pdo_db->prepare($sql); $stmt->bindParam(':headline', $headline); $stmt->bindParam(':newstext', $newstext); $stmt->bindParam(':user_id', $ship_id); $stmt->execute(); }