aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_09_03_01_world_gameobject_template.sql1
-rw-r--r--sql/updates/world/2012_09_03_02_world_quest_template.sql2
-rw-r--r--src/server/game/Battlefield/Battlefield.cpp7
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp3
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuras.cpp12
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp2
6 files changed, 23 insertions, 4 deletions
diff --git a/sql/updates/world/2012_09_03_01_world_gameobject_template.sql b/sql/updates/world/2012_09_03_01_world_gameobject_template.sql
new file mode 100644
index 00000000000..ff0907eee6e
--- /dev/null
+++ b/sql/updates/world/2012_09_03_01_world_gameobject_template.sql
@@ -0,0 +1 @@
+UPDATE `gameobject_template` SET `flags`=40 WHERE `entry`=186371; -- Zeppelin
diff --git a/sql/updates/world/2012_09_03_02_world_quest_template.sql b/sql/updates/world/2012_09_03_02_world_quest_template.sql
new file mode 100644
index 00000000000..0c0a7ce4e40
--- /dev/null
+++ b/sql/updates/world/2012_09_03_02_world_quest_template.sql
@@ -0,0 +1,2 @@
+-- Stalk the Stalker (9719) quest requirements fix
+UPDATE `quest_template` SET `RequiredRaces` = 0 WHERE `Id` = 9719;
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp
index ee976e0f704..a34ad788fa3 100644
--- a/src/server/game/Battlefield/Battlefield.cpp
+++ b/src/server/game/Battlefield/Battlefield.cpp
@@ -62,6 +62,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()
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 31129cf98d4..22202d11a94 100755
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -1331,10 +1331,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))
{
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..156581e8cd2 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());