[X] I have searched this repository for an existing issue matching this description, and none exists. I understand this issue will be closed as a duplicate if this is not the case.
Tested platforms
[X] Windows
[ ] OSX
[X] Linux
Reproduction steps (if known)
Shoot someone with Venom Arrows
The shooter will see whom they hit as being Venomed, but the hit player and all others will not see the buff. This causes desync.
The shooter will see the hit player as Venomed and loosing health, even though no one else sees it like that. When the hit player syncs to the server (Packet ID 16), they will update their health, and it will jump back up. The Venom buff will also never be removed from the shooters perspective, as the hit player will never remove a debuff they don't know they have.
Additional information
The Venom buff (ID 70) is missing from the Main.pvpBuff array. Because of this, the following check in MessageBuffer when receiving packet 55 (AddPlayerBuff) fails:
// If we are a dedicated server, and the target isn't myself/the same player, and this is not a PvP buff
if (Main.netMode == 2 && num144 != this.whoAmI && !Main.pvpBuff[num145])
{
return;
}
Simply setting Main.pvpBuff[70] = true; would mitigate the issue.
Is there an existing issue for this?
Tested platforms
Reproduction steps (if known)
16
), they will update their health, and it will jump back up. The Venom buff will also never be removed from the shooters perspective, as the hit player will never remove a debuff they don't know they have.Additional information
The Venom buff (ID
70
) is missing from theMain.pvpBuff
array. Because of this, the following check inMessageBuffer
when receiving packet55
(AddPlayerBuff
) fails:Simply setting
Main.pvpBuff[70] = true;
would mitigate the issue.