TrinityCore/TrinityCore — Issue #3923: AOEs having less radius than what tooltip says
Author: PKX
Created: 2011-11-11 17:27:05+00:00
State: open

Core revision: 583f6575e1976e177f6c0234bce1914cc91280ae
Db: TDB 335.11.43 + every update in this core revision

Afaik this bug is present in every revision.

>> Steps to reproduce the bug (having a gm account):
1) Find an attackable npc which stays in place and doesn't move (I used Booty Bay's guards);
2) using command .distance, position yourself 9.9y away from that npc (use 3D distance, NOT exact 3D);
3) cast an AOE of your choice which has 10y radius. For GTAOEs you can use ".cast #spellid" to cast it precisely at your coordinates.

What should happen: the npc is hit by the aoe.
What appens instead: the npc is not hit by the aoe (is out of range).

>> Steps to reproduce the bug (not having a gm account):
1) Take a rogue and a friend warrior (or whatever class han a 10y radius AOE), bring them to Gurubashi Arena (if they are of the same faction);
2) use the range check from rogue's untalented Blind spell to position yourself between 9-10y yards away from the warrior (note: DO NOT use talented Sap to do this, it won't work);
3) make the warrior cast Demoralizing Shout: you won't be hit.

By using .distance command and making some tries you'll discover that the AOE has an actual radius of 8.5y instead of 10y.
Every AOE has 1.5y radius less than the one written in tooltip.

Now, I know that every Unit has a fixed value (called COMBAT_REACH or MELEE_REACH if i remember right) which is used in calculating distance between 2 Unit and doing range checks for spells using a similar formula:

FinalRange = ExactDistanceBetweenUnits(Caster, Target) + Caster.MELEE_REACH + Target.MELEE_REACH

MELEE_REACH for Players is exactly 1.5y so my question is: Is this a bug or is normal because AOEs should not consider caster's MELEE_REACH? (if you think about it, an AOE is centered in a particular spot determined by coordinates so there is no reason why a point of size 0 should have a MELEE_REACH).