diff --git a/localization/locale_dede.php b/localization/locale_dede.php index c1db4097..7ace5194 100644 --- a/localization/locale_dede.php +++ b/localization/locale_dede.php @@ -175,11 +175,13 @@ $lang = array( 'arenateam' => "Dieses Arena Team existiert nicht oder wurde noch nicht in die Datenbank übernommen.", 'profile' => "Dieser Charakter existiert nicht oder wurde noch nicht in die Datenbank übernommen." ), - 'dummyNPCs' => array( - 100001 => "Luftschiffkampf", - 200001 => "Bestien von Nordend", 200002 => "Fraktionschampions", 200003 => "Zwillingsval'kyr", - 300001 => "Die Vier Reiter", - 400001 => "Versammlung des Eisens" + 'encounterNames'=> array( + 243 => "Die Sieben", + 334 => "Großchampions", + 629 => "Bestien von Nordened", 637 => "Fraktionschampions", 641 => "Zwillingsval'kyr", + 692 => "Die vier Reiter", + 748 => "Der Eiserne Rat", + 847 => "Kanonenschiffsschlacht von Eiskrone" ), ), 'screenshot' => array( @@ -552,7 +554,7 @@ $lang = array( SAI_ACTION_RANDOM_PHASE_RANGE => ['Wähle zufällige Ereignisphase zwischen %1$d und %2$d.', null], SAI_ACTION_RESET_GOBJECT => ['Setze #target# zurück.', null], SAI_ACTION_CALL_KILLEDMONSTER => ['Ein Tod von [npc=%1$d] wird #target# zugeschrieben.', null], - SAI_ACTION_SET_INST_DATA => ['Setze Instanz (%3$d)?Boss State:Datenfeld; #[b]]%1$d[/b] auf [b]%2$d[/b].', null], + SAI_ACTION_SET_INST_DATA => ['Setze Instanz (%3$d)?Boss State:Datenfeld; #[b]%1$d[/b] auf [b]%2$d[/b].', null], null, SAI_ACTION_UPDATE_TEMPLATE => ['Transformiere zu [npc=%1$d](%2$d)? mit Stufe [b]%2$d[/b]:;.', null], SAI_ACTION_DIE => ['Stirb!', null], diff --git a/localization/locale_enus.php b/localization/locale_enus.php index f3a2c54d..88ad438b 100644 --- a/localization/locale_enus.php +++ b/localization/locale_enus.php @@ -175,11 +175,13 @@ $lang = array( 'arenateam' => "This Arena Team doesn't exist or is not yet in the database.", 'profile' => "This character doesn't exist or is not yet in the database." ), - 'dummyNPCs' => array( - 100001 => "Gunship Battle", - 200001 => "Northrend Beasts", 200002 => "Faction Champions", 200003 => "Val'kyr Twins", - 300001 => "The Four Horsemen", - 400001 => "Assembly of Iron" + 'encounterNames'=> array( // from dungeonencounter.dbc + 243 => "The Seven", + 334 => "Grand Champions", + 629 => "Northrend Beasts", 637 => "Faction Champions", 641 => "Val'kyr Twins", + 692 => "The Four Horsemen", + 748 => "The Iron Council", + 847 => "Icecrown Gunship Battle" ), ), 'screenshot' => array( @@ -552,7 +554,7 @@ $lang = array( SAI_ACTION_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null], SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', null], SAI_ACTION_CALL_KILLEDMONSTER => ['A kill of [npc=%1$d] is credited to #target#.', null], - SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]]%1$d[/b] to [b]%2$d[/b].', null], + SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]%1$d[/b] to [b]%2$d[/b].', null], null, SAI_ACTION_UPDATE_TEMPLATE => ['Transform to become [npc=%1$d](%2$d)? with level [b]%2$d[/b]:;.', null], SAI_ACTION_DIE => ['Die...   painfully.', null], diff --git a/localization/locale_eses.php b/localization/locale_eses.php index a713c93b..40c7a43d 100644 --- a/localization/locale_eses.php +++ b/localization/locale_eses.php @@ -175,11 +175,13 @@ $lang = array( 'arenateam' => "[This Arena Team doesn't exist or is not yet in the database.]", 'profile' => "Este personaje no existe o no está aun en la base de datos.", ), - 'dummyNPCs' => array( - 100001 => "Batalla de naves de guerra", - 200001 => "Bestias de Rasganorte", 200002 => "Campeones de facciones", 200003 => "Gemelas Val'kyr", - 300001 => "Los Cuatro Jinetes", - 400001 => "La Asamblea de Hierro" + 'encounterNames'=> array( + 243 => "Los Siete", + 334 => "Grandes Campeones", + 629 => "Bestias de Rasganorte", 637 => "Campeones de la facción", 641 => "Gemelas Val'kyr", + 692 => "Los Cuatro Jinetes", + 748 => "El Consejo de Hierro", + 847 => "Batalla de naves de guerra de Corona de Hielo" ), ), 'screenshot' => array( @@ -552,7 +554,7 @@ $lang = array( SAI_ACTION_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null], SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', null], SAI_ACTION_CALL_KILLEDMONSTER => ['A kill of [npc=%1$d] is credited to #target#.', null], - SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]]%1$d[/b] to [b]%2$d[/b].', null], + SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]%1$d[/b] to [b]%2$d[/b].', null], null, SAI_ACTION_UPDATE_TEMPLATE => ['Transform to become [npc=%1$d](%2$d)? with level [b]%2$d[/b]:;.', null], SAI_ACTION_DIE => ['Die...   painfully.', null], diff --git a/localization/locale_frfr.php b/localization/locale_frfr.php index caff842c..da000bef 100644 --- a/localization/locale_frfr.php +++ b/localization/locale_frfr.php @@ -175,11 +175,13 @@ $lang = array( 'arenateam' => "[This Arena Team doesn't exist or is not yet in the database.]", 'profile' => "[This character doesn't exist or is not yet in the database.]" ), - 'dummyNPCs' => array( - 100001 => "Bataille des canonnières", - 200001 => "Bêtes du Norfendre", 200002 => "Champions de faction", 200003 => "Les jumelles val'kyrs", - 300001 => "Les Quatre Cavaliers", - 400001 => "Mande-foudre Brundir" + 'encounterNames'=> array( + 243 => "Les Sept", + 334 => "Grands champions", + 629 => "Bêtes du Norfendre", 637 => "Champions de faction", 641 => "Les jumelles val'kyrs", + 692 => "Les quatre cavaliers", + 748 => "Le conseil de fer", + 847 => "Bataille des canonnières de la Couronne de glace" ), ), 'screenshot' => array( @@ -552,7 +554,7 @@ $lang = array( SAI_ACTION_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null], SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', null], SAI_ACTION_CALL_KILLEDMONSTER => ['A kill of [npc=%1$d] is credited to #target#.', null], - SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]]%1$d[/b] to [b]%2$d[/b].', null], + SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]%1$d[/b] to [b]%2$d[/b].', null], null, SAI_ACTION_UPDATE_TEMPLATE => ['Transform to become [npc=%1$d](%2$d)? with level [b]%2$d[/b]:;.', null], SAI_ACTION_DIE => ['Die...   painfully.', null], diff --git a/localization/locale_ruru.php b/localization/locale_ruru.php index 3788b7e2..8889d933 100644 --- a/localization/locale_ruru.php +++ b/localization/locale_ruru.php @@ -175,11 +175,13 @@ $lang = array( 'arenateam' => "[This Arena Team doesn't exist or is not yet in the database.]", 'guild' => "Такая гильдия не существует, или еще не добавлена в базу данных." ), - 'dummyNPCs' => array( - 100001 => "Бой на Кораблях", - 200001 => "Звери Нордскола", 200002 => "Чемпионы фракций", 200003 => "Валь'киры-близнецы", - 300001 => "Четыре Всадника", - 400001 => "Железное Собрание" + 'encounterNames'=> array( + 243 => "Семеро", + 334 => "Абсолютные чемпионы", + 629 => "Чудовища Нордскола", 637 => "Чемпионы фракций", 641 => "Валь'киры-близнецы", + 692 => "Четыре всадника", + 748 => "Железное Собрание", + 847 => "Боевой корабль Ледяной Короны" ), ), 'screenshot' => array( @@ -552,7 +554,7 @@ $lang = array( SAI_ACTION_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null], SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', null], SAI_ACTION_CALL_KILLEDMONSTER => ['A kill of [npc=%1$d] is credited to #target#.', null], - SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]]%1$d[/b] to [b]%2$d[/b].', null], + SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]%1$d[/b] to [b]%2$d[/b].', null], null, SAI_ACTION_UPDATE_TEMPLATE => ['Transform to become [npc=%1$d](%2$d)? with level [b]%2$d[/b]:;.', null], SAI_ACTION_DIE => ['Die...   painfully.', null], diff --git a/localization/locale_zhcn.php b/localization/locale_zhcn.php index 8a479967..1da9237c 100644 --- a/localization/locale_zhcn.php +++ b/localization/locale_zhcn.php @@ -175,11 +175,13 @@ $lang = array( 'arenateam' => "This Arena Team doesn't exist or is not yet in the database.", 'profile' => "This character doesn't exist or is not yet in the database." ), - 'dummyNPCs' => array( - 100001 => "Gunship Battle", - 200001 => "Northrend Beasts", 200002 => "Faction Champions", 200003 => "Val'kyr Twins", - 300001 => "The Four Horsemen", - 400001 => "Assembly of Iron" + 'encounterNames'=> array( + 243 => "黑铁七贤", + 334 => "总冠军", + 629 => "诺森德猛兽", 637 => "阵营冠军", 641 => "瓦格里双子", + 692 => "天启四骑士", + 748 => "钢铁议会", + 847 => "冰冠冰川炮舰战" ), ), 'screenshot' => array( @@ -552,7 +554,7 @@ $lang = array( SAI_ACTION_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null], SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', null], SAI_ACTION_CALL_KILLEDMONSTER => ['A kill of [npc=%1$d] is credited to #target#.', null], - SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]]%1$d[/b] to [b]%2$d[/b].', null], + SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]%1$d[/b] to [b]%2$d[/b].', null], null, SAI_ACTION_UPDATE_TEMPLATE => ['Transform to become [npc=%1$d](%2$d)? with level [b]%2$d[/b]:;.', null], SAI_ACTION_DIE => ['Die...   painfully.', null], diff --git a/pages/object.php b/pages/object.php index 8daf0aa7..75223c72 100644 --- a/pages/object.php +++ b/pages/object.php @@ -217,13 +217,16 @@ class ObjectPage extends GenericPage $relBoss = null; - if ($_ = DB::Aowow()->selectCell('SELECT ABS(npcId) FROM ?_loot_link WHERE objectId = ?d', $this->typeId)) + if ($ll = DB::Aowow()->selectRow('SELECT * FROM ?_loot_link WHERE objectId = ?d ORDER BY priority DESC LIMIT 1', $this->typeId)) { + // group encounter + if ($ll['encounterId']) + $relBoss = [$ll['npcId'], Lang::profiler('encounterNames', $ll['encounterId'])]; // difficulty dummy - if ($c = DB::Aowow()->selectRow('SELECT id, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_creature WHERE difficultyEntry1 = ?d OR difficultyEntry2 = ?d OR difficultyEntry3 = ?d', $_, $_, $_)) + else if ($c = DB::Aowow()->selectRow('SELECT id, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_creature WHERE difficultyEntry1 = ?d OR difficultyEntry2 = ?d OR difficultyEntry3 = ?d', abs($ll['npcId']), abs($ll['npcId']), abs($ll['npcId']))) $relBoss = [$c['id'], Util::localizedString($c, 'name')]; // base creature - else if ($c = DB::Aowow()->selectRow('SELECT id, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_creature WHERE id = ?d', $_)) + else if ($c = DB::Aowow()->selectRow('SELECT id, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_creature WHERE id = ?d', abs($ll['npcId']))) $relBoss = [$c['id'], Util::localizedString($c, 'name')]; } diff --git a/pages/profile.php b/pages/profile.php index 46caffd6..10c6f36e 100644 --- a/pages/profile.php +++ b/pages/profile.php @@ -154,18 +154,11 @@ class ProfilePage extends GenericPage /* Anub, Faerlina, Maexxna, Noth, Heigan, Loatheb, Razuvious, Gothik, Patchwerk, Grobbulus, Gluth, Thaddius, Sapphiron, Kel'Thuzad */ /* nax */ 15956, 15953, 15952, 15954, 15936, 16011, 16061, 16060, 16028, 15931, 15932, 15928, 15989, 15990 ); - // some events have no singular creature to point to .. create dummy entries - $dummyNPCs = [TYPE_NPC => array( - 100001 => ['name_'.User::$localeString => Lang::profiler('dummyNPCs', 100001)], // Gunship Battle - 200001 => ['name_'.User::$localeString => Lang::profiler('dummyNPCs', 200001)], // Northrend Beasts - 200002 => ['name_'.User::$localeString => Lang::profiler('dummyNPCs', 200002)], // Faction Champions - 200003 => ['name_'.User::$localeString => Lang::profiler('dummyNPCs', 200003)], // Val'kyr Twins - 300001 => ['name_'.User::$localeString => Lang::profiler('dummyNPCs', 300001)], // The Four Horsemen - 400001 => ['name_'.User::$localeString => Lang::profiler('dummyNPCs', 400001)] // Assembly of Iron - )]; - $this->extendGlobalIds(TYPE_NPC, $bossIds); - $this->extendGlobalData($dummyNPCs); + + // dummy title from dungeon encounter + foreach (Lang::profiler('encounterNames') as $id => $name) + $this->extendGlobalData([TYPE_NPC => [$id => ['name_'.User::$localeString => $name]]]); } protected function generatePath() diff --git a/setup/db_structure.sql b/setup/db_structure.sql index 9eaf73e6..c0e8a7d2 100644 --- a/setup/db_structure.sql +++ b/setup/db_structure.sql @@ -1573,8 +1573,10 @@ DROP TABLE IF EXISTS `aowow_loot_link`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `aowow_loot_link` ( - `npcId` mediumint(8) NOT NULL, + `npcId` mediumint(8) NOT NULL COMMENT 'id > 0 normal; id < 0 heroic', `objectId` mediumint(8) unsigned NOT NULL, + `priority` tinyint(1) unsigned NOT NULL COMMENT '1: use this npc from group encounter (others 0)', + `encounterId` mediumint(8) unsigned NOT NULL COMMENT 'as title reference', UNIQUE KEY `npcId` (`npcId`), KEY `objectId` (`objectId`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; @@ -3119,7 +3121,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_dbversion` WRITE; /*!40000 ALTER TABLE `aowow_dbversion` DISABLE KEYS */; -INSERT INTO `aowow_dbversion` VALUES (1586458385,0,NULL,NULL); +INSERT INTO `aowow_dbversion` VALUES (1588517066,0,NULL,NULL); /*!40000 ALTER TABLE `aowow_dbversion` ENABLE KEYS */; UNLOCK TABLES; @@ -3159,7 +3161,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_loot_link` WRITE; /*!40000 ALTER TABLE `aowow_loot_link` DISABLE KEYS */; -INSERT INTO `aowow_loot_link` VALUES (17537,185168),(18434,185169),(17536,185168),(18432,185169),(19218,184465),(21525,184849),(19710,184465),(21526,184849),(28234,190586),(-28234,193996),(27656,191349),(31561,193603),(26533,190663),(31217,193597),(16064,181366),(30603,193426),(16065,181366),(30601,193426),(30549,181366),(30600,193426),(16063,181366),(30602,193426),(28859,193905),(31734,193967),(32930,195046),(33909,195047),(32865,194313),(33147,194315),(33350,194957),(-33350,194958),(32845,194200),(32846,194201),(32906,194324),(33360,194325),(32871,194821),(33070,194822),(35119,195374),(35518,195375),(34928,195323),(35517,195324),(34705,195709),(36088,195710),(34702,195709),(36082,195710),(34701,195709),(36083,195710),(34657,195709),(36086,195710),(34703,195709),(36087,195710),(35572,195709),(36089,195710),(35569,195709),(36085,195710),(35571,195709),(36090,195710),(35570,195709),(36091,195710),(35617,195709),(36084,195710),(34441,195631),(34442,195632),(34443,195633),(-34443,195635),(34444,195631),(35740,195632),(35741,195633),(-35741,195635),(34445,195631),(35705,195632),(35706,195633),(-35706,195635),(34447,195631),(35683,195632),(35684,195633),(-35684,195635),(34448,195631),(35724,195632),(35725,195633),(-35725,195635),(34449,195631),(35689,195632),(35690,195633),(-35690,195635),(34450,195631),(35695,195632),(35696,195633),(-35696,195635),(34451,195631),(35671,195632),(35672,195633),(-35672,195635),(34453,195631),(35718,195632),(35719,195633),(-35719,195635),(34454,195631),(35711,195632),(35712,195633),(-35712,195635),(34455,195631),(35680,195632),(35681,195633),(-35681,195635),(34456,195631),(35708,195632),(35709,195633),(-35709,195635),(34458,195631),(35692,195632),(35693,195633),(-35693,195635),(34459,195631),(35686,195632),(35687,195633),(-35687,195635),(34460,195631),(35702,195632),(35703,195633),(-35703,195635),(34461,195631),(35743,195632),(35744,195633),(-35744,195635),(34463,195631),(35734,195632),(35735,195633),(-35735,195635),(34465,195631),(35746,195632),(35747,195633),(-35747,195635),(34466,195631),(35665,195632),(35666,195633),(-35666,195635),(34467,195631),(35662,195632),(35663,195633),(-35663,195635),(34468,195631),(35721,195632),(35722,195633),(-35722,195635),(34469,195631),(35714,195632),(35715,195633),(-35715,195635),(34470,195631),(35728,195632),(35729,195633),(-35729,195635),(34471,195631),(35668,195632),(35669,195633),(-35669,195635),(34472,195631),(35699,195632),(35700,195633),(-35700,195635),(34473,195631),(35674,195632),(35675,195633),(-35675,195635),(34474,195631),(35731,195632),(35732,195633),(-35732,195635),(34475,195631),(35737,195632),(35738,195633),(-35738,195635),(37226,201710),(-37226,202336),(36948,202178),(38157,202180),(38639,202177),(38640,202179),(36939,202178),(38156,202180),(38637,202177),(38638,202179); +INSERT INTO `aowow_loot_link` VALUES (17537,185168,1,0),(18434,185169,1,0),(17536,185168,0,0),(18432,185169,0,0),(19218,184465,1,0),(21525,184849,1,0),(19710,184465,0,0),(21526,184849,0,0),(28234,190586,0,0),(-28234,193996,0,0),(27656,191349,0,0),(31561,193603,0,0),(26533,190663,0,0),(31217,193597,0,0),(16064,181366,0,692),(30603,193426,0,692),(16065,181366,0,692),(30601,193426,0,692),(30549,181366,1,692),(30600,193426,1,692),(16063,181366,0,692),(30602,193426,0,692),(28859,193905,0,0),(31734,193967,0,0),(32930,195046,0,0),(33909,195047,0,0),(32865,194313,0,0),(33147,194315,0,0),(33350,194957,0,0),(-33350,194958,0,0),(32845,194200,0,0),(32846,194201,0,0),(32906,194324,0,0),(33360,194325,0,0),(32871,194821,0,0),(33070,194822,0,0),(35119,195374,0,0),(35518,195375,0,0),(34928,195323,0,0),(35517,195324,0,0),(34705,195709,0,334),(36088,195710,0,334),(34702,195709,0,334),(36082,195710,0,334),(34701,195709,0,334),(36083,195710,0,334),(34657,195709,0,334),(36086,195710,0,334),(34703,195709,0,334),(36087,195710,0,334),(35572,195709,0,334),(36089,195710,0,334),(35569,195709,1,334),(36085,195710,1,334),(35571,195709,0,334),(36090,195710,0,334),(35570,195709,0,334),(36091,195710,0,334),(35617,195709,0,334),(36084,195710,0,334),(34441,195631,1,637),(34442,195632,1,637),(34443,195633,1,637),(35749,195635,1,637),(34444,195631,0,637),(35740,195632,0,637),(35741,195633,0,637),(-35741,195635,0,637),(34445,195631,0,637),(35705,195632,0,637),(35706,195633,0,637),(-35706,195635,0,637),(34447,195631,0,637),(35683,195632,0,637),(35684,195633,0,637),(-35684,195635,0,637),(34448,195631,0,637),(35724,195632,0,637),(35725,195633,0,637),(-35725,195635,0,637),(34449,195631,0,637),(35689,195632,0,637),(35690,195633,0,637),(-35690,195635,0,637),(34450,195631,0,637),(35695,195632,0,637),(35696,195633,0,637),(-35696,195635,0,637),(34451,195631,0,637),(35671,195632,0,637),(35672,195633,0,637),(-35672,195635,0,637),(34453,195631,0,637),(35718,195632,0,637),(35719,195633,0,637),(-35719,195635,0,637),(34454,195631,0,637),(35711,195632,0,637),(35712,195633,0,637),(-35712,195635,0,637),(34455,195631,0,637),(35680,195632,0,637),(35681,195633,0,637),(-35681,195635,0,637),(34456,195631,0,637),(35708,195632,0,637),(35709,195633,0,637),(-35709,195635,0,637),(34458,195631,0,637),(35692,195632,0,637),(35693,195633,0,637),(-35693,195635,0,637),(34459,195631,0,637),(35686,195632,0,637),(35687,195633,0,637),(-35687,195635,0,637),(34460,195631,0,637),(35702,195632,0,637),(35703,195633,0,637),(-35703,195635,0,637),(34461,195631,0,637),(35743,195632,0,637),(35744,195633,0,637),(-35744,195635,0,637),(34463,195631,0,637),(35734,195632,0,637),(35735,195633,0,637),(-35735,195635,0,637),(34465,195631,0,637),(35746,195632,0,637),(35747,195633,0,637),(-35747,195635,0,637),(34466,195631,0,637),(35665,195632,0,637),(35666,195633,0,637),(-35666,195635,0,637),(34467,195631,0,637),(35662,195632,0,637),(35663,195633,0,637),(-35663,195635,0,637),(34468,195631,0,637),(35721,195632,0,637),(35722,195633,0,637),(-35722,195635,0,637),(34469,195631,0,637),(35714,195632,0,637),(35715,195633,0,637),(-35715,195635,0,637),(34470,195631,0,637),(35728,195632,0,637),(35729,195633,0,637),(-35729,195635,0,637),(34471,195631,0,637),(35668,195632,0,637),(35669,195633,0,637),(-35669,195635,0,637),(34472,195631,0,637),(35699,195632,0,637),(35700,195633,0,637),(-35700,195635,0,637),(34473,195631,0,637),(35674,195632,0,637),(35675,195633,0,637),(-35675,195635,0,637),(34474,195631,0,637),(35731,195632,0,637),(35732,195633,0,637),(-35732,195635,0,637),(34475,195631,0,637),(35737,195632,0,637),(35738,195633,0,637),(-35738,195635,0,637),(37226,201710,0,0),(-37226,202336,0,0),(36948,202178,0,847),(38157,202180,0,847),(38639,202177,0,847),(38640,202179,0,847),(36939,202178,0,847),(38156,202180,0,847),(38637,202177,0,847),(38638,202179,0,847),(9034,169243,0,243),(9035,169243,1,243),(9036,169243,0,243),(9037,169243,0,243),(9038,169243,0,243),(9039,169243,0,243),(9040,169243,0,243),(37813,202238,0,0),(38402,202239,0,0),(38582,202240,0,0),(38583,202241,0,0),(36789,201959,0,0),(-36789,202338,0,0),(38174,202339,0,0),(-38174,202340,0,0); /*!40000 ALTER TABLE `aowow_loot_link` ENABLE KEYS */; UNLOCK TABLES; diff --git a/setup/setup.php b/setup/setup.php index 5873145d..e385bdce 100644 --- a/setup/setup.php +++ b/setup/setup.php @@ -29,7 +29,7 @@ function finish() die("\n"); } -$opt = getopt('h', ['help', 'account', 'dbconfig', 'siteconfig', 'sql', 'build', 'sync', 'update', 'firstrun']); +$opt = getopt('h', ['help', 'account', 'dbconfig', 'siteconfig', 'sql', 'build', 'sync', 'update', 'firstrun', 'dbc:']); if (!$opt || ((isset($opt['help']) || isset($opt['h'])) && (isset($opt['firstrun']) || isset($opt['resume'])))) { echo "\nAowow Setup\n"; @@ -95,6 +95,26 @@ switch ($cmd) // we accept only on } finish(); + case 'dbc': + foreach (explode(',', $opt['dbc']) as $n) + { + if (empty($n)) + continue; + + $dbc = new DBC(trim($n), ['temporary' => false]); + if ($dbc->error) + { + CLI::write('CLISetup::loadDBC() - required DBC '.$name.'.dbc not found!', CLI::LOG_ERROR); + return false; + } + + if (!$dbc->readFile()) + { + CLI::write('CLISetup::loadDBC() - DBC '.$name.'.dbc could not be written to DB!', CLI::LOG_ERROR); + return false; + } + } + break; } ?> diff --git a/setup/tools/dbc.class.php b/setup/tools/dbc.class.php index 6e4bac25..59174abe 100644 --- a/setup/tools/dbc.class.php +++ b/setup/tools/dbc.class.php @@ -61,6 +61,7 @@ class DBC 'dungeonmap' => 'niiffffi', 'durabilitycosts' => 'niiiiiiiiixiiiiiiiiiiixiiiixix', 'durabilityquality' => 'nf', + 'dungeonencounter' => 'niiiisxsssxsxsxxxxxxxxx', 'emotes' => 'nxixxxx', 'emotestext' => 'nsiixxxixixxxxxxxxx', 'emotestextdata' => 'nsxsssxsxsxxxxxxxx', @@ -162,6 +163,7 @@ class DBC 'dungeonmap' => 'id,mapId,floor,minY,maxY,minX,maxX,areaId', 'durabilitycosts' => 'id,w0,w1,w2,w3,w4,w5,w6,w7,w8,w10,w11,w12,w13,w14,w15,w16,w17,w18,w19,w20,a1,a2,a3,a4,a6', 'durabilityquality' => 'id,mod', + 'dungeonencounter' => 'id,map,mode,order,bit,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', 'emotes' => 'id,animationId', 'emotestext' => 'id,command,emoteId,targetId,noTargetId,selfId', 'emotestextsound' => 'id,emotesTextId,raceId,gender,soundId', diff --git a/setup/updates/1588517065_01.sql b/setup/updates/1588517065_01.sql new file mode 100644 index 00000000..f891bc57 --- /dev/null +++ b/setup/updates/1588517065_01.sql @@ -0,0 +1,208 @@ +DROP TABLE IF EXISTS `aowow_loot_link`; +CREATE TABLE IF NOT EXISTS `aowow_loot_link` ( + `npcId` mediumint(8) NOT NULL COMMENT 'id > 0 normal; id < 0 heroic', + `objectId` mediumint(8) unsigned NOT NULL, + `priority` tinyint(1) unsigned NOT NULL COMMENT '1: use this npc from group encounter (others 0)', + `encounterId` mediumint(8) unsigned NOT NULL COMMENT 'as title reference', + UNIQUE KEY `npcId` (`npcId`), + KEY `objectId` (`objectId`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +INSERT INTO `aowow_loot_link` (`npcId`, `objectId`, `priority`, `encounterId`) VALUES + (17537, 185168, 1, 0), + (18434, 185169, 1, 0), + (17536, 185168, 0, 0), + (18432, 185169, 0, 0), + (19218, 184465, 1, 0), + (21525, 184849, 1, 0), + (19710, 184465, 0, 0), + (21526, 184849, 0, 0), + (28234, 190586, 0, 0), + (-28234, 193996, 0, 0), + (27656, 191349, 0, 0), + (31561, 193603, 0, 0), + (26533, 190663, 0, 0), + (31217, 193597, 0, 0), + (16064, 181366, 0, 692), + (30603, 193426, 0, 692), + (16065, 181366, 0, 692), + (30601, 193426, 0, 692), + (30549, 181366, 1, 692), + (30600, 193426, 1, 692), + (16063, 181366, 0, 692), + (30602, 193426, 0, 692), + (28859, 193905, 0, 0), + (31734, 193967, 0, 0), + (32930, 195046, 0, 0), + (33909, 195047, 0, 0), + (32865, 194313, 0, 0), + (33147, 194315, 0, 0), + (33350, 194957, 0, 0), + (-33350, 194958, 0, 0), + (32845, 194200, 0, 0), + (32846, 194201, 0, 0), + (32906, 194324, 0, 0), + (33360, 194325, 0, 0), + (32871, 194821, 0, 0), + (33070, 194822, 0, 0), + (35119, 195374, 0, 0), + (35518, 195375, 0, 0), + (34928, 195323, 0, 0), + (35517, 195324, 0, 0), + (34705, 195709, 0, 334), + (36088, 195710, 0, 334), + (34702, 195709, 0, 334), + (36082, 195710, 0, 334), + (34701, 195709, 0, 334), + (36083, 195710, 0, 334), + (34657, 195709, 0, 334), + (36086, 195710, 0, 334), + (34703, 195709, 0, 334), + (36087, 195710, 0, 334), + (35572, 195709, 0, 334), + (36089, 195710, 0, 334), + (35569, 195709, 1, 334), + (36085, 195710, 1, 334), + (35571, 195709, 0, 334), + (36090, 195710, 0, 334), + (35570, 195709, 0, 334), + (36091, 195710, 0, 334), + (35617, 195709, 0, 334), + (36084, 195710, 0, 334), + (34441, 195631, 1, 637), + (34442, 195632, 1, 637), + (34443, 195633, 1, 637), + (35749, 195635, 1, 637), + (34444, 195631, 0, 637), + (35740, 195632, 0, 637), + (35741, 195633, 0, 637), + (-35741, 195635, 0, 637), + (34445, 195631, 0, 637), + (35705, 195632, 0, 637), + (35706, 195633, 0, 637), + (-35706, 195635, 0, 637), + (34447, 195631, 0, 637), + (35683, 195632, 0, 637), + (35684, 195633, 0, 637), + (-35684, 195635, 0, 637), + (34448, 195631, 0, 637), + (35724, 195632, 0, 637), + (35725, 195633, 0, 637), + (-35725, 195635, 0, 637), + (34449, 195631, 0, 637), + (35689, 195632, 0, 637), + (35690, 195633, 0, 637), + (-35690, 195635, 0, 637), + (34450, 195631, 0, 637), + (35695, 195632, 0, 637), + (35696, 195633, 0, 637), + (-35696, 195635, 0, 637), + (34451, 195631, 0, 637), + (35671, 195632, 0, 637), + (35672, 195633, 0, 637), + (-35672, 195635, 0, 637), + (34453, 195631, 0, 637), + (35718, 195632, 0, 637), + (35719, 195633, 0, 637), + (-35719, 195635, 0, 637), + (34454, 195631, 0, 637), + (35711, 195632, 0, 637), + (35712, 195633, 0, 637), + (-35712, 195635, 0, 637), + (34455, 195631, 0, 637), + (35680, 195632, 0, 637), + (35681, 195633, 0, 637), + (-35681, 195635, 0, 637), + (34456, 195631, 0, 637), + (35708, 195632, 0, 637), + (35709, 195633, 0, 637), + (-35709, 195635, 0, 637), + (34458, 195631, 0, 637), + (35692, 195632, 0, 637), + (35693, 195633, 0, 637), + (-35693, 195635, 0, 637), + (34459, 195631, 0, 637), + (35686, 195632, 0, 637), + (35687, 195633, 0, 637), + (-35687, 195635, 0, 637), + (34460, 195631, 0, 637), + (35702, 195632, 0, 637), + (35703, 195633, 0, 637), + (-35703, 195635, 0, 637), + (34461, 195631, 0, 637), + (35743, 195632, 0, 637), + (35744, 195633, 0, 637), + (-35744, 195635, 0, 637), + (34463, 195631, 0, 637), + (35734, 195632, 0, 637), + (35735, 195633, 0, 637), + (-35735, 195635, 0, 637), + (34465, 195631, 0, 637), + (35746, 195632, 0, 637), + (35747, 195633, 0, 637), + (-35747, 195635, 0, 637), + (34466, 195631, 0, 637), + (35665, 195632, 0, 637), + (35666, 195633, 0, 637), + (-35666, 195635, 0, 637), + (34467, 195631, 0, 637), + (35662, 195632, 0, 637), + (35663, 195633, 0, 637), + (-35663, 195635, 0, 637), + (34468, 195631, 0, 637), + (35721, 195632, 0, 637), + (35722, 195633, 0, 637), + (-35722, 195635, 0, 637), + (34469, 195631, 0, 637), + (35714, 195632, 0, 637), + (35715, 195633, 0, 637), + (-35715, 195635, 0, 637), + (34470, 195631, 0, 637), + (35728, 195632, 0, 637), + (35729, 195633, 0, 637), + (-35729, 195635, 0, 637), + (34471, 195631, 0, 637), + (35668, 195632, 0, 637), + (35669, 195633, 0, 637), + (-35669, 195635, 0, 637), + (34472, 195631, 0, 637), + (35699, 195632, 0, 637), + (35700, 195633, 0, 637), + (-35700, 195635, 0, 637), + (34473, 195631, 0, 637), + (35674, 195632, 0, 637), + (35675, 195633, 0, 637), + (-35675, 195635, 0, 637), + (34474, 195631, 0, 637), + (35731, 195632, 0, 637), + (35732, 195633, 0, 637), + (-35732, 195635, 0, 637), + (34475, 195631, 0, 637), + (35737, 195632, 0, 637), + (35738, 195633, 0, 637), + (-35738, 195635, 0, 637), + (37226, 201710, 0, 0), + (-37226, 202336, 0, 0), + (36948, 202178, 0, 847), + (38157, 202180, 0, 847), + (38639, 202177, 0, 847), + (38640, 202179, 0, 847), + (36939, 202178, 0, 847), + (38156, 202180, 0, 847), + (38637, 202177, 0, 847), + (38638, 202179, 0, 847), + (9034, 169243, 0, 243), + (9035, 169243, 1, 243), + (9036, 169243, 0, 243), + (9037, 169243, 0, 243), + (9038, 169243, 0, 243), + (9039, 169243, 0, 243), + (9040, 169243, 0, 243), + (37813, 202238, 0, 0), + (38402, 202239, 0, 0), + (38582, 202240, 0, 0), + (38583, 202241, 0, 0), + (36789, 201959, 0, 0), + (-36789, 202338, 0, 0), + (38174, 202339, 0, 0), + (-38174, 202340, 0, 0); diff --git a/static/js/Profiler.js b/static/js/Profiler.js index 3e963d1c..ac76f0ed 100644 --- a/static/js/Profiler.js +++ b/static/js/Profiler.js @@ -95,23 +95,23 @@ function Profiler() { _progress = [ // aowow: don't forget to enable tracking in includes/profiler.class.php { level: 284, instance: 5, heroic: 1, name: g_zones[4987] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'spell_shadow_twilight', achievs: [4816], kills: [[4823, 39863]] }, // Ruby Sanctum 25 hc - { level: 277, instance: 5, heroic: 1, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4637], kills: [[4673, 37970], [4682, 37955], [4664, 37813], [4667, 36626], [4661, 100001], [4656, 36855], [4642, 36612], [4679, 36678], [4670, 36627], [4685, 36853], [4676, 36789], [4688, 36597]] }, // Icecrown Citadel 25 hc + { level: 277, instance: 5, heroic: 1, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4637], kills: [[4673, 37970], [4682, 37955], [4664, 37813], [4667, 36626], [4661, 847], [4656, 36855], [4642, 36612], [4679, 36678], [4670, 36627], [4685, 36853], [4676, 36789], [4688, 36597]] }, // Icecrown Citadel 25 hc { level: 271, instance: 5, name: g_zones[4987] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'spell_shadow_twilight', achievs: [4815], kills: [[4820, 39863]] }, // Ruby Sanctum 25 nh { level: 271, instance: 3, heroic: 1, name: g_zones[4987] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'spell_shadow_twilight', achievs: [4818], kills: [[4822, 39863]] }, // Ruby Sanctum 10 hc - { level: 264, instance: 5, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4608], kills: [[4672, 37970], [4681, 37955], [4663, 37813], [4666, 36626], [4660, 100001], [4655, 36855], [4641, 36612], [4678, 36678], [4669, 36627], [4683, 36853], [4675, 36789], [4687, 36597]] }, // Icecrown Citadel 25 nh - { level: 264, instance: 3, heroic: 1, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4636], kills: [[4671, 37970], [4680, 37955], [4662, 37813], [4665, 36626], [4659, 100001], [4654, 36855], [4640, 36612], [4677, 36678], [4668, 36627], [4684, 36853], [4674, 36789], [4686, 36597]] }, // Icecrown Citadel 10 hc + { level: 264, instance: 5, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4608], kills: [[4672, 37970], [4681, 37955], [4663, 37813], [4666, 36626], [4660, 847], [4655, 36855], [4641, 36612], [4678, 36678], [4669, 36627], [4683, 36853], [4675, 36789], [4687, 36597]] }, // Icecrown Citadel 25 nh + { level: 264, instance: 3, heroic: 1, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4636], kills: [[4671, 37970], [4680, 37955], [4662, 37813], [4665, 36626], [4659, 847], [4654, 36855], [4640, 36612], [4677, 36678], [4668, 36627], [4684, 36853], [4674, 36789], [4686, 36597]] }, // Icecrown Citadel 10 hc { level: 258, instance: 3, name: g_zones[4987] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'spell_shadow_twilight', achievs: [4817], kills: [[4821, 39863]] }, // Ruby Sanctum 10 nh - { level: 258, instance: 5, heroic: 1, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_reputation_argentchampion', achievs: [3812], kills: [[4031, 200001], [4034, 34780], [4038, 200002], [4042, 200003], [4046, 34564]] }, // Trial of the Crusader 25 hc - { level: 251, instance: 3, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4532], kills: [[4648, 37970], [4651, 37955], [4645, 37813], [4646, 36626], [4644, 100001], [4643, 36855], [4639, 36612], [4650, 36678], [4647, 36627], [4652, 36853], [4649, 36789], [4653, 36597]] }, // Icecrown Citadel 10 nh - { level: 245, instance: 5, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_reputation_argentchampion', achievs: [3916], kills: [[4029, 200001], [4035, 34780], [4039, 200002], [4043, 200003], [4047, 34564]] }, // Trial of the Crusader 25 nh - { level: 245, instance: 3, heroic: 1, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_reputation_argentchampion', achievs: [3918], kills: [[4030, 200001], [4033, 34780], [4037, 200002], [4041, 200003], [4045, 34564]] }, // Trial of the Crusader 10 hc + { level: 258, instance: 5, heroic: 1, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_reputation_argentchampion', achievs: [3812], kills: [[4031, 629], [4034, 34780], [4038, 637], [4042, 641], [4046, 34564]] }, // Trial of the Crusader 25 hc + { level: 251, instance: 3, name: g_zones[4812] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_dungeon_icecrown_frostmourne', achievs: [4532], kills: [[4648, 37970], [4651, 37955], [4645, 37813], [4646, 36626], [4644, 847], [4643, 36855], [4639, 36612], [4650, 36678], [4647, 36627], [4652, 36853], [4649, 36789], [4653, 36597]] }, // Icecrown Citadel 10 nh + { level: 245, instance: 5, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_reputation_argentchampion', achievs: [3916], kills: [[4029, 629], [4035, 34780], [4039, 637], [4043, 641], [4047, 34564]] }, // Trial of the Crusader 25 nh + { level: 245, instance: 3, heroic: 1, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_reputation_argentchampion', achievs: [3918], kills: [[4030, 629], [4033, 34780], [4037, 637], [4041, 641], [4045, 34564]] }, // Trial of the Crusader 10 hc { level: 245, instance: 5, name: g_zones[2159] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid25, ''), icon: 'achievement_boss_onyxia', achievs: [4397], kills: [[1756, 10184]] }, // Onyxia's Lair 25 - { level: 232, instance: 3, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_reputation_argentchampion', achievs: [3917], kills: [[4028, 200001], [4032, 34780], [4036, 200002], [4040, 200003], [4044, 34564]] }, // Trial of the Crusader 10 nh + { level: 232, instance: 3, name: g_zones[4722] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_reputation_argentchampion', achievs: [3917], kills: [[4028, 629], [4032, 34780], [4036, 637], [4040, 641], [4044, 34564]] }, // Trial of the Crusader 10 nh { level: 232, instance: 3, name: g_zones[2159] + $WH.sprintf(LANG.lvitem_dd, LANG.lvitem_raid10, ''), icon: 'achievement_boss_onyxia', achievs: [4396], kills: [[1098, 10184]] }, // Onyxia's Lair 10 - // { level: 226, instance: 5, zone: 4273, icon: 'achievement_dungeon_ulduarraid_misc_01', achievs: [2895], kills: [[2872, 33113], [2873, 33186], [2874, 33118], [2884, 33293], [2875, 32930], [2879, 33432], [2880, 33271], [2882, 33515], [2883, 33288], [3236, 33993], [3257, 64985], [3256, 64899], [3258, 65074], [2881, 65184], [2885, 400001]] }, // 25-man ulduar - // { level: 219, instance: 3, zone: 4273, icon: 'achievement_dungeon_ulduarraid_misc_01', achievs: [2894], kills: [[2856, 33113], [2857, 33186], [2858, 33118], [2859, 33293], [2861, 32930], [2865, 33432], [2866, 33271], [2868, 33515], [2869, 33288], [2870, 33993], [2863, 64985], [2864, 65074], [2862, 64899], [2867, 65184], [2860, 400001]] }, // 10-man ulduar - // { level: 213, instance: 5, zone: 3456, icon: 'achievement_dungeon_naxxramas_10man', achievs: [577], kills: [[1367, 16028], [1368, 15956], [1378, 15932], [1379, 16060], [1380, 15953], [1381, 15931], [1382, 15936], [1383, 300001], [1384, 16061], [1385, 16011], [1386, 15952], [1387, 15954], [1388, 15928], [1389, 15989], [1390, 15990]] }, // 25-man naxxramas - // { level: 200, instance: 3, zone: 3456, icon: 'achievement_dungeon_naxxramas_normal', achievs: [576], kills: [1361, 15956], [1362, 15953], [1363, 15952], [1365, 15954], [1366, 16060], [1364, 16028], [1369, 15936], [1370, 16011], [1371, 15931], [1372, 15932], [1373, 15928], [1374, 16061], [1375, 300001], [1376, 15989], [1377, 15990]] }, // 10-man naxxramas + // { level: 226, instance: 5, zone: 4273, icon: 'achievement_dungeon_ulduarraid_misc_01', achievs: [2895], kills: [[2872, 33113], [2873, 33186], [2874, 33118], [2884, 33293], [2875, 32930], [2879, 62932], [2880, 33271], [2882, 33515], [2883, 33288], [3236, 33993], [3257, 64985], [3256, 64899], [3258, 65074], [2881, 65184], [2885, 748]] }, // 25-man ulduar + // { level: 219, instance: 3, zone: 4273, icon: 'achievement_dungeon_ulduarraid_misc_01', achievs: [2894], kills: [[2856, 33113], [2857, 33186], [2858, 33118], [2859, 33293], [2861, 32930], [2865, 62932], [2866, 33271], [2868, 33515], [2869, 33288], [2870, 33993], [2863, 64985], [2864, 65074], [2862, 64899], [2867, 65184], [2860, 748]] }, // 10-man ulduar + // { level: 213, instance: 5, zone: 3456, icon: 'achievement_dungeon_naxxramas_10man', achievs: [577], kills: [[1367, 16028], [1368, 15956], [1378, 15932], [1379, 16060], [1380, 15953], [1381, 15931], [1382, 15936], [1383, 692], [1384, 16061], [1385, 16011], [1386, 15952], [1387, 15954], [1388, 15928], [1389, 15989], [1390, 15990]] }, // 25-man naxxramas + // { level: 200, instance: 3, zone: 3456, icon: 'achievement_dungeon_naxxramas_normal', achievs: [576], kills: [[1361, 15956], [1362, 15953], [1363, 15952], [1365, 15954], [1366, 16060], [1364, 16028], [1369, 15936], [1370, 16011], [1371, 15931], [1372, 15932], [1373, 15928], [1374, 16061], [1375, 692], [1376, 15989], [1377, 15990]] }, // 10-man naxxramas // { level: 187, instance: 2, heroic: 1, name: LANG.pr_dungeons, icon: 'ability_rogue_feigndeath', achievs: [489,490,491,492,493,494,495,496,497,498,499,500,4297,4298,4519,4520,4521], kills: [[1506, 29120], [1509, 31134], [1510, 29306], [1507, 29311], [1504, 23980], [1505, 26723], [1514, 26861], [1513, 27656], [1512, 28923]] }, // some lvl 80 Dungeons heroic // { level: 150, instance: 2, name: LANG.pr_dungeons, icon: 'spell_holy_championsbond', achievs: [477,478,479,480,481,482,483,484,485,486,487,488,3778,4296,4516,4517,4518], kills: [[1232, 29120], [1235, 31134], [1236, 29306], [1233, 29311], [1242, 23980], [1231, 26723], [1240, 26861], [1239, 27656], [1238, 28923]] }, // some lvl 80 Dungeons normal ]; @@ -1089,14 +1089,15 @@ function Profiler() { _divLine3.firstChild.innerHTML = $WH.sprintfa(LANG.pr_header_character, _profile.level, g_chr_races[_profile.race], g_chr_classes[_profile.classs], _profile.race, _profile.classs); // Armory Link - if (_isArmoryProfile(_profile.genuine)) { - _lnkArmory.href = 'http://' + _profile.region[0] + '.battle.net/wow/' + Locale.getName().substr(0, 2) + '/character/' + _profile.realm[0] + '/' + g_cleanCharacterName(_profile.name) + '/'; - _lnkArmory.style.display = ''; - _lnkArmory.target = '_blank'; - } - else { + // Aowow custom + // if (_isArmoryProfile(_profile.genuine)) { + // _lnkArmory.href = 'http://' + _profile.region[0] + '.battle.net/wow/' + Locale.getName().substr(0, 2) + '/character/' + _profile.realm[0] + '/' + g_cleanCharacterName(_profile.name) + '/'; + // _lnkArmory.style.display = ''; + // _lnkArmory.target = '_blank'; + // } + // else { _lnkArmory.style.display = 'none'; - } + // } } /* Aowow custom @@ -1720,9 +1721,16 @@ function Profiler() { (avgLevel + 18 < raid.level ? 4 : (avgLevel + 9 < raid.level ? 3 : 2)))); +// Aowow custom start + let optText = (raid.zone ? g_zones[raid.zone] : raid.name); + if (optText.length > 30) + optText = optText.substring(0, 25) + '…' + optText.substring(optText.length - 5, optText.length); +// Aowow custom end + // Raid Activity var opt = { - text: (raid.zone ? g_zones[raid.zone] : raid.name), + // text: (raid.zone ? g_zones[raid.zone] : raid.name), + text: optText, hoverText: $WH.sprintf(LANG['pr_qf_activitypct' + (_activity ? 1 : 2)], (activity ? Math.round((nRecent / activity) * 100) : 0)), color: 'ach0', width: (activity ? Math.round((nRecent / activity) * 100) : 0)