aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/World/areatrigger_scripts.cpp46
1 files changed, 37 insertions, 9 deletions
diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp
index 77f3a64a13f..d8a90b2ffd5 100644
--- a/src/server/scripts/World/areatrigger_scripts.cpp
+++ b/src/server/scripts/World/areatrigger_scripts.cpp
@@ -427,13 +427,14 @@ class AreaTrigger_at_brewfest : public AreaTriggerScript
enum Area52Entrance
{
- NPC_SPOTLIGHT = 19913,
- SUMMON_COOLDOWN = 5,
-
- AT_AREA_52_SOUTH = 4472,
- AT_AREA_52_NORTH = 4466,
- AT_AREA_52_WEST = 4471,
- AT_AREA_52_EAST = 4422,
+ SPELL_A52_NEURALYZER = 34400,
+ NPC_SPOTLIGHT = 19913,
+ SUMMON_COOLDOWN = 5,
+
+ AT_AREA_52_SOUTH = 4472,
+ AT_AREA_52_NORTH = 4466,
+ AT_AREA_52_WEST = 4471,
+ AT_AREA_52_EAST = 4422,
};
class AreaTrigger_at_area_52_entrance : public AreaTriggerScript
@@ -446,14 +447,41 @@ class AreaTrigger_at_area_52_entrance : public AreaTriggerScript
bool OnTrigger(Player* player, AreaTriggerEntry const* trigger)
{
+ float x, y, z;
+
if (!player->isAlive())
return false;
+ uint32 triggerId = trigger->id;
if (sWorld->GetGameTime() - _triggerTimes[trigger->id] < SUMMON_COOLDOWN)
return false;
- player->SummonCreature(NPC_SPOTLIGHT, trigger->x, trigger->y, trigger->z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 5000);
+ switch (triggerId)
+ {
+ case AT_AREA_52_EAST:
+ x = 3044.176f;
+ y = 3610.692f;
+ z = 143.61f;
+ break;
+ case AT_AREA_52_NORTH:
+ x = 3114.87f;
+ y = 3687.619f;
+ z = 143.62f;
+ break;
+ case AT_AREA_52_WEST:
+ x = 3017.79f;
+ y = 3746.806f;
+ z = 144.27f;
+ break;
+ case AT_AREA_52_SOUTH:
+ x = 2950.63f;
+ y = 3719.905f;
+ z = 143.33f;
+ break;
+ }
+ player->SummonCreature(NPC_SPOTLIGHT, x, y, z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 5000);
+ player->AddAura(SPELL_A52_NEURALYZER, player);
_triggerTimes[trigger->id] = sWorld->GetGameTime();
return false;
}
@@ -474,4 +502,4 @@ void AddSC_areatrigger_scripts()
new AreaTrigger_at_bring_your_orphan_to();
new AreaTrigger_at_brewfest();
new AreaTrigger_at_area_52_entrance();
-}
+} \ No newline at end of file