Guest User

Максим

a guest
Jan 13th, 2020
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.85 KB | None | 0 0
  1. diff -r 2d23fc779565 src/server/game/Scripting/ScriptLoader.cpp
  2. --- a/src/server/game/Scripting/ScriptLoader.cpp Mon Sep 12 23:41:29 2011 -0700
  3. +++ b/src/server/game/Scripting/ScriptLoader.cpp Thu Sep 15 21:44:36 2011 +0300
  4. @@ -23,6 +23,7 @@
  5. void AddSC_example_gossip_codebox();
  6. void AddSC_example_misc();
  7. void AddSC_example_commandscript();
  8. +void AddSC_DuelReset();
  9.  
  10. // spells
  11. void AddSC_deathknight_spell_scripts();
  12. @@ -1229,6 +1230,6 @@
  13. {
  14. #ifdef SCRIPTS
  15. /* This is where custom scripts should be added. */
  16. -
  17. + AddSC_DuelReset();
  18. #endif
  19. }
  20. diff -r 2d23fc779565 src/server/game/World/World.cpp
  21. --- a/src/server/game/World/World.cpp Mon Sep 12 23:41:29 2011 -0700
  22. +++ b/src/server/game/World/World.cpp Thu Sep 15 21:44:36 2011 +0300
  23. @@ -1184,6 +1184,11 @@
  24.  
  25. // MySQL ping time interval
  26. m_int_configs[CONFIG_DB_PING_INTERVAL] = ConfigMgr::GetIntDefault("MaxPingTime", 30);
  27. +
  28. + //Reset Duel Cooldown
  29. + m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.OnStart", false);
  30. + m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ON_FINISH] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.OnFinish", false);
  31. + m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Only.in.Elwynn.and.Durotar", false);
  32. + m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Max.Energy.OnStart", false);
  33. + m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_RESET_ENERGY_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Reset.Energy.OnStart", false);
  34.  
  35. sScriptMgr->OnConfigLoad(reload);
  36. }
  37. diff -r 2d23fc779565 src/server/game/World/World.h
  38. --- a/src/server/game/World/World.h Mon Sep 12 23:41:29 2011 -0700
  39. +++ b/src/server/game/World/World.h Thu Sep 15 21:44:36 2011 +0300
  40. @@ -163,6 +163,9 @@
  41. CONFIG_QUEST_IGNORE_AUTO_ACCEPT,
  42. CONFIG_QUEST_IGNORE_AUTO_COMPLETE,
  43. CONFIG_WARDEN_ENABLED,
  44. + CONFIG_DUEL_RESET_COOLDOWN_ON_START,
  45. + CONFIG_DUEL_RESET_COOLDOWN_ON_FINISH,
  46. + CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR,
  47. + CONFIG_DUEL_RESET_COOLDOWN_RESET_ENERGY_ON_START,
  48. + CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START,
  49. BOOL_CONFIG_VALUE_COUNT
  50. };
  51.  
  52. diff -r 2d23fc779565 src/server/scripts/Custom/CMakeLists.txt
  53. --- a/src/server/scripts/Custom/CMakeLists.txt Mon Sep 12 23:41:29 2011 -0700
  54. +++ b/src/server/scripts/Custom/CMakeLists.txt Thu Sep 15 21:44:36 2011 +0300
  55. @@ -10,6 +10,7 @@
  56.  
  57. set(scripts_STAT_SRCS
  58. ${scripts_STAT_SRCS}
  59. + Custom/duel_reset.cpp
  60. )
  61.  
  62. message(" -> Prepared: Custom")
  63. diff -r 2d23fc779565 src/server/scripts/Custom/duel_reset.cpp
  64. --- /dev/null Thu Jan 01 00:00:00 1970 +0000
  65. +++ b/src/server/scripts/Custom/duel_reset.cpp Thu Sep 15 21:44:36 2011 +0300
  66. @@ -0,0 +1,92 @@
  67. +#include "ScriptPCH.h"
  68. +#include "ScriptMgr.h"
  69. +#include "Config.h"
  70. +
  71. +class duel_reset : public PlayerScript
  72. +{
  73. +public:
  74. + duel_reset() : PlayerScript("duel_reset") {}
  75. +
  76. + void OnDuelEnd(Player *winner, Player *looser, DuelCompleteType type)
  77. + {
  78. + if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ON_FINISH))
  79. + {
  80. + if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR))
  81. + {
  82. + if(winner->GetZoneId() == 14 || winner->GetZoneId() == 12)
  83. + {
  84. + if (type == DUEL_WON)
  85. + {
  86. + winner->RemoveArenaSpellCooldowns();
  87. + looser->RemoveArenaSpellCooldowns();
  88. + winner->SetHealth(winner->GetMaxHealth());
  89. + looser->SetHealth(looser->GetMaxHealth());
  90. +
  91. + if (winner->getPowerType() == POWER_MANA)
  92. + winner->SetPower(POWER_MANA, winner->GetMaxPower(POWER_MANA));
  93. +
  94. + if (looser->getPowerType() == POWER_MANA)
  95. + looser->SetPower(POWER_MANA, looser->GetMaxPower(POWER_MANA));
  96. + }
  97. + winner->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
  98. + }
  99. + }
  100. +
  101. + else
  102. + if (type == DUEL_WON)
  103. + {
  104. + winner->RemoveArenaSpellCooldowns();
  105. + looser->RemoveArenaSpellCooldowns();
  106. + winner->SetHealth(winner->GetMaxHealth());
  107. + looser->SetHealth(looser->GetMaxHealth());
  108. +
  109. + if (winner->getPowerType() == POWER_MANA)
  110. + winner->SetPower(POWER_MANA, winner->GetMaxPower(POWER_MANA));
  111. +
  112. + if (looser->getPowerType() == POWER_MANA)
  113. + looser->SetPower(POWER_MANA, looser->GetMaxPower(POWER_MANA));
  114. + }
  115. + winner->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
  116. + }
  117. + }
  118. +
  119. + void OnDuelStart(Player *player1, Player *player2)
  120. + {
  121. + if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ON_START))
  122. + {
  123. + if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR))
  124. + {
  125. + if(player1->GetZoneId() == 14 || player1->GetZoneId() == 12)
  126. + {
  127. + player1->RemoveArenaSpellCooldowns();
  128. + player2->RemoveArenaSpellCooldowns();
  129. + player1->SetHealth(player1->GetMaxHealth());
  130. + player2->SetHealth(player2->GetMaxHealth());
  131. +
  132. + if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_RESET_ENERGY_ON_START))
  133. + {
  134. + switch (player1->getPowerType())
  135. + {
  136. + case POWER_RAGE:
  137. + player1->SetPower(POWER_RAGE, 0);
  138. + break;
  139. + case POWER_RUNIC_POWER:
  140. + player1->SetPower(POWER_RUNIC_POWER, 0);
  141. + break;
  142. + default:
  143. + break;
  144. + }
  145. +
  146. + switch (player2->getPowerType())
  147. + {
  148. + case POWER_RAGE:
  149. + player2->SetPower(POWER_RAGE, 0);
  150. + break;
  151. + case POWER_RUNIC_POWER:
  152. + player2->SetPower(POWER_RUNIC_POWER, 0);
  153. + break;
  154. + default:
  155. + break;
  156. + }
  157. + }
  158. +
  159. + if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START))
  160. + {
  161. + switch (player1->getPowerType())
  162. + {
  163. + case POWER_MANA:
  164. + player1->SetPower(POWER_MANA, player1->GetMaxPower(POWER_MANA));
  165. + break;
  166. + case POWER_RAGE:
  167. + player1->SetPower(POWER_RAGE, player1->GetMaxPower(POWER_RAGE));
  168. + break;
  169. + case POWER_RUNIC_POWER:
  170. + player1->SetPower(POWER_RUNIC_POWER, player1->GetMaxPower(POWER_RUNIC_POWER));
  171. + break;
  172. + default:
  173. + break;
  174. + }
  175. +
  176. + switch (player2->getPowerType())
  177. + {
  178. + case POWER_MANA:
  179. + player2->SetPower(POWER_MANA, player2->GetMaxPower(POWER_MANA));
  180. + break;
  181. + case POWER_RAGE:
  182. + player2->SetPower(POWER_RAGE, player2->GetMaxPower(POWER_RAGE));
  183. + break;
  184. + case POWER_RUNIC_POWER:
  185. + player2->SetPower(POWER_RUNIC_POWER, player2->GetMaxPower(POWER_RUNIC_POWER));
  186. + break;
  187. + default:
  188. + break;
  189. + }
  190. + }
  191. + }
  192. + }
  193. +
  194. + else
  195. + {
  196. + player1->RemoveArenaSpellCooldowns();
  197. + player2->RemoveArenaSpellCooldowns();
  198. + player1->SetHealth(player1->GetMaxHealth());
  199. + player2->SetHealth(player2->GetMaxHealth());
  200. +
  201. + if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START))
  202. + {
  203. + switch (player1->getPowerType())
  204. + {
  205. + case POWER_MANA:
  206. + player1->SetPower(POWER_MANA, player1->GetMaxPower(POWER_MANA));
  207. + break;
  208. + case POWER_RAGE:
  209. + player1->SetPower(POWER_RAGE, player1->GetMaxPower(POWER_RAGE));
  210. + break;
  211. + case POWER_RUNIC_POWER:
  212. + player1->SetPower(POWER_RUNIC_POWER, player1->GetMaxPower(POWER_RUNIC_POWER));
  213. + break;
  214. + default:
  215. + break;
  216. + }
  217. +
  218. + switch (player2->getPowerType())
  219. + {
  220. + case POWER_MANA:
  221. + player2->SetPower(POWER_MANA, player2->GetMaxPower(POWER_MANA));
  222. + break;
  223. + case POWER_RAGE:
  224. + player2->SetPower(POWER_RAGE, player2->GetMaxPower(POWER_RAGE));
  225. + break;
  226. + case POWER_RUNIC_POWER:
  227. + player2->SetPower(POWER_RUNIC_POWER, player2->GetMaxPower(POWER_RUNIC_POWER));
  228. + break;
  229. + default:
  230. + break;
  231. + }
  232. + }
  233. + }
  234. + }
  235. + }
  236. +};
  237. +
  238. +void AddSC_DuelReset()
  239. +{
  240. + new duel_reset();
  241. +}
  242. +
  243. diff -r 2d23fc779565 src/server/worldserver/worldserver.conf.dist
  244. --- a/src/server/worldserver/worldserver.conf.dist Mon Sep 12 23:41:29 2011 -0700
  245. +++ b/src/server/worldserver/worldserver.conf.dist Thu Sep 15 21:44:36 2011 +0300
  246. @@ -2771,3 +2771,33 @@
  247.  
  248. #
  249. ###################################################################################################
  250. +
  251. +###################################################################################################
  252. +# DUEL RESET COOLDOWN BY DIMITRO
  253. +#
  254. +# DuelReset.Cooldown.OnStart
  255. +# Reseting cooldown and restore health to start of duel.
  256. +# Default: 0 - Disable
  257. +# 1 - Enable
  258. +#
  259. +
  260. +DuelReset.Cooldown.OnStart = 0
  261. +
  262. +# DuelReset.Cooldown.OnFinish
  263. +# Reseting cooldown and restore health to finish of duel.
  264. +# Default: 0 - Disable
  265. +# 1 - Enable
  266. +#
  267. +
  268. +DuelReset.Cooldown.OnFinish = 0
  269. +
  270. +# DuelReset.Cooldown.Only.in.Elwynn.and.Durotar
  271. +# Reseting cooldown only in Elwynn forest and Durotar locations.
  272. +# Default: 0 - Disable
  273. +# 1 - Enable
  274. +#
  275. +
  276. +DuelReset.Cooldown.Only.in.Elwynn.and.Durotar = 0
  277. +
  278. +# DuelReset.Cooldown.Max.Energy.OnStart
  279. +# Sets rage, mana and runic power to max on duel start.
  280. +# Default: 0 - Disable
  281. +# 1 - Enable
  282. +#
  283. +
  284. +DuelReset.Cooldown.Max.Energy.OnStart = 0
  285. +
  286. +# DuelReset.Cooldown.Reset.Energy.OnStart
  287. +# Resets rage and runic power on duel start.
  288. +# Default: 0 - Disable
  289. +# 1 - Enable
  290. +#
  291. +
  292. +DuelReset.Cooldown.Reset.Energy.OnStart = 0
  293. +
  294. +#
  295. +###################################################################################################
Add Comment
Please, Sign In to add comment