void CItemArmor::setAugment(uint8 slot, uint16 type, uint8 value) { DSP_DEBUG_BREAK_IF(getAugment(slot) != 0); packBitsBE((uint8*)(m_augments+slot), type, 0, 11); packBitsBE((uint8*)(m_augments+slot), value, 11, 5); SetAugmentMod(type, value); }
CTreasureLotItemPacket::CTreasureLotItemPacket(CBaseEntity* PChar, uint8 slotID, uint16 Lot) { this->type = 0xD3; this->size = 0x1E; WBUFL(data,(0x08)-4) = PChar->id; WBUFW(data,(0x10)-4) = PChar->targid; packBitsBE(data, Lot, 112, 16); //this fixes an offset problem with lot numbers //WBUFB(data,(0x12)-4) = Lot; WBUFB(data,(0x14)-4) = slotID; memcpy(data+0x26-0x04, PChar->GetName(), 16); }
CGuildMenuPacket::CGuildMenuPacket(GUILDSTATUS status, uint8 open, uint8 close, uint8 holiday) { this->type = 0x86; this->size = 0x06; //DSP_DEBUG_BREAK_IF(open > close); WBUFB(data,(0x04)) = status; switch (status) { case GUILD_OPEN: case GUILD_CLOSE: { packBitsBE(data+(0x08), 0xFFFFFF, open, close-open); } break; case GUILD_HOLYDAY: { WBUFB(data,(0x08)) = holiday; } break; } }