function ReturnEvent() { $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']); $Message = sprintf($LNG['sys_stat_mess'], GetStartAddressLink($this->_fleet, ''), pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901], pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902], pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]); PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 4, $LNG['sys_mess_fleetback'], $Message, $this->_fleet['fleet_end_time'], NULL, 1, $this->_fleet['fleet_universe']); $this->RestoreFleet(); }
function ReturnEvent() { $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']); $sql = 'SELECT name FROM %%PLANETS%% WHERE id = :planetId;'; $planetName = Database::get()->selectSingle($sql, array(':planetId' => $this->_fleet['fleet_start_id']), 'name'); $Message = sprintf($LNG['sys_tran_mess_back'], $planetName, GetStartAddressLink($this->_fleet, '')); PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 4, $LNG['sys_mess_fleetback'], $Message, $this->_fleet['fleet_end_time'], NULL, 1, $this->_fleet['fleet_universe']); $this->RestoreFleet(); }
public function getEventData($fleetRow, $Status) { global $LNG; $Owner = $fleetRow['fleet_owner'] == $this->userId; $FleetStyle = array(1 => 'attack', 2 => 'federation', 3 => 'transport', 4 => 'deploy', 5 => 'hold', 6 => 'espionage', 7 => 'colony', 8 => 'harvest', 9 => 'destroy', 10 => 'missile', 11 => 'transport', 15 => 'transport'); $GoodMissions = array(3, 5); $MissionType = $fleetRow['fleet_mission']; $FleetPrefix = $Owner == true ? 'own' : ''; $FleetType = $FleetPrefix . $FleetStyle[$MissionType]; $FleetName = !$Owner && ($MissionType == 1 || $MissionType == 2) && $Status == FLEET_OUTWARD && $fleetRow['fleet_target_owner'] != $this->userId ? $LNG['cff_acs_fleet'] : $LNG['ov_fleet']; $FleetContent = $this->CreateFleetPopupedFleetLink($fleetRow, $FleetName, $FleetPrefix . $FleetStyle[$MissionType]); $FleetCapacity = $this->CreateFleetPopupedMissionLink($fleetRow, $LNG['type_mission'][$MissionType], $FleetPrefix . $FleetStyle[$MissionType]); $FleetStatus = array(0 => 'flight', 1 => 'return', 2 => 'holding'); $StartType = $LNG['type_planet'][$fleetRow['fleet_start_type']]; $TargetType = $LNG['type_planet'][$fleetRow['fleet_end_type']]; if ($MissionType == 8) { if ($Status == FLEET_OUTWARD) { $EventString = sprintf($LNG['cff_mission_own_recy_0'], $FleetContent, $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), GetTargetAddressLink($fleetRow, $FleetType), $FleetCapacity); } else { $EventString = sprintf($LNG['cff_mission_own_recy_1'], $FleetContent, GetTargetAddressLink($fleetRow, $FleetType), $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $FleetCapacity); } } elseif ($MissionType == 10) { if ($Owner) { $EventString = sprintf($LNG['cff_mission_own_mip'], $fleetRow['fleet_amount'], $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $TargetType, $fleetRow['target_planetname'], GetTargetAddressLink($fleetRow, $FleetType)); } else { $EventString = sprintf($LNG['cff_mission_target_mip'], $fleetRow['fleet_amount'], $this->BuildHostileFleetPlayerLink($fleetRow, $fleetRow), $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $TargetType, $fleetRow['target_planetname'], GetTargetAddressLink($fleetRow, $FleetType)); } } elseif ($MissionType == 11 || $MissionType == 15) { if ($Status == FLEET_OUTWARD) { $EventString = sprintf($LNG['cff_mission_own_expo_0'], $FleetContent, $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), GetTargetAddressLink($fleetRow, $FleetType), $FleetCapacity); } elseif ($Status == FLEET_HOLD) { $EventString = sprintf($LNG['cff_mission_own_expo_2'], $FleetContent, $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), GetTargetAddressLink($fleetRow, $FleetType), $FleetCapacity); } else { $EventString = sprintf($LNG['cff_mission_own_expo_1'], $FleetContent, GetTargetAddressLink($fleetRow, $FleetType), $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $FleetCapacity); } } else { if ($Owner == true) { if ($Status == FLEET_OUTWARD) { if (!$Owner && ($MissionType == 1 || $MissionType == 2)) { $Message = $LNG['cff_mission_acs']; } else { $Message = $LNG['cff_mission_own_0']; } $EventString = sprintf($Message, $FleetContent, $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $TargetType, $fleetRow['target_planetname'], GetTargetAddressLink($fleetRow, $FleetType), $FleetCapacity); } elseif ($Status == FLEET_RETURN) { $EventString = sprintf($LNG['cff_mission_own_1'], $FleetContent, $TargetType, $fleetRow['target_planetname'], GetTargetAddressLink($fleetRow, $FleetType), $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $FleetCapacity); } else { $EventString = sprintf($LNG['cff_mission_own_2'], $FleetContent, $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $TargetType, $fleetRow['target_planetname'], GetTargetAddressLink($fleetRow, $FleetType), $FleetCapacity); } } else { if ($Status == FLEET_HOLD) { $Message = $LNG['cff_mission_target_stay']; } elseif (in_array($MissionType, $GoodMissions)) { $Message = $LNG['cff_mission_target_good']; } else { $Message = $LNG['cff_mission_target_bad']; } $EventString = sprintf($Message, $FleetContent, $this->BuildHostileFleetPlayerLink($fleetRow, $fleetRow), $StartType, $fleetRow['own_planetname'], GetStartAddressLink($fleetRow, $FleetType), $TargetType, $fleetRow['target_planetname'], GetTargetAddressLink($fleetRow, $FleetType), $FleetCapacity); } } $EventString = '<span class="' . $FleetStatus[$Status] . ' ' . $FleetType . '">' . $EventString . '</span>'; if ($Status == FLEET_OUTWARD) { $Time = $fleetRow['fleet_start_time']; } elseif ($Status == FLEET_RETURN) { $Time = $fleetRow['fleet_end_time']; } elseif ($Status == FLEET_HOLD) { $Time = $fleetRow['fleet_end_stay']; } else { $Time = TIMESTAMP; } $Rest = $Time - TIMESTAMP; return array($Rest, $EventString, $Time); }
function TargetEvent() { global $resource, $reslist; $db = Database::get(); $sqlFields = array(); $elementIDs = array_merge($reslist['defense'], $reslist['missile']); foreach ($elementIDs as $elementID) { $sqlFields[] = '%%PLANETS%%.`' . $resource[$elementID] . '`'; } $sql = 'SELECT lang, shield_tech, %%PLANETS%%.id, name, id_owner, ' . implode(', ', $sqlFields) . ' FROM %%PLANETS%% INNER JOIN %%USERS%% ON id_owner = %%USERS%%.id WHERE %%PLANETS%%.id = :planetId;'; $targetData = $db->selectSingle($sql, array(':planetId' => $this->_fleet['fleet_end_id'])); if ($this->_fleet['fleet_end_type'] == 3) { $sql = 'SELECT ' . $resource[502] . ' FROM %%PLANETS%% WHERE id_luna = :moonId;'; $targetData[$resource[502]] = $db->selectSingle($sql, array(':moonId' => $this->_fleet['fleet_end_id']), $resource[502]); } $sql = 'SELECT lang, military_tech FROM %%USERS%% WHERE id = :userId;'; $senderData = $db->selectSingle($sql, array(':userId' => $this->_fleet['fleet_owner'])); if (!in_array($this->_fleet['fleet_target_obj'], $reslist['defense']) || !in_array($this->_fleet['fleet_target_obj'], $reslist['missile']) || $this->_fleet['fleet_target_obj'] == 502 || $this->_fleet['fleet_target_obj'] == 0) { $primaryTarget = 401; } else { $primaryTarget = $this->_fleet['fleet_target_obj']; } $targetDefensive = array(); foreach ($elementIDs as $elementID) { $targetDefensive[$elementID] = $targetData[$resource[$elementID]]; } unset($targetDefensive[502]); $LNG = $this->getLanguage(Config::get($this->_fleet['fleet_universe'])->lang, array('L18N', 'FLEET', 'TECH')); if ($targetData[$resource[502]] >= $this->_fleet['fleet_amount']) { $message = $LNG['sys_irak_no_att']; $where = $this->_fleet['fleet_end_type'] == 3 ? 'id_luna' : 'id'; $sql = 'UPDATE %%PLANETS%% SET ' . $resource[502] . ' = ' . $resource[502] . ' - :amount WHERE ' . $where . ' = :planetId;'; $db->update($sql, array(':amount' => $this->_fleet['fleet_amount'], ':planetId' => $targetData['id'])); } else { if ($targetData[$resource[502]] > 0) { $where = $this->_fleet['fleet_end_type'] == 3 ? 'id_luna' : 'id'; $sql = 'UPDATE %%PLANETS%% SET ' . $resource[502] . ' = :amount WHERE ' . $where . ' = :planetId;'; $db->update($sql, array(':amount' => 0, ':planetId' => $targetData['id'])); } $targetDefensive = array_filter($targetDefensive); if (!empty($targetDefensive)) { require_once 'includes/classes/missions/functions/calculateMIPAttack.php'; $result = calculateMIPAttack($targetData["shield_tech"], $senderData["military_tech"], $this->_fleet['fleet_amount'], $targetDefensive, $primaryTarget, $targetData[$resource[502]]); $result = array_filter($result); $message = sprintf($LNG['sys_irak_def'], $targetData[$resource[502]]) . '<br><br>'; ksort($result, SORT_NUMERIC); foreach ($result as $Element => $destroy) { $message .= sprintf('%s (- %d)<br>', $LNG['tech'][$Element], $destroy); $sql = 'UPDATE %%PLANETS%% SET ' . $resource[$Element] . ' = ' . $resource[$Element] . ' - :amount WHERE id = :planetId;'; $db->update($sql, array(':planetId' => $targetData['id'], ':amount' => $destroy)); } } else { $message = $LNG['sys_irak_no_def']; } } $sql = 'SELECT name FROM %%PLANETS%% WHERE id = :planetId;'; $planetName = Database::get()->selectSingle($sql, array(':planetId' => $this->_fleet['fleet_start_id']), 'name'); $ownerLink = $planetName . " " . GetStartAddressLink($this->_fleet); $targetLink = $targetData['name'] . " " . GetTargetAddressLink($this->_fleet); $message = sprintf($LNG['sys_irak_mess'], $this->_fleet['fleet_amount'], $ownerLink, $targetLink) . $message; PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 3, $LNG['sys_irak_subject'], $message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']); PlayerUtil::sendMessage($this->_fleet['fleet_target_owner'], 0, $LNG['sys_mess_tower'], 3, $LNG['sys_irak_subject'], $message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']); $this->KillFleet(); }