27
27
#include " SpellScriptLoader.h"
28
28
29
29
// / @todo: Missing Sinclari Trigger announcements (32204) Look at its creature_text for more info.
30
- // / @todo: Activation Crystals (go_vh_activation_crystal) (193611) are spammable, should be a 1 time use per crystal.
31
30
32
31
enum Texts
33
32
{
34
- GOSSIP_MENU_START_EVENT = 9998 ,
35
- GOSSIP_MENU_ITEM = 9997 ,
33
+ GOSSIP_MENU_START_1 = 9997 ,
34
+ GOSSIP_MENU_START_2 = 9998 ,
36
35
GOSSIP_MENU_LATE_JOIN = 10275 ,
37
36
38
37
NPC_TEXT_SINCLARI_IN = 13853 ,
39
- NPC_TEXT_SINCLARI_ITEM = 13854 ,
38
+ NPC_TEXT_SINCLARI_START = 13854 ,
40
39
NPC_TEXT_SINCLARI_DONE = 13910 ,
41
40
NPC_TEXT_SINCLARI_LATE_JOIN = 14271 ,
42
41
};
@@ -53,7 +52,11 @@ class go_vh_activation_crystal : public GameObjectScript
53
52
bool OnGossipHello (Player* /* player*/ , GameObject* go) override
54
53
{
55
54
if (InstanceScript* pInstance = go->GetInstanceScript ())
55
+ {
56
56
pInstance->SetData (DATA_ACTIVATE_DEFENSE_SYSTEM, 1 );
57
+ go->SetGameObjectFlag (GO_FLAG_NOT_SELECTABLE);
58
+ }
59
+
57
60
return true ;
58
61
}
59
62
};
@@ -73,8 +76,7 @@ class npc_vh_sinclari : public CreatureScript
73
76
switch (pInstance->GetData (DATA_ENCOUNTER_STATUS))
74
77
{
75
78
case NOT_STARTED:
76
- AddGossipItemFor (player, GOSSIP_MENU_ITEM, 0 , GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2 );
77
- AddGossipItemFor (player, GOSSIP_MENU_START_EVENT, 0 , GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1 );
79
+ AddGossipItemFor (player, GOSSIP_MENU_START_1, 0 , GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1 );
78
80
SendGossipMenuFor (player, NPC_TEXT_SINCLARI_IN, creature->GetGUID ());
79
81
break ;
80
82
case IN_PROGRESS:
@@ -94,13 +96,14 @@ class npc_vh_sinclari : public CreatureScript
94
96
switch (uiAction)
95
97
{
96
98
case GOSSIP_ACTION_INFO_DEF+1 :
99
+ AddGossipItemFor (player, GOSSIP_MENU_START_2, 0 , GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2 );
100
+ SendGossipMenuFor (player, NPC_TEXT_SINCLARI_START, creature->GetGUID ());
101
+ break ;
102
+ case GOSSIP_ACTION_INFO_DEF+2 :
97
103
CloseGossipMenuFor (player);
98
104
if (InstanceScript* pInstance = creature->GetInstanceScript ())
99
105
pInstance->SetData (DATA_START_INSTANCE, 1 );
100
106
break ;
101
- case GOSSIP_ACTION_INFO_DEF+2 :
102
- SendGossipMenuFor (player, NPC_TEXT_SINCLARI_ITEM, creature->GetGUID ());
103
- break ;
104
107
case GOSSIP_ACTION_INFO_DEF+3 :
105
108
player->NearTeleportTo (playerTeleportPosition.GetPositionX (), playerTeleportPosition.GetPositionY (), playerTeleportPosition.GetPositionZ (), playerTeleportPosition.GetOrientation (), true );
106
109
CloseGossipMenuFor (player);
0 commit comments