aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2011_06_02_00_world_gameobject_template.sql2
-rw-r--r--src/server/scripts/Kalimdor/azuremyst_isle.cpp13
2 files changed, 9 insertions, 6 deletions
diff --git a/sql/updates/world/2011_06_02_00_world_gameobject_template.sql b/sql/updates/world/2011_06_02_00_world_gameobject_template.sql
new file mode 100644
index 00000000000..bd6a01d1e89
--- /dev/null
+++ b/sql/updates/world/2011_06_02_00_world_gameobject_template.sql
@@ -0,0 +1,2 @@
+-- Set sniffed flag for Bristlelimb Cage
+UPDATE `gameobject_template` SET `flags`=32 WHERE `entry`=181714;
diff --git a/src/server/scripts/Kalimdor/azuremyst_isle.cpp b/src/server/scripts/Kalimdor/azuremyst_isle.cpp
index fef78351924..18d59538d32 100644
--- a/src/server/scripts/Kalimdor/azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/azuremyst_isle.cpp
@@ -655,6 +655,7 @@ public:
/*########
## Quest: The Prophecy of Akida
########*/
+
enum BristlelimbCage
{
QUEST_THE_PROPHECY_OF_AKIDA = 9544,
@@ -678,12 +679,15 @@ class npc_stillpine_capitive : public CreatureScript
{
npc_stillpine_capitiveAI(Creature* creature) : ScriptedAI(creature)
{
- if (GameObject* cage = me->FindNearestGameObject(GO_BRISTELIMB_CAGE, 5.0f))
- cage->UseDoorOrButton(); // This may seem strange but is actually closing door.
}
void Reset()
{
+ if (GameObject* cage = me->FindNearestGameObject(GO_BRISTELIMB_CAGE, 5.0f))
+ {
+ cage->SetLootState(GO_JUST_DEACTIVATED);
+ cage->SetGoState(GO_STATE_READY);
+ }
_events.Reset();
_player = NULL;
_movementComplete = false;
@@ -697,7 +701,7 @@ class npc_stillpine_capitive : public CreatureScript
_player = owner;
}
Position pos;
- me->GetNearPosition(pos, 3.5f, 0.0f);
+ me->GetNearPosition(pos, 3.0f, 0.0f);
me->GetMotionMaster()->MovePoint(POINT_INIT, pos);
}
@@ -709,9 +713,6 @@ class npc_stillpine_capitive : public CreatureScript
if (_player)
_player->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
- if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
- me->GetMotionMaster()->MovementExpired();
-
_movementComplete = true;
_events.ScheduleEvent(EVENT_DESPAWN, 3500);
}