mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 02:46:33 +01:00
Code Style: tab to spaces
--HG-- branch : trunk
This commit is contained in:
@@ -88,8 +88,8 @@ struct boss_balindaAI : public ScriptedAI
|
||||
uint32 uiFrostboltTimer;
|
||||
uint32 uiResetTimer;
|
||||
uint32 uiWaterElementalTimer;
|
||||
|
||||
SummonList Summons;
|
||||
|
||||
SummonList Summons;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
@@ -100,7 +100,7 @@ struct boss_balindaAI : public ScriptedAI
|
||||
uiResetTimer = 5*IN_MILISECONDS;
|
||||
uiWaterElementalTimer = 0;
|
||||
|
||||
Summons.DespawnAll();
|
||||
Summons.DespawnAll();
|
||||
}
|
||||
|
||||
void EnterCombat(Unit *who)
|
||||
@@ -113,7 +113,7 @@ struct boss_balindaAI : public ScriptedAI
|
||||
Reset();
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
void JustSummoned(Creature* summoned)
|
||||
{
|
||||
((mob_water_elementalAI*)summoned->AI())->uiBalindaGUID = m_creature->GetGUID();
|
||||
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM,0, 50, true));
|
||||
@@ -122,9 +122,9 @@ struct boss_balindaAI : public ScriptedAI
|
||||
}
|
||||
|
||||
void JustDied(Unit* Killer)
|
||||
{
|
||||
Summons.DespawnAll();
|
||||
}
|
||||
{
|
||||
Summons.DespawnAll();
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
@@ -133,7 +133,7 @@ struct boss_balindaAI : public ScriptedAI
|
||||
|
||||
if (uiWaterElementalTimer < diff)
|
||||
{
|
||||
if(Summons.empty())
|
||||
if(Summons.empty())
|
||||
m_creature->SummonCreature(NPC_WATER_ELEMENTAL, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45*IN_MILISECONDS);
|
||||
uiWaterElementalTimer = 50*IN_MILISECONDS;
|
||||
} else uiWaterElementalTimer -= diff;
|
||||
|
||||
@@ -52,11 +52,11 @@ bool GOHello_go_shadowforge_brazier(Player* pPlayer, GameObject* pGo)
|
||||
pInstance->SetData(TYPE_LYCEUM, DONE);
|
||||
else
|
||||
pInstance->SetData(TYPE_LYCEUM, IN_PROGRESS);
|
||||
// If used brazier open linked doors (North or South)
|
||||
if(pGo->GetGUID() == pInstance->GetData64(DATA_SF_BRAZIER_N))
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GOLEM_DOOR_N), true);
|
||||
else if(pGo->GetGUID() == pInstance->GetData64(DATA_SF_BRAZIER_S))
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GOLEM_DOOR_S), true);
|
||||
// If used brazier open linked doors (North or South)
|
||||
if(pGo->GetGUID() == pInstance->GetData64(DATA_SF_BRAZIER_N))
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GOLEM_DOOR_N), true);
|
||||
else if(pGo->GetGUID() == pInstance->GetData64(DATA_SF_BRAZIER_S))
|
||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GOLEM_DOOR_S), true);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ CreatureAI* GetAI_npc_the_scourge_cauldron(Creature* pCreature)
|
||||
}
|
||||
|
||||
/*######
|
||||
## npcs_andorhal_tower
|
||||
## npcs_andorhal_tower
|
||||
######*/
|
||||
|
||||
enum eAndorhalTower
|
||||
|
||||
@@ -38,7 +38,7 @@ bool AT_example_areatrigger(Player* pPlayer, const AreaTriggerEntry *pAt)
|
||||
extern void LoadDatabase();
|
||||
bool ItemUse_example_item(Player* pPlayer, Item* pItem, SpellCastTargets const& scTargets)
|
||||
{
|
||||
sScriptMgr.LoadDatabase();
|
||||
sScriptMgr.LoadDatabase();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,6 @@ enum GameObjects
|
||||
GO_MALGANIS_GATE_2 = 187723,
|
||||
GO_EXIT_GATE = 191788,
|
||||
GO_MALGANIS_CHEST_N = 190663,
|
||||
GO_MALGANIS_CHEST_H = 193597
|
||||
GO_MALGANIS_CHEST_H = 193597
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -101,7 +101,7 @@ struct instance_culling_of_stratholme : public ScriptedInstance
|
||||
HandleGameObject(uiExitGate,true);
|
||||
break;
|
||||
case GO_MALGANIS_CHEST_N:
|
||||
case GO_MALGANIS_CHEST_H:
|
||||
case GO_MALGANIS_CHEST_H:
|
||||
uiMalGanisChest = pGo->GetGUID();
|
||||
if (m_auiEncounter[3] == DONE)
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS,GO_FLAG_INTERACT_COND);
|
||||
|
||||
@@ -32,7 +32,7 @@ enum eData64
|
||||
|
||||
enum eGameObject
|
||||
{
|
||||
GO_GONG = 148917
|
||||
GO_GONG = 148917
|
||||
};
|
||||
|
||||
enum eCreature
|
||||
|
||||
@@ -2226,7 +2226,7 @@ struct npc_valiance_keep_cannoneerAI : public ScriptedAI
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiTimer = urand(13000,18000);
|
||||
uiTimer = urand(13000,18000);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -2307,7 +2307,7 @@ struct npc_warmage_coldarraAI : public Scripted_NoMovementAI
|
||||
m_uiTimer = urand(90000,120000);
|
||||
}
|
||||
break;
|
||||
case NPC_WARMAGE_CALANDRA:
|
||||
case NPC_WARMAGE_CALANDRA:
|
||||
{
|
||||
if (!orbList.empty())
|
||||
{
|
||||
@@ -2336,7 +2336,7 @@ struct npc_warmage_coldarraAI : public Scripted_NoMovementAI
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else m_uiTimer -= uiDiff;
|
||||
|
||||
ScriptedAI::UpdateAI(uiDiff);
|
||||
@@ -2506,7 +2506,7 @@ void AddSC_borean_tundra()
|
||||
newscript->Name = "npc_valiance_keep_cannoneer";
|
||||
newscript->GetAI = &GetAI_npc_valiance_keep_cannoneer;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_warmage_coldarra";
|
||||
newscript->GetAI = &GetAI_npc_warmage_coldarra;
|
||||
|
||||
@@ -55,8 +55,8 @@ enum eSpells
|
||||
|
||||
SPELL_BLACK_KNIGHT_RES = 67693,
|
||||
|
||||
SPELL_LEAP = 67749,
|
||||
SPELL_LEAP_H = 67880
|
||||
SPELL_LEAP = 67749,
|
||||
SPELL_LEAP_H = 67880
|
||||
};
|
||||
|
||||
enum eModels
|
||||
|
||||
@@ -70,13 +70,13 @@ enum eGameObjects
|
||||
GO_MAIN_GATE = 195647,
|
||||
|
||||
GO_CHAMPIONS_LOOT = 195709,
|
||||
GO_CHAMPIONS_LOOT_H = 195710,
|
||||
GO_CHAMPIONS_LOOT_H = 195710,
|
||||
|
||||
GO_EADRIC_LOOT = 195374,
|
||||
GO_EADRIC_LOOT_H = 195375,
|
||||
GO_EADRIC_LOOT_H = 195375,
|
||||
|
||||
GO_PALETRESS_LOOT = 195323,
|
||||
GO_PALETRESS_LOOT_H = 195324
|
||||
GO_PALETRESS_LOOT_H = 195324
|
||||
};
|
||||
|
||||
enum eVehicles
|
||||
|
||||
@@ -83,14 +83,14 @@ struct npc_warmage_violetstandAI : public Scripted_NoMovementAI
|
||||
m_uiTimer = 90000;
|
||||
}
|
||||
break;
|
||||
case NPC_WARMAGE_HALISTER:
|
||||
case NPC_WARMAGE_HALISTER:
|
||||
case NPC_WARMAGE_ILSUDRIA:
|
||||
if (pTarget)
|
||||
DoCast(pTarget,SPELL_TRANSITUS_SHIELD_BEAM);
|
||||
m_uiTimer = 90000;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else m_uiTimer -= uiDiff;
|
||||
|
||||
ScriptedAI::UpdateAI(uiDiff);
|
||||
|
||||
@@ -68,8 +68,8 @@ struct boss_garfrostAI : public ScriptedAI
|
||||
pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
bool phase2;
|
||||
bool phase3;
|
||||
bool phase2;
|
||||
bool phase3;
|
||||
bool bAchievement;
|
||||
|
||||
ScriptedInstance* pInstance;
|
||||
@@ -77,10 +77,10 @@ struct boss_garfrostAI : public ScriptedAI
|
||||
|
||||
void Reset()
|
||||
{
|
||||
events.Reset();
|
||||
events.Reset();
|
||||
|
||||
phase2 = false;
|
||||
phase3 = false;
|
||||
phase2 = false;
|
||||
phase3 = false;
|
||||
bAchievement = true;
|
||||
|
||||
if (pInstance)
|
||||
@@ -89,8 +89,8 @@ struct boss_garfrostAI : public ScriptedAI
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
DoCast(m_creature, SPELL_PERMAFROST);
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
DoCast(m_creature, SPELL_PERMAFROST);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_GARFROST_EVENT, IN_PROGRESS);
|
||||
@@ -98,32 +98,32 @@ struct boss_garfrostAI : public ScriptedAI
|
||||
events.ScheduleEvent(EVENT_THROW_SARONITE, 45000);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* pDoneBy, uint32& uiDamage)
|
||||
void DamageTaken(Unit* pDoneBy, uint32& uiDamage)
|
||||
{
|
||||
if (HealthBelowPct(66) && !phase2)
|
||||
{
|
||||
phase2 = true;
|
||||
if (HealthBelowPct(66) && !phase2)
|
||||
{
|
||||
phase2 = true;
|
||||
DoCast(m_creature, SPELL_THUNDERING_STOMP);
|
||||
// TODO: should go to a forge
|
||||
DoCast(m_creature, DUNGEON_MODE(SPELL_FORGE_BLADE, H_SPELL_FORGE_BLADE));
|
||||
DoCast(m_creature, DUNGEON_MODE(SPELL_FORGE_BLADE, H_SPELL_FORGE_BLADE));
|
||||
// TODO: should equip when spell completes
|
||||
SetEquipmentSlots(false, EQUIP_ID_SWORD, -1, -1);
|
||||
m_creature->SetByteValue(UNIT_FIELD_BYTES_2, 0, SHEATH_STATE_MELEE);
|
||||
events.ScheduleEvent(EVENT_CHILLINGWAVE, 10000);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_CHILLINGWAVE, 10000);
|
||||
}
|
||||
|
||||
if (HealthBelowPct(33) && !phase3)
|
||||
{
|
||||
phase3 = true;
|
||||
if (HealthBelowPct(33) && !phase3)
|
||||
{
|
||||
phase3 = true;
|
||||
DoCast(m_creature, SPELL_THUNDERING_STOMP);
|
||||
// TODO: should go to a forge
|
||||
DoCast(m_creature, DUNGEON_MODE(SPELL_FORGE_MACE, H_SPELL_FORGE_MACE));
|
||||
DoCast(m_creature, DUNGEON_MODE(SPELL_FORGE_MACE, H_SPELL_FORGE_MACE));
|
||||
// TODO: should equip when spell completes
|
||||
SetEquipmentSlots(false, EQUIP_ID_MACE, -1, -1);
|
||||
m_creature->SetByteValue(UNIT_FIELD_BYTES_2, 0, SHEATH_STATE_MELEE);
|
||||
events.CancelEvent(EVENT_CHILLINGWAVE); // cast only in phase 2.
|
||||
events.ScheduleEvent(EVENT_DEEPFREEZE, 10000);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_DEEPFREEZE, 10000);
|
||||
}
|
||||
}
|
||||
|
||||
void KilledUnit(Unit *victim)
|
||||
@@ -136,8 +136,8 @@ struct boss_garfrostAI : public ScriptedAI
|
||||
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
if (pInstance)
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
if (pInstance)
|
||||
{
|
||||
if (Creature *pTyrannus = m_creature->GetCreature(*m_creature, pInstance->GetData64(DATA_TYRANNUS)))
|
||||
DoScriptText(SAY_TYRANNUS_DEATH, pTyrannus);
|
||||
@@ -179,16 +179,16 @@ struct boss_garfrostAI : public ScriptedAI
|
||||
events.RescheduleEvent(EVENT_THROW_SARONITE, 35000);
|
||||
return;
|
||||
case EVENT_DEEPFREEZE:
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, DUNGEON_MODE(SPELL_DEEP_FREEZE, H_SPELL_DEEP_FREEZE));
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, DUNGEON_MODE(SPELL_DEEP_FREEZE, H_SPELL_DEEP_FREEZE));
|
||||
events.RescheduleEvent(EVENT_DEEPFREEZE, 35000);
|
||||
return;
|
||||
case EVENT_CHILLINGWAVE:
|
||||
DoCastAOE(DUNGEON_MODE(SPELL_CHILLING_WAVE, H_SPELL_CHILLING_WAVE));
|
||||
DoCastAOE(DUNGEON_MODE(SPELL_CHILLING_WAVE, H_SPELL_CHILLING_WAVE));
|
||||
events.RescheduleEvent(EVENT_CHILLINGWAVE, 40000);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
@@ -68,16 +68,16 @@ enum Yells
|
||||
|
||||
enum Events
|
||||
{
|
||||
EVENT_NONE,
|
||||
EVENT_NONE,
|
||||
EVENT_PURSUE,
|
||||
EVENT_MIGHTY_KICK,
|
||||
EVENT_POISON_NOVA,
|
||||
EVENT_EXPLOSIVE_BARRAGE,
|
||||
EVENT_END_EXPLOSIVE_BARRAGE,
|
||||
EVENT_MIGHTY_KICK,
|
||||
EVENT_POISON_NOVA,
|
||||
EVENT_EXPLOSIVE_BARRAGE,
|
||||
EVENT_END_EXPLOSIVE_BARRAGE,
|
||||
|
||||
// Krick
|
||||
EVENT_SHADOW_BOLT,
|
||||
EVENT_TOXIC_WASTE,
|
||||
EVENT_SHADOW_BOLT,
|
||||
EVENT_TOXIC_WASTE,
|
||||
|
||||
// Krick OUTRO
|
||||
EVENT_OUTRO_1,
|
||||
@@ -145,7 +145,7 @@ struct boss_ickAI : public ScriptedAI
|
||||
void EnterCombat(Unit *pWho)
|
||||
{
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_KRICKANDICK_EVENT, IN_PROGRESS);
|
||||
pInstance->SetData(DATA_KRICKANDICK_EVENT, IN_PROGRESS);
|
||||
|
||||
Creature* pKrick = GetKrick();
|
||||
if (!pKrick)
|
||||
@@ -154,12 +154,12 @@ struct boss_ickAI : public ScriptedAI
|
||||
if (pKrick)
|
||||
DoScriptText(SAY_KRICK_AGGRO, pKrick);
|
||||
|
||||
events.ScheduleEvent(EVENT_MIGHTY_KICK, 20000, GCD_1);
|
||||
events.ScheduleEvent(EVENT_MIGHTY_KICK, 20000, GCD_1);
|
||||
events.ScheduleEvent(EVENT_PURSUE, 30000, GCD_1);
|
||||
events.ScheduleEvent(EVENT_POISON_NOVA, 30000, GCD_1);
|
||||
events.ScheduleEvent(EVENT_EXPLOSIVE_BARRAGE, 35000);
|
||||
events.ScheduleEvent(EVENT_EXPLOSIVE_BARRAGE, 35000);
|
||||
events.ScheduleEvent(EVENT_TOXIC_WASTE, 5000);
|
||||
events.ScheduleEvent(EVENT_SHADOW_BOLT, 15000);
|
||||
events.ScheduleEvent(EVENT_SHADOW_BOLT, 15000);
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
@@ -241,7 +241,7 @@ struct boss_ickAI : public ScriptedAI
|
||||
if (Creature *pKrick = GetKrick())
|
||||
{
|
||||
DoScriptText(SAY_KRICK_BARRAGE_1, pKrick);
|
||||
DoScriptText(SAY_KRICK_BARRAGE_2, pKrick);
|
||||
DoScriptText(SAY_KRICK_BARRAGE_2, pKrick);
|
||||
}
|
||||
|
||||
DoCastAOE(SPELL_EXPLOSIVE_BARRAGE);
|
||||
@@ -268,7 +268,7 @@ struct boss_krickAI : public ScriptedAI
|
||||
pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance* pInstance;
|
||||
ScriptedInstance* pInstance;
|
||||
EventMap events;
|
||||
|
||||
KrickPhase phase;
|
||||
@@ -353,8 +353,8 @@ struct boss_krickAI : public ScriptedAI
|
||||
{
|
||||
if (phase == PHASE_OUTRO)
|
||||
{
|
||||
if (!pInstance)
|
||||
return;
|
||||
if (!pInstance)
|
||||
return;
|
||||
|
||||
events.Update(diff);
|
||||
switch(events.ExecuteEvent())
|
||||
@@ -454,7 +454,7 @@ struct boss_krickAI : public ScriptedAI
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_ick(Creature* pCreature)
|
||||
|
||||
@@ -96,7 +96,7 @@ struct boss_tyrannusAI : public ScriptedAI
|
||||
|
||||
void Reset()
|
||||
{
|
||||
events.Reset();
|
||||
events.Reset();
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_TYRANNUS_EVENT, NOT_STARTED);
|
||||
@@ -110,7 +110,7 @@ struct boss_tyrannusAI : public ScriptedAI
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, m_creature);
|
||||
m_creature->ExitVehicle();
|
||||
m_creature->ExitVehicle();
|
||||
|
||||
// restore health if any damage done during intro
|
||||
m_creature->SetHealth(m_creature->GetMaxHealth());
|
||||
@@ -118,7 +118,7 @@ struct boss_tyrannusAI : public ScriptedAI
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_TYRANNUS_EVENT, IN_PROGRESS);
|
||||
|
||||
events.ScheduleEvent(EVENT_FORCEFUL_SMASH, 10000);
|
||||
events.ScheduleEvent(EVENT_FORCEFUL_SMASH, 10000);
|
||||
events.ScheduleEvent(EVENT_OVERLORDS_BRAND, 35000);
|
||||
events.ScheduleEvent(EVENT_DARK_MIGHT, 40000);
|
||||
}
|
||||
@@ -130,13 +130,13 @@ struct boss_tyrannusAI : public ScriptedAI
|
||||
|
||||
void JustDied(Unit* killer)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
DoScriptText(SAY_DEATH, m_creature);
|
||||
|
||||
if (pInstance)
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->SetData(DATA_TYRANNUS_EVENT, DONE);
|
||||
if (Creature* pRimefang = GetRimefang())
|
||||
pRimefang->ForcedDespawn();
|
||||
pRimefang->ForcedDespawn();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,18 +160,18 @@ struct boss_tyrannusAI : public ScriptedAI
|
||||
events.ScheduleEvent(EVENT_FORCEFUL_SMASH, 10000);
|
||||
return;
|
||||
case EVENT_OVERLORDS_BRAND:
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_OVERLORDS_BRAND);
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_OVERLORDS_BRAND);
|
||||
events.ScheduleEvent(EVENT_OVERLORDS_BRAND, 45000);
|
||||
return;
|
||||
case EVENT_DARK_MIGHT:
|
||||
DoScriptText(SAY_DARK_MIGHT_1, m_creature);
|
||||
DoScriptText(SAY_DARK_MIGHT_2, m_creature);
|
||||
DoScriptText(SAY_DARK_MIGHT_1, m_creature);
|
||||
DoScriptText(SAY_DARK_MIGHT_2, m_creature);
|
||||
DoCast(m_creature, DUNGEON_MODE(SPELL_DARK_MIGHT, H_SPELL_DARK_MIGHT));
|
||||
events.ScheduleEvent(EVENT_DARK_MIGHT, 60000);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
@@ -193,7 +193,7 @@ struct boss_rimefangAI : public ScriptedAI
|
||||
m_creature->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
m_creature->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
|
||||
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
events.Reset();
|
||||
events.Reset();
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
@@ -201,7 +201,7 @@ struct boss_rimefangAI : public ScriptedAI
|
||||
m_creature->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
m_creature->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
|
||||
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, 25000);
|
||||
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, 25000);
|
||||
events.ScheduleEvent(EVENT_ICY_BLAST, 35000);
|
||||
}
|
||||
|
||||
@@ -220,13 +220,13 @@ struct boss_rimefangAI : public ScriptedAI
|
||||
{
|
||||
switch(eventId)
|
||||
{
|
||||
case EVENT_MARK_OF_RIMEFANG:
|
||||
DoScriptText(SAY_MARK_RIMEFANG_1, m_creature);
|
||||
case EVENT_MARK_OF_RIMEFANG:
|
||||
DoScriptText(SAY_MARK_RIMEFANG_1, m_creature);
|
||||
DoScriptText(SAY_MARK_RIMEFANG_2, m_creature);
|
||||
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_MARK_OF_RIMEFANG);
|
||||
events.ScheduleEvent(EVENT_HOARFROST, 5000);
|
||||
events.ScheduleEvent(EVENT_HOARFROST, 5000);
|
||||
return;
|
||||
case EVENT_HOARFROST:
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
@@ -234,18 +234,18 @@ struct boss_rimefangAI : public ScriptedAI
|
||||
events.ScheduleEvent(EVENT_MARK_OF_RIMEFANG, 20000);
|
||||
return;
|
||||
case EVENT_ICY_BLAST:
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, DUNGEON_MODE(SPELL_ICY_BLAST, H_SPELL_ICY_BLAST));
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, DUNGEON_MODE(SPELL_ICY_BLAST, H_SPELL_ICY_BLAST));
|
||||
events.ScheduleEvent(EVENT_ICY_BLAST_2, 5000);
|
||||
return;
|
||||
case EVENT_ICY_BLAST_2:
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget->getVictim(), DUNGEON_MODE(SPELL_ICY_BLAST_2, H_SPELL_ICY_BLAST_2));
|
||||
events.ScheduleEvent(EVENT_ICY_BLAST, 30000);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_tyrannus(Creature* pCreature)
|
||||
|
||||
@@ -904,7 +904,7 @@ struct mob_geist_ambusherAI: public ScriptedAI
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
//Only here so when I figure out how to make it cast on an NPC i can do that.
|
||||
//Only here so when I figure out how to make it cast on an NPC i can do that.
|
||||
events.ScheduleEvent(EVENT_LEAPING_FACE_MAUL, 99999);
|
||||
}
|
||||
|
||||
@@ -923,7 +923,7 @@ struct mob_geist_ambusherAI: public ScriptedAI
|
||||
{
|
||||
switch(eventId)
|
||||
{
|
||||
//Should only be used on NPCs
|
||||
//Should only be used on NPCs
|
||||
case EVENT_LEAPING_FACE_MAUL:
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_LEAPING_FACE_MAUL);
|
||||
|
||||
@@ -394,7 +394,7 @@ struct npc_outhouse_bunnyAI : public ScriptedAI
|
||||
if (uiType == 1)
|
||||
m_gender = uiData;
|
||||
}
|
||||
|
||||
|
||||
void SpellHit(Unit* pCaster, const SpellEntry* pSpell)
|
||||
{
|
||||
if (pSpell->Id == SPELL_OUTHOUSE_GROANS)
|
||||
@@ -440,15 +440,15 @@ struct npc_tallhorn_stagAI : public ScriptedAI
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
if (m_uiPhase = 1)
|
||||
{
|
||||
if (GameObject* haunch = me->FindNearestGameObject(OBJECT_HAUNCH, 2.0f))
|
||||
{
|
||||
if (GameObject* haunch = me->FindNearestGameObject(OBJECT_HAUNCH, 2.0f))
|
||||
{
|
||||
me->SetStandState(UNIT_STAND_STATE_DEAD);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||
me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
|
||||
}
|
||||
m_uiPhase = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -475,16 +475,16 @@ struct npc_amberpine_woodsmanAI : public ScriptedAI
|
||||
{
|
||||
m_uiTimer = 0;
|
||||
m_uiPhase = 1;
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
// call this each update tick?
|
||||
if (Creature* stag = me->FindNearestCreature(TALLHORN_STAG, 0.2f))
|
||||
{
|
||||
if (Creature* stag = me->FindNearestCreature(TALLHORN_STAG, 0.2f))
|
||||
{
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
|
||||
}
|
||||
else
|
||||
else
|
||||
if (m_uiPhase)
|
||||
{
|
||||
if (m_uiTimer <= uiDiff)
|
||||
@@ -495,7 +495,7 @@ struct npc_amberpine_woodsmanAI : public ScriptedAI
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_LOOT);
|
||||
m_uiTimer = 3000;
|
||||
m_uiPhase = 2;
|
||||
break;
|
||||
break;
|
||||
case 2:
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACK1H);
|
||||
m_uiTimer = 4000;
|
||||
@@ -506,7 +506,7 @@ struct npc_amberpine_woodsmanAI : public ScriptedAI
|
||||
else
|
||||
m_uiTimer -= uiDiff;
|
||||
}
|
||||
ScriptedAI::UpdateAI(uiDiff);
|
||||
ScriptedAI::UpdateAI(uiDiff);
|
||||
|
||||
UpdateVictim();
|
||||
}
|
||||
|
||||
@@ -298,7 +298,7 @@ struct instance_gundrak : public ScriptedInstance
|
||||
void SetData64(uint32 type, uint64 data)
|
||||
{
|
||||
if (type == DATA_RUIN_DWELLER_DIED)
|
||||
DwellerGUIDs.erase(data);
|
||||
DwellerGUIDs.erase(data);
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type)
|
||||
|
||||
@@ -191,7 +191,7 @@ struct npc_argent_valiantAI : public ScriptedAI
|
||||
pCreature->GetMotionMaster()->MovePoint(0,8599.258,963.951,547.553);
|
||||
pCreature->setFaction(35); //wrong faction in db?
|
||||
}
|
||||
|
||||
|
||||
uint32 uiChargeTimer;
|
||||
uint32 uiShieldBreakerTimer;
|
||||
|
||||
@@ -200,7 +200,7 @@ struct npc_argent_valiantAI : public ScriptedAI
|
||||
uiChargeTimer = 7000;
|
||||
uiShieldBreakerTimer = 10000;
|
||||
}
|
||||
|
||||
|
||||
void MovementInform(uint32 uiType, uint32 uiId)
|
||||
{
|
||||
if (uiType != POINT_MOTION_TYPE)
|
||||
|
||||
@@ -426,7 +426,7 @@ struct boss_gothikAI : public BossAI
|
||||
|
||||
++waveCount;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
phaseTwo = true;
|
||||
DoScriptText(SAY_TELEPORT, me);
|
||||
|
||||
@@ -81,10 +81,10 @@ struct boss_drakosAI : public ScriptedAI
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_DRAKOS_EVENT, IN_PROGRESS);
|
||||
}
|
||||
void JustSummoned(Creature* summon)
|
||||
{
|
||||
lSummons.Summon(summon);
|
||||
}
|
||||
void JustSummoned(Creature* summon)
|
||||
{
|
||||
lSummons.Summon(summon);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
@@ -140,7 +140,7 @@ struct boss_drakosAI : public ScriptedAI
|
||||
DoScriptText(RAND(SAY_STOMP_1,SAY_STOMP_2,SAY_STOMP_3), m_creature);
|
||||
DoCast(DUNGEON_MODE(SPELL_THUNDERING_STOMP, SPELL_THUNDERING_STOMP_H));
|
||||
uiStompTimer = urand(15*IN_MILISECONDS, 18*IN_MILISECONDS);
|
||||
} else uiStompTimer -= diff ;
|
||||
} else uiStompTimer -= diff ;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
@@ -326,7 +326,7 @@ struct mob_ichor_globuleAI : public ScriptedAI
|
||||
{
|
||||
mob_ichor_globuleAI(Creature* pCreature) : ScriptedAI(pCreature)
|
||||
{
|
||||
pInstance = pCreature->GetInstanceData();
|
||||
pInstance = pCreature->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance* pInstance;
|
||||
|
||||
@@ -56,7 +56,7 @@ struct boss_lavanthorAI : public ScriptedAI
|
||||
{
|
||||
if (pInstance)
|
||||
{
|
||||
if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_LAVANTHOR_CELL)))
|
||||
if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_LAVANTHOR_CELL)))
|
||||
if (pDoor->GetGoState() == GO_STATE_READY)
|
||||
{
|
||||
EnterEvadeMode();
|
||||
|
||||
@@ -51,7 +51,7 @@ struct boss_moraggAI : public ScriptedAI
|
||||
{
|
||||
if (GameObject *pDoor = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_MORAGG_CELL)))
|
||||
if(pDoor->GetGoState() == GO_STATE_READY)
|
||||
{
|
||||
{
|
||||
EnterEvadeMode();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@ struct mob_ethereal_sphereAI : public ScriptedAI
|
||||
{
|
||||
mob_ethereal_sphereAI(Creature* pCreature) : ScriptedAI(pCreature)
|
||||
{
|
||||
pInstance = pCreature->GetInstanceData();
|
||||
pInstance = pCreature->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance* pInstance;
|
||||
|
||||
@@ -929,16 +929,16 @@ struct npc_crusade_recruitAI : public ScriptedAI
|
||||
uint8 m_uiPhase; //The current phase we are in
|
||||
uint32 m_uiTimer; //Timer until phase transition
|
||||
float m_heading; //Store creature heading
|
||||
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_uiTimer = 0;
|
||||
m_uiPhase = 0;
|
||||
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
|
||||
m_heading = m_creature->GetOrientation();
|
||||
m_heading = m_creature->GetOrientation();
|
||||
}
|
||||
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
if (m_uiPhase)
|
||||
@@ -951,10 +951,10 @@ struct npc_crusade_recruitAI : public ScriptedAI
|
||||
// say random text
|
||||
m_creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
DoScriptText(RAND(SAY_RECRUIT_1,SAY_RECRUIT_2,SAY_RECRUIT_3), m_creature);
|
||||
DoScriptText(RAND(SAY_RECRUIT_1,SAY_RECRUIT_2,SAY_RECRUIT_3), m_creature);
|
||||
m_uiTimer = 3000;
|
||||
m_uiPhase = 2;
|
||||
break;
|
||||
break;
|
||||
case 2:
|
||||
// walk forward
|
||||
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
|
||||
@@ -973,7 +973,7 @@ struct npc_crusade_recruitAI : public ScriptedAI
|
||||
else
|
||||
m_uiTimer -= uiDiff;
|
||||
}
|
||||
ScriptedAI::UpdateAI(uiDiff);
|
||||
ScriptedAI::UpdateAI(uiDiff);
|
||||
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
@@ -986,7 +986,7 @@ CreatureAI* GetAI_npc_crusade_recruit(Creature* pCreature)
|
||||
}
|
||||
|
||||
bool GossipHello_npc_crusade_recruit(Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
{
|
||||
if (pPlayer->GetQuestStatus(QUEST_TROLL_PATROL_INTESTINAL_FORTITUDE) == QUEST_STATUS_INCOMPLETE)
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user