eq2go/internal/packets/ls_structs/LoginResponse.go

181 lines
6.6 KiB
Go

package ls_structs
import "eq2emu/internal/common"
// LoginResponse for client version 1
type LoginResponseV1 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown01 uint16 `eq2:"int16"`
Unknown02 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown05 int32 `eq2:"sint32"`
AccountID uint32 `eq2:"int32"`
Unknown06 uint16 `eq2:"int16"`
Unknown07 uint8 `eq2:"int8"`
Unknown08 uint8 `eq2:"int8"`
Unknown09 uint32 `eq2:"int32"`
Unknown10 uint8 `eq2:"int8"`
Unknown11 uint32 `eq2:"int32"`
Unknown12 uint8 `eq2:"int8"`
}
// LoginResponse for client version 546
type LoginResponseV546 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown uint16 `eq2:"int16"`
Unknown01 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown15 []uint8 `eq2:"int8,len=11"`
Unknown02 uint8 `eq2:"int8"`
}
// LoginResponse for client version 561
type LoginResponseV561 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown01 []uint8 `eq2:"int8,len=22"`
Unknown02 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown05 int32 `eq2:"sint32"`
AccountID uint32 `eq2:"int32"`
Unknown06 []uint8 `eq2:"int8,len=7"`
Unknown07 uint32 `eq2:"int32"`
Unknown08 uint32 `eq2:"int32"`
Unknown09 uint32 `eq2:"int32"`
Unknown10 uint32 `eq2:"int32"`
}
// LoginResponse for client version 1096
type LoginResponseV1096 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown01 []uint8 `eq2:"int8,len=22"`
Unknown02 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown05 int32 `eq2:"sint32"`
AccountID uint32 `eq2:"int32"`
Unknown06 []uint8 `eq2:"int8,len=7"`
Unknown07 uint32 `eq2:"int32"`
Unknown08 uint32 `eq2:"int32"`
Unknown09 uint32 `eq2:"int32"`
Unknown10 uint32 `eq2:"int32"`
}
// LoginResponse for client version 1144
type LoginResponseV1144 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown01 []uint8 `eq2:"int8,len=22"`
Unknown02 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown05 int32 `eq2:"sint32"`
AccountID uint32 `eq2:"int32"`
Unknown06 []uint8 `eq2:"int8,len=15"`
Unknown07 uint32 `eq2:"int32"`
Unknown08 uint32 `eq2:"int32"`
Unknown09 uint32 `eq2:"int32"`
Unknown10 uint32 `eq2:"int32"`
}
// LoginResponse for client version 1153
type LoginResponseV1153 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown01 []uint8 `eq2:"int8,len=22"`
Unknown02 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown05 int32 `eq2:"sint32"`
AccountID uint32 `eq2:"int32"`
Unknown06 []uint8 `eq2:"int8,len=7"`
Unknown07 uint32 `eq2:"int32"`
Unknown08 uint32 `eq2:"int32"`
Unknown09 uint32 `eq2:"int32"`
Unknown10 uint32 `eq2:"int32"`
Unknown11 uint32 `eq2:"int32"`
}
// LoginResponse for client version 1193
type LoginResponseV1193 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown01 []uint8 `eq2:"int8,len=22"`
Unknown02 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown05 int32 `eq2:"sint32"`
AccountID uint32 `eq2:"int32"`
Unknown06 []uint8 `eq2:"int8,len=7"`
Unknown07 uint32 `eq2:"int32"`
Unknown08 uint32 `eq2:"int32"`
Unknown09 uint32 `eq2:"int32"`
Unknown10 uint32 `eq2:"int32"`
Unknown11 uint32 `eq2:"int32"`
Unknown12 uint16 `eq2:"int16"`
}
// ClassItems represents class-specific starting items
type ClassItems struct {
ClassID uint8 `eq2:"int8"`
NumItems uint8 `eq2:"int8"`
StartingItems []StartingItem `eq2:"array,arraysize=NumItems"`
}
// LoginResponse for client version 60100 - most complex version
type LoginResponseV60100 struct {
LoginResponse uint8 `eq2:"int8"`
Unknown common.EQ2String16 `eq2:"string16"`
ParentalControlFlag uint8 `eq2:"int8"`
ParentalControlTimer uint32 `eq2:"int32"`
Unknown2 []uint8 `eq2:"int8,len=8"`
AccountID uint32 `eq2:"int32"`
Unknown3 common.EQ2String16 `eq2:"string16"`
ResetAppearance uint8 `eq2:"int8"`
DoNotForceSoga uint8 `eq2:"int8"`
Unknown4 uint8 `eq2:"int8"`
Unknown5 uint16 `eq2:"int16"`
Unknown6 []uint8 `eq2:"int8,len=5"`
Unknown7 uint32 `eq2:"int32"`
Unknown7a uint16 `eq2:"int16"`
RaceUnknown uint8 `eq2:"int8"`
Unknown8 []uint8 `eq2:"int8,len=3"`
Unknown9 []uint8 `eq2:"int8,len=3"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItems `eq2:"array,arraysize=NumClassItems,ifvariableset=Unknown10"`
UnknownArray2Size uint8 `eq2:"int8"`
UnknownArray2 []UnknownArray2Item `eq2:"array,arraysize=UnknownArray2Size"`
Unknown11 uint32 `eq2:"int32"`
SubLevel uint32 `eq2:"int32"`
RaceFlag uint32 `eq2:"int32"`
ClassFlag uint32 `eq2:"int32"`
Password common.EQ2String16 `eq2:"string16"`
Username common.EQ2String16 `eq2:"string16"`
Service common.EQ2String16 `eq2:"string16"`
Unknown12 uint8 `eq2:"int8"`
Lvl90NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown12"`
Lvl90ClassItems []ClassItems `eq2:"array,arraysize=Lvl90NumClassItems,ifvariableset=Unknown12"`
Unknown13 uint8 `eq2:"int8"`
TimeLockedNumClassItems uint8 `eq2:"int8,ifvariableset=Unknown13"`
TimeLockedClassItems []ClassItems `eq2:"array,arraysize=TimeLockedNumClassItems,ifvariableset=Unknown13"`
Unknown14 []uint8 `eq2:"int8,len=13"`
}
// LoginResponse for client version 57048
type LoginResponseV57048 struct {
ReplyCode uint8 `eq2:"int8"`
Unknown01 []uint8 `eq2:"int8,len=22"`
Unknown02 uint8 `eq2:"int8"`
Unknown03 int32 `eq2:"sint32"`
Unknown04 int32 `eq2:"sint32"`
Unknown05 int32 `eq2:"sint32"`
AccountID uint32 `eq2:"int32"`
Unknown06 []uint8 `eq2:"int8,len=7"`
Unknown07 uint32 `eq2:"int32"`
Unknown08 uint32 `eq2:"int32"`
Unknown09 uint32 `eq2:"int32"`
Unknown10 uint32 `eq2:"int32"`
Unknown11 uint32 `eq2:"int32"`
Unknown12 []uint32 `eq2:"int32,len=5"`
}