Guest User

Untitled

a guest
Jun 20th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. #Attention Modify this (commit) in your repository to add the module Spell_Regulator
  2. #MODULE SPELL_REGULATOR FOR AZEROTHCORE 2018
  3.  
  4.  
  5. diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
  6. index bb7a89f..9fa3fad 100644
  7. --- a/src/server/game/Entities/Unit/Unit.cpp
  8. +++ b/src/server/game/Entities/Unit/Unit.cpp
  9. @@ -52,6 +52,7 @@
  10. #include "ArenaSpectator.h"
  11. #include "DynamicVisibility.h"
  12. #include "AccountMgr.h"
  13. +#include "../../../modules/mod-spellregulator/src/SpellRegulator.h"
  14.  
  15. #ifdef ELUNA
  16. #include "LuaEngine.h"
  17. @@ -690,7 +691,10 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
  18. // Hook for OnDamage Event
  19. sScriptMgr->OnDamage(attacker, victim, damage);
  20.  
  21. - if (victim->GetTypeId() == TYPEID_PLAYER && attacker != victim)
  22. + if ((damagetype == SPELL_DIRECT_DAMAGE || damagetype == DOT) && spellProto)
  23. + sSpellRegulator->Regulate(damage, spellProto->Id);
  24. +
  25. + if (victim->GetTypeId() == TYPEID_PLAYER && attacker != victim)
  26. {
  27. // Signal to pets that their owner was attacked
  28. Pet* pet = victim->ToPlayer()->GetPet();
  29. @@ -5578,6 +5582,7 @@ void Unit::SendSpellNonMeleeReflectLog(SpellNonMeleeDamage* log, Unit* attacker)
  30.  
  31. void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage* log)
  32. {
  33. + sSpellRegulator->Regulate(log->damage, log->SpellID);
  34. WorldPacket data(SMSG_SPELLNONMELEEDAMAGELOG, (16+4+4+4+1+4+4+1+1+4+4+1)); // we guess size
  35. data.append(log->target->GetPackGUID());
  36. data.append(log->attacker->GetPackGUID());
  37. @@ -5624,7 +5629,7 @@ void Unit::ProcDamageAndSpell(Unit* victim, uint32 procAttacker, uint32 procVict
  38. void Unit::SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* pInfo)
  39. {
  40. AuraEffect const* aura = pInfo->auraEff;
  41. -
  42. + sSpellRegulator->Regulate(pInfo->damage, aura->GetId());
  43. WorldPacket data(SMSG_PERIODICAURALOG, 30);
  44. data.append(GetPackGUID());
  45. data.appendPackGUID(aura->GetCasterGUID());
  46.  
  47. diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
  48. index 13fdf2c..6aae45a 100644
  49. --- a/src/server/scripts/Commands/cs_reload.cpp
  50. +++ b/src/server/scripts/Commands/cs_reload.cpp
  51. @@ -29,6 +29,7 @@ EndScriptData */
  52. #include "TicketMgr.h"
  53. #include "WardenCheckMgr.h"
  54. #include "WaypointManager.h"
  55. +#include "../../../modules/mod-spellregulator/src/SpellRegulator.h"
  56.  
  57. class reload_commandscript : public CommandScript
  58. {
  59. @@ -137,6 +138,7 @@ public:
  60. { "spell_target_position", SEC_ADMINISTRATOR, true, &HandleReloadSpellTargetPositionCommand, "" },
  61. { "spell_threats", SEC_ADMINISTRATOR, true, &HandleReloadSpellThreatsCommand, "" },
  62. { "spell_group_stack_rules", SEC_ADMINISTRATOR, true, &HandleReloadSpellGroupStackRulesCommand, "" },
  63. + { "spell_regulator", SEC_ADMINISTRATOR, true, &HandleReloadSpellRegulator, "" },
  64. { "trinity_string", SEC_ADMINISTRATOR, true, &HandleReloadTrinityStringCommand, "" },
  65. { "warden_action", SEC_ADMINISTRATOR, true, &HandleReloadWardenactionCommand, "" },
  66. { "waypoint_scripts", SEC_ADMINISTRATOR, true, &HandleReloadWpScriptsCommand, "" },
  67. @@ -185,6 +187,7 @@ public:
  68. HandleReloadAutobroadcastCommand(handler, "");
  69. HandleReloadBroadcastTextCommand(handler, "");
  70. HandleReloadBattlegroundTemplate(handler, "");
  71. + HandleReloadSpellRegulator(handler, "");
  72. return true;
  73. }
  74.  
  75. @@ -904,6 +907,15 @@ public:
  76. return true;
  77. }
  78.  
  79. + static bool HandleReloadSpellRegulator(ChatHandler* handler, char const* /*args*/)
  80. + {
  81. + #define sSpellRegulator SpellRegulator::instance()
  82. +
  83. + sSpellRegulator->LoadFromDB();
  84. + handler->SendGlobalGMSysMessage("DB table `spell_regulator` reloaded.");
  85. + return true;
  86. + }
  87. +
  88. static bool HandleReloadSpellPetAurasCommand(ChatHandler* handler, const char* /*args*/)
  89. {
  90. sLog->outString("Re-Loading Spell pet auras...");
Add Comment
Please, Sign In to add comment