*modified spelldifficulty handler to work with all spell casts for creatures that are in instances thanks to Shauren for help

*modified most of the scripts to use normal_mode spell for casting (code was autogenerated, post errors if any)
*added sql for all modded spells (autogenerated..)

--HG--
branch : trunk
This commit is contained in:
Rat
2010-04-10 10:20:01 +02:00
parent 8bb3b39495
commit 4a8bf5900d
79 changed files with 419 additions and 242 deletions
@@ -103,7 +103,7 @@ struct boss_epochAI : public ScriptedAI
if (uiWoundingStrikeTimer < diff)
{
DoCastVictim(DUNGEON_MODE(SPELL_WOUNDING_STRIKE, H_SPELL_WOUNDING_STRIKE));
DoCastVictim(SPELL_WOUNDING_STRIKE);
uiWoundingStrikeTimer = 5300;
} else uiWoundingStrikeTimer -= diff;
@@ -159,14 +159,14 @@ struct boss_mal_ganisAI : public ScriptedAI
if (uiCarrionSwarmTimer < diff)
{
DoCastVictim(DUNGEON_MODE(SPELL_CARRION_SWARM,H_SPELL_CARRION_SWARM));
DoCastVictim(SPELL_CARRION_SWARM);
uiCarrionSwarmTimer = 7000;
} else uiCarrionSwarmTimer -= diff;
if (uiMindBlastTimer < diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, DUNGEON_MODE(SPELL_MIND_BLAST, H_SPELL_MIND_BLAST));
DoCast(pTarget, SPELL_MIND_BLAST);
uiMindBlastTimer = 6000;
} else uiMindBlastTimer -= diff;
@@ -180,7 +180,7 @@ struct boss_mal_ganisAI : public ScriptedAI
{
DoScriptText(RAND(SAY_SLEEP_1,SAY_SLEEP_2), m_creature);
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, DUNGEON_MODE(SPELL_SLEEP, H_SPELL_SLEEP));
DoCast(pTarget, SPELL_SLEEP);
uiSleepTimer = urand(15000,20000);
} else uiSleepTimer -= diff;
@@ -87,7 +87,7 @@ struct boss_meathookAI : public ScriptedAI
if (uiDiseaseTimer <= diff)
{
DoCastAOE(DUNGEON_MODE(SPELL_DISEASE_EXPULSION,H_SPELL_DISEASE_EXPULSION));
DoCastAOE(SPELL_DISEASE_EXPULSION);
uiDiseaseTimer = urand(1500,4000);
} else uiDiseaseTimer -= diff;
@@ -100,7 +100,7 @@ struct boss_meathookAI : public ScriptedAI
if (uiChainTimer <= diff)
{
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, DUNGEON_MODE(SPELL_CONSTRICTING_CHAINS, H_SPELL_CONSTRICTING_CHAINS)); //anyone but the tank
DoCast(pTarget, SPELL_CONSTRICTING_CHAINS); //anyone but the tank
uiChainTimer = urand(2000,4000);
} else uiChainTimer -= diff;
@@ -112,7 +112,7 @@ struct boss_salrammAI : public ScriptedAI
if (uiShadowBoltTimer <= diff)
{
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
DoCast(pTarget, DUNGEON_MODE(SPELL_SHADOW_BOLT, H_SPELL_SHADOW_BOLT));
DoCast(pTarget, SPELL_SHADOW_BOLT);
uiShadowBoltTimer = urand(8000,12000);
} else uiShadowBoltTimer -= diff;
@@ -1092,7 +1092,7 @@ struct npc_arthasAI : public npc_escortAI
if (uiExorcismTimer < diff)
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
DoCast(target, DUNGEON_MODE(SPELL_EXORCISM_N, SPELL_EXORCISM_H));
DoCast(target, SPELL_EXORCISM_N);
uiExorcismTimer = 7300;
} else uiExorcismTimer -= diff;
@@ -106,7 +106,7 @@ struct boss_aeonusAI : public ScriptedAI
//Sand Breath
if (SandBreath_Timer <= diff)
{
DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_SAND_BREATH, H_SPELL_SAND_BREATH));
DoCast(m_creature->getVictim(), SPELL_SAND_BREATH);
SandBreath_Timer = 15000+rand()%10000;
} else SandBreath_Timer -= diff;
@@ -105,7 +105,7 @@ struct boss_chrono_lord_dejaAI : public ScriptedAI
//Arcane Blast
if (ArcaneBlast_Timer <= diff)
{
DoCast(m_creature->getVictim(), DUNGEON_MODE(SPELL_ARCANE_BLAST, H_SPELL_ARCANE_BLAST));
DoCast(m_creature->getVictim(), SPELL_ARCANE_BLAST);
ArcaneBlast_Timer = 15000+rand()%10000;
} else ArcaneBlast_Timer -= diff;
@@ -113,7 +113,7 @@ struct boss_chrono_lord_dejaAI : public ScriptedAI
if (ArcaneDischarge_Timer <= diff)
{
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0);
DoCast(pTarget, DUNGEON_MODE(SPELL_ARCANE_DISCHARGE, H_SPELL_ARCANE_DISCHARGE));
DoCast(pTarget, SPELL_ARCANE_DISCHARGE);
ArcaneDischarge_Timer = 20000+rand()%10000;
} else ArcaneDischarge_Timer -= diff;
@@ -119,7 +119,7 @@ struct boss_temporusAI : public ScriptedAI
//Wing ruffet
if (WingBuffet_Timer <= diff)
{
DoCast(m_creature, DUNGEON_MODE(SPELL_WING_BUFFET, H_SPELL_WING_BUFFET));
DoCast(m_creature, SPELL_WING_BUFFET);
WingBuffet_Timer = 20000+rand()%10000;
} else WingBuffet_Timer -= diff;