Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
boss_ambassador_flamelash.cpp
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#include "ScriptMgr.h"
7#include "ScriptedCreature.h"
8
10{
12};
13
15{
16public:
17 boss_ambassador_flamelash() : CreatureScript("boss_ambassador_flamelash") { }
18
20 {
21 return new boss_ambassador_flamelashAI(creature);
22 }
23
25 {
27
30
32 {
33 FireBlast_Timer = 2000;
34 Spirit_Timer = 24000;
35 }
36
37 void EnterCombat(Unit* /*who*/) OVERRIDE { }
38
39 void SummonSpirits(Unit* victim)
40 {
41 if (Creature* Spirit = DoSpawnCreature(9178, float(std::rand() % 9 + -9), float(std::rand() % 9 + -9), 0, 0, TempSummonType::TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000))
42 Spirit->AI()->AttackStart(victim);
43 }
44
46 {
47 //Return since we have no target
48 if (!UpdateVictim())
49 return;
50
51 //FireBlast_Timer
52 if (FireBlast_Timer <= diff)
53 {
55 FireBlast_Timer = 7000;
56 } else FireBlast_Timer -= diff;
57
58 //Spirit_Timer
59 if (Spirit_Timer <= diff)
60 {
61 SummonSpirits(me->GetVictim());
62 SummonSpirits(me->GetVictim());
63 SummonSpirits(me->GetVictim());
64 SummonSpirits(me->GetVictim());
65
66 Spirit_Timer = 30000;
67 } else Spirit_Timer -= diff;
68
70 }
71 };
72};
73
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
Definition Object.h:69
void AddSC_boss_ambassador_flamelash()
bool UpdateVictim()
CreatureScript(const char *name)
void DoMeleeAttackIfReady()
Definition UnitAI.cpp:28
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition UnitAI.cpp:168
Definition Unit.h:1367
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Creature * me
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, TempSummonType type, uint32 despawntime)
ScriptedAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================