#include #include "PacketObjectHit.hpp" using namespace mwmp; PacketObjectHit::PacketObjectHit(RakNet::RakPeerInterface *peer) : ObjectPacket(peer) { packetID = ID_OBJECT_HIT; hasCellData = true; } void PacketObjectHit::Packet(RakNet::BitStream *newBitstream, bool send) { if (!PacketHeader(newBitstream, send)) return; BaseObject baseObject; for (unsigned int i = 0; i < objectList->baseObjectCount; i++) { if (send) baseObject = objectList->baseObjects.at(i); RW(baseObject.isPlayer, send); if (baseObject.isPlayer) RW(baseObject.guid, send); else Object(baseObject, send); RW(baseObject.hittingActor.isPlayer, send); if (baseObject.hittingActor.isPlayer) { RW(baseObject.hittingActor.guid, send); } else { RW(baseObject.hittingActor.refId, send, true); RW(baseObject.hittingActor.refNum, send); RW(baseObject.hittingActor.mpNum, send); RW(baseObject.hittingActor.name, send); } if (!send) objectList->baseObjects.push_back(baseObject); } }