Skip to content
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

[WIP] Core/Movement: Improve player movement (part 2) #67

Closed
wants to merge 9,828 commits into from

Conversation

kelno
Copy link
Member

@kelno kelno commented Oct 18, 2018

Continuation of PR #55
Discussion is still ongoing at TrinityCore/TrinityCore#18771

The problem is with active mover switching, part of this previous PR has been disabled.
Check TODOMOV in the master code to see the part to re enable when this is fixed.

  • When switching active mover, the client does start movement immediately then only receive the spline, resulting in a backward movement. The client always send two movement packet immediately when taking control, but those are are always discarded (and they may violate current unit move flags). How to fix this?
  • Pending changes timeout probably needs a fix. GetMSTime does restart to 0 over time.
  • LogoutPlayer instead of Kick?

kelno and others added 30 commits September 9, 2018 22:01
kelno and others added 25 commits October 15, 2018 12:05
- Unified movement packet time handling
- Improved movement packet time handling
- Removed some unused functions
- Save last client/server timestamps when receiving move packets
…ter the server was restarted and the instance loaded from DB data
…if creature_entry contains a spawnId not in creature table
* WIP

* Fixed broken CMSG_MOVE_SPLINE_DONE structure for TBC

* Improved SetMovedUnit logic + re enabled IsInClientControlSet checks + Protect CMSG_SET_ACTIVE_MOVER against not allowed guid given from client

* Restore walk after a CM from a Player

* Experimental implementation of CMSG_MOVE_TIME_SKIPPED

* Completely reworked Active Mover system. Reworked Movement Pending Changes. Reworked movement packet delay. Added some movement logging. Actually rewritten the whole server.

* (chaosdhib) fix the order of application of spell effects on spells with client control removal and speed movement change

based on observation of retail

* Various fixes + Implemented first version  of moveflags transfer when changing unit (not finished)

* Restored multiple units allowed control

* Fixed possible crash when changing mover

* Fixed active mover transfer spline movement incorrectly using mmaps

* More tweaks to active mover switching

* Fixes to active mover switching

* Fixed another bug with active mover change

* Implement timeout on active mover release, measure against cheating

* Fixed release timeout

* Disable part of the feature of this PR to make it usable and testable as is. Flag movement transfer on active change is disabled for now.
@kelno kelno force-pushed the master branch 2 times, most recently from 40b804d to 78ee128 Compare December 21, 2018 18:20
@kelno kelno closed this Feb 3, 2019
@kelno kelno deleted the playermovementrework2 branch September 15, 2019 16:40
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.

None yet

7 participants