Overview

Namespaces

  • Budabot
    • Core
      • Modules
    • User
      • Modules
  • None
  • Tyrence
    • Modules

Classes

  • AccessLevel
  • Budabot\Core\AccessManager
  • Budabot\Core\AdminManager
  • Budabot\Core\AOChat
  • Budabot\Core\AOChatPacket
  • Budabot\Core\AOChatQueue
  • Budabot\Core\AOExtMsg
  • Budabot\Core\AsyncHttp
  • Budabot\Core\AutoInject
  • Budabot\Core\BotRunner
  • Budabot\Core\Budabot
  • Budabot\Core\BuddylistManager
  • Budabot\Core\CacheManager
  • Budabot\Core\CacheResult
  • Budabot\Core\ClassLoader
  • Budabot\Core\ColorSettingHandler
  • Budabot\Core\CommandAlias
  • Budabot\Core\CommandManager
  • Budabot\Core\ConfigFile
  • Budabot\Core\DB
  • Budabot\Core\DBRow
  • Budabot\Core\EventLoop
  • Budabot\Core\EventManager
  • Budabot\Core\GuildChannelCommandReply
  • Budabot\Core\GuildManager
  • Budabot\Core\HelpManager
  • Budabot\Core\Http
  • Budabot\Core\HttpRequest
  • Budabot\Core\LegacyLogger
  • Budabot\Core\LimitsController
  • Budabot\Core\LoggerWrapper
  • Budabot\Core\MMDBParser
  • Budabot\Core\Modules\AdminController
  • Budabot\Core\Modules\AliasController
  • Budabot\Core\Modules\AltInfo
  • Budabot\Core\Modules\AltsController
  • Budabot\Core\Modules\BanController
  • Budabot\Core\Modules\BuddylistController
  • Budabot\Core\Modules\ColorsController
  • Budabot\Core\Modules\CommandlistController
  • Budabot\Core\Modules\CommandSearchController
  • Budabot\Core\Modules\ConfigController
  • Budabot\Core\Modules\EventlistController
  • Budabot\Core\Modules\HelpController
  • Budabot\Core\Modules\LogsController
  • Budabot\Core\Modules\PlayerLookupController
  • Budabot\Core\Modules\ProfileCommandReply
  • Budabot\Core\Modules\ProfileController
  • Budabot\Core\Modules\SettingsController
  • Budabot\Core\Modules\SQLController
  • Budabot\Core\Modules\SystemController
  • Budabot\Core\Modules\UsageController
  • Budabot\Core\Modules\WhitelistController
  • Budabot\Core\NumberSettingHandler
  • Budabot\Core\OptionsSettingHandler
  • Budabot\Core\PlayerHistory
  • Budabot\Core\PlayerHistoryManager
  • Budabot\Core\PlayerManager
  • Budabot\Core\Preferences
  • Budabot\Core\PrivateChannelCommandReply
  • Budabot\Core\PrivateMessageCommandReply
  • Budabot\Core\Registry
  • Budabot\Core\SettingHandler
  • Budabot\Core\SettingManager
  • Budabot\Core\SettingObject
  • Budabot\Core\SocketManager
  • Budabot\Core\SocketNotifier
  • Budabot\Core\SubcommandManager
  • Budabot\Core\Text
  • Budabot\Core\TextSettingHandler
  • Budabot\Core\Timer
  • Budabot\Core\TimerEvent
  • Budabot\Core\TimeSettingHandler
  • Budabot\Core\Util
  • Budabot\Core\xml
  • Budabot\User\Modules\AlienArmorController
  • Budabot\User\Modules\AlienBioController
  • Budabot\User\Modules\AlienMiscController
  • Budabot\User\Modules\AOSpeakController
  • Budabot\User\Modules\AOUController
  • Budabot\User\Modules\AXPController
  • Budabot\User\Modules\BankController
  • Budabot\User\Modules\BosslootController
  • Budabot\User\Modules\BroadcastController
  • Budabot\User\Modules\BuffPerksController
  • Budabot\User\Modules\CacheController
  • Budabot\User\Modules\ChatAssistController
  • Budabot\User\Modules\ChatCheckController
  • Budabot\User\Modules\ChatLeaderController
  • Budabot\User\Modules\ChatRallyController
  • Budabot\User\Modules\ChatSayController
  • Budabot\User\Modules\ChatTopicController
  • Budabot\User\Modules\CityWaveController
  • Budabot\User\Modules\CloakController
  • Budabot\User\Modules\ClusterController
  • Budabot\User\Modules\CountdownController
  • Budabot\User\Modules\DevController
  • Budabot\User\Modules\DingController
  • Budabot\User\Modules\EventsController
  • Budabot\User\Modules\FightController
  • Budabot\User\Modules\FindOrgController
  • Budabot\User\Modules\FindPlayerController
  • Budabot\User\Modules\FunController
  • Budabot\User\Modules\GitController
  • Budabot\User\Modules\GuideController
  • Budabot\User\Modules\GuildController
  • Budabot\User\Modules\HelpbotController
  • Budabot\User\Modules\HtmlDecodeController
  • Budabot\User\Modules\ImplantController
  • Budabot\User\Modules\ImplantDesignerController
  • Budabot\User\Modules\InactiveMemberController
  • Budabot\User\Modules\ItemsController
  • Budabot\User\Modules\KillOnSightController
  • Budabot\User\Modules\LevelController
  • Budabot\User\Modules\LinksController
  • Budabot\User\Modules\LootListsController
  • Budabot\User\Modules\MdbController
  • Budabot\User\Modules\MessageInfoCommandReply
  • Budabot\User\Modules\MockCommandReply
  • Budabot\User\Modules\NanoController
  • Budabot\User\Modules\NewsController
  • Budabot\User\Modules\NotesController
  • Budabot\User\Modules\OnlineController
  • Budabot\User\Modules\OrgHistoryController
  • Budabot\User\Modules\OrglistController
  • Budabot\User\Modules\OrgMembersController
  • Budabot\User\Modules\OSController
  • Budabot\User\Modules\PlayerHistoryController
  • Budabot\User\Modules\PlayfieldController
  • Budabot\User\Modules\PocketbossController
  • Budabot\User\Modules\PremadeImplantController
  • Budabot\User\Modules\PrivateChannelController
  • Budabot\User\Modules\QuoteController
  • Budabot\User\Modules\RaffleController
  • Budabot\User\Modules\RaidController
  • Budabot\User\Modules\RandomController
  • Budabot\User\Modules\RecipeController
  • Budabot\User\Modules\RelayController
  • Budabot\User\Modules\ReputationController
  • Budabot\User\Modules\ResearchController
  • Budabot\User\Modules\RunAsController
  • Budabot\User\Modules\SendTellController
  • Budabot\User\Modules\ShoppingController
  • Budabot\User\Modules\SilenceController
  • Budabot\User\Modules\SkillsController
  • Budabot\User\Modules\SpiritsController
  • Budabot\User\Modules\StopwatchController
  • Budabot\User\Modules\Teamspeak3
  • Budabot\User\Modules\TeamspeakController
  • Budabot\User\Modules\TestController
  • Budabot\User\Modules\TimeController
  • Budabot\User\Modules\TimerController
  • Budabot\User\Modules\TimezoneController
  • Budabot\User\Modules\TowerController
  • Budabot\User\Modules\TrackerController
  • Budabot\User\Modules\TrickleController
  • Budabot\User\Modules\UnixtimeController
  • Budabot\User\Modules\VoteController
  • Budabot\User\Modules\WeatherController
  • Budabot\User\Modules\WhatBuffsController
  • Budabot\User\Modules\WhereisController
  • Budabot\User\Modules\WhoisController
  • Budabot\User\Modules\WhoisOrgController
  • Budabot\User\Modules\WhompahController
  • Command
  • DefaultStatus
  • DefineCommand
  • Description
  • Event
  • HandlesCommand
  • Help
  • Inject
  • Instance
  • Intoptions
  • Matches
  • Options
  • Setting
  • Setup
  • Type
  • Tyrence\Modules\DemoResponseCommandReply
  • Tyrence\Modules\SameChannelResponseController
  • Visibility

Interfaces

  • Budabot\Core\CommandReply

Exceptions

  • Budabot\Core\InvalidHttpRequest
  • Budabot\Core\SQLException
  • Budabot\Core\StopExecutionException

Functions

  • Budabot\Core\isWindows
  • Budabot\Core\Modules\read_input
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: namespace Budabot\User\Modules;
  4: 
  5: /**
  6:  * Authors: 
  7:  *  - Marinerecon (RK2)
  8:  *  - Derroylo (RK2)
  9:  *  - Tyrence (RK2)
 10:  *  - Morgo (RK2)
 11:  *  - Chachy (RK2)
 12:  *  - Dare2005 (RK2), based on code for dbloot module by Chachy (RK2)
 13:  *
 14:  * @Instance
 15:  *
 16:  * Commands this class contains:
 17:  *  @DefineCommand(
 18:  *      command     = 'alb',
 19:  *      accessLevel = 'all',
 20:  *      description = 'Shows possible Albtraum loots',
 21:  *      help        = 'albloot.txt'
 22:  *  )
 23:  *  @DefineCommand(
 24:  *      command     = 'db1',
 25:  *      accessLevel = 'all',
 26:  *      description = 'Shows possible DB1 Armor/NCUs/Programs',
 27:  *      help        = 'dbloot.txt'
 28:  *  )
 29:  *  @DefineCommand(
 30:  *      command     = 'db2',
 31:  *      accessLevel = 'all',
 32:  *      description = 'Shows possible DB2 Armor',
 33:  *      help        = 'dbloot.txt'
 34:  *  )
 35:  *  @DefineCommand(
 36:  *      command     = '7',
 37:  *      accessLevel = 'all',
 38:  *      description = 'Shows the Sector 7 loot list',
 39:  *      help        = 'apf.txt'
 40:  *  )
 41:  *  @DefineCommand(
 42:  *      command     = '13',
 43:  *      accessLevel = 'rl',
 44:  *      description = 'Adds APF 13 loot to the loot list',
 45:  *      help        = 'apf.txt'
 46:  *  )
 47:  *  @DefineCommand(
 48:  *      command     = '28',
 49:  *      accessLevel = 'rl',
 50:  *      description = 'Adds APF 28 loot to the loot list',
 51:  *      help        = 'apf.txt'
 52:  *  )
 53:  *  @DefineCommand(
 54:  *      command     = '35',
 55:  *      accessLevel = 'rl',
 56:  *      description = 'Adds APF 35 loot to the loot list',
 57:  *      help        = 'apf.txt'
 58:  *  )
 59:  *  @DefineCommand(
 60:  *      command     = 'apf',
 61:  *      accessLevel = 'all',
 62:  *      description = 'Shows what drops off APF Bosses',
 63:  *      help        = 'apf.txt'
 64:  *  )
 65:  *  @DefineCommand(
 66:  *      command     = 'beastarmor',
 67:  *      accessLevel = 'all',
 68:  *      description = 'Shows Beast Armor loot',
 69:  *      help        = 'pande.txt'
 70:  *  )
 71:  *  @DefineCommand(
 72:  *      command     = 'beastweaps',
 73:  *      accessLevel = 'all',
 74:  *      description = 'Shows Beast Weapons loot',
 75:  *      help        = 'pande.txt'
 76:  *  )
 77:  *  @DefineCommand(
 78:  *      command     = 'beaststars',
 79:  *      accessLevel = 'all',
 80:  *      description = 'Shows Beast Stars loot',
 81:  *      help        = 'pande.txt'
 82:  *  )
 83:  *  @DefineCommand(
 84:  *      command     = 'tnh',
 85:  *      accessLevel = 'all',
 86:  *      description = 'Shows The Night Heart loot',
 87:  *      help        = 'pande.txt'
 88:  *  )
 89:  *  @DefineCommand(
 90:  *      command     = 'sb',
 91:  *      accessLevel = 'all',
 92:  *      description = 'Shows Shadowbreeds loot',
 93:  *      help        = 'pande.txt'
 94:  *  )
 95:  *  @DefineCommand(
 96:  *      command     = 'aries',
 97:  *      accessLevel = 'all',
 98:  *      description = 'Shows Aries Zodiac loot',
 99:  *      help        = 'pande.txt'
100:  *  )
101:  *  @DefineCommand(
102:  *      command     = 'leo',
103:  *      accessLevel = 'all',
104:  *      description = 'Shows Leo Zodiac loot',
105:  *      help        = 'pande.txt'
106:  *  )
107:  *  @DefineCommand(
108:  *      command     = 'virgo',
109:  *      accessLevel = 'all',
110:  *      description = 'Shows Virgo Zodiac loot',
111:  *      help        = 'pande.txt'
112:  *  )
113:  *  @DefineCommand(
114:  *      command     = 'aquarius',
115:  *      accessLevel = 'all',
116:  *      description = 'Shows Aquarius Zodiac loot',
117:  *      help        = 'pande.txt'
118:  *  )
119:  *  @DefineCommand(
120:  *      command     = 'cancer',
121:  *      accessLevel = 'all',
122:  *      description = 'Shows Cancer Zodiac loot',
123:  *      help        = 'pande.txt'
124:  *  )
125:  *  @DefineCommand(
126:  *      command     = 'gemini',
127:  *      accessLevel = 'all',
128:  *      description = 'Shows Gemini Zodiac loot',
129:  *      help        = 'pande.txt'
130:  *  )
131:  *  @DefineCommand(
132:  *      command     = 'libra',
133:  *      accessLevel = 'all',
134:  *      description = 'Shows Libra Zodiac loot',
135:  *      help        = 'pande.txt'
136:  *  )
137:  *  @DefineCommand(
138:  *      command     = 'pisces',
139:  *      accessLevel = 'all',
140:  *      description = 'Shows Pisces Zodiac loot',
141:  *      help        = 'pande.txt'
142:  *  )
143:  *  @DefineCommand(
144:  *      command     = 'taurus',
145:  *      accessLevel = 'all',
146:  *      description = 'Shows Taurus Zodiac loot',
147:  *      help        = 'pande.txt'
148:  *  )
149:  *  @DefineCommand(
150:  *      command     = 'capricorn',
151:  *      accessLevel = 'all',
152:  *      description = 'Shows Capricorn Zodiac loot',
153:  *      help        = 'pande.txt'
154:  *  )
155:  *  @DefineCommand(
156:  *      command     = 'sagittarius',
157:  *      accessLevel = 'all',
158:  *      description = 'Shows Sagittarius Zodiac loot',
159:  *      help        = 'pande.txt'
160:  *  )
161:  *  @DefineCommand(
162:  *      command     = 'scorpio',
163:  *      accessLevel = 'all',
164:  *      description = 'Shows Scorpio Zodiac loot',
165:  *      help        = 'pande.txt'
166:  *  )
167:  *  @DefineCommand(
168:  *      command     = 'bastion',
169:  *      accessLevel = 'all',
170:  *      description = 'Shows Bastion loot',
171:  *      help        = 'pande.txt'
172:  *  )
173:  *  @DefineCommand(
174:  *      command     = 'pande',
175:  *      accessLevel = 'all',
176:  *      description = 'Shows Pandemonium bosses and loot categories',
177:  *      help        = 'pande.txt'
178:  *  )
179:  *  @DefineCommand(
180:  *      command     = 'xan',
181:  *      accessLevel = 'all',
182:  *      description = 'Shows Legacy of the Xan loot categories',
183:  *      help        = 'xan.txt'
184:  *  )
185:  *  @DefineCommand(
186:  *      command     = 'vortexx',
187:  *      accessLevel = 'all',
188:  *      description = 'Shows possible Vortexx Loot',
189:  *      help        = 'xan.txt'
190:  *  )
191:  *  @DefineCommand(
192:  *      command     = 'mitaar',
193:  *      accessLevel = 'all',
194:  *      description = 'Shows possible Mitaar Hero Loot',
195:  *      help        = 'xan.txt'
196:  *  )
197:  *  @DefineCommand(
198:  *      command     = '12m',
199:  *      accessLevel = 'all',
200:  *      description = 'Shows possible 12 man Loot',
201:  *      help        = 'xan.txt'
202:  *  )
203:  *  @DefineCommand(
204:  *      command     = 'poh',
205:  *      accessLevel = 'all',
206:  *      description = 'Shows possible Pyramid of Home loot',
207:  *      help        = 'poh.txt'
208:  *  )
209:  */
210: class LootListsController {
211: 
212:     /**
213:      * Name of the module.
214:      * Set automatically by module loader.
215:      */
216:     public $moduleName;
217:     
218:     /** @Inject */
219:     public $chatBot;
220:     
221:     /** @Inject */
222:     public $db;
223: 
224:     /** @Inject */
225:     public $text;
226: 
227:     /** @Inject */
228:     public $util;
229:     
230:     /** @Inject */
231:     public $raidController;
232: 
233:     /** @Inject */
234:     public $chatLeaderController;
235:     
236:     /**
237:      * @Setup
238:      */
239:     public function setup() {
240:         $this->db->loadSQLFile($this->moduleName, 'raid_loot');
241:     }
242:     
243:     /**
244:      * Author: Dare2005 (RK2), based on code for dbloot module by Chachy (RK2)
245:      *
246:      * @HandlesCommand("alb")
247:      * @Matches("/^alb$/i")
248:      */
249:     public function albCommand($message, $channel, $sender, $sendto, $args) {
250:         $sendto->reply($this->getAlbatraumLoot('Albtraum', 'Crystals & Crystalised Memories'));
251:         $sendto->reply($this->getAlbatraumLoot('Albtraum', 'Ancients'));
252:         $sendto->reply($this->getAlbatraumLoot('Albtraum', 'Samples'));
253:         $sendto->reply($this->getAlbatraumLoot('Albtraum', 'Rings and Preservation Units'));
254:         $sendto->reply($this->getAlbatraumLoot('Albtraum', 'Pocket Boss Crystals'));
255:     }
256: 
257:     public function getAlbatraumLoot($raid, $category) {
258:         $blob = $this->findRaidLoot($raid, $category);
259:         $blob .= "\n\nAlbtraum Loot By Dare2005 (RK2)";
260:         return $this->text->makeBlob("$raid $category Loot", $blob);
261:     }
262:     
263:     /**
264:      * Author: Chachy (RK2), based on code for Pande Loot Bot by Marinerecon (RK2)
265:      *
266:      * @HandlesCommand("db1")
267:      * @Matches("/^db1$/i")
268:      */
269:     public function db1Command($message, $channel, $sender, $sendto, $args) {
270:         $sendto->reply($this->getDustBrigadeLoot('DustBrigade', 'Armor'));
271:         $sendto->reply($this->getDustBrigadeLoot('DustBrigade', '1'));
272:     }
273:     
274:     /**
275:      * Author: Chachy (RK2), based on code for Pande Loot Bot by Marinerecon (RK2)
276:      *
277:      * @HandlesCommand("db2")
278:      * @Matches("/^db2$/i")
279:      */
280:     public function db2Command($message, $channel, $sender, $sendto, $args) {
281:         $sendto->reply($this->getDustBrigadeLoot('DustBrigade', 'Armor'));
282:         $sendto->reply($this->getDustBrigadeLoot('DustBrigade', '2'));
283:     }
284:     
285:     public function getDustBrigadeLoot($raid, $category) {
286:         $blob = $this->findRaidLoot($raid, $category);
287:         $blob .= "\n\nDust Brigrade Loot By Chachy (RK2)";
288:         return $this->text->makeBlob("$raid $category Loot", $blob);
289:     }
290:     
291:     /**
292:      * @HandlesCommand("7")
293:      * @Matches("/^7$/i")
294:      */
295:     public function apf7Command($message, $channel, $sender, $sendto, $args) {
296:         $raid = "APF";
297:         $category = "Sector 7";
298:         $blob = $this->findRaidLoot($raid, $category);
299:         $msg = $this->text->makeBlob("$raid $category Loot", $blob);
300:         $sendto->reply($msg);
301:     }
302:     
303:     /**
304:      * @HandlesCommand("13")
305:      * @Matches("/^13$/i")
306:      */
307:     public function apf13Command($message, $channel, $sender, $sendto, $args) {
308:         if (!$this->chatLeaderController->checkLeaderAccess($sender)) {
309:             $sendto->reply("You must be Raid Leader to use this command.");
310:             return;
311:         }
312: 
313:         $this->addAPFLootToList(13);
314:     }
315:     
316:     /**
317:      * @HandlesCommand("28")
318:      * @Matches("/^28$/i")
319:      */
320:     public function apf28Command($message, $channel, $sender, $sendto, $args) {
321:         if (!$this->chatLeaderController->checkLeaderAccess($sender)) {
322:             $sendto->reply("You must be Raid Leader to use this command.");
323:             return;
324:         }
325: 
326:         $this->addAPFLootToList(28);
327:     }
328:     
329:     /**
330:      * @HandlesCommand("35")
331:      * @Matches("/^35$/i")
332:      */
333:     public function apf35Command($message, $channel, $sender, $sendto, $args) {
334:         if (!$this->chatLeaderController->checkLeaderAccess($sender)) {
335:             $sendto->reply("You must be Raid Leader to use this command.");
336:             return;
337:         }
338: 
339:         $this->addAPFLootToList(35);
340:     }
341:     
342:     public function addAPFLootToList($sector) {
343:         // adding apf stuff
344:         $this->raidController->addRaidToLootList('APF', "Sector $sector");
345:         $msg = "Sector $sector loot table was added to the loot list.";
346:         $this->chatBot->sendPrivate($msg);
347: 
348:         $msg = $this->raidController->getCurrentLootList();
349:         $this->chatBot->sendPrivate($msg);
350:     }
351:     
352:     /**
353:      * @HandlesCommand("apf")
354:      * @Matches("/^apf (7|13|28|35)$/i")
355:      */
356:     public function apfCommand($message, $channel, $sender, $sendto, $args) {
357:         $sector = $args[1];
358: 
359:         $itemlink["ICE"] = $this->text->makeItem(257968, 257968, 1, "Hacker ICE-Breaker Source");
360:         $itemlink["BOARD"] = $this->text->makeItem(257706, 257706, 1, "Kyr'Ozch Helmet");
361:         $itemlink["APE"] = $this->text->makeItem(257960, 257960, 250, "Action Probability Estimator");
362:         $itemlink["DGRV"] = $this->text->makeItem(257962, 257962, 250, "Dynamic Gas Redistribution Valves");
363:         $itemlink["KBAP"] = $this->text->makeItem(257529, 257529, 1, "Kyr'Ozch Battlesuit Audio Processor");
364:         $itemlink["KVPU"] = $this->text->makeItem(257533, 257533, 1, "Kyr'Ozch Video Processing Unit");
365:         $itemlink["KRI"] = $this->text->makeItem(257531, 257531, 1, "Kyr'Ozch Rank Identification");
366:         $itemlink["ICEU"] = $this->text->makeItem(257110, 257110, 1, "Intrusion Countermeasure Electronics Upgrade");
367:         $itemlink["OTAE"] = $this->text->makeItem(257112, 257112, 1, "Omni-Tek Award - Exemplar");
368:         $itemlink["CMP"] = $this->text->makeItem(257113, 257113, 1, "Clan Merits - Paragon");
369:         $itemlink["EMCH"] = $this->text->makeItem(257379, 257379, 200, "Extruder's Molybdenum Crash Helmet");
370:         $itemlink["CKCNH"] = $this->text->makeItem(257115, 257115, 200, "Conscientious Knight Commander Nizno's Helmet");
371:         $itemlink["SKCGH"] = $this->text->makeItem(257114, 257114, 200, "Sworn Knight Commander Genevra's Helmet");
372:         $itemlink["BCOH"] = $this->text->makeItem(257383, 257383, 300, "Blackmane's Combined Officer's Headwear");
373:         $itemlink["GCCH"] = $this->text->makeItem(257381, 257381, 300, "Gannondorf's Combined Commando's Headwear");
374:         $itemlink["HCSH"] = $this->text->makeItem(257384, 257384, 300, "Haitte's Combined Sharpshooter's Headwear");
375:         $itemlink["OCPH"] = $this->text->makeItem(257377, 257377, 300, "Odum's Combined Paramedic's Headwear");
376:         $itemlink["SCMH"] = $this->text->makeItem(257380, 257380, 300, "Sillum's Combined Mercenary's Headwear");
377:         $itemlink["YCSH"] = $this->text->makeItem(257382, 257382, 300, "Yakomo's Combined Scout's Headwear");
378:         $itemlink["HLOA"] = $this->text->makeItem(257128, 257128, 300, "High Lord of Angst");
379:         $itemlink["SKR2"] = $this->text->makeItem(257967, 257967, 300, "Silenced Kyr'Ozch Rifle - Type 2");
380:         $itemlink["SKR3"] = $this->text->makeItem(257131, 257131, 300, "Silenced Kyr'Ozch Rifle - Type 3");
381:         $itemlink["ASC"] = $this->text->makeItem(257126, 257126, 300, "Amplified Sleek Cannon");
382:         $itemlink["IAPU"] = $this->text->makeItem(257959, 257959, 1, "Inertial Adjustment Processing Unit");
383:         $itemlink["HVBCP"] = $this->text->makeItem(257119, 257119, 300, "Hadrulf's Viral Belt Component Platform");
384:         $itemlink["NAC"] = $this->text->makeItem(257963, 257963, 250, "Notum Amplification Coil");
385:         $itemlink["TAHSC"] = $this->text->makeItem(257124, 257124, 300, "Twice Augmented Hellspinner Shock Cannon");
386:         $itemlink["ONC"] = $this->text->makeItem(257118, 257118, 250, "ObiTom's Nano Calculator");
387:         $itemlink["AKC12"] = $this->text->makeItem(257143, 257143, 300, "Amplified Kyr'Ozch Carbine - Type 12");
388:         $itemlink["AKC13"] = $this->text->makeItem(257142, 257142, 300, "Amplified Kyr'Ozch Carbine - Type 13");
389:         $itemlink["AKC5"] = $this->text->makeItem(257144, 257144, 300, "Amplified Kyr'Ozch Carbine - Type 5");
390:         $itemlink["ERU"] = $this->text->makeItem(257961, 257961, 250, "Energy Redistribution Unit");
391:         $itemlink["BOB"] = $this->text->makeItem(257147, 257147, 300, "Blades of Boltar");
392:         $itemlink["DVLPR"] = $this->text->makeItem(257116, 257116, 1, "De'Valos Lava Protection Ring");
393:         $itemlink["VLRD"] = $this->text->makeItem(257964, 257964, 250, "Visible Light Remodulation Device");
394:         $itemlink["DVRPR"] = $this->text->makeItem(257117, 257117, 1, "De'Valos Radiation Protection Ring");
395:         $itemlink["SSSS"] = $this->text->makeItem(257141, 257141, 300, "Scoped Salabim Shotgun Supremo");
396:         $itemlink["EPP"] = $this->text->makeItem(258345, 258345, 300, "Explosif's Polychromatic Pillows");
397:         $itemlink["VNGW"] = $this->text->makeItem(257123, 257123, 300, "Vektor ND Grand Wyrm");
398:         $list = '';
399: 
400:         switch($sector) {
401:             case "7":
402:                 $raid = "APF";
403:                 $category = "Sector 7";
404:                 $list = $this->findRaidLoot($raid, $category);
405:                 
406:                 break;
407:             case "13":
408:                 //CRU
409:                 $list .= $this->text->makeImage(257196) . "\n";
410:                 $list .= "Name: {$itemlink["ICE"]}\n";
411:                 $list .= "Purpose: {$itemlink["ICEU"]}\n";
412:                 $list .= "Note: <highlight>Drops on all Alien Playfield 5 times from the Boss.<end>\n\n";
413: 
414:                 //Token Credit Items
415:                 $list .= $this->text->makeImage(218775) . "\n";
416:                 $list .= "Name: {$itemlink["KBAP"]}\n";
417:                 $list .= $this->text->makeImage(218758) . "\n";
418:                 $list .= "Name: {$itemlink["KVPU"]}\n";
419:                 $list .= $this->text->makeImage(218768) . "\n";
420:                 $list .= "Name: {$itemlink["KRI"]}\n";
421:                 $list .= "Purpose: <highlight>Kyr'Ozch Rank Identification, Kyr'Ozch Video Processing Unit and Kyr'Ozch Battlesuit Audio Processor can be traded at your faction vendor at the Alien Playfield Bar for Tokens or Credits.<end>\n";
422:                 $list .= "Note: <highlight>Drops on all Alien Playfield from the Boss (one from each type).<end>\n\n";
423: 
424:                 //Token Board
425:                 $list .= $this->text->makeImage(230855) . "\n";
426:                 $list .= "Name: {$itemlink["BOARD"]}\n";
427:                 $list .= "Purpose: - {$itemlink["OTAE"]}\n";
428:                 $list .= "<tab><tab>     - {$itemlink["CMP"]}\n";
429:                 $list .= "Note: <highlight>Drops on all Alien Playfield from the Boss.<end>\n\n";
430: 
431:                 //Action Probability Estimator
432:                 $list .= $this->text->makeImage(203502) . "\n";
433:                 $list .= "Name: {$itemlink["APE"]}\n";
434:                 $list .= "Purpose: - {$itemlink["EMCH"]}\n";
435:                 $list .= "<tab><tab>     - {$itemlink["CKCNH"]}\n";
436:                 $list .= "<tab><tab>     - {$itemlink["SKCGH"]}\n";
437:                 $list .= "<tab><tab>     - {$itemlink["BCOH"]}\n";
438:                 $list .= "<tab><tab>     - {$itemlink["GCCH"]}\n";
439:                 $list .= "<tab><tab>     - {$itemlink["HCSH"]}\n";
440:                 $list .= "<tab><tab>     - {$itemlink["OCPH"]}\n";
441:                 $list .= "<tab><tab>     - {$itemlink["SCMH"]}\n";
442:                 $list .= "<tab><tab>     - {$itemlink["YCSH"]}\n\n";
443: 
444:                 //Dynamic Gas Redistribution Valves
445:                 $list .= $this->text->makeImage(205508) . "\n";
446:                 $list .= "Name: {$itemlink["DGRV"]}\n";
447:                 $list .= "Purpose: - {$itemlink["HLOA"]}\n";
448:                 $list .= "<tab><tab>     - {$itemlink["SKR2"]}\n";
449:                 $list .= "<tab><tab>     - {$itemlink["SKR3"]}\n";
450:                 $list .= "<tab><tab>     - {$itemlink["ASC"]}\n\n";
451:                 break;
452:             case "28":
453:                 //CRU
454:                 $list .= $this->text->makeImage(257196) . "\n";
455:                 $list .= "Name: {$itemlink["ICE"]}\n";
456:                 $list .= "Purpose: {$itemlink["ICEU"]}\n";
457:                 $list .= "Note: <highlight>Drops on all Alien Playfield 5 times from the Boss.<end>\n\n";
458: 
459:                 //Token Credit Items
460:                 $list .= $this->text->makeImage(218775) . "\n";
461:                 $list .= "Name: {$itemlink["KBAP"]}\n";
462:                 $list .= $this->text->makeImage(218758) . "\n";
463:                 $list .= "Name: {$itemlink["KVPU"]}\n";
464:                 $list .= $this->text->makeImage(218768) . "\n";
465:                 $list .= "Name: {$itemlink["KRI"]}\n";
466:                 $list .= "Purpose: <highlight>Kyr'Ozch Rank Identification, Kyr'Ozch Video Processing Unit and Kyr'Ozch Battlesuit Audio Processor can be traded at your faction vendor at the Alien Playfield Bar for Tokens or Credits.<end>\n";
467:                 $list .= "Note: <highlight>Drops on all Alien Playfields from the Boss (one from each type).<end>\n\n";
468: 
469:                 //Token Board
470:                 $list .= $this->text->makeImage(230855) . "\n";
471:                 $list .= "Name: {$itemlink["BOARD"]}\n";
472:                 $list .= "Purpose: - {$itemlink["OTAE"]}\n";
473:                 $list .= "<tab><tab>     - {$itemlink["CMP"]}\n";
474:                 $list .= "Note: <highlight>Drops on all Alien Playfield from the Boss.<end>\n\n";
475: 
476:                 //APF Belt
477:                 $list .= $this->text->makeImage(11618) . "\n";
478:                 $list .= "Name: {$itemlink["IAPU"]}\n";
479:                 $list .= "Purpose: - {$itemlink["HVBCP"]}\n\n";
480: 
481:                 //Notum coil
482:                 $list .= $this->text->makeImage(257195) . "\n";
483:                 $list .= "Name: {$itemlink["NAC"]}\n";
484:                 $list .= "Purpose: - {$itemlink["TAHSC"]}\n";
485:                 $list .= "<tab><tab>     - {$itemlink["ONC"]}\n";
486:                 $list .= "<tab><tab>     - {$itemlink["AKC12"]}\n";
487:                 $list .= "<tab><tab>     - {$itemlink["AKC13"]}\n";
488:                 $list .= "<tab><tab>     - {$itemlink["AKC5"]}\n\n";
489:                 break;
490:             case "35":
491:                 //CRU
492:                 $list .= $this->text->makeImage(257196) . "\n";
493:                 $list .= "Name: {$itemlink["ICE"]}\n";
494:                 $list .= "Purpose: {$itemlink["ICEU"]}\n";
495:                 $list .= "Note: <highlight>Drops on all Alien Playfield 5 times from the Boss.<end>\n\n";
496: 
497:                 //Token Credit Items
498:                 $list .= $this->text->makeImage(218775) . "\n";
499:                 $list .= "Name: {$itemlink["KBAP"]}\n";
500:                 $list .= $this->text->makeImage(218758) . "\n";
501:                 $list .= "Name: {$itemlink["KVPU"]}\n";
502:                 $list .= $this->text->makeImage(218768) . "\n";
503:                 $list .= "Name: {$itemlink["KRI"]}\n";
504:                 $list .= "Purpose: <highlight>Kyr'Ozch Rank Identification, Kyr'Ozch Video Processing Unit and Kyr'Ozch Battlesuit Audio Processor can be traded at your faction vendor at the Alien Playfield Bar for Tokens or Credits.<end>\n";
505:                 $list .= "Note: <highlight>Drops on all Alien Playfield from the Boss (one from each type).<end>\n\n";
506: 
507:                 //Token Board
508:                 $list .= $this->text->makeImage(230855) . "\n";
509:                 $list .= "Name:{$itemlink["BOARD"]}\n";
510:                 $list .= "Purpose: - {$itemlink["OTAE"]}\n";
511:                 $list .= "<tab><tab>     - {$itemlink["CMP"]}\n";
512:                 $list .= "Note: <highlight>Drops on all Alien Playfield from the Boss.<end>\n\n";
513: 
514:                 //Energy Redistribution Unit
515:                 $list .= $this->text->makeImage(257197) . "\n";
516:                 $list .= "Name: {$itemlink["ERU"]}\n";
517:                 $list .= "Purpose: - {$itemlink["BOB"]}\n";
518:                 $list .= "<tab><tab>     - {$itemlink["DVLPR"]}\n";
519:                 $list .= "<tab><tab>     - {$itemlink["VNGW"]}\n\n";
520: 
521:                 //Visible Light Remodulation Device
522:                 $list .= $this->text->makeImage(235270) . "\n";
523:                 $list .= "Name: {$itemlink["VLRD"]}\n";
524:                 $list .= "Purpose: - {$itemlink["DVRPR"]}\n";
525:                 $list .= "<tab><tab>     - {$itemlink["SSSS"]}\n";
526:                 $list .= "<tab><tab>     - {$itemlink["EPP"]}\n\n";
527:                 break;
528:         }
529: 
530:         $msg = $this->text->makeBlob("Loot table for sector $sector", $list);
531: 
532:         $sendto->reply($msg);
533:     }
534:     
535:     /**
536:      * Author: Marinerecon (RK2)
537:      *
538:      * @HandlesCommand("beastarmor")
539:      * @Matches("/^beastarmor$/i")
540:      */
541:     public function beastarmorCommand($message, $channel, $sender, $sendto, $args) {
542:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Beast Armor'));
543:     }
544:     
545:     /**
546:      * Author: Marinerecon (RK2)
547:      *
548:      * @HandlesCommand("beastweaps")
549:      * @Matches("/^beastweaps$/i")
550:      */
551:     public function beastweapsCommand($message, $channel, $sender, $sendto, $args) {
552:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Beast Weapons'));
553:     }
554:     
555:     /**
556:      * Author: Marinerecon (RK2)
557:      *
558:      * @HandlesCommand("beaststars")
559:      * @Matches("/^beaststars$/i")
560:      */
561:     public function beaststarsCommand($message, $channel, $sender, $sendto, $args) {
562:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Stars'));
563:     }
564:     
565:     /**
566:      * Author: Marinerecon (RK2)
567:      *
568:      * @HandlesCommand("sb")
569:      * @Matches("/^sb$/i")
570:      */
571:     public function sbCommand($message, $channel, $sender, $sendto, $args) {
572:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Shadowbreeds'));
573:     }
574:     
575:     /**
576:      * Author: Marinerecon (RK2)
577:      *
578:      * @HandlesCommand("tnh")
579:      * @Matches("/^tnh$/i")
580:      */
581:     public function tnhCommand($message, $channel, $sender, $sendto, $args) {
582:         $sendto->reply($this->getPandemoniumLoot('Pande', 'The Night Heart'));
583:     }
584:     
585:     /**
586:      * Author: Marinerecon (RK2)
587:      *
588:      * @HandlesCommand("aries")
589:      * @Matches("/^aries$/i")
590:      */
591:     public function ariesCommand($message, $channel, $sender, $sendto, $args) {
592:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Aries'));
593:     }
594:     
595:     /**
596:      * Author: Marinerecon (RK2)
597:      *
598:      * @HandlesCommand("leo")
599:      * @Matches("/^leo$/i")
600:      */
601:     public function leoCommand($message, $channel, $sender, $sendto, $args) {
602:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Leo'));
603:     }
604:     
605:     /**
606:      * Author: Marinerecon (RK2)
607:      *
608:      * @HandlesCommand("virgo")
609:      * @Matches("/^virgo$/i")
610:      */
611:     public function virgoCommand($message, $channel, $sender, $sendto, $args) {
612:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Virgo'));
613:     }
614:     
615:     /**
616:      * Author: Marinerecon (RK2)
617:      *
618:      * @HandlesCommand("aquarius")
619:      * @Matches("/^aquarius$/i")
620:      */
621:     public function aquariusCommand($message, $channel, $sender, $sendto, $args) {
622:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Aquarius'));
623:     }
624:     
625:     /**
626:      * Author: Marinerecon (RK2)
627:      *
628:      * @HandlesCommand("cancer")
629:      * @Matches("/^cancer$/i")
630:      */
631:     public function cancerCommand($message, $channel, $sender, $sendto, $args) {
632:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Cancer'));
633:     }
634:     
635:     /**
636:      * Author: Marinerecon (RK2)
637:      *
638:      * @HandlesCommand("gemini")
639:      * @Matches("/^gemini$/i")
640:      */
641:     public function geminiCommand($message, $channel, $sender, $sendto, $args) {
642:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Gemini'));
643:     }
644:     
645:     /**
646:      * Author: Marinerecon (RK2)
647:      *
648:      * @HandlesCommand("libra")
649:      * @Matches("/^libra$/i")
650:      */
651:     public function libraCommand($message, $channel, $sender, $sendto, $args) {
652:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Libra'));
653:     }
654:     
655:     /**
656:      * Author: Marinerecon (RK2)
657:      *
658:      * @HandlesCommand("pisces")
659:      * @Matches("/^pisces$/i")
660:      */
661:     public function piscesCommand($message, $channel, $sender, $sendto, $args) {
662:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Pisces'));
663:     }
664:     
665:     /**
666:      * Author: Marinerecon (RK2)
667:      *
668:      * @HandlesCommand("taurus")
669:      * @Matches("/^taurus$/i")
670:      */
671:     public function taurusCommand($message, $channel, $sender, $sendto, $args) {
672:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Taurus'));
673:     }
674:     
675:     /**
676:      * Author: Marinerecon (RK2)
677:      *
678:      * @HandlesCommand("capricorn")
679:      * @Matches("/^capricorn$/i")
680:      */
681:     public function capricornCommand($message, $channel, $sender, $sendto, $args) {
682:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Capricorn'));
683:     }
684:     
685:     /**
686:      * Author: Marinerecon (RK2)
687:      *
688:      * @HandlesCommand("sagittarius")
689:      * @Matches("/^sagittarius$/i")
690:      */
691:     public function sagittariusCommand($message, $channel, $sender, $sendto, $args) {
692:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Sagittarius'));
693:     }
694:     
695:     /**
696:      * Author: Marinerecon (RK2)
697:      *
698:      * @HandlesCommand("scorpio")
699:      * @Matches("/^scorpio$/i")
700:      */
701:     public function scorpioCommand($message, $channel, $sender, $sendto, $args) {
702:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Scorpio'));
703:     }
704:     
705:     /**
706:      * Author: Marinerecon (RK2)
707:      *
708:      * @HandlesCommand("bastion")
709:      * @Matches("/^bastion$/i")
710:      */
711:     public function bastionCommand($message, $channel, $sender, $sendto, $args) {
712:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Bastion'));
713:     }
714:     
715:     public function getPandemoniumLoot($raid, $category) {
716:         $blob = $this->findRaidLoot($raid, $category);
717:         $blob .= "\n\nPande Loot By Marinerecon (RK2)";
718:         return $this->text->makeBlob("$raid $category Loot", $blob);
719:     }
720:     
721:     /**
722:      * Author: Marinerecon (RK2)
723:      *
724:      * @HandlesCommand("pande")
725:      * @Matches("/^pande$/i")
726:      */
727:     public function pandeCommand($message, $channel, $sender, $sendto, $args) {
728:         $list .= "<header2>The Beast<end>\n";
729:         $list .= "<tab>".$this->text->makeChatcmd("Beast Armor\n", "/tell <myname> beastarmor");
730:         $list .= "<tab>".$this->text->makeChatcmd("Beast Weapons\n", "/tell <myname> beastweaps");
731:         $list .= "<tab>".$this->text->makeChatcmd("Beast Stars\n", "/tell <myname> beaststars");
732:         $list .= "\n<header2>The Night Heart<end>\n";
733:         $list .= "<tab>".$this->text->makeChatcmd("TNH\n", "/tell <myname> tnh");
734:         $list .= "\n<header2>West Zodiacs<end>\n";
735:         $list .= "<tab>".$this->text->makeChatcmd("Aries\n", "/tell <myname> aries");
736:         $list .= "<tab>".$this->text->makeChatcmd("Leo\n", "/tell <myname> leo");
737:         $list .= "<tab>".$this->text->makeChatcmd("Virgo\n", "/tell <myname> virgo");
738:         $list .= "\n<header2>East Zodiacs<end>\n";
739:         $list .= "<tab>".$this->text->makeChatcmd("Aquarius\n", "/tell <myname> aquarius");
740:         $list .= "<tab>".$this->text->makeChatcmd("Cancer\n", "/tell <myname> cancer");
741:         $list .= "<tab>".$this->text->makeChatcmd("Gemini\n", "/tell <myname> gemini");
742:         $list .= "\n<header2>Middle Zodiacs<end>\n";
743:         $list .= "<tab>".$this->text->makeChatcmd("Libra\n", "/tell <myname> libra");
744:         $list .= "<tab>".$this->text->makeChatcmd("Pisces\n", "/tell <myname> pisces");
745:         $list .= "<tab>".$this->text->makeChatcmd("Taurus\n", "/tell <myname> taurus");
746:         $list .= "\n<header2>North Zodiacs<end>\n";
747:         $list .= "<tab>".$this->text->makeChatcmd("Capricorn\n", "/tell <myname> capricorn");
748:         $list .= "<tab>".$this->text->makeChatcmd("Sagittarius\n", "/tell <myname> sagittarius");
749:         $list .= "<tab>".$this->text->makeChatcmd("Scorpio\n", "/tell <myname> scorpio");
750:         $list .= "\n<header2>Other<end>\n";
751:         $list .= "<tab>".$this->text->makeChatcmd("Shadowbreeds\n", "/tell <myname> sb");
752:         $list .= "<tab>".$this->text->makeChatcmd("Bastion\n", "/tell <myname> bastion");
753: 
754:         $list .= "\n\nPandemonium Loot By Marinerecon (RK2)";
755: 
756:         $msg = $this->text->makeBlob("Pandemonium Loot", $list);
757:         $sendto->reply($msg);
758:     }
759:     
760:     /**
761:      * Author: Morgo (RK2)
762:      *
763:      * @HandlesCommand("vortexx")
764:      * @Matches("/^vortexx$/i")
765:      */
766:     public function xanVortexxCommand($message, $channel, $sender, $sendto, $args) {
767:         $sendto->reply($this->getXanLoot('Vortexx', 'General'));
768:         $sendto->reply($this->getXanLoot('Vortexx', 'Symbiants'));
769:         $sendto->reply($this->getXanLoot('Vortexx', 'Spirits'));
770:     }
771:     
772:     /**
773:      * Author: Morgo (RK2)
774:      *
775:      * @HandlesCommand("mitaar")
776:      * @Matches("/^mitaar$/i")
777:      */
778:     public function xanMitaarCommand($message, $channel, $sender, $sendto, $args) {
779:         $sendto->reply($this->getXanLoot('Mitaar', 'General'));
780:         $sendto->reply($this->getXanLoot('Mitaar', 'Symbiants'));
781:         $sendto->reply($this->getXanLoot('Mitaar', 'Spirits'));
782:     }
783:     
784:     /**
785:      * Author: Morgo (RK2)
786:      *
787:      * @HandlesCommand("12m")
788:      * @Matches("/^12m$/i")
789:      */
790:     public function xan12mCommand($message, $channel, $sender, $sendto, $args) {
791:         $sendto->reply($this->getXanLoot('12Man', 'General'));
792:         $sendto->reply($this->getXanLoot('12Man', 'Symbiants'));
793:         $sendto->reply($this->getXanLoot('12Man', 'Spirits'));
794:         $sendto->reply($this->getXanLoot('12Man', 'Profession Gems'));
795:     }
796:     
797:     public function getXanLoot($raid, $category) {
798:         $blob = $this->findRaidLoot($raid, $category);
799:         $blob .= "\n\nXan Loot By Morgo (RK2)";
800:         return $this->text->makeBlob("$raid $category Loot", $blob);
801:     }
802:     
803:     /**
804:      * Author: Morgo (RK2)
805:      *
806:      * @HandlesCommand("xan")
807:      * @Matches("/^xan$/i")
808:      */
809:     public function xanCommand($message, $channel, $sender, $sendto, $args) {
810:         $list = $this->text->makeChatcmd("Vortexx", "/tell <myname> vortexx") . "\n";
811:         $list .= "<tab>General\n";
812:         $list .= "<tab>Symbiants (Beta)\n";
813:         $list .= "<tab>Spirits (Beta)\n\n";
814: 
815:         $list .= $this->text->makeChatcmd("Mitaar Hero", "/tell <myname> mitaar") . "\n";
816:         $list .= "<tab>General\n";
817:         $list .= "<tab>Symbiants (Beta)\n";
818:         $list .= "<tab>Spirits (Beta)\n\n";
819: 
820:         $list .= $this->text->makeChatcmd("12 Man", "/tell <myname> 12m") . "\n";
821:         $list .= "<tab>General\n";
822:         $list .= "<tab>Symbiants (Beta)\n";
823:         $list .= "<tab>Spirits (Beta)\n";
824:         $list .= "<tab>Profession Gems\n";
825: 
826:         $list .= "\n\nXan Loot By Morgo (RK2)";
827: 
828:         $msg = $this->text->makeBlob("Legacy of the Xan Loot", $list);
829:         $sendto->reply($msg);
830:     }
831: 
832:     /**
833:      * @HandlesCommand("poh")
834:      * @Matches("/^poh$/i")
835:      */
836:     public function pohCommand($message, $channel, $sender, $sendto, $args) {
837:         $blob = $this->findRaidLoot('Pyramid of Home', 'General');
838:         $blob .= $this->findRaidLoot('Pyramid of Home', 'HUD/NCU');
839:         $msg = $this->text->makeBlob("Pyramid of Home Loot", $blob);
840: 
841:         $sendto->reply($msg);
842:         $sendto->reply($this->getPandemoniumLoot('Pande', 'Beast Weapons'));
843:     }
844: 
845:     public function findRaidLoot($raid, $category) {
846:         $sql =
847:             "SELECT *, COALESCE(a.name, r.name) AS name
848:             FROM raid_loot r LEFT JOIN aodb a ON (r.name = a.name AND r.ql >= a.lowql AND r.ql <= a.highql)
849:             WHERE raid = ? AND category = ?";
850:         $data = $this->db->query($sql, $raid, $category);
851: 
852:         if (count($data) == 0) {
853:             return null;
854:         }
855: 
856:         $blob = "\n";
857:         forEach ($data as $row) {
858:             $blob .= "<pagebreak>";
859:             if ($row->lowid) {
860:                 $blob .= $this->text->makeItem($row->lowid, $row->highid, $row->ql, "<img src=rdb://{$row->icon}>");
861:             }
862:             $blob .= "\n<highlight>{$row->name}<end>";
863:             if ($row->multiloot > 1) {
864:                 $blob .= " x" . $row->multiloot;
865:             }
866:             if (!empty($row->comment)) {
867:                 $blob .= " ($row->comment)";
868:             }
869:             $blob .= "\n";
870:             $blob .= $this->text->makeChatcmd("Add to Loot List", "/tell <myname> loot add $row->id");
871:             $blob .= "\n\n";
872:         }
873: 
874:         return $blob;
875:     }
876: }
877: 
Budabot 4 Docs API documentation generated by ApiGen