// find this method void ProtocolGame::AddCreature(NetworkMessage& msg, const Creature* creature, bool known, uint32_t remove) { // . // . // . // Add after msg.addByte(player->canWalkthroughEx(creature) ? 0x00 : 0x01); // Paperdolls { msg.addByte(static_cast(creature->getPaperdolls().size())); for (const auto& paperdoll : creature->getPaperdolls()) addPaperdoll(msg, paperdoll); } } void ProtocolGame::addPaperdoll(NetworkMessage& msg, const Paperdoll_t& paperdoll) { msg.add(paperdoll.id); msg.add(paperdoll.slot); msg.add(paperdoll.color); msg.add(paperdoll.head); msg.add(paperdoll.body); msg.add(paperdoll.legs); msg.add(paperdoll.feet); msg.addString(paperdoll.shader); } void ProtocolGame::sendAttachedPaperdoll(const Creature* creature, const Paperdoll_t& paperdoll) { NetworkMessage msg; msg.addByte(0x3C); msg.add(creature->getID()); addPaperdoll(msg, paperdoll); writeToOutputBuffer(msg); } void ProtocolGame::sendDetachPaperdoll(const Creature* creature, const Paperdoll_t& paperdoll, bool bySlot) { NetworkMessage msg; msg.addByte(0x3D); msg.add(creature->getID()); msg.add(static_cast(bySlot)); msg.add(bySlot ? paperdoll.slot : paperdoll.id); writeToOutputBuffer(msg); }