Add support for sorting vendor itemlists
--HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE `game_event_npc_vendor` ADD `slot` SMALLINT(6) NOT NULL DEFAULT '0' AFTER `guid`;
|
||||
ALTER TABLE `game_event_npc_vendor` ADD INDEX (`slot`);
|
||||
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE `npc_vendor` ADD `slot` SMALLINT(6) NOT NULL DEFAULT '0' AFTER `entry`;
|
||||
ALTER TABLE `npc_vendor` ADD INDEX (`slot`);
|
||||
+6
-2
@@ -2093,11 +2093,13 @@ DROP TABLE IF EXISTS `game_event_npc_vendor`;
|
||||
CREATE TABLE `game_event_npc_vendor` (
|
||||
`event` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`guid` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`slot` smallint(6) unsigned NOT NULL DEFAULT '0',
|
||||
`item` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`maxcount` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`incrtime` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`ExtendedCost` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`guid`,`item`)
|
||||
PRIMARY KEY (`guid`,`item`),
|
||||
INDEX (`slot`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
@@ -3687,11 +3689,13 @@ DROP TABLE IF EXISTS `npc_vendor`;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `npc_vendor` (
|
||||
`entry` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`slot` smallint(6) unsigned NOT NULL DEFAULT '0',
|
||||
`item` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`maxcount` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`incrtime` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`ExtendedCost` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`entry`,`item`,`extendedCost`)
|
||||
PRIMARY KEY (`entry`,`item`,`extendedCost`),
|
||||
INDEX (`slot`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Npc System';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
|
||||
@@ -823,7 +823,7 @@ void GameEventMgr::LoadFromDB()
|
||||
sLog.outString("Loading Game Event Vendor Additions Data...");
|
||||
|
||||
// 0 1 2 3 4 5
|
||||
result = WorldDatabase.Query("SELECT event, guid, item, maxcount, incrtime, ExtendedCost FROM game_event_npc_vendor");
|
||||
result = WorldDatabase.Query("SELECT event, guid, item, maxcount, incrtime, ExtendedCost FROM game_event_npc_vendor ORDER BY guid, slot ASC");
|
||||
|
||||
count = 0;
|
||||
if (!result)
|
||||
|
||||
@@ -8252,7 +8252,7 @@ void ObjectMgr::LoadTrainerSpell()
|
||||
int ObjectMgr::LoadReferenceVendor(int32 vendor, int32 item, std::set<uint32> *skip_vendors)
|
||||
{
|
||||
// find all items from the reference vendor
|
||||
QueryResult_AutoPtr result = WorldDatabase.PQuery("SELECT item, maxcount, incrtime, ExtendedCost FROM npc_vendor WHERE entry='%d'", item);
|
||||
QueryResult_AutoPtr result = WorldDatabase.PQuery("SELECT item, maxcount, incrtime, ExtendedCost FROM npc_vendor WHERE entry='%d' ORDER BY slot ASC", item);
|
||||
if (!result)
|
||||
{
|
||||
barGoLink bar(1);
|
||||
@@ -8303,7 +8303,7 @@ void ObjectMgr::LoadVendors()
|
||||
|
||||
std::set<uint32> skip_vendors;
|
||||
|
||||
QueryResult_AutoPtr result = WorldDatabase.Query("SELECT entry, item, maxcount, incrtime, ExtendedCost FROM npc_vendor");
|
||||
QueryResult_AutoPtr result = WorldDatabase.Query("SELECT entry, item, maxcount, incrtime, ExtendedCost FROM npc_vendor ORDER BY entry, slot ASC");
|
||||
if (!result)
|
||||
{
|
||||
barGoLink bar(1);
|
||||
|
||||
Reference in New Issue
Block a user