Core/WorldObject: Partially std::chrono-ify SummonCreature overloads
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0); to TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime = 0s); (cherry picked from commit 1131229ee9c43704b11187f0b11c327db92018b6)
This commit is contained in:
@@ -335,7 +335,7 @@ const float BOUNDARY_VISUALIZE_CREATURE_SCALE = 0.25f;
|
|||||||
const int8 BOUNDARY_VISUALIZE_STEP_SIZE = 1;
|
const int8 BOUNDARY_VISUALIZE_STEP_SIZE = 1;
|
||||||
const int32 BOUNDARY_VISUALIZE_FAILSAFE_LIMIT = 750;
|
const int32 BOUNDARY_VISUALIZE_FAILSAFE_LIMIT = 750;
|
||||||
const float BOUNDARY_VISUALIZE_SPAWN_HEIGHT = 5.0f;
|
const float BOUNDARY_VISUALIZE_SPAWN_HEIGHT = 5.0f;
|
||||||
int32 CreatureAI::VisualizeBoundary(uint32 duration, Unit* owner, bool fill) const
|
int32 CreatureAI::VisualizeBoundary(Seconds duration, Unit* owner, bool fill) const
|
||||||
{
|
{
|
||||||
typedef std::pair<int32, int32> coordinate;
|
typedef std::pair<int32, int32> coordinate;
|
||||||
|
|
||||||
@@ -393,7 +393,7 @@ int32 CreatureAI::VisualizeBoundary(uint32 duration, Unit* owner, bool fill) con
|
|||||||
}
|
}
|
||||||
if (fill || hasOutOfBoundsNeighbor)
|
if (fill || hasOutOfBoundsNeighbor)
|
||||||
{
|
{
|
||||||
if (TempSummon* point = owner->SummonCreature(BOUNDARY_VISUALIZE_CREATURE, Position(startPosition.GetPositionX() + front.first * BOUNDARY_VISUALIZE_STEP_SIZE, startPosition.GetPositionY() + front.second * BOUNDARY_VISUALIZE_STEP_SIZE, spawnZ), TEMPSUMMON_TIMED_DESPAWN, duration * IN_MILLISECONDS))
|
if (TempSummon* point = owner->SummonCreature(BOUNDARY_VISUALIZE_CREATURE, Position(startPosition.GetPositionX() + front.first * BOUNDARY_VISUALIZE_STEP_SIZE, startPosition.GetPositionY() + front.second * BOUNDARY_VISUALIZE_STEP_SIZE, spawnZ), TEMPSUMMON_TIMED_DESPAWN, duration))
|
||||||
{
|
{
|
||||||
point->SetObjectScale(BOUNDARY_VISUALIZE_CREATURE_SCALE);
|
point->SetObjectScale(BOUNDARY_VISUALIZE_CREATURE_SCALE);
|
||||||
point->AddUnitFlag(UNIT_FLAG_STUNNED);
|
point->AddUnitFlag(UNIT_FLAG_STUNNED);
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ class TC_GAME_API CreatureAI : public UnitAI
|
|||||||
virtual PlayerAI* GetAIForCharmedPlayer(Player* /*who*/) { return nullptr; }
|
virtual PlayerAI* GetAIForCharmedPlayer(Player* /*who*/) { return nullptr; }
|
||||||
|
|
||||||
// intended for encounter design/debugging. do not use for other purposes. expensive.
|
// intended for encounter design/debugging. do not use for other purposes. expensive.
|
||||||
int32 VisualizeBoundary(uint32 duration, Unit* owner = nullptr, bool fill = false) const;
|
int32 VisualizeBoundary(Seconds duration, Unit* owner = nullptr, bool fill = false) const;
|
||||||
|
|
||||||
// boundary system methods
|
// boundary system methods
|
||||||
virtual bool CheckInRoom();
|
virtual bool CheckInRoom();
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ void ScriptedAI::ForceCombatStopForCreatureEntry(std::vector<uint32> creatureEnt
|
|||||||
|
|
||||||
Creature* ScriptedAI::DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
|
Creature* ScriptedAI::DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
|
||||||
{
|
{
|
||||||
return me->SummonCreature(entry, me->GetPositionX() + offsetX, me->GetPositionY() + offsetY, me->GetPositionZ() + offsetZ, angle, TempSummonType(type), despawntime.count());
|
return me->SummonCreature(entry, me->GetPositionX() + offsetX, me->GetPositionY() + offsetY, me->GetPositionZ() + offsetZ, angle, TempSummonType(type), despawntime);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ScriptedAI::HealthBelowPct(uint32 pct) const
|
bool ScriptedAI::HealthBelowPct(uint32 pct) const
|
||||||
|
|||||||
@@ -1285,7 +1285,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
|||||||
y += e.target.y;
|
y += e.target.y;
|
||||||
z += e.target.z;
|
z += e.target.z;
|
||||||
o += e.target.o;
|
o += e.target.o;
|
||||||
if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, x, y, z, o, (TempSummonType)e.action.summonCreature.type, e.action.summonCreature.duration, privateObjectOwner))
|
if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, x, y, z, o, (TempSummonType)e.action.summonCreature.type, Milliseconds(e.action.summonCreature.duration), privateObjectOwner))
|
||||||
if (e.action.summonCreature.attackInvoker)
|
if (e.action.summonCreature.attackInvoker)
|
||||||
summon->AI()->AttackStart(target->ToUnit());
|
summon->AI()->AttackStart(target->ToUnit());
|
||||||
}
|
}
|
||||||
@@ -1293,7 +1293,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
|||||||
if (e.GetTargetType() != SMART_TARGET_POSITION)
|
if (e.GetTargetType() != SMART_TARGET_POSITION)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, e.target.x, e.target.y, e.target.z, e.target.o, (TempSummonType)e.action.summonCreature.type, e.action.summonCreature.duration, privateObjectOwner))
|
if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, e.target.x, e.target.y, e.target.z, e.target.o, (TempSummonType)e.action.summonCreature.type, Milliseconds(e.action.summonCreature.duration), privateObjectOwner))
|
||||||
if (unit && e.action.summonCreature.attackInvoker)
|
if (unit && e.action.summonCreature.attackInvoker)
|
||||||
summon->AI()->AttackStart(unit);
|
summon->AI()->AttackStart(unit);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1857,7 +1857,7 @@ TempSummon* WorldObject::SummonCreature(uint32 entry, Position const& pos, TempS
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
TempSummon* WorldObject::SummonCreature(uint32 id, float x, float y, float z, float o /*= 0*/, TempSummonType despawnType /*= TEMPSUMMON_MANUAL_DESPAWN*/, uint32 despawnTime /*= 0*/, ObjectGuid privateObjectOwner /* = ObjectGuid::Empty */)
|
TempSummon* WorldObject::SummonCreature(uint32 id, float x, float y, float z, float o /*= 0*/, TempSummonType despawnType /*= TEMPSUMMON_MANUAL_DESPAWN*/, Milliseconds despawnTime /*= 0s*/, ObjectGuid privateObjectOwner /* = ObjectGuid::Empty */)
|
||||||
{
|
{
|
||||||
if (!x && !y && !z)
|
if (!x && !y && !z)
|
||||||
GetClosePoint(x, y, z, GetCombatReach());
|
GetClosePoint(x, y, z, GetCombatReach());
|
||||||
@@ -1924,7 +1924,7 @@ GameObject* WorldObject::SummonGameObject(uint32 entry, float x, float y, float
|
|||||||
Creature* WorldObject::SummonTrigger(float x, float y, float z, float ang, uint32 duration, CreatureAI* (*GetAI)(Creature*))
|
Creature* WorldObject::SummonTrigger(float x, float y, float z, float ang, uint32 duration, CreatureAI* (*GetAI)(Creature*))
|
||||||
{
|
{
|
||||||
TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN;
|
TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN;
|
||||||
Creature* summon = SummonCreature(WORLD_TRIGGER, x, y, z, ang, summonType, duration);
|
Creature* summon = SummonCreature(WORLD_TRIGGER, x, y, z, ang, summonType, Milliseconds(duration));
|
||||||
if (!summon)
|
if (!summon)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
|
|||||||
@@ -570,7 +570,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation
|
|||||||
|
|
||||||
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, uint32 spellId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty);
|
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, uint32 spellId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty);
|
||||||
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType, Milliseconds despawnTime, uint32 vehId = 0, uint32 spellId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty) { return SummonCreature(entry, pos, despawnType, uint32(despawnTime.count()), vehId, spellId, privateObjectOwner); }
|
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType, Milliseconds despawnTime, uint32 vehId = 0, uint32 spellId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty) { return SummonCreature(entry, pos, despawnType, uint32(despawnTime.count()), vehId, spellId, privateObjectOwner); }
|
||||||
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty);
|
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime = 0s, ObjectGuid privateObjectOwner = ObjectGuid::Empty);
|
||||||
TempSummon* SummonPersonalClone(Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, uint32 spellId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty);
|
TempSummon* SummonPersonalClone(Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, uint32 spellId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty);
|
||||||
GameObject* SummonGameObject(uint32 entry, Position const& pos, QuaternionData const& rot, uint32 respawnTime /* s */, GOSummonType summonType = GO_SUMMON_TIMED_OR_CORPSE_DESPAWN);
|
GameObject* SummonGameObject(uint32 entry, Position const& pos, QuaternionData const& rot, uint32 respawnTime /* s */, GOSummonType summonType = GO_SUMMON_TIMED_OR_CORPSE_DESPAWN);
|
||||||
GameObject* SummonGameObject(uint32 entry, float x, float y, float z, float ang, QuaternionData const& rot, uint32 respawnTime /* s */, GOSummonType summonType = GO_SUMMON_TIMED_OR_CORPSE_DESPAWN);
|
GameObject* SummonGameObject(uint32 entry, float x, float y, float z, float ang, QuaternionData const& rot, uint32 respawnTime /* s */, GOSummonType summonType = GO_SUMMON_TIMED_OR_CORPSE_DESPAWN);
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ void CinematicMgr::NextCinematicCamera()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
player->GetMap()->LoadGridForActiveObject(pos.GetPositionX(), pos.GetPositionY(), player);
|
player->GetMap()->LoadGridForActiveObject(pos.GetPositionX(), pos.GetPositionY(), player);
|
||||||
m_CinematicObject = player->SummonCreature(VISUAL_WAYPOINT, pos.m_positionX, pos.m_positionY, pos.m_positionZ, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 5 * MINUTE * IN_MILLISECONDS);
|
m_CinematicObject = player->SummonCreature(VISUAL_WAYPOINT, pos.m_positionX, pos.m_positionY, pos.m_positionZ, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 5min);
|
||||||
if (m_CinematicObject)
|
if (m_CinematicObject)
|
||||||
{
|
{
|
||||||
m_CinematicObject->setActive(true);
|
m_CinematicObject->setActive(true);
|
||||||
|
|||||||
@@ -603,7 +603,7 @@ void Map::ScriptsProcess()
|
|||||||
float z = step.script->TempSummonCreature.PosZ;
|
float z = step.script->TempSummonCreature.PosZ;
|
||||||
float o = step.script->TempSummonCreature.Orientation;
|
float o = step.script->TempSummonCreature.Orientation;
|
||||||
|
|
||||||
if (!pSummoner->SummonCreature(step.script->TempSummonCreature.CreatureEntry, x, y, z, o, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, step.script->TempSummonCreature.DespawnDelay))
|
if (!pSummoner->SummonCreature(step.script->TempSummonCreature.CreatureEntry, x, y, z, o, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, Milliseconds(step.script->TempSummonCreature.DespawnDelay)))
|
||||||
TC_LOG_ERROR("scripts", "%s creature was not spawned (entry: %u).", step.script->GetDebugInfo().c_str(), step.script->TempSummonCreature.CreatureEntry);
|
TC_LOG_ERROR("scripts", "%s creature was not spawned (entry: %u).", step.script->GetDebugInfo().c_str(), step.script->TempSummonCreature.CreatureEntry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ struct npc_danica_the_reclaimer : public ScriptedAI
|
|||||||
// Should be some other way to do this...
|
// Should be some other way to do this...
|
||||||
void QuestAccept(Player* player, Quest const* /*quest*/) override
|
void QuestAccept(Player* player, Quest const* /*quest*/) override
|
||||||
{
|
{
|
||||||
TempSummon* summon = player->SummonCreature(NPC_DANICA_THE_RECLAIMER, 1059.613f, 7224.605f, 100.4608f, 0.03462749f, TEMPSUMMON_MANUAL_DESPAWN, 0, player->GetGUID());
|
TempSummon* summon = player->SummonCreature(NPC_DANICA_THE_RECLAIMER, 1059.613f, 7224.605f, 100.4608f, 0.03462749f, TEMPSUMMON_MANUAL_DESPAWN, 0s, player->GetGUID());
|
||||||
if (!summon)
|
if (!summon)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -1425,9 +1425,9 @@ public:
|
|||||||
char* fill_str = args ? strtok((char*)args, " ") : nullptr;
|
char* fill_str = args ? strtok((char*)args, " ") : nullptr;
|
||||||
char* duration_str = args ? strtok(nullptr, " ") : nullptr;
|
char* duration_str = args ? strtok(nullptr, " ") : nullptr;
|
||||||
|
|
||||||
int duration = duration_str ? atoi(duration_str) : -1;
|
Seconds duration = duration_str ? Seconds(atoi(duration_str)) : 0s;
|
||||||
if (duration <= 0 || duration >= 30 * MINUTE) // arbitary upper limit
|
if (duration <= 0s || duration >= 30min) // arbitary upper limit
|
||||||
duration = 3 * MINUTE;
|
duration = 3min;
|
||||||
|
|
||||||
bool doFill = fill_str ? (stricmp(fill_str, "FILL") == 0) : false;
|
bool doFill = fill_str ? (stricmp(fill_str, "FILL") == 0) : false;
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ public:
|
|||||||
handler->PSendSysMessage("Enable GM mode to see the path points.");
|
handler->PSendSysMessage("Enable GM mode to see the path points.");
|
||||||
|
|
||||||
for (uint32 i = 0; i < pointPath.size(); ++i)
|
for (uint32 i = 0; i < pointPath.size(); ++i)
|
||||||
player->SummonCreature(VISUAL_WAYPOINT, pointPath[i].x, pointPath[i].y, pointPath[i].z, 0, TEMPSUMMON_TIMED_DESPAWN, 9000);
|
player->SummonCreature(VISUAL_WAYPOINT, pointPath[i].x, pointPath[i].y, pointPath[i].z, 0, TEMPSUMMON_TIMED_DESPAWN, 9s);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -105,7 +105,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
instance->SetData(TYPE_RING_OF_LAW, IN_PROGRESS);
|
instance->SetData(TYPE_RING_OF_LAW, IN_PROGRESS);
|
||||||
player->SummonCreature(NPC_GRIMSTONE, 625.559f, -205.618f, -52.735f, 2.609f, TEMPSUMMON_DEAD_DESPAWN, 0);
|
player->SummonCreature(NPC_GRIMSTONE, 625.559f, -205.618f, -52.735f, 2.609f, TEMPSUMMON_DEAD_DESPAWN);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -184,7 +184,7 @@ public:
|
|||||||
/// @todo move them to center
|
/// @todo move them to center
|
||||||
void SummonRingMob()
|
void SummonRingMob()
|
||||||
{
|
{
|
||||||
if (Creature* tmp = me->SummonCreature(RingMob[MobSpawnId], 608.960f, -235.322f, -53.907f, 1.857f, TEMPSUMMON_DEAD_DESPAWN, 0))
|
if (Creature* tmp = me->SummonCreature(RingMob[MobSpawnId], 608.960f, -235.322f, -53.907f, 1.857f, TEMPSUMMON_DEAD_DESPAWN))
|
||||||
RingMobGUID[MobCount] = tmp->GetGUID();
|
RingMobGUID[MobCount] = tmp->GetGUID();
|
||||||
|
|
||||||
++MobCount;
|
++MobCount;
|
||||||
@@ -196,7 +196,7 @@ public:
|
|||||||
/// @todo move them to center
|
/// @todo move them to center
|
||||||
void SummonRingBoss()
|
void SummonRingBoss()
|
||||||
{
|
{
|
||||||
if (Creature* tmp = me->SummonCreature(RingBoss[rand32() % 6], 644.300f, -175.989f, -53.739f, 3.418f, TEMPSUMMON_DEAD_DESPAWN, 0))
|
if (Creature* tmp = me->SummonCreature(RingBoss[rand32() % 6], 644.300f, -175.989f, -53.739f, 3.418f, TEMPSUMMON_DEAD_DESPAWN))
|
||||||
RingBossGUID = tmp->GetGUID();
|
RingBossGUID = tmp->GetGUID();
|
||||||
|
|
||||||
MobDeath_Timer = 2500;
|
MobDeath_Timer = 2500;
|
||||||
|
|||||||
@@ -267,7 +267,7 @@ class boss_ragnaros : public CreatureScript
|
|||||||
// summon 8 elementals
|
// summon 8 elementals
|
||||||
for (uint8 i = 0; i < 8; ++i)
|
for (uint8 i = 0; i < 8; ++i)
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
if (Creature* summoned = me->SummonCreature(12143, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 900000))
|
if (Creature* summoned = me->SummonCreature(12143, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 15min))
|
||||||
summoned->AI()->AttackStart(target);
|
summoned->AI()->AttackStart(target);
|
||||||
|
|
||||||
_hasSubmergedOnce = true;
|
_hasSubmergedOnce = true;
|
||||||
@@ -282,7 +282,7 @@ class boss_ragnaros : public CreatureScript
|
|||||||
|
|
||||||
for (uint8 i = 0; i < 8; ++i)
|
for (uint8 i = 0; i < 8; ++i)
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
if (Creature* summoned = me->SummonCreature(12143, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 900000))
|
if (Creature* summoned = me->SummonCreature(12143, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 15min))
|
||||||
summoned->AI()->AttackStart(target);
|
summoned->AI()->AttackStart(target);
|
||||||
|
|
||||||
_isBanished = true;
|
_isBanished = true;
|
||||||
|
|||||||
@@ -123,8 +123,8 @@ class instance_deadmines : public InstanceMapScript
|
|||||||
{
|
{
|
||||||
if (GameObject* pIronCladDoor = instance->GetGameObject(IronCladDoorGUID))
|
if (GameObject* pIronCladDoor = instance->GetGameObject(IronCladDoorGUID))
|
||||||
{
|
{
|
||||||
Creature* DefiasPirate1 = pIronCladDoor->SummonCreature(657, pIronCladDoor->GetPositionX() - 2, pIronCladDoor->GetPositionY()-7, pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
Creature* DefiasPirate1 = pIronCladDoor->SummonCreature(657, pIronCladDoor->GetPositionX() - 2, pIronCladDoor->GetPositionY()-7, pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3s);
|
||||||
Creature* DefiasPirate2 = pIronCladDoor->SummonCreature(657, pIronCladDoor->GetPositionX() + 3, pIronCladDoor->GetPositionY()-6, pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
Creature* DefiasPirate2 = pIronCladDoor->SummonCreature(657, pIronCladDoor->GetPositionX() + 3, pIronCladDoor->GetPositionY()-6, pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3s);
|
||||||
|
|
||||||
DefiasPirate1GUID = DefiasPirate1->GetGUID();
|
DefiasPirate1GUID = DefiasPirate1->GetGUID();
|
||||||
DefiasPirate2GUID = DefiasPirate2->GetGUID();
|
DefiasPirate2GUID = DefiasPirate2->GetGUID();
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ public:
|
|||||||
pos[BLUE_PORTAL] = (r > 1 ? 1 : 2); // Blue Portal not on the left side (0)
|
pos[BLUE_PORTAL] = (r > 1 ? 1 : 2); // Blue Portal not on the left side (0)
|
||||||
|
|
||||||
for (int i = 0; i < 3; ++i)
|
for (int i = 0; i < 3; ++i)
|
||||||
if (Creature* portal = me->SummonCreature(PortalID[i], PortalCoord[pos[i]][0], PortalCoord[pos[i]][1], PortalCoord[pos[i]][2], 0, TEMPSUMMON_TIMED_DESPAWN, 60000))
|
if (Creature* portal = me->SummonCreature(PortalID[i], PortalCoord[pos[i]][0], PortalCoord[pos[i]][1], PortalCoord[pos[i]][2], 0, TEMPSUMMON_TIMED_DESPAWN, 1min))
|
||||||
{
|
{
|
||||||
PortalGUID[i] = portal->GetGUID();
|
PortalGUID[i] = portal->GetGUID();
|
||||||
portal->AddAura(PortalVisual[i], portal);
|
portal->AddAura(PortalVisual[i], portal);
|
||||||
@@ -218,7 +218,7 @@ public:
|
|||||||
BeamerGUID[j].Clear();
|
BeamerGUID[j].Clear();
|
||||||
}
|
}
|
||||||
// create new one and start beaming on the target
|
// create new one and start beaming on the target
|
||||||
if (Creature* beamer = portal->SummonCreature(PortalID[j], portal->GetPositionX(), portal->GetPositionY(), portal->GetPositionZ(), portal->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 60000))
|
if (Creature* beamer = portal->SummonCreature(PortalID[j], portal->GetPositionX(), portal->GetPositionY(), portal->GetPositionZ(), portal->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 1min))
|
||||||
{
|
{
|
||||||
beamer->CastSpell(target, PortalBeam[j], false);
|
beamer->CastSpell(target, PortalBeam[j], false);
|
||||||
BeamerGUID[j] = beamer->GetGUID();
|
BeamerGUID[j] = beamer->GetGUID();
|
||||||
|
|||||||
@@ -447,7 +447,7 @@ public:
|
|||||||
Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true);
|
Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true);
|
||||||
for (uint8 i = 0; i < 2; ++i)
|
for (uint8 i = 0; i < 2; ++i)
|
||||||
{
|
{
|
||||||
Creature* axe = me->SummonCreature(MALCHEZARS_AXE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
Creature* axe = me->SummonCreature(MALCHEZARS_AXE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
if (axe)
|
if (axe)
|
||||||
{
|
{
|
||||||
axe->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
axe->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
|
|||||||
@@ -419,7 +419,7 @@ public:
|
|||||||
case SUPER_BLIZZARD:
|
case SUPER_BLIZZARD:
|
||||||
Talk(SAY_BLIZZARD);
|
Talk(SAY_BLIZZARD);
|
||||||
|
|
||||||
if (Creature* pSpawn = me->SummonCreature(CREATURE_ARAN_BLIZZARD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 25000))
|
if (Creature* pSpawn = me->SummonCreature(CREATURE_ARAN_BLIZZARD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 25s))
|
||||||
{
|
{
|
||||||
pSpawn->SetFaction(me->GetFaction());
|
pSpawn->SetFaction(me->GetFaction());
|
||||||
pSpawn->CastSpell(pSpawn, SPELL_CIRCULAR_BLIZZARD, false);
|
pSpawn->CastSpell(pSpawn, SPELL_CIRCULAR_BLIZZARD, false);
|
||||||
@@ -436,7 +436,7 @@ public:
|
|||||||
|
|
||||||
for (uint32 i = 0; i < 4; ++i)
|
for (uint32 i = 0; i < 4; ++i)
|
||||||
{
|
{
|
||||||
if (Creature* unit = me->SummonCreature(CREATURE_WATER_ELEMENTAL, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 90000))
|
if (Creature* unit = me->SummonCreature(CREATURE_WATER_ELEMENTAL, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 90s))
|
||||||
{
|
{
|
||||||
unit->Attack(me->GetVictim(), true);
|
unit->Attack(me->GetVictim(), true);
|
||||||
unit->SetFaction(me->GetFaction());
|
unit->SetFaction(me->GetFaction());
|
||||||
@@ -450,7 +450,7 @@ public:
|
|||||||
{
|
{
|
||||||
for (uint32 i = 0; i < 5; ++i)
|
for (uint32 i = 0; i < 5; ++i)
|
||||||
{
|
{
|
||||||
if (Creature* unit = me->SummonCreature(CREATURE_SHADOW_OF_ARAN, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000))
|
if (Creature* unit = me->SummonCreature(CREATURE_SHADOW_OF_ARAN, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s))
|
||||||
{
|
{
|
||||||
unit->Attack(me->GetVictim(), true);
|
unit->Attack(me->GetVictim(), true);
|
||||||
unit->SetFaction(me->GetFaction());
|
unit->SetFaction(me->GetFaction());
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ void SummonCroneIfReady(InstanceScript* instance, Creature* creature)
|
|||||||
|
|
||||||
if (instance->GetData(DATA_OPERA_OZ_DEATHCOUNT) == 4)
|
if (instance->GetData(DATA_OPERA_OZ_DEATHCOUNT) == 4)
|
||||||
{
|
{
|
||||||
if (Creature* pCrone = creature->SummonCreature(CREATURE_CRONE, -10891.96f, -1755.95f, creature->GetPositionZ(), 4.64f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, HOUR*2*IN_MILLISECONDS))
|
if (Creature* pCrone = creature->SummonCreature(CREATURE_CRONE, -10891.96f, -1755.95f, creature->GetPositionZ(), 4.64f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2h))
|
||||||
{
|
{
|
||||||
if (creature->GetVictim())
|
if (creature->GetVictim())
|
||||||
pCrone->AI()->AttackStart(creature->GetVictim());
|
pCrone->AI()->AttackStart(creature->GetVictim());
|
||||||
@@ -299,7 +299,7 @@ public:
|
|||||||
|
|
||||||
void boss_dorothee::boss_dorotheeAI::SummonTito()
|
void boss_dorothee::boss_dorotheeAI::SummonTito()
|
||||||
{
|
{
|
||||||
if (Creature* pTito = me->SummonCreature(CREATURE_TITO, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
|
if (Creature* pTito = me->SummonCreature(CREATURE_TITO, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s))
|
||||||
{
|
{
|
||||||
Talk(SAY_DOROTHEE_SUMMON);
|
Talk(SAY_DOROTHEE_SUMMON);
|
||||||
ENSURE_AI(npc_tito::npc_titoAI, pTito->AI())->DorotheeGUID = me->GetGUID();
|
ENSURE_AI(npc_tito::npc_titoAI, pTito->AI())->DorotheeGUID = me->GetGUID();
|
||||||
@@ -827,7 +827,7 @@ class npc_grandmother : public CreatureScript
|
|||||||
{
|
{
|
||||||
CloseGossipMenuFor(player);
|
CloseGossipMenuFor(player);
|
||||||
|
|
||||||
if (Creature* pBigBadWolf = me->SummonCreature(CREATURE_BIG_BAD_WOLF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, HOUR*2*IN_MILLISECONDS))
|
if (Creature* pBigBadWolf = me->SummonCreature(CREATURE_BIG_BAD_WOLF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2h))
|
||||||
pBigBadWolf->AI()->AttackStart(player);
|
pBigBadWolf->AI()->AttackStart(player);
|
||||||
|
|
||||||
me->DespawnOrUnsummon();
|
me->DespawnOrUnsummon();
|
||||||
@@ -1403,7 +1403,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff)
|
|||||||
{
|
{
|
||||||
if (SummonRomuloTimer <= diff)
|
if (SummonRomuloTimer <= diff)
|
||||||
{
|
{
|
||||||
if (Creature* pRomulo = me->SummonCreature(CREATURE_ROMULO, ROMULO_X, ROMULO_Y, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, HOUR*2*IN_MILLISECONDS))
|
if (Creature* pRomulo = me->SummonCreature(CREATURE_ROMULO, ROMULO_X, ROMULO_Y, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2h))
|
||||||
{
|
{
|
||||||
RomuloGUID = pRomulo->GetGUID();
|
RomuloGUID = pRomulo->GetGUID();
|
||||||
ENSURE_AI(boss_romulo::boss_romuloAI, pRomulo->AI())->JulianneGUID = me->GetGUID();
|
ENSURE_AI(boss_romulo::boss_romuloAI, pRomulo->AI())->JulianneGUID = me->GetGUID();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
|
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -197,7 +197,7 @@ public:
|
|||||||
|
|
||||||
if (Creature* spotlight = me->SummonCreature(NPC_SPOTLIGHT,
|
if (Creature* spotlight = me->SummonCreature(NPC_SPOTLIGHT,
|
||||||
me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f,
|
me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f,
|
||||||
TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000))
|
TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1min))
|
||||||
{
|
{
|
||||||
spotlight->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
spotlight->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
spotlight->CastSpell(spotlight, SPELL_SPOTLIGHT, false);
|
spotlight->CastSpell(spotlight, SPELL_SPOTLIGHT, false);
|
||||||
@@ -274,7 +274,7 @@ public:
|
|||||||
uint32 entry = ((uint32)Spawns[index][0]);
|
uint32 entry = ((uint32)Spawns[index][0]);
|
||||||
float PosX = Spawns[index][1];
|
float PosX = Spawns[index][1];
|
||||||
|
|
||||||
if (Creature* creature = me->SummonCreature(entry, PosX, SPAWN_Y, SPAWN_Z, SPAWN_O, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, HOUR*2*IN_MILLISECONDS))
|
if (Creature* creature = me->SummonCreature(entry, PosX, SPAWN_Y, SPAWN_Z, SPAWN_O, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2h))
|
||||||
creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -495,7 +495,7 @@ public:
|
|||||||
{
|
{
|
||||||
Step = 1;
|
Step = 1;
|
||||||
EventStarted = true;
|
EventStarted = true;
|
||||||
Creature* Arcanagos = me->SummonCreature(NPC_ARCANAGOS, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000);
|
Creature* Arcanagos = me->SummonCreature(NPC_ARCANAGOS, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20s);
|
||||||
if (!Arcanagos)
|
if (!Arcanagos)
|
||||||
return;
|
return;
|
||||||
ArcanagosGUID = Arcanagos->GetGUID();
|
ArcanagosGUID = Arcanagos->GetGUID();
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ public:
|
|||||||
//summon all the remaining in vector
|
//summon all the remaining in vector
|
||||||
for (std::vector<uint32>::const_iterator itr = LackeyEntryList.begin(); itr != LackeyEntryList.end(); ++itr)
|
for (std::vector<uint32>::const_iterator itr = LackeyEntryList.begin(); itr != LackeyEntryList.end(); ++itr)
|
||||||
{
|
{
|
||||||
if (Creature* pAdd = me->SummonCreature((*itr), LackeyLocations[j][0], LackeyLocations[j][1], fZLocation, fOrientation, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* pAdd = me->SummonCreature((*itr), LackeyLocations[j][0], LackeyLocations[j][1], fZLocation, fOrientation, TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
m_auiLackeyGUID[j] = pAdd->GetGUID();
|
m_auiLackeyGUID[j] = pAdd->GetGUID();
|
||||||
|
|
||||||
++j;
|
++j;
|
||||||
@@ -215,7 +215,7 @@ public:
|
|||||||
//object already removed, not exist
|
//object already removed, not exist
|
||||||
if (!pAdd)
|
if (!pAdd)
|
||||||
{
|
{
|
||||||
pAdd = me->SummonCreature((*itr), LackeyLocations[j][0], LackeyLocations[j][1], fZLocation, fOrientation, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
pAdd = me->SummonCreature((*itr), LackeyLocations[j][0], LackeyLocations[j][1], fZLocation, fOrientation, TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
if (pAdd)
|
if (pAdd)
|
||||||
m_auiLackeyGUID[j] = pAdd->GetGUID();
|
m_auiLackeyGUID[j] = pAdd->GetGUID();
|
||||||
}
|
}
|
||||||
@@ -1048,7 +1048,7 @@ public:
|
|||||||
|
|
||||||
Unit* pPet = ObjectAccessor::GetUnit(*me, m_uiPetGUID);
|
Unit* pPet = ObjectAccessor::GetUnit(*me, m_uiPetGUID);
|
||||||
if (!pPet)
|
if (!pPet)
|
||||||
me->SummonCreature(NPC_SLIVER, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
me->SummonCreature(NPC_SLIVER, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
|
|
||||||
boss_priestess_lackey_commonAI::Reset();
|
boss_priestess_lackey_commonAI::Reset();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -622,7 +622,7 @@ public:
|
|||||||
uiPhase_timer = 500;
|
uiPhase_timer = 500;
|
||||||
if (uiSummon_counter < ENCOUNTER_GHOUL_NUMBER)
|
if (uiSummon_counter < ENCOUNTER_GHOUL_NUMBER)
|
||||||
{
|
{
|
||||||
Unit* temp = me->SummonCreature(NPC_ACHERUS_GHOUL, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
|
Unit* temp = me->SummonCreature(NPC_ACHERUS_GHOUL, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 5min);
|
||||||
temp->SetWalk(false);
|
temp->SetWalk(false);
|
||||||
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
||||||
uiGhoulGUID[uiSummon_counter] = temp->GetGUID();
|
uiGhoulGUID[uiSummon_counter] = temp->GetGUID();
|
||||||
@@ -640,7 +640,7 @@ public:
|
|||||||
uiPhase_timer = 500;
|
uiPhase_timer = 500;
|
||||||
if (uiSummon_counter < ENCOUNTER_ABOMINATION_NUMBER)
|
if (uiSummon_counter < ENCOUNTER_ABOMINATION_NUMBER)
|
||||||
{
|
{
|
||||||
Unit* temp = me->SummonCreature(NPC_RAMPAGING_ABOMINATION, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
|
Unit* temp = me->SummonCreature(NPC_RAMPAGING_ABOMINATION, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 5min);
|
||||||
temp->SetWalk(false);
|
temp->SetWalk(false);
|
||||||
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
||||||
uiAbominationGUID[uiSummon_counter] = temp->GetGUID();
|
uiAbominationGUID[uiSummon_counter] = temp->GetGUID();
|
||||||
@@ -658,7 +658,7 @@ public:
|
|||||||
uiPhase_timer = 500;
|
uiPhase_timer = 500;
|
||||||
if (uiSummon_counter < ENCOUNTER_WARRIOR_NUMBER)
|
if (uiSummon_counter < ENCOUNTER_WARRIOR_NUMBER)
|
||||||
{
|
{
|
||||||
Unit* temp = me->SummonCreature(NPC_WARRIOR_OF_THE_FROZEN_WASTES, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
|
Unit* temp = me->SummonCreature(NPC_WARRIOR_OF_THE_FROZEN_WASTES, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 5min);
|
||||||
temp->SetWalk(false);
|
temp->SetWalk(false);
|
||||||
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
||||||
uiWarriorGUID[uiSummon_counter] = temp->GetGUID();
|
uiWarriorGUID[uiSummon_counter] = temp->GetGUID();
|
||||||
@@ -676,7 +676,7 @@ public:
|
|||||||
uiPhase_timer = 500;
|
uiPhase_timer = 500;
|
||||||
if (uiSummon_counter < ENCOUNTER_BEHEMOTH_NUMBER)
|
if (uiSummon_counter < ENCOUNTER_BEHEMOTH_NUMBER)
|
||||||
{
|
{
|
||||||
Unit* temp = me->SummonCreature(NPC_FLESH_BEHEMOTH, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
|
Unit* temp = me->SummonCreature(NPC_FLESH_BEHEMOTH, (me->GetPositionX() - 20) + rand32() % 40, (me->GetPositionY() - 20) + rand32() % 40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 5min);
|
||||||
temp->SetWalk(false);
|
temp->SetWalk(false);
|
||||||
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
temp->SetFaction(FACTION_UNDEAD_SCOURGE_3);
|
||||||
uiBehemothGUID[uiSummon_counter] = temp->GetGUID();
|
uiBehemothGUID[uiSummon_counter] = temp->GetGUID();
|
||||||
@@ -1278,7 +1278,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
me->SetVisible(false); // respawns another Darion for quest turn in
|
me->SetVisible(false); // respawns another Darion for quest turn in
|
||||||
me->SummonCreature(NPC_HIGHLORD_DARION_MOGRAINE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000);
|
me->SummonCreature(NPC_HIGHLORD_DARION_MOGRAINE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 3min);
|
||||||
JumpToNextStep(1000);
|
JumpToNextStep(1000);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ class spell_kormok_summon_bone_minions : SpellScriptLoader
|
|||||||
|
|
||||||
// Possible spells to handle this not found.
|
// Possible spells to handle this not found.
|
||||||
for (uint32 i = 0; i < 4; ++i)
|
for (uint32 i = 0; i < 4; ++i)
|
||||||
GetCaster()->SummonCreature(NPC_BONE_MINION, GetCaster()->GetPositionX() + float(irand(-7, 7)), GetCaster()->GetPositionY() + float(irand(-7, 7)), GetCaster()->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000);
|
GetCaster()->SummonCreature(NPC_BONE_MINION, GetCaster()->GetPositionX() + float(irand(-7, 7)), GetCaster()->GetPositionY() + float(irand(-7, 7)), GetCaster()->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 2min);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Register() override
|
void Register() override
|
||||||
|
|||||||
@@ -117,13 +117,13 @@ public:
|
|||||||
|
|
||||||
void JustDied(Unit* /*killer*/) override
|
void JustDied(Unit* /*killer*/) override
|
||||||
{
|
{
|
||||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustEngagedWith(Unit* /*who*/) override
|
void JustEngagedWith(Unit* /*who*/) override
|
||||||
@@ -176,49 +176,49 @@ public:
|
|||||||
switch (rand32() % 9)
|
switch (rand32() % 9)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 4min);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//30 seconds until we should cast this again
|
//30 seconds until we should cast this again
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ public:
|
|||||||
for (uint8 i=0; i<uiCount; ++i)
|
for (uint8 i=0; i<uiCount; ++i)
|
||||||
me->SummonCreature(NPC_ZOMBIE,
|
me->SummonCreature(NPC_ZOMBIE,
|
||||||
m_aSummonPoint[i].m_fX, m_aSummonPoint[i].m_fY, m_aSummonPoint[i].m_fZ, m_aSummonPoint[i].m_fOrient,
|
m_aSummonPoint[i].m_fX, m_aSummonPoint[i].m_fY, m_aSummonPoint[i].m_fZ, m_aSummonPoint[i].m_fOrient,
|
||||||
TEMPSUMMON_TIMED_DESPAWN, HOUR*IN_MILLISECONDS);
|
TEMPSUMMON_TIMED_DESPAWN, 1h);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustEngagedWith(Unit* /*who*/) override
|
void JustEngagedWith(Unit* /*who*/) override
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public:
|
|||||||
{
|
{
|
||||||
for (uint8 i = 0; i < 30; ++i)
|
for (uint8 i = 0; i < 30; ++i)
|
||||||
{
|
{
|
||||||
if (Creature* mob = me->SummonCreature(NPC_MINDLESS_UNDEAD, 3969.35f+irand(-10, 10), -3391.87f+irand(-10, 10), 119.11f, 5.91f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1800000))
|
if (Creature* mob = me->SummonCreature(NPC_MINDLESS_UNDEAD, 3969.35f+irand(-10, 10), -3391.87f+irand(-10, 10), 119.11f, 5.91f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30min))
|
||||||
mob->AI()->AttackStart(me->SelectNearestTarget(100.0f));
|
mob->AI()->AttackStart(me->SelectNearestTarget(100.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -347,7 +347,7 @@ class instance_stratholme : public InstanceMapScript
|
|||||||
//a bit itchy, it should close the door after 10 secs, but it doesn't. skipping it for now.
|
//a bit itchy, it should close the door after 10 secs, but it doesn't. skipping it for now.
|
||||||
//UpdateGoState(ziggurat4GUID, 0, true);
|
//UpdateGoState(ziggurat4GUID, 0, true);
|
||||||
if (Creature* pBaron = instance->GetCreature(baronGUID))
|
if (Creature* pBaron = instance->GetCreature(baronGUID))
|
||||||
pBaron->SummonCreature(NPC_RAMSTEIN, 4032.84f, -3390.24f, 119.73f, 4.71f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1800000);
|
pBaron->SummonCreature(NPC_RAMSTEIN, 4032.84f, -3390.24f, 119.73f, 4.71f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30min);
|
||||||
TC_LOG_DEBUG("scripts", "Instance Stratholme: Ramstein spawned.");
|
TC_LOG_DEBUG("scripts", "Instance Stratholme: Ramstein spawned.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -498,7 +498,7 @@ class instance_stratholme : public InstanceMapScript
|
|||||||
if (Creature* baron = instance->GetCreature(baronGUID))
|
if (Creature* baron = instance->GetCreature(baronGUID))
|
||||||
{
|
{
|
||||||
for (uint8 i = 0; i < 4; ++i)
|
for (uint8 i = 0; i < 4; ++i)
|
||||||
baron->SummonCreature(NPC_BLACK_GUARD, 4032.84f, -3390.24f, 119.73f, 4.71f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1800000);
|
baron->SummonCreature(NPC_BLACK_GUARD, 4032.84f, -3390.24f, 119.73f, 4.71f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30min);
|
||||||
|
|
||||||
HandleGameObject(ziggurat4GUID, true);
|
HandleGameObject(ziggurat4GUID, true);
|
||||||
HandleGameObject(ziggurat5GUID, true);
|
HandleGameObject(ziggurat5GUID, true);
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ public:
|
|||||||
void JustDied(Unit* /*killer*/) override
|
void JustDied(Unit* /*killer*/) override
|
||||||
{
|
{
|
||||||
if (Tagged)
|
if (Tagged)
|
||||||
me->SummonCreature(NPC_FREED, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 300000);
|
me->SummonCreature(NPC_FREED, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 5min);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
|
|||||||
@@ -38,19 +38,27 @@ EndContentData */
|
|||||||
# at_malfurion_Stormrage_trigger
|
# at_malfurion_Stormrage_trigger
|
||||||
#####*/
|
#####*/
|
||||||
|
|
||||||
|
enum MalfurionMisc
|
||||||
|
{
|
||||||
|
NPC_MALFURION_STORMRAGE = 15362,
|
||||||
|
QUEST_ERANIKUS_TYRANT_OF_DREAMS = 8733,
|
||||||
|
QUEST_THE_CHARGE_OF_DRAGONFLIGHTS = 8555,
|
||||||
|
};
|
||||||
|
|
||||||
class at_malfurion_stormrage : public AreaTriggerScript
|
class at_malfurion_stormrage : public AreaTriggerScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
at_malfurion_stormrage() : AreaTriggerScript("at_malfurion_stormrage") { }
|
at_malfurion_stormrage() : AreaTriggerScript("at_malfurion_stormrage") { }
|
||||||
|
|
||||||
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
|
||||||
{
|
|
||||||
if (player->GetInstanceScript() && !player->FindNearestCreature(15362, 15))
|
|
||||||
player->SummonCreature(15362, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), -1.52f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 100000);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
|
||||||
|
{
|
||||||
|
if (player->GetInstanceScript() && !player->FindNearestCreature(NPC_MALFURION_STORMRAGE, 15.0f) &&
|
||||||
|
player->GetQuestStatus(QUEST_THE_CHARGE_OF_DRAGONFLIGHTS) == QUEST_STATUS_REWARDED && player->GetQuestStatus(QUEST_ERANIKUS_TYRANT_OF_DREAMS) != QUEST_STATUS_REWARDED)
|
||||||
|
player->SummonCreature(NPC_MALFURION_STORMRAGE, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), -1.52f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 100s);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*#####
|
/*#####
|
||||||
# go_atalai_statue
|
# go_atalai_statue
|
||||||
#####*/
|
#####*/
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public:
|
|||||||
instance->SetBossState(DATA_BRUTALLUS, DONE);
|
instance->SetBossState(DATA_BRUTALLUS, DONE);
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
me->GetPosition(x, y, z);
|
me->GetPosition(x, y, z);
|
||||||
me->SummonCreature(NPC_FELMYST, x, y, z + 30, me->GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN, 0);
|
me->SummonCreature(NPC_FELMYST, x, y, z + 30, me->GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterEvadeMode(EvadeReason why) override
|
void EnterEvadeMode(EvadeReason why) override
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ public:
|
|||||||
{
|
{
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
unitCaster->GetPosition(x, y, z);
|
unitCaster->GetPosition(x, y, z);
|
||||||
if (Unit* summon = me->SummonCreature(NPC_DEAD, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000))
|
if (Unit* summon = me->SummonCreature(NPC_DEAD, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s))
|
||||||
{
|
{
|
||||||
summon->SetMaxHealth(unitCaster->GetMaxHealth());
|
summon->SetMaxHealth(unitCaster->GetMaxHealth());
|
||||||
summon->SetHealth(unitCaster->GetMaxHealth());
|
summon->SetHealth(unitCaster->GetMaxHealth());
|
||||||
@@ -302,7 +302,7 @@ public:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Creature* Vapor = me->SummonCreature(NPC_VAPOR, target->GetPositionX() - 5 + rand32() % 10, target->GetPositionY() - 5 + rand32() % 10, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 9000))
|
if (Creature* Vapor = me->SummonCreature(NPC_VAPOR, target->GetPositionX() - 5 + rand32() % 10, target->GetPositionY() - 5 + rand32() % 10, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 9s))
|
||||||
{
|
{
|
||||||
Vapor->AI()->AttackStart(target);
|
Vapor->AI()->AttackStart(target);
|
||||||
me->InterruptNonMeleeSpells(false);
|
me->InterruptNonMeleeSpells(false);
|
||||||
@@ -329,7 +329,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//target->CastSpell(target, SPELL_VAPOR_SUMMON, true); need core support
|
//target->CastSpell(target, SPELL_VAPOR_SUMMON, true); need core support
|
||||||
if (Creature* pVapor = me->SummonCreature(NPC_VAPOR, target->GetPositionX() - 5 + rand32() % 10, target->GetPositionY() - 5 + rand32() % 10, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 9000))
|
if (Creature* pVapor = me->SummonCreature(NPC_VAPOR, target->GetPositionX() - 5 + rand32() % 10, target->GetPositionY() - 5 + rand32() % 10, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 9s))
|
||||||
{
|
{
|
||||||
if (pVapor->AI())
|
if (pVapor->AI())
|
||||||
pVapor->AI()->AttackStart(target);
|
pVapor->AI()->AttackStart(target);
|
||||||
@@ -472,7 +472,7 @@ public:
|
|||||||
float x, y, z;
|
float x, y, z;
|
||||||
me->GetPosition(x, y, z);
|
me->GetPosition(x, y, z);
|
||||||
me->UpdateGroundPositionZ(x, y, z);
|
me->UpdateGroundPositionZ(x, y, z);
|
||||||
if (Creature* Fog = me->SummonCreature(NPC_VAPOR_TRAIL, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 10000))
|
if (Creature* Fog = me->SummonCreature(NPC_VAPOR_TRAIL, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 10s))
|
||||||
{
|
{
|
||||||
Fog->RemoveAurasDueToSpell(SPELL_TRAIL_TRIGGER);
|
Fog->RemoveAurasDueToSpell(SPELL_TRAIL_TRIGGER);
|
||||||
Fog->CastSpell(Fog, SPELL_FOG_TRIGGER, true);
|
Fog->CastSpell(Fog, SPELL_FOG_TRIGGER, true);
|
||||||
@@ -500,7 +500,7 @@ public:
|
|||||||
if (entry == NPC_VAPOR_TRAIL && phase == PHASE_FLIGHT)
|
if (entry == NPC_VAPOR_TRAIL && phase == PHASE_FLIGHT)
|
||||||
{
|
{
|
||||||
(*i)->GetPosition(x, y, z);
|
(*i)->GetPosition(x, y, z);
|
||||||
me->SummonCreature(NPC_DEAD, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_DEAD, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
}
|
}
|
||||||
(*i)->SetVisible(false);
|
(*i)->SetVisible(false);
|
||||||
(*i)->DespawnOrUnsummon();
|
(*i)->DespawnOrUnsummon();
|
||||||
|
|||||||
@@ -383,7 +383,7 @@ class go_orb_of_the_blue_flight : public GameObjectScript
|
|||||||
{
|
{
|
||||||
if (me->GetFaction() == FACTION_FRIENDLY)
|
if (me->GetFaction() == FACTION_FRIENDLY)
|
||||||
{
|
{
|
||||||
player->SummonCreature(NPC_POWER_OF_THE_BLUE_DRAGONFLIGHT, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 121000);
|
player->SummonCreature(NPC_POWER_OF_THE_BLUE_DRAGONFLIGHT, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 121s);
|
||||||
player->CastSpell(player, SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, false);
|
player->CastSpell(player, SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, false);
|
||||||
me->SetFaction(FACTION_NONE);
|
me->SetFaction(FACTION_NONE);
|
||||||
|
|
||||||
@@ -492,7 +492,7 @@ public:
|
|||||||
if (!bSummonedDeceivers)
|
if (!bSummonedDeceivers)
|
||||||
{
|
{
|
||||||
for (uint8 i = 0; i < 3; ++i)
|
for (uint8 i = 0; i < 3; ++i)
|
||||||
me->SummonCreature(NPC_HAND_OF_THE_DECEIVER, DeceiverLocations[i], TEMPSUMMON_DEAD_DESPAWN, 0);
|
me->SummonCreature(NPC_HAND_OF_THE_DECEIVER, DeceiverLocations[i], TEMPSUMMON_DEAD_DESPAWN);
|
||||||
|
|
||||||
DoSpawnCreature(NPC_ANVEENA, 0, 0, 40, 0, TEMPSUMMON_DEAD_DESPAWN, 0s);
|
DoSpawnCreature(NPC_ANVEENA, 0, 0, 40, 0, TEMPSUMMON_DEAD_DESPAWN, 0s);
|
||||||
DoCast(me, SPELL_ANVEENA_ENERGY_DRAIN);
|
DoCast(me, SPELL_ANVEENA_ENERGY_DRAIN);
|
||||||
@@ -679,7 +679,7 @@ public:
|
|||||||
{
|
{
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
target->GetPosition(x, y, z);
|
target->GetPosition(x, y, z);
|
||||||
if (Creature* pSinisterReflection = me->SummonCreature(NPC_SINISTER_REFLECTION, x, y, z, 0, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* pSinisterReflection = me->SummonCreature(NPC_SINISTER_REFLECTION, x, y, z, 0, TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
{
|
{
|
||||||
pSinisterReflection->SetDisplayId(target->GetDisplayId());
|
pSinisterReflection->SetDisplayId(target->GetDisplayId());
|
||||||
pSinisterReflection->AI()->AttackStart(target);
|
pSinisterReflection->AI()->AttackStart(target);
|
||||||
@@ -788,7 +788,7 @@ public:
|
|||||||
float sx, sy;
|
float sx, sy;
|
||||||
sx = ShieldOrbLocations[0][0] + std::sin(ShieldOrbLocations[i][0]);
|
sx = ShieldOrbLocations[0][0] + std::sin(ShieldOrbLocations[i][0]);
|
||||||
sy = ShieldOrbLocations[0][1] + std::sin(ShieldOrbLocations[i][1]);
|
sy = ShieldOrbLocations[0][1] + std::sin(ShieldOrbLocations[i][1]);
|
||||||
me->SummonCreature(NPC_SHIELD_ORB, sx, sy, SHIELD_ORB_Z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000);
|
me->SummonCreature(NPC_SHIELD_ORB, sx, sy, SHIELD_ORB_Z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45s);
|
||||||
}
|
}
|
||||||
Timer[TIMER_SUMMON_SHILEDORB] = urand(30000, 60000); // 30-60seconds cooldown
|
Timer[TIMER_SUMMON_SHILEDORB] = urand(30000, 60000); // 30-60seconds cooldown
|
||||||
Timer[TIMER_SOUL_FLAY] = 2000;
|
Timer[TIMER_SOUL_FLAY] = 2000;
|
||||||
@@ -859,7 +859,7 @@ public:
|
|||||||
{
|
{
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
target->GetPosition(x, y, z);
|
target->GetPosition(x, y, z);
|
||||||
me->SummonCreature(NPC_ARMAGEDDON_TARGET, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_ARMAGEDDON_TARGET, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 15s);
|
||||||
}
|
}
|
||||||
Timer[TIMER_ARMAGEDDON] = 2000; // No, I'm not kidding
|
Timer[TIMER_ARMAGEDDON] = 2000; // No, I'm not kidding
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ struct npc_thalorien_dawnseeker : public ScriptedAI
|
|||||||
{
|
{
|
||||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||||
|
|
||||||
if (Creature* thalorien = me->SummonCreature(NPC_THALORIEN_DAWNSEEKER, thalorienSummon, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* thalorien = me->SummonCreature(NPC_THALORIEN_DAWNSEEKER, thalorienSummon, TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
_thalorienGUID = thalorien->GetGUID();
|
_thalorienGUID = thalorien->GetGUID();
|
||||||
me->SummonCreatureGroup(SUMMON_SUNWELL_DEFENDER);
|
me->SummonCreatureGroup(SUMMON_SUNWELL_DEFENDER);
|
||||||
|
|
||||||
@@ -276,7 +276,7 @@ struct npc_thalorien_dawnseeker : public ScriptedAI
|
|||||||
_events.ScheduleEvent(EVENT_MORLEN_1, 6s);
|
_events.ScheduleEvent(EVENT_MORLEN_1, 6s);
|
||||||
break;
|
break;
|
||||||
case EVENT_SUMMON_MORLEN:
|
case EVENT_SUMMON_MORLEN:
|
||||||
if (Creature* morlen = me->SummonCreature(NPC_MORLEN_GOLDGRIP, morlenSummon, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* morlen = me->SummonCreature(NPC_MORLEN_GOLDGRIP, morlenSummon, TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
{
|
{
|
||||||
_morlenGUID = morlen->GetGUID();
|
_morlenGUID = morlen->GetGUID();
|
||||||
morlen->AI()->DoCastSelf(SPELL_BLOOD_PRESENCE);
|
morlen->AI()->DoCastSelf(SPELL_BLOOD_PRESENCE);
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ public:
|
|||||||
LamentEvent = true;
|
LamentEvent = true;
|
||||||
|
|
||||||
for (uint8 i = 0; i < 4; ++i)
|
for (uint8 i = 0; i < 4; ++i)
|
||||||
me->SummonCreature(NPC_HIGHBORNE_LAMENTER, HighborneLoc[i][0], HighborneLoc[i][1], HIGHBORNE_LOC_Y, HighborneLoc[i][2], TEMPSUMMON_TIMED_DESPAWN, 160000);
|
me->SummonCreature(NPC_HIGHBORNE_LAMENTER, HighborneLoc[i][0], HighborneLoc[i][1], HIGHBORNE_LOC_Y, HighborneLoc[i][2], TEMPSUMMON_TIMED_DESPAWN, 160s);
|
||||||
|
|
||||||
_events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2s);
|
_events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2s);
|
||||||
_events.ScheduleEvent(EVENT_SUNSORROW_WHISPER, 10s);
|
_events.ScheduleEvent(EVENT_SUNSORROW_WHISPER, 10s);
|
||||||
|
|||||||
@@ -516,11 +516,11 @@ public:
|
|||||||
|
|
||||||
me->SummonCreature(NPC_DOOMFIRE_SPIRIT,
|
me->SummonCreature(NPC_DOOMFIRE_SPIRIT,
|
||||||
target->GetPositionX()+15.0f, target->GetPositionY()+15.0f, target->GetPositionZ(), 0,
|
target->GetPositionX()+15.0f, target->GetPositionY()+15.0f, target->GetPositionZ(), 0,
|
||||||
TEMPSUMMON_TIMED_DESPAWN, 27000);
|
TEMPSUMMON_TIMED_DESPAWN, 27s);
|
||||||
|
|
||||||
me->SummonCreature(NPC_DOOMFIRE,
|
me->SummonCreature(NPC_DOOMFIRE,
|
||||||
target->GetPositionX()-15.0f, target->GetPositionY()-15.0f, target->GetPositionZ(), 0,
|
target->GetPositionX()-15.0f, target->GetPositionY()-15.0f, target->GetPositionZ(), 0,
|
||||||
TEMPSUMMON_TIMED_DESPAWN, 27000);
|
TEMPSUMMON_TIMED_DESPAWN, 27s);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -467,21 +467,21 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
|
|||||||
|
|
||||||
if (!FirstBossDead && (WaveCount == 1 || WaveCount == 3))
|
if (!FirstBossDead && (WaveCount == 1 || WaveCount == 3))
|
||||||
{//summon at tower
|
{//summon at tower
|
||||||
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_NEAR_TOWER][0]+irand(-20, 20), SpawnPointSpecial[SPAWN_NEAR_TOWER][1]+irand(-20, 20), SpawnPointSpecial[SPAWN_NEAR_TOWER][2]+irand(-10, 10), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_NEAR_TOWER][0]+irand(-20, 20), SpawnPointSpecial[SPAWN_NEAR_TOWER][1]+irand(-20, 20), SpawnPointSpecial[SPAWN_NEAR_TOWER][2]+irand(-10, 10), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
if (creature)
|
if (creature)
|
||||||
ENSURE_AI(hyjal_trashAI, creature->AI())->useFlyPath = true;
|
ENSURE_AI(hyjal_trashAI, creature->AI())->useFlyPath = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//summon at gate
|
{//summon at gate
|
||||||
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_GARG_GATE][0]+irand(-10, 10), SpawnPointSpecial[SPAWN_GARG_GATE][1]+irand(-10, 10), SpawnPointSpecial[SPAWN_GARG_GATE][2]+irand(-10, 10), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_GARG_GATE][0]+irand(-10, 10), SpawnPointSpecial[SPAWN_GARG_GATE][1]+irand(-10, 10), SpawnPointSpecial[SPAWN_GARG_GATE][2]+irand(-10, 10), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 17907: //FROST_WYRM,
|
case 17907: //FROST_WYRM,
|
||||||
if (FirstBossDead && WaveCount == 1) //summon at gate
|
if (FirstBossDead && WaveCount == 1) //summon at gate
|
||||||
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_WYRM_GATE][0], SpawnPointSpecial[SPAWN_WYRM_GATE][1], SpawnPointSpecial[SPAWN_WYRM_GATE][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_WYRM_GATE][0], SpawnPointSpecial[SPAWN_WYRM_GATE][1], SpawnPointSpecial[SPAWN_WYRM_GATE][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_NEAR_TOWER][0], SpawnPointSpecial[SPAWN_NEAR_TOWER][1], SpawnPointSpecial[SPAWN_NEAR_TOWER][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
creature = me->SummonCreature(entry, SpawnPointSpecial[SPAWN_NEAR_TOWER][0], SpawnPointSpecial[SPAWN_NEAR_TOWER][1], SpawnPointSpecial[SPAWN_NEAR_TOWER][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
if (creature)
|
if (creature)
|
||||||
ENSURE_AI(hyjal_trashAI, creature->AI())->useFlyPath = true;
|
ENSURE_AI(hyjal_trashAI, creature->AI())->useFlyPath = true;
|
||||||
}
|
}
|
||||||
@@ -490,10 +490,10 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
|
|||||||
++InfernalCount;
|
++InfernalCount;
|
||||||
if (InfernalCount > 7)
|
if (InfernalCount > 7)
|
||||||
InfernalCount = 0;
|
InfernalCount = 0;
|
||||||
creature = me->SummonCreature(entry, InfernalPos[InfernalCount][0], InfernalPos[InfernalCount][1], InfernalPos[InfernalCount][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
creature = me->SummonCreature(entry, InfernalPos[InfernalCount][0], InfernalPos[InfernalCount][1], InfernalPos[InfernalCount][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
creature = me->SummonCreature(entry, SpawnLoc[0], SpawnLoc[1], SpawnLoc[2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
creature = me->SummonCreature(entry, SpawnLoc[0], SpawnLoc[1], SpawnLoc[2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -629,7 +629,7 @@ void hyjalAI::Retreat()
|
|||||||
if (Faction == 1)
|
if (Faction == 1)
|
||||||
{
|
{
|
||||||
instance->SetData(DATA_HORDE_RETREAT, 1);
|
instance->SetData(DATA_HORDE_RETREAT, 1);
|
||||||
Creature* JainaDummy = me->SummonCreature(JAINA, JainaDummySpawn[0][0], JainaDummySpawn[0][1], JainaDummySpawn[0][2], JainaDummySpawn[0][3], TEMPSUMMON_TIMED_DESPAWN, 60000);
|
Creature* JainaDummy = me->SummonCreature(JAINA, JainaDummySpawn[0][0], JainaDummySpawn[0][1], JainaDummySpawn[0][2], JainaDummySpawn[0][3], TEMPSUMMON_TIMED_DESPAWN, 1min);
|
||||||
if (JainaDummy)
|
if (JainaDummy)
|
||||||
{
|
{
|
||||||
JainaDummy->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
JainaDummy->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||||
@@ -1023,7 +1023,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
|
|||||||
for (uint8 i = 0; i < 25; ++i)//summon 25 ghouls
|
for (uint8 i = 0; i < 25; ++i)//summon 25 ghouls
|
||||||
{
|
{
|
||||||
uint8 r = rand32() % 4;
|
uint8 r = rand32() % 4;
|
||||||
Creature* unit = me->SummonCreature(GHOUL, AllianceBase[r][0]+irand(-15, 15), AllianceBase[r][1]+irand(-15, 15), AllianceBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
|
Creature* unit = me->SummonCreature(GHOUL, AllianceBase[r][0]+irand(-15, 15), AllianceBase[r][1]+irand(-15, 15), AllianceBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2min);
|
||||||
if (unit)
|
if (unit)
|
||||||
{
|
{
|
||||||
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
||||||
@@ -1036,7 +1036,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
|
|||||||
for (uint8 i = 0; i < 3; ++i)//summon 3 abominations
|
for (uint8 i = 0; i < 3; ++i)//summon 3 abominations
|
||||||
{
|
{
|
||||||
uint8 r = rand32() % 4;
|
uint8 r = rand32() % 4;
|
||||||
Creature* unit = me->SummonCreature(ABOMINATION, AllianceBase[r][0]+irand(-15, 15), AllianceBase[r][1]+irand(-15, 15), AllianceBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
|
Creature* unit = me->SummonCreature(ABOMINATION, AllianceBase[r][0]+irand(-15, 15), AllianceBase[r][1]+irand(-15, 15), AllianceBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2min);
|
||||||
if (unit)
|
if (unit)
|
||||||
{
|
{
|
||||||
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
||||||
@@ -1048,7 +1048,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
|
|||||||
}
|
}
|
||||||
for (uint8 i = 0; i < 5; ++i)//summon 5 gargoyles
|
for (uint8 i = 0; i < 5; ++i)//summon 5 gargoyles
|
||||||
{
|
{
|
||||||
Creature* unit = me->SummonCreature(GARGOYLE, AllianceOverrunGargPos[i][0], AllianceOverrunGargPos[i][1], AllianceOverrunGargPos[i][2], AllianceOverrunGargPos[i][3], TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
|
Creature* unit = me->SummonCreature(GARGOYLE, AllianceOverrunGargPos[i][0], AllianceOverrunGargPos[i][1], AllianceOverrunGargPos[i][2], AllianceOverrunGargPos[i][3], TEMPSUMMON_MANUAL_DESPAWN, 2min);
|
||||||
if (unit)
|
if (unit)
|
||||||
{
|
{
|
||||||
unit->SetHomePosition(AllianceOverrunGargPos[i][0], AllianceOverrunGargPos[i][1], AllianceOverrunGargPos[i][2], AllianceOverrunGargPos[i][3]);
|
unit->SetHomePosition(AllianceOverrunGargPos[i][0], AllianceOverrunGargPos[i][1], AllianceOverrunGargPos[i][2], AllianceOverrunGargPos[i][3]);
|
||||||
@@ -1066,7 +1066,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
|
|||||||
|
|
||||||
for (uint8 i = 0; i < 26; ++i)//summon infernals
|
for (uint8 i = 0; i < 26; ++i)//summon infernals
|
||||||
{
|
{
|
||||||
Creature* unit = me->SummonCreature(GIANT_INFERNAL, InfernalSPWP[i][0], InfernalSPWP[i][1], InfernalSPWP[i][2], InfernalSPWP[i][3], TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
|
Creature* unit = me->SummonCreature(GIANT_INFERNAL, InfernalSPWP[i][0], InfernalSPWP[i][1], InfernalSPWP[i][2], InfernalSPWP[i][3], TEMPSUMMON_MANUAL_DESPAWN, 2min);
|
||||||
if (unit)
|
if (unit)
|
||||||
{
|
{
|
||||||
unit->SetHomePosition(InfernalSPWP[i][0], InfernalSPWP[i][1], InfernalSPWP[i][2], InfernalSPWP[i][3]);
|
unit->SetHomePosition(InfernalSPWP[i][0], InfernalSPWP[i][1], InfernalSPWP[i][2], InfernalSPWP[i][3]);
|
||||||
@@ -1080,7 +1080,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
|
|||||||
for (uint8 i = 0; i < 25; ++i)//summon 25 ghouls
|
for (uint8 i = 0; i < 25; ++i)//summon 25 ghouls
|
||||||
{
|
{
|
||||||
uint8 r = rand32() % 4;
|
uint8 r = rand32() % 4;
|
||||||
Creature* unit = me->SummonCreature(GHOUL, HordeBase[r][0]+irand(-15, 15), HordeBase[r][1]+irand(-15, 15), HordeBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
|
Creature* unit = me->SummonCreature(GHOUL, HordeBase[r][0]+irand(-15, 15), HordeBase[r][1]+irand(-15, 15), HordeBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2min);
|
||||||
if (unit)
|
if (unit)
|
||||||
{
|
{
|
||||||
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
||||||
@@ -1093,7 +1093,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
|
|||||||
for (uint8 i = 0; i < 5; ++i)//summon 5 abominations
|
for (uint8 i = 0; i < 5; ++i)//summon 5 abominations
|
||||||
{
|
{
|
||||||
uint8 r = rand32() % 4;
|
uint8 r = rand32() % 4;
|
||||||
Creature* unit = me->SummonCreature(ABOMINATION, HordeBase[r][0]+irand(-15, 15), HordeBase[r][1]+irand(-15, 15), HordeBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
|
Creature* unit = me->SummonCreature(ABOMINATION, HordeBase[r][0]+irand(-15, 15), HordeBase[r][1]+irand(-15, 15), HordeBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2min);
|
||||||
if (unit)
|
if (unit)
|
||||||
{
|
{
|
||||||
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
ENSURE_AI(hyjal_trashAI, unit->AI())->faction = Faction;
|
||||||
|
|||||||
+1
-1
@@ -136,7 +136,7 @@ public:
|
|||||||
if (mBarrelCount == 5)
|
if (mBarrelCount == 5)
|
||||||
{
|
{
|
||||||
UpdateQuestCredit();
|
UpdateQuestCredit();
|
||||||
player->SummonCreature(DRAKE_ENTRY, 2128.43f, 71.01f, 64.42f, 1.74f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1800000);
|
player->SummonCreature(DRAKE_ENTRY, 2128.43f, 71.01f, 64.42f, 1.74f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30min);
|
||||||
m_auiEncounter[0] = DONE;
|
m_auiEncounter[0] = DONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+33
-33
@@ -223,7 +223,7 @@ public:
|
|||||||
{
|
{
|
||||||
case 8:
|
case 8:
|
||||||
SetRun(false);
|
SetRun(false);
|
||||||
me->SummonCreature(18764, 2181.87f, 112.46f, 89.45f, 0.26f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(18764, 2181.87f, 112.46f, 89.45f, 0.26f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
Talk(SAY_TH_ARMORY);
|
Talk(SAY_TH_ARMORY);
|
||||||
@@ -241,26 +241,26 @@ public:
|
|||||||
SetRun();
|
SetRun();
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
me->SummonCreature(NPC_RIFLE, 2200.28f, 137.37f, 87.93f, 5.07f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_RIFLE, 2200.28f, 137.37f, 87.93f, 5.07f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_WARDEN, 2197.44f, 131.83f, 87.93f, 0.78f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_WARDEN, 2197.44f, 131.83f, 87.93f, 0.78f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_VETERAN, 2203.62f, 135.40f, 87.93f, 3.70f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_VETERAN, 2203.62f, 135.40f, 87.93f, 3.70f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_VETERAN, 2200.75f, 130.13f, 87.93f, 1.48f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_VETERAN, 2200.75f, 130.13f, 87.93f, 1.48f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
me->SummonCreature(NPC_RIFLE, 2135.80f, 154.01f, 67.45f, 4.98f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_RIFLE, 2135.80f, 154.01f, 67.45f, 4.98f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_WARDEN, 2144.36f, 151.87f, 67.74f, 4.46f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_WARDEN, 2144.36f, 151.87f, 67.74f, 4.46f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_VETERAN, 2142.12f, 154.41f, 67.12f, 4.56f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_VETERAN, 2142.12f, 154.41f, 67.12f, 4.56f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_VETERAN, 2138.08f, 155.38f, 67.24f, 4.60f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_VETERAN, 2138.08f, 155.38f, 67.24f, 4.60f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
break;
|
break;
|
||||||
case 25:
|
case 25:
|
||||||
me->SummonCreature(NPC_RIFLE, 2102.98f, 192.17f, 65.24f, 6.02f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_RIFLE, 2102.98f, 192.17f, 65.24f, 6.02f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_WARDEN, 2108.48f, 198.75f, 65.18f, 5.15f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_WARDEN, 2108.48f, 198.75f, 65.18f, 5.15f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_VETERAN, 2106.11f, 197.29f, 65.18f, 5.63f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_VETERAN, 2106.11f, 197.29f, 65.18f, 5.63f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_VETERAN, 2104.18f, 194.82f, 65.18f, 5.75f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_VETERAN, 2104.18f, 194.82f, 65.18f, 5.75f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
break;
|
break;
|
||||||
case 29:
|
case 29:
|
||||||
Talk(SAY_TH_SKARLOC_MEET);
|
Talk(SAY_TH_SKARLOC_MEET);
|
||||||
me->SummonCreature(ENTRY_SCARLOC, 2036.48f, 271.22f, 63.43f, 5.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(ENTRY_SCARLOC, 2036.48f, 271.22f, 63.43f, 5.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
//temporary, skarloc should rather be triggered to walk up to thrall
|
//temporary, skarloc should rather be triggered to walk up to thrall
|
||||||
break;
|
break;
|
||||||
case 30:
|
case 30:
|
||||||
@@ -275,12 +275,12 @@ public:
|
|||||||
break;
|
break;
|
||||||
case 37:
|
case 37:
|
||||||
//possibly regular patrollers? If so, remove this and let database handle them
|
//possibly regular patrollers? If so, remove this and let database handle them
|
||||||
me->SummonCreature(NPC_WATCHMAN, 2124.26f, 522.16f, 56.87f, 3.99f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_WATCHMAN, 2124.26f, 522.16f, 56.87f, 3.99f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_WATCHMAN, 2121.69f, 525.37f, 57.11f, 4.01f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_WATCHMAN, 2121.69f, 525.37f, 57.11f, 4.01f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_SENTRY, 2124.65f, 524.55f, 56.63f, 3.98f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_SENTRY, 2124.65f, 524.55f, 56.63f, 3.98f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
break;
|
break;
|
||||||
case 59:
|
case 59:
|
||||||
me->SummonCreature(SKARLOC_MOUNT, 2488.64f, 625.77f, 58.26f, 4.71f, TEMPSUMMON_TIMED_DESPAWN, 10000);
|
me->SummonCreature(SKARLOC_MOUNT, 2488.64f, 625.77f, 58.26f, 4.71f, TEMPSUMMON_TIMED_DESPAWN, 10s);
|
||||||
DoUnmount();
|
DoUnmount();
|
||||||
HadMount = false;
|
HadMount = false;
|
||||||
SetRun(false);
|
SetRun(false);
|
||||||
@@ -297,10 +297,10 @@ public:
|
|||||||
SetRun(false);
|
SetRun(false);
|
||||||
break;
|
break;
|
||||||
case 68:
|
case 68:
|
||||||
me->SummonCreature(NPC_BARN_PROTECTOR, 2500.22f, 692.60f, 55.50f, 2.84f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_BARN_PROTECTOR, 2500.22f, 692.60f, 55.50f, 2.84f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_BARN_LOOKOUT, 2500.13f, 696.55f, 55.51f, 3.38f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_BARN_LOOKOUT, 2500.13f, 696.55f, 55.51f, 3.38f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_BARN_GUARDSMAN, 2500.55f, 693.64f, 55.50f, 3.14f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_BARN_GUARDSMAN, 2500.55f, 693.64f, 55.50f, 3.14f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_BARN_GUARDSMAN, 2500.94f, 695.81f, 55.50f, 3.14f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_BARN_GUARDSMAN, 2500.94f, 695.81f, 55.50f, 3.14f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
break;
|
break;
|
||||||
case 71:
|
case 71:
|
||||||
SetRun();
|
SetRun();
|
||||||
@@ -309,10 +309,10 @@ public:
|
|||||||
SetRun(false);
|
SetRun(false);
|
||||||
break;
|
break;
|
||||||
case 83:
|
case 83:
|
||||||
me->SummonCreature(NPC_CHURCH_PROTECTOR, 2627.33f, 646.82f, 56.03f, 4.28f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5000);
|
me->SummonCreature(NPC_CHURCH_PROTECTOR, 2627.33f, 646.82f, 56.03f, 4.28f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5s);
|
||||||
me->SummonCreature(NPC_CHURCH_LOOKOUT, 2624.14f, 648.03f, 56.03f, 4.50f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5000);
|
me->SummonCreature(NPC_CHURCH_LOOKOUT, 2624.14f, 648.03f, 56.03f, 4.50f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5s);
|
||||||
me->SummonCreature(NPC_CHURCH_GUARDSMAN, 2625.32f, 649.60f, 56.03f, 4.38f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5000);
|
me->SummonCreature(NPC_CHURCH_GUARDSMAN, 2625.32f, 649.60f, 56.03f, 4.38f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5s);
|
||||||
me->SummonCreature(NPC_CHURCH_GUARDSMAN, 2627.22f, 649.00f, 56.03f, 4.34f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5000);
|
me->SummonCreature(NPC_CHURCH_GUARDSMAN, 2627.22f, 649.00f, 56.03f, 4.34f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 5s);
|
||||||
break;
|
break;
|
||||||
case 84:
|
case 84:
|
||||||
Talk(SAY_TH_CHURCH_END);
|
Talk(SAY_TH_CHURCH_END);
|
||||||
@@ -323,10 +323,10 @@ public:
|
|||||||
SetRun(false);
|
SetRun(false);
|
||||||
break;
|
break;
|
||||||
case 93:
|
case 93:
|
||||||
me->SummonCreature(NPC_INN_PROTECTOR, 2652.71f, 660.31f, 61.93f, 1.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_INN_PROTECTOR, 2652.71f, 660.31f, 61.93f, 1.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_INN_LOOKOUT, 2648.96f, 662.59f, 61.93f, 0.79f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_INN_LOOKOUT, 2648.96f, 662.59f, 61.93f, 0.79f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_INN_GUARDSMAN, 2657.36f, 662.34f, 61.93f, 2.68f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_INN_GUARDSMAN, 2657.36f, 662.34f, 61.93f, 2.68f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
me->SummonCreature(NPC_INN_GUARDSMAN, 2656.39f, 659.77f, 61.93f, 2.61f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
me->SummonCreature(NPC_INN_GUARDSMAN, 2656.39f, 659.77f, 61.93f, 2.61f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
break;
|
break;
|
||||||
case 94:
|
case 94:
|
||||||
if (Creature* Taretha = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TARETHA)))
|
if (Creature* Taretha = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TARETHA)))
|
||||||
@@ -366,7 +366,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//alot will happen here, thrall and taretha talk, erozion appear at spot to explain
|
//alot will happen here, thrall and taretha talk, erozion appear at spot to explain
|
||||||
me->SummonCreature(EROZION_ENTRY, 2646.47f, 680.416f, 55.38f, 4.16f, TEMPSUMMON_TIMED_DESPAWN, 120000);
|
me->SummonCreature(EROZION_ENTRY, 2646.47f, 680.416f, 55.38f, 4.16f, TEMPSUMMON_TIMED_DESPAWN, 2min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 108:
|
case 108:
|
||||||
@@ -495,7 +495,7 @@ public:
|
|||||||
|
|
||||||
case GOSSIP_ACTION_INFO_DEF + 20:
|
case GOSSIP_ACTION_INFO_DEF + 20:
|
||||||
SendGossipMenuFor(player, GOSSIP_ID_SKARLOC3, me->GetGUID());
|
SendGossipMenuFor(player, GOSSIP_ID_SKARLOC3, me->GetGUID());
|
||||||
me->SummonCreature(SKARLOC_MOUNT, 2038.81f, 270.26f, 63.20f, 5.41f, TEMPSUMMON_TIMED_DESPAWN, 12000);
|
me->SummonCreature(SKARLOC_MOUNT, 2038.81f, 270.26f, 63.20f, 5.41f, TEMPSUMMON_TIMED_DESPAWN, 12s);
|
||||||
instance->SetData(TYPE_THRALL_PART2, IN_PROGRESS);
|
instance->SetData(TYPE_THRALL_PART2, IN_PROGRESS);
|
||||||
|
|
||||||
Talk(SAY_TH_START_EVENT_PART2);
|
Talk(SAY_TH_START_EVENT_PART2);
|
||||||
@@ -612,7 +612,7 @@ public:
|
|||||||
{
|
{
|
||||||
instance->SetData(TYPE_THRALL_PART4, IN_PROGRESS);
|
instance->SetData(TYPE_THRALL_PART4, IN_PROGRESS);
|
||||||
if (instance->GetGuidData(DATA_EPOCH).IsEmpty())
|
if (instance->GetGuidData(DATA_EPOCH).IsEmpty())
|
||||||
me->SummonCreature(ENTRY_EPOCH, 2639.13f, 698.55f, 65.43f, 4.59f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
me->SummonCreature(ENTRY_EPOCH, 2639.13f, 698.55f, 65.43f, 4.59f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
|
|
||||||
if (Creature* thrall = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THRALL)))
|
if (Creature* thrall = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THRALL)))
|
||||||
ENSURE_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, thrall->AI())->StartWP();
|
ENSURE_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, thrall->AI())->StartWP();
|
||||||
|
|||||||
+1
-1
@@ -295,7 +295,7 @@ public:
|
|||||||
|
|
||||||
Creature* temp = medivh->SummonCreature(NPC_TIME_RIFT,
|
Creature* temp = medivh->SummonCreature(NPC_TIME_RIFT,
|
||||||
PortalLocation[tmp][0], PortalLocation[tmp][1], PortalLocation[tmp][2], PortalLocation[tmp][3],
|
PortalLocation[tmp][0], PortalLocation[tmp][1], PortalLocation[tmp][2], PortalLocation[tmp][3],
|
||||||
TEMPSUMMON_CORPSE_DESPAWN, 0);
|
TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
if (temp)
|
if (temp)
|
||||||
{
|
{
|
||||||
temp->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
temp->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public:
|
|||||||
|
|
||||||
void JustDied(Unit* /*killer*/) override
|
void JustDied(Unit* /*killer*/) override
|
||||||
{
|
{
|
||||||
me->SummonCreature(13716, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 600000);
|
me->SummonCreature(13716, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 10min);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ public:
|
|||||||
|
|
||||||
void JustDied(Unit* /*killer*/) override
|
void JustDied(Unit* /*killer*/) override
|
||||||
{
|
{
|
||||||
me->SummonCreature(12238, 28.067f, 61.875f, -123.405f, 4.67f, TEMPSUMMON_TIMED_DESPAWN, 600000);
|
me->SummonCreature(12238, 28.067f, 61.875f, -123.405f, 4.67f, TEMPSUMMON_TIMED_DESPAWN, 10min);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public:
|
|||||||
Talk(SAY_POINT, player);
|
Talk(SAY_POINT, player);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
me->SummonCreature(ENTRY_BOAR, 2137.66f, 1843.98f, 48.08f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(ENTRY_BOAR, 2137.66f, 1843.98f, 48.08f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
Talk(SAY_BLUELEAF, player);
|
Talk(SAY_BLUELEAF, player);
|
||||||
@@ -87,7 +87,7 @@ public:
|
|||||||
Talk(SAY_BAD, player);
|
Talk(SAY_BAD, player);
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
me->SummonCreature(ENTRY_BOAR, 2078.91f, 1704.54f, 56.77f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(ENTRY_BOAR, 2078.91f, 1704.54f, 56.77f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
break;
|
break;
|
||||||
case 25:
|
case 25:
|
||||||
Talk(SAY_THINK, player);
|
Talk(SAY_THINK, player);
|
||||||
@@ -99,7 +99,7 @@ public:
|
|||||||
Talk(SAY_FINALY, player);
|
Talk(SAY_FINALY, player);
|
||||||
break;
|
break;
|
||||||
case 43:
|
case 43:
|
||||||
me->SummonCreature(ENTRY_BOAR, 1956.43f, 1596.97f, 81.75f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(ENTRY_BOAR, 1956.43f, 1596.97f, 81.75f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
break;
|
break;
|
||||||
case 45:
|
case 45:
|
||||||
Talk(SAY_WIN, player);
|
Talk(SAY_WIN, player);
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
{
|
{
|
||||||
if (Creature* Summoned = me->SummonCreature(15621, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 90000))
|
if (Creature* Summoned = me->SummonCreature(15621, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 90s))
|
||||||
Summoned->AI()->AttackStart(target);
|
Summoned->AI()->AttackStart(target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,46 +155,46 @@ public:
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
DoTeleportPlayer(target, -8106.0142f, 1289.2900f, -74.419533f, 5.112f);
|
DoTeleportPlayer(target, -8106.0142f, 1289.2900f, -74.419533f, 5.112f);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()-3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()-3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
DoTeleportPlayer(target, -7990.135354f, 1155.1907f, -78.849319f, 2.608f);
|
DoTeleportPlayer(target, -7990.135354f, 1155.1907f, -78.849319f, 2.608f);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX() - 3, target->GetPositionY() - 3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX() - 3, target->GetPositionY() - 3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
DoTeleportPlayer(target, -8159.7753f, 1127.9064f, -76.868660f, 0.675f);
|
DoTeleportPlayer(target, -8159.7753f, 1127.9064f, -76.868660f, 0.675f);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX() - 3, target->GetPositionY() - 3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX() - 3, target->GetPositionY() - 3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
Hatchling = me->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15s);
|
||||||
if (Hatchling)
|
if (Hatchling)
|
||||||
Hatchling->AI()->AttackStart(target);
|
Hatchling->AI()->AttackStart(target);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ public:
|
|||||||
{
|
{
|
||||||
++eventProgress;
|
++eventProgress;
|
||||||
Talk(SAY_TEMPLE_OF_PROMISE);
|
Talk(SAY_TEMPLE_OF_PROMISE);
|
||||||
me->SummonCreature(NPC_DEVIATE_RAVAGER, -82.1763f, 227.874f, -93.3233f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
me->SummonCreature(NPC_DEVIATE_RAVAGER, -82.1763f, 227.874f, -93.3233f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5s);
|
||||||
me->SummonCreature(NPC_DEVIATE_RAVAGER, -72.9506f, 216.645f, -93.6756f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
me->SummonCreature(NPC_DEVIATE_RAVAGER, -72.9506f, 216.645f, -93.6756f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5s);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TYPE_NARALEX_PART2:
|
case TYPE_NARALEX_PART2:
|
||||||
@@ -180,9 +180,9 @@ public:
|
|||||||
DoCast(me, SPELL_SERPENTINE_CLEANSING);
|
DoCast(me, SPELL_SERPENTINE_CLEANSING);
|
||||||
//CAST_AI(EscortAI, me->AI())->SetCanDefend(false);
|
//CAST_AI(EscortAI, me->AI())->SetCanDefend(false);
|
||||||
eventTimer = 30000;
|
eventTimer = 30000;
|
||||||
me->SummonCreature(NPC_DEVIATE_VIPER, -61.5261f, 273.676f, -92.8442f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
me->SummonCreature(NPC_DEVIATE_VIPER, -61.5261f, 273.676f, -92.8442f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5s);
|
||||||
me->SummonCreature(NPC_DEVIATE_VIPER, -58.4658f, 280.799f, -92.8393f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
me->SummonCreature(NPC_DEVIATE_VIPER, -58.4658f, 280.799f, -92.8393f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5s);
|
||||||
me->SummonCreature(NPC_DEVIATE_VIPER, -50.002f, 278.578f, -92.8442f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
me->SummonCreature(NPC_DEVIATE_VIPER, -50.002f, 278.578f, -92.8442f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5s);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (eventProgress == 2)
|
if (eventProgress == 2)
|
||||||
@@ -219,9 +219,9 @@ public:
|
|||||||
eventTimer = 15000;
|
eventTimer = 15000;
|
||||||
if (Creature* naralex = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NARALEX)))
|
if (Creature* naralex = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NARALEX)))
|
||||||
naralex->AI()->Talk(EMOTE_TROUBLED_SLEEP);
|
naralex->AI()->Talk(EMOTE_TROUBLED_SLEEP);
|
||||||
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 135.943f, 199.701f, -103.529f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 135.943f, 199.701f, -103.529f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 151.08f, 221.13f, -103.609f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 151.08f, 221.13f, -103.609f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 128.007f, 227.428f, -97.421f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 128.007f, 227.428f, -97.421f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (eventProgress == 4)
|
if (eventProgress == 4)
|
||||||
@@ -230,13 +230,13 @@ public:
|
|||||||
eventTimer = 30000;
|
eventTimer = 30000;
|
||||||
if (Creature* naralex = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NARALEX)))
|
if (Creature* naralex = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NARALEX)))
|
||||||
naralex->AI()->Talk(EMOTE_WRITHE_IN_AGONY);
|
naralex->AI()->Talk(EMOTE_WRITHE_IN_AGONY);
|
||||||
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 133.413f, 207.188f, -102.469f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 133.413f, 207.188f, -102.469f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 142.857f, 218.645f, -102.905f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 142.857f, 218.645f, -102.905f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 105.102f, 227.211f, -102.752f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 105.102f, 227.211f, -102.752f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 153.372f, 235.149f, -102.826f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 153.372f, 235.149f, -102.826f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 149.524f, 251.113f, -102.558f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 149.524f, 251.113f, -102.558f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 136.208f, 266.466f, -102.977f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 136.208f, 266.466f, -102.977f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 126.167f, 274.759f, -102.962f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 126.167f, 274.759f, -102.962f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15s);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (eventProgress == 5)
|
if (eventProgress == 5)
|
||||||
@@ -244,7 +244,7 @@ public:
|
|||||||
++eventProgress;
|
++eventProgress;
|
||||||
if (Creature* naralex = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NARALEX)))
|
if (Creature* naralex = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_NARALEX)))
|
||||||
naralex->AI()->Talk(EMOTE_HORRENDOUS_VISION);
|
naralex->AI()->Talk(EMOTE_HORRENDOUS_VISION);
|
||||||
if (Creature* mutanus = me->SummonCreature(NPC_MUTANUS_THE_DEVOURER, 150.872f, 262.905f, -103.503f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000))
|
if (Creature* mutanus = me->SummonCreature(NPC_MUTANUS_THE_DEVOURER, 150.872f, 262.905f, -103.503f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5min))
|
||||||
Talk(SAY_MUTANUS_THE_DEVOURER, mutanus);
|
Talk(SAY_MUTANUS_THE_DEVOURER, mutanus);
|
||||||
|
|
||||||
instance->SetData(TYPE_MUTANUS_THE_DEVOURER, IN_PROGRESS);
|
instance->SetData(TYPE_MUTANUS_THE_DEVOURER, IN_PROGRESS);
|
||||||
|
|||||||
@@ -416,10 +416,10 @@ public:
|
|||||||
{
|
{
|
||||||
uint32 randomchance = urand(0, 100);
|
uint32 randomchance = urand(0, 100);
|
||||||
if (randomchance < CHANCE_ZOMBIE)
|
if (randomchance < CHANCE_ZOMBIE)
|
||||||
me->SummonCreature(NPC_ZOMBIE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000);
|
me->SummonCreature(NPC_ZOMBIE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30s);
|
||||||
else
|
else
|
||||||
if ((randomchance - CHANCE_ZOMBIE) < CHANCE_DEAD_HERO)
|
if ((randomchance - CHANCE_ZOMBIE) < CHANCE_DEAD_HERO)
|
||||||
me->SummonCreature(NPC_DEAD_HERO, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000);
|
me->SummonCreature(NPC_DEAD_HERO, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30s);
|
||||||
}
|
}
|
||||||
me->AddUse();
|
me->AddUse();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ public:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
me->SummonCreature(spawnCreatureID, 0.0f, 0.0f, 0.0f, me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
|
me->SummonCreature(spawnCreatureID, 0.0f, 0.0f, 0.0f, me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1min);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -262,18 +262,22 @@ Position const SpawnLocation[] =
|
|||||||
|
|
||||||
struct WaveData
|
struct WaveData
|
||||||
{
|
{
|
||||||
uint8 SpawnCount, UsedSpawnPoint;
|
uint8 SpawnCount;
|
||||||
uint32 CreatureId, SpawnTimer, YellTimer, DespTimer;
|
uint8 UsedSpawnPoint;
|
||||||
|
uint32 CreatureId;
|
||||||
|
uint32 SpawnTimer;
|
||||||
|
uint32 YellTimer;
|
||||||
|
Milliseconds DespTimer;
|
||||||
int32 WaveTextId;
|
int32 WaveTextId;
|
||||||
};
|
};
|
||||||
|
|
||||||
static WaveData WavesInfo[5] =
|
static WaveData WavesInfo[5] =
|
||||||
{
|
{
|
||||||
{30, 0, 15423, 0, 0, 24000, 0}, // Kaldorei Soldier
|
{30, 0, 15423, 0, 0, 24s, 0}, // Kaldorei Soldier
|
||||||
{ 3, 35, 15424, 0, 0, 24000, 0}, // Anubisath Conqueror
|
{ 3, 35, 15424, 0, 0, 24s, 0}, // Anubisath Conqueror
|
||||||
{12, 38, 15414, 0, 0, 24000, 0}, // Qiraji Wasps
|
{12, 38, 15414, 0, 0, 24s, 0}, // Qiraji Wasps
|
||||||
{ 6, 50, 15422, 0, 0, 24000, 0}, // Qiraji Tanks
|
{ 6, 50, 15422, 0, 0, 24s, 0}, // Qiraji Tanks
|
||||||
{15, 15, 15423, 0, 0, 24000, 0} // Kaldorei Soldier
|
{15, 15, 15423, 0, 0, 24s, 0} // Kaldorei Soldier
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -838,7 +842,7 @@ public:
|
|||||||
|
|
||||||
for (uint8 i = locIndex; i <= count; ++i)
|
for (uint8 i = locIndex; i <= count; ++i)
|
||||||
{
|
{
|
||||||
uint32 desptimer = WavesInfo[WaveCount].DespTimer;
|
Milliseconds desptimer = WavesInfo[WaveCount].DespTimer;
|
||||||
|
|
||||||
if (Creature* spawn = me->SummonCreature(WavesInfo[WaveCount].CreatureId, SpawnLocation[i], TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, desptimer))
|
if (Creature* spawn = me->SummonCreature(WavesInfo[WaveCount].CreatureId, SpawnLocation[i], TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, desptimer))
|
||||||
{
|
{
|
||||||
@@ -973,11 +977,11 @@ public:
|
|||||||
{
|
{
|
||||||
if (Creature* trigger = me->FindNearestCreature(ANACHRONOS_QUEST_TRIGGER_INVISIBLE, 100))
|
if (Creature* trigger = me->FindNearestCreature(ANACHRONOS_QUEST_TRIGGER_INVISIBLE, 100))
|
||||||
{
|
{
|
||||||
Unit* Merithra = trigger->SummonCreature(NPC_MERITHRA_OF_THE_DREAM, -8034.535f, 1535.14f, 2.61f, 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
|
Unit* Merithra = trigger->SummonCreature(NPC_MERITHRA_OF_THE_DREAM, -8034.535f, 1535.14f, 2.61f, 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220s);
|
||||||
Unit* Caelestrasz = trigger->SummonCreature(NPC_CAELESTRASZ, -8032.767f, 1533.148f, 2.61f, 1.5f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
|
Unit* Caelestrasz = trigger->SummonCreature(NPC_CAELESTRASZ, -8032.767f, 1533.148f, 2.61f, 1.5f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220s);
|
||||||
Unit* Arygos = trigger->SummonCreature(NPC_ARYGOS, -8034.52f, 1537.843f, 2.61f, 5.7f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
|
Unit* Arygos = trigger->SummonCreature(NPC_ARYGOS, -8034.52f, 1537.843f, 2.61f, 5.7f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220s);
|
||||||
/* Unit* Fandral = */ trigger->SummonCreature(NPC_FANDRAL_STAGHELM, -8028.462f, 1535.843f, 2.61f, 3.141592f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
|
/* Unit* Fandral = */ trigger->SummonCreature(NPC_FANDRAL_STAGHELM, -8028.462f, 1535.843f, 2.61f, 3.141592f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220s);
|
||||||
Creature* Anachronos = trigger->SummonCreature(NPC_ANACHRONOS, -8028.75f, 1538.795f, 2.61f, 4, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
|
Creature* Anachronos = trigger->SummonCreature(NPC_ANACHRONOS, -8028.75f, 1538.795f, 2.61f, 4, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220s);
|
||||||
|
|
||||||
if (Merithra)
|
if (Merithra)
|
||||||
{
|
{
|
||||||
@@ -1211,7 +1215,7 @@ class go_wind_stone : public GameObjectScript
|
|||||||
void SummonNPC(GameObject* go, Player* player, uint32 npc, uint32 spell)
|
void SummonNPC(GameObject* go, Player* player, uint32 npc, uint32 spell)
|
||||||
{
|
{
|
||||||
go->CastSpell(player, spell);
|
go->CastSpell(player, spell);
|
||||||
TempSummon* summons = go->SummonCreature(npc, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), player->GetOrientation() - float(M_PI), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10 * 60 * 1000);
|
TempSummon* summons = go->SummonCreature(npc, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), player->GetOrientation() - float(M_PI), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
summons->CastSpell(summons, SPELL_SPAWN_IN, false);
|
summons->CastSpell(summons, SPELL_SPAWN_IN, false);
|
||||||
switch (summons->GetEntry())
|
switch (summons->GetEntry())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -204,15 +204,15 @@ public:
|
|||||||
switch (waypointId)
|
switch (waypointId)
|
||||||
{
|
{
|
||||||
case 23:
|
case 23:
|
||||||
me->SummonCreature(SPAWN_FIRST, -8350.96f, -4445.79f, 10.10f, 6.20f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(SPAWN_FIRST, -8350.96f, -4445.79f, 10.10f, 6.20f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(SPAWN_FIRST, -8355.96f, -4447.79f, 10.10f, 6.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(SPAWN_FIRST, -8355.96f, -4447.79f, 10.10f, 6.27f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(SPAWN_FIRST, -8353.96f, -4442.79f, 10.10f, 6.08f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(SPAWN_FIRST, -8353.96f, -4442.79f, 10.10f, 6.08f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
Talk(SAY_OOX_AMBUSH);
|
Talk(SAY_OOX_AMBUSH);
|
||||||
break;
|
break;
|
||||||
case 56:
|
case 56:
|
||||||
me->SummonCreature(SPAWN_SECOND_1, -7510.07f, -4795.50f, 9.35f, 6.06f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(SPAWN_SECOND_1, -7510.07f, -4795.50f, 9.35f, 6.06f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(SPAWN_SECOND_2, -7515.07f, -4797.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(SPAWN_SECOND_2, -7515.07f, -4797.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(SPAWN_SECOND_2, -7518.07f, -4792.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(SPAWN_SECOND_2, -7518.07f, -4792.50f, 9.35f, 6.22f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
Talk(SAY_OOX_AMBUSH);
|
Talk(SAY_OOX_AMBUSH);
|
||||||
if (Creature* scoff = me->FindNearestCreature(SPAWN_SECOND_2, 30))
|
if (Creature* scoff = me->FindNearestCreature(SPAWN_SECOND_2, 30))
|
||||||
scoff->AI()->Talk(SAY_OOX17_AMBUSH_REPLY);
|
scoff->AI()->Talk(SAY_OOX17_AMBUSH_REPLY);
|
||||||
|
|||||||
@@ -425,7 +425,7 @@ public:
|
|||||||
}
|
}
|
||||||
else if (Wave >= 6 && !EventBigWill)
|
else if (Wave >= 6 && !EventBigWill)
|
||||||
{
|
{
|
||||||
if (Creature* creature = me->SummonCreature(NPC_BIG_WILL, -1722, -4341, 6.12f, 6.26f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 480000))
|
if (Creature* creature = me->SummonCreature(NPC_BIG_WILL, -1722, -4341, 6.12f, 6.26f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 8min))
|
||||||
{
|
{
|
||||||
BigWill = creature->GetGUID();
|
BigWill = creature->GetGUID();
|
||||||
//creature->GetMotionMaster()->MovePoint(0, -1693, -4343, 4.32f);
|
//creature->GetMotionMaster()->MovePoint(0, -1693, -4343, 4.32f);
|
||||||
@@ -511,10 +511,10 @@ public:
|
|||||||
SetRun(false);
|
SetRun(false);
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
if (Creature* temp = me->SummonCreature(NPC_MERCENARY, 1128.489f, -3037.611f, 92.701f, 1.472f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000))
|
if (Creature* temp = me->SummonCreature(NPC_MERCENARY, 1128.489f, -3037.611f, 92.701f, 1.472f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 2min))
|
||||||
{
|
{
|
||||||
temp->AI()->Talk(SAY_MERCENARY);
|
temp->AI()->Talk(SAY_MERCENARY);
|
||||||
me->SummonCreature(NPC_MERCENARY, 1160.172f, -2980.168f, 97.313f, 3.690f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000);
|
me->SummonCreature(NPC_MERCENARY, 1160.172f, -2980.168f, 97.313f, 3.690f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 2min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 24:
|
case 24:
|
||||||
@@ -584,7 +584,7 @@ public:
|
|||||||
{
|
{
|
||||||
player->GroupEventHappens(QUEST_ESCAPE, me);
|
player->GroupEventHappens(QUEST_ESCAPE, me);
|
||||||
me->DespawnOrUnsummon(5min);
|
me->DespawnOrUnsummon(5min);
|
||||||
me->SummonCreature(NPC_PILOT_WIZZ, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 180000);
|
me->SummonCreature(NPC_PILOT_WIZZ, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 3min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ public:
|
|||||||
if (!player || !player->IsAlive())
|
if (!player || !player->IsAlive())
|
||||||
continue;
|
continue;
|
||||||
// Summon clone
|
// Summon clone
|
||||||
if (Unit* summon = me->SummonCreature(NPC_TWISTED_VISAGE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Unit* summon = me->SummonCreature(NPC_TWISTED_VISAGE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
{
|
{
|
||||||
// clone
|
// clone
|
||||||
player->CastSpell(summon, SPELL_CLONE_PLAYER, true);
|
player->CastSpell(summon, SPELL_CLONE_PLAYER, true);
|
||||||
|
|||||||
@@ -812,9 +812,9 @@ public:
|
|||||||
me->RemoveAllAuras();
|
me->RemoveAllAuras();
|
||||||
|
|
||||||
if (instance->GetBossState(DATA_SARTHARION) != IN_PROGRESS)
|
if (instance->GetBossState(DATA_SARTHARION) != IN_PROGRESS)
|
||||||
me->SummonCreature(NPC_TWILIGHT_WHELP, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000);
|
me->SummonCreature(NPC_TWILIGHT_WHELP, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 1min);
|
||||||
else
|
else
|
||||||
me->SummonCreature(NPC_SARTHARION_TWILIGHT_WHELP, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000);
|
me->SummonCreature(NPC_SARTHARION_TWILIGHT_WHELP, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 1min);
|
||||||
me->KillSelf();
|
me->KillSelf();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -597,7 +597,7 @@ struct npc_tirion_toc : public ScriptedAI
|
|||||||
case EVENT_LICH_KING_SAY_CHALLENGE:
|
case EVENT_LICH_KING_SAY_CHALLENGE:
|
||||||
if (Creature* lkVoice = _instance->GetCreature(DATA_LICH_KING_VOICE))
|
if (Creature* lkVoice = _instance->GetCreature(DATA_LICH_KING_VOICE))
|
||||||
lkVoice->AI()->Talk(LK_VOICE_SAY_CHALLENGE);
|
lkVoice->AI()->Talk(LK_VOICE_SAY_CHALLENGE);
|
||||||
if (Creature* arthasPortal = me->SummonCreature(NPC_ARTHAS_PORTAL, ArthasPortalSpawnPosition, TEMPSUMMON_TIMED_DESPAWN, Seconds(34)))
|
if (Creature* arthasPortal = me->SummonCreature(NPC_ARTHAS_PORTAL, ArthasPortalSpawnPosition, TEMPSUMMON_TIMED_DESPAWN, 34s))
|
||||||
arthasPortal->m_Events.AddEventAtOffset(new ArthasPortalEvent(arthasPortal), 3s);
|
arthasPortal->m_Events.AddEventAtOffset(new ArthasPortalEvent(arthasPortal), 3s);
|
||||||
_events.ScheduleEvent(EVENT_SUMMON_LICH_KING, 5s);
|
_events.ScheduleEvent(EVENT_SUMMON_LICH_KING, 5s);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ class boss_king_dred : public CreatureScript
|
|||||||
float x, y, z;
|
float x, y, z;
|
||||||
|
|
||||||
me->GetClosePoint(x, y, z, me->GetCombatReach() / 3, 10.0f);
|
me->GetClosePoint(x, y, z, me->GetCombatReach() / 3, 10.0f);
|
||||||
me->SummonCreature(RAND(NPC_DRAKKARI_GUTRIPPER, NPC_DRAKKARI_SCYTHECLAW), x, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 1000);
|
me->SummonCreature(RAND(NPC_DRAKKARI_GUTRIPPER, NPC_DRAKKARI_SCYTHECLAW), x, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 1s);
|
||||||
events.ScheduleEvent(EVENT_RAPTOR_CALL, 20s, 25s);
|
events.ScheduleEvent(EVENT_RAPTOR_CALL, 20s, 25s);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -771,7 +771,7 @@ class spell_rotface_unstable_ooze_explosion_init : public SpellScriptLoader
|
|||||||
|
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
GetHitUnit()->GetPosition(x, y, z);
|
GetHitUnit()->GetPosition(x, y, z);
|
||||||
Creature* dummy = GetCaster()->SummonCreature(NPC_UNSTABLE_EXPLOSION_STALKER, x, y, z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 60000);
|
Creature* dummy = GetCaster()->SummonCreature(NPC_UNSTABLE_EXPLOSION_STALKER, x, y, z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1min);
|
||||||
GetCaster()->CastSpell(dummy, SPELL_UNSTABLE_OOZE_EXPLOSION_TRIGGER, true);
|
GetCaster()->CastSpell(dummy, SPELL_UNSTABLE_OOZE_EXPLOSION_TRIGGER, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -603,7 +603,7 @@ class spell_sapphiron_summon_blizzard : public SpellScriptLoader
|
|||||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||||
{
|
{
|
||||||
if (Unit* target = GetHitUnit())
|
if (Unit* target = GetHitUnit())
|
||||||
if (Creature* blizzard = GetCaster()->SummonCreature(NPC_BLIZZARD, *target, TEMPSUMMON_TIMED_DESPAWN, urandms(25, 30)))
|
if (Creature* blizzard = GetCaster()->SummonCreature(NPC_BLIZZARD, *target, TEMPSUMMON_TIMED_DESPAWN, randtime(25s, 30s)))
|
||||||
{
|
{
|
||||||
blizzard->CastSpell(nullptr, blizzard->m_spells[0], TRIGGERED_NONE);
|
blizzard->CastSpell(nullptr, blizzard->m_spells[0], TRIGGERED_NONE);
|
||||||
if (Creature* creatureCaster = GetCaster()->ToCreature())
|
if (Creature* creatureCaster = GetCaster()->ToCreature())
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ class npc_chaotic_rift : public CreatureScript
|
|||||||
|
|
||||||
if (uiSummonCrazedManaWraithTimer <= diff)
|
if (uiSummonCrazedManaWraithTimer <= diff)
|
||||||
{
|
{
|
||||||
if (Creature* Wraith = me->SummonCreature(NPC_CRAZED_MANA_WRAITH, me->GetPositionX() + 1, me->GetPositionY() + 1, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000))
|
if (Creature* Wraith = me->SummonCreature(NPC_CRAZED_MANA_WRAITH, me->GetPositionX() + 1, me->GetPositionY() + 1, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s))
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
Wraith->AI()->AttackStart(target);
|
Wraith->AI()->AttackStart(target);
|
||||||
Creature* Anomalus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ANOMALUS));
|
Creature* Anomalus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ANOMALUS));
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ public:
|
|||||||
|
|
||||||
ObjectGuid SplitPersonality(uint32 entry)
|
ObjectGuid SplitPersonality(uint32 entry)
|
||||||
{
|
{
|
||||||
if (Creature* Summoned = me->SummonCreature(entry, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1*IN_MILLISECONDS))
|
if (Creature* Summoned = me->SummonCreature(entry, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s))
|
||||||
{
|
{
|
||||||
switch (entry)
|
switch (entry)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
||||||
{
|
{
|
||||||
if (Creature* summon = me->SummonCreature(NPC_DARK_MATTER_TARGET, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000))
|
if (Creature* summon = me->SummonCreature(NPC_DARK_MATTER_TARGET, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1s))
|
||||||
{
|
{
|
||||||
summon->SetDisplayId(11686);
|
summon->SetDisplayId(11686);
|
||||||
summon->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
summon->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||||
@@ -247,7 +247,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
||||||
{
|
{
|
||||||
if (Creature* summon = me->SummonCreature(NPC_SEARING_GAZE_TARGET, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000))
|
if (Creature* summon = me->SummonCreature(NPC_SEARING_GAZE_TARGET, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1s))
|
||||||
{
|
{
|
||||||
summon->SetDisplayId(11686);
|
summon->SetDisplayId(11686);
|
||||||
summon->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
summon->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ class boss_ignis : public CreatureScript
|
|||||||
case EVENT_SCORCH:
|
case EVENT_SCORCH:
|
||||||
Talk(SAY_SCORCH);
|
Talk(SAY_SCORCH);
|
||||||
if (Unit* target = me->GetVictim())
|
if (Unit* target = me->GetVictim())
|
||||||
me->SummonCreature(NPC_GROUND_SCORCH, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 45000);
|
me->SummonCreature(NPC_GROUND_SCORCH, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 45s);
|
||||||
DoCast(SPELL_SCORCH);
|
DoCast(SPELL_SCORCH);
|
||||||
events.ScheduleEvent(EVENT_SCORCH, 25s);
|
events.ScheduleEvent(EVENT_SCORCH, 25s);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -543,7 +543,7 @@ struct boss_razorscale : public BossAI
|
|||||||
float x = frand(540.0f, 640.0f); // Safe range is between 500 and 650
|
float x = frand(540.0f, 640.0f); // Safe range is between 500 and 650
|
||||||
float y = frand(-230.0f, -195.0f); // Safe range is between -235 and -145
|
float y = frand(-230.0f, -195.0f); // Safe range is between -235 and -145
|
||||||
float z = 391.517f; // Ground level
|
float z = 391.517f; // Ground level
|
||||||
me->SummonCreature(NPC_RAZORSCALE_SPAWNER, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 15000);
|
me->SummonCreature(NPC_RAZORSCALE_SPAWNER, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 15s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
|
void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ public:
|
|||||||
if (pointId == POINT_BOAT) // Check might not be needed.
|
if (pointId == POINT_BOAT) // Check might not be needed.
|
||||||
{
|
{
|
||||||
Talk(ActiveBoat[ActiveOrder[ActivedNumber]].say);
|
Talk(ActiveBoat[ActiveOrder[ActivedNumber]].say);
|
||||||
if (Creature* ancestor = me->SummonCreature(ActiveBoat[ActiveOrder[ActivedNumber]].npc, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnX, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnY, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnZ, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnO, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* ancestor = me->SummonCreature(ActiveBoat[ActiveOrder[ActivedNumber]].npc, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnX, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnY, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnZ, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnO, TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
{
|
{
|
||||||
DoCast(ancestor, SPELL_CHANNEL_YMIRON_TO_SPIRIT);
|
DoCast(ancestor, SPELL_CHANNEL_YMIRON_TO_SPIRIT);
|
||||||
ancestor->CastSpell(me, SPELL_CHANNEL_SPIRIT_TO_YMIRON, true);
|
ancestor->CastSpell(me, SPELL_CHANNEL_SPIRIT_TO_YMIRON, true);
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ class boss_emalon : public CreatureScript
|
|||||||
_Reset();
|
_Reset();
|
||||||
|
|
||||||
for (uint8 i = 0; i < MAX_TEMPEST_MINIONS; ++i)
|
for (uint8 i = 0; i < MAX_TEMPEST_MINIONS; ++i)
|
||||||
me->SummonCreature(NPC_TEMPEST_MINION, TempestMinions[i], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
me->SummonCreature(NPC_TEMPEST_MINION, TempestMinions[i], TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature* summoned) override
|
void JustSummoned(Creature* summoned) override
|
||||||
@@ -210,7 +210,7 @@ class npc_tempest_minion : public CreatureScript
|
|||||||
{
|
{
|
||||||
if (emalon->IsAlive())
|
if (emalon->IsAlive())
|
||||||
{
|
{
|
||||||
emalon->SummonCreature(NPC_TEMPEST_MINION, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
emalon->SummonCreature(NPC_TEMPEST_MINION, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
Talk(EMOTE_MINION_RESPAWN);
|
Talk(EMOTE_MINION_RESPAWN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ class spell_q11865_place_fake_fur : public SpellScript
|
|||||||
go->GetClosePoint(x, y, z, go->GetCombatReach() / 3, 7.0f);
|
go->GetClosePoint(x, y, z, go->GetCombatReach() / 3, 7.0f);
|
||||||
|
|
||||||
go->SummonGameObject(GO_HIGH_QUALITY_FUR, go->GetPosition(), QuaternionData::fromEulerAnglesZYX(go->GetOrientation(), 0.0f, 0.0f), 20);
|
go->SummonGameObject(GO_HIGH_QUALITY_FUR, go->GetPosition(), QuaternionData::fromEulerAnglesZYX(go->GetOrientation(), 0.0f, 0.0f), 20);
|
||||||
if (TempSummon* summon = player->SummonCreature(NPC_NESINGWARY_TRAPPER, x, y, z, go->GetOrientation(), TEMPSUMMON_DEAD_DESPAWN, 1000))
|
if (TempSummon* summon = player->SummonCreature(NPC_NESINGWARY_TRAPPER, x, y, z, go->GetOrientation(), TEMPSUMMON_DEAD_DESPAWN, 1s))
|
||||||
{
|
{
|
||||||
summon->SetVisible(false);
|
summon->SetVisible(false);
|
||||||
summon->SetReactState(REACT_PASSIVE);
|
summon->SetReactState(REACT_PASSIVE);
|
||||||
@@ -647,7 +647,7 @@ public:
|
|||||||
{
|
{
|
||||||
case 3:
|
case 3:
|
||||||
SetEscortPaused(true);
|
SetEscortPaused(true);
|
||||||
if (Creature* arthas = me->SummonCreature(NPC_IMAGE_LICH_KING, 3730.313f, 3518.689f, 473.324f, 1.562f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
|
if (Creature* arthas = me->SummonCreature(NPC_IMAGE_LICH_KING, 3730.313f, 3518.689f, 473.324f, 1.562f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2min))
|
||||||
{
|
{
|
||||||
arthasGUID = arthas->GetGUID();
|
arthasGUID = arthas->GetGUID();
|
||||||
arthas->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
arthas->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||||
@@ -655,7 +655,7 @@ public:
|
|||||||
arthas->SetWalk(true);
|
arthas->SetWalk(true);
|
||||||
arthas->GetMotionMaster()->MovePoint(0, 3737.374756f, 3564.841309f, 477.433014f);
|
arthas->GetMotionMaster()->MovePoint(0, 3737.374756f, 3564.841309f, 477.433014f);
|
||||||
}
|
}
|
||||||
if (Creature* talbot = me->SummonCreature(NPC_COUNSELOR_TALBOT, 3747.23f, 3614.936f, 473.321f, 4.462012f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
|
if (Creature* talbot = me->SummonCreature(NPC_COUNSELOR_TALBOT, 3747.23f, 3614.936f, 473.321f, 4.462012f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2min))
|
||||||
{
|
{
|
||||||
talbotGUID = talbot->GetGUID();
|
talbotGUID = talbot->GetGUID();
|
||||||
talbot->SetWalk(true);
|
talbot->SetWalk(true);
|
||||||
@@ -736,13 +736,13 @@ public:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
if (Creature* arlos = me->SummonCreature(NPC_GENERAL_ARLOS, 3745.527100f, 3615.655029f, 473.321533f, 4.447805f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
|
if (Creature* arlos = me->SummonCreature(NPC_GENERAL_ARLOS, 3745.527100f, 3615.655029f, 473.321533f, 4.447805f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2min))
|
||||||
{
|
{
|
||||||
arlosGUID = arlos->GetGUID();
|
arlosGUID = arlos->GetGUID();
|
||||||
arlos->SetWalk(true);
|
arlos->SetWalk(true);
|
||||||
arlos->GetMotionMaster()->MovePoint(0, 3735.570068f, 3572.419922f, 477.441010f);
|
arlos->GetMotionMaster()->MovePoint(0, 3735.570068f, 3572.419922f, 477.441010f);
|
||||||
}
|
}
|
||||||
if (Creature* leryssa = me->SummonCreature(NPC_LERYSSA, 3749.654541f, 3614.959717f, 473.323486f, 4.524959f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
|
if (Creature* leryssa = me->SummonCreature(NPC_LERYSSA, 3749.654541f, 3614.959717f, 473.323486f, 4.524959f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2min))
|
||||||
{
|
{
|
||||||
leryssaGUID = leryssa->GetGUID();
|
leryssaGUID = leryssa->GetGUID();
|
||||||
leryssa->SetWalk(false);
|
leryssa->SetWalk(false);
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public:
|
|||||||
if (ObjectAccessor::GetCreature(*me, _mrfloppyGUID))
|
if (ObjectAccessor::GetCreature(*me, _mrfloppyGUID))
|
||||||
{
|
{
|
||||||
Talk(SAY_WORGHAGGRO1);
|
Talk(SAY_WORGHAGGRO1);
|
||||||
me->SummonCreature(NPC_HUNGRY_WORG, me->GetPositionX()+5, me->GetPositionY()+2, me->GetPositionZ()+1, 3.229f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
|
me->SummonCreature(NPC_HUNGRY_WORG, me->GetPositionX()+5, me->GetPositionY()+2, me->GetPositionZ()+1, 3.229f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
@@ -101,7 +101,7 @@ public:
|
|||||||
if (Creature* Mrfloppy = ObjectAccessor::GetCreature(*me, _mrfloppyGUID))
|
if (Creature* Mrfloppy = ObjectAccessor::GetCreature(*me, _mrfloppyGUID))
|
||||||
Mrfloppy->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
|
Mrfloppy->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
|
||||||
Talk(SAY_WORGRAGGRO3);
|
Talk(SAY_WORGRAGGRO3);
|
||||||
if (Creature* RWORG = me->SummonCreature(NPC_RAVENOUS_WORG, me->GetPositionX()+10, me->GetPositionY()+8, me->GetPositionZ()+2, 3.229f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000))
|
if (Creature* RWORG = me->SummonCreature(NPC_RAVENOUS_WORG, me->GetPositionX()+10, me->GetPositionY()+8, me->GetPositionZ()+2, 3.229f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 2min))
|
||||||
{
|
{
|
||||||
RWORG->SetFaction(FACTION_FRIENDLY);
|
RWORG->SetFaction(FACTION_FRIENDLY);
|
||||||
_RavenousworgGUID = RWORG->GetGUID();
|
_RavenousworgGUID = RWORG->GetGUID();
|
||||||
|
|||||||
@@ -514,7 +514,7 @@ public:
|
|||||||
if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID))
|
if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID))
|
||||||
Talk(SAY_BRANN_1, player);
|
Talk(SAY_BRANN_1, player);
|
||||||
me->RemoveUnitFlag(UnitFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER));
|
me->RemoveUnitFlag(UnitFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER));
|
||||||
if (Creature* voice = me->SummonCreature(NPC_A_DISTANT_VOICE, 7863.43f, -1396.585f, 1538.076f, 2.949606f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 49000))
|
if (Creature* voice = me->SummonCreature(NPC_A_DISTANT_VOICE, 7863.43f, -1396.585f, 1538.076f, 2.949606f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 49s))
|
||||||
voiceGUID = voice->GetGUID();
|
voiceGUID = voice->GetGUID();
|
||||||
events.ScheduleEvent(EVENT_SCRIPT_2, 4s);
|
events.ScheduleEvent(EVENT_SCRIPT_2, 4s);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public:
|
|||||||
float x, y, z;
|
float x, y, z;
|
||||||
me->GetClosePoint(x, y, z, me->GetCombatReach() / 3, 0.1f);
|
me->GetClosePoint(x, y, z, me->GetCombatReach() / 3, 0.1f);
|
||||||
|
|
||||||
if (Creature* summon = me->SummonCreature(NPC_RAGECLAW, x, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 1000))
|
if (Creature* summon = me->SummonCreature(NPC_RAGECLAW, x, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 1s))
|
||||||
{
|
{
|
||||||
_rageclawGUID = summon->GetGUID();
|
_rageclawGUID = summon->GetGUID();
|
||||||
LockRageclaw(summon);
|
LockRageclaw(summon);
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ public:
|
|||||||
{
|
{
|
||||||
Talk(SAY_DEATH);
|
Talk(SAY_DEATH);
|
||||||
//When Exarch Maladar is defeated D'ore appear.
|
//When Exarch Maladar is defeated D'ore appear.
|
||||||
me->SummonCreature(19412, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 600000);
|
me->SummonCreature(19412, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 10min);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
@@ -285,7 +285,7 @@ public:
|
|||||||
soulclass = target->GetClass();
|
soulclass = target->GetClass();
|
||||||
|
|
||||||
DoCast(target, SPELL_STOLEN_SOUL);
|
DoCast(target, SPELL_STOLEN_SOUL);
|
||||||
me->SummonCreature(ENTRY_STOLEN_SOUL, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
me->SummonCreature(ENTRY_STOLEN_SOUL, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10s);
|
||||||
|
|
||||||
StolenSoul_Timer = 20000 + rand32() % 10000;
|
StolenSoul_Timer = 20000 + rand32() % 10000;
|
||||||
} else StolenSoul_Timer = 1000;
|
} else StolenSoul_Timer = 1000;
|
||||||
|
|||||||
+1
-1
@@ -155,7 +155,7 @@ public:
|
|||||||
if (target && target->GetTypeId() == TYPEID_PLAYER && target->IsAlive())
|
if (target && target->GetTypeId() == TYPEID_PLAYER && target->IsAlive())
|
||||||
{
|
{
|
||||||
FocusedTargetGUID = target->GetGUID();
|
FocusedTargetGUID = target->GetGUID();
|
||||||
me->SummonCreature(NPC_FOCUS_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 5500);
|
me->SummonCreature(NPC_FOCUS_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 5500ms);
|
||||||
Talk(EMOTE_FOCUSED, target);
|
Talk(EMOTE_FOCUSED, target);
|
||||||
}
|
}
|
||||||
FocusFire_Timer = 15000 + (rand32() % 5000);
|
FocusFire_Timer = 15000 + (rand32() % 5000);
|
||||||
|
|||||||
@@ -91,9 +91,9 @@ class boss_nexusprince_shaffar : public CreatureScript
|
|||||||
float posX, posY, posZ, angle;
|
float posX, posY, posZ, angle;
|
||||||
me->GetHomePosition(posX, posY, posZ, angle);
|
me->GetHomePosition(posX, posY, posZ, angle);
|
||||||
|
|
||||||
me->SummonCreature(NPC_BEACON, posX - dist, posY - dist, posZ, angle, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 7200000);
|
me->SummonCreature(NPC_BEACON, posX - dist, posY - dist, posZ, angle, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2h);
|
||||||
me->SummonCreature(NPC_BEACON, posX - dist, posY + dist, posZ, angle, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 7200000);
|
me->SummonCreature(NPC_BEACON, posX - dist, posY + dist, posZ, angle, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2h);
|
||||||
me->SummonCreature(NPC_BEACON, posX + dist, posY, posZ, angle, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 7200000);
|
me->SummonCreature(NPC_BEACON, posX + dist, posY, posZ, angle, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2h);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoveInLineOfSight(Unit* who) override
|
void MoveInLineOfSight(Unit* who) override
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ class boss_grandmaster_vorpil : public CreatureScript
|
|||||||
void SummonPortals()
|
void SummonPortals()
|
||||||
{
|
{
|
||||||
for (uint8 i = 0; i < 5; ++i)
|
for (uint8 i = 0; i < 5; ++i)
|
||||||
if (Creature* portal = me->SummonCreature(NPC_VOID_PORTAL, VoidPortalCoords[i][0], VoidPortalCoords[i][1], VoidPortalCoords[i][2], 0, TEMPSUMMON_CORPSE_DESPAWN, 3000000))
|
if (Creature* portal = me->SummonCreature(NPC_VOID_PORTAL, VoidPortalCoords[i][0], VoidPortalCoords[i][1], VoidPortalCoords[i][2], 0, TEMPSUMMON_CORPSE_DESPAWN, 50min))
|
||||||
portal->CastSpell(portal, SPELL_VOID_PORTAL_VISUAL, true);
|
portal->CastSpell(portal, SPELL_VOID_PORTAL_VISUAL, true);
|
||||||
|
|
||||||
events.ScheduleEvent(EVENT_SUMMON_TRAVELER, 5s);
|
events.ScheduleEvent(EVENT_SUMMON_TRAVELER, 5s);
|
||||||
@@ -117,7 +117,7 @@ class boss_grandmaster_vorpil : public CreatureScript
|
|||||||
void spawnVoidTraveler()
|
void spawnVoidTraveler()
|
||||||
{
|
{
|
||||||
uint8 pos = urand(0, 4);
|
uint8 pos = urand(0, 4);
|
||||||
me->SummonCreature(NPC_VOID_TRAVELER, VoidPortalCoords[pos][0], VoidPortalCoords[pos][1], VoidPortalCoords[pos][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000);
|
me->SummonCreature(NPC_VOID_TRAVELER, VoidPortalCoords[pos][0], VoidPortalCoords[pos][1], VoidPortalCoords[pos][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5s);
|
||||||
if (!_helpYell)
|
if (!_helpYell)
|
||||||
{
|
{
|
||||||
Talk(SAY_HELP);
|
Talk(SAY_HELP);
|
||||||
|
|||||||
+2
-2
@@ -210,7 +210,7 @@ public:
|
|||||||
instance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, DONE);
|
instance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, DONE);
|
||||||
|
|
||||||
//support for quest 10944
|
//support for quest 10944
|
||||||
me->SummonCreature(SEER_OLUM, OLUM_X, OLUM_Y, OLUM_Z, OLUM_O, TEMPSUMMON_TIMED_DESPAWN, 3600000);
|
me->SummonCreature(SEER_OLUM, OLUM_X, OLUM_Y, OLUM_Z, OLUM_O, TEMPSUMMON_TIMED_DESPAWN, 1h);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustEngagedWith(Unit* who) override
|
void JustEngagedWith(Unit* who) override
|
||||||
@@ -664,7 +664,7 @@ public:
|
|||||||
//DoCast(me, SPELL_SUMMON_CYCLONE); // Doesn't work
|
//DoCast(me, SPELL_SUMMON_CYCLONE); // Doesn't work
|
||||||
Cyclone_Timer = 30000 + rand32() % 10000;
|
Cyclone_Timer = 30000 + rand32() % 10000;
|
||||||
|
|
||||||
if (Creature* Cyclone = me->SummonCreature(CREATURE_CYCLONE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), float(rand32() % 5), TEMPSUMMON_TIMED_DESPAWN, 15000))
|
if (Creature* Cyclone = me->SummonCreature(CREATURE_CYCLONE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), float(rand32() % 5), TEMPSUMMON_TIMED_DESPAWN, 15s))
|
||||||
{
|
{
|
||||||
Cyclone->SetObjectScale(3.0f);
|
Cyclone->SetObjectScale(3.0f);
|
||||||
Cyclone->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
Cyclone->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
|
|||||||
+2
-2
@@ -148,7 +148,7 @@ public:
|
|||||||
|
|
||||||
void SummonBeams()
|
void SummonBeams()
|
||||||
{
|
{
|
||||||
Creature* beamer = me->SummonCreature(ENTRY_BEAM_DUMMY, -258.333f, -356.34f, 22.0499f, 5.90835f, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
Creature* beamer = me->SummonCreature(ENTRY_BEAM_DUMMY, -258.333f, -356.34f, 22.0499f, 5.90835f, TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
if (beamer)
|
if (beamer)
|
||||||
{
|
{
|
||||||
beamer->CastSpell(me, SPELL_BLUE_BEAM, true);
|
beamer->CastSpell(me, SPELL_BLUE_BEAM, true);
|
||||||
@@ -156,7 +156,7 @@ public:
|
|||||||
beamer->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
beamer->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
beams[0] = beamer->GetGUID();
|
beams[0] = beamer->GetGUID();
|
||||||
}
|
}
|
||||||
beamer = me->SummonCreature(ENTRY_BEAM_DUMMY, -219.918f, -371.308f, 22.0042f, 2.73072f, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
beamer = me->SummonCreature(ENTRY_BEAM_DUMMY, -219.918f, -371.308f, 22.0042f, 2.73072f, TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
if (beamer)
|
if (beamer)
|
||||||
{
|
{
|
||||||
beamer->CastSpell(me, SPELL_BLUE_BEAM, true);
|
beamer->CastSpell(me, SPELL_BLUE_BEAM, true);
|
||||||
|
|||||||
@@ -396,7 +396,7 @@ public:
|
|||||||
DoTeleportTo(MIDDLE_X, MIDDLE_Y, MIDDLE_Z);
|
DoTeleportTo(MIDDLE_X, MIDDLE_Y, MIDDLE_Z);
|
||||||
|
|
||||||
for (uint8 i = 0; i < 4; ++i)
|
for (uint8 i = 0; i < 4; ++i)
|
||||||
if (Creature* creature = me->SummonCreature(SHIED_GENERATOR_CHANNEL, ShieldGeneratorChannelPos[i][0], ShieldGeneratorChannelPos[i][1], ShieldGeneratorChannelPos[i][2], ShieldGeneratorChannelPos[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* creature = me->SummonCreature(SHIED_GENERATOR_CHANNEL, ShieldGeneratorChannelPos[i][0], ShieldGeneratorChannelPos[i][1], ShieldGeneratorChannelPos[i][2], ShieldGeneratorChannelPos[i][3], TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
ShieldGeneratorChannel[i] = creature->GetGUID();
|
ShieldGeneratorChannel[i] = creature->GetGUID();
|
||||||
|
|
||||||
Talk(SAY_PHASE2);
|
Talk(SAY_PHASE2);
|
||||||
@@ -408,7 +408,7 @@ public:
|
|||||||
// SummonSporebatTimer
|
// SummonSporebatTimer
|
||||||
if (SummonSporebatTimer <= diff)
|
if (SummonSporebatTimer <= diff)
|
||||||
{
|
{
|
||||||
if (Creature* sporebat = me->SummonCreature(TOXIC_SPOREBAT, SPOREBAT_X, SPOREBAT_Y, SPOREBAT_Z, SPOREBAT_O, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* sporebat = me->SummonCreature(TOXIC_SPOREBAT, SPOREBAT_X, SPOREBAT_Y, SPOREBAT_Z, SPOREBAT_O, TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
sporebat->AI()->AttackStart(target);
|
sporebat->AI()->AttackStart(target);
|
||||||
|
|
||||||
@@ -469,7 +469,7 @@ public:
|
|||||||
// EnchantedElementalTimer
|
// EnchantedElementalTimer
|
||||||
if (EnchantedElementalTimer <= diff)
|
if (EnchantedElementalTimer <= diff)
|
||||||
{
|
{
|
||||||
me->SummonCreature(ENCHANTED_ELEMENTAL, ElementPos[EnchantedElementalPos][0], ElementPos[EnchantedElementalPos][1], ElementPos[EnchantedElementalPos][2], ElementPos[EnchantedElementalPos][3], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
me->SummonCreature(ENCHANTED_ELEMENTAL, ElementPos[EnchantedElementalPos][0], ElementPos[EnchantedElementalPos][1], ElementPos[EnchantedElementalPos][2], ElementPos[EnchantedElementalPos][3], TEMPSUMMON_CORPSE_DESPAWN);
|
||||||
|
|
||||||
if (EnchantedElementalPos == 7)
|
if (EnchantedElementalPos == 7)
|
||||||
EnchantedElementalPos = 0;
|
EnchantedElementalPos = 0;
|
||||||
@@ -483,7 +483,7 @@ public:
|
|||||||
if (TaintedElementalTimer <= diff)
|
if (TaintedElementalTimer <= diff)
|
||||||
{
|
{
|
||||||
uint32 pos = rand32() % 8;
|
uint32 pos = rand32() % 8;
|
||||||
me->SummonCreature(TAINTED_ELEMENTAL, ElementPos[pos][0], ElementPos[pos][1], ElementPos[pos][2], ElementPos[pos][3], TEMPSUMMON_DEAD_DESPAWN, 0);
|
me->SummonCreature(TAINTED_ELEMENTAL, ElementPos[pos][0], ElementPos[pos][1], ElementPos[pos][2], ElementPos[pos][3], TEMPSUMMON_DEAD_DESPAWN);
|
||||||
|
|
||||||
TaintedElementalTimer = 120000;
|
TaintedElementalTimer = 120000;
|
||||||
} else TaintedElementalTimer -= diff;
|
} else TaintedElementalTimer -= diff;
|
||||||
@@ -492,7 +492,7 @@ public:
|
|||||||
if (CoilfangEliteTimer <= diff)
|
if (CoilfangEliteTimer <= diff)
|
||||||
{
|
{
|
||||||
uint32 pos = rand32() % 3;
|
uint32 pos = rand32() % 3;
|
||||||
Creature* coilfangElite = me->SummonCreature(COILFANG_ELITE, CoilfangElitePos[pos][0], CoilfangElitePos[pos][1], CoilfangElitePos[pos][2], CoilfangElitePos[pos][3], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
Creature* coilfangElite = me->SummonCreature(COILFANG_ELITE, CoilfangElitePos[pos][0], CoilfangElitePos[pos][1], CoilfangElitePos[pos][2], CoilfangElitePos[pos][3], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
if (coilfangElite)
|
if (coilfangElite)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
@@ -507,7 +507,7 @@ public:
|
|||||||
if (CoilfangStriderTimer <= diff)
|
if (CoilfangStriderTimer <= diff)
|
||||||
{
|
{
|
||||||
uint32 pos = rand32() % 3;
|
uint32 pos = rand32() % 3;
|
||||||
if (Creature* CoilfangStrider = me->SummonCreature(COILFANG_STRIDER, CoilfangStriderPos[pos][0], CoilfangStriderPos[pos][1], CoilfangStriderPos[pos][2], CoilfangStriderPos[pos][3], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000))
|
if (Creature* CoilfangStrider = me->SummonCreature(COILFANG_STRIDER, CoilfangStriderPos[pos][0], CoilfangStriderPos[pos][1], CoilfangStriderPos[pos][2], CoilfangStriderPos[pos][3], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s))
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
CoilfangStrider->AI()->AttackStart(target);
|
CoilfangStrider->AI()->AttackStart(target);
|
||||||
@@ -784,7 +784,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
{
|
{
|
||||||
if (Creature* trig = me->SummonCreature(TOXIC_SPORES_TRIGGER, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 30000))
|
if (Creature* trig = me->SummonCreature(TOXIC_SPORES_TRIGGER, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 30s))
|
||||||
{
|
{
|
||||||
trig->SetFaction(FACTION_MONSTER);
|
trig->SetFaction(FACTION_MONSTER);
|
||||||
trig->CastSpell(trig, SPELL_TOXIC_SPORES, true);
|
trig->CastSpell(trig, SPELL_TOXIC_SPORES, true);
|
||||||
|
|||||||
+2
-2
@@ -271,7 +271,7 @@ public:
|
|||||||
if (i == 0) {nx += 10; ny -= 5; o=2.5f;}
|
if (i == 0) {nx += 10; ny -= 5; o=2.5f;}
|
||||||
if (i == 1) {nx -= 8; ny -= 7; o=0.9f;}
|
if (i == 1) {nx -= 8; ny -= 7; o=0.9f;}
|
||||||
if (i == 2) {nx -= 3; ny += 9; o=5.0f;}
|
if (i == 2) {nx -= 3; ny += 9; o=5.0f;}
|
||||||
Creature* binder = me->SummonCreature(NPC_SPELLBINDER, nx, ny, z, o, TEMPSUMMON_DEAD_DESPAWN, 0);
|
Creature* binder = me->SummonCreature(NPC_SPELLBINDER, nx, ny, z, o, TEMPSUMMON_DEAD_DESPAWN);
|
||||||
if (binder)
|
if (binder)
|
||||||
SpellBinderGUID[i] = binder->GetGUID();
|
SpellBinderGUID[i] = binder->GetGUID();
|
||||||
}
|
}
|
||||||
@@ -536,7 +536,7 @@ public:
|
|||||||
{
|
{
|
||||||
if ((*itr) && (*itr)->IsAlive())
|
if ((*itr) && (*itr)->IsAlive())
|
||||||
{
|
{
|
||||||
Creature* demon = me->SummonCreature(INNER_DEMON_ID, (*itr)->GetPositionX()+10, (*itr)->GetPositionY()+10, (*itr)->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
Creature* demon = me->SummonCreature(INNER_DEMON_ID, (*itr)->GetPositionX()+10, (*itr)->GetPositionY()+10, (*itr)->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
if (demon)
|
if (demon)
|
||||||
{
|
{
|
||||||
demon->AI()->AttackStart((*itr));
|
demon->AI()->AttackStart((*itr));
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ public:
|
|||||||
me->SetUnitFlags(UNIT_FLAG_IMMUNE_TO_PC);
|
me->SetUnitFlags(UNIT_FLAG_IMMUNE_TO_PC);
|
||||||
// spawn adds
|
// spawn adds
|
||||||
for (uint8 i = 0; i < 9; ++i)
|
for (uint8 i = 0; i < 9; ++i)
|
||||||
if (Creature* summoned = me->SummonCreature(i < 6 ? NPC_COILFANG_AMBUSHER : NPC_COILFANG_GUARDIAN, AddPos[i][0], AddPos[i][1], AddPos[i][2], 0, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
if (Creature* summoned = me->SummonCreature(i < 6 ? NPC_COILFANG_AMBUSHER : NPC_COILFANG_GUARDIAN, AddPos[i][0], AddPos[i][1], AddPos[i][2], 0, TEMPSUMMON_CORPSE_DESPAWN))
|
||||||
Summons.Summon(summoned);
|
Summons.Summon(summoned);
|
||||||
Spawned = true;
|
Spawned = true;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -199,7 +199,7 @@ public:
|
|||||||
for (uint8 i = 0; i < 10; ++i)
|
for (uint8 i = 0; i < 10; ++i)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
if (Creature* Murloc = me->SummonCreature(NPC_TIDEWALKER_LURKER, MurlocCords[i][0], MurlocCords[i][1], MurlocCords[i][2], MurlocCords[i][3], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000))
|
if (Creature* Murloc = me->SummonCreature(NPC_TIDEWALKER_LURKER, MurlocCords[i][0], MurlocCords[i][1], MurlocCords[i][2], MurlocCords[i][3], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10s))
|
||||||
Murloc->AI()->AttackStart(target);
|
Murloc->AI()->AttackStart(target);
|
||||||
}
|
}
|
||||||
Talk(EMOTE_EARTHQUAKE);
|
Talk(EMOTE_EARTHQUAKE);
|
||||||
|
|||||||
+1
-1
@@ -153,7 +153,7 @@ class instance_serpent_shrine : public InstanceMapScript
|
|||||||
//spawn frenzy
|
//spawn frenzy
|
||||||
if (DoSpawnFrenzy)
|
if (DoSpawnFrenzy)
|
||||||
{
|
{
|
||||||
if (Creature* frenzy = player->SummonCreature(NPC_COILFANG_FRENZY, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 2000))
|
if (Creature* frenzy = player->SummonCreature(NPC_COILFANG_FRENZY, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 2s))
|
||||||
{
|
{
|
||||||
frenzy->Attack(player, false);
|
frenzy->Attack(player, false);
|
||||||
frenzy->SetSwim(true);
|
frenzy->SetSwim(true);
|
||||||
|
|||||||
@@ -90,9 +90,9 @@ public:
|
|||||||
if (Mushroom_Timer <= diff)
|
if (Mushroom_Timer <= diff)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
me->SummonCreature(17990, target->GetPositionX() + (rand32() % 8), target->GetPositionY() + (rand32() % 8), target->GetPositionZ(), float(rand32() % 5), TEMPSUMMON_TIMED_DESPAWN, 22000);
|
me->SummonCreature(17990, target->GetPositionX() + (rand32() % 8), target->GetPositionY() + (rand32() % 8), target->GetPositionZ(), float(rand32() % 5), TEMPSUMMON_TIMED_DESPAWN, 22s);
|
||||||
else
|
else
|
||||||
me->SummonCreature(17990, me->GetPositionX() + (rand32() % 8), me->GetPositionY() + (rand32() % 8), me->GetPositionZ(), float(rand32() % 5), TEMPSUMMON_TIMED_DESPAWN, 22000);
|
me->SummonCreature(17990, me->GetPositionX() + (rand32() % 8), me->GetPositionY() + (rand32() % 8), me->GetPositionZ(), float(rand32() % 5), TEMPSUMMON_TIMED_DESPAWN, 22s);
|
||||||
|
|
||||||
Mushroom_Timer = 10000;
|
Mushroom_Timer = 10000;
|
||||||
} else Mushroom_Timer -= diff;
|
} else Mushroom_Timer -= diff;
|
||||||
|
|||||||
+1
-1
@@ -169,7 +169,7 @@ class boss_kelidan_the_breaker : public CreatureScript
|
|||||||
{
|
{
|
||||||
Creature* channeler = ObjectAccessor::GetCreature(*me, Channelers[i]);
|
Creature* channeler = ObjectAccessor::GetCreature(*me, Channelers[i]);
|
||||||
if (!channeler || channeler->isDead())
|
if (!channeler || channeler->isDead())
|
||||||
channeler = me->SummonCreature(ENTRY_CHANNELER, ShadowmoonChannelers[i][0], ShadowmoonChannelers[i][1], ShadowmoonChannelers[i][2], ShadowmoonChannelers[i][3], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000);
|
channeler = me->SummonCreature(ENTRY_CHANNELER, ShadowmoonChannelers[i][0], ShadowmoonChannelers[i][1], ShadowmoonChannelers[i][2], ShadowmoonChannelers[i][3], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5min);
|
||||||
if (channeler)
|
if (channeler)
|
||||||
Channelers[i] = channeler->GetGUID();
|
Channelers[i] = channeler->GetGUID();
|
||||||
else
|
else
|
||||||
|
|||||||
+3
-3
@@ -114,7 +114,7 @@ class boss_nazan : public CreatureScript
|
|||||||
void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override
|
void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override
|
||||||
{
|
{
|
||||||
if (spellInfo->Id == uint32(SPELL_FIREBALL))
|
if (spellInfo->Id == uint32(SPELL_FIREBALL))
|
||||||
me->SummonCreature(NPC_LIQUID_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 30000);
|
me->SummonCreature(NPC_LIQUID_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 30s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
@@ -347,9 +347,9 @@ class boss_vazruden_the_herald : public CreatureScript
|
|||||||
{
|
{
|
||||||
if (!summoned)
|
if (!summoned)
|
||||||
{
|
{
|
||||||
if (Creature* Vazruden = me->SummonCreature(NPC_VAZRUDEN, VazrudenMiddle[0], VazrudenMiddle[1], VazrudenMiddle[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000000))
|
if (Creature* Vazruden = me->SummonCreature(NPC_VAZRUDEN, VazrudenMiddle[0], VazrudenMiddle[1], VazrudenMiddle[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 100min))
|
||||||
VazrudenGUID = Vazruden->GetGUID();
|
VazrudenGUID = Vazruden->GetGUID();
|
||||||
if (Creature* Nazan = me->SummonCreature(NPC_NAZAN, VazrudenMiddle[0], VazrudenMiddle[1], VazrudenMiddle[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000000))
|
if (Creature* Nazan = me->SummonCreature(NPC_NAZAN, VazrudenMiddle[0], VazrudenMiddle[1], VazrudenMiddle[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 100min))
|
||||||
{
|
{
|
||||||
NazanGUID = Nazan->GetGUID();
|
NazanGUID = Nazan->GetGUID();
|
||||||
if (Player* player = Nazan->SelectNearestPlayer(60.0f))
|
if (Player* player = Nazan->SelectNearestPlayer(60.0f))
|
||||||
|
|||||||
+2
-2
@@ -199,8 +199,8 @@ class boss_warbringer_omrogg : public CreatureScript
|
|||||||
|
|
||||||
void JustEngagedWith(Unit* /*who*/) override
|
void JustEngagedWith(Unit* /*who*/) override
|
||||||
{
|
{
|
||||||
me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
|
me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN);
|
||||||
me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
|
me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN);
|
||||||
|
|
||||||
if (Creature* LeftHead = ObjectAccessor::GetCreature(*me, LeftHeadGUID))
|
if (Creature* LeftHead = ObjectAccessor::GetCreature(*me, LeftHeadGUID))
|
||||||
{
|
{
|
||||||
|
|||||||
+7
-7
@@ -192,10 +192,10 @@ class boss_warchief_kargath_bladefist : public CreatureScript
|
|||||||
}
|
}
|
||||||
void SpawnAssassin()
|
void SpawnAssassin()
|
||||||
{
|
{
|
||||||
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]+8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]+8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]-8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassEntrance[0], AssassEntrance[1]-8, AssassEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]+8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]+8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]-8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]-8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
@@ -283,13 +283,13 @@ class boss_warchief_kargath_bladefist : public CreatureScript
|
|||||||
switch (urand(0, 2))
|
switch (urand(0, 2))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
me->SummonCreature(NPC_HEARTHEN_GUARD, AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(NPC_HEARTHEN_GUARD, AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
me->SummonCreature(NPC_SHARPSHOOTER_GUARD, AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(NPC_SHARPSHOOTER_GUARD, AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
me->SummonCreature(NPC_REAVER_GUARD, AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
me->SummonCreature(NPC_REAVER_GUARD, AddsEntrance[0], AddsEntrance[1], AddsEntrance[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -433,7 +433,7 @@ class boss_alar : public CreatureScript
|
|||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
{
|
{
|
||||||
Creature* Summoned = me->SummonCreature(CREATURE_FLAME_PATCH_ALAR, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 120000);
|
Creature* Summoned = me->SummonCreature(CREATURE_FLAME_PATCH_ALAR, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 2min);
|
||||||
if (Summoned)
|
if (Summoned)
|
||||||
{
|
{
|
||||||
Summoned->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
Summoned->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
|
|||||||
@@ -115,9 +115,9 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
Fear_Timer = 20000;
|
Fear_Timer = 20000;
|
||||||
VoidBolt_Timer = 10000;
|
VoidBolt_Timer = 10000;
|
||||||
Phase1_Timer = 50000;
|
Phase1_Timer = 50000;
|
||||||
Phase2_Timer = 10000;
|
Phase2_Timer = 10s;
|
||||||
Phase3_Timer = 15000;
|
Phase3_Timer = 15s;
|
||||||
AppearDelay_Timer = 2000;
|
AppearDelay_Timer = 2s;
|
||||||
BlindingLight = false;
|
BlindingLight = false;
|
||||||
AppearDelay = false;
|
AppearDelay = false;
|
||||||
Wrath_Timer = 20000 + rand32() % 5000;//twice in phase one
|
Wrath_Timer = 20000 + rand32() % 5000;//twice in phase one
|
||||||
@@ -132,9 +132,9 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
uint32 Fear_Timer;
|
uint32 Fear_Timer;
|
||||||
uint32 VoidBolt_Timer;
|
uint32 VoidBolt_Timer;
|
||||||
uint32 Phase1_Timer;
|
uint32 Phase1_Timer;
|
||||||
uint32 Phase2_Timer;
|
Milliseconds Phase2_Timer;
|
||||||
uint32 Phase3_Timer;
|
Milliseconds Phase3_Timer;
|
||||||
uint32 AppearDelay_Timer;
|
Milliseconds AppearDelay_Timer;
|
||||||
uint32 defaultarmor;
|
uint32 defaultarmor;
|
||||||
uint32 Wrath_Timer;
|
uint32 Wrath_Timer;
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
|
|
||||||
void SummonMinion(uint32 entry, float x, float y, float z)
|
void SummonMinion(uint32 entry, float x, float y, float z)
|
||||||
{
|
{
|
||||||
Creature* Summoned = me->SummonCreature(entry, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
Creature* Summoned = me->SummonCreature(entry, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5s);
|
||||||
if (Summoned)
|
if (Summoned)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
@@ -210,7 +210,7 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
{
|
{
|
||||||
me->StopMoving();
|
me->StopMoving();
|
||||||
me->AttackStop();
|
me->AttackStop();
|
||||||
if (AppearDelay_Timer <= diff)
|
if (AppearDelay_Timer <= Milliseconds(diff))
|
||||||
{
|
{
|
||||||
AppearDelay = false;
|
AppearDelay = false;
|
||||||
if (Phase == 2)
|
if (Phase == 2)
|
||||||
@@ -218,10 +218,10 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
me->SetVisible(false);
|
me->SetVisible(false);
|
||||||
}
|
}
|
||||||
AppearDelay_Timer = 2000;
|
AppearDelay_Timer = 2s;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
AppearDelay_Timer -= diff;
|
AppearDelay_Timer -= Milliseconds(diff);
|
||||||
}
|
}
|
||||||
if (Phase == 1)
|
if (Phase == 1)
|
||||||
{
|
{
|
||||||
@@ -316,7 +316,7 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
}
|
}
|
||||||
for (int i = 0; i <= 2; ++i)
|
for (int i = 0; i <= 2; ++i)
|
||||||
{
|
{
|
||||||
if (Creature* Summoned = me->SummonCreature(NPC_ASTROMANCER_SOLARIAN_SPOTLIGHT, Portals[i][0], Portals[i][1], Portals[i][2], CENTER_O, TEMPSUMMON_TIMED_DESPAWN, Phase2_Timer + Phase3_Timer + AppearDelay_Timer + 1700))
|
if (Creature* Summoned = me->SummonCreature(NPC_ASTROMANCER_SOLARIAN_SPOTLIGHT, Portals[i][0], Portals[i][1], Portals[i][2], CENTER_O, TEMPSUMMON_TIMED_DESPAWN, Phase2_Timer + Phase3_Timer + AppearDelay_Timer + 1700ms))
|
||||||
{
|
{
|
||||||
Summoned->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
Summoned->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||||
Summoned->CastSpell(Summoned, SPELL_SPOTLIGHT, false);
|
Summoned->CastSpell(Summoned, SPELL_SPOTLIGHT, false);
|
||||||
@@ -332,7 +332,7 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
//10 seconds after Solarian disappears, 12 mobs spawn out of the three portals.
|
//10 seconds after Solarian disappears, 12 mobs spawn out of the three portals.
|
||||||
me->AttackStop();
|
me->AttackStop();
|
||||||
me->StopMoving();
|
me->StopMoving();
|
||||||
if (Phase2_Timer <= diff)
|
if (Phase2_Timer <= Milliseconds(diff))
|
||||||
{
|
{
|
||||||
Phase = 3;
|
Phase = 3;
|
||||||
for (int i=0; i <= 2; ++i)
|
for (int i=0; i <= 2; ++i)
|
||||||
@@ -340,17 +340,17 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
SummonMinion(NPC_SOLARIUM_AGENT, Portals[i][0], Portals[i][1], Portals[i][2]);
|
SummonMinion(NPC_SOLARIUM_AGENT, Portals[i][0], Portals[i][1], Portals[i][2]);
|
||||||
|
|
||||||
Talk(SAY_SUMMON1);
|
Talk(SAY_SUMMON1);
|
||||||
Phase2_Timer = 10000;
|
Phase2_Timer = 10s;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Phase2_Timer -= diff;
|
Phase2_Timer -= Milliseconds(diff);
|
||||||
}
|
}
|
||||||
else if (Phase == 3)
|
else if (Phase == 3)
|
||||||
{
|
{
|
||||||
me->AttackStop();
|
me->AttackStop();
|
||||||
me->StopMoving();
|
me->StopMoving();
|
||||||
//Check Phase3_Timer
|
//Check Phase3_Timer
|
||||||
if (Phase3_Timer <= diff)
|
if (Phase3_Timer <= Milliseconds(diff))
|
||||||
{
|
{
|
||||||
Phase = 1;
|
Phase = 1;
|
||||||
//15 seconds later Solarian reappears out of one of the 3 portals. Simultaneously, 2 healers appear in the two other portals.
|
//15 seconds later Solarian reappears out of one of the 3 portals. Simultaneously, 2 healers appear in the two other portals.
|
||||||
@@ -367,10 +367,10 @@ class boss_high_astromancer_solarian : public CreatureScript
|
|||||||
|
|
||||||
Talk(SAY_SUMMON2);
|
Talk(SAY_SUMMON2);
|
||||||
AppearDelay = true;
|
AppearDelay = true;
|
||||||
Phase3_Timer = 15000;
|
Phase3_Timer = 15s;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Phase3_Timer -= diff;
|
Phase3_Timer -= Milliseconds(diff);
|
||||||
}
|
}
|
||||||
else if (Phase == 4)
|
else if (Phase == 4)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1350,7 +1350,7 @@ class npc_phoenix_tk : public CreatureScript
|
|||||||
{
|
{
|
||||||
//is this spell in use anylonger?
|
//is this spell in use anylonger?
|
||||||
//DoCast(me, SPELL_EMBER_BLAST, true);
|
//DoCast(me, SPELL_EMBER_BLAST, true);
|
||||||
me->SummonCreature(NPC_PHOENIX_EGG, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 16000);
|
me->SummonCreature(NPC_PHOENIX_EGG, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 16s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
@@ -1431,7 +1431,7 @@ class npc_phoenix_egg_tk : public CreatureScript
|
|||||||
|
|
||||||
if (Rebirth_Timer <= diff)
|
if (Rebirth_Timer <= diff)
|
||||||
{
|
{
|
||||||
me->SummonCreature(NPC_PHOENIX, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_CORPSE_DESPAWN, 5000);
|
me->SummonCreature(NPC_PHOENIX, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_CORPSE_DESPAWN, 5s);
|
||||||
Rebirth_Timer = 0;
|
Rebirth_Timer = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
|
|||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||||
{
|
{
|
||||||
if (Creature* Wraith = me->SummonCreature(NPC_NETHER_WRAITH, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000))
|
if (Creature* Wraith = me->SummonCreature(NPC_NETHER_WRAITH, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s))
|
||||||
Wraith->AI()->AttackStart(target);
|
Wraith->AI()->AttackStart(target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -425,15 +425,15 @@ class npc_warden_mellichar : public CreatureScript
|
|||||||
switch (urand(0, 1))
|
switch (urand(0, 1))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
me->SummonCreature(ENTRY_TRICKSTER, 478.326f, -148.505f, 42.56f, 3.19f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_TRICKSTER, 478.326f, -148.505f, 42.56f, 3.19f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
me->SummonCreature(ENTRY_PH_HUNTER, 478.326f, -148.505f, 42.56f, 3.19f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_PH_HUNTER, 478.326f, -148.505f, 42.56f, 3.19f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
me->SummonCreature(ENTRY_MILLHOUSE, 413.292f, -148.378f, 42.56f, 6.27f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_MILLHOUSE, 413.292f, -148.378f, 42.56f, 6.27f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
Talk(YELL_RELEASE2B);
|
Talk(YELL_RELEASE2B);
|
||||||
@@ -442,10 +442,10 @@ class npc_warden_mellichar : public CreatureScript
|
|||||||
switch (urand(0, 1))
|
switch (urand(0, 1))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
me->SummonCreature(ENTRY_AKKIRIS, 420.179f, -174.396f, 42.58f, 0.02f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_AKKIRIS, 420.179f, -174.396f, 42.58f, 0.02f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
me->SummonCreature(ENTRY_SULFURON, 420.179f, -174.396f, 42.58f, 0.02f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_SULFURON, 420.179f, -174.396f, 42.58f, 0.02f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -453,15 +453,15 @@ class npc_warden_mellichar : public CreatureScript
|
|||||||
switch (urand(0, 1))
|
switch (urand(0, 1))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
me->SummonCreature(ENTRY_TW_DRAK, 471.795f, -174.58f, 42.58f, 3.06f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_TW_DRAK, 471.795f, -174.58f, 42.58f, 3.06f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
me->SummonCreature(ENTRY_BL_DRAK, 471.795f, -174.58f, 42.58f, 3.06f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_BL_DRAK, 471.795f, -174.58f, 42.58f, 3.06f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
me->SummonCreature(ENTRY_SKYRISS, 445.763f, -191.639f, 44.64f, 1.60f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
|
me->SummonCreature(ENTRY_SKYRISS, 445.763f, -191.639f, 44.64f, 1.60f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 10min);
|
||||||
Talk(YELL_WELCOME);
|
Talk(YELL_WELCOME);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ class boss_warp_splinter : public CreatureScript
|
|||||||
float Y = Treant_Spawn_Pos_Y + TREANT_SPAWN_DIST * std::sin(angle);
|
float Y = Treant_Spawn_Pos_Y + TREANT_SPAWN_DIST * std::sin(angle);
|
||||||
float O = - me->GetAbsoluteAngle(X, Y);
|
float O = - me->GetAbsoluteAngle(X, Y);
|
||||||
|
|
||||||
if (Creature* pTreant = me->SummonCreature(CREATURE_TREANT, treant_pos[i][0], treant_pos[i][1], treant_pos[i][2], O, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 25000))
|
if (Creature* pTreant = me->SummonCreature(CREATURE_TREANT, treant_pos[i][0], treant_pos[i][1], treant_pos[i][2], O, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 25s))
|
||||||
ENSURE_AI(npc_warp_splinter_treant::npc_warp_splinter_treantAI, pTreant->AI())->WarpGuid = me->GetGUID();
|
ENSURE_AI(npc_warp_splinter_treant::npc_warp_splinter_treantAI, pTreant->AI())->WarpGuid = me->GetGUID();
|
||||||
}
|
}
|
||||||
Talk(SAY_SUMMON);
|
Talk(SAY_SUMMON);
|
||||||
|
|||||||
@@ -282,7 +282,7 @@ public:
|
|||||||
|
|
||||||
if (obelisk_one == true && obelisk_two == true && obelisk_three == true && obelisk_four == true && obelisk_five == true)
|
if (obelisk_one == true && obelisk_two == true && obelisk_three == true && obelisk_four == true && obelisk_five == true)
|
||||||
{
|
{
|
||||||
me->SummonCreature(NPC_DOOMCRYER, 2943.40f, 4778.20f, 284.49f, 0.94f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000);
|
me->SummonCreature(NPC_DOOMCRYER, 2943.40f, 4778.20f, 284.49f, 0.94f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 2min);
|
||||||
//reset global var
|
//reset global var
|
||||||
obelisk_one = false;
|
obelisk_one = false;
|
||||||
obelisk_two = false;
|
obelisk_two = false;
|
||||||
@@ -780,7 +780,7 @@ class npc_simon_bunny : public CreatureScript
|
|||||||
if (large)
|
if (large)
|
||||||
{
|
{
|
||||||
if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID))
|
if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID))
|
||||||
if (Creature* guardian = me->SummonCreature(NPC_APEXIS_GUARDIAN, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() - zCoordCorrection, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 20000))
|
if (Creature* guardian = me->SummonCreature(NPC_APEXIS_GUARDIAN, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() - zCoordCorrection, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 20s))
|
||||||
guardian->AI()->AttackStart(player);
|
guardian->AI()->AttackStart(player);
|
||||||
|
|
||||||
ResetNode();
|
ResetNode();
|
||||||
@@ -945,7 +945,7 @@ public:
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Spell 37392 does not exist in dbc, manually spawning
|
// Spell 37392 does not exist in dbc, manually spawning
|
||||||
me->SummonCreature(NPC_OSCILLATING_FREQUENCY_SCANNER_TOP_BUNNY, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 0.5f, me->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 50000);
|
me->SummonCreature(NPC_OSCILLATING_FREQUENCY_SCANNER_TOP_BUNNY, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 0.5f, me->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 50s);
|
||||||
me->SummonGameObject(GO_OSCILLATING_FREQUENCY_SCANNER, *me, QuaternionData::fromEulerAnglesZYX(me->GetOrientation(), 0.0f, 0.0f), 50);
|
me->SummonGameObject(GO_OSCILLATING_FREQUENCY_SCANNER, *me, QuaternionData::fromEulerAnglesZYX(me->GetOrientation(), 0.0f, 0.0f), 50);
|
||||||
me->DespawnOrUnsummon(50s);
|
me->DespawnOrUnsummon(50s);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,12 +110,12 @@ public:
|
|||||||
case 7:
|
case 7:
|
||||||
Talk(SAY_MAG_MORE);
|
Talk(SAY_MAG_MORE);
|
||||||
|
|
||||||
if (Creature* temp = me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0], m_afAmbushB[1], m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000))
|
if (Creature* temp = me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0], m_afAmbushB[1], m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s))
|
||||||
temp->AI()->Talk(SAY_MAG_MORE_REPLY);
|
temp->AI()->Talk(SAY_MAG_MORE_REPLY);
|
||||||
|
|
||||||
me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0]-2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0]-2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]+2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]+2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
Talk(SAY_MAG_COMPLETE);
|
Talk(SAY_MAG_COMPLETE);
|
||||||
@@ -202,9 +202,9 @@ public:
|
|||||||
Start(true, false, player->GetGUID(), quest);
|
Start(true, false, player->GetGUID(), quest);
|
||||||
Talk(SAY_MAG_START);
|
Talk(SAY_MAG_START);
|
||||||
|
|
||||||
me->SummonCreature(NPC_MURK_RAIDER, m_afAmbushA[0] + 2.5f, m_afAmbushA[1] - 2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_MURK_RAIDER, m_afAmbushA[0] + 2.5f, m_afAmbushA[1] - 2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushA[0] - 2.5f, m_afAmbushA[1] + 2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushA[0] - 2.5f, m_afAmbushA[1] + 2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_MURK_BRUTE, m_afAmbushA[0], m_afAmbushA[1], m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_MURK_BRUTE, m_afAmbushA[0], m_afAmbushA[1], m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -299,12 +299,12 @@ public:
|
|||||||
{
|
{
|
||||||
Talk(SAY_KUR_MORE);
|
Talk(SAY_KUR_MORE);
|
||||||
|
|
||||||
if (me->SummonCreature(NPC_KUR_MURK_PUTRIFIER, kurenaiAmbushB[0], kurenaiAmbushB[1], kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000))
|
if (me->SummonCreature(NPC_KUR_MURK_PUTRIFIER, kurenaiAmbushB[0], kurenaiAmbushB[1], kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s))
|
||||||
Talk(SAY_KUR_MORE_TWO);
|
Talk(SAY_KUR_MORE_TWO);
|
||||||
|
|
||||||
me->SummonCreature(NPC_KUR_MURK_PUTRIFIER, kurenaiAmbushB[0]-2.5f, kurenaiAmbushB[1]-2.5f, kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_KUR_MURK_PUTRIFIER, kurenaiAmbushB[0]-2.5f, kurenaiAmbushB[1]-2.5f, kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_KUR_MURK_SCAVENGER, kurenaiAmbushB[0]+2.5f, kurenaiAmbushB[1]+2.5f, kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_KUR_MURK_SCAVENGER, kurenaiAmbushB[0]+2.5f, kurenaiAmbushB[1]+2.5f, kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_KUR_MURK_SCAVENGER, kurenaiAmbushB[0]+2.5f, kurenaiAmbushB[1]-2.5f, kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_KUR_MURK_SCAVENGER, kurenaiAmbushB[0]+2.5f, kurenaiAmbushB[1]-2.5f, kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 7:
|
case 7:
|
||||||
@@ -396,9 +396,9 @@ public:
|
|||||||
Start(true, false, player->GetGUID(), quest);
|
Start(true, false, player->GetGUID(), quest);
|
||||||
Talk(SAY_KUR_START);
|
Talk(SAY_KUR_START);
|
||||||
|
|
||||||
me->SummonCreature(NPC_KUR_MURK_RAIDER, kurenaiAmbushA[0] + 2.5f, kurenaiAmbushA[1] - 2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_KUR_MURK_RAIDER, kurenaiAmbushA[0] + 2.5f, kurenaiAmbushA[1] - 2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_KUR_MURK_BRUTE, kurenaiAmbushA[0] - 2.5f, kurenaiAmbushA[1] + 2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_KUR_MURK_BRUTE, kurenaiAmbushA[0] - 2.5f, kurenaiAmbushA[1] + 2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
me->SummonCreature(NPC_KUR_MURK_SCAVENGER, kurenaiAmbushA[0], kurenaiAmbushA[1], kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
|
me->SummonCreature(NPC_KUR_MURK_SCAVENGER, kurenaiAmbushA[0], kurenaiAmbushA[1], kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public:
|
|||||||
//Phase 4 Pathaleon spawns up to phase 9
|
//Phase 4 Pathaleon spawns up to phase 9
|
||||||
case 4:
|
case 4:
|
||||||
//spawn pathaleon's image
|
//spawn pathaleon's image
|
||||||
me->SummonCreature(CreatureEntry[2], 2325.851563f, 2799.534668f, 133.084229f, 6.038996f, TEMPSUMMON_TIMED_DESPAWN, 90000);
|
me->SummonCreature(CreatureEntry[2], 2325.851563f, 2799.534668f, 133.084229f, 6.038996f, TEMPSUMMON_TIMED_DESPAWN, 90s);
|
||||||
++Phase;
|
++Phase;
|
||||||
Phase_Timer = 500;
|
Phase_Timer = 500;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ public:
|
|||||||
|
|
||||||
void SummonInfernal()
|
void SummonInfernal()
|
||||||
{
|
{
|
||||||
if (Creature* infernal = me->SummonCreature(NPC_INFERNAL_ATTACKER, me->GetPositionX(), me->GetPositionY(), ground + 0.05f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000))
|
if (Creature* infernal = me->SummonCreature(NPC_INFERNAL_ATTACKER, me->GetPositionX(), me->GetPositionY(), ground + 0.05f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1min))
|
||||||
infernalGUID = infernal->GetGUID();
|
infernalGUID = infernal->GetGUID();
|
||||||
else
|
else
|
||||||
infernalGUID = ObjectGuid::Empty;
|
infernalGUID = ObjectGuid::Empty;
|
||||||
|
|||||||
@@ -3010,15 +3010,15 @@ class spell_q14386_call_attack_mastiffs : public SpellScript
|
|||||||
void HandleEffect(SpellEffIndex /*eff*/)
|
void HandleEffect(SpellEffIndex /*eff*/)
|
||||||
{
|
{
|
||||||
Unit* caster = GetCaster();
|
Unit* caster = GetCaster();
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1944.573f, 2657.402f, 0.994939f, 1.691919f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1944.573f, 2657.402f, 0.994939f, 1.691919f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -2005.65f, 2663.526f, -2.086935f, 0.5942355f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -2005.65f, 2663.526f, -2.086935f, 0.5942355f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1996.506f, 2651.347f, -1.011707f, 0.8185352f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1996.506f, 2651.347f, -1.011707f, 0.8185352f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1972.352f, 2640.07f, 1.080288f, 1.217854f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1972.352f, 2640.07f, 1.080288f, 1.217854f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1949.322f, 2642.76f, 1.242482f, 1.58074f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1949.322f, 2642.76f, 1.242482f, 1.58074f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1993.94f, 2672.535f, -2.322549f, 0.5766209f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1993.94f, 2672.535f, -2.322549f, 0.5766209f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1982.724f, 2662.8f, -1.773986f, 0.8628055f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1982.724f, 2662.8f, -1.773986f, 0.8628055f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1973.301f, 2655.475f, -0.7831049f, 1.098415f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1973.301f, 2655.475f, -0.7831049f, 1.098415f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1956.509f, 2650.655f, 1.350571f, 1.441473f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
|
caster->SummonCreature(NPC_ATTACK_MASTIFF, -1956.509f, 2650.655f, 1.350571f, 1.441473f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Register() override
|
void Register() override
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ class AreaTrigger_at_scent_larkorwi : public AreaTriggerScript
|
|||||||
if (!player->isDead() && player->GetQuestStatus(QUEST_SCENT_OF_LARKORWI) == QUEST_STATUS_INCOMPLETE)
|
if (!player->isDead() && player->GetQuestStatus(QUEST_SCENT_OF_LARKORWI) == QUEST_STATUS_INCOMPLETE)
|
||||||
{
|
{
|
||||||
if (!player->FindNearestCreature(NPC_LARKORWI_MATE, 15))
|
if (!player->FindNearestCreature(NPC_LARKORWI_MATE, 15))
|
||||||
player->SummonCreature(NPC_LARKORWI_MATE, player->GetPositionX()+5, player->GetPositionY(), player->GetPositionZ(), 3.3f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100000);
|
player->SummonCreature(NPC_LARKORWI_MATE, player->GetPositionX()+5, player->GetPositionY(), player->GetPositionZ(), 3.3f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100s);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -230,7 +230,7 @@ class AreaTrigger_at_nats_landing : public AreaTriggerScript
|
|||||||
{
|
{
|
||||||
if (!player->FindNearestCreature(NPC_LURKING_SHARK, 20.0f))
|
if (!player->FindNearestCreature(NPC_LURKING_SHARK, 20.0f))
|
||||||
{
|
{
|
||||||
if (Creature* shark = player->SummonCreature(NPC_LURKING_SHARK, -4246.243f, -3922.356f, -7.488f, 5.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100000))
|
if (Creature* shark = player->SummonCreature(NPC_LURKING_SHARK, -4246.243f, -3922.356f, -7.488f, 5.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100s))
|
||||||
shark->AI()->AttackStart(player);
|
shark->AI()->AttackStart(player);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -354,7 +354,7 @@ class AreaTrigger_at_area_52_entrance : public AreaTriggerScript
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
player->SummonCreature(NPC_SPOTLIGHT, x, y, z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 5000);
|
player->SummonCreature(NPC_SPOTLIGHT, x, y, z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 5s);
|
||||||
player->AddAura(SPELL_A52_NEURALYZER, player);
|
player->AddAura(SPELL_A52_NEURALYZER, player);
|
||||||
_triggerTimes[trigger->ID] = GameTime::GetGameTime();
|
_triggerTimes[trigger->ID] = GameTime::GetGameTime();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (player->GetQuestStatus(QUEST_THE_FIRST_TRIAL) == QUEST_STATUS_INCOMPLETE)
|
if (player->GetQuestStatus(QUEST_THE_FIRST_TRIAL) == QUEST_STATUS_INCOMPLETE)
|
||||||
{
|
{
|
||||||
if (Creature* Stillblade = player->SummonCreature(NPC_STILLBLADE, 8106.11f, -7542.06f, 151.775f, 3.02598f, TEMPSUMMON_DEAD_DESPAWN, 60000))
|
if (Creature* Stillblade = player->SummonCreature(NPC_STILLBLADE, 8106.11f, -7542.06f, 151.775f, 3.02598f, TEMPSUMMON_DEAD_DESPAWN, 1min))
|
||||||
Stillblade->AI()->AttackStart(player);
|
Stillblade->AI()->AttackStart(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -155,7 +155,7 @@ public:
|
|||||||
int Random = rand32() % (sizeof(NpcPrisonEntry) / sizeof(uint32));
|
int Random = rand32() % (sizeof(NpcPrisonEntry) / sizeof(uint32));
|
||||||
|
|
||||||
if (Creature* creature = player->SummonCreature(NpcPrisonEntry[Random], me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetAbsoluteAngle(player),
|
if (Creature* creature = player->SummonCreature(NpcPrisonEntry[Random], me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetAbsoluteAngle(player),
|
||||||
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
|
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s))
|
||||||
{
|
{
|
||||||
if (!creature->IsHostileTo(player))
|
if (!creature->IsHostileTo(player))
|
||||||
{
|
{
|
||||||
@@ -215,7 +215,7 @@ public:
|
|||||||
int Random = rand32() % (sizeof(NpcStasisEntry) / sizeof(uint32));
|
int Random = rand32() % (sizeof(NpcStasisEntry) / sizeof(uint32));
|
||||||
|
|
||||||
player->SummonCreature(NpcStasisEntry[Random], me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetAbsoluteAngle(player),
|
player->SummonCreature(NpcStasisEntry[Random], me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetAbsoluteAngle(player),
|
||||||
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -248,7 +248,7 @@ public:
|
|||||||
bool GossipHello(Player* /*player*/) override
|
bool GossipHello(Player* /*player*/) override
|
||||||
{
|
{
|
||||||
if (me->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
if (me->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
||||||
me->SummonCreature(NPC_GOGGEROC, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000);
|
me->SummonCreature(NPC_GOGGEROC, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5min);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -285,7 +285,7 @@ public:
|
|||||||
//implicitTarget=48 not implemented as of writing this code, and manual summon may be just ok for our purpose
|
//implicitTarget=48 not implemented as of writing this code, and manual summon may be just ok for our purpose
|
||||||
//player->CastSpell(player, SPELL_SUMMON_RIZZLE, false);
|
//player->CastSpell(player, SPELL_SUMMON_RIZZLE, false);
|
||||||
|
|
||||||
if (Creature* creature = player->SummonCreature(NPC_RIZZLE, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0))
|
if (Creature* creature = player->SummonCreature(NPC_RIZZLE, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN))
|
||||||
creature->CastSpell(player, SPELL_BLACKJACK, false);
|
creature->CastSpell(player, SPELL_BLACKJACK, false);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -498,7 +498,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (player->GetQuestStatus(QUEST_PRISON_BREAK) == QUEST_STATUS_INCOMPLETE)
|
if (player->GetQuestStatus(QUEST_PRISON_BREAK) == QUEST_STATUS_INCOMPLETE)
|
||||||
{
|
{
|
||||||
me->SummonCreature(25318, 3485.089844f, 6115.7422188f, 70.966812f, 0, TEMPSUMMON_TIMED_DESPAWN, 60000);
|
me->SummonCreature(25318, 3485.089844f, 6115.7422188f, 70.966812f, 0, TEMPSUMMON_TIMED_DESPAWN, 1min);
|
||||||
player->CastSpell(player, SPELL_ARCANE_PRISONER_KILL_CREDIT, true);
|
player->CastSpell(player, SPELL_ARCANE_PRISONER_KILL_CREDIT, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -534,7 +534,7 @@ public:
|
|||||||
bool GossipHello(Player* player) override
|
bool GossipHello(Player* player) override
|
||||||
{
|
{
|
||||||
if (me->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
if (me->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
||||||
player->SummonCreature(NPC_ZELEMAR, -369.746f, 166.759f, -21.50f, 5.235f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
player->SummonCreature(NPC_ZELEMAR, -369.746f, 166.759f, -21.50f, 5.235f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30s);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -776,8 +776,8 @@ public:
|
|||||||
bool GossipHello(Player* player) override
|
bool GossipHello(Player* player) override
|
||||||
{
|
{
|
||||||
player->SendLoot(me->GetGUID(), LOOT_CORPSE);
|
player->SendLoot(me->GetGUID(), LOOT_CORPSE);
|
||||||
me->SummonCreature(NPC_HIVE_AMBUSHER, me->GetPositionX() + 1, me->GetPositionY(), me->GetPositionZ(), me->GetAbsoluteAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
|
me->SummonCreature(NPC_HIVE_AMBUSHER, me->GetPositionX() + 1, me->GetPositionY(), me->GetPositionZ(), me->GetAbsoluteAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1min);
|
||||||
me->SummonCreature(NPC_HIVE_AMBUSHER, me->GetPositionX(), me->GetPositionY() + 1, me->GetPositionZ(), me->GetAbsoluteAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
|
me->SummonCreature(NPC_HIVE_AMBUSHER, me->GetPositionX(), me->GetPositionY() + 1, me->GetPositionZ(), me->GetAbsoluteAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1min);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ public:
|
|||||||
{
|
{
|
||||||
Creature* guard = ObjectAccessor::GetCreature(*me, _myGuard);
|
Creature* guard = ObjectAccessor::GetCreature(*me, _myGuard);
|
||||||
|
|
||||||
if (!guard && (guard = me->SummonCreature(_spawn.otherEntry, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000)))
|
if (!guard && (guard = me->SummonCreature(_spawn.otherEntry, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5min)))
|
||||||
_myGuard = guard->GetGUID();
|
_myGuard = guard->GetGUID();
|
||||||
|
|
||||||
return guard;
|
return guard;
|
||||||
@@ -2018,7 +2018,7 @@ public:
|
|||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
if (Creature* minion = me->SummonCreature(NPC_MINION_OF_OMEN, me->GetPositionX()+frand(-5.0f, 5.0f), me->GetPositionY()+frand(-5.0f, 5.0f), me->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000))
|
if (Creature* minion = me->SummonCreature(NPC_MINION_OF_OMEN, me->GetPositionX()+frand(-5.0f, 5.0f), me->GetPositionY()+frand(-5.0f, 5.0f), me->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20s))
|
||||||
minion->AI()->AttackStart(me->SelectNearestPlayer(20.0f));
|
minion->AI()->AttackStart(me->SelectNearestPlayer(20.0f));
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
|
|||||||
Reference in New Issue
Block a user