From cb9a1c38f17e31c74855bc6e77d73c6c057b9f7f Mon Sep 17 00:00:00 2001 From: Killyana Date: Thu, 16 May 2019 19:31:54 +0200 Subject: Instance/Script: Blood Furnace Ref #23285 (cherry picked from commit 9435caa8d110ebfec894c7f99541f77dc6a83ff1) --- .../HellfireCitadel/BloodFurnace/blood_furnace.h | 3 ++- .../BloodFurnace/instance_blood_furnace.cpp | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h index 63c4bef65f2..217bd48d806 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h @@ -50,7 +50,8 @@ enum BFCreatureIds NPC_THE_MAKER = 17381, NPC_BROGGOK = 17380, NPC_KELIDAN_THE_BREAKER = 17377, - NPC_PRISONER = 17398, + NPC_PRISONER1 = 17398, + NPC_PRISONER2 = 17429, NPC_BROGGOK_POISON_CLOUD = 17662 }; diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp index 45d4350720b..c2cd3431344 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -65,7 +65,8 @@ class instance_blood_furnace : public InstanceMapScript case NPC_KELIDAN_THE_BREAKER: KelidanTheBreakerGUID = creature->GetGUID(); break; - case NPC_PRISONER: + case NPC_PRISONER1: + case NPC_PRISONER2: StorePrisoner(creature); break; default: @@ -75,7 +76,7 @@ class instance_blood_furnace : public InstanceMapScript void OnUnitDeath(Unit* unit) override { - if (unit->GetTypeId() == TYPEID_UNIT && unit->GetEntry() == NPC_PRISONER) + if (unit->GetTypeId() == TYPEID_UNIT && (unit->GetEntry() == NPC_PRISONER1 || unit->GetEntry() == NPC_PRISONER2)) PrisonerDied(unit->GetGUID()); } @@ -211,29 +212,30 @@ class instance_blood_furnace : public InstanceMapScript { float posX = creature->GetPositionX(); float posY = creature->GetPositionY(); + float posZ = creature->GetPositionZ(); - if (posX >= 405.0f && posX <= 423.0f) + if (posX >= 405.0f && posX <= 423.0f && posZ <= 17) { - if (posY >= 106.0f && posY <= 123.0f) + if (posY >= 106.0f && posY <= 123.0f && posZ <= 17) { PrisonersCell5.insert(creature->GetGUID()); ++PrisonerCounter5; } - else if (posY >= 76.0f && posY <= 91.0f) + else if (posY >= 76.0f && posY <= 91.0f && posZ <= 17) { PrisonersCell6.insert(creature->GetGUID()); ++PrisonerCounter6; } else return; } - else if (posX >= 490.0f && posX <= 506.0f) + else if (posX >= 490.0f && posX <= 506.0f && posZ <= 17) { - if (posY >= 106.0f && posY <= 123.0f) + if (posY >= 106.0f && posY <= 123.0f && posZ <= 17) { PrisonersCell7.insert(creature->GetGUID()); ++PrisonerCounter7; } - else if (posY >= 76.0f && posY <= 91.0f) + else if (posY >= 76.0f && posY <= 91.0f && posZ <= 17) { PrisonersCell8.insert(creature->GetGUID()); ++PrisonerCounter8; -- cgit v1.2.3