From cd3a7f4175d2224dae978f89bfe105ab18e82d42 Mon Sep 17 00:00:00 2001 From: Warpten Date: Sun, 14 Jul 2013 16:46:11 +0200 Subject: Core/Players: Dueling players in your party / raid should not make them always detectable. Fixes seeing stealthed rogues & druids, as well as invisible mages in duels. --- src/server/game/Entities/Player/Player.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a5c349984cf..358f9417258 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22106,10 +22106,10 @@ bool Player::IsAlwaysDetectableFor(WorldObject const* seer) const if (const Player* seerPlayer = seer->ToPlayer()) if (IsGroupVisibleFor(seerPlayer)) - return true; + return !(seerPlayer->duel && seerPlayer->duel->startTime != 0 && seerPlayer->duel->opponent == this); - return false; - } + return false; +} bool Player::IsVisibleGloballyFor(Player const* u) const { -- cgit v1.2.3 From ee31174caaf7ac651b4d5c61008cbb545093d762 Mon Sep 17 00:00:00 2001 From: Nay Date: Sun, 14 Jul 2013 18:15:09 +0100 Subject: DB/Items: Change item_template.Flags to uint32 (int(10) unsigned) --- sql/updates/world/2013_07_14_01_world_item_template.sql | 14 ++++++++++++++ src/server/game/Globals/ObjectMgr.cpp | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2013_07_14_01_world_item_template.sql (limited to 'src') diff --git a/sql/updates/world/2013_07_14_01_world_item_template.sql b/sql/updates/world/2013_07_14_01_world_item_template.sql new file mode 100644 index 00000000000..820fb1ae9c8 --- /dev/null +++ b/sql/updates/world/2013_07_14_01_world_item_template.sql @@ -0,0 +1,14 @@ +ALTER TABLE `item_template` CHANGE `Flags` `Flags` int(10) unsigned NOT NULL DEFAULT '0'; + +UPDATE `item_template` SET `Flags`=0x80000000 WHERE `entry`=23614; +UPDATE `item_template` SET `Flags`=0x80000800 WHERE `entry`=28635; +UPDATE `item_template` SET `Flags`=0x80000800 WHERE `entry`=28636; +UPDATE `item_template` SET `Flags`=0x80000800 WHERE `entry`=28637; +UPDATE `item_template` SET `Flags`=0x80000000 WHERE `entry`=30503; +UPDATE `item_template` SET `Flags`=0x80000000 WHERE `entry`=34868; +UPDATE `item_template` SET `Flags`=0x80000000 WHERE `entry`=37020; +UPDATE `item_template` SET `Flags`=0x80010000 WHERE `entry`=37200; +UPDATE `item_template` SET `Flags`=0x80000040 WHERE `entry`=40652; +UPDATE `item_template` SET `Flags`=0x80000040 WHERE `entry`=40970; +UPDATE `item_template` SET `Flags`=0x80000800 WHERE `entry`=41843; +UPDATE `item_template` SET `Flags`=0x80000800 WHERE `entry`=42782; diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 7393fb825c9..ae389dd69f2 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2179,7 +2179,7 @@ void ObjectMgr::LoadItemTemplates() itemTemplate.Name1 = fields[4].GetString(); itemTemplate.DisplayInfoID = fields[5].GetUInt32(); itemTemplate.Quality = uint32(fields[6].GetUInt8()); - itemTemplate.Flags = uint32(fields[7].GetInt64()); + itemTemplate.Flags = uint32(fields[7].GetUInt32()); itemTemplate.Flags2 = fields[8].GetUInt32(); itemTemplate.BuyCount = uint32(fields[9].GetUInt8()); itemTemplate.BuyPrice = int32(fields[10].GetInt64()); -- cgit v1.2.3