i've scripted an boss and he just dont wanna spawn the Minions .
- - - Updated - - -
Whooops Wrong Code ... I am sorry m8es ..
- - - Updated - - -
Now its right lal ^^
Code:
#define Creature Azshara World Boss
enum Spells
{
Spell_Ball_of_fire = 106532,
Spell_Pyroblast = 96088,
Spell_Arcane Explosion = 63660,
Spell_BerzerkerBlaze = 147038,
};
enum Events
{
EVENT_Ball_of_fire = 1,
EVENT_Pyroblast = 2,
EVENT_Arcane Explosion = 3,
EVENT_BerzerkerBlaze = 4,
EVENT_SPAWNCREATURE = 5,
};
};
void EnterCombat(Unit* /*who*/) OVERRIDE
{
events.ScheduleEvent(EVENT_Ball_of_fire, 8000);
events.ScheduleEvent(EVENT_Pyroblast, 12000);
events.ScheduleEvent(EVENT_Arcane Explosion , 10000);
events.ScheduleEvent(EVENT_BerzerkerBlaze, 9000);
events.ScheduleEvent(EVENT_SPAWNCREATURE, 2000);
}
while (uint32 eventId = events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_Ball_of_fire:
DoCastVictim(Spell_Ball_of_fire, 8000);
events.ScheduleEvent(EVENT_Ball_of_fire, 8000);
break;
case EVENT_Pyroblast:
if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_Pyroblast);
break;
case EVENT_ArcaneMissiles:
if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM, 0))
DoCast(target, SPELL_Arcane Explosion);
break;
case EVENT_BerzerkerBlaze:
DoCast(me, SPELL_BerzerkerBlaze);
events.ScheduleEvent(EVENT_BerzerkerBlaze, 9000);
break;
case EVENT_SPAWNCREATURE:
me->SummonCreature(21706, xf, yf, zf, of, TEMPSUMMON_TIMED_DESPAWN, 2000);
events.ScheduleEvent(EVENT_SPAWNCREATURE, 25000);
break;
default:
break;
}
}
public:
npc_boss_died() : CreatureScript("npc_boss_died") { }
struct npc_boss_diedAI : public ScriptedAI
{
npc_boss_diedAI(Creature* creature) : ScriptedAI(creature) { }
void JustDied(Unit* killer)
{
std::ostringstream ss;
if (killer->GetTypeId() == TYPEID_PLAYER)
{
ss << killer->ToPlayer()->GetName()
<< " has killed "
<< me->GetName()
<< " a Rare Boss!";
sWorld->SendGlobalText(ss.str().c_str(), NULL);
}
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new npc_boss_diedAI(creature);
}
};
void AddSC_rare_boss()
{
new npc_boss_died;
}
class npc_rare_boss_trigger : public CreatureScript
{
public:
npc_rare_boss_trigger() : CreatureScript("npc_rare_boss_trigger") { }
struct npc_rare_boss_triggerAI : public ScriptedAI
{
npc_rare_boss_triggerAI(Creature* creature) : ScriptedAI(creature) { }
uint32 spawnTimer;
void Reset()
{
spawnTimer = 3600000; // 3600000 = 1hr
}
void UpdateAI(uint32 diff)
{
if (spawnTimer <= diff)
{
int random = urand(0, 2);
if (random == 0)
me->SummonCreature(ENTRYID, X, Y, Z, O, TEMPSUMMON_MANUAL_DESPAWN, 0);
else if (random == 1)
me->SummonCreature(ENTRYID, X, Y, Z, O, TEMPSUMMON_MANUAL_DESPAWN, 0);
else if (random == 2)
me->SummonCreature(ENTRYID, X, Y, Z, O, TEMPSUMMON_MANUAL_DESPAWN, 0);
spawnTimer = 3600000;
}
else
spawnTimer -= diff;
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new npc_rare_boss_triggerAI(creature);
}
};
void AddSC_boss_trigger()
{
new npc_rare_boss_trigger;
}
- - - Updated - - -
Whooops Wrong Code ... I am sorry m8es ..
- - - Updated - - -
Now its right lal ^^