diff options
author | Grindelwald <137000133@qq.com> | 2022-01-02 23:39:21 +0800 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-03-24 23:33:59 +0100 |
commit | e811387bdeced20f363f1ed7bfd4346b602af8e2 (patch) | |
tree | fdecc684cbeb1662abe38942f12adcb1895403df /src/server/scripts/World | |
parent | 8c25abca72772e2962bac7f460a567a943388a05 (diff) |
Update inkeeper content (#27507)
* Update localized hotel content
Update localized hotel content
* Using the database to display GOSSIP
The broadcast_text_locale has the relevant gossip_menu_option data, but C++'s strong coding makes them appear only in the default English.
(cherry picked from commit 27cb415c13aeda8c1aa16c207b414184ab2ad700)
Diffstat (limited to 'src/server/scripts/World')
-rw-r--r-- | src/server/scripts/World/npc_innkeeper.cpp | 55 |
1 files changed, 8 insertions, 47 deletions
diff --git a/src/server/scripts/World/npc_innkeeper.cpp b/src/server/scripts/World/npc_innkeeper.cpp index 81c8dc93548..9ff4931e12f 100644 --- a/src/server/scripts/World/npc_innkeeper.cpp +++ b/src/server/scripts/World/npc_innkeeper.cpp @@ -36,20 +36,11 @@ enum Spells SPELL_TREAT = 24715 }; -#define LOCALE_TRICK_OR_TREAT_0 "Trick or Treat!" -#define LOCALE_TRICK_OR_TREAT_2 "Des bonbons ou des blagues!" -#define LOCALE_TRICK_OR_TREAT_3 "Süßes oder Saures!" -#define LOCALE_TRICK_OR_TREAT_6 "¡Truco o trato!" - -#define LOCALE_INNKEEPER_0 "Make this inn my home." -#define LOCALE_INNKEEPER_2 "Faites de cette auberge votre foyer." -#define LOCALE_INNKEEPER_3 "Ich möchte dieses Gasthaus zu meinem Heimatort machen." -#define LOCALE_INNKEEPER_6 "Fija tu hogar en esta taberna." - -#define LOCALE_VENDOR_0 "I want to browse your goods." -#define LOCALE_VENDOR_2 "Je voudrais regarder vos articles." -#define LOCALE_VENDOR_3 "Ich sehe mich nur mal um." -#define LOCALE_VENDOR_6 "Quiero ver tus mercancías." +enum Npc +{ + NPC_GOSSIP_MENU = 9733, + NPC_GOSSIP_MENU_EVENT = 342, +}; class npc_innkeeper : public CreatureScript { @@ -63,46 +54,16 @@ public: bool OnGossipHello(Player* player) override { if (IsHolidayActive(HOLIDAY_HALLOWS_END) && !player->HasAura(SPELL_TRICK_OR_TREATED)) - { - char const* localizedEntry; - switch (player->GetSession()->GetSessionDbcLocale()) - { - case LOCALE_frFR: localizedEntry = LOCALE_TRICK_OR_TREAT_2; break; - case LOCALE_deDE: localizedEntry = LOCALE_TRICK_OR_TREAT_3; break; - case LOCALE_esES: localizedEntry = LOCALE_TRICK_OR_TREAT_6; break; - case LOCALE_enUS: default: localizedEntry = LOCALE_TRICK_OR_TREAT_0; - } - AddGossipItemFor(player, GossipOptionIcon::None, localizedEntry, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } + AddGossipItemFor(player, NPC_GOSSIP_MENU_EVENT, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (me->IsQuestGiver()) player->PrepareQuestMenu(me->GetGUID()); if (me->IsVendor()) - { - char const* localizedEntry; - switch (player->GetSession()->GetSessionDbcLocale()) - { - case LOCALE_frFR: localizedEntry = LOCALE_VENDOR_2; break; - case LOCALE_deDE: localizedEntry = LOCALE_VENDOR_3; break; - case LOCALE_esES: localizedEntry = LOCALE_VENDOR_6; break; - case LOCALE_enUS: default: localizedEntry = LOCALE_VENDOR_0; - } - AddGossipItemFor(player, GossipOptionIcon::Vendor, localizedEntry, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - } + AddGossipItemFor(player, NPC_GOSSIP_MENU, 2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (me->IsInnkeeper()) - { - char const* localizedEntry; - switch (player->GetSession()->GetSessionDbcLocale()) - { - case LOCALE_frFR: localizedEntry = LOCALE_INNKEEPER_2; break; - case LOCALE_deDE: localizedEntry = LOCALE_INNKEEPER_3; break; - case LOCALE_esES: localizedEntry = LOCALE_INNKEEPER_6; break; - case LOCALE_enUS: default: localizedEntry = LOCALE_INNKEEPER_0; - } - AddGossipItemFor(player, GossipOptionIcon::Binder, localizedEntry, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INN); - } + AddGossipItemFor(player, NPC_GOSSIP_MENU, 1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INN); player->TalkedToCreature(me->GetEntry(), me->GetGUID()); SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID()); |