示例#1
0
 /**
  * Build quests
  *
  * @return string
  */
 function show_quests()
 {
     global $roster, $addon;
     $quests = quest_get_many($this->data['member_id']);
     $roster->tpl->assign_vars(array('S_QUESTS' => count($quests), 'S_MAXQUESTS' => ROSTER_MAXQUESTS));
     if (isset($quests[0])) {
         $quests_arr = array();
         foreach ($quests as $object) {
             $zone = $object->data['zone'];
             $quest_name = $object->data['quest_name'];
             $quests_arr[$zone][$quest_name]['quest_id'] = $object->data['quest_id'];
             $quests_arr[$zone][$quest_name]['quest_index'] = $object->data['quest_index'];
             $quests_arr[$zone][$quest_name]['quest_level'] = $object->data['quest_level'];
             $quests_arr[$zone][$quest_name]['quest_tag'] = $object->data['quest_tag'];
             $quests_arr[$zone][$quest_name]['difficulty'] = $object->data['difficulty'];
             $description = str_replace('<class>', $this->data['class'], $object->data['description']);
             $description = str_replace('<name>', $this->data['name'], $description);
             $quests_arr[$zone][$quest_name]['description'] = nl2br($description);
             $objective = str_replace('<class>', $this->data['class'], $object->data['objective']);
             $objective = str_replace('<name>', $this->data['name'], $objective);
             $quests_arr[$zone][$quest_name]['objective'] = nl2br($objective);
             $quests_arr[$zone][$quest_name]['reward_money'] = $object->data['reward_money'];
             $quests_arr[$zone][$quest_name]['daily'] = $object->data['daily'];
             $quests_arr[$zone][$quest_name]['group'] = $object->data['group'];
             $quests_arr[$zone][$quest_name]['is_complete'] = $object->data['is_complete'];
         }
         foreach ($quests_arr as $zone => $quest) {
             $roster->tpl->assign_block_vars('zone', array('NAME' => $zone));
             foreach ($quest as $quest_name => $data) {
                 switch ($data['difficulty']) {
                     case 4:
                         $color = 'red';
                         break;
                     case 3:
                         $color = 'orange';
                         break;
                     case 2:
                         $color = 'yellow';
                         break;
                     case 1:
                         $color = 'green';
                         break;
                     case 0:
                     default:
                         $color = 'grey';
                         break;
                 }
                 $reward_money_c = $reward_money_s = $reward_money_g = 0;
                 if ($data['reward_money'] > 0) {
                     $money = $data['reward_money'];
                     $reward_money_c = $money % 100;
                     $money = floor($money / 100);
                     if (!empty($money)) {
                         $reward_money_s = $money % 100;
                         $money = floor($money / 100);
                     }
                     if (!empty($money)) {
                         $reward_money_g = $money;
                     }
                 }
                 $roster->tpl->assign_block_vars('zone.quest', array('ROW_CLASS' => $roster->switch_row_class(), 'NAME' => $quest_name, 'COLOR' => $color, 'ID' => $data['quest_id'], 'INDEX' => $data['quest_index'], 'LEVEL' => $data['quest_level'], 'DIFFICULTY' => $data['difficulty'], 'TAG' => $data['quest_tag'], 'COMPLETE' => $data['is_complete'], 'DESCRIPTION' => $data['description'], 'REWARD_MONEY_C' => $reward_money_c, 'REWARD_MONEY_S' => $reward_money_s, 'REWARD_MONEY_G' => $reward_money_g, 'OBJECTIVE' => $data['objective'], 'DAILY' => $data['daily'], 'GROUP' => $data['group']));
                 foreach ($roster->locale->act['questlinks'] as $link) {
                     $roster->tpl->assign_block_vars('zone.quest.links', array('NAME' => $link['name'], 'LINK' => sprintf($link['url'], $data['quest_id'])));
                 }
             }
         }
     }
     $roster->tpl->set_filenames(array('quests' => $addon['basename'] . '/quests.html'));
     return $roster->tpl->fetch('quests');
 }
示例#2
0
 /**
  * Build quests
  *
  * @return string
  */
 function show_quests()
 {
     global $roster, $addon;
     $quests = quest_get_many($this->data['member_id']);
     $roster->tpl->assign_vars(array('S_QUESTS' => count($quests), 'S_MAXQUESTS' => ROSTER_MAXQUESTS));
     if (isset($quests[0])) {
         $quests_arr = array();
         foreach ($quests as $object) {
             $zone = $object->data['zone'];
             $quest_name = $object->data['quest_name'];
             $quests_arr[$zone][$quest_name]['quest_index'] = $object->data['quest_index'];
             $quests_arr[$zone][$quest_name]['quest_level'] = $object->data['quest_level'];
             $quests_arr[$zone][$quest_name]['quest_tag'] = $object->data['quest_tag'];
             $quests_arr[$zone][$quest_name]['is_complete'] = $object->data['is_complete'];
         }
         foreach ($quests_arr as $zone => $quest) {
             $roster->tpl->assign_block_vars('zone', array('NAME' => $zone));
             foreach ($quest as $quest_name => $data) {
                 $quest_level = $data['quest_level'];
                 $char_level = $this->data['level'];
                 if ($quest_level + 9 < $char_level) {
                     $color = 'grey';
                 } elseif ($quest_level + 2 < $char_level) {
                     $color = 'green';
                 } elseif ($quest_level < $char_level + 3) {
                     $color = 'yellow';
                 } else {
                     $color = 'red';
                 }
                 $roster->tpl->assign_block_vars('zone.quest', array('ROW_CLASS' => $roster->switch_row_class(), 'NAME' => $quest_name, 'LEVEL' => $quest_level, 'COLOR' => $color, 'TAG' => $data['quest_tag'], 'COMPLETE' => $data['is_complete']));
                 foreach ($roster->locale->act['questlinks'] as $link) {
                     $roster->tpl->assign_block_vars('zone.quest.links', array('NAME' => $link['name'], 'LINK' => $link['url1'] . urlencode(utf8_decode($quest_name)) . (isset($link['url2']) ? $link['url2'] . $quest_level : '') . (isset($link['url3']) ? $link['url3'] . $quest_level : '')));
                 }
             }
         }
     }
     $roster->tpl->set_filenames(array('quests' => $addon['basename'] . '/quests.html'));
     return $roster->tpl->fetch('quests');
 }