Guest User

Untitled

a guest
Dec 1st, 2017
352
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.19 KB | None | 0 0
  1. From b78a3d8223bdbb03fcfdf125137e1cae743a6462 Mon Sep 17 00:00:00 2001
  2. From: Schmoozerd <Schmoozerd@scriptdev2.com>
  3. Date: Wed, 16 Feb 2011 11:37:25 +0100
  4. Subject: [PATCH 1/8] Mirrored Soul - Limit Max-Targets for spell 69048
  5.  
  6. ---
  7. src/game/Spell.cpp | 1 +
  8. 1 files changed, 1 insertions(+), 0 deletions(-)
  9.  
  10. diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
  11. index 722e112..576ef37 100644
  12. --- a/src/game/Spell.cpp
  13. +++ b/src/game/Spell.cpp
  14. @@ -1574,6 +1574,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
  15. case 59870: // Glare of the Tribunal (h) (Halls of Stone)
  16. case 64218: // Overcharge
  17. case 68950: // Fear
  18. + case 69048: // Mirrored Soul (FoS)
  19. unMaxTargets = 1;
  20. break;
  21. case 28542: // Life Drain
  22. --
  23. 1.7.3.1.msysgit.0
  24.  
  25.  
  26. From a17eb9be643f8c44224132d3b0dc7a176e1b3a50 Mon Sep 17 00:00:00 2001
  27. From: Schmoozerd <schmoozerd@scriptdev2.com>
  28. Date: Thu, 18 Aug 2011 15:29:50 +0200
  29. Subject: [PATCH 2/8] Mirrored Soul - Add stacking exception
  30.  
  31. ---
  32. src/game/SpellMgr.cpp | 4 +++-
  33. 1 files changed, 3 insertions(+), 1 deletions(-)
  34.  
  35. diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
  36. index 1f8630d..6a4162a 100644
  37. --- a/src/game/SpellMgr.cpp
  38. +++ b/src/game/SpellMgr.cpp
  39. @@ -2389,7 +2389,9 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
  40.  
  41. // more generic checks
  42. if (spellInfo_1->SpellIconID == spellInfo_2->SpellIconID &&
  43. - spellInfo_1->SpellIconID != 0 && spellInfo_2->SpellIconID != 0)
  44. + spellInfo_1->SpellIconID != 0 && spellInfo_2->SpellIconID != 0
  45. + // exclude a few icons from this generic check
  46. + && spellInfo_1->SpellIconID != 3176 && spellInfo_1->SpellIconID != 3176) // Mirrored Soul (FoS - Devourer) - and other Boss spells
  47. {
  48. bool isModifier = false;
  49. for (int i = 0; i < MAX_EFFECT_INDEX; ++i)
  50. --
  51. 1.7.3.1.msysgit.0
  52.  
  53.  
  54. From 002141154643cbafe5d4fc7e7661918acf0993ef Mon Sep 17 00:00:00 2001
  55. From: Schmoozerd <Schmoozerd@scriptdev2.com>
  56. Date: Wed, 16 Feb 2011 11:42:22 +0100
  57. Subject: [PATCH 3/8] Mirrored Soul - Implement effect of 69048
  58.  
  59. 69051 should be cast in very unexpected way: no cast-time but SMSG_SPELL_CAST and MSG_CHANNEL_START
  60. ---
  61. src/game/SpellEffects.cpp | 11 +++++++++++
  62. 1 files changed, 11 insertions(+), 0 deletions(-)
  63.  
  64. diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
  65. index 1c7e2ab..ced4a96 100644
  66. --- a/src/game/SpellEffects.cpp
  67. +++ b/src/game/SpellEffects.cpp
  68. @@ -7313,6 +7313,17 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
  69. if (unitTarget)
  70. unitTarget->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true);
  71. return;
  72. + case 69048: // Mirrored Soul
  73. + {
  74. + if (!unitTarget)
  75. + return;
  76. +
  77. + // This is extremely strange!
  78. + // The spell should send MSG_CHANNEL_START, SMSG_SPELL_START
  79. + // However it has cast time 2s, but should send SMSG_SPELL_GO instantly.
  80. + m_caster->CastSpell(unitTarget, 69051, true);
  81. + return;
  82. + }
  83. case 69377: // Fortitude
  84. {
  85. if (!unitTarget)
  86. --
  87. 1.7.3.1.msysgit.0
  88.  
  89.  
  90. From 0b1ab3085ad3f4a6a3dc293272624151460cdd8b Mon Sep 17 00:00:00 2001
  91. From: Schmoozerd <Schmoozerd@scriptdev2.com>
  92. Date: Wed, 16 Feb 2011 11:55:05 +0100
  93. Subject: [PATCH 4/8] Mirrored Soul - Implement spell 69051, effect: Cast dmg-exchange aura 69023
  94.  
  95. ---
  96. src/game/SpellEffects.cpp | 9 +++++++++
  97. 1 files changed, 9 insertions(+), 0 deletions(-)
  98.  
  99. diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
  100. index ced4a96..307c45c 100644
  101. --- a/src/game/SpellEffects.cpp
  102. +++ b/src/game/SpellEffects.cpp
  103. @@ -7324,6 +7324,15 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
  104. m_caster->CastSpell(unitTarget, 69051, true);
  105. return;
  106. }
  107. + case 69051: // Mirrored Soul
  108. + {
  109. + if (!unitTarget)
  110. + return;
  111. +
  112. + // Actually this spell should be sent with SMSG_SPELL_START
  113. + unitTarget->CastSpell(m_caster, 69023, true);
  114. + return;
  115. + }
  116. case 69377: // Fortitude
  117. {
  118. if (!unitTarget)
  119. --
  120. 1.7.3.1.msysgit.0
  121.  
  122.  
  123. From 241418f9d6aa0f94e76b3211864954fbc9a0aafa Mon Sep 17 00:00:00 2001
  124. From: Schmoozerd <Schmoozerd@scriptdev2.com>
  125. Date: Wed, 16 Feb 2011 14:47:39 +0100
  126. Subject: [PATCH 5/8] Mirrored Soul - Implement procc event for 69023: Add dmg-exchange spell
  127.  
  128. ---
  129. src/game/UnitAuraProcHandler.cpp | 9 +++++++++
  130. 1 files changed, 9 insertions(+), 0 deletions(-)
  131.  
  132. diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp
  133. index 00b729c..0080e5a 100644
  134. --- a/src/game/UnitAuraProcHandler.cpp
  135. +++ b/src/game/UnitAuraProcHandler.cpp
  136. @@ -2977,6 +2977,15 @@ SpellAuraProcResult Unit::HandleProcTriggerSpellAuraProc(Unit *pVictim, uint32 d
  137. if (GetStat(STAT_AGILITY) > stat) { trigger_spell_id = 67772; }
  138. break;
  139. }
  140. + case 69023: // Mirrored Soul
  141. + {
  142. + int32 basepoints = (int32) (damage * 0.45f);
  143. + if (Unit* caster = triggeredByAura->GetCaster())
  144. + // Actually this spell should be sent with SMSG_SPELL_START
  145. + CastCustomSpell(caster, 69034, &basepoints, NULL, NULL, true, NULL, triggeredByAura, GetObjectGuid());
  146. +
  147. + return SPELL_AURA_PROC_OK;
  148. + }
  149. }
  150. break;
  151. case SPELLFAMILY_MAGE:
  152. --
  153. 1.7.3.1.msysgit.0
  154.  
  155.  
  156. From 66b38c3f6ad8c59f8ce43be8f678e9830fcc4673 Mon Sep 17 00:00:00 2001
  157. From: Schmoozerd <schmoozerd@scriptdev2.com>
  158. Date: Thu, 18 Aug 2011 14:05:24 +0200
  159. Subject: [PATCH 6/8] Wailing Souls - Implement 68912
  160.  
  161. ---
  162. src/game/Spell.cpp | 1 +
  163. src/game/SpellAuras.cpp | 9 +++++++++
  164. 2 files changed, 10 insertions(+), 0 deletions(-)
  165.  
  166. diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
  167. index 576ef37..1f4518b 100644
  168. --- a/src/game/Spell.cpp
  169. +++ b/src/game/Spell.cpp
  170. @@ -1574,6 +1574,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
  171. case 59870: // Glare of the Tribunal (h) (Halls of Stone)
  172. case 64218: // Overcharge
  173. case 68950: // Fear
  174. + case 68912: // Wailing Souls (FoS)
  175. case 69048: // Mirrored Soul (FoS)
  176. unMaxTargets = 1;
  177. break;
  178. diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
  179. index 92c5762..7cd2f35 100644
  180. --- a/src/game/SpellAuras.cpp
  181. +++ b/src/game/SpellAuras.cpp
  182. @@ -2141,6 +2141,15 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
  183. if (target->GetTypeId() == TYPEID_PLAYER)
  184. ((Player*)target)->removeSpell(63680);
  185. return;
  186. + case 68912: // Wailing Souls
  187. + if (Unit* caster = GetCaster())
  188. + {
  189. + caster->SetTargetGuid(target->GetObjectGuid());
  190. +
  191. + // TODO - this is confusing, it seems the boss should channel this aura, and start casting the next spell
  192. + caster->CastSpell(caster, 68899, false);
  193. + }
  194. + return;
  195. case 71342: // Big Love Rocket
  196. Spell::SelectMountByAreaAndSkill(target, GetSpellProto(), 71344, 71345, 71346, 71347, 0);
  197. return;
  198. --
  199. 1.7.3.1.msysgit.0
  200.  
  201.  
  202. From c4d8031cd1a78c2deab6be8360f1fcefac167204 Mon Sep 17 00:00:00 2001
  203. From: Schmoozerd <schmoozerd@scriptdev2.com>
  204. Date: Thu, 18 Aug 2011 14:15:48 +0200
  205. Subject: [PATCH 7/8] Wailing Souls - Implement spell 68871
  206.  
  207. ---
  208. src/game/SpellEffects.cpp | 6 ++++++
  209. 1 files changed, 6 insertions(+), 0 deletions(-)
  210.  
  211. diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
  212. index 307c45c..556e12e 100644
  213. --- a/src/game/SpellEffects.cpp
  214. +++ b/src/game/SpellEffects.cpp
  215. @@ -7313,6 +7313,12 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
  216. if (unitTarget)
  217. unitTarget->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true);
  218. return;
  219. + case 68871: // Wailing Souls
  220. + // Left or Right direction?
  221. + m_caster->CastSpell(m_caster, urand(0, 1) ? 68875 : 68876, false);
  222. + // Clear TargetGuid for sweeping
  223. + m_caster->SetTargetGuid(ObjectGuid());
  224. + return;
  225. case 69048: // Mirrored Soul
  226. {
  227. if (!unitTarget)
  228. --
  229. 1.7.3.1.msysgit.0
  230.  
  231.  
  232. From 3876b4688216f4c8147235dbcf678e5be7f3c964 Mon Sep 17 00:00:00 2001
  233. From: Schmoozerd <schmoozerd@scriptdev2.com>
  234. Date: Thu, 18 Aug 2011 14:30:11 +0200
  235. Subject: [PATCH 8/8] Wailing Souls - Implement sweeping spells 68875, 68876 - unfinished
  236.  
  237. ---
  238. src/game/SpellAuras.cpp | 14 ++++++++++++++
  239. 1 files changed, 14 insertions(+), 0 deletions(-)
  240.  
  241. diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
  242. index 7cd2f35..5d811a2 100644
  243. --- a/src/game/SpellAuras.cpp
  244. +++ b/src/game/SpellAuras.cpp
  245. @@ -7863,6 +7863,20 @@ void Aura::PeriodicDummyTick()
  246. target->CastSpell(target, 62593, true);
  247. return;
  248. }
  249. + case 68875: // Wailing Souls
  250. + case 68876: // Wailing Souls
  251. + {
  252. + // Sweep around
  253. + float newAngle = target->GetOrientation() + (spell->Id == 68875 ? 0.09f : 2*M_PI_F - 0.09f);
  254. + if (newAngle > 2*M_PI_F)
  255. + newAngle -= 2*M_PI_F;
  256. +
  257. + target->SetFacingTo(newAngle);
  258. +
  259. + // Should actually be SMSG_SPELL_START, too
  260. + target->CastSpell(target, 68873, true);
  261. + return;
  262. + }
  263. // Exist more after, need add later
  264. default:
  265. break;
  266. --
  267. 1.7.3.1.msysgit.0
Add Comment
Please, Sign In to add comment