From 153e88a16b33bedfd28273030e26914844d60aff Mon Sep 17 00:00:00 2001 From: Gacko Date: Mon, 3 Sep 2012 20:08:17 +0200 Subject: Core: Blood Furnace - Broggok event Move prisoners back in cages after respawn. They didn't reset correctly for players which were still in the instance after wipe --- .../Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src') 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 893f97fe711..629df924ea1 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -316,6 +316,7 @@ class instance_blood_furnace : public InstanceMapScript if (!prisoner->isAlive()) prisoner->Respawn(true); prisoner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE); + prisoner->GetMotionMaster()->MoveTargetedHome(); } void StorePrisoner(Creature* creature) -- cgit v1.2.3 From 913645d5c7301a5d323f98e16a1e4baa972c685a Mon Sep 17 00:00:00 2001 From: Gacko Date: Mon, 3 Sep 2012 22:25:26 +0200 Subject: Core: Blood furnace - Update method header to lastest rev --- .../Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') 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 629df924ea1..ebc7af26aae 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -133,7 +133,7 @@ class instance_blood_furnace : public InstanceMapScript } } - void OnCreatureDeath(Creature* unit) + void OnUnitDeath(Unit* unit) { if (unit && unit->GetTypeId() == TYPEID_UNIT && unit->GetEntry() == 17398) PrisonerDied(unit->GetGUID()); -- cgit v1.2.3 From 76be70a4dc225bbcbce3c5d427585aededef37b6 Mon Sep 17 00:00:00 2001 From: kaelima Date: Tue, 4 Sep 2012 00:37:21 +0200 Subject: Core/Battlefield: Fix some memory leaks --- src/server/game/Battlefield/Battlefield.cpp | 7 +++++++ src/server/game/Battlefield/Zones/BattlefieldWG.cpp | 3 +++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp index ffc5e48290b..c0cf64ead58 100644 --- a/src/server/game/Battlefield/Battlefield.cpp +++ b/src/server/game/Battlefield/Battlefield.cpp @@ -60,6 +60,13 @@ Battlefield::Battlefield() Battlefield::~Battlefield() { + for (BfCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr) + delete itr->second; + + for (GraveyardVect::const_iterator itr = m_GraveyardList.begin(); itr != m_GraveyardList.end(); ++itr) + delete *itr; + + m_capturePoints.clear(); } // Called when a player enters the zone diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index 09783176094..233dbeca077 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -37,6 +37,9 @@ BattlefieldWG::~BattlefieldWG() { for (Workshop::const_iterator itr = WorkshopsList.begin(); itr != WorkshopsList.end(); ++itr) delete *itr; + + for (GameObjectBuilding::const_iterator itr = BuildingsInZone.begin(); itr != BuildingsInZone.end(); ++itr) + delete *itr; } bool BattlefieldWG::SetupBattlefield() -- cgit v1.2.3 From a47ad2f5e174588587d621ab2216197a7993054f Mon Sep 17 00:00:00 2001 From: Mik43l Date: Tue, 4 Sep 2012 00:51:26 +0200 Subject: Core/Auras: Added minimal delay before Rapture cooldown takes effect to allow all bubbles broken by a single damage source proc mana return Closes #7443 Signed-off-by: Shauren --- src/server/game/Spells/Auras/SpellAuras.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 9ee05b9a2a4..1eb771dc500 100755 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1414,10 +1414,16 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b if (caster->GetTypeId() == TYPEID_PLAYER) { if (caster->ToPlayer()->HasSpellCooldown(aura->GetId())) - break; - // and add if needed - caster->ToPlayer()->AddSpellCooldown(aura->GetId(), 0, uint32(time(NULL) + 12)); + { + // This additional check is needed to add a minimal delay before cooldown in in effect + // to allow all bubbles broken by a single damage source proc mana return + if (caster->ToPlayer()->GetSpellCooldownDelay(aura->GetId()) <= 11) + break; + } + else // and add if needed + caster->ToPlayer()->AddSpellCooldown(aura->GetId(), 0, uint32(time(NULL) + 12)); } + // effect on caster if (AuraEffect const* aurEff = aura->GetEffect(0)) { -- cgit v1.2.3 From b2bcc52fdaaef8752e72dbff9e300f168bf9a110 Mon Sep 17 00:00:00 2001 From: Nay Date: Tue, 4 Sep 2012 01:03:06 +0100 Subject: Revert "Core: Blood Furnace - Broggok event" This reverts commit 153e88a16b33bedfd28273030e26914844d60aff. --- .../Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src') 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 ebc7af26aae..156581e8cd2 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -316,7 +316,6 @@ class instance_blood_furnace : public InstanceMapScript if (!prisoner->isAlive()) prisoner->Respawn(true); prisoner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE); - prisoner->GetMotionMaster()->MoveTargetedHome(); } void StorePrisoner(Creature* creature) -- cgit v1.2.3