coavins / mhrise-coavins-dps

A detailed DPS meter for Monster Hunter Rise (PC)
GNU General Public License v3.0
24 stars 11 forks source link

A lot of marionette damage is either missing or awarded to the wrong player #23

Closed coavins closed 2 years ago

coavins commented 2 years ago

Describe the bug When a player is mounting a monster with the wirebug, the damage dealt by that monster seems to be credited to player 1 internally by the game. There are also some moves that are not tracked through the existing hook at all.

Steps to Reproduce For example:

  1. Use default settings
  2. Enter quest with multiple players
  3. Mount monster as someone other than player 1
  4. See player 1 accumulate damage dealt by the monster

Expected behavior Damage dealt by mounted monsters should be awarded either to the monster or to the player who is riding them, preferably with an option to choose which one.

Additional context This will involve digging through a lot of the objects to find out where it keeps track of which player is riding which monster so we can identify when the attacker ID on marionette damage should be overridden.

We should also figure out exactly what damage is missed and how to track it.

coavins commented 2 years ago

Version 2.6.0 partially addresses this. An issue was fixed where player 1 would be sometimes credited with damage from monsters. This was because some monsters internally share the same "unique ID" with the first player. I fixed this by assigning these monsters new IDs in the monster cache.

Some monster damage is still missed, such as "launch" damage and some finishing moves.

coavins commented 2 years ago

Closing this issue since the main problem was resolved. Remaining work was captured in #31