342 lines
19 KiB
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"`
|
|
}
|