Example #1
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;
 }
Example #2
0
 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;
     }
 }
Example #3
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);
 }
Example #4
0
 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");
 }
Example #5
0
 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);
 }
Example #6
0
 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");
 }