mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/CreatureAI: std::chrono-ify DoSummon* methods
(cherry picked from commit 1245833cdd)
This commit is contained in:
@@ -446,20 +446,20 @@ bool CreatureAI::CheckInRoom()
|
||||
}
|
||||
}
|
||||
|
||||
Creature* CreatureAI::DoSummon(uint32 entry, Position const& pos, uint32 despawnTime, TempSummonType summonType)
|
||||
Creature* CreatureAI::DoSummon(uint32 entry, Position const& pos, Milliseconds despawnTime, TempSummonType summonType)
|
||||
{
|
||||
return me->SummonCreature(entry, pos, summonType, Milliseconds(despawnTime));
|
||||
return me->SummonCreature(entry, pos, summonType, despawnTime);
|
||||
}
|
||||
|
||||
Creature* CreatureAI::DoSummon(uint32 entry, WorldObject* obj, float radius, uint32 despawnTime, TempSummonType summonType)
|
||||
Creature* CreatureAI::DoSummon(uint32 entry, WorldObject* obj, float radius, Milliseconds despawnTime, TempSummonType summonType)
|
||||
{
|
||||
Position pos = obj->GetRandomNearPosition(radius);
|
||||
return me->SummonCreature(entry, pos, summonType, Milliseconds(despawnTime));
|
||||
return me->SummonCreature(entry, pos, summonType, despawnTime);
|
||||
}
|
||||
|
||||
Creature* CreatureAI::DoSummonFlyer(uint32 entry, WorldObject* obj, float flightZ, float radius, uint32 despawnTime, TempSummonType summonType)
|
||||
Creature* CreatureAI::DoSummonFlyer(uint32 entry, WorldObject* obj, float flightZ, float radius, Milliseconds despawnTime, TempSummonType summonType)
|
||||
{
|
||||
Position pos = obj->GetRandomNearPosition(radius);
|
||||
pos.m_positionZ += flightZ;
|
||||
return me->SummonCreature(entry, pos, summonType, Milliseconds(despawnTime));
|
||||
return me->SummonCreature(entry, pos, summonType, despawnTime);
|
||||
}
|
||||
|
||||
@@ -63,9 +63,9 @@ class TC_GAME_API CreatureAI : public UnitAI
|
||||
|
||||
bool UpdateVictim();
|
||||
|
||||
Creature* DoSummon(uint32 entry, Position const& pos, uint32 despawnTime = 30000, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
Creature* DoSummon(uint32 entry, WorldObject* obj, float radius = 5.0f, uint32 despawnTime = 30000, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
Creature* DoSummonFlyer(uint32 entry, WorldObject* obj, float flightZ, float radius = 5.0f, uint32 despawnTime = 30000, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
Creature* DoSummon(uint32 entry, Position const& pos, Milliseconds despawnTime = 30s, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
Creature* DoSummon(uint32 entry, WorldObject* obj, float radius = 5.0f, Milliseconds despawnTime = 30s, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
Creature* DoSummonFlyer(uint32 entry, WorldObject* obj, float flightZ, float radius = 5.0f, Milliseconds despawnTime = 30s, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
|
||||
public:
|
||||
enum EvadeReason
|
||||
|
||||
@@ -414,7 +414,7 @@ struct npc_felblood_kaelthas_phoenix : public ScriptedAI
|
||||
me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
DoCastSelf(SPELL_EMBER_BLAST);
|
||||
// DoCastSelf(SPELL_SUMMON_PHOENIX_EGG); -- We do a manual summon for now. Feel free to move it to spelleffect_dbc
|
||||
if (Creature* egg = DoSummon(NPC_PHOENIX_EGG, me->GetPosition(), 0))
|
||||
if (Creature* egg = DoSummon(NPC_PHOENIX_EGG, me->GetPosition(), 0s))
|
||||
{
|
||||
if (Creature* kaelthas = _instance->GetCreature(DATA_KAELTHAS_SUNSTRIDER))
|
||||
{
|
||||
|
||||
@@ -256,7 +256,7 @@ public:
|
||||
{
|
||||
//100%, 50%, 33%, 25% chance to spawn
|
||||
if (urand(1, i) == 1)
|
||||
DoSummon(NPC_RESTLESS, me, 20.0f, 600000);
|
||||
DoSummon(NPC_RESTLESS, me, 20.0f, 10min);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ public:
|
||||
{
|
||||
const Position src = {147.927444f, -3851.513428f, 130.893f, 0};
|
||||
Position dst = me->GetRandomPoint(src, 7.0f);
|
||||
DoSummon(NPC_MARAUDING_OWL, dst, 25000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(NPC_MARAUDING_OWL, dst, 25s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
}
|
||||
break;
|
||||
case 44:
|
||||
|
||||
@@ -219,7 +219,7 @@ public:
|
||||
}
|
||||
else
|
||||
{
|
||||
DoSummon(NPC_HIGHBORNE_BUNNY, me, 10.0f, 3000, TEMPSUMMON_TIMED_DESPAWN);
|
||||
DoSummon(NPC_HIGHBORNE_BUNNY, me, 10.0f, 3s, TEMPSUMMON_TIMED_DESPAWN);
|
||||
_events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2s);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -307,7 +307,7 @@ public:
|
||||
//normalize Z-level if we can, if rift is not at ground level.
|
||||
pos.m_positionZ = std::max(me->GetMap()->GetHeight(me->GetPhaseShift(), pos.m_positionX, pos.m_positionY, MAX_HEIGHT), me->GetMap()->GetWaterLevel(me->GetPhaseShift(), pos.m_positionX, pos.m_positionY));
|
||||
|
||||
if (Unit* Summon = DoSummon(creature_entry, pos, 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT))
|
||||
if (Unit* Summon = DoSummon(creature_entry, pos, 30s, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT))
|
||||
if (Unit* temp = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_MEDIVH)))
|
||||
AddThreat(temp, 0.0f, Summon);
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ public:
|
||||
}
|
||||
_guardianTrigger = (*summoned.begin())->GetGUID();
|
||||
|
||||
if (Creature* trigger = DoSummon(NPC_WORLD_TRIGGER, me->GetPosition(), 0u, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
if (Creature* trigger = DoSummon(NPC_WORLD_TRIGGER, me->GetPosition(), 0s, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
_assassinTrigger = trigger->GetGUID();
|
||||
else
|
||||
{
|
||||
|
||||
@@ -917,7 +917,7 @@ class npc_blood_queen_lana_thel : public CreatureScript
|
||||
_events.SetPhase(1);
|
||||
_events.ScheduleEvent(EVENT_INTRO_1, Seconds(14));
|
||||
// summon a visual trigger
|
||||
if (Creature* summon = DoSummon(NPC_FLOATING_TRIGGER, triggerPos, 15000, TEMPSUMMON_TIMED_DESPAWN))
|
||||
if (Creature* summon = DoSummon(NPC_FLOATING_TRIGGER, triggerPos, 15s, TEMPSUMMON_TIMED_DESPAWN))
|
||||
{
|
||||
summon->CastSpell(summon, SPELL_OOC_INVOCATION_VISUAL, true);
|
||||
summon->SetSpeedRate(MOVE_RUN, 0.14f);
|
||||
|
||||
@@ -204,7 +204,7 @@ class boss_rotface : public CreatureScript
|
||||
case EVENT_SLIME_SPRAY:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.0f, true))
|
||||
{
|
||||
DoSummon(NPC_OOZE_SPRAY_STALKER, *target, 8000, TEMPSUMMON_TIMED_DESPAWN);
|
||||
DoSummon(NPC_OOZE_SPRAY_STALKER, *target, 8s, TEMPSUMMON_TIMED_DESPAWN);
|
||||
Talk(EMOTE_SLIME_SPRAY);
|
||||
DoCast(me, SPELL_SLIME_SPRAY);
|
||||
}
|
||||
|
||||
@@ -473,7 +473,7 @@ class boss_gothik : public CreatureScript
|
||||
for (Creature* trigger : triggers)
|
||||
if (trigger && trigger->GetSpawnId() == targetDBGuid)
|
||||
{
|
||||
DoSummon(entry.first, trigger, 1.0f, 15 * IN_MILLISECONDS, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(entry.first, trigger, 1.0f, 15s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -936,14 +936,14 @@ public:
|
||||
DoCast(target, SPELL_SKULLS_RIDER, true);
|
||||
break;
|
||||
case SPELL_SKULLS_TRAINEE:
|
||||
DoSummon(NPC_DEAD_TRAINEE, me, 0.0f, 15 * IN_MILLISECONDS, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(NPC_DEAD_TRAINEE, me, 0.0f, 15s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
break;
|
||||
case SPELL_SKULLS_DK:
|
||||
DoSummon(NPC_DEAD_KNIGHT, me, 0.0f, 15 * IN_MILLISECONDS, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(NPC_DEAD_KNIGHT, me, 0.0f, 15s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
break;
|
||||
case SPELL_SKULLS_RIDER:
|
||||
DoSummon(NPC_DEAD_RIDER, me, 0.0f, 15 * IN_MILLISECONDS, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(NPC_DEAD_HORSE, me, 0.0f, 15 * IN_MILLISECONDS, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(NPC_DEAD_RIDER, me, 0.0f, 15s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(NPC_DEAD_HORSE, me, 0.0f, 15s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ public:
|
||||
wrapPos = (wrapPos + urand(1, MAX_WRAP_POSITION - 1)) % MAX_WRAP_POSITION;
|
||||
|
||||
target->RemoveAura(RAID_MODE(SPELL_WEB_SPRAY_10, SPELL_WEB_SPRAY_25));
|
||||
if (Creature* wrap = DoSummon(NPC_WEB_WRAP, WrapPositions[wrapPos], 70 * IN_MILLISECONDS, TEMPSUMMON_TIMED_DESPAWN))
|
||||
if (Creature* wrap = DoSummon(NPC_WEB_WRAP, WrapPositions[wrapPos], 70s, TEMPSUMMON_TIMED_DESPAWN))
|
||||
{
|
||||
wrap->AI()->SetGUID(target->GetGUID()); // handles application of debuff
|
||||
target->GetMotionMaster()->MoveJump(WrapPositions[wrapPos], WEB_WRAP_MOVE_SPEED, WEB_WRAP_MOVE_SPEED); // move after stun to avoid stun cancelling move
|
||||
@@ -179,7 +179,7 @@ public:
|
||||
Talk(EMOTE_SPIDERS);
|
||||
uint8 amount = urand(8, 10);
|
||||
for (uint8 i = 0; i < amount; ++i)
|
||||
DoSummon(NPC_SPIDERLING, me, 4.0f, 5 * IN_MILLISECONDS, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(NPC_SPIDERLING, me, 4.0f, 5s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
events.Repeat(Seconds(40));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -340,7 +340,7 @@ class boss_sapphiron : public CreatureScript
|
||||
case EVENT_LIFTOFF:
|
||||
{
|
||||
Talk(EMOTE_AIR_PHASE);
|
||||
if (Creature* buffet = DoSummon(NPC_WING_BUFFET, me, 0.0f, 0, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
if (Creature* buffet = DoSummon(NPC_WING_BUFFET, me, 0.0f, 0s, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
_buffet = buffet->GetGUID();
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
|
||||
me->SetHover(true);
|
||||
|
||||
@@ -476,7 +476,7 @@ struct boss_algalon_the_observer : public BossAI
|
||||
for (std::list<Creature*>::iterator itr = stalkers.begin(); itr != stalkers.end(); ++itr)
|
||||
(*itr)->m_Events.KillAllEvents(true);
|
||||
for (uint8 i = 0; i < COLLAPSING_STAR_COUNT; ++i)
|
||||
if (Creature* wormHole = DoSummon(NPC_WORM_HOLE, CollapsingStarPos[i], TEMPSUMMON_MANUAL_DESPAWN))
|
||||
if (Creature* wormHole = DoSummon(NPC_WORM_HOLE, CollapsingStarPos[i], 0s, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
wormHole->m_Events.AddEventAtOffset(new SummonUnleashedDarkMatter(wormHole), i >= 2 ? 8s : 6s);
|
||||
}
|
||||
else if ((int32(me->GetHealth()) - int32(damage)) < CalculatePct<int32>(int32(me->GetMaxHealth()), 2.5f) && !_fightWon)
|
||||
@@ -571,7 +571,7 @@ struct boss_algalon_the_observer : public BossAI
|
||||
if (!me->GetThreatManager().IsThreatListEmpty())
|
||||
AttackStart(me->GetThreatManager().GetCurrentVictim());
|
||||
for (uint8 i = 0; i < LIVING_CONSTELLATION_COUNT; ++i)
|
||||
if (Creature* summon = DoSummon(NPC_LIVING_CONSTELLATION, ConstellationPos[i], 0, TEMPSUMMON_DEAD_DESPAWN))
|
||||
if (Creature* summon = DoSummon(NPC_LIVING_CONSTELLATION, ConstellationPos[i], 0s, TEMPSUMMON_DEAD_DESPAWN))
|
||||
summon->SetReactState(REACT_PASSIVE);
|
||||
|
||||
std::list<Creature*> stalkers;
|
||||
|
||||
@@ -419,7 +419,7 @@ class boss_flame_leviathan : public CreatureScript
|
||||
break;
|
||||
case EVENT_SUMMON:
|
||||
if (summons.size() < 15)
|
||||
if (Creature* lift = DoSummonFlyer(NPC_MECHANOLIFT, me, 30.0f, 50.0f, 0))
|
||||
if (Creature* lift = DoSummonFlyer(NPC_MECHANOLIFT, me, 30.0f, 50.0f, 0s))
|
||||
lift->GetMotionMaster()->MoveRandom(100);
|
||||
events.ScheduleEvent(EVENT_SUMMON, 2s);
|
||||
break;
|
||||
@@ -441,7 +441,7 @@ class boss_flame_leviathan : public CreatureScript
|
||||
case EVENT_THORIM_S_HAMMER: // Tower of Storms
|
||||
for (uint8 i = 0; i < 7; ++i)
|
||||
{
|
||||
if (Creature* thorim = DoSummon(NPC_THORIM_BEACON, me, float(urand(20, 60)), 20000, TEMPSUMMON_TIMED_DESPAWN))
|
||||
if (Creature* thorim = DoSummon(NPC_THORIM_BEACON, me, float(urand(20, 60)), 20s, TEMPSUMMON_TIMED_DESPAWN))
|
||||
thorim->GetMotionMaster()->MoveRandom(100);
|
||||
}
|
||||
Talk(SAY_TOWER_STORM);
|
||||
@@ -455,7 +455,7 @@ class boss_flame_leviathan : public CreatureScript
|
||||
case EVENT_HODIR_S_FURY: // Tower of Frost
|
||||
for (uint8 i = 0; i < 7; ++i)
|
||||
{
|
||||
if (Creature* hodir = DoSummon(NPC_HODIR_BEACON, me, 50, 0))
|
||||
if (Creature* hodir = DoSummon(NPC_HODIR_BEACON, me, 50, 0s))
|
||||
hodir->GetMotionMaster()->MoveRandom(100);
|
||||
}
|
||||
Talk(SAY_TOWER_FROST);
|
||||
@@ -981,7 +981,7 @@ class npc_thorims_hammer : public CreatureScript
|
||||
{
|
||||
if (who->GetTypeId() == TYPEID_PLAYER && who->IsVehicle() && me->IsInRange(who, 0, 10, false))
|
||||
{
|
||||
if (Creature* trigger = DoSummonFlyer(NPC_THORIM_TARGET_BEACON, me, 20, 0, 1000, TEMPSUMMON_TIMED_DESPAWN))
|
||||
if (Creature* trigger = DoSummonFlyer(NPC_THORIM_TARGET_BEACON, me, 20, 0, 1s, TEMPSUMMON_TIMED_DESPAWN))
|
||||
trigger->CastSpell(who, SPELL_THORIM_S_HAMMER, true);
|
||||
}
|
||||
}
|
||||
@@ -1038,7 +1038,7 @@ public:
|
||||
{
|
||||
if (infernoTimer <= diff)
|
||||
{
|
||||
if (Creature* trigger = DoSummonFlyer(NPC_MIMIRON_TARGET_BEACON, me, 20, 0, 1000, TEMPSUMMON_TIMED_DESPAWN))
|
||||
if (Creature* trigger = DoSummonFlyer(NPC_MIMIRON_TARGET_BEACON, me, 20, 0, 1s, TEMPSUMMON_TIMED_DESPAWN))
|
||||
{
|
||||
trigger->CastSpell(me->GetPosition(), SPELL_MIMIRON_S_INFERNO, true);
|
||||
infernoTimer = 2000;
|
||||
@@ -1077,7 +1077,7 @@ class npc_hodirs_fury : public CreatureScript
|
||||
{
|
||||
if (who->GetTypeId() == TYPEID_PLAYER && who->IsVehicle() && me->IsInRange(who, 0, 5, false))
|
||||
{
|
||||
if (Creature* trigger = DoSummonFlyer(NPC_HODIR_TARGET_BEACON, me, 20, 0, 1000, TEMPSUMMON_TIMED_DESPAWN))
|
||||
if (Creature* trigger = DoSummonFlyer(NPC_HODIR_TARGET_BEACON, me, 20, 0, 1s, TEMPSUMMON_TIMED_DESPAWN))
|
||||
trigger->CastSpell(who, SPELL_HODIR_S_FURY, true);
|
||||
}
|
||||
}
|
||||
@@ -1258,11 +1258,11 @@ class npc_lorekeeper : public CreatureScript
|
||||
if (action == ACTION_SPAWN_VEHICLES)
|
||||
{
|
||||
for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
|
||||
DoSummon(VEHICLE_SIEGE, PosSiege[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(VEHICLE_SIEGE, PosSiege[i], 3s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
|
||||
DoSummon(VEHICLE_CHOPPER, PosChopper[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(VEHICLE_CHOPPER, PosChopper[i], 3s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
|
||||
DoSummon(VEHICLE_DEMOLISHER, PosDemolisher[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
DoSummon(VEHICLE_DEMOLISHER, PosDemolisher[i], 3s, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -270,7 +270,7 @@ class boss_ignis : public CreatureScript
|
||||
break;
|
||||
case EVENT_CONSTRUCT:
|
||||
Talk(SAY_SUMMON);
|
||||
DoSummon(NPC_IRON_CONSTRUCT, ConstructSpawnPosition[urand(0, CONSTRUCT_SPAWN_POINTS - 1)], 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
|
||||
DoSummon(NPC_IRON_CONSTRUCT, ConstructSpawnPosition[urand(0, CONSTRUCT_SPAWN_POINTS - 1)], 30s, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
|
||||
DoCast(SPELL_STRENGHT);
|
||||
DoCast(me, SPELL_ACTIVATE_CONSTRUCT);
|
||||
events.ScheduleEvent(EVENT_CONSTRUCT, RAID_MODE(40s, 30s));
|
||||
|
||||
@@ -698,7 +698,7 @@ class npc_violet_hold_teleportation_portal : public CreatureScript
|
||||
if (data == 1)
|
||||
{
|
||||
uint32 entry = RAND(NPC_PORTAL_GUARDIAN, NPC_PORTAL_KEEPER);
|
||||
if (Creature* portalKeeper = DoSummon(entry, me, 2.0f, 0, TEMPSUMMON_DEAD_DESPAWN))
|
||||
if (Creature* portalKeeper = DoSummon(entry, me, 2.0f, 0s, TEMPSUMMON_DEAD_DESPAWN))
|
||||
me->CastSpell(portalKeeper, SPELL_PORTAL_CHANNEL, false);
|
||||
|
||||
if (Creature* sinclariTrigger = _instance->GetCreature(DATA_SINCLARI_TRIGGER))
|
||||
@@ -715,7 +715,7 @@ class npc_violet_hold_teleportation_portal : public CreatureScript
|
||||
while (k--)
|
||||
{
|
||||
uint32 entry = RAND(NPC_AZURE_INVADER_1, NPC_AZURE_INVADER_2, NPC_AZURE_SPELLBREAKER_1, NPC_AZURE_SPELLBREAKER_2, NPC_AZURE_MAGE_SLAYER_1, NPC_AZURE_MAGE_SLAYER_2, NPC_AZURE_BINDER_1, NPC_AZURE_BINDER_2);
|
||||
DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
|
||||
DoSummon(entry, me, 2.0f, 20s, TEMPSUMMON_DEAD_DESPAWN);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -758,7 +758,7 @@ class npc_violet_hold_teleportation_portal_elite : public CreatureScript
|
||||
while (k--)
|
||||
{
|
||||
uint32 entry = RAND(NPC_AZURE_CAPTAIN_1, NPC_AZURE_RAIDER_1, NPC_AZURE_STALKER_1, NPC_AZURE_SORCEROR_1);
|
||||
DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
|
||||
DoSummon(entry, me, 2.0f, 20s, TEMPSUMMON_DEAD_DESPAWN);
|
||||
}
|
||||
|
||||
if (Creature* sinclariTrigger = _instance->GetCreature(DATA_SINCLARI_TRIGGER))
|
||||
@@ -811,7 +811,7 @@ class npc_violet_hold_teleportation_portal_intro : public CreatureScript
|
||||
if (_summons.size() < 3)
|
||||
{
|
||||
uint32 entry = RAND(NPC_AZURE_INVADER_1, NPC_AZURE_MAGE_SLAYER_1, NPC_AZURE_BINDER_1);
|
||||
DoSummon(entry, me, 2.0f, 20000, TEMPSUMMON_DEAD_DESPAWN);
|
||||
DoSummon(entry, me, 2.0f, 20s, TEMPSUMMON_DEAD_DESPAWN);
|
||||
}
|
||||
|
||||
task.Repeat();
|
||||
|
||||
@@ -683,7 +683,7 @@ public:
|
||||
void DoSpawnAssassin()
|
||||
{
|
||||
//unknown where they actually appear
|
||||
DoSummon(NPC_COILSKAR_ASSASSIN, me, 15.0f, 5000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
|
||||
DoSummon(NPC_COILSKAR_ASSASSIN, me, 15.0f, 5s, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
|
||||
Reference in New Issue
Block a user