From 3359839a9bf16bc74ba1b156f31c1e078edd50cd Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Wed, 2 Oct 2024 21:25:35 -0400 Subject: [PATCH] [Bug Fix] Fix Targeted AOE Max Targets Rule (#4488) --- common/ruletypes.h | 2 +- zone/effects.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/ruletypes.h b/common/ruletypes.h index e2df23f4b..24998930a 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -475,7 +475,6 @@ RULE_BOOL(Spells, OldRainTargets, false, "Use old incorrectly implemented maximu RULE_REAL(Spells, CallOfTheHeroAggroClearDist, 250.0, "Distance at which CoTH will wipe aggro. To disable and always enable aggro wipe on any distance of CoTH, set to 0.") RULE_BOOL(Spells, NPCSpellPush, false, "Enable spell push on NPCs") RULE_BOOL(Spells, July242002PetResists, true, "Enable Pets using PCs resist change from July 24 2002") -RULE_INT(Spells, AOEMaxTargets, 0, "Max number of targets a Targeted AOE spell can cast on. Set to 0 for no limit.") RULE_BOOL(Spells, CazicTouchTargetsPetOwner, true, "If True, causes Cazic Touch to swap targets from pet to pet owner if a pet is tanking.") RULE_BOOL(Spells, PreventFactionWarOnCharmBreak, false, "Enable spell interupts and dot removal on charm break to prevent faction wars.") RULE_BOOL(Spells, AllowDoubleInvis, true, "Allows you to cast invisibility spells on a player that is already invisible, live like behavior.") @@ -515,6 +514,7 @@ RULE_BOOL(Spells, UseClassicSpellFocus, false, "Enabling will tell the server to RULE_BOOL(Spells, ManaTapsOnAnyClass, false, "Enabling this will allow you to cast mana taps on any class, this will bypass ManaTapsRequireNPCMana rule.") RULE_INT(Spells, HealAmountMessageFilterThreshold, 100, "Lifetaps below this threshold will not have a message sent to the client (Heal will still process) 0 to Disable.") RULE_BOOL(Spells, SnareOverridesSpeedBonuses, false, "Enabling will allow snares to override any speed bonuses the entity may have. Default: False") +RULE_INT(Spells, TargetedAOEMaxTargets, 4, "Max number of targets a Targeted AOE spell can cast on. Set to 0 for no limit.") RULE_CATEGORY_END() RULE_CATEGORY(Combat) diff --git a/zone/effects.cpp b/zone/effects.cpp index f69333fb8..f97d5e8b5 100644 --- a/zone/effects.cpp +++ b/zone/effects.cpp @@ -1096,7 +1096,7 @@ void EntityList::AESpell( max_targets = nullptr; } - int max_targets_allowed = RuleI(Range, AOEMaxTargets); // unlimited + int max_targets_allowed = 4; if (max_targets) { // rains pass this in since they need to preserve the count through waves max_targets_allowed = *max_targets; } else if (spells[spell_id].aoe_max_targets) { @@ -1108,7 +1108,7 @@ void EntityList::AESpell( !IsEffectInSpell(spell_id, SE_Lull) && !IsEffectInSpell(spell_id, SE_Mez) ) { - max_targets_allowed = 4; + max_targets_allowed = RuleI(Spells, TargetedAOEMaxTargets); } int target_hit_counter = 0;