feat(Misc): switch to new api gossip and config

This commit is contained in:
Winfidonarleyan
2021-06-19 03:23:14 +07:00
parent 403e416e05
commit 51ff336a1c

View File

@@ -37,7 +37,7 @@ enum Trainers
ROGUE_H = 3401, ROGUE_H = 3401,
SHAMAN_H = 3344, SHAMAN_H = 3344,
WARLOCK_H = 3324, WARLOCK_H = 3324,
WARRIOR_H = 3354, WARRIOR_H = 3354,
DEATHKNIGHT_AH = 28472 DEATHKNIGHT_AH = 28472
}; };
@@ -63,8 +63,8 @@ public:
bool OnUse(Player* player, Item* item, SpellCastTargets const& /*targets*/) override bool OnUse(Player* player, Item* item, SpellCastTargets const& /*targets*/) override
{ {
if (!sConfigMgr->GetBoolDefault("PremiumAccount", true)) if (!sConfigMgr->GetOption<bool>("PremiumAccount", true))
return false; return false;
QueryResult result = CharacterDatabase.PQuery("SELECT AccountId FROM premium WHERE active = 1 AND AccountId = %u", player->GetSession()->GetAccountId()); QueryResult result = CharacterDatabase.PQuery("SELECT AccountId FROM premium WHERE active = 1 AND AccountId = %u", player->GetSession()->GetAccountId());
@@ -100,24 +100,24 @@ public:
player->FindNearestCreature(DEATHKNIGHT_AH, rangeCheck)) player->FindNearestCreature(DEATHKNIGHT_AH, rangeCheck))
return false; return false;
player->PlayerTalkClass->ClearMenus(); ClearGossipMenuFor(player);
if (sConfigMgr->GetBoolDefault("Morph", true)) if (sConfigMgr->GetOption<bool>("Morph", true))
{ {
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Morph", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Morph", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Demorph", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Demorph", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
} }
if (sConfigMgr->GetBoolDefault("Mount", true)) if (sConfigMgr->GetOption<bool>("Mount", true))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_16, "Mount", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); AddGossipItemFor(player, GOSSIP_ICON_CHAT_16, "Mount", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
if (sConfigMgr->GetBoolDefault("Trainers", true)) if (sConfigMgr->GetOption<bool>("Trainers", true))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
if (sConfigMgr->GetBoolDefault("PlayerInteraction", true)) if (sConfigMgr->GetOption<bool>("PlayerInteraction", true))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Player interactions", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Player interactions", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, item->GetGUID()); SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, item->GetGUID());
return false; // Cast the spell on use normally return false; // Cast the spell on use normally
} }
@@ -128,14 +128,14 @@ public:
{ {
case GOSSIP_ACTION_INFO_DEF + 1: /*Morph*/ case GOSSIP_ACTION_INFO_DEF + 1: /*Morph*/
{ {
player->CLOSE_GOSSIP_MENU(); CloseGossipMenuFor(player);
ApplyRandomMorph(player); ApplyRandomMorph(player);
break; break;
} }
case GOSSIP_ACTION_INFO_DEF + 2: /*Demorph*/ case GOSSIP_ACTION_INFO_DEF + 2: /*Demorph*/
{ {
player->DeMorph(); player->DeMorph();
player->CLOSE_GOSSIP_MENU(); CloseGossipMenuFor(player);
break; break;
} }
case GOSSIP_ACTION_INFO_DEF + 3: /*Show Bank*/ case GOSSIP_ACTION_INFO_DEF + 3: /*Show Bank*/
@@ -162,12 +162,12 @@ public:
} }
SummonTempNPC(player, vendorId, salute.c_str()); SummonTempNPC(player, vendorId, salute.c_str());
player->CLOSE_GOSSIP_MENU(); CloseGossipMenuFor(player);
break; break;
} }
case GOSSIP_ACTION_INFO_DEF + 6: /*Mount*/ case GOSSIP_ACTION_INFO_DEF + 6: /*Mount*/
{ {
player->CLOSE_GOSSIP_MENU(); CloseGossipMenuFor(player);
switch (player->getRace()) switch (player->getRace())
{ {
case RACE_HUMAN: player->CastSpell(player, HUMAN_MOUNT); break; case RACE_HUMAN: player->CastSpell(player, HUMAN_MOUNT); break;
@@ -199,7 +199,7 @@ public:
} }
SummonTempNPC(player, auctionId, salute.c_str()); SummonTempNPC(player, auctionId, salute.c_str());
player->CLOSE_GOSSIP_MENU(); CloseGossipMenuFor(player);
break; break;
} }
case GOSSIP_ACTION_INFO_DEF + 8: /* Class Trainers*/ case GOSSIP_ACTION_INFO_DEF + 8: /* Class Trainers*/
@@ -240,26 +240,26 @@ public:
} }
SummonTempNPC(player, trainerId); SummonTempNPC(player, trainerId);
player->CLOSE_GOSSIP_MENU(); CloseGossipMenuFor(player);
break; break;
} }
case GOSSIP_ACTION_INFO_DEF + 9: /*Player Interactions*/ case GOSSIP_ACTION_INFO_DEF + 9: /*Player Interactions*/
{ {
player->PlayerTalkClass->ClearMenus(); ClearGossipMenuFor(player);
if (sConfigMgr->GetBoolDefault("Vendor", true)) if (sConfigMgr->GetOption<bool>("Vendor", true))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Vendor", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); AddGossipItemFor(player, GOSSIP_ICON_VENDOR, "Vendor", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
if (sConfigMgr->GetBoolDefault("MailBox", true)) if (sConfigMgr->GetOption<bool>("MailBox", true))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Mail Box", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); AddGossipItemFor(player, GOSSIP_ICON_VENDOR, "Mail Box", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
if (sConfigMgr->GetBoolDefault("Bank", true)) if (sConfigMgr->GetOption<bool>("Bank", true))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Show Bank", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); AddGossipItemFor(player, GOSSIP_ICON_VENDOR, "Show Bank", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
if (sConfigMgr->GetBoolDefault("Auction", true)) if (sConfigMgr->GetOption<bool>("Auction", true))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Auction House", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); AddGossipItemFor(player, GOSSIP_ICON_VENDOR, "Auction House", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, item->GetGUID()); SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, item->GetGUID());
break; break;
} }
} }