예제 #1
0
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);
}
예제 #2
0
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);
	
}
예제 #3
0
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;
	}
}