aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceScript.cpp
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2016-01-13 15:33:17 +0100
committerShauren <shauren.trinity@gmail.com>2016-03-22 22:56:43 +0100
commite2f2c70ba4ee0205dbe7f6ebb81e79dd0872d9e8 (patch)
tree462105f4bd862b5b2d0a761aa6c5912151bda68a /src/server/game/Instances/InstanceScript.cpp
parent78885769cbc52940993064b34f347e50c018dd52 (diff)
Merge branch '3.3.5-bossboundary' into 3.3.5-base (PR #16089)
(cherry picked from commit 5b8b8c653039ec2add0b3a66468abb85e6f35054)
Diffstat (limited to 'src/server/game/Instances/InstanceScript.cpp')
-rw-r--r--src/server/game/Instances/InstanceScript.cpp31
1 files changed, 8 insertions, 23 deletions
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp
index 6700ca07646..2e3ae5e4875 100644
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -96,6 +96,13 @@ void InstanceScript::SetHeaders(std::string const& dataHeaders)
headers.push_back(header);
}
+void InstanceScript::LoadBossBoundaries(const BossBoundaryData& data)
+{
+ for (BossBoundaryEntry entry : data)
+ if (entry.bossId < bosses.size())
+ bosses[entry.bossId].boundary.insert(entry.boundary);
+}
+
void InstanceScript::LoadMinionData(const MinionData* data)
{
while (data->entry)
@@ -113,7 +120,7 @@ void InstanceScript::LoadDoorData(const DoorData* data)
while (data->entry)
{
if (data->bossId < bosses.size())
- doors.insert(std::make_pair(data->entry, DoorInfo(&bosses[data->bossId], data->type, BoundaryType(data->boundary))));
+ doors.insert(std::make_pair(data->entry, DoorInfo(&bosses[data->bossId], data->type)));
++data;
}
@@ -236,28 +243,6 @@ void InstanceScript::AddDoor(GameObject* door, bool add)
if (add)
{
data.bossInfo->door[data.type].insert(door->GetGUID());
- switch (data.boundary)
- {
- default:
- case BOUNDARY_NONE:
- break;
- case BOUNDARY_N:
- case BOUNDARY_S:
- data.bossInfo->boundary[data.boundary] = door->GetPositionX();
- break;
- case BOUNDARY_E:
- case BOUNDARY_W:
- data.bossInfo->boundary[data.boundary] = door->GetPositionY();
- break;
- case BOUNDARY_NW:
- case BOUNDARY_SE:
- data.bossInfo->boundary[data.boundary] = door->GetPositionX() + door->GetPositionY();
- break;
- case BOUNDARY_NE:
- case BOUNDARY_SW:
- data.bossInfo->boundary[data.boundary] = door->GetPositionX() - door->GetPositionY();
- break;
- }
}
else
data.bossInfo->door[data.type].erase(door->GetGUID());