/** * 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 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; } }
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"); }
public static function getSides(Dolumar_Underworld_Models_Mission $mission) { $tmp = array(); /* // First, load the sides from the mission $sides = $mission->getMap ()->getSideIds (); foreach ($sides as $v) { $tmp[$v] = new Dolumar_Underworld_Models_Side ($v); } */ // Now load all the clans $db = Neuron_DB_Database::getInstance(); $data = $db->query("\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tunderworld_missions_clans\n\t\t\tWHERE\n\t\t\t\tum_id = {$mission->getId()}\n\t\t"); foreach ($data as $v) { if (!isset($tmp[$v['umc_side']])) { $tmp[$v['umc_side']] = new Dolumar_Underworld_Models_Side($v['umc_side']); } $clan = Dolumar_Players_Clan::getFromId($v['c_id']); $tmp[$v['umc_side']]->addClan($clan); } return array_values($tmp); }
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"); }