From 4e16982d186b22944280defd38897d9fc80076ec Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 17 Jul 2010 04:46:04 +0400 Subject: [PATCH] [10203] Rename `item_template`.Faction to Flags2 and define some values for it. Thanks to Shauren for research flag ITEM_FLAGS2_COST_REQUIRES_GOLD meaning and inspiring in general what must be done long time ago with field rename and other enum values listing. --- sql/mangos.sql | 2 +- sql/updates/10203_01_mangos_item_template.sql | 5 +++++ sql/updates/Makefile.am | 2 ++ src/game/ItemHandler.cpp | 2 +- src/game/ItemPrototype.h | 11 +++++++++-- src/shared/revision_nr.h | 2 +- src/shared/revision_sql.h | 2 +- 7 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 sql/updates/10203_01_mangos_item_template.sql diff --git a/sql/mangos.sql b/sql/mangos.sql index 78a368ebc..b9cfff2b2 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -24,7 +24,7 @@ CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, `cache_id` int(10) default '0', - `required_10197_01_mangos_playercreateinfo` bit(1) default NULL + `required_10203_01_mangos_item_template` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- diff --git a/sql/updates/10203_01_mangos_item_template.sql b/sql/updates/10203_01_mangos_item_template.sql new file mode 100644 index 000000000..ca1fe2932 --- /dev/null +++ b/sql/updates/10203_01_mangos_item_template.sql @@ -0,0 +1,5 @@ +ALTER TABLE db_version CHANGE COLUMN required_10197_01_mangos_playercreateinfo required_10203_01_mangos_item_template bit; + +ALTER TABLE item_template + CHANGE COLUMN Faction Flags2 int(10) unsigned NOT NULL default '0'; + diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index de50ac0a1..f0148fc5e 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -107,6 +107,7 @@ pkgdata_DATA = \ 10160_02_characters_pet_aura.sql \ 10171_01_mangos_mangos_string.sql \ 10197_01_mangos_playercreateinfo.sql \ + 10203_01_mangos_item_template.sql \ README ## Additional files to include when running 'make dist' @@ -194,4 +195,5 @@ EXTRA_DIST = \ 10160_02_characters_pet_aura.sql \ 10171_01_mangos_mangos_string.sql \ 10197_01_mangos_playercreateinfo.sql \ + 10203_01_mangos_item_template.sql \ README diff --git a/src/game/ItemHandler.cpp b/src/game/ItemHandler.cpp index eccafd4ae..2c271c4f8 100644 --- a/src/game/ItemHandler.cpp +++ b/src/game/ItemHandler.cpp @@ -316,7 +316,7 @@ void WorldSession::HandleItemQuerySingleOpcode( WorldPacket & recv_data ) data << pProto->DisplayInfoID; data << pProto->Quality; data << pProto->Flags; - data << pProto->Faction; // 3.2 faction? + data << pProto->Flags2; // new in 3.2 data << pProto->BuyPrice; data << pProto->SellPrice; data << pProto->InventoryType; diff --git a/src/game/ItemPrototype.h b/src/game/ItemPrototype.h index 7ef526109..8119a711c 100644 --- a/src/game/ItemPrototype.h +++ b/src/game/ItemPrototype.h @@ -102,7 +102,7 @@ enum ItemBondingType #define MAX_BIND_TYPE 6 // masks for ITEM_FIELD_FLAGS field -enum ITEM_FLAGS +enum ItemFlags { ITEM_FLAGS_BINDED = 0x00000001, // set in game at binding, not set in template ITEM_FLAGS_CONJURED = 0x00000002, @@ -132,6 +132,13 @@ enum ITEM_FLAGS ITEM_FLAGS_BOP_TRADEABLE = 0x80000000 }; +enum ItemFlags2 +{ + ITEM_FLAGS2_HORDE_ONLY = 0x00000001, // drop in loot, sell by vendor and equipping only for horde + ITEM_FLAGS2_ALLIANCE_ONLY = 0x00000002, // drop in loot, sell by vendor and equipping only for alliance + ITEM_FLAGS2_EXT_COST_REQUIRES_GOLD = 0x00000004, // item cost include gold part in case extended cost use also +}; + enum BAG_FAMILY_MASK { BAG_FAMILY_MASK_NONE = 0x00000000, @@ -530,7 +537,7 @@ struct ItemPrototype uint32 DisplayInfoID; // id from ItemDisplayInfo.dbc uint32 Quality; uint32 Flags; - uint32 Faction; + uint32 Flags2; uint32 BuyCount; uint32 BuyPrice; uint32 SellPrice; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 088976ddd..cfe5b397b 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10202" + #define REVISION_NR "10203" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 8a953bcaf..ffe07fb0c 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ #define REVISION_DB_CHARACTERS "required_10160_02_characters_pet_aura" - #define REVISION_DB_MANGOS "required_10197_01_mangos_playercreateinfo" + #define REVISION_DB_MANGOS "required_10203_01_mangos_item_template" #define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version" #endif // __REVISION_SQL_H__