From 4409189def66cf26ddd62c4b0894873aa1407df3 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 13 Jun 2023 04:51:40 -0400 Subject: [PATCH] Scripts/Spells: Implement Healing Chorus Port From (https://github.com/TrinityCore/TrinityCore/commit/cd10bf5052c1cb880125c159e97f1a295561774d) --- Source/Scripts/Spells/Priest.cs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Source/Scripts/Spells/Priest.cs b/Source/Scripts/Spells/Priest.cs index da43c956e..af737c9fa 100644 --- a/Source/Scripts/Spells/Priest.cs +++ b/Source/Scripts/Spells/Priest.cs @@ -314,6 +314,32 @@ namespace Scripts.Spells.Priest } } + [Script] // 204883 - Circle of Healing + class spell_pri_circle_of_healing : SpellScript + { + public override bool Validate(SpellInfo spellInfo) + { + return ValidateSpellEffect(spellInfo.Id, 1); + } + + void FilterTargets(List targets) + { + // Note: we must remove one since target is always chosen. + uint maxTargets = (uint)(GetSpellInfo().GetEffect(1).CalcValue(GetCaster()) - 1); + + SelectRandomInjuredTargets(targets, maxTargets, true); + + Unit explicitTarget = GetExplTargetUnit(); + if (explicitTarget != null) + targets.Insert(0, explicitTarget); + } + + public override void Register() + { + OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(FilterTargets, 0, Targets.UnitDestAreaAlly)); + } + } + [Script] // 64844 - Divine Hymn class spell_pri_divine_hymn : SpellScript {