db/SAI: Move Kalaran Windblade script to SAI and improved scripting and gossip.

This commit is contained in:
Malcrom
2012-02-22 12:59:46 -03:30
parent c9748aaacc
commit 7da99c4589
2 changed files with 40 additions and 71 deletions
@@ -15,74 +15,4 @@
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* ScriptData
SDName: Searing_Gorge
SD%Complete: 80
SDComment: Quest support: 3441 (More accurate info on Kalaran needed).
SDCategory: Searing Gorge
EndScriptData */
/* ContentData
npc_kalaran_windblade
EndContentData */
#include "ScriptPCH.h"
/*######
## npc_kalaran_windblade
######*/
#define GOSSIP_HELLO_KW "Tell me what drives this vengance?"
#define GOSSIP_SELECT_KW1 "Continue please"
#define GOSSIP_SELECT_KW2 "Let me confer with my colleagues"
class npc_kalaran_windblade : public CreatureScript
{
public:
npc_kalaran_windblade() : CreatureScript("npc_kalaran_windblade") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
{
player->PlayerTalkClass->ClearMenus();
switch (uiAction)
{
case GOSSIP_ACTION_INFO_DEF:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KW1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(1954, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+1:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KW2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
player->SEND_GOSSIP_MENU(1955, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+2:
player->CLOSE_GOSSIP_MENU();
player->AreaExploredOrEventHappens(3441);
break;
}
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
{
if (creature->isQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
if (player->GetQuestStatus(3441) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_KW, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
return true;
}
};
/*######
##
######*/
void AddSC_searing_gorge()
{
new npc_kalaran_windblade();
}