aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/SpellEffects.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h2
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp27
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp6
5 files changed, 29 insertions, 18 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index df7c3a27a5b..cc6a584847d 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -518,16 +518,6 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
}
break;
}
- case SPELLFAMILY_HUNTER:
- {
- //Gore
- if (m_spellInfo->SpellIconID == 1578)
- {
- if (m_caster->HasAura(57627)) // Charge 6 sec post-affect
- damage *= 2;
- }
- break;
- }
case SPELLFAMILY_DEATHKNIGHT:
{
// Blood Boil - bonus for diseased targets
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h b/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h
index ba4d4dc0bb9..82eaeaa4432 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/baradin_hold.h
@@ -44,7 +44,7 @@ enum GameObjectIds
{
GO_ARGALOTH_DOOR = 207619,
GO_OCCUTHAR_DOOR = 208953,
- GO_ALIZABAL = 209849,
+ GO_ALIZABAL_DOOR = 209849
};
template<class AI>
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
index c2b78b4827e..1a3c29972a7 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
@@ -1,5 +1,5 @@
/*
-* Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
index 9876da73004..857f50b8696 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
@@ -65,9 +65,9 @@ class boss_occuthar : public CreatureScript
{
_EnterCombat();
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me);
- events.ScheduleEvent(EVENT_SEARING_SHADOWS, 35 * IN_MILLISECONDS);
- events.ScheduleEvent(EVENT_FOCUSED_FIRE, 40 * IN_MILLISECONDS);
- events.ScheduleEvent(EVENT_EYES_OF_OCCUTHAR, 60 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_SEARING_SHADOWS, 8 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_FOCUSED_FIRE, 15 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_EYES_OF_OCCUTHAR, 30 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BERSERK, 5 * MINUTE * IN_MILLISECONDS);
}
@@ -200,6 +200,26 @@ class npc_eyestalk : public CreatureScript
}
};
+class FocusedFireTargetSelector : public std::unary_function<Unit *, bool>
+{
+ public:
+ FocusedFireTargetSelector(Creature* me, const Unit* victim) : _me(me), _victim(victim) { }
+
+ bool operator() (WorldObject* target)
+ {
+ if (target == _victim && _me->getThreatManager().getThreatList().size() > 1)
+ return true;
+
+ if (target->GetTypeId() != TYPEID_PLAYER)
+ return true;
+
+ return false;
+ }
+
+ Creature* _me;
+ Unit const* _victim;
+};
+
// 96872 - Focused Fire
class spell_occuthar_focused_fire : public SpellScriptLoader
{
@@ -215,6 +235,7 @@ class spell_occuthar_focused_fire : public SpellScriptLoader
if (targets.empty())
return;
+ targets.remove_if(FocusedFireTargetSelector(GetCaster()->ToCreature(), GetCaster()->GetVictim()));
WorldObject* target = Trinity::Containers::SelectRandomContainerElement(targets);
targets.clear();
targets.push_back(target);
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
index 419e08e2fac..87584e523df 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
@@ -23,7 +23,7 @@ DoorData const doorData[] =
{
{ GO_ARGALOTH_DOOR, DATA_ARGALOTH, DOOR_TYPE_ROOM, BOUNDARY_NONE },
{ GO_OCCUTHAR_DOOR, DATA_OCCUTHAR, DOOR_TYPE_ROOM, BOUNDARY_NONE },
- { GO_ALIZABAL, DATA_ALIZABAL, DOOR_TYPE_ROOM, BOUNDARY_NONE },
+ { GO_ALIZABAL_DOOR, DATA_ALIZABAL, DOOR_TYPE_ROOM, BOUNDARY_NONE },
};
class instance_baradin_hold: public InstanceMapScript
@@ -65,7 +65,7 @@ class instance_baradin_hold: public InstanceMapScript
{
case GO_ARGALOTH_DOOR:
case GO_OCCUTHAR_DOOR:
- case GO_ALIZABAL:
+ case GO_ALIZABAL_DOOR:
AddDoor(go, true);
break;
}
@@ -94,7 +94,7 @@ class instance_baradin_hold: public InstanceMapScript
{
case GO_ARGALOTH_DOOR:
case GO_OCCUTHAR_DOOR:
- case GO_ALIZABAL:
+ case GO_ALIZABAL_DOOR:
AddDoor(go, false);
break;
}