public static function getTimeSinceLastCheckpointSide(Dolumar_Underworld_Models_Mission $mission, Neuron_GameServer_Map_Location $location) { $db = Neuron_DB_Database::getInstance(); $time = $db->query("\n\t\t\tSELECT\n\t\t\t\tUNIX_TIMESTAMP(uc_date) AS datum\n\t\t\tFROM\n\t\t\t\tunderworld_checkpoints\n\t\t\tWHERE\n\t\t\t\tum_id = {$mission->getId()} AND\n\t\t\t\tuc_x = {$location->x()} AND\n\t\t\t\tuc_y = {$location->y()}\n\t\t"); if (count($time) > 0) { return NOW - $time[0]['datum']; } else { return 0; } }
/** * Return "logger" mission id and create if not defined */ private static function getMissionId(Dolumar_Underworld_Models_Mission $mission) { $db = Neuron_DB_Database::getInstance(); $data = $db->query("\n\t\t\tSELECT\n\t\t\t\tul_m_id\n\t\t\tFROM\n\t\t\t\tunderworld_log_mission\n\t\t\tWHERE\n\t\t\t\tum_id = {$mission->getId()}\n\t\t"); if (count($data) > 0) { $id = $data[0]['ul_m_id']; } else { $id = $db->query("\n\t\t\t\tINSERT INTO\n\t\t\t\t\tunderworld_log_mission\n\t\t\t\tSET\n\t\t\t\t\tum_id = {$mission->getId()},\n\t\t\t\t\tul_m_map = '{$db->escape($mission->getMapName())}'\n\t\t\t"); } return $id; }
public function execute($a = null, $b = null, $c = null) { $village = $this->getVillage(); // Add mission $mission = new Dolumar_Underworld_Models_Mission(null); $mission->setMapName('dordaedeloth.map'); $mission->setObjectiveName('DorDaedeloth'); Dolumar_Underworld_Mappers_MissionMapper::create($mission, true); // Update server status $server = Neuron_GameServer::getServer(); $server->setData('gamestate', Dolumar_Players_Server::GAMESTATE_ENDGAME_RUNNING); // And notify all players Neuron_GameServer_Player_Guide::addPublicMessage('end_casted', array($village->getOwner(), $village), 'guide', 'neutral'); }
public static function getObjective(Dolumar_Underworld_Models_Mission $mission) { switch ($mission->getObjectiveName()) { case 'TakeAndHold': return new Dolumar_Underworld_Models_Objectives_TakeAndHold($mission); break; case 'DorDaedeloth': return new Dolumar_Underworld_Models_Objectives_DorDaedeloth($mission); break; default: return new Dolumar_Underworld_Models_Objectives_Explore($mission); break; } }
public static function insert(Dolumar_Underworld_Models_Mission $mission, Dolumar_Underworld_Models_Battle $battle) { $data = $battle->getData(); $db = Neuron_DB_Database::getInstance(); $f = $battle->getAttacker()->getLocation(); $t = $battle->getDefender()->getLocation(); $fx = $f->x(); $fy = $f->y(); $tx = $t->x(); $ty = $t->y(); $as = $battle->getAttacker()->getSide()->getId(); $ds = $battle->getDefender()->getSide()->getId(); $id = $db->query("\n\t\t\tINSERT INTO\n\t\t\t\tunderworld_log_battles\n\t\t\tSET\n\t\t\t\tuat_attacker = {$data['uat_attacker']},\n\t\t\t\tuat_defender = {$data['uat_defender']},\n\t\t\t\tuat_startdate = FROM_UNIXTIME({$data['startdate']}),\n\t\t\t\tuat_enddate = FROM_UNIXTIME({$data['enddate']}),\n\t\t\t\tuat_fightlog = '{$db->escape($data['uat_fightlog'])}',\n\t\t\t\tuat_from_x = {$fx},\n\t\t\t\tuat_from_y = {$fy},\n\t\t\t\tuat_to_x = {$tx},\n\t\t\t\tuat_to_y = {$ty},\n\t\t\t\tum_id = {$mission->getId()},\n\t\t\t\tuat_attacker_side = {$as},\n\t\t\t\tuat_defender_side = {$ds}\n\t\t"); $battle->setId($id); }
public static function removeFromMission(Dolumar_Underworld_Models_Mission $mission) { $db = Neuron_DB_Database::getInstance(); $db->query("\n\t\t\tDELETE FROM\n\t\t\t\tunderworld_explored\n\t\t\tWHERE\n\t\t\t\tum_id = {$mission->getId()}\n\t\t"); }
private static function getObjectFromReader($data) { $out = new Dolumar_Underworld_Models_Mission($data['um_id']); $out->setData($data); return $out; }
public static function removeFromMission(Dolumar_Underworld_Models_Mission $mission) { $db = Neuron_DB_Database::getInstance(); $armies = $db->query("\n\t\t\tSELECT\n\t\t\t\tua_id\n\t\t\tFROM\n\t\t\t\tunderworld_armies\n\t\t\tWHERE\n\t\t\t\tum_id = {$mission->getId()}\n\t\t"); foreach ($armies as $v) { $db->query("\n\t\t\t\tDELETE FROM\n\t\t\t\t\tunderworld_armies_leaders\n\t\t\t\tWHERE\n\t\t\t\t\tua_id = {$v['ua_id']}\n\t\t\t"); $db->query("\n\t\t\t\tDELETE FROM\n\t\t\t\t\tunderworld_armies_squads\n\t\t\t\tWHERE\n\t\t\t\t\tua_id = {$v['ua_id']}\n\t\t\t"); } $db->query("\n\t\t\tDELETE FROM\n\t\t\t\tunderworld_armies\n\t\t\tWHERE\n\t\t\t\tum_id = {$mission->getId()}\n\t\t"); }
private function createExploreMission() { $mission = new Dolumar_Underworld_Models_Mission(null); $mission->setMapName('explore.map'); $mission->setObjectiveName('Explore'); return Dolumar_Underworld_Mappers_MissionMapper::create($mission, true); }