*Fix rock shards spell for archavon script.
--HG-- branch : trunk
This commit is contained in:
@@ -14,7 +14,7 @@ UPDATE `creature_template` SET `ScriptName`='mob_archavon_warder' WHERE `entry`=
|
|||||||
#define EMOTE_ENRAGE -1533022
|
#define EMOTE_ENRAGE -1533022
|
||||||
|
|
||||||
//Spells Archavon
|
//Spells Archavon
|
||||||
#define SPELL_ROCK_SHARDS HEROIC(58695,60884) //Instant -- Hurls a jagged rock shard, inflicting 707 to 793 Physical damage to any enemies within 5 of the target.
|
#define SPELL_ROCK_SHARDS 58678
|
||||||
#define SPELL_CRUSHING_LEAP HEROIC(58960,60894)//Instant (10-80yr range) -- Leaps at an enemy, inflicting 8000 Physical damage, knocking all nearby enemies away, and creating a cloud of choking debris.
|
#define SPELL_CRUSHING_LEAP HEROIC(58960,60894)//Instant (10-80yr range) -- Leaps at an enemy, inflicting 8000 Physical damage, knocking all nearby enemies away, and creating a cloud of choking debris.
|
||||||
#define SPELL_STOMP HEROIC(58663,60880)
|
#define SPELL_STOMP HEROIC(58663,60880)
|
||||||
#define SPELL_IMPALE HEROIC(58666,60882) //Lifts an enemy off the ground with a spiked fist, inflicting 47125 to 52875 Physical damage and 9425 to 10575 additional damage each second for 8 sec.
|
#define SPELL_IMPALE HEROIC(58666,60882) //Lifts an enemy off the ground with a spiked fist, inflicting 47125 to 52875 Physical damage and 9425 to 10575 additional damage each second for 8 sec.
|
||||||
@@ -81,6 +81,9 @@ struct TRINITY_DLL_DECL boss_archavonAI : public ScriptedAI
|
|||||||
|
|
||||||
events.Update(diff);
|
events.Update(diff);
|
||||||
|
|
||||||
|
if(me->hasUnitState(UNIT_STAT_CASTING))
|
||||||
|
return;
|
||||||
|
|
||||||
while(uint32 eventId = events.ExecuteEvent())
|
while(uint32 eventId = events.ExecuteEvent())
|
||||||
{
|
{
|
||||||
switch(eventId)
|
switch(eventId)
|
||||||
|
|||||||
@@ -2044,6 +2044,8 @@ void Spell::SetTargetMap(uint32 i, uint32 cur)
|
|||||||
case TARGET_DEST_CHANNEL:
|
case TARGET_DEST_CHANNEL:
|
||||||
if(m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets.HasDst())
|
if(m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets.HasDst())
|
||||||
m_targets = m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets;
|
m_targets = m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets;
|
||||||
|
else if(Unit* target = m_originalCaster->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_targets.getUnitTarget())
|
||||||
|
m_targets.setDestination(target);
|
||||||
else
|
else
|
||||||
sLog.outError( "SPELL: cannot find channel spell destination for spell ID %u", m_spellInfo->Id );
|
sLog.outError( "SPELL: cannot find channel spell destination for spell ID %u", m_spellInfo->Id );
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -4933,6 +4933,26 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
case 58941: // Rock Shards
|
||||||
|
if(unitTarget && m_originalCaster)
|
||||||
|
{
|
||||||
|
for(uint32 i = 0; i < 5; ++i)
|
||||||
|
{
|
||||||
|
m_originalCaster->CastSpell(unitTarget, 58689, true);
|
||||||
|
m_originalCaster->CastSpell(unitTarget, 58692, true);
|
||||||
|
}
|
||||||
|
if(m_originalCaster->GetMap()->IsHeroic())
|
||||||
|
{
|
||||||
|
m_originalCaster->CastSpell(unitTarget, 60883, true);
|
||||||
|
m_originalCaster->CastSpell(unitTarget, 60884, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_originalCaster->CastSpell(unitTarget, 58695, true);
|
||||||
|
m_originalCaster->CastSpell(unitTarget, 58696, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
case 59317: // Teleporting
|
case 59317: // Teleporting
|
||||||
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -3161,6 +3161,10 @@ void SpellMgr::LoadSpellCustomAttr()
|
|||||||
case TARGET_TYPE_DEST_TARGET:
|
case TARGET_TYPE_DEST_TARGET:
|
||||||
spellInfo->Targets |= TARGET_FLAG_UNIT;
|
spellInfo->Targets |= TARGET_FLAG_UNIT;
|
||||||
break;
|
break;
|
||||||
|
//case TARGET_TYPE_AREA_DST:
|
||||||
|
//case TARGET_TYPE_DEST_DEST:
|
||||||
|
// spellInfo->Targets |= TARGET_FLAG_DEST_LOCATION;
|
||||||
|
// break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user