mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
Misc: Random changes here and there
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -44,7 +44,7 @@ enum GameObjectIds
|
||||
{
|
||||
GO_ARGALOTH_DOOR = 207619,
|
||||
GO_OCCUTHAR_DOOR = 208953,
|
||||
GO_ALIZABAL = 209849,
|
||||
GO_ALIZABAL_DOOR = 209849
|
||||
};
|
||||
|
||||
template<class AI>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user