aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorShocker <shocker@freakz.ro>2016-05-26 13:09:56 +0300
committerShocker <shocker@freakz.ro>2016-05-26 13:09:56 +0300
commitb539ac6afafbddcb75855511d66d97bbc2e95c30 (patch)
tree7f2905cdb0b885b46c38fb4b0ba73400caf6f097 /src/server/scripts
parent2fffa51a65ff8d963c4ec0dc6f3b483a739b9438 (diff)
Core/GameObjects: Add isUse parameter to GossipHello for distinction between CMSG_GAMEOBJECT_USE and CMSG_GAMEOBJECT_REPORT_USE
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp5
-rw-r--r--src/server/scripts/World/go_scripts.cpp9
3 files changed, 11 insertions, 7 deletions
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index 8c68fe4cc18..9d7c41ffd7b 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -1353,8 +1353,10 @@ class go_twilight_portal : public GameObjectScript
}
}
- bool GossipHello(Player* player) override
+ bool GossipHello(Player* player, bool isUse) override
{
+ if (!isUse)
+ return true;
if (_spellId != 0)
player->CastSpell(player, _spellId, true);
return true;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index 0d8f9a6bce1..33afada15fd 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -977,8 +977,11 @@ class go_celestial_planetarium_access : public GameObjectScript
{
}
- bool GossipHello(Player* player) override
+ bool GossipHello(Player* player, bool isUse) override
{
+ if (!isUse)
+ return true;
+
if (go->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE))
return true;
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index 0e9a972a3fb..c9481f2e6b8 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -834,12 +834,11 @@ class go_soulwell : public GameObjectScript
{
}
- /// Due to the fact that this GameObject triggers CMSG_GAMEOBJECT_USE
- /// _and_ CMSG_GAMEOBJECT_REPORT_USE, this GossipHello hook is called
- /// twice. The script's handling is fine as it won't remove two charges
- /// on the well. We have to find how to segregate REPORT_USE and USE.
- bool GossipHello(Player* player) override
+ bool GossipHello(Player* player, bool isUse) override
{
+ if (!isUse)
+ return true;
+
Unit* owner = go->GetOwner();
if (!owner || owner->GetTypeId() != TYPEID_PLAYER || !player->IsInSameRaidWith(owner->ToPlayer()))
return true;