Aokromes

characters customizer

Mar 13th, 2016
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.16 KB | None | 0 0
  1. diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
  2. index 21e4fe6..f4f5261 100644
  3. --- a/src/server/scripts/World/npcs_special.cpp
  4. +++ b/src/server/scripts/World/npcs_special.cpp
  5. @@ -392,6 +392,86 @@ public:
  6. }
  7. };
  8.  
  9. +/*########
  10. +# npc_features_seller
  11. +#########*/
  12. +
  13. +#define GOSSIP_ITEM_CHANGE_NAME "Deseo cambiar mi nombre. tendras que relogear para que haga efecto"
  14. +#define GOSSIP_CONFIRM_CHANGE_NAME "Confirmar compra: cambio de nombre, tendras que relogear para que haga efecto"
  15. +#define GOSSIP_MONEY_CHANGE_NAME 25000000
  16. +#define GOSSIP_ACTION_CHANGE_NAME 1
  17. +
  18. +#define GOSSIP_ITEM_CHANGE_APPEARENCE "Deseo cambiar mi apariencia o genero. tendras que relogear para que haga efecto"
  19. +#define GOSSIP_CONFIRM_CHANGE_APPEARENCE "Confirmar compra: cambio de apariencia o genero, tendras que relogear para que haga efecto"
  20. +#define GOSSIP_MONEY_CHANGE_APPEARENCE 50000000
  21. +#define GOSSIP_ACTION_CHANGE_APPEARENCE 2
  22. +
  23. +#define GOSSIP_ITEM_CHANGE_RACE "Deseo cambiar mi raza. tendras que relogear para que haga efecto"
  24. +#define GOSSIP_CONFIRM_CHANGE_RACE "Confirmar compra: cambio de raza, tendras que relogear para que haga efecto"
  25. +#define GOSSIP_MONEY_CHANGE_RACE 100000000
  26. +#define GOSSIP_ACTION_CHANGE_RACE 3
  27. +
  28. +#define GOSSIP_ITEM_CHANGE_FACTION "Deseo cambiar mi faccion. tendras que relogear para que haga efecto"
  29. +#define GOSSIP_CONFIRM_CHANGE_FACTION "Confirmar compra: cambio de faccion, tendras que relogear para que haga efecto"
  30. +#define GOSSIP_MONEY_CHANGE_FACTION 250000000
  31. +#define GOSSIP_ACTION_CHANGE_FACTION 4
  32. +
  33. +#define GOSSIP_SELLER_TEXT 1
  34. +
  35. +class npc_features_seller : public CreatureScript
  36. +{
  37. + public:
  38. +
  39. + npc_features_seller() : CreatureScript("npc_features_seller") {}
  40. +
  41. + bool OnGossipHello(Player* player, Creature* creature)
  42. + {
  43. + 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);
  44. + 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);
  45. + if (!((player->getClass() == CLASS_DRUID && player->getRace() == RACE_NIGHTELF) || (player->getClass() == CLASS_PALADIN && player->getRace() == RACE_BLOODELF)))
  46. + 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);
  47. + 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);
  48. +
  49. + player->PlayerTalkClass->SendGossipMenu(GOSSIP_SELLER_TEXT, creature->GetGUID());
  50. + return true;
  51. + }
  52. +
  53. + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
  54. + {
  55. + player->PlayerTalkClass->ClearMenus();
  56. + switch (action)
  57. + {
  58. + case GOSSIP_ACTION_CHANGE_NAME:
  59. + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_NAME);
  60. + player->SetAtLoginFlag(AT_LOGIN_RENAME);
  61. + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de nombre", player->GetName().c_str(), player->GetGUID());
  62. + player->SaveToDB();
  63. + break;
  64. + case GOSSIP_ACTION_CHANGE_APPEARENCE:
  65. + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_APPEARENCE);
  66. + player->SetAtLoginFlag(AT_LOGIN_CUSTOMIZE);
  67. + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de apariencia", player->GetName().c_str(), player->GetGUID());
  68. + player->SaveToDB();
  69. + break;
  70. + case GOSSIP_ACTION_CHANGE_RACE:
  71. + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_RACE);
  72. + player->SetAtLoginFlag(AT_LOGIN_CHANGE_RACE);
  73. + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de raza", player->GetName().c_str(), player->GetGUID());
  74. + player->SaveToDB();
  75. + break;
  76. + case GOSSIP_ACTION_CHANGE_FACTION:
  77. + player->ModifyMoney(-GOSSIP_MONEY_CHANGE_FACTION);
  78. + player->SetAtLoginFlag(AT_LOGIN_CHANGE_FACTION);
  79. + sLog->outError(LOG_FILTER_GENERAL, "%s (GUID:%u) ha comprado un cambio de faccion", player->GetName().c_str(), player->GetGUID());
  80. + player->SaveToDB();
  81. + break;
  82. + }
  83. +
  84. + player->CLOSE_GOSSIP_MENU();
  85. + return true;
  86. + }
  87. +};
  88. +
  89. /*######
  90. ## npc_dancing_flames
  91. ######*/
  92. @@ -2769,6 +2849,7 @@ void AddSC_npcs_special()
  93. new npc_air_force_bots();
  94. new npc_lunaclaw_spirit();
  95. new npc_chicken_cluck();
  96. + new npc_features_seller();
  97. new npc_dancing_flames();
  98. new npc_doctor();
  99. new npc_injured_patient();
Advertisement
Add Comment
Please, Sign In to add comment