Advertisement
Guest User

Emucoach - Duel Reset

a guest
Aug 12th, 2019
441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2. #include "Config.h"
  3. #include "World.h"
  4.  
  5. class DuelResetCooldown : public PlayerScript
  6. {
  7. public:
  8. DuelResetCooldown() : PlayerScript("DuelResetCooldown") {}
  9.  
  10. void OnDuelStart(Player* player1, Player* player2)
  11. {
  12. player1->SetHealth(player1->GetMaxHealth());
  13. player2->SetHealth(player2->GetMaxHealth());
  14.  
  15. switch (player1->getPowerType())
  16. {
  17. case POWER_MANA:
  18. player1->SetPower(POWER_MANA, player1->GetMaxPower(POWER_MANA));
  19. break;
  20. case POWER_RAGE:
  21. player1->SetPower(POWER_RAGE, 0);
  22. break;
  23. case POWER_RUNIC_POWER:
  24. player1->SetPower(POWER_RUNIC_POWER, 0);
  25. break;
  26. case POWER_ECLIPSE:
  27. player1->SetPower(POWER_ECLIPSE, 0);
  28. break;
  29. case POWER_HOLY_POWER:
  30. player1->SetPower(POWER_HOLY_POWER, 0);
  31. break;
  32. }
  33.  
  34. switch (player2->getPowerType())
  35. {
  36. case POWER_MANA:
  37. player2->SetPower(POWER_MANA, player2->GetMaxPower(POWER_MANA));
  38. break;
  39. case POWER_RAGE:
  40. player2->SetPower(POWER_RAGE, 0);
  41. break;
  42. case POWER_RUNIC_POWER:
  43. player2->SetPower(POWER_RUNIC_POWER, 0);
  44. break;
  45. case POWER_ECLIPSE:
  46. player1->SetPower(POWER_ECLIPSE, 0);
  47. break;
  48. case POWER_HOLY_POWER:
  49. player1->SetPower(POWER_HOLY_POWER, 0);
  50. break;
  51. }
  52. }
  53.  
  54. void OnDuelEnd(Player* winner, Player* loser, DuelCompleteType type)
  55. {
  56. // reset cooldowns in Elewynn Forest and Durotar
  57. if (winner->GetAreaId() == (45) || winner->GetAreaId() == (45)) // Edit area with the wanted areaid here
  58. {
  59. winner->ResetAllPowers();
  60. winner->RemoveArenaSpellCooldowns(true);
  61. winner->CombatStop(true);
  62. winner->RemoveAurasDueToSpell(25771);
  63. loser->ResetAllPowers();
  64. loser->RemoveArenaSpellCooldowns(true);
  65. loser->CombatStop(true);
  66. loser->RemoveAurasDueToSpell(25771);
  67. }
  68. }
  69. };
  70.  
  71. void AddSC_DuelReset()
  72. {
  73. new DuelResetCooldown;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement