diff options
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; } |
