* Added support for questItem5 and questItem6 in creature and gameobject

* templates.
*
* Thanks to Malcrom for doing the research.

--HG--
branch : trunk
This commit is contained in:
Brian
2009-11-26 12:23:33 -07:00
parent d792107835
commit 7d754c3f7f
6 changed files with 18 additions and 10 deletions

View File

@@ -0,0 +1,4 @@
ALTER TABLE `creature_template` ADD `questItem5` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `questItem4`;
ALTER TABLE `creature_template` ADD `questItem6` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `questItem5`;
ALTER TABLE `gameobject_template` ADD `questItem5` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `questItem4`;
ALTER TABLE `gameobject_template` ADD `questItem6` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `questItem5`;

View File

@@ -565,6 +565,8 @@ CREATE TABLE `creature_template` (
`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',
`movementId` int(11) unsigned NOT NULL default '0',
`RegenHealth` tinyint(3) unsigned NOT NULL default '1',
`equipment_id` mediumint(8) unsigned NOT NULL default '0',
@@ -1134,6 +1136,8 @@ CREATE TABLE `gameobject_template` (
`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',
`data0` int(10) unsigned NOT NULL default '0',
`data1` int(10) unsigned NOT NULL default '0',
`data2` int(10) unsigned NOT NULL default '0',

View File

@@ -229,7 +229,7 @@ struct CreatureInfo
float unk16;
float unk17;
bool RacialLeader;
uint32 questItems[4];
uint32 questItems[6];
uint32 movementId;
bool RegenHealth;
uint32 equipmentId;

View File

@@ -47,7 +47,7 @@ struct GameObjectInfo
uint32 faction;
uint32 flags;
float size;
uint32 questItems[4];
uint32 questItems[6];
union // different GO types have different data field
{
//0 GAMEOBJECT_TYPE_DOOR

View File

@@ -197,8 +197,8 @@ void WorldSession::HandleCreatureQueryOpcode( WorldPacket & recv_data )
data << float(ci->unk16); // unk
data << float(ci->unk17); // unk
data << uint8(ci->RacialLeader);
for (uint32 i = 0; i < 4; ++i)
data << uint32(ci->questItems[i]); // itemId[4], quest drop
for (uint32 i = 0; i < 6; ++i)
data << uint32(ci->questItems[i]); // itemId[6], quest drop
data << uint32(ci->movementId); // CreatureMovementInfo.dbc
SendPacket( &data );
sLog.outDebug( "WORLD: Sent SMSG_CREATURE_QUERY_RESPONSE" );
@@ -259,8 +259,8 @@ void WorldSession::HandleGameObjectQueryOpcode( WorldPacket & recv_data )
data << info->unk1; // 2.0.3, string
data.append(info->raw.data, 24);
data << float(info->size); // go size
for (uint32 i = 0; i < 4; ++i)
data << uint32(info->questItems[i]); // itemId[4], quest drop
for (uint32 i = 0; i < 6; ++i)
data << uint32(info->questItems[i]); // itemId[6], quest drop
SendPacket( &data );
sLog.outDebug( "WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE" );
}

View File

@@ -27,14 +27,14 @@ extern DatabasePostgre WorldDatabase;
extern DatabaseMysql WorldDatabase;
#endif
const char CreatureInfosrcfmt[]="iiiiiiiisssiiiiiiiiiiffiffiifiiiiiiiiiiffiiiiiiiiiiiiiiiiiiiiiiiisiiffliiiiiliiis";
const char CreatureInfodstfmt[]="iiiiiiiisssiiiiiiiiiiffiffiifiiiiiiiiiiffiiiiiiiiiiiiiiiiiiiiiiiisiiffliiiiiliiii";
const char CreatureInfosrcfmt[]="iiiiiiiisssiiiiiiiiiiffiffiifiiiiiiiiiiffiiiiiiiiiiiiiiiiiiiiiiiisiiffliiiiiiiliiis";
const char CreatureInfodstfmt[]="iiiiiiiisssiiiiiiiiiiffiffiifiiiiiiiiiiffiiiiiiiiiiiiiiiiiiiiiiiisiiffliiiiiiiliiii";
const char CreatureDataAddonInfofmt[]="iiiiiiis";
const char CreatureModelfmt[]="iffbi";
const char CreatureInfoAddonInfofmt[]="iiiiiiis";
const char EquipmentInfofmt[]="iiii";
const char GameObjectInfosrcfmt[]="iiissssiifiiiiiiiiiiiiiiiiiiiiiiiiiiiis";
const char GameObjectInfodstfmt[]="iiissssiifiiiiiiiiiiiiiiiiiiiiiiiiiiiii";
const char GameObjectInfosrcfmt[]="iiissssiifiiiiiiiiiiiiiiiiiiiiiiiiiiiiiis";
const char GameObjectInfodstfmt[]="iiissssiifiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii";
const char ItemPrototypesrcfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifiiisiiii";
const char ItemPrototypedstfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifiiiiiiii";
const char PageTextfmt[]="isi";