Index: map/charentity.h =================================================================== --- map/charentity.h (revision 2103) +++ map/charentity.h (working copy) @@ -155,9 +155,9 @@ uint8 equip[17]; // экипировка персонажа uint8 m_ZonesList[32]; // список посещенных персонажем зон - uint8 m_SpellList[96]; // список изученных заклинаний + uint8 m_SpellList[128]; // список изученных заклинаний uint8 m_TitleList[94]; // список заслуженных завний - uint8 m_Abilities[38]; // список текущих способностей + uint8 m_Abilities[46]; // список текущих способностей uint8 m_TraitList[16]; // список постянно активных способностей в виде битовой маски uint8 m_PetCommands[32]; // список доступных команд питомцу uint8 m_WeaponSkills[32]; Index: map/packets/char.cpp =================================================================== --- map/packets/char.cpp (revision 2103) +++ map/packets/char.cpp (working copy) @@ -100,18 +100,18 @@ WBUFW(data,(0x3C)-4) = PChar->PPet->targid << 3; } - WBUFB(data,(0x3E)-4) = PChar->look.face; - WBUFB(data,(0x3F)-4) = PChar->look.race; - WBUFW(data,(0x40)-4) = PChar->look.head + 0x1000; - WBUFW(data,(0x42)-4) = PChar->look.body + 0x2000; - WBUFW(data,(0x44)-4) = PChar->look.hands + 0x3000; - WBUFW(data,(0x46)-4) = PChar->look.legs + 0x4000; - WBUFW(data,(0x48)-4) = PChar->look.feet + 0x5000; - WBUFW(data,(0x4A)-4) = PChar->look.main + 0x6000; - WBUFW(data,(0x4C)-4) = PChar->look.sub + 0x7000; - WBUFW(data,(0x4E)-4) = PChar->look.ranged + 0x8000; + WBUFB(data,(0x44)-4) = PChar->look.face; + WBUFB(data,(0x45)-4) = PChar->look.race; + WBUFW(data,(0x46)-4) = PChar->look.head + 0x1000; + WBUFW(data,(0x48)-4) = PChar->look.body + 0x2000; + WBUFW(data,(0x4A)-4) = PChar->look.hands + 0x3000; + WBUFW(data,(0x4C)-4) = PChar->look.legs + 0x4000; + WBUFW(data,(0x4E)-4) = PChar->look.feet + 0x5000; + WBUFW(data,(0x50)-4) = PChar->look.main + 0x6000; + WBUFW(data,(0x52)-4) = PChar->look.sub + 0x7000; + WBUFW(data,(0x54)-4) = PChar->look.ranged + 0x8000; - memcpy(data+(0x50)-4, PChar->GetName(), PChar->name.size()); + memcpy(data+(0x56)-4, PChar->GetName(), PChar->name.size()); } break; } Index: map/packets/char_abilities.cpp =================================================================== --- map/packets/char_abilities.cpp (revision 2103) +++ map/packets/char_abilities.cpp (working copy) @@ -33,9 +33,22 @@ CCharAbilitiesPacket::CCharAbilitiesPacket(CCharEntity* PChar) { this->type = 0xAC; - this->size = 0x58; + this->size = 0x42; - memcpy(data+(0x06)-4, PChar->m_Abilities, 38); + /*uint8 packet[] = { + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x30, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x05, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + + memcpy(data+(0x04)-4, &packet, 128); + */ + + memcpy(data+(0x06)-4, PChar->m_Abilities, 46); memcpy(data+(0x34)-4, PChar->m_TraitList, 16); memcpy(data+(0x44)-4, PChar->m_PetCommands, 32); memcpy(data+(0x64)-4, PChar->m_WeaponSkills, 32); Index: map/packets/char_spells.cpp =================================================================== --- map/packets/char_spells.cpp (revision 2103) +++ map/packets/char_spells.cpp (working copy) @@ -33,7 +33,7 @@ CCharSpellsPacket::CCharSpellsPacket(CCharEntity* PChar) { this->type = 0xAA; - this->size = 0x32; + this->size = 0x42; - memcpy(data+(0x04)-4, &PChar->m_SpellList, 96); + memcpy(data+(0x04)-4, &PChar->m_SpellList, 128); } \ No newline at end of file Index: map/packets/char_update.cpp =================================================================== --- map/packets/char_update.cpp (revision 2103) +++ map/packets/char_update.cpp (working copy) @@ -36,7 +36,7 @@ CCharUpdatePacket::CCharUpdatePacket(CCharEntity* PChar) { this->type = 0x37; - this->size = 0x28; + this->size = 0x2E; memcpy(data+(0x04)-4, PChar->StatusEffectContainer->m_StatusIcons, 32);