implement the missing login server structs

This commit is contained in:
Sky Johnson 2025-07-26 11:40:55 -05:00
parent 231f16e9de
commit ba40814729
4 changed files with 1214 additions and 0 deletions

View File

@ -0,0 +1,12 @@
package ls_structs
import "eq2emu/internal/common"
type BadLanguageFilterWord struct {
Word common.EQ2String16 `eq2:"string16"`
}
type BadLanguageFilter struct {
NumWords uint16 `eq2:"int16,oversized=255"`
WordsArray []BadLanguageFilterWord `eq2:"array,arraysize=NumWords"`
}

View File

@ -0,0 +1,411 @@
package ls_structs
import "eq2emu/internal/common"
// CharSelectProfile for client version 1
type CharSelectProfileV1 struct {
CharID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint32 `eq2:"int32"`
Zone common.EQ2String16 `eq2:"string16"`
Unknown1 uint32 `eq2:"int32"`
Unknown2 uint32 `eq2:"int32"`
CreatedDate uint32 `eq2:"int32"`
LastPlayed uint32 `eq2:"int32"`
Unknown3 uint32 `eq2:"int32"`
Unknown4 uint32 `eq2:"int32"`
Zonename2 common.EQ2String16 `eq2:"string16"`
Zonedesc common.EQ2String16 `eq2:"string16"`
Version uint8 `eq2:"int8"`
RaceType uint16 `eq2:"int16"`
SkinColor []int8 `eq2:"sint8,len=3"`
EyeColor []int8 `eq2:"sint8,len=3"`
Equip []common.EQ2EquipmentItem `eq2:"equipment,len=21"`
HairType uint16 `eq2:"int16"`
HairTypeColor []int8 `eq2:"sint8,len=3"`
HairTypeHighlightColor []int8 `eq2:"sint8,len=3"`
HairFaceType uint16 `eq2:"int16"`
HairFaceColor []int8 `eq2:"sint8,len=3"`
HairFaceHighlightColor []int8 `eq2:"sint8,len=3"`
ChestType uint16 `eq2:"int16"`
ShirtColor []int8 `eq2:"sint8,len=3"`
UnknownChestColor []int8 `eq2:"sint8,len=3"`
LegsType uint16 `eq2:"int16"`
PantsColor []int8 `eq2:"sint8,len=3"`
UnknownLegsColor []int8 `eq2:"sint8,len=3"`
Unknown9 []int8 `eq2:"sint8,len=3"`
EyeType []int8 `eq2:"sint8,len=3"`
EarType []int8 `eq2:"sint8,len=3"`
EyeBrowType []int8 `eq2:"sint8,len=3"`
CheekType []int8 `eq2:"sint8,len=3"`
LipType []int8 `eq2:"sint8,len=3"`
ChinType []int8 `eq2:"sint8,len=3"`
NoseType []int8 `eq2:"sint8,len=3"`
BodySize int8 `eq2:"sint8"`
BumpScale int8 `eq2:"sint8"`
Mount uint16 `eq2:"int16"`
MountColor1 []int8 `eq2:"sint8,len=3"`
MountColor2 []int8 `eq2:"sint8,len=3"`
HairColor1 []int8 `eq2:"sint8,len=3"`
HairColor2 []int8 `eq2:"sint8,len=3"`
HairColor3 []int8 `eq2:"sint8,len=3"`
Flags uint8 `eq2:"int8"`
}
// CharSelectProfile for client version 373 (same as V1)
type CharSelectProfileV373 struct {
CharID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint32 `eq2:"int32"`
Zone common.EQ2String16 `eq2:"string16"`
Unknown1 uint32 `eq2:"int32"`
Unknown2 uint32 `eq2:"int32"`
CreatedDate uint32 `eq2:"int32"`
LastPlayed uint32 `eq2:"int32"`
Unknown3 uint32 `eq2:"int32"`
Unknown4 uint32 `eq2:"int32"`
Zonename2 common.EQ2String16 `eq2:"string16"`
Zonedesc common.EQ2String16 `eq2:"string16"`
Version uint8 `eq2:"int8"`
RaceType uint16 `eq2:"int16"`
SkinColor []int8 `eq2:"sint8,len=3"`
EyeColor []int8 `eq2:"sint8,len=3"`
Equip []common.EQ2EquipmentItem `eq2:"equipment,len=21"`
HairType uint16 `eq2:"int16"`
HairTypeColor []int8 `eq2:"sint8,len=3"`
HairTypeHighlightColor []int8 `eq2:"sint8,len=3"`
HairFaceType uint16 `eq2:"int16"`
HairFaceColor []int8 `eq2:"sint8,len=3"`
HairFaceHighlightColor []int8 `eq2:"sint8,len=3"`
ChestType uint16 `eq2:"int16"`
ShirtColor []int8 `eq2:"sint8,len=3"`
UnknownChestColor []int8 `eq2:"sint8,len=3"`
LegsType uint16 `eq2:"int16"`
PantsColor []int8 `eq2:"sint8,len=3"`
UnknownLegsColor []int8 `eq2:"sint8,len=3"`
Unknown9 []int8 `eq2:"sint8,len=3"`
EyeType []int8 `eq2:"sint8,len=3"`
EarType []int8 `eq2:"sint8,len=3"`
EyeBrowType []int8 `eq2:"sint8,len=3"`
CheekType []int8 `eq2:"sint8,len=3"`
LipType []int8 `eq2:"sint8,len=3"`
ChinType []int8 `eq2:"sint8,len=3"`
NoseType []int8 `eq2:"sint8,len=3"`
BodySize int8 `eq2:"sint8"`
BumpScale int8 `eq2:"sint8"`
Mount uint16 `eq2:"int16"`
MountColor1 []int8 `eq2:"sint8,len=3"`
MountColor2 []int8 `eq2:"sint8,len=3"`
HairColor1 []int8 `eq2:"sint8,len=3"`
HairColor2 []int8 `eq2:"sint8,len=3"`
HairColor3 []int8 `eq2:"sint8,len=3"`
Flags uint8 `eq2:"int8"`
}
// CharSelectProfile for client version 546
type CharSelectProfileV546 struct {
CharID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Level uint32 `eq2:"int32"`
Zone common.EQ2String16 `eq2:"string16"`
Unknown1 uint32 `eq2:"int32"`
Unknown2 uint32 `eq2:"int32"`
CreatedDate uint32 `eq2:"int32"`
LastPlayed uint32 `eq2:"int32"`
Unknown3 uint32 `eq2:"int32"`
Unknown4 uint32 `eq2:"int32"`
Zonename2 common.EQ2String16 `eq2:"string16"`
Zonedesc common.EQ2String16 `eq2:"string16"`
Unknown5 uint32 `eq2:"int32"`
Version uint8 `eq2:"int8"`
RaceType uint16 `eq2:"int16"`
SkinColor []int8 `eq2:"sint8,len=3"`
EyeColor []int8 `eq2:"sint8,len=3"`
Equip []common.EQ2EquipmentItem `eq2:"equipment,len=23"`
HairType uint16 `eq2:"int16"`
HairTypeColor []int8 `eq2:"sint8,len=3"`
HairTypeHighlightColor []int8 `eq2:"sint8,len=3"`
HairFaceType uint16 `eq2:"int16"`
HairFaceColor []int8 `eq2:"sint8,len=3"`
HairFaceHighlightColor []int8 `eq2:"sint8,len=3"`
ChestType uint16 `eq2:"int16"`
ShirtColor []int8 `eq2:"sint8,len=3"`
UnknownChestColor []int8 `eq2:"sint8,len=3"`
LegsType uint16 `eq2:"int16"`
PantsColor []int8 `eq2:"sint8,len=3"`
UnknownLegsColor []int8 `eq2:"sint8,len=3"`
Unknown9 []int8 `eq2:"sint8,len=3"`
EyeType []int8 `eq2:"sint8,len=3"`
EarType []int8 `eq2:"sint8,len=3"`
EyeBrowType []int8 `eq2:"sint8,len=3"`
CheekType []int8 `eq2:"sint8,len=3"`
LipType []int8 `eq2:"sint8,len=3"`
ChinType []int8 `eq2:"sint8,len=3"`
NoseType []int8 `eq2:"sint8,len=3"`
BodySize int8 `eq2:"sint8"`
BumpScale int8 `eq2:"sint8"`
Mount uint16 `eq2:"int16"`
MountColor1 []int8 `eq2:"sint8,len=3"`
MountColor2 []int8 `eq2:"sint8,len=3"`
HairColor1 []int8 `eq2:"sint8,len=3"`
HairColor2 []int8 `eq2:"sint8,len=3"`
HairColor3 []int8 `eq2:"sint8,len=3"`
Unknown11 []uint8 `eq2:"int8,len=10"`
SogaRaceType uint16 `eq2:"int16"`
SogaSkinColorx common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
Unknown12 []uint8 `eq2:"int8,len=3"`
SogaEyeType []int8 `eq2:"sint8,len=3"`
SogaEarType []int8 `eq2:"sint8,len=3"`
SogaEyeBrowType []int8 `eq2:"sint8,len=3"`
SogaCheekType []int8 `eq2:"sint8,len=3"`
SogaLipType []int8 `eq2:"sint8,len=3"`
SogaChinType []int8 `eq2:"sint8,len=3"`
SogaNoseType []int8 `eq2:"sint8,len=3"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaChestType uint16 `eq2:"int16"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairColor3 common.EQ2Color `eq2:"color"`
SogaHairType uint16 `eq2:"int16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaHairFaceType uint16 `eq2:"int16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
}
// CharSelectProfile for client version 562
type CharSelectProfileV562 struct {
Version uint32 `eq2:"int32"`
CharID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Unknown uint8 `eq2:"int8"`
Race uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Level uint32 `eq2:"int32"`
Zone common.EQ2String16 `eq2:"string16"`
Unknown1 uint32 `eq2:"int32"`
Unknown2 uint32 `eq2:"int32"`
CreatedDate uint32 `eq2:"int32"`
LastPlayed uint32 `eq2:"int32"`
Unknown3 uint32 `eq2:"int32"`
Unknown4 uint32 `eq2:"int32"`
Zonename2 common.EQ2String16 `eq2:"string16"`
Zonedesc common.EQ2String16 `eq2:"string16"`
Unknown5 uint32 `eq2:"int32"`
ServerName common.EQ2String16 `eq2:"string16"`
AccountID uint32 `eq2:"int32"`
Unknown6 []uint8 `eq2:"int8,len=2"`
Unknown7 uint32 `eq2:"int32"`
Unknown8 uint8 `eq2:"int8"`
RaceType uint16 `eq2:"int16"`
SkinColor common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
Equip []common.EQ2EquipmentItem `eq2:"equipment,len=25"`
HairType uint16 `eq2:"int16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
HairFaceType uint16 `eq2:"int16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
ChestType uint16 `eq2:"int16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsType uint16 `eq2:"int16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
EyeType []int8 `eq2:"sint8,len=3"`
EarType []int8 `eq2:"sint8,len=3"`
EyeBrowType []int8 `eq2:"sint8,len=3"`
CheekType []int8 `eq2:"sint8,len=3"`
LipType []int8 `eq2:"sint8,len=3"`
ChinType []int8 `eq2:"sint8,len=3"`
NoseType []int8 `eq2:"sint8,len=3"`
BodySize int8 `eq2:"sint8"`
Unknown10 []uint8 `eq2:"int8,len=9"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
Unknown11 []uint8 `eq2:"int8,len=13"`
Unknown15 []uint8 `eq2:"int8,len=7"`
}
// CharSelectProfile for client version 887
type CharSelectProfileV887 struct {
Version uint32 `eq2:"int32"`
CharID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Unknown uint8 `eq2:"int8"`
Race uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Level uint32 `eq2:"int32"`
Zone common.EQ2String16 `eq2:"string16"`
Unknown1 uint32 `eq2:"int32"`
Unknown2 uint32 `eq2:"int32"`
CreatedDate uint32 `eq2:"int32"`
LastPlayed uint32 `eq2:"int32"`
Unknown3 uint32 `eq2:"int32"`
Unknown4 uint32 `eq2:"int32"`
Zonename2 common.EQ2String16 `eq2:"string16"`
Zonedesc common.EQ2String16 `eq2:"string16"`
Unknown5 uint32 `eq2:"int32"`
ServerName common.EQ2String16 `eq2:"string16"`
AccountID uint32 `eq2:"int32"`
Unknown6 []uint8 `eq2:"int8,len=2"`
Unknown7 uint32 `eq2:"int32"`
TradeskillClass uint8 `eq2:"int8"`
TradeskillLevel uint32 `eq2:"int32"`
Unknown8 uint8 `eq2:"int8"`
RaceType uint16 `eq2:"int16"`
SkinColor common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
Equip []common.EQ2EquipmentItem `eq2:"equipment,len=25"`
HairType uint16 `eq2:"int16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
HairFaceType uint16 `eq2:"int16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingType uint16 `eq2:"int16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestType uint16 `eq2:"int16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsType uint16 `eq2:"int16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
EyeType []int8 `eq2:"sint8,len=3"`
EarType []int8 `eq2:"sint8,len=3"`
EyeBrowType []int8 `eq2:"sint8,len=3"`
CheekType []int8 `eq2:"sint8,len=3"`
LipType []int8 `eq2:"sint8,len=3"`
ChinType []int8 `eq2:"sint8,len=3"`
NoseType []int8 `eq2:"sint8,len=3"`
BodySize int8 `eq2:"sint8"`
Unknown10 []uint8 `eq2:"int8,len=9"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
Unknown11 []uint8 `eq2:"int8,len=13"`
SogaRaceType uint16 `eq2:"int16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
Unknown12 []uint8 `eq2:"int8,len=3"`
SogaEyeType []int8 `eq2:"sint8,len=3"`
SogaEarType []int8 `eq2:"sint8,len=3"`
SogaEyeBrowType []int8 `eq2:"sint8,len=3"`
SogaCheekType []int8 `eq2:"sint8,len=3"`
SogaLipType []int8 `eq2:"sint8,len=3"`
SogaChinType []int8 `eq2:"sint8,len=3"`
SogaNoseType []int8 `eq2:"sint8,len=3"`
Unknown13 uint16 `eq2:"int16"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
Unknown14 common.EQ2Color `eq2:"color"`
SogaHairType uint16 `eq2:"int16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaHairFaceType uint16 `eq2:"int16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
Unknown15 []uint8 `eq2:"int8,len=7"`
}
// CharSelectProfile for client version 60085 (same as 887)
type CharSelectProfileV60085 struct {
Version uint32 `eq2:"int32"`
CharID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Unknown uint8 `eq2:"int8"`
Race uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Level uint32 `eq2:"int32"`
Zone common.EQ2String16 `eq2:"string16"`
Unknown1 uint32 `eq2:"int32"`
Unknown2 uint32 `eq2:"int32"`
CreatedDate uint32 `eq2:"int32"`
LastPlayed uint32 `eq2:"int32"`
Unknown3 uint32 `eq2:"int32"`
Unknown4 uint32 `eq2:"int32"`
Zonename2 common.EQ2String16 `eq2:"string16"`
Zonedesc common.EQ2String16 `eq2:"string16"`
Unknown5 uint32 `eq2:"int32"`
ServerName common.EQ2String16 `eq2:"string16"`
AccountID uint32 `eq2:"int32"`
Unknown6 []uint8 `eq2:"int8,len=2"`
Unknown7 uint32 `eq2:"int32"`
TradeskillClass uint8 `eq2:"int8"`
TradeskillLevel uint32 `eq2:"int32"`
Unknown8 uint8 `eq2:"int8"`
RaceType uint16 `eq2:"int16"`
SkinColor common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
Equip []common.EQ2EquipmentItem `eq2:"equipment,len=25"`
HairType uint16 `eq2:"int16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
HairFaceType uint16 `eq2:"int16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingType uint16 `eq2:"int16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestType uint16 `eq2:"int16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsType uint16 `eq2:"int16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
EyeType []int8 `eq2:"sint8,len=3"`
EarType []int8 `eq2:"sint8,len=3"`
EyeBrowType []int8 `eq2:"sint8,len=3"`
CheekType []int8 `eq2:"sint8,len=3"`
LipType []int8 `eq2:"sint8,len=3"`
ChinType []int8 `eq2:"sint8,len=3"`
NoseType []int8 `eq2:"sint8,len=3"`
BodySize int8 `eq2:"sint8"`
Unknown10 []uint8 `eq2:"int8,len=9"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
Unknown11 []uint8 `eq2:"int8,len=13"`
SogaRaceType uint16 `eq2:"int16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
Unknown12 []uint8 `eq2:"int8,len=3"`
SogaEyeType []int8 `eq2:"sint8,len=3"`
SogaEarType []int8 `eq2:"sint8,len=3"`
SogaEyeBrowType []int8 `eq2:"sint8,len=3"`
SogaCheekType []int8 `eq2:"sint8,len=3"`
SogaLipType []int8 `eq2:"sint8,len=3"`
SogaChinType []int8 `eq2:"sint8,len=3"`
SogaNoseType []int8 `eq2:"sint8,len=3"`
Unknown13 uint16 `eq2:"int16"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
Unknown14 common.EQ2Color `eq2:"color"`
SogaHairType uint16 `eq2:"int16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaHairFaceType uint16 `eq2:"int16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
Unknown15 []uint8 `eq2:"int8,len=7"`
}

View File

@ -0,0 +1,767 @@
package ls_structs
import "eq2emu/internal/common"
// CreateCharacter for client version 1
type CreateCharacterV1 struct {
AccountID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Unknown1 []uint8 `eq2:"int8,len=2"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor []float32 `eq2:"float,len=3"`
EyeColor []float32 `eq2:"float,len=3"`
HairColor1 []float32 `eq2:"float,len=3"`
HairColor2 []float32 `eq2:"float,len=3"`
HairHighlight []float32 `eq2:"float,len=3"`
Unknown2 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor []float32 `eq2:"float,len=3"`
HairTypeHighlightColor []float32 `eq2:"float,len=3"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor []float32 `eq2:"float,len=3"`
HairFaceHighlightColor []float32 `eq2:"float,len=3"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor []float32 `eq2:"float,len=3"`
UnknownChestColor []float32 `eq2:"float,len=3"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor []float32 `eq2:"float,len=3"`
UnknownLegsColor []float32 `eq2:"float,len=3"`
Unknown9 []float32 `eq2:"float,len=3"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 373
type CreateCharacterV373 struct {
Unknown0 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Unknown1 []uint8 `eq2:"int8,len=2"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor []float32 `eq2:"float,len=3"`
EyeColor []float32 `eq2:"float,len=3"`
HairColor1 []float32 `eq2:"float,len=3"`
HairColor2 []float32 `eq2:"float,len=3"`
HairHighlight []float32 `eq2:"float,len=3"`
Unknown2 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor []float32 `eq2:"float,len=3"`
HairTypeHighlightColor []float32 `eq2:"float,len=3"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor []float32 `eq2:"float,len=3"`
HairFaceHighlightColor []float32 `eq2:"float,len=3"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor []float32 `eq2:"float,len=3"`
UnknownChestColor []float32 `eq2:"float,len=3"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor []float32 `eq2:"float,len=3"`
UnknownLegsColor []float32 `eq2:"float,len=3"`
Unknown9 []float32 `eq2:"float,len=3"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 546
type CreateCharacterV546 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
CcUnknown0 uint8 `eq2:"int8"`
Version uint8 `eq2:"int8"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor []float32 `eq2:"float,len=3"`
EyeColor []float32 `eq2:"float,len=3"`
HairColor1 []float32 `eq2:"float,len=3"`
HairColor2 []float32 `eq2:"float,len=3"`
HairHighlight []float32 `eq2:"float,len=3"`
Unknown2 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor []float32 `eq2:"float,len=3"`
HairTypeHighlightColor []float32 `eq2:"float,len=3"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor []float32 `eq2:"float,len=3"`
HairFaceHighlightColor []float32 `eq2:"float,len=3"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor []float32 `eq2:"float,len=3"`
UnknownChestColor []float32 `eq2:"float,len=3"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor []float32 `eq2:"float,len=3"`
UnknownLegsColor []float32 `eq2:"float,len=3"`
Unknown9 []float32 `eq2:"float,len=3"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 561
type CreateCharacterV561 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Version uint8 `eq2:"int8"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor []float32 `eq2:"float,len=3"`
EyeColor []float32 `eq2:"float,len=3"`
HairColor1 []float32 `eq2:"float,len=3"`
HairColor2 []float32 `eq2:"float,len=3"`
HairHighlight []float32 `eq2:"float,len=3"`
Unknown2 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor []float32 `eq2:"float,len=3"`
HairTypeHighlightColor []float32 `eq2:"float,len=3"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor []float32 `eq2:"float,len=3"`
HairFaceHighlightColor []float32 `eq2:"float,len=3"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor []float32 `eq2:"float,len=3"`
UnknownChestColor []float32 `eq2:"float,len=3"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor []float32 `eq2:"float,len=3"`
UnknownLegsColor []float32 `eq2:"float,len=3"`
Unknown9 []float32 `eq2:"float,len=3"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 562
type CreateCharacterV562 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 uint8 `eq2:"int8"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Version uint8 `eq2:"int8"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor common.EQ2Color `eq2:"color"`
SkinColor2 common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
Unknown8 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingFile common.EQ2String16 `eq2:"string16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
SogaVersion uint8 `eq2:"int8"`
SogaRaceFile common.EQ2String16 `eq2:"string16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairHighlight common.EQ2Color `eq2:"color"`
SogaUnknown11 []uint8 `eq2:"int8,len=26"`
SogaHairFile common.EQ2String16 `eq2:"string16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaFaceFile common.EQ2String16 `eq2:"string16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
SogaWingFile common.EQ2String16 `eq2:"string16"`
SogaWingColor1 common.EQ2Color `eq2:"color"`
SogaWingColor2 common.EQ2Color `eq2:"color"`
SogaChestFile common.EQ2String16 `eq2:"string16"`
SogaShirtColor common.EQ2Color `eq2:"color"`
SogaUnknownChestColor common.EQ2Color `eq2:"color"`
SogaLegsFile common.EQ2String16 `eq2:"string16"`
SogaPantsColor common.EQ2Color `eq2:"color"`
SogaUnknownLegsColor common.EQ2Color `eq2:"color"`
SogaUnknown12 common.EQ2Color `eq2:"color"`
SogaEyes2 []float32 `eq2:"float,len=3"`
SogaEars []float32 `eq2:"float,len=3"`
SogaEyeBrows []float32 `eq2:"float,len=3"`
SogaCheeks []float32 `eq2:"float,len=3"`
SogaLips []float32 `eq2:"float,len=3"`
SogaChin []float32 `eq2:"float,len=3"`
SogaNose []float32 `eq2:"float,len=3"`
SogaBodySize float32 `eq2:"float"`
SogaBodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 869
type CreateCharacterV869 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 uint8 `eq2:"int8"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Version uint8 `eq2:"int8"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor common.EQ2Color `eq2:"color"`
SkinColor2 common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
HairHighlight common.EQ2Color `eq2:"color"`
Unknown8 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingFile common.EQ2String16 `eq2:"string16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
SogaVersion uint8 `eq2:"int8"`
SogaRaceFile common.EQ2String16 `eq2:"string16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairHighlight common.EQ2Color `eq2:"color"`
SogaUnknownColor1 common.EQ2Color `eq2:"color"`
SogaUnknown11 []uint8 `eq2:"int8,len=26"`
SogaHairFile common.EQ2String16 `eq2:"string16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaFaceFile common.EQ2String16 `eq2:"string16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
SogaWingFile common.EQ2String16 `eq2:"string16"`
SogaWingColor1 common.EQ2Color `eq2:"color"`
SogaWingColor2 common.EQ2Color `eq2:"color"`
SogaChestFile common.EQ2String16 `eq2:"string16"`
SogaShirtColor common.EQ2Color `eq2:"color"`
SogaUnknownChestColor common.EQ2Color `eq2:"color"`
SogaLegsFile common.EQ2String16 `eq2:"string16"`
SogaPantsColor common.EQ2Color `eq2:"color"`
SogaUnknownLegsColor common.EQ2Color `eq2:"color"`
SogaUnknown12 common.EQ2Color `eq2:"color"`
SogaEyes2 []float32 `eq2:"float,len=3"`
SogaEars []float32 `eq2:"float,len=3"`
SogaEyeBrows []float32 `eq2:"float,len=3"`
SogaCheeks []float32 `eq2:"float,len=3"`
SogaLips []float32 `eq2:"float,len=3"`
SogaChin []float32 `eq2:"float,len=3"`
SogaNose []float32 `eq2:"float,len=3"`
SogaBodySize float32 `eq2:"float"`
SogaBodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 1096 (same as 869 but without SogaUnknownColor1)
type CreateCharacterV1096 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 uint8 `eq2:"int8"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Version uint8 `eq2:"int8"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor common.EQ2Color `eq2:"color"`
SkinColor2 common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
HairHighlight common.EQ2Color `eq2:"color"`
Unknown8 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingFile common.EQ2String16 `eq2:"string16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
SogaVersion uint8 `eq2:"int8"`
SogaRaceFile common.EQ2String16 `eq2:"string16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairHighlight common.EQ2Color `eq2:"color"`
SogaUnknownColor common.EQ2Color `eq2:"color"`
SogaUnknown11 []uint8 `eq2:"int8,len=26"`
SogaHairFile common.EQ2String16 `eq2:"string16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaFaceFile common.EQ2String16 `eq2:"string16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
SogaWingFile common.EQ2String16 `eq2:"string16"`
SogaWingColor1 common.EQ2Color `eq2:"color"`
SogaWingColor2 common.EQ2Color `eq2:"color"`
SogaChestFile common.EQ2String16 `eq2:"string16"`
SogaShirtColor common.EQ2Color `eq2:"color"`
SogaUnknownChestColor common.EQ2Color `eq2:"color"`
SogaLegsFile common.EQ2String16 `eq2:"string16"`
SogaPantsColor common.EQ2Color `eq2:"color"`
SogaUnknownLegsColor common.EQ2Color `eq2:"color"`
SogaUnknown12 common.EQ2Color `eq2:"color"`
SogaEyes2 []float32 `eq2:"float,len=3"`
SogaEars []float32 `eq2:"float,len=3"`
SogaEyeBrows []float32 `eq2:"float,len=3"`
SogaCheeks []float32 `eq2:"float,len=3"`
SogaLips []float32 `eq2:"float,len=3"`
SogaChin []float32 `eq2:"float,len=3"`
SogaNose []float32 `eq2:"float,len=3"`
SogaBodySize float32 `eq2:"float"`
SogaBodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 57080
type CreateCharacterV57080 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 uint8 `eq2:"int8"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Version uint8 `eq2:"int8"`
Unknown10 uint16 `eq2:"int16"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
UnknownSkinColor2 common.EQ2Color `eq2:"color"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
HairHighlight common.EQ2Color `eq2:"color"`
Unknown8 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingFile common.EQ2String16 `eq2:"string16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
SogaVersion uint8 `eq2:"int8"`
SogaRaceFile common.EQ2String16 `eq2:"string16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairHighlight common.EQ2Color `eq2:"color"`
SogaUnknownColor common.EQ2Color `eq2:"color"`
SogaUnknown11 []uint8 `eq2:"int8,len=26"`
SogaHairFile common.EQ2String16 `eq2:"string16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaFaceFile common.EQ2String16 `eq2:"string16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
SogaWingFile common.EQ2String16 `eq2:"string16"`
SogaWingColor1 common.EQ2Color `eq2:"color"`
SogaWingColor2 common.EQ2Color `eq2:"color"`
SogaChestFile common.EQ2String16 `eq2:"string16"`
SogaShirtColor common.EQ2Color `eq2:"color"`
SogaUnknownChestColor common.EQ2Color `eq2:"color"`
SogaLegsFile common.EQ2String16 `eq2:"string16"`
SogaPantsColor common.EQ2Color `eq2:"color"`
SogaUnknownLegsColor common.EQ2Color `eq2:"color"`
SogaUnknown12 common.EQ2Color `eq2:"color"`
SogaEyes2 []float32 `eq2:"float,len=3"`
SogaEars []float32 `eq2:"float,len=3"`
SogaEyeBrows []float32 `eq2:"float,len=3"`
SogaCheeks []float32 `eq2:"float,len=3"`
SogaLips []float32 `eq2:"float,len=3"`
SogaChin []float32 `eq2:"float,len=3"`
SogaNose []float32 `eq2:"float,len=3"`
SogaBodySize float32 `eq2:"float"`
SogaBodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 60085 (same as 57080)
type CreateCharacterV60085 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 uint8 `eq2:"int8"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint8 `eq2:"int8"`
Version uint8 `eq2:"int8"`
Unknown10 uint16 `eq2:"int16"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
UnknownSkinColor2 common.EQ2Color `eq2:"color"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
HairHighlight common.EQ2Color `eq2:"color"`
Unknown8 []uint8 `eq2:"int8,len=26"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingFile common.EQ2String16 `eq2:"string16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
SogaVersion uint8 `eq2:"int8"`
SogaRaceFile common.EQ2String16 `eq2:"string16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairHighlight common.EQ2Color `eq2:"color"`
SogaUnknownColor common.EQ2Color `eq2:"color"`
SogaUnknown11 []uint8 `eq2:"int8,len=26"`
SogaHairFile common.EQ2String16 `eq2:"string16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaFaceFile common.EQ2String16 `eq2:"string16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
SogaWingFile common.EQ2String16 `eq2:"string16"`
SogaWingColor1 common.EQ2Color `eq2:"color"`
SogaWingColor2 common.EQ2Color `eq2:"color"`
SogaChestFile common.EQ2String16 `eq2:"string16"`
SogaShirtColor common.EQ2Color `eq2:"color"`
SogaUnknownChestColor common.EQ2Color `eq2:"color"`
SogaLegsFile common.EQ2String16 `eq2:"string16"`
SogaPantsColor common.EQ2Color `eq2:"color"`
SogaUnknownLegsColor common.EQ2Color `eq2:"color"`
SogaUnknown12 common.EQ2Color `eq2:"color"`
SogaEyes2 []float32 `eq2:"float,len=3"`
SogaEars []float32 `eq2:"float,len=3"`
SogaEyeBrows []float32 `eq2:"float,len=3"`
SogaCheeks []float32 `eq2:"float,len=3"`
SogaLips []float32 `eq2:"float,len=3"`
SogaChin []float32 `eq2:"float,len=3"`
SogaNose []float32 `eq2:"float,len=3"`
SogaBodySize float32 `eq2:"float"`
SogaBodyAge float32 `eq2:"float"`
}
// CreateCharacter for client version 64659
type CreateCharacterV64659 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 uint8 `eq2:"int8"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint32 `eq2:"int32"`
Version uint8 `eq2:"int8"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor common.EQ2Color `eq2:"color"`
SkinColor2 common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
Unknown8 []uint8 `eq2:"int8,len=38"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingFile common.EQ2String16 `eq2:"string16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
SogaVersion uint8 `eq2:"int8"`
SogaRaceFile common.EQ2String16 `eq2:"string16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairHighlight common.EQ2Color `eq2:"color"`
SogaUnknown11 []uint8 `eq2:"int8,len=38"`
SogaHairFile common.EQ2String16 `eq2:"string16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaFaceFile common.EQ2String16 `eq2:"string16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
SogaWingFile common.EQ2String16 `eq2:"string16"`
SogaWingColor1 common.EQ2Color `eq2:"color"`
SogaWingColor2 common.EQ2Color `eq2:"color"`
SogaChestFile common.EQ2String16 `eq2:"string16"`
SogaShirtColor common.EQ2Color `eq2:"color"`
SogaUnknownChestColor common.EQ2Color `eq2:"color"`
SogaLegsFile common.EQ2String16 `eq2:"string16"`
SogaPantsColor common.EQ2Color `eq2:"color"`
SogaUnknownLegsColor common.EQ2Color `eq2:"color"`
SogaUnknown12 common.EQ2Color `eq2:"color"`
SogaEyes2 []float32 `eq2:"float,len=3"`
SogaEars []float32 `eq2:"float,len=3"`
SogaEyeBrows []float32 `eq2:"float,len=3"`
SogaCheeks []float32 `eq2:"float,len=3"`
SogaLips []float32 `eq2:"float,len=3"`
SogaChin []float32 `eq2:"float,len=3"`
SogaNose []float32 `eq2:"float,len=3"`
SogaBodySize float32 `eq2:"float"`
SogaBodyAge float32 `eq2:"float"`
Unknown13 []uint8 `eq2:"int8,len=2"`
}
// CreateCharacter for client version 65534 (same as 64659)
type CreateCharacterV65534 struct {
Unknown0 uint8 `eq2:"int8"`
Unknown1 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 uint8 `eq2:"int8"`
ServerID uint32 `eq2:"int32"`
Name common.EQ2String16 `eq2:"string16"`
Race uint8 `eq2:"int8"`
Gender uint8 `eq2:"int8"`
Deity uint8 `eq2:"int8"`
Class uint8 `eq2:"int8"`
Level uint8 `eq2:"int8"`
StartingZone uint32 `eq2:"int32"`
Version uint8 `eq2:"int8"`
RaceFile common.EQ2String16 `eq2:"string16"`
SkinColor common.EQ2Color `eq2:"color"`
SkinColor2 common.EQ2Color `eq2:"color"`
EyeColor common.EQ2Color `eq2:"color"`
HairColor1 common.EQ2Color `eq2:"color"`
HairColor2 common.EQ2Color `eq2:"color"`
Unknown8 []uint8 `eq2:"int8,len=38"`
HairFile common.EQ2String16 `eq2:"string16"`
HairTypeColor common.EQ2Color `eq2:"color"`
HairTypeHighlightColor common.EQ2Color `eq2:"color"`
FaceFile common.EQ2String16 `eq2:"string16"`
HairFaceColor common.EQ2Color `eq2:"color"`
HairFaceHighlightColor common.EQ2Color `eq2:"color"`
WingFile common.EQ2String16 `eq2:"string16"`
WingColor1 common.EQ2Color `eq2:"color"`
WingColor2 common.EQ2Color `eq2:"color"`
ChestFile common.EQ2String16 `eq2:"string16"`
ShirtColor common.EQ2Color `eq2:"color"`
UnknownChestColor common.EQ2Color `eq2:"color"`
LegsFile common.EQ2String16 `eq2:"string16"`
PantsColor common.EQ2Color `eq2:"color"`
UnknownLegsColor common.EQ2Color `eq2:"color"`
Unknown9 common.EQ2Color `eq2:"color"`
Eyes2 []float32 `eq2:"float,len=3"`
Ears []float32 `eq2:"float,len=3"`
EyeBrows []float32 `eq2:"float,len=3"`
Cheeks []float32 `eq2:"float,len=3"`
Lips []float32 `eq2:"float,len=3"`
Chin []float32 `eq2:"float,len=3"`
Nose []float32 `eq2:"float,len=3"`
BodySize float32 `eq2:"float"`
BodyAge float32 `eq2:"float"`
SogaVersion uint8 `eq2:"int8"`
SogaRaceFile common.EQ2String16 `eq2:"string16"`
SogaSkinColor common.EQ2Color `eq2:"color"`
SogaEyeColor common.EQ2Color `eq2:"color"`
SogaHairColor1 common.EQ2Color `eq2:"color"`
SogaHairColor2 common.EQ2Color `eq2:"color"`
SogaHairHighlight common.EQ2Color `eq2:"color"`
SogaUnknown11 []uint8 `eq2:"int8,len=38"`
SogaHairFile common.EQ2String16 `eq2:"string16"`
SogaHairTypeColor common.EQ2Color `eq2:"color"`
SogaHairTypeHighlightColor common.EQ2Color `eq2:"color"`
SogaFaceFile common.EQ2String16 `eq2:"string16"`
SogaHairFaceColor common.EQ2Color `eq2:"color"`
SogaHairFaceHighlightColor common.EQ2Color `eq2:"color"`
SogaWingFile common.EQ2String16 `eq2:"string16"`
SogaWingColor1 common.EQ2Color `eq2:"color"`
SogaWingColor2 common.EQ2Color `eq2:"color"`
SogaChestFile common.EQ2String16 `eq2:"string16"`
SogaShirtColor common.EQ2Color `eq2:"color"`
SogaUnknownChestColor common.EQ2Color `eq2:"color"`
SogaLegsFile common.EQ2String16 `eq2:"string16"`
SogaPantsColor common.EQ2Color `eq2:"color"`
SogaUnknownLegsColor common.EQ2Color `eq2:"color"`
SogaUnknown12 common.EQ2Color `eq2:"color"`
SogaEyes2 []float32 `eq2:"float,len=3"`
SogaEars []float32 `eq2:"float,len=3"`
SogaEyeBrows []float32 `eq2:"float,len=3"`
SogaCheeks []float32 `eq2:"float,len=3"`
SogaLips []float32 `eq2:"float,len=3"`
SogaChin []float32 `eq2:"float,len=3"`
SogaNose []float32 `eq2:"float,len=3"`
SogaBodySize float32 `eq2:"float"`
SogaBodyAge float32 `eq2:"float"`
Unknown13 []uint8 `eq2:"int8,len=2"`
}

View File

@ -85,4 +85,28 @@ func RegisterLoginServerStructs(registry *parser.VersionRegistry) {
registry.RegisterStruct("LoginByNumRequest", "1", reflect.TypeOf(LoginByNumRequestV1{})) registry.RegisterStruct("LoginByNumRequest", "1", reflect.TypeOf(LoginByNumRequestV1{}))
registry.RegisterStruct("LoginByNumRequest", "562", reflect.TypeOf(LoginByNumRequestV562{})) registry.RegisterStruct("LoginByNumRequest", "562", reflect.TypeOf(LoginByNumRequestV562{}))
registry.RegisterStruct("LoginByNumRequest", "1208", reflect.TypeOf(LoginByNumRequestV1208{})) registry.RegisterStruct("LoginByNumRequest", "1208", reflect.TypeOf(LoginByNumRequestV1208{}))
// BadLanguageFilter
registry.RegisterStruct("BadLanguageFilter", "1", reflect.TypeOf(BadLanguageFilter{}))
// CharSelectProfile
registry.RegisterStruct("CharSelectProfile", "1", reflect.TypeOf(CharSelectProfileV1{}))
registry.RegisterStruct("CharSelectProfile", "373", reflect.TypeOf(CharSelectProfileV373{}))
registry.RegisterStruct("CharSelectProfile", "546", reflect.TypeOf(CharSelectProfileV546{}))
registry.RegisterStruct("CharSelectProfile", "562", reflect.TypeOf(CharSelectProfileV562{}))
registry.RegisterStruct("CharSelectProfile", "887", reflect.TypeOf(CharSelectProfileV887{}))
registry.RegisterStruct("CharSelectProfile", "60085", reflect.TypeOf(CharSelectProfileV60085{}))
// CreateCharacter
registry.RegisterStruct("CreateCharacter", "1", reflect.TypeOf(CreateCharacterV1{}))
registry.RegisterStruct("CreateCharacter", "373", reflect.TypeOf(CreateCharacterV373{}))
registry.RegisterStruct("CreateCharacter", "546", reflect.TypeOf(CreateCharacterV546{}))
registry.RegisterStruct("CreateCharacter", "561", reflect.TypeOf(CreateCharacterV561{}))
registry.RegisterStruct("CreateCharacter", "562", reflect.TypeOf(CreateCharacterV562{}))
registry.RegisterStruct("CreateCharacter", "869", reflect.TypeOf(CreateCharacterV869{}))
registry.RegisterStruct("CreateCharacter", "1096", reflect.TypeOf(CreateCharacterV1096{}))
registry.RegisterStruct("CreateCharacter", "57080", reflect.TypeOf(CreateCharacterV57080{}))
registry.RegisterStruct("CreateCharacter", "60085", reflect.TypeOf(CreateCharacterV60085{}))
registry.RegisterStruct("CreateCharacter", "64659", reflect.TypeOf(CreateCharacterV64659{}))
registry.RegisterStruct("CreateCharacter", "65534", reflect.TypeOf(CreateCharacterV65534{}))
} }