Merge pull request #53 from MindRapist/mr-5

MR-5: FlyTarget fixes
This commit is contained in:
rtw1x1
2025-12-29 16:47:27 +00:00
committed by GitHub
6 changed files with 62 additions and 8 deletions

View File

@@ -1143,9 +1143,37 @@ bool CPythonNetworkStream::SendCharacterStatePacket(const TPixelPosition& c_rkPP
bool CPythonNetworkStream::SendUseSkillPacket(DWORD dwSkillIndex, DWORD dwTargetVID)
{
TPacketCGUseSkill UseSkillPacket;
UseSkillPacket.bHeader = HEADER_CG_USE_SKILL;
UseSkillPacket.dwVnum = dwSkillIndex;
UseSkillPacket.dwTargetVID = 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
if (!Send(sizeof(TPacketCGUseSkill), &UseSkillPacket))
{
Tracen("CPythonNetworkStream::SendUseSkillPacket - SEND PACKET ERROR");