Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
- index 21e4fe6..f4f5261 100644
- --- a/src/server/scripts/World/npcs_special.cpp
- +++ b/src/server/scripts/World/npcs_special.cpp
- @@ -392,6 +392,86 @@ public:
- }
- };
- +/*########
- +# npc_features_seller
- +#########*/
- +
- +#define GOSSIP_ITEM_CHANGE_NAME "Deseo cambiar mi nombre. tendras que relogear para que haga efecto"
- +#define GOSSIP_CONFIRM_CHANGE_NAME "Confirmar compra: cambio de nombre, tendras que relogear para que haga efecto"
- +#define GOSSIP_MONEY_CHANGE_NAME 25000000
- +#define GOSSIP_ACTION_CHANGE_NAME 1
- +
- +#define GOSSIP_ITEM_CHANGE_APPEARENCE "Deseo cambiar mi apariencia o genero. tendras que relogear para que haga efecto"
- +#define GOSSIP_CONFIRM_CHANGE_APPEARENCE "Confirmar compra: cambio de apariencia o genero, tendras que relogear para que haga efecto"
- +#define GOSSIP_MONEY_CHANGE_APPEARENCE 50000000
- +#define GOSSIP_ACTION_CHANGE_APPEARENCE 2
- +
- +#define GOSSIP_ITEM_CHANGE_RACE "Deseo cambiar mi raza. tendras que relogear para que haga efecto"
- +#define GOSSIP_CONFIRM_CHANGE_RACE "Confirmar compra: cambio de raza, tendras que relogear para que haga efecto"
- +#define GOSSIP_MONEY_CHANGE_RACE 100000000
- +#define GOSSIP_ACTION_CHANGE_RACE 3
- +
- +#define GOSSIP_ITEM_CHANGE_FACTION "Deseo cambiar mi faccion. tendras que relogear para que haga efecto"
- +#define GOSSIP_CONFIRM_CHANGE_FACTION "Confirmar compra: cambio de faccion, tendras que relogear para que haga efecto"
- +#define GOSSIP_MONEY_CHANGE_FACTION 250000000
- +#define GOSSIP_ACTION_CHANGE_FACTION 4
- +
- +#define GOSSIP_SELLER_TEXT 1
- +
- +class npc_features_seller : public CreatureScript
- +{
- + public:
- +
- + npc_features_seller() : CreatureScript("npc_features_seller") {}
- +
- + bool OnGossipHello(Player* player, Creature* creature)
- + {
- + player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_ITEM_CHANGE_NAME, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_CHANGE_NAME, GOSSIP_CONFIRM_CHANGE_NAME, GOSSIP_MONEY_CHANGE_NAME, false);
- + player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_ITEM_CHANGE_APPEARENCE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_CHANGE_APPEARENCE, GOSSIP_CONFIRM_CHANGE_APPEARENCE, GOSSIP_MONEY_CHANGE_APPEARENCE, false);
- + if (!((player->getClass() == CLASS_DRUID && player->getRace() == RACE_NIGHTELF) || (player->getClass() == CLASS_PALADIN && player->getRace() == RACE_BLOODELF)))
- + player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_ITEM_CHANGE_RACE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_CHANGE_RACE, GOSSIP_CONFIRM_CHANGE_RACE, GOSSIP_MONEY_CHANGE_RACE, false);
- + player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_ITEM_CHANGE_FACTION, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_CHANGE_FACTION, GOSSIP_CONFIRM_CHANGE_FACTION, GOSSIP_MONEY_CHANGE_FACTION, false);
- +
- + player->PlayerTalkClass->SendGossipMenu(GOSSIP_SELLER_TEXT, creature->GetGUID());
- + return true;
- + }
- +
- + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
- + {
- + player->PlayerTalkClass->ClearMenus();
- + switch (action)
- + {
- + case GOSSIP_ACTION_CHANGE_NAME:
- + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_NAME);
- + player->SetAtLoginFlag(AT_LOGIN_RENAME);
- + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de nombre", player->GetName().c_str(), player->GetGUID());
- + player->SaveToDB();
- + break;
- + case GOSSIP_ACTION_CHANGE_APPEARENCE:
- + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_APPEARENCE);
- + player->SetAtLoginFlag(AT_LOGIN_CUSTOMIZE);
- + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de apariencia", player->GetName().c_str(), player->GetGUID());
- + player->SaveToDB();
- + break;
- + case GOSSIP_ACTION_CHANGE_RACE:
- + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_RACE);
- + player->SetAtLoginFlag(AT_LOGIN_CHANGE_RACE);
- + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de raza", player->GetName().c_str(), player->GetGUID());
- + player->SaveToDB();
- + break;
- + case GOSSIP_ACTION_CHANGE_FACTION:
- + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_FACTION);
- + player->SetAtLoginFlag(AT_LOGIN_CHANGE_FACTION);
- + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de faccion", player->GetName().c_str(), player->GetGUID());
- + player->SaveToDB();
- + break;
- + }
- +
- + player->CLOSE_GOSSIP_MENU();
- + return true;
- + }
- +};
- +
- /*######
- ## npc_dancing_flames
- ######*/
- @@ -2769,6 +2849,7 @@ void AddSC_npcs_special()
- new npc_air_force_bots();
- new npc_lunaclaw_spirit();
- new npc_chicken_cluck();
- + new npc_features_seller();
- new npc_dancing_flames();
- new npc_doctor();
- new npc_injured_patient();
Advertisement
Add Comment
Please, Sign In to add comment