-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Core/Spells: Improve teleport destination for a certain class of spel… #20434
Conversation
src/server/game/Spells/Spell.cpp
Outdated
dist = objSize + (dist - objSize) * float(rand_norm()); | ||
float dist = m_spellInfo->Effects[effIndex].CalcRadius(nullptr); | ||
if (targetType.GetTarget() == TARGET_DEST_TARGET_RANDOM) | ||
dist = dist * float(rand_norm()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dist *= float(rand_norm());
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changed. thanks.
…l (Killing Spree, Shadowstep, ...) Close # 8758
ec7240d
to
bac8761
Compare
I analysed Shadowstep. The radius of teleportation in dbc is 2.0y. However, we can see from sniffs that in practise, it's actually 4 yards. A correction is therefore needed. I assume it's an occurrence where the DBC client file does not contain the most updated values used in the server. |
Its still 2.0 even in legion - maybe that remaining 2 comes from somewhere else? casters or target combat reach? the mysterious bounding radius? |
I don't think there is another field in the formula other than the spell radius. Because if there is one, the formula should stay valid for every spell of the same category. However, I looked at other spells within the same category (the ones with a spell effect using Spell Target 64 to 71) and so far, the actual distance was just the spell radius. Nothing more. Granted that I need to analyze more spells before feeling confident about that unproven fact. Also several spells with the name 'Shadowstep' (but not the one used by rogues) also have a 4 yards teleport radius. All these points points me toward the 'DBC data in client file not up to date' explanation. PS: I believe Shadowstep is not in Legion anymore. It was replaced by Shadowstrike (?). PS2: The combat reach for players is 1.5y and their bounding radius is 0.383 (yards?). It doesn't adds up. |
No, rogues still have shadowstep (with 2 charges) in legion As for the range - i have no more ideas |
This was not ready to be merged. because |
Well, there was no [WIP] tag on it so I assumed it was ready |
Changes proposed:
Spell::SelectImplicitTargetDestTargets
to be more specific.Target branch(es): 3.3.5
Issues addressed: Closes #8758
Tests performed: (Does it build, tested in-game, etc.)
Tested IG. Appears to work well.
Known issues and TODO list:
Nothing that I'm aware of but tests should be made because this change affects a whole class of spells.