Advertisement
faiver

emudevs summon bosses :)

Aug 8th, 2013
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.69 KB | None | 0 0
  1.  
  2. #include "ScriptMgr.h"
  3. #include "ScriptedCreature.h"
  4. #include "ScriptedGossip.h"
  5.  
  6. enum Bosses
  7. {
  8. BOSS_UNO = 29793, //Bfx CHANGE ME
  9. BOSS_DOS = 26577, //Bfx CHANGE ME
  10. BOSS_TRES = 29793, //Bfx CHANGE ME
  11. BOSS_CUATRO = 26577, //Bfx CHANGE ME
  12. BOSS_CINCO = 29793, //Bfx CHANGE ME
  13. BOSS_SEIS = 20870, //Bfx CHANGE ME
  14. BOSS_SIETE = 29793, //Bfx CHANGE ME
  15. BOSS_OCHO = 26577, //Bfx CHANGE ME
  16. BOSS_NUEVE = 29793, //Bfx CHANGE ME
  17. BOSS_DIES = 90001, //Bfx CHANGE ME
  18. BOSS_ONCE = 90000, //Bfx CHANGE ME
  19. BOSS_DOCE = 90001, //Bfx CHANGE ME
  20. BOSS_TRECE = 90000, //Bfx CHANGE ME
  21. BOSS_CATORCE = 90001, //Bfx CHANGE ME
  22. };
  23. enum items
  24. {
  25. ITEM_BADGE_OF_JUSITCE = 29434,
  26. };
  27.  
  28. enum actions
  29. {
  30. ACTION_BOSS_LIST = 2,
  31. ACTION_BOSS_UNO  = 5,
  32. ACTION_BOSS_DOS  = 6,
  33. ACTION_GOOD_BYE  = 99,
  34. };
  35.  
  36. /* Warning Do not Spawn Bosses that are linked to instances such as algalon Lich king and so on so fourth outside of an instance , doing so will cause the core to crash */
  37.  
  38.  
  39. class npc_player_summon_bosses : public CreatureScript
  40. {
  41. public: npc_player_summon_bosses() : CreatureScript("npc_player_summon_bosses") { }
  42.  
  43. bool OnGossipHello(Player *player, Creature *_creature)
  44. {
  45.            
  46.             player->ADD_GOSSIP_ITEM( 2, "I wish to Summon Some Bosses.", GOSSIP_SENDER_MAIN, ACTION_BOSS_LIST);
  47.             player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());        
  48.             return true;
  49. }
  50.  
  51. bool OnGossipSelect(Player *player, Creature *_creature, uint32 sender, uint32 uiAction)
  52.          {
  53.  
  54.                  if (player->IsInCombat())
  55.                  {
  56.                          player->CLOSE_GOSSIP_MENU();
  57.                          _creature->MonsterWhisper("You Must First Leave Combat!", player->GetGUID());
  58.                          return true;
  59.                  }
  60.  
  61.                  if (sender == GOSSIP_SENDER_MAIN)
  62.                  {
  63.                          player->PlayerTalkClass->ClearMenus();
  64.                          switch(uiAction)
  65.                          {
  66.                         case ACTION_BOSS_LIST: //Bfx Boss Choices
  67.                         {
  68.                                  player->ADD_GOSSIP_ITEM( 2, "Matar brujas", GOSSIP_SENDER_MAIN, ACTION_BOSS_UNO);
  69.                                  player->ADD_GOSSIP_ITEM( 2, "Completar mision sin matar brujas", GOSSIP_SENDER_MAIN, ACTION_BOSS_DOS);
  70.                                  player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
  71.                         }
  72.                                 break;
  73.                         case ACTION_BOSS_UNO: //Bfx Rename
  74.                                                 {
  75.                                  player->CLOSE_GOSSIP_MENU();
  76.                                  player->SummonCreature(BOSS_UNO, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  77.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  78.                                  player->SummonCreature(BOSS_TRES, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  79.                                  player->SummonCreature(BOSS_CUATRO, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  80.                                  player->SummonCreature(BOSS_CINCO, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  81.                                  player->SummonCreature(BOSS_SEIS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  82.                                  player->SummonCreature(BOSS_SIETE, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  83.                                  player->SummonCreature(BOSS_OCHO, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);        
  84.                                  _creature->MonsterYell("MORIRAS POR FEA JAJAJJAAJ", LANG_UNIVERSAL, NULL);
  85.                         }                    
  86.                               break;
  87.                         case ACTION_BOSS_DOS: //Bfx Rename
  88.                                                 {
  89.                                 player->CLOSE_GOSSIP_MENU();
  90.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  91.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  92.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  93.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  94.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  95.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);
  96.                                  player->SummonCreature(BOSS_DOS, _creature->GetPositionX()+(rand()%5), _creature->GetPositionY()+(rand()%5), _creature->GetPositionZ(), float(rand()%5), TEMPSUMMON_TIMED_DESPAWN, 500000);             
  97.                                 _creature->MonsterYell("QUE MANCO ERES xD", LANG_UNIVERSAL, NULL);
  98.                         }
  99.                                  break;
  100.                                                 case ACTION_GOOD_BYE: //Goodbye
  101.                                                 {
  102.                                  player->CLOSE_GOSSIP_MENU();
  103.                                                 }
  104.                                  break;
  105.                          default:
  106.                                  break;
  107.                          }
  108.                  }
  109.                  return true;
  110.          }
  111.            
  112.  
  113. };
  114. void AddSC_npc_player_summon_bosses()
  115. {
  116. new npc_player_summon_bosses();
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement