aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-02-12 11:49:28 +0100
committerShauren <shauren.trinity@gmail.com>2017-02-12 11:49:28 +0100
commit26bb056542c32cd955bce4a82c7318c2086015c7 (patch)
tree76a68f1917631e85fe8dfd25dc8ad74afd4abf79 /src/server
parentecda7cef7f93fc01b7a6cd6341e33bb8c7668724 (diff)
Core/GameObjects: Enable using GAMEOBJECT_TYPE_GATHERING_NODE
Closes #18378
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h60
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp6
2 files changed, 39 insertions, 27 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 1cd3ff88552..7106327a658 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -685,10 +685,11 @@ struct GameObjectTemplate
{
switch (type)
{
- case GAMEOBJECT_TYPE_QUESTGIVER: return questgiver.allowMounted != 0;
- case GAMEOBJECT_TYPE_TEXT: return text.allowMounted != 0;
- case GAMEOBJECT_TYPE_GOOBER: return goober.allowMounted != 0;
- case GAMEOBJECT_TYPE_SPELLCASTER: return spellCaster.allowMounted != 0;
+ case GAMEOBJECT_TYPE_QUESTGIVER: return questgiver.allowMounted != 0;
+ case GAMEOBJECT_TYPE_TEXT: return text.allowMounted != 0;
+ case GAMEOBJECT_TYPE_GOOBER: return goober.allowMounted != 0;
+ case GAMEOBJECT_TYPE_SPELLCASTER: return spellCaster.allowMounted != 0;
+ case GAMEOBJECT_TYPE_UI_LINK: return UILink.allowMounted != 0;
default: return false;
}
}
@@ -697,20 +698,21 @@ struct GameObjectTemplate
{
switch (type)
{
- case GAMEOBJECT_TYPE_DOOR: return door.open;
- case GAMEOBJECT_TYPE_BUTTON: return button.open;
- case GAMEOBJECT_TYPE_QUESTGIVER: return questgiver.open;
- case GAMEOBJECT_TYPE_CHEST: return chest.open;
- case GAMEOBJECT_TYPE_TRAP: return trap.open;
- case GAMEOBJECT_TYPE_GOOBER: return goober.open;
- case GAMEOBJECT_TYPE_AREADAMAGE: return areaDamage.open;
- case GAMEOBJECT_TYPE_CAMERA: return camera.open;
- case GAMEOBJECT_TYPE_FLAGSTAND: return flagStand.open;
- case GAMEOBJECT_TYPE_FISHINGHOLE: return fishingHole.open;
- case GAMEOBJECT_TYPE_FLAGDROP: return flagDrop.open;
- case GAMEOBJECT_TYPE_NEW_FLAG: return newflag.open;
- case GAMEOBJECT_TYPE_NEW_FLAG_DROP: return newflagdrop.open;
- case GAMEOBJECT_TYPE_CAPTURE_POINT: return capturePoint.open;
+ case GAMEOBJECT_TYPE_DOOR: return door.open;
+ case GAMEOBJECT_TYPE_BUTTON: return button.open;
+ case GAMEOBJECT_TYPE_QUESTGIVER: return questgiver.open;
+ case GAMEOBJECT_TYPE_CHEST: return chest.open;
+ case GAMEOBJECT_TYPE_TRAP: return trap.open;
+ case GAMEOBJECT_TYPE_GOOBER: return goober.open;
+ case GAMEOBJECT_TYPE_AREADAMAGE: return areaDamage.open;
+ case GAMEOBJECT_TYPE_CAMERA: return camera.open;
+ case GAMEOBJECT_TYPE_FLAGSTAND: return flagStand.open;
+ case GAMEOBJECT_TYPE_FISHINGHOLE: return fishingHole.open;
+ case GAMEOBJECT_TYPE_FLAGDROP: return flagDrop.open;
+ case GAMEOBJECT_TYPE_NEW_FLAG: return newflag.open;
+ case GAMEOBJECT_TYPE_NEW_FLAG_DROP: return newflagdrop.open;
+ case GAMEOBJECT_TYPE_CAPTURE_POINT: return capturePoint.open;
+ case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.open;
default: return 0;
}
}
@@ -744,10 +746,11 @@ struct GameObjectTemplate
{
switch (type)
{
- case GAMEOBJECT_TYPE_BUTTON: return button.linkedTrap;
- case GAMEOBJECT_TYPE_CHEST: return chest.linkedTrap;
- case GAMEOBJECT_TYPE_SPELL_FOCUS: return spellFocus.linkedTrap;
- case GAMEOBJECT_TYPE_GOOBER: return goober.linkedTrap;
+ case GAMEOBJECT_TYPE_BUTTON: return button.linkedTrap;
+ case GAMEOBJECT_TYPE_CHEST: return chest.linkedTrap;
+ case GAMEOBJECT_TYPE_SPELL_FOCUS: return spellFocus.linkedTrap;
+ case GAMEOBJECT_TYPE_GOOBER: return goober.linkedTrap;
+ case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.linkedTrap;
default: return 0;
}
}
@@ -773,8 +776,10 @@ struct GameObjectTemplate
{
switch (type)
{
- case GAMEOBJECT_TYPE_CHEST: return chest.chestLoot;
- case GAMEOBJECT_TYPE_FISHINGHOLE: return fishingHole.chestLoot;
+ case GAMEOBJECT_TYPE_CHEST: return chest.chestLoot;
+ case GAMEOBJECT_TYPE_FISHINGHOLE: return fishingHole.chestLoot;
+ case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.chestLoot;
+ case GAMEOBJECT_TYPE_CHALLENGE_MODE_REWARD: return challengeModeReward.chestLoot;
default: return 0;
}
}
@@ -793,9 +798,10 @@ struct GameObjectTemplate
{
switch (type)
{
- case GAMEOBJECT_TYPE_GOOBER: return goober.eventID;
- case GAMEOBJECT_TYPE_CHEST: return chest.triggeredEvent;
- case GAMEOBJECT_TYPE_CAMERA: return camera.eventID;
+ case GAMEOBJECT_TYPE_GOOBER: return goober.eventID;
+ case GAMEOBJECT_TYPE_CHEST: return chest.triggeredEvent;
+ case GAMEOBJECT_TYPE_CAMERA: return camera.eventID;
+ case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.triggeredEvent;
default: return 0;
}
}
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index d7c9347159c..fa14b5c27ff 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -6908,6 +6908,12 @@ void ObjectMgr::LoadGameObjectTemplate()
if (uint32 transportMap = got.garrisonBuilding.SpawnMap)
_transportMaps.insert(transportMap);
break;
+ case GAMEOBJECT_TYPE_GATHERING_NODE:
+ if (got.gatheringNode.open)
+ CheckGOLockId(&got, got.gatheringNode.open, 0);
+ if (got.gatheringNode.linkedTrap)
+ CheckGOLinkedTrapId(&got, got.gatheringNode.linkedTrap, 20);
+ break;
}
++count;