eq2go/internal/packets/ls_structs/LoginReplyMsg.go

342 lines
19 KiB
Go

package ls_structs
import "eq2emu/internal/common"
// StartingItemV1 for older client versions (int16 model_id)
type StartingItemV1 struct {
ModelID uint16 `eq2:"int16"`
SlotID uint8 `eq2:"int8"`
UseColor uint8 `eq2:"int8"`
UseHighlightColor uint8 `eq2:"int8"`
ModelColor common.EQ2Color `eq2:"color"`
ModelHighlightColor common.EQ2Color `eq2:"color"`
}
// ClassItem represents class-specific starting equipment
type ClassItem struct {
ClassID uint8 `eq2:"int8"`
NumItems uint8 `eq2:"int8"`
StartingItems []StartingItem `eq2:"array,arraysize=NumItems"`
}
// ClassItemV1 for older client versions
type ClassItemV1 struct {
ClassID uint8 `eq2:"int8"`
NumItems uint8 `eq2:"int8"`
StartingItems []StartingItemV1 `eq2:"array,arraysize=NumItems"`
}
// LoginReplyMsgV1 - Client version 1
type LoginReplyMsgV1 struct {
LoginResponse uint8 `eq2:"int8"`
WorldName common.EQ2String16 `eq2:"string16"`
ParentalControlFlag uint8 `eq2:"int8"`
ParentalControlTimer []uint32 `eq2:"int32,len=2"`
ParentalControlNext uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
}
// LoginReplyMsgV284 - Client version 284
type LoginReplyMsgV284 struct {
LoginResponse uint8 `eq2:"int8"`
Unknown common.EQ2String16 `eq2:"string16"`
ParentalControlFlag uint8 `eq2:"int8"`
ParentalControlTimer uint32 `eq2:"int32"`
Unknown2 []uint8 `eq2:"int8,len=8"`
CacheSettingAccountID uint32 `eq2:"int32"`
Unknown3 common.EQ2String16 `eq2:"string16"`
ResetAppearance uint8 `eq2:"int8"`
DoNotForceSoga uint8 `eq2:"int8"`
Unknown5 uint16 `eq2:"int16"`
Unknown6 uint8 `eq2:"int8"`
Unknown7 uint32 `eq2:"int32"`
Unknown8 []uint8 `eq2:"int8,len=2"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItemV1 `eq2:"array,arraysize=NumClassItems,ifvariableset=Unknown10"`
UnknownArray2Size uint8 `eq2:"int8"`
UnknownArray2 []UnknownArray2Item `eq2:"array,arraysize=UnknownArray2Size"`
}
// LS_LoginReplyMsgV843 - Client version 843
type LoginReplyMsgV843 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"`
Unknown7 uint32 `eq2:"int32"`
RaceUnknown uint8 `eq2:"int8"`
Unknown8 []uint8 `eq2:"int8,len=3"`
Unknown9 uint8 `eq2:"int8"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItemV1 `eq2:"array,arraysize=NumClassItems,ifvariableset=Unknown10"`
UnknownArray2Size uint8 `eq2:"int8"`
UnknownArray2 []UnknownArray2Item `eq2:"array,arraysize=UnknownArray2Size"`
}
// LS_LoginReplyMsgV1096 - Client version 1096
type LoginReplyMsgV1096 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"`
RaceUnknown uint8 `eq2:"int8"`
Unknown8 []uint8 `eq2:"int8,len=3"`
Unknown9 uint8 `eq2:"int8"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItemV1 `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"`
}
// LoginReplyMsgV1142 - Client version 1142
type LoginReplyMsgV1142 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 uint32 `eq2:"int32"`
RaceUnknown uint8 `eq2:"int8"`
Unknown8 []uint8 `eq2:"int8,len=3"`
Unknown9 uint8 `eq2:"int8"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItemV1 `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"`
}
// LoginReplyMsgV1188 - Client version 1188
type LoginReplyMsgV1188 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 uint32 `eq2:"int32"`
RaceUnknown uint8 `eq2:"int8"`
Unknown8 []uint8 `eq2:"int8,len=3"`
Unknown9 uint8 `eq2:"int8"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItemV1 `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"`
Unknown12 common.EQ2String16 `eq2:"string16"`
}
// LoginReplyMsgV57080 - Client version 57080
type LoginReplyMsgV57080 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 uint32 `eq2:"int32"`
RaceUnknown uint8 `eq2:"int8"`
Unknown8 []uint8 `eq2:"int8,len=3"`
Unknown9 uint8 `eq2:"int8"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItem `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"`
Web1 common.EQ2String16 `eq2:"string16"`
Web2 common.EQ2String16 `eq2:"string16"`
Web3 common.EQ2String16 `eq2:"string16"`
Web4 common.EQ2String16 `eq2:"string16"`
Web5 common.EQ2String16 `eq2:"string16"`
Web6 common.EQ2String16 `eq2:"string16"`
Web7 common.EQ2String16 `eq2:"string16"`
Web8 common.EQ2String16 `eq2:"string16"`
Web9 common.EQ2String16 `eq2:"string16"`
Unknown12 uint8 `eq2:"int8"`
Lvl90NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
Lvl90ClassItems []ClassItem `eq2:"array,arraysize=Lvl90NumClassItems,ifvariableset=Unknown10"`
Unknown13 []uint8 `eq2:"int8,len=5"`
}
// LoginReplyMsgV60100 - Client version 60100
type LoginReplyMsgV60100 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"`
Unknown5 uint64 `eq2:"int64"`
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 []ClassItem `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 []ClassItem `eq2:"array,arraysize=Lvl90NumClassItems,ifvariableset=Unknown12"`
Unknown13 uint8 `eq2:"int8"`
TimeLockedNumClassItems uint8 `eq2:"int8,ifvariableset=Unknown13"`
TimeLockedClassItems []ClassItem `eq2:"array,arraysize=TimeLockedNumClassItems,ifvariableset=Unknown13"`
Unknown14 []uint8 `eq2:"int8,len=13"`
}
// LoginReplyMsgV63181 - Client version 63181
type LoginReplyMsgV63181 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"`
Unknown6a []uint8 `eq2:"int8,len=8"`
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 []ClassItem `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 []ClassItem `eq2:"array,arraysize=Lvl90NumClassItems,ifvariableset=Unknown12"`
Unknown13 uint8 `eq2:"int8"`
TimeLockedNumClassItems uint8 `eq2:"int8,ifvariableset=Unknown13"`
TimeLockedClassItems []ClassItem `eq2:"array,arraysize=TimeLockedNumClassItems,ifvariableset=Unknown13"`
Unknown14 []uint8 `eq2:"int8,len=9"`
}
// LoginReplyMsgV65534 - Client version 65534 (latest)
type LoginReplyMsgV65534 struct {
LoginResponse uint8 `eq2:"int8"`
WorldName common.EQ2String16 `eq2:"string16"`
ParentalControlFlag uint8 `eq2:"int8"`
ParentalControlTimer uint64 `eq2:"int64"`
Unknown2 uint32 `eq2:"int32"`
AccountID uint32 `eq2:"int32"`
Unknown3 common.EQ2String16 `eq2:"string16"`
ResetAppearance uint8 `eq2:"int8"`
DoNotForceSoga uint8 `eq2:"int8"`
Unknown4 common.EQ2String32 `eq2:"string32"`
Unknown7 common.EQ2String32 `eq2:"string32"`
RaceUnknown uint32 `eq2:"int32"`
Unknown8 uint8 `eq2:"int8"`
Unknown10 uint8 `eq2:"int8"`
NumClassItems uint8 `eq2:"int8,ifvariableset=Unknown10"`
ClassItems []ClassItem `eq2:"array,arraysize=NumClassItems,ifvariableset=Unknown10"`
UnknownArray2Size uint8 `eq2:"int8"`
UnknownArray2 []UnknownArray2Item `eq2:"array,arraysize=UnknownArray2Size,ifvariableset=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 []ClassItem `eq2:"array,arraysize=Lvl90NumClassItems,ifvariableset=Unknown12"`
Unknown13 uint8 `eq2:"int8"`
TimeLockedNumClassItems uint8 `eq2:"int8,ifvariableset=Unknown13"`
TimeLockedClassItems []ClassItem `eq2:"array,arraysize=TimeLockedNumClassItems,ifvariableset=Unknown13"`
Unknown14 []uint8 `eq2:"int8,len=13"`
}