diff --git a/common/patches/sof.cpp b/common/patches/sof.cpp index be18a78c7..98165a883 100644 --- a/common/patches/sof.cpp +++ b/common/patches/sof.cpp @@ -1339,15 +1339,27 @@ namespace SoF // OUT(unknown19584[4]); // OUT(unknown19588); - const uint8 bytes[] = { - 0xa3, 0x02, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1F, 0x85, 0xEB, 0x3E, 0x33, 0x33, 0x33, 0x3F, - 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + const uint8 unknown12864_bytes[] = { + 0xa3, 0x02, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - memcpy(eq->unknown12864, bytes, sizeof(bytes)); + memcpy(eq->unknown12864, unknown12864_bytes, sizeof(unknown12864_bytes)); + + eq->cold_resist = emu->cold_resist; + eq->fire_resist = emu->fire_resist; + eq->magic_resist = emu->magic_resist; + eq->disease_resist = emu->disease_resist; + eq->poison_resist = emu->poison_resist; + eq->physical_resist = 15; + eq->corruption_resist = emu->corruption_resist; + + const uint8 unknown15112_bytes[] = { + 0x1F, 0x85, 0xEB, 0x3E, 0x33, 0x33, 0x33, 0x3F, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + memcpy(eq->unknown15112, unknown15112_bytes, sizeof(unknown15112_bytes)); //set the checksum... CRC32::SetEQChecksum(__packet->pBuffer, sizeof(structs::PlayerProfile_Struct) - 4); diff --git a/common/patches/sof_structs.h b/common/patches/sof_structs.h index 918f8e32a..7bcd62aa2 100644 --- a/common/patches/sof_structs.h +++ b/common/patches/sof_structs.h @@ -944,7 +944,16 @@ struct PlayerProfile_Struct //23576 Octets /*14700*/ PotionBelt_Struct potionbelt; // [360] potion belt 72 extra octets by adding 1 more belt slot /*15060*/ uint8 unknown12852[8]; /*15068*/ uint32 available_slots; -/*15072*/ uint8 unknown12864[80]; //#### uint8 uint8 unknown12864[76]; in Titanium ####[80] +/*15072*/ uint8 unknown12864[12]; //#### uint8 uint8 unknown12864[76]; in Titanium ####[80] +/*15084*/ uint32 cold_resist; +/*15088*/ uint32 fire_resist; +/*15092*/ uint32 magic_resist; +/*15096*/ uint32 disease_resist; +/*15100*/ uint32 poison_resist; +/*15104*/ uint32 physical_resist; +/*15108*/ uint32 corruption_resist; +/*15112*/ uint8 unknown15112[40]; + //END SUB-STRUCT used for shrouding. /*15120*/ char name[64]; // Name of player /*15184*/ char last_name[32]; // Last name of player