diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index ce3b456e0..d5a948a17 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -1010,6 +1010,11 @@ public: { go_wind_stoneAI(GameObject* go) : GameObjectAI(go) {} + void InitializeAI() override + { + me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + } + bool GossipHello(Player* player, bool reportUse) override { if (reportUse) @@ -1048,10 +1053,13 @@ public: bool GossipSelect(Player* player, uint32 sender, uint32 action) override { + Seconds respawnTimer = 0s; player->PlayerTalkClass->SendCloseGossip(); if (sender == GOSSIPID_LESSER_WS) { + respawnTimer = 300s; // Lesser Windstone respawn in 5 minutes + switch (action) { case 0: @@ -1075,6 +1083,8 @@ public: } else if (sender == GOSSIPID_WS) { + respawnTimer = 900s; // Windstone respawn in 15 minutes + switch (action) { case 0: @@ -1098,6 +1108,8 @@ public: } else if (sender == GOSSIPID_GREATER_WS) { + respawnTimer = 10800s; // Greater Windstone respawn in 3 hours + switch (action) { case 0: @@ -1119,6 +1131,10 @@ public: break; } } + + me->DespawnOrUnsummon(5000ms, respawnTimer); // Despawn in 5 Seconds for respawnTimer value + me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + CloseGossipMenuFor(player); return false; }