diff --git a/includes/ajaxHandler/admin.class.php b/includes/ajaxHandler/admin.class.php index 3632507e..8d816d3e 100644 --- a/includes/ajaxHandler/admin.class.php +++ b/includes/ajaxHandler/admin.class.php @@ -423,8 +423,9 @@ class AjaxAdmin extends AjaxHandler 'areaId' => $point[0]['areaId'], 'floor' => $point[0]['floor'] ); + + DB::Aowow()->query('UPDATE ?_creature_waypoints SET ?a WHERE `creatureOrPath` = ?d AND `point` = ?d', $p, $w['entry'], $w['pointId']); } - DB::Aowow()->query('UPDATE ?_creature_waypoints SET ?a WHERE `creatureOrPath` = ?d AND `point` = ?d', $p, $w['entry'], $w['pointId']); } } } diff --git a/includes/conditions.class.php b/includes/conditions.class.php index cd97abe0..9f3b4c7c 100644 --- a/includes/conditions.class.php +++ b/includes/conditions.class.php @@ -344,7 +344,7 @@ class Conditions $success = false; foreach ($lvRows as $key => &$row) { - $key = $row['id'].':'.$srcEntry; // it's a listview row .. if it doesn't have a numeric id something truely fucked up happened. ... also its past 2a.m. + $key = ($row['id'] ?? $key).':'.$srcEntry; // loot rows don't have an 'id' while being generated, but they have a usable $key while (substr_count($key, ':') < 3) // pad with missing srcEntry, SrcId, cndTarget to group key $key .= ':0'; diff --git a/includes/profiler.class.php b/includes/profiler.class.php index ec1163c5..de62298e 100644 --- a/includes/profiler.class.php +++ b/includes/profiler.class.php @@ -560,7 +560,7 @@ class Profiler $petData['entry'] ); - $_ = DB::Aowow()->selectCol('SELECT `spell` AS ARRAY_KEY, MAX(IF(`spell` IN (?a), `rank`, 0)) FROM ?_talents WHERE `class` = 0 AND `petTypeMask` = ?d GROUP BY `id` ORDER BY `row`, `col` ASC', $petSpells ?: [0], 1 << $morePet['type']); + $_ = DB::Aowow()->selectCol('SELECT `spell` AS ARRAY_KEY, MAX(IF(`spell` IN (?a), `rank`, 0)) FROM ?_talents WHERE `class` = 0 AND `petTypeMask` = ?d GROUP BY `row`, `col` ORDER BY `row`, `col` ASC', $petSpells ?: [0], 1 << $morePet['type']); $pet = array( 'id' => $petGuid, 'owner' => $profileId, diff --git a/includes/types/itemset.class.php b/includes/types/itemset.class.php index cfd19e48..fb1de42a 100644 --- a/includes/types/itemset.class.php +++ b/includes/types/itemset.class.php @@ -113,7 +113,7 @@ class ItemsetList extends BaseType if ($_ = $this->getField('contentGroup')) $x .= Lang::itemset('notes', $_).($this->getField('heroic') ? ' ('.Lang::item('heroic').')' : '').'
'; - if (!$nCl || !$this->getField('contentGroup')) + if (!$nCl || !$this->getField('type')) $x.= Lang::itemset('types', $this->getField('type')).'
'; if ($bonuses = $this->getBonuses()) diff --git a/setup/db_structure.sql b/setup/db_structure.sql index b11bd094..c550b65c 100644 --- a/setup/db_structure.sql +++ b/setup/db_structure.sql @@ -556,7 +556,10 @@ CREATE TABLE `aowow_creature` ( KEY `idx_name` (`name_loc0`), KEY `difficultyEntry1` (`difficultyEntry1`), KEY `difficultyEntry2` (`difficultyEntry2`), - KEY `difficultyEntry3` (`difficultyEntry3`) + KEY `difficultyEntry3` (`difficultyEntry3`), + KEY `idx_loot` (`lootId`), + KEY `idx_pickpocketloot` (`pickpocketLootId`), + KEY `idx_skinloot` (`skinLootId`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -3225,7 +3228,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_dbversion` WRITE; /*!40000 ALTER TABLE `aowow_dbversion` DISABLE KEYS */; -INSERT INTO `aowow_dbversion` VALUES (1717076299,0,NULL,NULL); +INSERT INTO `aowow_dbversion` VALUES (1717354215,0,NULL,NULL); /*!40000 ALTER TABLE `aowow_dbversion` ENABLE KEYS */; UNLOCK TABLES; diff --git a/setup/updates/1717354214_01.sql b/setup/updates/1717354214_01.sql new file mode 100644 index 00000000..4d2f93c6 --- /dev/null +++ b/setup/updates/1717354214_01.sql @@ -0,0 +1,4 @@ +ALTER TABLE aowow_creature + ADD KEY `idx_loot` (`lootId`), + ADD KEY `idx_pickpocketloot` (`pickpocketLootId`), + ADD KEY `idx_skinloot` (`skinLootId`);