structs

package
v0.0.0-...-54883c6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2020 License: GPL-2.0 Imports: 6 Imported by: 0

Documentation

Overview

auxiliar structs and functions for Network Commands

Index

Constants

View Source
const (
	TsProgress  = 0
	TsDone      = 1
	TsSkip      = 2
	TsException = 3
	TsMax       = 4
)

/* 1387 */ enum TUTORIAL_STATE { TS_PROGRESS = 0x0, TS_DONE = 0x1, TS_SKIP = 0x2, TS_EXCEPTION = 0x3, TS_MAX = 0x4, };

Variables

This section is empty.

Functions

func Pack

func Pack(nc interface{}) ([]byte, error)

WriteBinary data into a given struct and return bytes todo: check again if it can be done like this: https://github.com/go-restruct/restruct/issues/39

func Unpack

func Unpack(data []byte, nc interface{}) error

ReadBinary data into a given struct if struct size is bigger than available data, fill with zeros

Types

type AbnormalStateBit

type AbnormalStateBit struct {
	StateBit [103]byte
}

struct ABNORMAL_STATE_BIT

{
 char statebit[103];
};

type AbstateInformation

type AbstateInformation struct {
	//enum ABSTATEINDEX
	//{
	//  STA_SEVERBONE = 0x0,
	//  STA_REDSLASH = 0x1,
	//  STA_BATTLEBLOWSTUN = 0x2,
	//  [ .... many more ]
	//  STA_MIGHTYSOULMAIN = 0x3,
	//  MAX_ABSTATEINDEX = 0x336,
	//};
	AbstateIndex uint32
	RestKeepTime uint32
	Strength     uint32
}

struct ABSTATE_INFORMATION

{
 ABSTATEINDEX abstateID;
 unsigned int restKeeptime;
 unsigned int strength;
};

type AvatarInformation

type AvatarInformation struct {
	ChrRegNum        uint32 `struct:"uint32"`
	Name             Name5
	Level            uint16 `struct:"uint16"`
	Slot             byte   `struct:"byte"`
	LoginMap         Name3
	DelInfo          ProtoAvatarDeleteInfo
	Shape            ProtoAvatarShapeInfo
	Equip            ProtoEquipment
	KqHandle         uint32 `struct:"uint32"`
	KqMapName        Name3
	KqCoord          ShineXYType
	KqDate           ShineDateTime
	CharIdChangeData CharIdChangeData
	TutorialInfo     ProtoTutorialInfo
}

struct PROTO_AVATARINFORMATION

{
 unsigned int chrregnum;
 Name5 name;
 unsigned __int16 level;
 char slot;
 Name3 loginmap;
 PROTO_AVATAR_DELETE_INFO delinfo;
 PROTO_AVATAR_SHAPE_INFO shape;
 PROTO_EQUIPMENT equip;
 unsigned int nKQHandle;
 Name3 sKQMapName;
 SHINE_XY_TYPE nKQCoord;
 SHINE_DATETIME dKQDate;
 CHAR_ID_CHANGE_DATA CharIDChangeData;
 PROTO_TUTORIAL_INFO TutorialInfo;
};

type BriefInfoRegenMobCmdFlag

type BriefInfoRegenMobCmdFlag struct {
	AbstateBit AbnormalStateBit
}

union PROTO_NC_BRIEFINFO_REGENMOB_CMD::<unnamed-type-flag>

{
 ABNORMAL_STATE_BIT abstatebit;   0
 char gate2where[12];   			 1
};

type CharIdChangeData

type CharIdChangeData struct {
	NeedChangeId byte   `struct:"byte"`
	Init         byte   `struct:"byte"`
	RowNo        uint32 `struct:"uint32"`
}

struct CHAR_ID_CHANGE_DATA

{
 char bNeedChangeID;
 char bInit;
 unsigned int nRowNo;
};

type CharMysteryVaultUiStateCmd

type CharMysteryVaultUiStateCmd struct {
	MysteryVault byte
}

struct PROTO_NC_CHAR_MYSTERYVAULT_UI_STATE_CMD

{
 char mystery_vault;
};

func (*CharMysteryVaultUiStateCmd) PdbType

func (nc *CharMysteryVaultUiStateCmd) PdbType() string

func (*CharMysteryVaultUiStateCmd) String

func (nc *CharMysteryVaultUiStateCmd) String() string

type CharTitleInfo

type CharTitleInfo struct {
	Type byte
	BF1  byte
}

struct CT_INFO

{
 char Type;
 char _bf1;
};

type CharUseItemMiniMonsterInfoClientCmd

type CharUseItemMiniMonsterInfoClientCmd struct {
	MiniMonsterInfo UseItemMiniMonsterInfo
}

struct PROTO_NC_CHAR_USEITEM_MINIMON_INFO_CLIENT_CMD

{
 USEITEM_MINIMON_INFO UseItemMinimonInfo;
};

func (*CharUseItemMiniMonsterInfoClientCmd) PdbType

func (*CharUseItemMiniMonsterInfoClientCmd) String

type ChargedItemInfo

type ChargedItemInfo struct {
	ItemOrderNo      uint32
	ItemCode         uint32
	ItemAmount       uint32
	ItemRegisterDate ShineDateTime
}

struct PROTO_CHARGED_ITEM_INFO

{
 unsigned int ItemOrderNo;
 unsigned int ItemCode;
 unsigned int ItemAmount;
 ShineDateTime ItemRegisterDate;
};

type EquipmentUpgrade

type EquipmentUpgrade struct {
	Gap [2]uint8 `struct:"[2]uint8"`
	BF2 byte     `struct:"byte"`
}

struct PROTO_EQUIPMENT::<unnamed-type-upgrade> { _BYTE gap0[2]; char _bf2; };

type GameOptionData

type GameOptionData struct {
	OptionNo uint16
	Value    byte
}

struct GAME_OPTION_DATA

{
 unsigned __int16 nOptionNo;
 char nValue;
};

type GuildAcademyClient

type GuildAcademyClient struct {
	AcademyMasterName Name5
	NumAcademyMembers uint16
	MaxAcademyMembers uint16
	AcademyPoint      uint32
	AcademyRank       uint32
	AcademyBuffTime   int32
	Intro             [128]byte
	NotifyDate        int32
	TmNotifyDate      TM
	NotifyCharID      Name5
	Notify            [512]byte
}

struct GUILD_ACADEMY_CLIENT

{
 Name5 sAcademyMasterName;
 unsigned __int16 nNumAcademyMembers;
 unsigned __int16 nMaxAcademyMembers;
 unsigned int nAcademyPoint;
 unsigned int nAcademyRank;
 int dAcademyBuffUntilTime;
 char sIntro[128];
 int dNotifyDate;
 tm tm_dNotifyDate;
 Name5 sNotifyCharID;
 char sNotify[512];
};

type GuildClient

type GuildClient struct {
	Number           uint32
	Name             Name4
	Money            uint64
	Type             byte
	Grade            byte
	Fame             uint32
	StoneLevel       uint16
	Exp              uint64
	CreatedDate      int32
	NumMembers       uint16
	MaxMembers       uint16
	WarStatus        byte
	WarRequestDate   int32
	WarStartDate     int32
	WarEndDate       int32
	TmWarRequestDate TM
	TmWarStartDate   TM
	TmWarEndDate     TM
	WarEnemy         uint32
	WarEnemyName     Name4
	WarEnemyGrade    byte
	MyScore          ShineGuildScore
	EnemyScore       ShineGuildScore
	WarWinCount      uint32
	WarLoseCount     uint32
	WarDrawCount     uint32
	DismissStatus    byte
	DismissDate      int32
	TmDismissDate    TM
	Intro            [128]byte
	NotifyDate       int32
	TmNotifyDate     TM
	NotifyCharID     Name5
	Notify           [512]byte
}

struct GUILD_CLIENT

{
 unsigned int nNo;
 Name4 sName;
 unsigned __int64 nMoney;
 char nType;
 char nGrade;
 unsigned int nFame;
 unsigned __int16 nStoneLevel;
 unsigned __int64 nExp;
 int dCreateDate;
 tm tm_dCreateDate;
 unsigned __int16 nNumMembers;
 unsigned __int16 nMaxMembers;
 char nWarStatus;
 int dWarRequestDate;
 int dWarStartDate;
 int dWarEndDate;
 tm tm_dWarRequestDate;
 tm tm_dWarStartDate;
 tm tm_dWarEndDate;
 unsigned int nWarEnemy;
 Name4 sWarEnemyName;
 char nWarEnemyGrade;
 SHINE_GUILD_SCORE MyScore;
 SHINE_GUILD_SCORE EnemyScore;
 unsigned int nWarWinCount;
 unsigned int nWarLoseCount;
 unsigned int nWarDrawCount;
 char nDismissStatus;
 int dDismissDate;
 tm tm_dDismissDate;
 char sIntro[128];
 int dNotifyDate;
 tm tm_dNotifyDate;
 Name5 sNotifyCharID;
 char sNotify[512];
};

type HolyPromiseDate

type HolyPromiseDate struct {
	BF0 int32
}

struct PROTO_HOLY_PROMISE_DATE

{
 int _bf0;
};

type HolyPromiseInfo

type HolyPromiseInfo struct {
	PromiseCharID Name5
	LogonInfo     HolyPromiseDate
	Level         byte
	Flags         byte
}

struct PROTO_HOLY_PROMISE_INFO

{
 Name5 PromiseCharID;
 PROTO_HOLY_PROMISE_DATE LogonInfo;
 char Level;
 char Flags;
};

type ItemInventory

type ItemInventory struct {
	Inventory uint16
}

union ITEM_INVEN

{
 unsigned __int16 Inven;
};

type MapLogoutCmd

type MapLogoutCmd struct {
	Handle uint16
}

struct PROTO_NC_MAP_LOGOUT_CMD

{
 unsigned __int16 handle;
};

func (*MapLogoutCmd) PdbType

func (nc *MapLogoutCmd) PdbType() string

func (*MapLogoutCmd) String

func (nc *MapLogoutCmd) String() string

type NC

type NC interface {
	String() string
	PdbType() string
}

type Name256Byte

type Name256Byte struct {
	Name [256]byte `struct:"[256]byte"`
}

union Name256Byte

{
	char n256_name[256];
	unsigned __int64 n256_code[32];
};

type Name3

type Name3 struct {
	Name [12]byte `struct:"[12]byte"`
}

/* 2839 */ union Name3

{
 char n3_name[12];
 unsigned int n3_code[3];
};

type Name4

type Name4 struct {
	Name [16]byte `struct:"[16]byte"`
}

union Name4

{
	char n4_name[16];
	unsigned int n4_code[4];
};

type Name5

type Name5 struct {
	Name [20]byte `struct:"[20]byte"`
}

/* 3256 */ union Name5

{
 char n5_name[20];
 unsigned int n5_code[5];
};

type Name8

type Name8 struct {
	Name [32]byte `struct:"[32]byte"`
}

/* 2787 */ union Name8

{
	char n8_name[32];
	unsigned int n8_code[8];
};

type NcActChatReq

type NcActChatReq struct {
	ItemLinkDataCount byte   `struct:"byte"`
	Length            byte   `struct:"byte"`
	Content           []byte `struct:"sizefrom=Length"`
}

func (*NcActChatReq) PdbType

func (nc *NcActChatReq) PdbType() string

func (*NcActChatReq) String

func (nc *NcActChatReq) String() string

type NcAvatarCreateFailAck

type NcAvatarCreateFailAck struct {
	Err uint16 `struct:"uint16"`
}

struct PROTO_NC_AVATAR_CREATEFAIL_ACK

{
 unsigned __int16 err;
};

func (*NcAvatarCreateFailAck) PdbType

func (nc *NcAvatarCreateFailAck) PdbType() string

func (*NcAvatarCreateFailAck) String

func (nc *NcAvatarCreateFailAck) String() string

type NcAvatarCreateReq

type NcAvatarCreateReq struct {
	SlotNum byte `struct:"byte"`
	Name    Name5
	Shape   ProtoAvatarShapeInfo
}

struct PROTO_NC_AVATAR_CREATE_REQ

{
	char slotnum;
	Name5 name;
	PROTO_AVATAR_SHAPE_INFO char_shape;
};

func (*NcAvatarCreateReq) PdbType

func (nc *NcAvatarCreateReq) PdbType() string

func (*NcAvatarCreateReq) String

func (nc *NcAvatarCreateReq) String() string

type NcAvatarCreateSuccAck

type NcAvatarCreateSuccAck struct {
	NumOfAvatar byte `struct:"byte"`
	Avatar      AvatarInformation
}

struct PROTO_NC_AVATAR_CREATESUCC_ACK

{
 char numofavatar;
 PROTO_AVATARINFORMATION avatar;
};

func (*NcAvatarCreateSuccAck) PdbType

func (nc *NcAvatarCreateSuccAck) PdbType() string

func (*NcAvatarCreateSuccAck) String

func (nc *NcAvatarCreateSuccAck) String() string

type NcAvatarEraseReq

type NcAvatarEraseReq struct {
	Slot byte `struct:"byte"`
}

struct PROTO_NC_AVATAR_ERASE_REQ { char slot; };

func (*NcAvatarEraseReq) PdbType

func (nc *NcAvatarEraseReq) PdbType() string

type NcAvatarEraseSuccAck

type NcAvatarEraseSuccAck struct {
	Slot byte `struct:"byte"`
}

struct PROTO_NC_AVATAR_ERASESUCC_ACK { char slot; };

func (*NcAvatarEraseSuccAck) PdbType

func (nc *NcAvatarEraseSuccAck) PdbType() string

func (*NcAvatarEraseSuccAck) String

func (nc *NcAvatarEraseSuccAck) String() string

type NcBatAbstateResetCmd

type NcBatAbstateResetCmd struct {
	Handle       uint16
	AbstateIndex uint32
}

struct PROTO_NC_BAT_ABSTATERESET_CMD

{
 unsigned __int16 handle;
 ABSTATEINDEX abstate;
};

func (*NcBatAbstateResetCmd) PdbType

func (nc *NcBatAbstateResetCmd) PdbType() string

func (*NcBatAbstateResetCmd) String

func (nc *NcBatAbstateResetCmd) String() string

type NcBatSpChangeCmd

type NcBatSpChangeCmd struct {
	SP uint32
}

struct PROTO_NC_BAT_SPCHANGE_CMD

{
 unsigned int sp;
};

func (*NcBatSpChangeCmd) PdbType

func (nc *NcBatSpChangeCmd) PdbType() string

func (*NcBatSpChangeCmd) String

func (nc *NcBatSpChangeCmd) String() string

type NcBriefInfoAbstateChangeCmd

type NcBriefInfoAbstateChangeCmd struct {
	Handle uint16
	Info   AbstateInformation
}

struct PROTO_NC_BRIEFINFO_ABSTATE_CHANGE_CMD

{
 unsigned __int16 handle;
 ABSTATE_INFORMATION info;
};

func (*NcBriefInfoAbstateChangeCmd) PdbType

func (nc *NcBriefInfoAbstateChangeCmd) PdbType() string

func (*NcBriefInfoAbstateChangeCmd) String

func (nc *NcBriefInfoAbstateChangeCmd) String() string

type NcBriefInfoChangeDecorateCmd

type NcBriefInfoChangeDecorateCmd struct {
	Handle  uint16
	Item    uint16
	SlotNum byte
}

struct PROTO_NC_BRIEFINFO_CHANGEDECORATE_CMD

{
 unsigned __int16 handle;
 unsigned __int16 item;
 char nSlotNum;
};

func (*NcBriefInfoChangeDecorateCmd) PdbType

func (nc *NcBriefInfoChangeDecorateCmd) PdbType() string

func (*NcBriefInfoChangeDecorateCmd) String

func (nc *NcBriefInfoChangeDecorateCmd) String() string

type NcBriefInfoDeleteCmd

type NcBriefInfoDeleteCmd struct {
	Handle uint16
}

struct PROTO_NC_BRIEFINFO_BRIEFINFODELETE_CMD

{
 unsigned __int16 hnd;
};

func (*NcBriefInfoDeleteCmd) PdbType

func (nc *NcBriefInfoDeleteCmd) PdbType() string

func (*NcBriefInfoDeleteCmd) String

func (nc *NcBriefInfoDeleteCmd) String() string

type NcBriefInfoDroppedItemCmd

type NcBriefInfoDroppedItemCmd struct {
	Handle        uint16
	ItemID        uint16
	Location      ShineXYType
	DropMobHandle uint16
	Attr          NcBriefInfoDroppedItemCmdAttr
}

struct PROTO_NC_BRIEFINFO_DROPEDITEM_CMD

{
 unsigned __int16 handle;
 unsigned __int16 itemid;
 SHINE_XY_TYPE location;
 unsigned __int16 dropmobhandle;
 PROTO_NC_BRIEFINFO_DROPEDITEM_CMD::<unnamed-type-attr> attr;
};

func (*NcBriefInfoDroppedItemCmd) PdbType

func (nc *NcBriefInfoDroppedItemCmd) PdbType() string

func (*NcBriefInfoDroppedItemCmd) String

func (nc *NcBriefInfoDroppedItemCmd) String() string

type NcBriefInfoDroppedItemCmdAttr

type NcBriefInfoDroppedItemCmdAttr struct {
	BF0 byte
}

struct PROTO_NC_BRIEFINFO_DROPEDITEM_CMD::<unnamed-type-attr>

{
 char _bf0;
};

type NcBriefInfoMobCmd

type NcBriefInfoMobCmd struct {
	MobNum byte
	Mobs   []NcBriefInfoRegenMobCmd `struct:"sizefrom=MobNum"`
}

struct PROTO_NC_BRIEFINFO_MOB_CMD

{
 char mobnum;
 PROTO_NC_BRIEFINFO_REGENMOB_CMD mobs[];
};

func (*NcBriefInfoMobCmd) PdbType

func (nc *NcBriefInfoMobCmd) PdbType() string

func (*NcBriefInfoMobCmd) String

func (nc *NcBriefInfoMobCmd) String() string

type NcBriefInfoRegenMobCmd

type NcBriefInfoRegenMobCmd struct {
	Handle uint16
	Mode   byte
	MobID  uint16
	Coord  ShineCoordType
	// 0,1
	FlagState byte
	//FlagZero RegenMobFlagZero `struct-if:"FlagState == 0"`
	FlagOne RegenMobFlagOne `struct-if:"FlagState == 1"`

	Animation      [32]byte
	AnimationLevel byte
	KQTeamType     byte
	RegenAni       byte
}

struct PROTO_NC_BRIEFINFO_REGENMOB_CMD

{
 unsigned __int16 handle;
 char mode;
 unsigned __int16 mobid;
 SHINE_COORD_TYPE coord;
 char flagstate;
 PROTO_NC_BRIEFINFO_REGENMOB_CMD::<unnamed-type-flag> flag;
 char sAnimation[32];
 char nAnimationLevel;
 char nKQTeamType;
 char bRegenAni;
};

type NcCharAdminLevelInformCmd

type NcCharAdminLevelInformCmd struct {
	AdminLevel byte
}

struct PROTO_NC_CHAR_ADMIN_LEVEL_INFORM_CMD

{
 char nAdminLevel;
};

func (*NcCharAdminLevelInformCmd) PdbType

func (nc *NcCharAdminLevelInformCmd) PdbType() string

func (*NcCharAdminLevelInformCmd) String

func (nc *NcCharAdminLevelInformCmd) String() string

type NcCharClientItemCmd

type NcCharClientItemCmd struct {
	NumOfItem byte `struct:"byte"`
	Box       byte `struct:"byte"`
	Flag      ProtoNcCharClientItemCmdFlag
	Items     []ProtoItemPacketInformation `struct:"sizefrom=NumOfItem"`
}

struct PROTO_NC_CHAR_CLIENT_ITEM_CMD

{
	char numofitem;
	char box;
	PROTO_NC_CHAR_CLIENT_ITEM_CMD::<unnamed-type-flag> flag;
	PROTO_ITEMPACKET_INFORM ItemArray[];
};

func (*NcCharClientItemCmd) PdbType

func (nc *NcCharClientItemCmd) PdbType() string

func (*NcCharClientItemCmd) String

func (nc *NcCharClientItemCmd) String() string

type NcCharClientSkillCmd

type NcCharClientSkillCmd struct {
	RestEmpower byte
	PartMark    PartMark
	MaxNum      uint16
	Skills      NcCharSkillClientCmd
}

struct PROTO_NC_CHAR_CLIENT_SKILL_CMD

{
	char restempow;
	PARTMARK PartMark;
	unsigned __int16 nMaxNum;
	PROTO_NC_CHAR_SKILLCLIENT_CMD skill;
};

func (*NcCharClientSkillCmd) PdbType

func (nc *NcCharClientSkillCmd) PdbType() string

func (*NcCharClientSkillCmd) String

func (nc *NcCharClientSkillCmd) String() string

type NcCharGuildAcademyCmd

type NcCharGuildAcademyCmd struct {
	GuildAcademyNo       uint32
	IsGuildAcademyMember byte
	GuildAcademyClients  []GuildAcademyClient `struct:"sizefrom=GuildAcademyNo"`
}

struct PROTO_NC_CHAR_GUILD_ACADEMY_CMD

{
 unsigned int nGuildAcademyNo;
 char isGuildAcademyMember;
 GUILD_ACADEMY_CLIENT GuildAcademy[];
};

func (*NcCharGuildAcademyCmd) PdbType

func (nc *NcCharGuildAcademyCmd) PdbType() string

func (*NcCharGuildAcademyCmd) String

func (nc *NcCharGuildAcademyCmd) String() string

type NcCharGuildCmd

type NcCharGuildCmd struct {
	GuildNumber uint32
	Guilds      []GuildClient `struct:"sizefrom=GuildNumber"`
}

struct PROTO_NC_CHAR_GUILD_CMD

{
 unsigned int nGuildNo;
 GUILD_CLIENT Guild[];
};

func (*NcCharGuildCmd) PdbType

func (nc *NcCharGuildCmd) PdbType() string

func (*NcCharGuildCmd) String

func (nc *NcCharGuildCmd) String() string

type NcCharLoginAck

type NcCharLoginAck struct {
	ZoneIP   Name4
	ZonePort uint16
}

struct PROTO_NC_CHAR_LOGIN_ACK

{
 Name4 zoneip;
 unsigned __int16 zoneport;
};

func (*NcCharLoginAck) PdbType

func (nc *NcCharLoginAck) PdbType() string

func (*NcCharLoginAck) String

func (nc *NcCharLoginAck) String() string

type NcCharLoginReq

type NcCharLoginReq struct {
	Slot byte
}

struct PROTO_NC_CHAR_LOGIN_REQ

{
 char slot;
};

func (*NcCharLoginReq) PdbType

func (nc *NcCharLoginReq) PdbType() string

func (*NcCharLoginReq) String

func (nc *NcCharLoginReq) String() string

type NcCharOptionGetShortcutSizeAck

type NcCharOptionGetShortcutSizeAck struct {
	Success byte
	Data    NcCharOptionShortcutSize
}

struct PROTO_NC_CHAR_OPTION_GET_SHORTCUTSIZE_ACK

{
 char bSuccess;
 PROTO_NC_CHAR_OPTION_SHORTCUTSIZE Data;
};

func (*NcCharOptionGetShortcutSizeAck) PdbType

func (nc *NcCharOptionGetShortcutSizeAck) PdbType() string

func (*NcCharOptionGetShortcutSizeAck) String

type NcCharOptionGetShortcutSizeReq

type NcCharOptionGetShortcutSizeReq struct {
}

struct PROTO_NC_CHAR_OPTION_GET_SHORTCUTSIZE_REQ

{
 char dummy[1];
};

func (*NcCharOptionGetShortcutSizeReq) PdbType

func (nc *NcCharOptionGetShortcutSizeReq) PdbType() string

func (*NcCharOptionGetShortcutSizeReq) String

type NcCharOptionImproveGetGameOptionCmd

type NcCharOptionImproveGetGameOptionCmd struct {
	OptionCount uint16
	GameOptions []GameOptionData `struct:"sizefrom=OptionCount"`
}

struct PROTO_NC_CHAR_OPTION_IMPROVE_GET_GAMEOPTION_CMD

{
 unsigned __int16 nGameOptionDataCnt;
 GAME_OPTION_DATA GameOptionData[];
};

func (*NcCharOptionImproveGetGameOptionCmd) PdbType

func (*NcCharOptionImproveGetGameOptionCmd) String

type NcCharOptionShortcutSize

type NcCharOptionShortcutSize struct {
	Data [24]byte
}

struct PROTO_NC_CHAR_OPTION_SHORTCUTSIZE

{
 char Data[24];
};

type NcCharSkillClientCmd

type NcCharSkillClientCmd struct {
	ChrRegNum uint32
	Number    uint16
	Skills    []SkillReadBlockClient `struct:"sizefrom=Number"`
}

struct PROTO_NC_CHAR_SKILLCLIENT_CMD

{
	unsigned int chrregnum;
	unsigned __int16 number;
	PROTO_SKILLREADBLOCKCLIENT skill[];
};

func (*NcCharSkillClientCmd) PdbType

func (nc *NcCharSkillClientCmd) PdbType() string

func (*NcCharSkillClientCmd) String

func (nc *NcCharSkillClientCmd) String() string

type NcCharUiStateSaveReq

type NcCharUiStateSaveReq struct {
	MysteryType byte
}

struct PROTO_NC_CHARSAVE_UI_STATE_SAVE_REQ

{
 char btMysteryType;
};

func (*NcCharUiStateSaveReq) PdbType

func (nc *NcCharUiStateSaveReq) PdbType() string

func (*NcCharUiStateSaveReq) String

func (nc *NcCharUiStateSaveReq) String() string

type NcClientCharTitleCmd

type NcClientCharTitleCmd struct {
	CurrentTitle        byte
	CurrentTitleElement byte
	CurrentTitleMobID   uint16
	NumOfTitle          uint16
	Titles              []CharTitleInfo `struct:"sizefrom=NumOfTitle"`
}

struct PROTO_NC_CHAR_CLIENT_CHARTITLE_CMD

{
 char CurrentTitle;
 char CurrentTitleElement;
 unsigned __int16 CurrentTitleMobID;
 unsigned __int16 NumOfTitle;
 CT_INFO TitleArray[];
};

func (*NcClientCharTitleCmd) PdbType

func (nc *NcClientCharTitleCmd) PdbType() string

func (*NcClientCharTitleCmd) String

func (nc *NcClientCharTitleCmd) String() string

type NcHolyPromiseListCmd

type NcHolyPromiseListCmd struct {
	UpInfo      HolyPromiseInfo
	Part        byte
	MemberCount uint16
	Members     []HolyPromiseInfo `struct:"sizefrom=MemberCount"`
}

struct PROTO_NC_HOLY_PROMISE_LIST_CMD

{
 PROTO_HOLY_PROMISE_INFO UpInfo;
 char nPart;
 unsigned __int16 MemberCount;
 PROTO_HOLY_PROMISE_INFO MemberInfo[];
};

func (*NcHolyPromiseListCmd) PdbType

func (nc *NcHolyPromiseListCmd) PdbType() string

func (*NcHolyPromiseListCmd) String

func (nc *NcHolyPromiseListCmd) String() string

type NcItemChangedInventoryOpenAck

type NcItemChangedInventoryOpenAck struct {
	ErrorCode         uint16
	PartMark          byte
	NumOfChargedItems uint16
	ChargedItems      []ChargedItemInfo `struct:"sizefrom=NumOfChargedItems"`
}

struct PROTO_NC_ITEM_CHARGEDINVENOPEN_ACK

{
 unsigned __int16 ErrorCode;
 char nPartMark;
 unsigned __int16 NumOfChargedItem;
 PROTO_CHARGED_ITEM_INFO ChargedItemInfoList[];
};

func (*NcItemChangedInventoryOpenAck) PdbType

func (nc *NcItemChangedInventoryOpenAck) PdbType() string

func (*NcItemChangedInventoryOpenAck) String

type NcItemDropAck

type NcItemDropAck uint16

typedef unsigned __int16 PROTO_NC_ITEM_DROP_ACK;

func (*NcItemDropAck) PdbType

func (nc *NcItemDropAck) PdbType() string

func (*NcItemDropAck) String

func (nc *NcItemDropAck) String() string

type NcItemDropReq

type NcItemDropReq struct {
	Slot     ItemInventory
	Lot      uint32
	Location ShineXYType
}

struct PROTO_NC_ITEM_DROP_REQ

{
 ITEM_INVEN slot;
 unsigned int lot;
 SHINE_XY_TYPE loc;
};

func (*NcItemDropReq) PdbType

func (nc *NcItemDropReq) PdbType() string

func (*NcItemDropReq) String

func (nc *NcItemDropReq) String() string

type NcItemEquipReq

type NcItemEquipReq struct {
	Slot byte
}

struct PROTO_NC_ITEM_EQUIP_REQ

{
 char slot;
};

func (*NcItemEquipReq) PdbType

func (nc *NcItemEquipReq) PdbType() string

func (*NcItemEquipReq) String

func (nc *NcItemEquipReq) String() string

type NcItemPickReq

type NcItemPickReq struct {
	ItemHandle uint16
}

struct PROTO_NC_ITEM_PICK_REQ

{
 unsigned __int16 itemhandle;
};

func (*NcItemPickReq) PdbType

func (nc *NcItemPickReq) PdbType() string

func (*NcItemPickReq) String

func (nc *NcItemPickReq) String() string

type NcItemRewardInventoryOpenReq

type NcItemRewardInventoryOpenReq struct {
	Page uint16
}

struct PROTO_NC_ITEM_REWARDINVENOPEN_REQ

{
 unsigned __int16 page;
};

func (*NcItemRewardInventoryOpenReq) PdbType

func (nc *NcItemRewardInventoryOpenReq) PdbType() string

func (*NcItemRewardInventoryOpenReq) String

func (nc *NcItemRewardInventoryOpenReq) String() string

type NcMapLoginCompleteCmd

type NcMapLoginCompleteCmd struct {
}

struct PROTO_NC_MAP_LOGINCOMPLETE_CMD

{
 char dummy[1];
};

func (*NcMapLoginCompleteCmd) PdbType

func (nc *NcMapLoginCompleteCmd) PdbType() string

func (*NcMapLoginCompleteCmd) String

func (nc *NcMapLoginCompleteCmd) String() string

type NcMapLoginReq

type NcMapLoginReq struct {
	CharData NcZoneCharDataReq
	CheckSum [49]Name8
}

struct PROTO_NC_MAP_LOGIN_REQ

{
 PROTO_NC_CHAR_ZONE_CHARDATA_REQ chardata;
 Name8 checksum[50];
};

func (*NcMapLoginReq) PdbType

func (nc *NcMapLoginReq) PdbType() string

func (*NcMapLoginReq) String

func (nc *NcMapLoginReq) String() string

type NcMiscGameTimeAck

type NcMiscGameTimeAck struct {
	Hour   byte `struct:"byte"`
	Minute byte `struct:"byte"`
	Second byte `struct:"byte"`
}

struct PROTO_NC_MISC_GAMETIME_ACK

{
	char hour;
	char minute;
	char second;
};

func (*NcMiscGameTimeAck) PdbType

func (nc *NcMiscGameTimeAck) PdbType() string

func (*NcMiscGameTimeAck) String

func (nc *NcMiscGameTimeAck) String() string

type NcMiscHeartBeatAck

type NcMiscHeartBeatAck struct {
}

struct PROTO_NC_MISC_HEARTBEAT_ACK

{
 char dummy[1];
};

func (*NcMiscHeartBeatAck) PdbType

func (nc *NcMiscHeartBeatAck) PdbType() string

func (*NcMiscHeartBeatAck) String

func (nc *NcMiscHeartBeatAck) String() string

type NcMiscSeedAck

type NcMiscSeedAck struct {
	Seed uint16
}

RE client struct: struct PROTO_NC_MISC_SEED_ACK

{
	unsigned __int16 seed;
};

xorKey offset used by client to encrypt data same offset is used on the server side to decrypt data sent by the client

func (*NcMiscSeedAck) PdbType

func (nc *NcMiscSeedAck) PdbType() string

func (*NcMiscSeedAck) String

func (nc *NcMiscSeedAck) String() string

type NcPrisonGetAck

type NcPrisonGetAck struct {
	Err    uint16
	Minute uint16
}

struct PROTO_NC_PRISON_GET_ACK

{
 unsigned __int16 err;
 unsigned __int16 nMinute;
 char sReason[16];
 char sRemark[64];
};

func (*NcPrisonGetAck) PdbType

func (nc *NcPrisonGetAck) PdbType() string

func (*NcPrisonGetAck) String

func (nc *NcPrisonGetAck) String() string

type NcServerMenuReq

type NcServerMenuReq struct {
	Title       [128]byte
	Priority    byte
	NpcHandle   uint16
	NpcPosition ShineXYType
	LimitRange  uint16
	MenuNumber  byte
	Menu        []ServerMenu `struct:"sizefrom=MenuNumber"`
}

struct PROTO_NC_MENU_SERVERMENU_REQ

{
 char title[128];
 char priority;
 unsigned __int16 npcHandle;
 SHINE_XY_TYPE npcPosition;
 unsigned __int16 limitRange;
 char menunum;
 SERVERMENU menu[];
};

func (*NcServerMenuReq) PdbType

func (nc *NcServerMenuReq) PdbType() string

func (*NcServerMenuReq) String

func (nc *NcServerMenuReq) String() string

type NcUserClientVersionCheckReq

type NcUserClientVersionCheckReq struct {
	VersionKey [64]byte `struct:"[64]byte"`
}

RE client struct: struct PROTO_NC_USER_CLIENT_VERSION_CHECK_REQ

{
 char sVersionKey[64];
};

func (*NcUserClientVersionCheckReq) PdbType

func (nc *NcUserClientVersionCheckReq) PdbType() string

func (*NcUserClientVersionCheckReq) String

func (nc *NcUserClientVersionCheckReq) String() string

type NcUserClientWrongVersionCheckAck

type NcUserClientWrongVersionCheckAck struct{}

struct PROTO_NC_USER_CLIENT_WRONGVERSION_CHECK_ACK

{
 char dummy[1];
};

func (*NcUserClientWrongVersionCheckAck) PdbType

func (*NcUserClientWrongVersionCheckAck) String

type NcUserLoginAck

type NcUserLoginAck struct {
	NumOfWorld byte        `struct:"byte"`
	Worlds     []WorldInfo `struct:"sizefrom=NumOfWorld"`
}

struct PROTO_NC_USER_LOGIN_ACK

{
 char numofworld;
 PROTO_NC_USER_LOGIN_ACK::WorldInfo worldinfo[];
};

func (*NcUserLoginAck) PdbType

func (nc *NcUserLoginAck) PdbType() string

func (*NcUserLoginAck) String

func (nc *NcUserLoginAck) String() string

type NcUserLoginFailAck

type NcUserLoginFailAck struct {
	Err uint16 `struct:"uint16"`
}

RE client struct: struct PROTO_NC_USER_LOGINFAIL_ACK

{
	unsigned __int16 error;
};

func (*NcUserLoginFailAck) PdbType

func (nc *NcUserLoginFailAck) PdbType() string

func (*NcUserLoginFailAck) String

func (nc *NcUserLoginFailAck) String() string

type NcUserLoginWithOtpReq

type NcUserLoginWithOtpReq struct {
	Otp Name8
}

struct PROTO_NC_USER_LOGIN_WITH_OTP_REQ

{
	Name8 sOTP;
};

func (*NcUserLoginWithOtpReq) PdbType

func (nc *NcUserLoginWithOtpReq) PdbType() string

func (*NcUserLoginWithOtpReq) String

func (nc *NcUserLoginWithOtpReq) String() string

type NcUserLoginWorldAck

type NcUserLoginWorldAck struct {
	WorldManager uint16              `struct:"uint16"`
	NumOfAvatar  byte                `struct:"byte"`
	Avatars      []AvatarInformation `struct:"sizefrom=NumOfAvatar"`
}

struct PROTO_NC_USER_LOGINWORLD_ACK

{
 unsigned __int16 worldmanager;
 char numofavatar;
 PROTO_AVATARINFORMATION avatar[];
};

func (*NcUserLoginWorldAck) PdbType

func (nc *NcUserLoginWorldAck) PdbType() string

func (*NcUserLoginWorldAck) String

func (nc *NcUserLoginWorldAck) String() string

type NcUserLoginWorldReq

type NcUserLoginWorldReq struct {
	User        Name256Byte
	ValidateNew [28]uint16 `struct:"[28]uint16"`
}

struct PROTO_NC_USER_LOGINWORLD_REQ

{
 Name256Byte user;
 unsigned __int16 validate_new[32];
};

func (*NcUserLoginWorldReq) PdbType

func (nc *NcUserLoginWorldReq) PdbType() string

func (*NcUserLoginWorldReq) String

func (nc *NcUserLoginWorldReq) String() string

type NcUserUsLoginReq

type NcUserUsLoginReq struct {
	UserName  [260]byte `struct:"[260]byte"`
	Password  [36]byte  `struct:"[36]byte"`
	SpawnApps Name5
}

RE client struct: struct PROTO_NC_USER_US_LOGIN_REQ

{
 char sUserName[260];
 char sPassword[36];
 Name5 spawnapps;
};

func (*NcUserUsLoginReq) PdbType

func (nc *NcUserUsLoginReq) PdbType() string

func (*NcUserUsLoginReq) String

func (nc *NcUserUsLoginReq) String() string

type NcUserWillWorldSelectAck

type NcUserWillWorldSelectAck struct {
	Error uint16 `struct:"uint16"`
	Otp   Name8
}

struct PROTO_NC_USER_WILL_WORLD_SELECT_ACK

{
	unsigned __int16 nError;
	Name8 sOTP;
};

func (*NcUserWillWorldSelectAck) PdbType

func (nc *NcUserWillWorldSelectAck) PdbType() string

func (*NcUserWillWorldSelectAck) String

func (nc *NcUserWillWorldSelectAck) String() string

type NcUserWorldSelectAck

type NcUserWorldSelectAck struct {
	// 1: behaviour -> cannot enter, message -> The server is under maintenance.
	// 2: behaviour -> cannot enter, message -> You cannot connect to an empty server.
	// 3: behaviour -> cannot enter, message -> The server has been reserved for a special use.
	// 4: behaviour -> cannot enter, message -> Login failed due to an unknown error.
	// 5: behaviour -> cannot enter, message -> The server is full.
	WorldStatus byte `struct:"byte"`
	Ip          Name4
	Port        uint16     `struct:"uint16"`
	ValidateNew [32]uint16 `struct:"[32]uint16"`
}

struct PROTO_NC_USER_WORLDSELECT_ACK

{
 char worldstatus;
 Name4 ip;
 unsigned __int16 port;
 unsigned __int16 validate_new[32];
};

func (*NcUserWorldSelectAck) PdbType

func (nc *NcUserWorldSelectAck) PdbType() string

func (*NcUserWorldSelectAck) String

func (nc *NcUserWorldSelectAck) String() string

type NcUserWorldSelectReq

type NcUserWorldSelectReq struct {
	WorldNo byte `struct:"byte"`
}

RE client struct: struct PROTO_NC_USER_WORLDSELECT_REQ { char worldno; };

func (*NcUserWorldSelectReq) PdbType

func (nc *NcUserWorldSelectReq) PdbType() string

func (*NcUserWorldSelectReq) String

func (nc *NcUserWorldSelectReq) String() string

type NcZoneCharDataReq

type NcZoneCharDataReq struct {
	WorldManager uint16
	CharID       Name5
}

struct PROTO_NC_CHAR_ZONE_CHARDATA_REQ

{
 unsigned __int16 wldmanhandle;
 Name5 charid;
};

type PartMark

type PartMark struct {
	BF0 byte
}

struct PARTMARK

{
	char _bf0;
};

type ProtoAvatarDeleteInfo

type ProtoAvatarDeleteInfo struct {
	Year  byte `struct:"byte"`
	Month byte `struct:"byte"`
	Day   byte `struct:"byte"`
	Hour  byte `struct:"byte"`
	Min   byte `struct:"byte"`
}

/* 3807 */ struct PROTO_AVATAR_DELETE_INFO

{
 char year;
 char month;
 char day;
 char hour;
 char min;
};

type ProtoAvatarShapeInfo

type ProtoAvatarShapeInfo struct {
	BF        byte `struct:"byte"`
	HairType  byte `struct:"byte"`
	HairColor byte `struct:"byte"`
	FaceShape byte `struct:"byte"`
}

struct PROTO_AVATAR_SHAPE_INFO { char _bf0; char hairtype; char haircolor; char faceshape; };

type ProtoEquipment

type ProtoEquipment struct {
	EquHead         uint16 `struct:"uint16"`
	EquMouth        uint16 `struct:"uint16"`
	EquRightHand    uint16 `struct:"uint16"`
	EquBody         uint16 `struct:"uint16"`
	EquLeftHand     uint16 `struct:"uint16"`
	EquPant         uint16 `struct:"uint16"`
	EquBoot         uint16 `struct:"uint16"`
	EquAccBoot      uint16 `struct:"uint16"`
	EquAccPant      uint16 `struct:"uint16"`
	EquAccBody      uint16 `struct:"uint16"`
	EquAccHeadA     uint16 `struct:"uint16"`
	EquMinimonR     uint16 `struct:"uint16"`
	EquEye          uint16 `struct:"uint16"`
	EquAccLeftHand  uint16 `struct:"uint16"`
	EquAccRightHand uint16 `struct:"uint16"`
	EquAccBack      uint16 `struct:"uint16"`
	EquCosEff       uint16 `struct:"uint16"`
	EquAccHip       uint16 `struct:"uint16"`
	EquMinimon      uint16 `struct:"uint16"`
	EquAccShield    uint16 `struct:"uint16"`
	Upgrade         EquipmentUpgrade
}

struct PROTO_EQUIPMENT

{
 unsigned __int16 Equ_Head;
 unsigned __int16 Equ_Mouth;
 unsigned __int16 Equ_RightHand;
 unsigned __int16 Equ_Body;
 unsigned __int16 Equ_LeftHand;
 unsigned __int16 Equ_Pant;
 unsigned __int16 Equ_Boot;
 unsigned __int16 Equ_AccBoot;
 unsigned __int16 Equ_AccPant;
 unsigned __int16 Equ_AccBody;
 unsigned __int16 Equ_AccHeadA;
 unsigned __int16 Equ_MiniMon_R;
 unsigned __int16 Equ_Eye;
 unsigned __int16 Equ_AccLeftHand;
 unsigned __int16 Equ_AccRightHand;
 unsigned __int16 Equ_AccBack;
 unsigned __int16 Equ_CosEff;
 unsigned __int16 Equ_AccHip;
 unsigned __int16 Equ_Minimon;
 unsigned __int16 Equ_AccShield;
 PROTO_EQUIPMENT::<unnamed-type-upgrade> upgrade;
};

type ProtoItemPacketInformation

type ProtoItemPacketInformation struct {
	DataSize byte
	// can't be done like this, since data size also covers Location and Info and there's no way to use sizefrom with operators -+ :(
	// at the handler level, i would have to read the fields manually.
	ItemData []byte `struct:"sizefrom=DataSize"`
}

struct PROTO_ITEMPACKET_INFORM

{
	char datasize;
	ITEM_INVEN location;
	SHINE_ITEM_STRUCT info;
};

type ProtoNcCharClientItemCmdFlag

type ProtoNcCharClientItemCmdFlag struct {
	BF0 byte
}

struct PROTO_NC_CHAR_CLIENT_ITEM_CMD::<unnamed-type-flag>

{
	char _bf0;
};

type ProtoTutorialInfo

type ProtoTutorialInfo struct {
	TutorialState int32 `struct:"int32"`
	TutorialStep  byte  `struct:"byte"`
}

struct PROTO_TUTORIAL_INFO

{
 TUTORIAL_STATE nTutorialState;
 char nTutorialStep;
};

type RegenMobFlagOne

type RegenMobFlagOne []byte

func (*RegenMobFlagOne) SizeOf

func (rmfo *RegenMobFlagOne) SizeOf() int

type RegenMobFlagZero

type RegenMobFlagZero []byte

func (*RegenMobFlagZero) SizeOf

func (rmfz *RegenMobFlagZero) SizeOf() int

type ServerMenu

type ServerMenu struct {
	Reply   byte
	Content [32]byte
}

struct SERVERMENU

{
 char reply;
 char string[32];
};

type ShineCoordType

type ShineCoordType struct {
	XY        ShineXYType
	Direction byte
}

struct SHINE_COORD_TYPE

{
 SHINE_XY_TYPE xy;
 char dir;
};

type ShineDateTime

type ShineDateTime struct {
	BF0 int32
}

struct SHINE_DATETIME

{
 int _bf0;
};

type ShineGuildScore

type ShineGuildScore struct {
	KillCount [7]uint16
	KillScore [7]uint32
}

struct SHINE_GUILD_SCORE

{
 unsigned __int16 nKillCount[7];
 unsigned int nKillScore[7];
};

type ShineXYType

type ShineXYType struct {
	X uint32
	Y uint32
}

struct SHINE_XY_TYPE

{
 unsigned int x;
 unsigned int y;
};

type SkillItemActionCoolTimeCmd

type SkillItemActionCoolTimeCmd struct {
	Num    uint16
	Groups []SkillItemActionCoolTimeCmdGroup `struct:"sizefrom=Num"`
}

struct PROTO_SKILL_ITEMACTIONCOOLTIME_CMD

{
 unsigned __int16 num;
 PROTO_SKILL_ITEMACTIONCOOLTIME_CMD::<unnamed-type-group> group[];
};

func (*SkillItemActionCoolTimeCmd) PdbType

func (nc *SkillItemActionCoolTimeCmd) PdbType() string

func (*SkillItemActionCoolTimeCmd) String

func (nc *SkillItemActionCoolTimeCmd) String() string

type SkillItemActionCoolTimeCmdGroup

type SkillItemActionCoolTimeCmdGroup struct {
	ItemActionID      uint16
	ItemActionGroupID uint16
	SecondCoolTime    uint32
}

struct PROTO_SKILL_ITEMACTIONCOOLTIME_CMD::<unnamed-type-group>

{
 unsigned __int16 ItemActionID;
 unsigned __int16 ItemActionGroupID;
 unsigned int SecondCoolTime;
};

type SkillReadBlockClient

type SkillReadBlockClient struct {
	SkillID  uint16
	CoolTime uint32
	Empower  SkillReadBlockClientEmpower
	Mastery  uint32
}

struct PROTO_SKILLREADBLOCKCLIENT

{
	unsigned __int16 skillid;
	unsigned int cooltime;
	PROTO_SKILLREADBLOCKCLIENT::<unnamed-type-empow> empow;
	unsigned int mastery;
};

type SkillReadBlockClientEmpower

type SkillReadBlockClientEmpower struct {
	Gap0 byte
	BF1  byte
}

struct PROTO_SKILLREADBLOCKCLIENT::<unnamed-type-empow>

{
 _BYTE gap0[1];
 char _bf1;
};

type TM

type TM struct {
	Seconds  int32
	Minutes  int32
	Hour     int32
	MonthDay int32
	Month    int32
	Year     int32
	WeekDay  int32
	YearDay  int32
	IsDst    int32
}

struct tm

{
 int tm_sec;
 int tm_min;
 int tm_hour;
 int tm_mday;
 int tm_mon;
 int tm_year;
 int tm_wday;
 int tm_yday;
 int tm_isdst;
};

type UseItemMiniMonsterInfo

type UseItemMiniMonsterInfo struct {
	NormalItem      byte
	ChargedItem     byte
	NormalItemList  [12]uint16
	ChargedItemList [12]uint16
}

struct USEITEM_MINIMON_INFO

{
 char bNormalItem;
 char bChargedItem;
 unsigned __int16 NormalItemList[12];
 unsigned __int16 ChargedItemList[12];
};

type WorldInfo

type WorldInfo struct {
	WorldNumber byte
	WorldName   Name4
	WorldStatus byte
}

struct __unaligned __declspec(align(2)) PROTO_NC_USER_LOGIN_ACK::WorldInfo

{
	char worldno;
	Name4 worldname;
	char worldstatus;
};

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL