mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 01:15:35 +01:00
Core/Scripts: convert script npcs_riverbreeze_and_silversky to SAI (#17690)
Move script npcs_riverbreeze_and_silversky to SAI, thereby removing one line of hardcoded text. - Remove core script npcs_riverbreeze_and_silversky - Create SAI script for gossip event Cenarion Beacon - Add missing gossip_menu for plant description - Add missing creature_text about Cenarion Beacon - Add and correct conditions for gossip availability
This commit is contained in:
@@ -19,12 +19,12 @@
|
||||
/* ScriptData
|
||||
SDName: Felwood
|
||||
SD%Complete: 95
|
||||
SDComment: Quest support: 4101, 4102
|
||||
SDComment: Quest support: 7632
|
||||
SDCategory: Felwood
|
||||
EndScriptData */
|
||||
|
||||
/* ContentData
|
||||
npcs_riverbreeze_and_silversky
|
||||
at_ancient_leaf
|
||||
EndContentData */
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
@@ -32,74 +32,6 @@ EndContentData */
|
||||
#include "ScriptedGossip.h"
|
||||
#include "Player.h"
|
||||
|
||||
/*######
|
||||
## npcs_riverbreeze_and_silversky
|
||||
######*/
|
||||
|
||||
#define GOSSIP_ITEM_BEACON "Please make me a Cenarion Beacon"
|
||||
|
||||
enum RiverbreezeAndSilversky
|
||||
{
|
||||
SPELL_CENARION_BEACON = 15120,
|
||||
|
||||
NPC_ARATHANDRIS_SILVERSKY = 9528,
|
||||
NPC_MAYBESS_RIVERBREEZE = 9529,
|
||||
|
||||
QUEST_CLEASING_FELWOOD_A = 4101,
|
||||
QUEST_CLEASING_FELWOOD_H = 4102
|
||||
};
|
||||
|
||||
class npcs_riverbreeze_and_silversky : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npcs_riverbreeze_and_silversky() : CreatureScript("npcs_riverbreeze_and_silversky") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
if (action == GOSSIP_ACTION_INFO_DEF+1)
|
||||
{
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
creature->CastSpell(player, SPELL_CENARION_BEACON, false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
uint32 creatureId = creature->GetEntry();
|
||||
|
||||
if (creatureId == NPC_ARATHANDRIS_SILVERSKY)
|
||||
{
|
||||
if (player->GetQuestRewardStatus(QUEST_CLEASING_FELWOOD_A))
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
player->SEND_GOSSIP_MENU(2848, creature->GetGUID());
|
||||
} else if (player->GetTeam() == HORDE)
|
||||
player->SEND_GOSSIP_MENU(2845, creature->GetGUID());
|
||||
else
|
||||
player->SEND_GOSSIP_MENU(2844, creature->GetGUID());
|
||||
}
|
||||
|
||||
if (creatureId == NPC_MAYBESS_RIVERBREEZE)
|
||||
{
|
||||
if (player->GetQuestRewardStatus(QUEST_CLEASING_FELWOOD_H))
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
player->SEND_GOSSIP_MENU(2849, creature->GetGUID());
|
||||
} else if (player->GetTeam() == ALLIANCE)
|
||||
player->SEND_GOSSIP_MENU(2843, creature->GetGUID());
|
||||
else
|
||||
player->SEND_GOSSIP_MENU(2842, creature->GetGUID());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## at_ancient_leaf
|
||||
######*/
|
||||
@@ -138,6 +70,5 @@ class at_ancient_leaf : public AreaTriggerScript
|
||||
|
||||
void AddSC_felwood()
|
||||
{
|
||||
new npcs_riverbreeze_and_silversky();
|
||||
new at_ancient_leaf();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user