Skip to content

Improve dynamic tree for movement#3463

Open
Gamemechanicwow wants to merge 5 commits into
vmangos:developmentfrom
Gamemechanicwow:fix-dyn-tree-for-movement
Open

Improve dynamic tree for movement#3463
Gamemechanicwow wants to merge 5 commits into
vmangos:developmentfrom
Gamemechanicwow:fix-dyn-tree-for-movement

Conversation

@Gamemechanicwow

Copy link
Copy Markdown
Contributor

🍰 Pullrequest

Implemented a new parameter to be passed down to the BIH tree.

stopAtFirst = true -- used for LOS, we are only interested in if a hit occurs
stopAtFirst = false -- used for Pathing, we are interested in the closest hit

Reverts
fdefcaf
-> and follow up commit -> ad73645
also reverses parts of 7ae72b3 and its follow up commits, as that check is no longer needed.

PathInfo::CutPathWithDynamicLoS()
now checks slightly above ground, this matches the code in Map::GetWalkHitPosition

Map::GetWalkHitPosition - mmap related
Hitnormal logic changed to match documentation. this includes an early return

FollowMovementGenerator
This has no dyn tree check. I assume its intended

WIP
I am marking this PR as draft - i have yet to do some largescale testing.

Proof

  • None

Issues

  • None

How2Test

  • None

Todo / Checklist

  • None

@mserajnik

Copy link
Copy Markdown
Contributor

This fixes #3460, #3461 and #3464, I assume?

@Wall-core

Copy link
Copy Markdown
Contributor

yes, it should

@jianggn

jianggn commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

i have tested the following dungeons yesterday, this pr performed well in:
map36 Deadmines
map90 Gnomeragon
map230 BlackrockDepths
map409 MoltenCore
map429 DireMaul
map469 BlackwingLair

btw hunter&warlock's pets got stuck no more.
Nice job!

parameter forwarding
based on documentation

/// If the hit parameter is zero, then the start position is on the wall that
/// was hit and the value of @p hitNormal is undefined.
///
/// If 0 < t < 1.0 then the following applies:
///
/// @code
/// distanceToHitBorder = distanceToEndPosition * t
/// hitPoint = startPos + (endPos - startPos) * t
/// @Endcode
this matches code used for blink
@Gamemechanicwow Gamemechanicwow force-pushed the fix-dyn-tree-for-movement branch from 3f56060 to 9efd1bd Compare June 29, 2026 16:22
@Gamemechanicwow Gamemechanicwow marked this pull request as ready for review June 29, 2026 19:13
@Gamemechanicwow

Copy link
Copy Markdown
Contributor Author

PR is now ready for review.

@ratkosrb

Copy link
Copy Markdown
Contributor

Have you tested blinking through doors to make sure you didn't break that? It shouldn't be possible to blink through a door no matter the angle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants