mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
DB/Structure (thx @Carbenium for the heads up & suggestions)
* adapted structure to TDB 335.59 * dropped questItem[1-6] fields from ?_creature and ?_object (why were they even there) - removed a function-stub from Util (already forgot, what it was supposed to achieve)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
define('AOWOW_REVISION', 5);
|
||||
define('AOWOW_REVISION', 6);
|
||||
define('CLI', PHP_SAPI === 'cli');
|
||||
|
||||
|
||||
|
||||
@@ -1541,16 +1541,6 @@ class Util
|
||||
}
|
||||
}
|
||||
|
||||
public static function createShowOnMap()
|
||||
{
|
||||
/*
|
||||
quest: "Quest Givers",
|
||||
daily: "Quest Givers (Daily)",
|
||||
alliancequests: "Quest Givers",
|
||||
hordequests: "Quest Givers",
|
||||
*/
|
||||
}
|
||||
|
||||
public static function getServerConditions($srcType, $srcGroup = null, $srcEntry = null)
|
||||
{
|
||||
if (!$srcGroup && !$srcEntry)
|
||||
|
||||
@@ -348,9 +348,9 @@ class ItemPage extends genericPage
|
||||
{
|
||||
while ($next)
|
||||
{
|
||||
if ($row = DB::World()->selectRow('SELECT *, text as Text_loc0 FROM page_text pt LEFT JOIN locales_page_text lpt ON pt.entry = lpt.entry WHERE pt.entry = ?d', $next))
|
||||
if ($row = DB::World()->selectRow('SELECT *, Text as Text_loc0 FROM page_text pt LEFT JOIN locales_page_text lpt ON pt.ID = lpt.entry WHERE pt.ID = ?d', $next))
|
||||
{
|
||||
$next = $row['next_page'];
|
||||
$next = $row['NextPageID'];
|
||||
$this->pageText[] = Util::parseHtmlText(Util::localizedString($row, 'Text'));
|
||||
}
|
||||
else
|
||||
|
||||
@@ -451,14 +451,14 @@ class NpcPage extends GenericPage
|
||||
if ($this->subject->getField('npcflag') & NPC_FLAG_TRAINER)
|
||||
{
|
||||
$teachQuery = '
|
||||
SELECT IFNULL(t2.spell, t1.spell) AS ARRAY_KEY,
|
||||
IFNULL(t2.spellcost, t1.spellcost) AS cost,
|
||||
IFNULL(t2.reqskill, t1.reqskill) AS reqSkillId,
|
||||
IFNULL(t2.reqskillvalue, t1.reqskillvalue) AS reqSkillValue,
|
||||
IFNULL(t2.reqlevel, t1.reqlevel) AS reqLevel
|
||||
SELECT IFNULL(t2.SpellID, t1.SpellID) AS ARRAY_KEY,
|
||||
IFNULL(t2.MoneyCost, t1.MoneyCost) AS cost,
|
||||
IFNULL(t2.ReqSkillLine, t1.ReqSkillLine) AS reqSkillId,
|
||||
IFNULL(t2.ReqSkillRank, t1.ReqSkillRank) AS reqSkillValue,
|
||||
IFNULL(t2.ReqLevel, t1.ReqLevel) AS reqLevel
|
||||
FROM npc_trainer t1
|
||||
LEFT JOIN npc_trainer t2 ON t2.entry = IF(t1.spell < 0, -t1.spell, null)
|
||||
WHERE t1.entry = ?d
|
||||
LEFT JOIN npc_trainer t2 ON t2.ID = IF(t1.SpellID < 0, -t1.SpellID, null)
|
||||
WHERE t1.ID = ?d
|
||||
';
|
||||
|
||||
if ($tSpells = DB::World()->select($teachQuery, $this->typeId))
|
||||
|
||||
@@ -206,9 +206,9 @@ class ObjectPage extends GenericPage
|
||||
{
|
||||
while ($next)
|
||||
{
|
||||
if ($row = DB::World()->selectRow('SELECT *, text as Text_loc0 FROM page_text pt LEFT JOIN locales_page_text lpt ON pt.entry = lpt.entry WHERE pt.entry = ?d', $next))
|
||||
if ($row = DB::World()->selectRow('SELECT *, Text as Text_loc0 FROM page_text pt LEFT JOIN locales_page_text lpt ON pt.ID = lpt.entry WHERE pt.ID = ?d', $next))
|
||||
{
|
||||
$next = $row['next_page'];
|
||||
$next = $row['NextPageID'];
|
||||
$pageText[] = Util::parseHtmlText(Util::localizedString($row, 'Text'));
|
||||
}
|
||||
else
|
||||
|
||||
@@ -250,7 +250,7 @@ class SkillPage extends GenericPage
|
||||
{
|
||||
$list = [];
|
||||
if (!empty(Util::$trainerTemplates[TYPE_SKILL][$this->typeId]))
|
||||
$list = DB::World()->selectCol('SELECT DISTINCT entry FROM npc_trainer WHERE spell IN (?a) AND entry < 200000', Util::$trainerTemplates[TYPE_SKILL][$this->typeId]);
|
||||
$list = DB::World()->selectCol('SELECT DISTINCT ID FROM npc_trainer WHERE SpellID IN (?a) AND ID < 200000', Util::$trainerTemplates[TYPE_SKILL][$this->typeId]);
|
||||
else
|
||||
{
|
||||
$mask = 0;
|
||||
@@ -266,10 +266,10 @@ class SkillPage extends GenericPage
|
||||
);
|
||||
|
||||
$list = $spellIds ? DB::World()->selectCol('
|
||||
SELECT IF(t1.entry > 200000, t2.entry, t1.entry)
|
||||
SELECT IF(t1.ID > 200000, t2.ID, t1.ID)
|
||||
FROM npc_trainer t1
|
||||
LEFT JOIN npc_trainer t2 ON t2.spell = -t1.entry
|
||||
WHERE t1.spell IN (?a)',
|
||||
LEFT JOIN npc_trainer t2 ON t2.SpellID = -t1.ID
|
||||
WHERE t1.SpellID IN (?a)',
|
||||
$spellIds
|
||||
) : [];
|
||||
}
|
||||
|
||||
@@ -1010,7 +1010,7 @@ class SpellPage extends GenericPage
|
||||
}
|
||||
|
||||
if ($tt)
|
||||
$list = DB::World()->selectCol('SELECT DISTINCT entry FROM npc_trainer WHERE spell IN (?a) AND entry < 200000', $tt);
|
||||
$list = DB::World()->selectCol('SELECT DISTINCT ID FROM npc_trainer WHERE SpellID IN (?a) AND ID < 200000', $tt);
|
||||
else
|
||||
{
|
||||
$mask = 0;
|
||||
@@ -1019,10 +1019,10 @@ class SpellPage extends GenericPage
|
||||
$mask |= 1 << $idx;
|
||||
|
||||
$list = DB::World()->selectCol('
|
||||
SELECT IF(t1.entry > 200000, t2.entry, t1.entry)
|
||||
SELECT IF(t1.ID > 200000, t2.ID, t1.ID)
|
||||
FROM npc_trainer t1
|
||||
LEFT JOIN npc_trainer t2 ON t2.spell = -t1.entry
|
||||
WHERE t1.spell = ?d',
|
||||
LEFT JOIN npc_trainer t2 ON t2.SpellID = -t1.ID
|
||||
WHERE t1.SpellID IN (?a)',
|
||||
$this->typeId
|
||||
);
|
||||
}
|
||||
|
||||
@@ -468,12 +468,6 @@ CREATE TABLE `aowow_creature` (
|
||||
`armorMin` mediumint(8) unsigned NOT NULL DEFAULT '1',
|
||||
`armorMax` mediumint(8) unsigned NOT NULL DEFAULT '1',
|
||||
`racialLeader` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem1` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem2` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem3` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem4` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem5` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem6` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`mechanicImmuneMask` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`flagsExtra` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`scriptName` varchar(50) NOT NULL DEFAULT '',
|
||||
@@ -1273,12 +1267,6 @@ CREATE TABLE `aowow_objects` (
|
||||
`faction` smallint(5) unsigned NOT NULL DEFAULT '0',
|
||||
`flags` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`cuFlags` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem1` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem2` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem3` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem4` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem5` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`questItem6` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`lootId` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`lockId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
||||
`reqSkill` smallint(5) unsigned NOT NULL DEFAULT '0',
|
||||
|
||||
@@ -49,7 +49,7 @@ class SqlGen
|
||||
'creature' => [null, null, null, ['creature_template', 'locales_creature', 'creature_classlevelstats', 'instance_encounters']],
|
||||
'currencies' => [null, null, null, ['item_template', 'locales_item']],
|
||||
'events' => [null, null, null, ['game_event', 'game_event_prerequisite']],
|
||||
'objects' => [null, null, null, ['gameobject_template', 'locales_gameobject']],
|
||||
'objects' => [null, null, null, ['gameobject_template', 'locales_gameobject', 'gameobject_questitem']],
|
||||
'pet' => [null, null, null, ['creature_template', 'creature']],
|
||||
'quests' => [null, null, null, ['quest_template', 'locales_quest', 'game_event', 'game_event_seasonal_questrelation']],
|
||||
'quests_startend' => [null, null, null, ['creature_queststarter', 'creature_questender', 'game_event_creature_quest', 'gameobject_queststarter', 'gameobject_questender', 'game_event_gameobject_quest', 'item_template']],
|
||||
|
||||
@@ -72,7 +72,6 @@ function creature(array $ids = [])
|
||||
min.basearmor * ct.ArmorModifier AS armorMin,
|
||||
max.basearmor * ct.ArmorModifier AS armorMax,
|
||||
RacialLeader,
|
||||
questItem1, questItem2, questItem3, questItem4, questItem5, questItem6,
|
||||
mechanic_immune_mask,
|
||||
flags_extra,
|
||||
ScriptName
|
||||
|
||||
@@ -10,6 +10,7 @@ if (!CLI)
|
||||
/* deps:
|
||||
* gameobject_template
|
||||
* locales_gameobject
|
||||
* gameobject_questitem
|
||||
*/
|
||||
|
||||
|
||||
@@ -24,8 +25,8 @@ function objects(array $ids = [])
|
||||
go.entry,
|
||||
`type`,
|
||||
IF(`type` = 2, -2, -- quests 1
|
||||
IF(`type` = 8 AND data0 IN (1, 2, 3, 4, 1552), -6, -- tools
|
||||
IF(`type` = 3 AND questitem1 <> 0, -2, -- quests 2
|
||||
IF(`type` = 8 AND Data0 IN (1, 2, 3, 4, 1552), -6, -- tools
|
||||
IF(`type` = 3 AND IFNULL(gqi.ItemId, 0) <> 0, -2, -- quests 2
|
||||
IF(`type` IN (3, 9, 25), `type`, 0)))), -- regular chests, books, pools
|
||||
0 AS event, -- linked worldevent
|
||||
displayId,
|
||||
@@ -33,40 +34,43 @@ function objects(array $ids = [])
|
||||
faction,
|
||||
flags,
|
||||
0 AS cuFlags, -- custom Flags
|
||||
questItem1, questItem2, questItem3, questItem4, questItem5, questItem6,
|
||||
IF(`type` IN (3, 25), data1, 0), -- lootId
|
||||
IF(`type` IN (2, 3, 6, 10, 13, 24, 26), data0, IF(`type` IN (0, 1), data1, 0)), -- lockId
|
||||
IF(`type` IN (3, 25), Data1, 0), -- lootId
|
||||
IF(`type` IN (2, 3, 6, 10, 13, 24, 26), Data0, IF(`type` IN (0, 1), Data1, 0)), -- lockId
|
||||
0 AS reqSkill, -- reqSkill
|
||||
IF(`type` = 9, data0, IF(`type` = 10, data7, 0)), -- pageTextId
|
||||
IF(`type` = 1, data3, -- linkedTrapIds
|
||||
IF(`type` = 3, data7,
|
||||
IF(`type` = 10, data12,
|
||||
IF(`type` = 8, data2, 0)))),
|
||||
IF(`type` = 5, data5, -- reqQuest
|
||||
IF(`type` = 3, data8,
|
||||
IF(`type` = 10, data1,
|
||||
IF(`type` = 8, data4, 0)))),
|
||||
IF(`type` = 8, data0, 0), -- spellFocusId
|
||||
IF(`type` = 10, data10, -- onUseSpell
|
||||
IF(`type` IN (18, 24), data1,
|
||||
IF(`type` = 26, data2,
|
||||
IF(`type` = 22, data0, 0)))),
|
||||
IF(`type` = 18, data4, 0), -- onSuccessSpell
|
||||
IF(`type` = 18, data2, IF(`type` = 24, data3, 0)), -- auraSpell
|
||||
IF(`type` = 30, data2, IF(`type` = 24, data4, IF(`type` = 6, data3, 0))), -- triggeredSpell
|
||||
IF(`type` = 29, CONCAT_WS(" ", data14, data15, data16, data17, data0), -- miscInfo: capturePoint
|
||||
IF(`type` = 3, CONCAT_WS(" ", data4, data5, data2), -- miscInfo: loot v
|
||||
IF(`type` = 25, CONCAT_WS(" ", data2, data3, 0),
|
||||
IF(`type` = 23, CONCAT_WS(" ", data0, data1, data2), "")))), -- miscInfo: meetingStone
|
||||
IF(`type` = 9, Data0, IF(`type` = 10, Data7, 0)), -- pageTextId
|
||||
IF(`type` = 1, Data3, -- linkedTrapIds
|
||||
IF(`type` = 3, Data7,
|
||||
IF(`type` = 10, Data12,
|
||||
IF(`type` = 8, Data2, 0)))),
|
||||
IF(`type` = 5, Data5, -- reqQuest
|
||||
IF(`type` = 3, Data8,
|
||||
IF(`type` = 10, Data1,
|
||||
IF(`type` = 8, Data4, 0)))),
|
||||
IF(`type` = 8, Data0, 0), -- spellFocusId
|
||||
IF(`type` = 10, Data10, -- onUseSpell
|
||||
IF(`type` IN (18, 24), Data1,
|
||||
IF(`type` = 26, Data2,
|
||||
IF(`type` = 22, Data0, 0)))),
|
||||
IF(`type` = 18, Data4, 0), -- onSuccessSpell
|
||||
IF(`type` = 18, Data2, IF(`type` = 24, Data3, 0)), -- auraSpell
|
||||
IF(`type` = 30, Data2, IF(`type` = 24, Data4, IF(`type` = 6, Data3, 0))), -- triggeredSpell
|
||||
IF(`type` = 29, CONCAT_WS(" ", Data14, Data15, Data16, Data17, Data0), -- miscInfo: capturePoint
|
||||
IF(`type` = 3, CONCAT_WS(" ", Data4, Data5, Data2), -- miscInfo: loot v
|
||||
IF(`type` = 25, CONCAT_WS(" ", Data2, Data3, 0),
|
||||
IF(`type` = 23, CONCAT_WS(" ", Data0, Data1, Data2), "")))), -- miscInfo: meetingStone
|
||||
IF(ScriptName <> "", ScriptName, AIName)
|
||||
FROM
|
||||
gameobject_template go
|
||||
LEFT JOIN
|
||||
locales_gameobject lgo ON go.entry = lgo.entry
|
||||
LEFT JOIN
|
||||
gameobject_questitem gqi ON gqi.GameObjectEntry = go.entry
|
||||
{
|
||||
WHERE
|
||||
go.entry IN (?a)
|
||||
}
|
||||
GROUP BY
|
||||
go.entry
|
||||
LIMIT
|
||||
?d, ?d';
|
||||
|
||||
|
||||
@@ -23,15 +23,15 @@ function quests(array $ids = [])
|
||||
{
|
||||
$baseQuery = '
|
||||
SELECT
|
||||
q.Id,
|
||||
q.ID,
|
||||
Method,
|
||||
Level,
|
||||
QuestLevel,
|
||||
MinLevel,
|
||||
MaxLevel,
|
||||
ZoneOrSort,
|
||||
ZoneOrSort AS zoneOrSortBak, -- ZoneOrSortBak
|
||||
Type,
|
||||
SuggestedPlayers,
|
||||
QuestSortID,
|
||||
QuestSortID AS zoneOrSortBak, -- ZoneOrSortBak
|
||||
QuestType,
|
||||
SuggestedGroupNum,
|
||||
LimitTime,
|
||||
IFNULL(gesqr.eventEntry, 0) AS eventId,
|
||||
PrevQuestId,
|
||||
@@ -41,60 +41,60 @@ function quests(array $ids = [])
|
||||
Flags,
|
||||
SpecialFlags,
|
||||
0 AS cuFlags, -- cuFlags
|
||||
RequiredClasses, RequiredRaces,
|
||||
RequiredSkillId, RequiredSkillPoints,
|
||||
RequiredFactionId1, RequiredFactionId2,
|
||||
RequiredFactionValue1, RequiredFactionValue2,
|
||||
RequiredMinRepFaction, RequiredMaxRepFaction,
|
||||
RequiredMinRepValue, RequiredMaxRepValue,
|
||||
RequiredClasses, RequiredRaces,
|
||||
RequiredSkillId, RequiredSkillPoints,
|
||||
RequiredFactionId1, RequiredFactionId2,
|
||||
RequiredFactionValue1, RequiredFactionValue2,
|
||||
RequiredMinRepFaction, RequiredMaxRepFaction,
|
||||
RequiredMinRepValue, RequiredMaxRepValue,
|
||||
RequiredPlayerKills,
|
||||
SourceItemId, SourceItemCount,
|
||||
SourceItemId, SourceItemCount,
|
||||
SourceSpellId,
|
||||
RewardXPId, -- QuestXP.dbc x level
|
||||
RewardOrRequiredMoney,
|
||||
RewardMoneyMaxLevel,
|
||||
RewardSpell, RewardSpellCast,
|
||||
RewardSpell, RewardSpellCast,
|
||||
RewardHonor * 124 * RewardHonorMultiplier, -- alt calculation in QuestDef.cpp -> Quest::CalculateHonorGain(playerLevel)
|
||||
RewardMailTemplateId, RewardMailDelay,
|
||||
RewardTitleId,
|
||||
RewardMailTemplateId, RewardMailDelay,
|
||||
RewardTitle,
|
||||
RewardTalents,
|
||||
RewardArenaPoints,
|
||||
RewardItemId1, RewardItemId2, RewardItemId3, RewardItemId4,
|
||||
RewardItemCount1, RewardItemCount2, RewardItemCount3, RewardItemCount4,
|
||||
RewardChoiceItemId1, RewardChoiceItemId2, RewardChoiceItemId3, RewardChoiceItemId4, RewardChoiceItemId5, RewardChoiceItemId6,
|
||||
RewardChoiceItemCount1, RewardChoiceItemCount2, RewardChoiceItemCount3, RewardChoiceItemCount4, RewardChoiceItemCount5, RewardChoiceItemCount6,
|
||||
RewardFactionId1, RewardFactionId2, RewardFactionId3, RewardFactionId4, RewardFactionId5,
|
||||
IF (RewardFactionValueIdOverride1 <> 0, RewardFactionValueIdOverride1 / 100, RewardFactionValueId1),
|
||||
IF (RewardFactionValueIdOverride2 <> 0, RewardFactionValueIdOverride2 / 100, RewardFactionValueId2),
|
||||
IF (RewardFactionValueIdOverride3 <> 0, RewardFactionValueIdOverride3 / 100, RewardFactionValueId3),
|
||||
IF (RewardFactionValueIdOverride4 <> 0, RewardFactionValueIdOverride4 / 100, RewardFactionValueId4),
|
||||
IF (RewardFactionValueIdOverride5 <> 0, RewardFactionValueIdOverride5 / 100, RewardFactionValueId5),
|
||||
Title, Title_loc2, Title_loc3, Title_loc6, Title_loc8,
|
||||
Objectives, Objectives_loc2, Objectives_loc3, Objectives_loc6, Objectives_loc8,
|
||||
Details, Details_loc2, Details_loc3, Details_loc6, Details_loc8,
|
||||
EndText, EndText_loc2, EndText_loc3, EndText_loc6, EndText_loc8,
|
||||
OfferRewardText, OfferRewardText_loc2, OfferRewardText_loc3, OfferRewardText_loc6, OfferRewardText_loc8,
|
||||
RequestItemsText, RequestItemsText_loc2, RequestItemsText_loc3, RequestItemsText_loc6, RequestItemsText_loc8,
|
||||
CompletedText, CompletedText_loc2, CompletedText_loc3, CompletedText_loc6, CompletedText_loc8,
|
||||
RequiredNpcOrGo1, RequiredNpcOrGo2, RequiredNpcOrGo3, RequiredNpcOrGo4,
|
||||
RequiredNpcOrGoCount1, RequiredNpcOrGoCount2, RequiredNpcOrGoCount3, RequiredNpcOrGoCount4,
|
||||
RequiredSourceItemId1, RequiredSourceItemId2, RequiredSourceItemId3, RequiredSourceItemId4,
|
||||
RequiredSourceItemCount1,RequiredSourceItemCount2,RequiredSourceItemCount3,RequiredSourceItemCount4,
|
||||
RequiredItemId1, RequiredItemId2, RequiredItemId3, RequiredItemId4, RequiredItemId5, RequiredItemId6,
|
||||
RequiredItemCount1, RequiredItemCount2, RequiredItemCount3, RequiredItemCount4, RequiredItemCount5, RequiredItemCount6,
|
||||
ObjectiveText1, ObjectiveText1_loc2, ObjectiveText1_loc3, ObjectiveText1_loc6, ObjectiveText1_loc8,
|
||||
ObjectiveText2, ObjectiveText2_loc2, ObjectiveText2_loc3, ObjectiveText2_loc6, ObjectiveText2_loc8,
|
||||
ObjectiveText3, ObjectiveText3_loc2, ObjectiveText3_loc3, ObjectiveText3_loc6, ObjectiveText3_loc8,
|
||||
ObjectiveText4, ObjectiveText4_loc2, ObjectiveText4_loc3, ObjectiveText4_loc6, ObjectiveText4_loc8
|
||||
RewardItem1, RewardItem2, RewardItem3, RewardItem4,
|
||||
RewardAmount1, RewardAmount2, RewardAmount3, RewardAmount4,
|
||||
RewardChoiceItemID1, RewardChoiceItemID2, RewardChoiceItemID3, RewardChoiceItemID4, RewardChoiceItemID5, RewardChoiceItemID6,
|
||||
RewardChoiceItemQuantity1, RewardChoiceItemQuantity2, RewardChoiceItemQuantity3, RewardChoiceItemQuantity4, RewardChoiceItemQuantity5, RewardChoiceItemQuantity6,
|
||||
RewardFactionID1, RewardFactionID2, RewardFactionID3, RewardFactionID4, RewardFactionID5,
|
||||
IF (RewardFactionOverride1 <> 0, RewardFactionOverride1 / 100, RewardFactionValue1),
|
||||
IF (RewardFactionOverride2 <> 0, RewardFactionOverride2 / 100, RewardFactionValue2),
|
||||
IF (RewardFactionOverride3 <> 0, RewardFactionOverride3 / 100, RewardFactionValue3),
|
||||
IF (RewardFactionOverride4 <> 0, RewardFactionOverride4 / 100, RewardFactionValue4),
|
||||
IF (RewardFactionOverride5 <> 0, RewardFactionOverride5 / 100, RewardFactionValue5),
|
||||
LogTitle, Title_loc2, Title_loc3, Title_loc6, Title_loc8,
|
||||
LogDescription, Objectives_loc2, Objectives_loc3, Objectives_loc6, Objectives_loc8,
|
||||
QuestDescription, Details_loc2, Details_loc3, Details_loc6, Details_loc8,
|
||||
EndText, EndText_loc2, EndText_loc3, EndText_loc6, EndText_loc8,
|
||||
OfferRewardText, OfferRewardText_loc2, OfferRewardText_loc3, OfferRewardText_loc6, OfferRewardText_loc8,
|
||||
RequestItemsText, RequestItemsText_loc2, RequestItemsText_loc3, RequestItemsText_loc6, RequestItemsText_loc8,
|
||||
QuestCompletionLog, CompletedText_loc2, CompletedText_loc3, CompletedText_loc6, CompletedText_loc8,
|
||||
RequiredNpcOrGo1, RequiredNpcOrGo2, RequiredNpcOrGo3, RequiredNpcOrGo4,
|
||||
RequiredNpcOrGoCount1, RequiredNpcOrGoCount2, RequiredNpcOrGoCount3, RequiredNpcOrGoCount4,
|
||||
RequiredSourceItemId1, RequiredSourceItemId2, RequiredSourceItemId3, RequiredSourceItemId4,
|
||||
RequiredSourceItemCount1, RequiredSourceItemCount2, RequiredSourceItemCount3, RequiredSourceItemCount4,
|
||||
RequiredItemId1, RequiredItemId2, RequiredItemId3, RequiredItemId4, RequiredItemId5, RequiredItemId6,
|
||||
RequiredItemCount1, RequiredItemCount2, RequiredItemCount3, RequiredItemCount4, RequiredItemCount5, RequiredItemCount6,
|
||||
ObjectiveText1, ObjectiveText1_loc2, ObjectiveText1_loc3, ObjectiveText1_loc6, ObjectiveText1_loc8,
|
||||
ObjectiveText2, ObjectiveText2_loc2, ObjectiveText2_loc3, ObjectiveText2_loc6, ObjectiveText2_loc8,
|
||||
ObjectiveText3, ObjectiveText3_loc2, ObjectiveText3_loc3, ObjectiveText3_loc6, ObjectiveText3_loc8,
|
||||
ObjectiveText4, ObjectiveText4_loc2, ObjectiveText4_loc3, ObjectiveText4_loc6, ObjectiveText4_loc8
|
||||
FROM
|
||||
quest_template q
|
||||
LEFT JOIN
|
||||
locales_quest lq ON q.Id = lq.Id
|
||||
locales_quest lq ON q.ID = lq.Id
|
||||
LEFT JOIN
|
||||
game_event_seasonal_questrelation gesqr ON gesqr.questId = q.Id
|
||||
game_event_seasonal_questrelation gesqr ON gesqr.questId = q.ID
|
||||
{
|
||||
WHERE
|
||||
q.Id IN (?a)
|
||||
q.ID IN (?a)
|
||||
}
|
||||
LIMIT
|
||||
?d, ?d';
|
||||
@@ -156,7 +156,7 @@ function quests(array $ids = [])
|
||||
for ($i = 1; $i < 6; $i++)
|
||||
DB::Aowow()->query($repQuery, $i, $i, $i, $i, $ids ?: DBSIMPLE_SKIP);
|
||||
|
||||
// update zoneOrSort .. well .. now "not documenting" bites me in the ass .. ~700 quests were changed, i don't know by what method
|
||||
// update zoneOrSort/QuestSortID .. well .. now "not documenting" bites me in the ass .. ~700 quests were changed, i don't know by what method
|
||||
$eventSet = DB::World()->selectCol('SELECT holiday AS ARRAY_KEY, eventEntry FROM game_event WHERE holiday <> 0');
|
||||
$holidaySorts = array(
|
||||
141 => -1001, 181 => -374, 201 => -1002,
|
||||
|
||||
@@ -8,32 +8,32 @@ if (!CLI)
|
||||
|
||||
|
||||
/* deps:
|
||||
* reference_loot_template
|
||||
* item_loot_template
|
||||
* creature_loot_template
|
||||
* gameobject_loot_template
|
||||
* mail_loot_template
|
||||
* disenchant_loot_template
|
||||
* fishing_loot_template
|
||||
* skinning_loot_template
|
||||
* milling_loot_template
|
||||
* prospecting_loot_template
|
||||
* pickpocketing_loot_template
|
||||
* reference_loot_template
|
||||
* item_loot_template
|
||||
* creature_loot_template
|
||||
* gameobject_loot_template
|
||||
* mail_loot_template
|
||||
* disenchant_loot_template
|
||||
* fishing_loot_template
|
||||
* skinning_loot_template
|
||||
* milling_loot_template
|
||||
* prospecting_loot_template
|
||||
* pickpocketing_loot_template
|
||||
|
||||
* item_template
|
||||
* creature_template
|
||||
* gameobject_template
|
||||
* quest_template
|
||||
* item_template
|
||||
* creature_template
|
||||
* gameobject_template
|
||||
* quest_template
|
||||
|
||||
* npc_trainer
|
||||
* npc_vendor
|
||||
* game_event_npc_vendor
|
||||
* creature
|
||||
* npc_trainer
|
||||
* npc_vendor
|
||||
* game_event_npc_vendor
|
||||
* creature
|
||||
|
||||
* playercreateinfo_item
|
||||
* playercreateinfo_spell
|
||||
* achievement_reward
|
||||
* skill_discovery_template
|
||||
* playercreateinfo_item
|
||||
* playercreateinfo_spell
|
||||
* achievement_reward
|
||||
* skill_discovery_template
|
||||
*/
|
||||
|
||||
$customData = array(
|
||||
@@ -250,11 +250,11 @@ function source(array $ids = [])
|
||||
FROM
|
||||
gameobject_loot_template glt
|
||||
JOIN
|
||||
gameobject_template gt ON glt.entry = gt.data1
|
||||
gameobject_template gt ON glt.entry = gt.Data1
|
||||
LEFT JOIN
|
||||
item_template it ON it.entry = glt.Item AND glt.Reference <= 0
|
||||
WHERE
|
||||
`type` = 3 AND gt.data1 > 0 AND gt.data0 NOT IN (?a)
|
||||
`type` = 3 AND gt.Data1 > 0 AND gt.Data0 NOT IN (?a)
|
||||
GROUP BY
|
||||
ARRAY_KEY',
|
||||
$exclLocks
|
||||
@@ -388,17 +388,17 @@ function source(array $ids = [])
|
||||
$spellBuff = [];
|
||||
$itemBuff = [];
|
||||
$quests = DB::World()->select(
|
||||
'SELECT n.item AS ARRAY_KEY, n.Id AS quest, SUM(n.qty) AS qty, BIT_OR(n.side) AS side, it.class, it.subclass, it.spellid_1, it.spelltrigger_1, it.spellid_2, it.spelltrigger_2 FROM (
|
||||
SELECT rewardChoiceItemId1 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardChoiceItemId1 > 0 GROUP BY item UNION
|
||||
SELECT rewardChoiceItemId2 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardChoiceItemId2 > 0 GROUP BY item UNION
|
||||
SELECT rewardChoiceItemId3 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardChoiceItemId3 > 0 GROUP BY item UNION
|
||||
SELECT rewardChoiceItemId4 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardChoiceItemId4 > 0 GROUP BY item UNION
|
||||
SELECT rewardChoiceItemId5 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardChoiceItemId5 > 0 GROUP BY item UNION
|
||||
SELECT rewardChoiceItemId6 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardChoiceItemId6 > 0 GROUP BY item UNION
|
||||
SELECT rewardItemId1 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardItemId1 > 0 GROUP BY item UNION
|
||||
SELECT rewardItemId2 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardItemId2 > 0 GROUP BY item UNION
|
||||
SELECT rewardItemId3 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardItemId3 > 0 GROUP BY item UNION
|
||||
SELECT rewardItemId4 AS item, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE rewardItemId4 > 0 GROUP BY item
|
||||
'SELECT n.item AS ARRAY_KEY, n.ID AS quest, SUM(n.qty) AS qty, BIT_OR(n.side) AS side, it.class, it.subclass, it.spellid_1, it.spelltrigger_1, it.spellid_2, it.spelltrigger_2 FROM (
|
||||
SELECT RewardChoiceItemID1 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardChoiceItemID1 > 0 GROUP BY item UNION
|
||||
SELECT RewardChoiceItemID2 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardChoiceItemID2 > 0 GROUP BY item UNION
|
||||
SELECT RewardChoiceItemID3 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardChoiceItemID3 > 0 GROUP BY item UNION
|
||||
SELECT RewardChoiceItemID4 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardChoiceItemID4 > 0 GROUP BY item UNION
|
||||
SELECT RewardChoiceItemID5 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardChoiceItemID5 > 0 GROUP BY item UNION
|
||||
SELECT RewardChoiceItemID6 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardChoiceItemID6 > 0 GROUP BY item UNION
|
||||
SELECT RewardItem1 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardItem1 > 0 GROUP BY item UNION
|
||||
SELECT RewardItem2 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardItem2 > 0 GROUP BY item UNION
|
||||
SELECT RewardItem3 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardItem3 > 0 GROUP BY item UNION
|
||||
SELECT RewardItem4 AS item, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE RewardItem4 > 0 GROUP BY item
|
||||
) n JOIN item_template it ON it.entry = n.item
|
||||
GROUP BY item'
|
||||
);
|
||||
@@ -413,7 +413,7 @@ function source(array $ids = [])
|
||||
$mailLoot = DB::World()->select('
|
||||
SELECT
|
||||
IF(mlt.Reference > 0, -mlt.Reference, mlt.Item) AS ARRAY_KEY,
|
||||
qt.Id AS entry,
|
||||
qt.ID AS entry,
|
||||
it.class, it.subclass, it.spellid_1, it.spelltrigger_1, it.spellid_2, it.spelltrigger_2,
|
||||
count(1) AS qty,
|
||||
BIT_OR(IF(qt.RequiredRaces & 0x2B2 AND !(qt.RequiredRaces & 0x44D), 2, IF(qt.RequiredRaces & 0x44D AND !(qt.RequiredRaces & 0x2B2), 1, 3))) AS side
|
||||
@@ -635,7 +635,7 @@ function source(array $ids = [])
|
||||
count(1) AS qty
|
||||
FROM (
|
||||
SELECT 0 AS entry, IF(flt.Reference > 0, -flt.Reference, flt.Item) itemOrRef FROM fishing_loot_template flt UNION
|
||||
SELECT gt.entry, IF(glt.Reference > 0, -glt.Reference, glt.Item) itemOrRef FROM gameobject_template gt JOIN gameobject_loot_template glt ON glt.entry = gt.data1 WHERE `type` = 25 AND gt.data1 > 0
|
||||
SELECT gt.entry, IF(glt.Reference > 0, -glt.Reference, glt.Item) itemOrRef FROM gameobject_template gt JOIN gameobject_loot_template glt ON glt.entry = gt.Data1 WHERE `type` = 25 AND gt.Data1 > 0
|
||||
) src
|
||||
LEFT JOIN
|
||||
item_template it ON src.itemOrRef > 0 AND src.itemOrRef = it.entry
|
||||
@@ -688,7 +688,7 @@ function source(array $ids = [])
|
||||
src.srcType
|
||||
FROM (
|
||||
SELECT ct.entry, IF(slt.Reference > 0, -slt.Reference, slt.Item) itemOrRef, ?d AS srcType FROM creature_template ct JOIN skinning_loot_template slt ON slt.entry = ct.skinloot WHERE (type_flags & ?d) AND ct.skinloot > 0 UNION
|
||||
SELECT gt.entry, IF(glt.Reference > 0, -glt.Reference, glt.Item) itemOrRef, ?d AS srcType FROM gameobject_template gt JOIN gameobject_loot_template glt ON glt.entry = gt.data1 WHERE gt.`type` = 3 AND gt.data1 > 0 AND data0 IN (?a)
|
||||
SELECT gt.entry, IF(glt.Reference > 0, -glt.Reference, glt.Item) itemOrRef, ?d AS srcType FROM gameobject_template gt JOIN gameobject_loot_template glt ON glt.entry = gt.Data1 WHERE gt.`type` = 3 AND gt.Data1 > 0 AND Data0 IN (?a)
|
||||
) src
|
||||
LEFT JOIN
|
||||
item_template it ON src.itemOrRef > 0 AND src.itemOrRef = it.entry
|
||||
@@ -794,7 +794,7 @@ function source(array $ids = [])
|
||||
src.srcType
|
||||
FROM (
|
||||
SELECT ct.entry, IF(slt.Reference > 0, -slt.Reference, slt.Item) itemOrRef, ?d AS srcType FROM creature_template ct JOIN skinning_loot_template slt ON slt.entry = ct.skinloot WHERE (type_flags & ?d) AND ct.skinloot > 0 UNION
|
||||
SELECT gt.entry, IF(glt.Reference > 0, -glt.Reference, glt.Item) itemOrRef, ?d AS srcType FROM gameobject_template gt JOIN gameobject_loot_template glt ON glt.entry = gt.data1 WHERE gt.`type` = 3 AND gt.data1 > 0 AND data0 IN (?a)
|
||||
SELECT gt.entry, IF(glt.Reference > 0, -glt.Reference, glt.Item) itemOrRef, ?d AS srcType FROM gameobject_template gt JOIN gameobject_loot_template glt ON glt.entry = gt.Data1 WHERE gt.`type` = 3 AND gt.Data1 > 0 AND Data0 IN (?a)
|
||||
) src
|
||||
LEFT JOIN
|
||||
item_template it ON src.itemOrRef > 0 AND src.itemOrRef = it.entry
|
||||
@@ -1045,9 +1045,9 @@ function source(array $ids = [])
|
||||
CLISetup::log(' * #4 Quest');
|
||||
$quests = DB::World()->select('
|
||||
SELECT spell AS ARRAY_KEY, id, SUM(qty) AS qty, BIT_OR(side) AS side FROM (
|
||||
SELECT IF(rewardSpellCast = 0, rewardSpell, rewardSpellCast) AS spell, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE IF(rewardSpellCast = 0, rewardSpell, rewardSpellCast) > 0 GROUP BY spell
|
||||
SELECT IF(rewardSpellCast = 0, rewardSpell, rewardSpellCast) AS spell, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE IF(rewardSpellCast = 0, rewardSpell, rewardSpellCast) > 0 GROUP BY spell
|
||||
UNION
|
||||
SELECT SourceSpellId AS spell, Id, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE SourceSpellId > 0 GROUP BY spell
|
||||
SELECT SourceSpellId AS spell, ID, COUNT(1) AS qty, IF(RequiredRaces & 0x2B2 AND !(RequiredRaces & 0x44D), 2, IF(RequiredRaces & 0x44D AND !(RequiredRaces & 0x2B2), 1, 3)) AS side FROM quest_template WHERE SourceSpellId > 0 GROUP BY spell
|
||||
) t GROUP BY spell');
|
||||
|
||||
if ($quests)
|
||||
@@ -1071,7 +1071,7 @@ function source(array $ids = [])
|
||||
|
||||
# 6: Trainer
|
||||
CLISetup::log(' * #6 Trainer');
|
||||
if ($tNpcs = DB::World()->select('SELECT spell AS ARRAY_KEY, entry, COUNT(1) AS qty FROM npc_trainer WHERE spell > 0 GROUP BY ARRAY_KEY'))
|
||||
if ($tNpcs = DB::World()->select('SELECT SpellID AS ARRAY_KEY, ID AS entry, COUNT(1) AS qty FROM npc_trainer WHERE SpellID > 0 GROUP BY ARRAY_KEY'))
|
||||
{
|
||||
$tSpells = DB::Aowow()->select('SELECT Id AS ARRAY_KEY, effect1Id, effect2Id, effect3Id, effect1TriggerSpell, effect2TriggerSpell, effect3TriggerSpell FROM dbc_spell WHERE Id IN (?a)', array_keys($tNpcs));
|
||||
$buff = [];
|
||||
@@ -1167,7 +1167,7 @@ function source(array $ids = [])
|
||||
|
||||
# 4: Quest
|
||||
CLISetup::log(' * #4 Quest');
|
||||
if ($quests = DB::World()->select('SELECT ?d, RewardTitleId, 1, ?d, Id FROM quest_template WHERE RewardTitleId > 0', TYPE_TITLE, TYPE_QUEST))
|
||||
if ($quests = DB::World()->select('SELECT ?d, RewardTitle, 1, ?d, ID FROM quest_template WHERE RewardTitle > 0', TYPE_TITLE, TYPE_QUEST))
|
||||
DB::Aowow()->query(queryfy('[V]', $quests, $insMore), 4, 4, 4);
|
||||
|
||||
# 12: Achievement
|
||||
|
||||
@@ -134,7 +134,7 @@ function spawns() // and waypoints
|
||||
/* offsets for transports */
|
||||
/**************************/
|
||||
|
||||
$transports = DB::World()->selectCol('SELECT data0 AS pathId, data6 AS ARRAY_KEY FROM gameobject_template WHERE type = 15 AND data6 <> 0');
|
||||
$transports = DB::World()->selectCol('SELECT Data0 AS pathId, Data6 AS ARRAY_KEY FROM gameobject_template WHERE type = 15 AND Data6 <> 0');
|
||||
foreach ($transports as &$t)
|
||||
$t = DB::Aowow()->selectRow('SELECT posX, posY, mapId FROM dbc_taxipathnode tpn WHERE tpn.pathId = ?d AND nodeIdx = 0', $t);
|
||||
|
||||
|
||||
@@ -353,7 +353,7 @@ function spell()
|
||||
}
|
||||
|
||||
// fill learnedAt, trainingCost from trainer
|
||||
if ($trainer = DB::World()->select('SELECT spell AS ARRAY_KEY, MIN(reqskillvalue) AS reqSkill, MIN(spellcost) AS cost, COUNT(*) as count FROM npc_trainer GROUP BY spell'))
|
||||
if ($trainer = DB::World()->select('SELECT SpellID AS ARRAY_KEY, MIN(ReqSkillRank) AS reqSkill, MIN(MoneyCost) AS cost, COUNT(*) AS count FROM npc_trainer GROUP BY SpellID'))
|
||||
{
|
||||
$spells = DB::Aowow()->select('SELECT Id AS ARRAY_KEY, effect1Id, effect2Id, effect3Id, effect1TriggerSpell, effect2TriggerSpell, effect3TriggerSpell FROM dbc_spell WHERE Id IN (?a)', array_keys($trainer));
|
||||
$links = [];
|
||||
@@ -489,7 +489,7 @@ function spell()
|
||||
201032 => 10658
|
||||
);
|
||||
foreach ($specs as $tt => $req)
|
||||
if ($spells = DB::World()->selectCol('SELECT spell FROM npc_trainer WHERE entry = ?d', $tt))
|
||||
if ($spells = DB::World()->selectCol('SELECT SpellID FROM npc_trainer WHERE ID = ?d', $tt))
|
||||
DB::Aowow()->query('UPDATE ?_spell SET reqSpellId = ?d WHERE id IN (?a)', $req, $spells);
|
||||
|
||||
$itemReqs = DB::World()->selectCol('SELECT entry AS ARRAY_KEY, requiredSpell FROM item_template WHERE requiredSpell NOT IN (?a)', [0, 34090, 34091]); // not riding
|
||||
|
||||
@@ -37,17 +37,17 @@ function titles()
|
||||
|
||||
$questQuery = '
|
||||
SELECT
|
||||
qt.RewardTitleId AS ARRAY_KEY,
|
||||
qt.RewardTitle AS ARRAY_KEY,
|
||||
qt.RequiredRaces,
|
||||
ge.eventEntry
|
||||
FROM
|
||||
quest_template qt
|
||||
LEFT JOIN
|
||||
game_event_seasonal_questrelation sq ON sq.questId = qt.id
|
||||
game_event_seasonal_questrelation sq ON sq.questId = qt.ID
|
||||
LEFT JOIN
|
||||
game_event ge ON ge.eventEntry = sq.eventEntry
|
||||
WHERE
|
||||
qt.RewardTitleId <> 0';
|
||||
qt.RewardTitle <> 0';
|
||||
|
||||
DB::Aowow()->query('REPLACE INTO ?_titles SELECT Id, 0, 0, 0, 0, 0, 0, 0, male_loc0, male_loc2, male_loc3, male_loc6, male_loc8, female_loc0, female_loc2, female_loc3, female_loc6, female_loc8 FROM dbc_chartitles');
|
||||
|
||||
|
||||
15
setup/updates/1437329787_01.sql
Normal file
15
setup/updates/1437329787_01.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
ALTER TABLE `aowow_objects`
|
||||
DROP COLUMN `questItem1`,
|
||||
DROP COLUMN `questItem2`,
|
||||
DROP COLUMN `questItem3`,
|
||||
DROP COLUMN `questItem4`,
|
||||
DROP COLUMN `questItem5`,
|
||||
DROP COLUMN `questItem6`;
|
||||
|
||||
ALTER TABLE `aowow_creature`
|
||||
DROP COLUMN `questItem1`,
|
||||
DROP COLUMN `questItem2`,
|
||||
DROP COLUMN `questItem3`,
|
||||
DROP COLUMN `questItem4`,
|
||||
DROP COLUMN `questItem5`,
|
||||
DROP COLUMN `questItem6`;
|
||||
Reference in New Issue
Block a user