Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adjusts playerbot combat movement/attack behavior to improve melee engagement logic and avoid a null-target path during attacks.
Changes:
- Refines
ReachMeleeAction::isUseful()to change when the bot decides to move into melee range. - Fixes
AttackAction::Attack()to returnfalsefor a null target regardless ofverbose, preventing unsafe fall-through.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
src/modules/Bots/playerbot/strategy/actions/ReachTargetActions.h |
Changes the usefulness condition for the “reach melee” action (when to close distance). |
src/modules/Bots/playerbot/strategy/actions/AttackAction.cpp |
Ensures Attack() returns early when target is null, independent of verbosity. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix to return false from Attack when no target. Pretty straightforward, that one.
The ReachMeleeAction for bots fixes a melee "dead zone" problem, and is more subtle, and needs explaining:
On the surface, it just looks like the code simply extends the melee range beyond the basic 1.5; and it does -- but it's not really the distance itself that was important, but the distance from the target "distance" (i.e. the difference).
You see, when the bot is told to move less than a minimal distance from target, no movement actually occurs. This is probably a great idea to prevent jittery micro-adjustments. However, the side effect was this: if you were 1.7 yards from your melee target, ReachMeleeAction would determine that you needed to move 0.2 yards and so prevent any other actions until you do so, which would then be rejected by the movement code for being too small. This kept the bot Frozen 0.2 yards away from the position at which it would be allowed to attack. So, by extending the difference between the target range and acceptable range to something larger than minimum, we guarantee it is either acceptable, or that the bot WILL move into range.
This change is