Code
#include "ScriptPCH.h"
enum ActNpcRename
{
ACT_RENAME = 1001,
ACT_CONFIRM = 1002
};
#define PRISE_RENAME_CHAR_COOPER 10000000 // стоимость смены ника в меди!
#define GOSSIP_RENAME_HELLO "Я бы хотел изменить свое имя, мне нужно скрыться"
#define GOSSIP_RENAME_CONFIRM "Это будет стоить 1000 золотых, вас устраивает?"
#define MSG_NOT_MONEY_FOR_RENAME "Проваливай, пусть тебя поймают, ничтожество!"
#define MSG_COMPLETE_RENAME "Готово, теперь выйди из игры и зайди снова, теперь они тебя не достанут!"
bool GossipHello_npc_rename(Player* pPlayer, Creature* pCreature)
{
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_RENAME_HELLO, GOSSIP_SENDER_MAIN, ACT_RENAME);
pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pCreature->GetGUID());
return true;
}
bool GossipSelect_npc_rename(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
if (uiSender != GOSSIP_SENDER_MAIN)
return false;
switch (uiAction)
{
case ACT_RENAME:
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_RENAME_CONFIRM, GOSSIP_SENDER_MAIN, ACT_CONFIRM);
pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pCreature->GetGUID());
break;
case ACT_CONFIRM:
if (pPlayer->GetMoney() < PRISE_RENAME_CHAR_SILVER)
{
pCreature->MonsterWhisper(MSG_NOT_MONEY_FOR_RENAME, pPlayer->GetGUID());
}else{
pCreature->MonsterWhisper(MSG_COMPLETE_RENAME, pPlayer->GetGUID());
pPlayer->ModifyMoney(-PRISE_RENAME_CHAR_COOPER);
pPlayer->pPlayer->SetAtLoginFlag(AT_LOGIN_RENAME);
}
pPlayer->CLOSE_GOSSIP_MENU();
break;
default:
pPlayer->CLOSE_GOSSIP_MENU();
}
return true;
}
void AddSC_npc_rename()