fix(Core/GameObjectScript): Load ICC Scourge Teleport gossip from DB (#2192)
This commit is contained in:
committed by
Stoabrogga
parent
8d7272226c
commit
054c53b367
@@ -11,6 +11,16 @@
|
|||||||
|
|
||||||
#define GOSSIP_SENDER_ICC_PORT 631
|
#define GOSSIP_SENDER_ICC_PORT 631
|
||||||
|
|
||||||
|
enum ICCTeleportOption
|
||||||
|
{
|
||||||
|
ICC_TELEPORT_GOSSIP_OPT_LIGHTS_HAMMER = 0,
|
||||||
|
ICC_TELEPORT_GOSSIP_OPT_ORATORY_OF_THE_DAMNED = 1,
|
||||||
|
ICC_TELEPORT_GOSSIP_OPT_RAMPART_OF_SKULLS = 3,
|
||||||
|
ICC_TELEPORT_GOSSIP_OPT_DEATHBRINGERS_RISE = 4,
|
||||||
|
ICC_TELEPORT_GOSSIP_OPT_UPPER_SPIRE = 5,
|
||||||
|
ICC_TELEPORT_GOSSIP_OPT_SINDRAGOSAS_LAIR = 6
|
||||||
|
};
|
||||||
|
|
||||||
class icecrown_citadel_teleport : public GameObjectScript
|
class icecrown_citadel_teleport : public GameObjectScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -18,21 +28,41 @@ class icecrown_citadel_teleport : public GameObjectScript
|
|||||||
|
|
||||||
bool OnGossipHello(Player* player, GameObject* go) override
|
bool OnGossipHello(Player* player, GameObject* go) override
|
||||||
{
|
{
|
||||||
|
uint32 gossipMenuId = go->GetGOInfo()->GetGossipMenuId();
|
||||||
|
|
||||||
if (go->GetEntry() != GO_SCOURGE_TRANSPORTER_FIRST)
|
if (go->GetEntry() != GO_SCOURGE_TRANSPORTER_FIRST)
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to Light's Hammer.", GOSSIP_SENDER_ICC_PORT, LIGHT_S_HAMMER_TELEPORT); // M_PI + M_PI/6
|
AddGossipItemFor(
|
||||||
|
player, gossipMenuId, ICC_TELEPORT_GOSSIP_OPT_LIGHTS_HAMMER,
|
||||||
|
GOSSIP_SENDER_ICC_PORT, LIGHT_S_HAMMER_TELEPORT
|
||||||
|
); // M_PI + M_PI/6
|
||||||
|
|
||||||
if (InstanceScript* instance = go->GetInstanceScript())
|
if (InstanceScript* instance = go->GetInstanceScript())
|
||||||
{
|
{
|
||||||
if (instance->GetBossState(DATA_LORD_MARROWGAR) == DONE && go->GetEntry() != 202245)
|
if (instance->GetBossState(DATA_LORD_MARROWGAR) == DONE && go->GetEntry() != 202245)
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Oratory of the Damned.", GOSSIP_SENDER_ICC_PORT, ORATORY_OF_THE_DAMNED_TELEPORT); // M_PI + M_PI/6
|
AddGossipItemFor(
|
||||||
|
player, gossipMenuId, ICC_TELEPORT_GOSSIP_OPT_ORATORY_OF_THE_DAMNED,
|
||||||
|
GOSSIP_SENDER_ICC_PORT, ORATORY_OF_THE_DAMNED_TELEPORT
|
||||||
|
); // M_PI + M_PI/6
|
||||||
if (instance->GetBossState(DATA_LADY_DEATHWHISPER) == DONE && go->GetEntry() != 202243)
|
if (instance->GetBossState(DATA_LADY_DEATHWHISPER) == DONE && go->GetEntry() != 202243)
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Rampart of Skulls.", GOSSIP_SENDER_ICC_PORT, RAMPART_OF_SKULLS_TELEPORT); // M_PI/6
|
AddGossipItemFor(
|
||||||
|
player, gossipMenuId, ICC_TELEPORT_GOSSIP_OPT_RAMPART_OF_SKULLS,
|
||||||
|
GOSSIP_SENDER_ICC_PORT, RAMPART_OF_SKULLS_TELEPORT
|
||||||
|
); // M_PI/6
|
||||||
if (instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == DONE && go->GetEntry() != 202244)
|
if (instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == DONE && go->GetEntry() != 202244)
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Deathbringer's Rise.", GOSSIP_SENDER_ICC_PORT, DEATHBRINGER_S_RISE_TELEPORT); // M_PI/6
|
AddGossipItemFor(
|
||||||
|
player, gossipMenuId, ICC_TELEPORT_GOSSIP_OPT_DEATHBRINGERS_RISE,
|
||||||
|
GOSSIP_SENDER_ICC_PORT, DEATHBRINGER_S_RISE_TELEPORT
|
||||||
|
); // M_PI/6
|
||||||
if (instance->GetData(DATA_COLDFLAME_JETS) == DONE && go->GetEntry() != 202235)
|
if (instance->GetData(DATA_COLDFLAME_JETS) == DONE && go->GetEntry() != 202235)
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Upper Spire.", GOSSIP_SENDER_ICC_PORT, UPPER_SPIRE_TELEPORT); // M_PI/6
|
AddGossipItemFor(
|
||||||
|
player, gossipMenuId, ICC_TELEPORT_GOSSIP_OPT_UPPER_SPIRE,
|
||||||
|
GOSSIP_SENDER_ICC_PORT, UPPER_SPIRE_TELEPORT
|
||||||
|
); // M_PI/6
|
||||||
if (instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) == DONE && instance->GetBossState(DATA_SINDRAGOSA_GAUNTLET) == DONE && go->GetEntry() != 202246)
|
if (instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) == DONE && instance->GetBossState(DATA_SINDRAGOSA_GAUNTLET) == DONE && go->GetEntry() != 202246)
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to Sindragosa's Lair", GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT); // M_PI*3/2 + M_PI/6
|
AddGossipItemFor(
|
||||||
|
player, gossipMenuId, ICC_TELEPORT_GOSSIP_OPT_SINDRAGOSAS_LAIR,
|
||||||
|
GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT
|
||||||
|
); // M_PI*3/2 + M_PI/6
|
||||||
}
|
}
|
||||||
|
|
||||||
SendGossipMenuFor(player, player->GetGossipTextId(go), go->GetGUID());
|
SendGossipMenuFor(player, player->GetGossipTextId(go), go->GetGUID());
|
||||||
|
|||||||
Reference in New Issue
Block a user