MR-5: FlyTarget fixes

This commit is contained in:
Mind Rapist
2025-12-29 00:21:32 +02:00
parent 387d7bf72d
commit 55b2d70459
6 changed files with 62 additions and 8 deletions

View File

@@ -1142,10 +1142,38 @@ bool CPythonNetworkStream::SendCharacterStatePacket(const TPixelPosition& c_rkPP
// NOTE : SlotIndex는 임시
bool CPythonNetworkStream::SendUseSkillPacket(DWORD dwSkillIndex, DWORD dwTargetVID)
{
// tw1x1 fix wrong fly targeting for viewing clients
if (dwTargetVID)
{
CPythonCharacterManager& rpcm = CPythonCharacterManager::Instance();
CInstanceBase* pTarget = rpcm.GetInstancePtr(dwTargetVID);
if (pTarget)
{
TPixelPosition kPos;
pTarget->NEW_GetPixelPosition(&kPos);
SendFlyTargetingPacket(dwTargetVID, kPos);
}
else
{
TPixelPosition kPos;
kPos.x = 0;
kPos.y = 0;
kPos.z = 0;
SendFlyTargetingPacket(0, kPos);
}
}
// END OF tw1x1 fix wrong fly targeting for viewing clients
TPacketCGUseSkill UseSkillPacket;
UseSkillPacket.bHeader = HEADER_CG_USE_SKILL;
UseSkillPacket.dwVnum = dwSkillIndex;
UseSkillPacket.dwTargetVID = dwTargetVID;
if (!Send(sizeof(TPacketCGUseSkill), &UseSkillPacket))
{
Tracen("CPythonNetworkStream::SendUseSkillPacket - SEND PACKET ERROR");