mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
Misc/Fixup
* Conditions: loot rows initially have no 'id' * fixed building talent string for hunter pets (different talents can occupy the same row/col spot) * added keys loot cols on creature table * fixed trying to show itemset type for itemsets without type * fixed waypoint calculation when moving entity between floors
This commit is contained in:
@@ -423,11 +423,12 @@ 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']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// also move linked vehicle accessories (on the very same position)
|
||||
$updGUIDs = array_merge($updGUIDs, DB::Aowow()->selectCol('SELECT s2.guid FROM ?_spawns s1 JOIN ?_spawns s2 ON s1.posX = s2.posX AND s1.posY = s2.posY AND
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -113,7 +113,7 @@ class ItemsetList extends BaseType
|
||||
if ($_ = $this->getField('contentGroup'))
|
||||
$x .= Lang::itemset('notes', $_).($this->getField('heroic') ? ' <i class="q2">('.Lang::item('heroic').')</i>' : '').'<br />';
|
||||
|
||||
if (!$nCl || !$this->getField('contentGroup'))
|
||||
if (!$nCl || !$this->getField('type'))
|
||||
$x.= Lang::itemset('types', $this->getField('type')).'<br />';
|
||||
|
||||
if ($bonuses = $this->getBonuses())
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
4
setup/updates/1717354214_01.sql
Normal file
4
setup/updates/1717354214_01.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE aowow_creature
|
||||
ADD KEY `idx_loot` (`lootId`),
|
||||
ADD KEY `idx_pickpocketloot` (`pickpocketLootId`),
|
||||
ADD KEY `idx_skinloot` (`skinLootId`);
|
||||
Reference in New Issue
Block a user