structs

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 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 AbstateBit

type AbstateBit struct {
	Data [112]byte
}

struct ABNORMAL_STATE_BIT

{
 #char statebit[103]; 2017
 #char statebit[99];  2016
 char statebit[112]; 2020
};

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
	Name             Name5
	Level            uint16
	Slot             byte
	LoginMap         Name3
	DelInfo          ProtoAvatarDeleteInfo
	Shape            ProtoAvatarShapeInfo
	Equip            ProtoEquipment
	KqHandle         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 {
	Data [112]byte
}

union PROTO_NC_BRIEFINFO_REGENMOB_CMD::<unnamed-type-flag>

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

type CharBriefInfoCamp

type CharBriefInfoCamp struct {
	MiniHouse uint16
	Dummy     [10]byte
}

struct CHARBRIEFINFO_CAMP

{
 unsigned __int16 minihouse;
 char dummy[10];
};

type CharBriefInfoNotCamped

type CharBriefInfoNotCamped struct {
	Equip ProtoEquipment
}

struct CHARBRIEFINFO_NOTCAMP

{
 PROTO_EQUIPMENT equip;
};

type CharIdChangeData

type CharIdChangeData struct {
	NeedChangeId byte
	Init         byte
	RowNo        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;
};

type CharParameterData added in v0.0.3

type CharParameterData struct {
	// i'll have to rename these fields later when I can identify exactly what each field is for x.x
	PrevExp      uint64
	NextExp      uint64
	Strength     ShineCharStatVar
	Constitute   ShineCharStatVar
	Dexterity    ShineCharStatVar
	Intelligence ShineCharStatVar
	Wisdom       ShineCharStatVar
	MentalPower  ShineCharStatVar
	WCLow        ShineCharStatVar // min physical dmg
	WCHigh       ShineCharStatVar // max physical dmg
	AC           ShineCharStatVar // physical defense
	TH           ShineCharStatVar //aim
	TB           ShineCharStatVar //evasion
	MALow        ShineCharStatVar // min magical dmg
	MAHigh       ShineCharStatVar // max magical dmg
	MR           ShineCharStatVar // magical defense
	MH           ShineCharStatVar
	MB           ShineCharStatVar
	MaxHP        uint32
	MaxSP        uint32
	MaxLP        uint32
	MaxAP        uint32
	MaxHPStone   uint32
	MaxSPStone   uint32
	PwrStone     CharParameterDataPwrStone
	GrdStone     CharParameterDataPwrStone
	PainRes      ShineCharStatVar
	RestraintRes ShineCharStatVar
	CurseRes     ShineCharStatVar
	ShockRes     ShineCharStatVar
}

struct CHAR_PARAMETER_DATA

{
 unsigned __int64 PrevExp;
 unsigned __int64 NextExp;
 SHINE_CHAR_STATVAR Strength;
 SHINE_CHAR_STATVAR Constitute;
 SHINE_CHAR_STATVAR Dexterity;
 SHINE_CHAR_STATVAR Intelligence;
 SHINE_CHAR_STATVAR Wizdom;
 SHINE_CHAR_STATVAR MentalPower;
 SHINE_CHAR_STATVAR WClow;
 SHINE_CHAR_STATVAR WChigh;
 SHINE_CHAR_STATVAR AC;
 SHINE_CHAR_STATVAR TH;
 SHINE_CHAR_STATVAR TB;
 SHINE_CHAR_STATVAR MAlow;
 SHINE_CHAR_STATVAR MAhigh;
 SHINE_CHAR_STATVAR MR;
 SHINE_CHAR_STATVAR MH;
 SHINE_CHAR_STATVAR MB;
 unsigned int MaxHp;
 unsigned int MaxSp;
 unsigned int MaxLp;
 unsigned int MaxAp;
 unsigned int MaxHPStone;
 unsigned int MaxSPStone;
 CHAR_PARAMETER_DATA::<unnamed-type-PwrStone> PwrStone;
 CHAR_PARAMETER_DATA::<unnamed-type-PwrStone> GrdStone;
 SHINE_CHAR_STATVAR PainRes;
 SHINE_CHAR_STATVAR RestraintRes;
 SHINE_CHAR_STATVAR CurseRes;
 SHINE_CHAR_STATVAR ShockRes;
};

type CharParameterDataPwrStone added in v0.0.3

type CharParameterDataPwrStone struct {
	Flag      uint32
	EPPPhysic uint32
	EPMagic   uint32
	MaxStone  uint32
}

struct CHAR_PARAMETER_DATA::<unnamed-type-PwrStone>

{
 unsigned int flag;
 unsigned int EPPysic;
 unsigned int EPMagic;
 unsigned int MaxStone;
};

type CharStats added in v0.0.3

type CharStats struct {
	Strength          byte
	Constitute        byte
	Dexterity         byte
	Intelligence      byte
	MentalPower       byte
	RedistributePoint byte
}

struct CHARSTATDISTSTR

{
 char Strength;
 char Constitute;
 char Dexterity;
 char Intelligence;
 char MentalPower;
 char RedistributePoint;
};

type CharTitleBriefInfo

type CharTitleBriefInfo struct {
	Type      byte
	ElementNo byte
	MobID     uint16
}

struct CHARTITLE_BRIEFINFO

{
 char Type;
 char ElementNo;
 unsigned __int16 MobID;
};

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;
};

type ChargedBuffInfo added in v0.0.3

type ChargedBuffInfo struct {
	BuffKey uint32
	BuffID  uint16
	UseTime ShineDateTime
	EndTime ShineDateTime
}

struct PROTO_CHARGEDBUFF_INFO

{
 unsigned int ChargedBuffKey;
 unsigned __int16 ChargedBuffID;
 ShineDateTime UseTime;
 ShineDateTime EndTime;
};

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 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 ItemPacketInfo

type ItemPacketInfo struct {
	DataSize byte
	Location ItemInventory
	//Info ShineItem
	//struct SHINE_ITEM_STRUCT
	//{
	//  unsigned __int16 itemid;
	//  SHINE_ITEM_ATTRIBUTE itemattr;
	//};
	Info struct {
		ItemID   uint16
		ItemAttr []byte `struct-size:"Parent.DataSize - 2"`
	}
}

struct PROTO_ITEMPACKET_INFORM

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

type KeyMapData

type KeyMapData struct {
	FunctionNo uint16
	ExtendKey  byte
	AsciiCode  byte
}

struct KEY_MAP_DATA

{
 unsigned __int16 nFunctionNo;
 char nExtendKey;
 char nASCIICode;
};

type MapLogoutCmd

type MapLogoutCmd struct {
	Handle uint16
}

struct PROTO_NC_MAP_LOGOUT_CMD

{
 unsigned __int16 handle;
};

type NC

type NC interface {
}

type Name256Byte

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

union Name256Byte

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

func NewName256Byte added in v0.0.3

func NewName256Byte(n string) Name256Byte

func (*Name256Byte) String added in v0.0.3

func (n *Name256Byte) String() string

type Name3

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

/* 2839 */ union Name3

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

func NewName3 added in v0.0.3

func NewName3(n string) Name3

func (*Name3) String added in v0.0.3

func (n *Name3) String() string

type Name4

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

union Name4

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

func NewName4 added in v0.0.3

func NewName4(n string) Name4

func (*Name4) String added in v0.0.3

func (n *Name4) String() string

type Name5

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

/* 3256 */ union Name5

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

func NewName5 added in v0.0.3

func NewName5(n string) Name5

func (*Name5) String added in v0.0.3

func (n *Name5) String() string

type Name8

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

/* 2787 */ union Name8

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

func NewName8 added in v0.0.3

func NewName8(n string) Name8

func (*Name8) String added in v0.0.3

func (n *Name8) String() string

type NcActChangeModeReq

type NcActChangeModeReq struct {
	Mode byte
}

struct PROTO_NC_ACT_CHANGEMODE_REQ

{
 char mode;
};

type NcActChatReq

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

struct PROTO_NC_ACT_CHAT_REQ

{
	char itemLinkDataCount;
	char len;
	char content[];
};

type NcActGatherStartReq

type NcActGatherStartReq struct {
	Handle uint16
}

struct PROTO_NC_ACT_GATHERSTART_REQ

{
 unsigned __int16 objhandle;
};

type NcActMoveRunCmd added in v0.0.3

type NcActMoveRunCmd NcActWalkReq

NC_ACT_MOVERUN_CMD

type NcActMoveSpeedCmd

type NcActMoveSpeedCmd struct {
	WalkSpeed uint16
	RunSpeed  uint16
}

struct PROTO_NC_ACT_MOVESPEED_CMD

{
 unsigned __int16 walkspeed;
 unsigned __int16 runspeed;
};

type NcActNpcClickCmd

type NcActNpcClickCmd struct {
	NpcHandle uint16
}

struct PROTO_NC_ACT_NPCCLICK_CMD

{
 unsigned __int16 npchandle;
};

type NcActSomeoneChangeModeCmd

type NcActSomeoneChangeModeCmd struct {
	Handle uint16
	Mode   byte
}

struct PROTO_NC_ACT_SOMEONECHANGEMODE_CMD

{
 unsigned __int16 handle;
 char mode;
};

type NcActSomeoneFoldTentCmd

type NcActSomeoneFoldTentCmd struct {
	Handle uint16
	Shape  CharBriefInfoNotCamped
}

struct PROTO_NC_ACT_SOMEONEFOLDTENT_CMD

{
 unsigned __int16 handle;
 CHARBRIEFINFO_NOTCAMP shape;
};

type NcActSomeoneJumpCmd added in v0.0.3

type NcActSomeoneJumpCmd struct {
	Handle uint16
}

struct PROTO_NC_ACT_SOMEEONEJUMP_CMD

{
 unsigned __int16 handle;
};

type NcActSomeoneMoveRunCmd added in v0.0.3

type NcActSomeoneMoveRunCmd NcActSomeoneWalkCmd

NC_ACT_SOMEONEMOVERUN_CMD

type NcActSomeoneMoveWalkCmd

type NcActSomeoneMoveWalkCmd struct {
	Handle   uint16
	From     ShineXYType
	To       ShineXYType
	Speed    uint16
	MoveAttr NcActSomeoneMoveWalkCmdAttr
}

struct PROTO_NC_ACT_SOMEONEMOVEWALK_CMD

{
 unsigned __int16 handle;
 SHINE_XY_TYPE from;
 SHINE_XY_TYPE to;
 unsigned __int16 speed;
 PROTO_NC_ACT_SOMEONEMOVEWALK_CMD::<unnamed-type-moveattr> moveattr;
};

type NcActSomeoneMoveWalkCmdAttr

type NcActSomeoneMoveWalkCmdAttr struct {
	BF0 int16
}

struct PROTO_NC_ACT_SOMEONEMOVEWALK_CMD::<unnamed-type-moveattr>

{
 __int16 _bf0;
};

type NcActSomeoneProduceCastCmd

type NcActSomeoneProduceCastCmd struct {
	Caster uint16
	Item   uint16
}

struct PROTO_NC_ACT_SOMEONEPRODUCE_CAST_CMD

{
 unsigned __int16 caster;
 unsigned __int16 item;
};

type NcActSomeoneProduceMakeCmd

type NcActSomeoneProduceMakeCmd struct {
	Caster uint16
	Item   uint16
}

struct PROTO_NC_ACT_SOMEONEPRODUCE_MAKE_CMD

{
 unsigned __int16 caster;
 unsigned __int16 item;
};

type NcActSomeoneShoutCmd

type NcActSomeoneShoutCmd struct {
	Count   byte
	Speaker NcActSomeoneShoutCmdSpeaker
	Flag    NcActSomeoneShoutCmdFlag
	Len     byte
	Content []byte `struct:"sizefrom=Len"`
}

struct PROTO_NC_ACT_SOMEONESHOUT_CMD

{
 char itemLinkDataCount;
 PROTO_NC_ACT_SOMEONESHOUT_CMD::<unnamed-type-speaker> speaker;
 PROTO_NC_ACT_SOMEONESHOUT_CMD::<unnamed-type-flag> flag;
 char len;
 char content[];
};

type NcActSomeoneShoutCmdFlag

type NcActSomeoneShoutCmdFlag struct {
	BF0 byte
}

struct PROTO_NC_ACT_SOMEONESHOUT_CMD::<unnamed-type-flag>

{
 char _bf0;
};

type NcActSomeoneShoutCmdSpeaker

type NcActSomeoneShoutCmdSpeaker struct {
	Data [20]byte
}

union PROTO_NC_ACT_SOMEONESHOUT_CMD::<unnamed-type-speaker>

{
 char charID[20];
 unsigned __int16 mobID;
};

type NcActSomeoneStopCmd

type NcActSomeoneStopCmd struct {
	Handle   uint16
	Location ShineXYType
}

struct PROTO_NC_ACT_SOMEONESTOP_CMD

{
 unsigned __int16 handle;
 SHINE_XY_TYPE loc;
};

type NcActSomeoneWalkCmd added in v0.0.3

type NcActSomeoneWalkCmd struct {
	Handle uint16
	From   ShineXYType
	To     ShineXYType
}

struct PROTO_NC_ACT_SOMEONEWALK_CMD

{
 unsigned __int16 handle;
 SHINE_XY_TYPE from;
 SHINE_XY_TYPE to;
};

type NcActStopReq

type NcActStopReq struct {
	Location ShineXYType
}

struct PROTO_NC_ACT_STOP_REQ

{
 SHINE_XY_TYPE loc;
};

type NcActWalkReq added in v0.0.3

type NcActWalkReq struct {
	From ShineXYType
	To   ShineXYType
}

struct PROTO_NC_ACT_WALK_REQ

{
 SHINE_XY_TYPE from;
 SHINE_XY_TYPE to;
};

type NcAvatarCreateFailAck

type NcAvatarCreateFailAck struct {
	Err uint16
}

struct PROTO_NC_AVATAR_CREATEFAIL_ACK

{
 unsigned __int16 err;
};

type NcAvatarCreateReq

type NcAvatarCreateReq struct {
	SlotNum byte
	Name    Name5
	Shape   ProtoAvatarShapeInfo
}

struct PROTO_NC_AVATAR_CREATE_REQ

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

type NcAvatarCreateSuccAck

type NcAvatarCreateSuccAck struct {
	NumOfAvatar byte
	Avatar      AvatarInformation
}

struct PROTO_NC_AVATAR_CREATESUCC_ACK

{
 char numofavatar;
 PROTO_AVATARINFORMATION avatar;
};

type NcAvatarEraseReq

type NcAvatarEraseReq struct {
	Slot byte
}

struct PROTO_NC_AVATAR_ERASE_REQ { char slot; };

type NcAvatarEraseSuccAck

type NcAvatarEraseSuccAck struct {
	Slot byte
}

struct PROTO_NC_AVATAR_ERASESUCC_ACK { char slot; };

type NcBatAbstateInformCmd

type NcBatAbstateInformCmd struct {
	Abstate          uint32
	KeepTimeMillisec uint32
}

struct PROTO_NC_BAT_ABSTATEINFORM_CMD

{
 ABSTATEINDEX abstate;
 unsigned int keeptime_millisec;
};

type NcBatAbstateInformNoEffectCmd

type NcBatAbstateInformNoEffectCmd struct {
	Abstate          uint32
	KeepTimeMillisec uint32
}

struct PROTO_NC_BAT_ABSTATEINFORM_NOEFFECT_CMD

{
 ABSTATEINDEX abstate;
 unsigned int keeptime_millisec;
};

type NcBatAbstateResetCmd

type NcBatAbstateResetCmd struct {
	Handle       uint16
	AbstateIndex uint32
}

struct PROTO_NC_BAT_ABSTATERESET_CMD

{
 unsigned __int16 handle;
 ABSTATEINDEX abstate;
};

type NcBatAbstateSetCmd

type NcBatAbstateSetCmd struct {
	Handle  uint16
	Abstate uint32
}

struct PROTO_NC_BAT_ABSTATESET_CMD

{
 unsigned __int16 handle;
 ABSTATEINDEX abstate;
};

type NcBatCeaseFireCmd

type NcBatCeaseFireCmd struct {
	Handle uint16
}

struct PROTO_NC_BAT_CEASE_FIRE_CMD

{
 unsigned __int16 handle;
};

type NcBatDotDamageCmd

type NcBatDotDamageCmd struct {
	Object        uint16
	RestHP        uint32
	Damage        uint16
	Abstate       uint16
	HPChangeOrder uint16
	IsMissDamage  byte
}

struct PROTO_NC_BAT_DOTDAMAGE_CMD

{
 unsigned __int16 object;
 unsigned int resthp;
 unsigned __int16 damage;
 unsigned __int16 abstate;
 unsigned __int16 hpchangeorder;
 char IsMissDamage;
};

type NcBatHpChangeCmd

type NcBatHpChangeCmd struct {
	HP            uint32
	HpChangeOrder uint16
}

struct PROTO_NC_BAT_HPCHANGE_CMD

{
 unsigned int hp;
 unsigned __int16 hpchangeorder;
};

type NcBatLpChangeCmd

type NcBatLpChangeCmd struct {
	LP uint32
}

struct PROTO_NC_BAT_LPCHANGE_CMD

{
 unsigned int nLP;
};

type NcBatSkillBashHitBlastCmd

type NcBatSkillBashHitBlastCmd struct {
	Index   uint16
	Caster  uint16
	SkillID uint16
}

struct PROTO_NC_BAT_SKILLBASH_HIT_BLAST_CMD

{
 unsigned __int16 index;
 unsigned __int16 caster;
 unsigned __int16 nSkillID;
};

type NcBatSkillBashHitDamageCmd

type NcBatSkillBashHitDamageCmd struct {
	Index     uint16
	Caster    uint16
	TargetNum byte
	SkillID   uint16
	Target    uint16
	Targets   []NcBatSkillBashHitDamageCmdSkillDamage `struct:"sizefrom=TargetNum"`
}

struct PROTO_NC_BAT_SKILLBASH_HIT_DAMAGE_CMD

{
 unsigned __int16 index;
 unsigned __int16 caster;
 char targetnum;
 unsigned __int16 kSkillID;
 unsigned __int16 pTarget;
 PROTO_NC_BAT_SKILLBASH_HIT_DAMAGE_CMD::SkillDamage target[];
};

type NcBatSkillBashHitDamageCmdSkillDamage

type NcBatSkillBashHitDamageCmdSkillDamage struct {
	Handle        uint16
	Flag          NcBatSkillBashHitDamageCmdSkillDamageFlag
	HpChange      uint32
	RestHP        uint32
	HpChangeOrder uint16
}

struct PROTO_NC_BAT_SKILLBASH_HIT_DAMAGE_CMD::SkillDamage

{
 unsigned __int16 handle;
 PROTO_NC_BAT_SKILLBASH_HIT_DAMAGE_CMD::SkillDamage::<unnamed-type-flag> flag;
 unsigned int hpchange;
 unsigned int resthp;
 unsigned __int16 hpchangeorder;
};

type NcBatSkillBashHitDamageCmdSkillDamageFlag

type NcBatSkillBashHitDamageCmdSkillDamageFlag struct {
	Gap byte
	BF1 byte
}

struct PROTO_NC_BAT_SKILLBASH_HIT_DAMAGE_CMD::SkillDamage::<unnamed-type-flag>

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

type NcBatSkillBashHitObjStartCmd

type NcBatSkillBashHitObjStartCmd struct {
	Skill     uint16
	TargetObj uint16
	Index     uint16
}

struct PROTO_NC_BAT_SKILLBASH_HIT_OBJ_START_CMD

{
 unsigned __int16 skill;
 unsigned __int16 targetobj;
 unsigned __int16 index;
};

type NcBatSkillBashObjCastReq

type NcBatSkillBashObjCastReq struct {
	Skill  uint16
	Target uint16
}

struct PROTO_NC_BAT_SKILLBASH_OBJ_CAST_REQ

{
 unsigned __int16 skill;
 unsigned __int16 target;
};

type NcBatSomeoneSkillBashHitObjStartCmd

type NcBatSomeoneSkillBashHitObjStartCmd struct {
	Caster   uint16
	CastInfo NcBatSkillBashHitObjStartCmd
}

struct PROTO_NC_BAT_SOMEONESKILLBASH_HIT_OBJ_START_CMD

{
 unsigned __int16 caster;
 PROTO_NC_BAT_SKILLBASH_HIT_OBJ_START_CMD castinfo;
};

type NcBatSpChangeCmd

type NcBatSpChangeCmd struct {
	SP uint32
}

struct PROTO_NC_BAT_SPCHANGE_CMD

{
 unsigned int sp;
};

type NcBatTargetInfoCmd

type NcBatTargetInfoCmd struct {
	Order         byte
	Handle        uint16
	TargetHP      uint32
	TargetSP      uint32
	TargetMaxSP   uint32
	TargetLP      uint16
	TargetMaxLP   uint32
	TargetLevel   byte
	HpChangeOrder uint16
}

struct PROTO_NC_BAT_TARGETINFO_CMD

{
 char order;
 unsigned __int16 targethandle;
 unsigned int targethp;
 unsigned int targetmaxhp;
 unsigned int targetsp;
 unsigned int targetmaxsp;
 unsigned int targetlp;
 unsigned int targetmaxlp;
 char targetlevel;
 unsigned __int16 hpchangeorder;
};

type NcBoothEntryReq

type NcBoothEntryReq struct {
	Booth uint16
}

struct PROTO_NC_BOOTH_ENTRY_REQ

{
 unsigned __int16 booth;
};

type NcBoothEntrySellAck

type NcBoothEntrySellAck struct {
	Err         uint16
	BoothHandle uint16
	NumOfItems  byte
	Items       []NcBoothEntrySellAckItemList `struct:"sizefrom=NumOfItems"`
}

struct PROTO_NC_BOOTH_ENTRY_SELL_ACK

{
 unsigned __int16 err;
 unsigned __int16 boothhandle;
 char numofitem;
 PROTO_NC_BOOTH_ENTRY_SELL_ACK::BoothItemList items[];
};

type NcBoothEntrySellAckItemList

type NcBoothEntrySellAckItemList struct {
	DataSize  byte
	BoothSlot byte
	UnitCost  uint64
	//struct SHINE_ITEM_STRUCT
	//{
	//  unsigned __int16 itemid;
	//  SHINE_ITEM_ATTRIBUTE itemattr;
	//};
	Info struct {
		ItemID   uint16
		ItemAttr []byte `struct-size:"Parent.DataSize - 2"`
	}
}

struct PROTO_NC_BOOTH_ENTRY_SELL_ACK::BoothItemList

{
 char datasize;
 char boothslot;
 unsigned __int64 unitcost;
 SHINE_ITEM_STRUCT item;
};

type NcBoothRefreshReq

type NcBoothRefreshReq struct {
	Booth uint16
}

struct PROTO_NC_BOOTH_REFRESH_REQ

{
 unsigned __int16 booth;
};

type NcBoothSearchBoothClosedCmd

type NcBoothSearchBoothClosedCmd struct {
	ClosedBoothOwnerHandle uint16
}

struct PROTO_NC_BOOTH_SEARCH_BOOTH_CLOSED_CMD

{
 unsigned __int16 nClosedBoothOwnerHandle;
};

type NcBoothSomeoneOpenCmd

type NcBoothSomeoneOpenCmd struct {
	Handle    uint16
	Tent      CharBriefInfoCamp
	IsSelling byte
	Sign      StreetBoothSignBoard
}

struct PROTO_NC_BOOTH_SOMEONEOPEN_CMD

{
 unsigned __int16 handle;
 CHARBRIEFINFO_CAMP tent;
 char issell;
 STREETBOOTH_SIGNBOARD signboard;
};

type NcBriefInfoAbstateChangeCmd

type NcBriefInfoAbstateChangeCmd struct {
	Handle uint16
	Info   AbstateInformation
}

struct PROTO_NC_BRIEFINFO_ABSTATE_CHANGE_CMD

{
 unsigned __int16 handle;
 ABSTATE_INFORMATION info;
};

type NcBriefInfoAbstateChangeListCmd

type NcBriefInfoAbstateChangeListCmd struct {
	Handle uint16
	Count  byte
	List   []AbstateInformation `struct:"sizefrom=Count"`
}

struct PROTO_NC_BRIEFINFO_ABSTATE_CHANGE_LIST_CMD

{
 unsigned __int16 handle;
 char count;
 ABSTATE_INFORMATION infoList[];
};

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;
};

type NcBriefInfoChangeUpgradeCmd

type NcBriefInfoChangeUpgradeCmd struct {
	Handle  uint16
	Item    uint16
	Upgrade byte
	SlotNum byte
}

struct PROTO_NC_BRIEFINFO_CHANGEUPGRADE_CMD

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

type NcBriefInfoChangeWeaponCmd

type NcBriefInfoChangeWeaponCmd struct {
	UpgradeInfo      NcBriefInfoChangeUpgradeCmd
	CurrentMobID     uint16
	CurrentKillLevel byte
}

struct PROTO_NC_BRIEFINFO_CHANGEWEAPON_CMD

{
 PROTO_NC_BRIEFINFO_CHANGEUPGRADE_CMD upgradeinfo;
 unsigned __int16 currentmobid;
 char currentkilllevel;
};

type NcBriefInfoCharacterCmd

type NcBriefInfoCharacterCmd struct {
	Number     byte
	Characters []NcBriefInfoLoginCharacterCmd `struct:"sizefrom=Number"`
}

struct PROTO_NC_BRIEFINFO_CHARACTER_CMD

{
 char charnum;
 PROTO_NC_BRIEFINFO_LOGINCHARACTER_CMD chars[];
};

type NcBriefInfoDeleteCmd

type NcBriefInfoDeleteCmd struct {
	Handle uint16
}

struct PROTO_NC_BRIEFINFO_BRIEFINFODELETE_CMD

{
 unsigned __int16 hnd;
};

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;
};

type NcBriefInfoDroppedItemCmdAttr

type NcBriefInfoDroppedItemCmdAttr struct {
	BF0 byte
}

struct PROTO_NC_BRIEFINFO_DROPEDITEM_CMD::<unnamed-type-attr>

{
 char _bf0;
};

type NcBriefInfoInformCmd

type NcBriefInfoInformCmd struct {
	MyHandle          uint16
	ReceiveNetCommand NetCommand
	Handle            uint16
}

struct PROTO_NC_BRIEFINFO_INFORM_CMD

{
 unsigned __int16 nMyHnd;
 NETCOMMAND ReceiveNetCommand;
 unsigned __int16 hnd;
};

type NcBriefInfoLoginCharacterCmd

type NcBriefInfoLoginCharacterCmd struct {
	Handle          uint16
	CharID          Name5
	Coordinates     ShineCoordType
	Mode            byte
	Class           byte
	Shape           ProtoAvatarShapeInfo
	ShapeData       NcBriefInfoLoginCharacterCmdShapeData
	Polymorph       uint16
	Emoticon        StopEmoticonDescript
	CharTitle       CharTitleBriefInfo
	AbstateBit      AbstateBit
	MyGuild         uint32
	Type            byte
	IsAcademyMember byte
	IsAutoPick      byte
	Level           byte
	Animation       [32]byte
	MoverHandle     uint16
	MoverSlot       byte
	KQTeamType      byte
	UsingMinipet    byte
}

struct PROTO_NC_BRIEFINFO_LOGINCHARACTER_CMD

{
 unsigned __int16 handle;
 Name5 charid;
 SHINE_COORD_TYPE coord;
 char mode;
 char chrclass;
 PROTO_AVATAR_SHAPE_INFO shape;
 PROTO_NC_BRIEFINFO_LOGINCHARACTER_CMD::<unnamed-type-shapedata> shapedata;
 unsigned __int16 polymorph;
 STOPEMOTICON_DESCRIPT emoticon;
 CHARTITLE_BRIEFINFO chartitle;
 ABNORMAL_STATE_BIT abstatebit;
 unsigned int myguild;
 char type;
 char isGuildAcademyMember;
 char IsAutoPick;
 char Level;
 char sAnimation[32];
 unsigned __int16 nMoverHnd;
 char nMoverSlot;
 char nKQTeamType;
 char IsUseItemMinimon;
};

type NcBriefInfoLoginCharacterCmdShapeData

type NcBriefInfoLoginCharacterCmdShapeData struct {
	Data [45]byte
}

union PROTO_NC_BRIEFINFO_LOGINCHARACTER_CMD::<unnamed-type-shapedata>

{
 CHARBRIEFINFO_NOTCAMP notcamp;
 CHARBRIEFINFO_CAMP camp;
 CHARBRIEFINFO_BOOTH booth;
 CHARBRIEFINFO_RIDE ride;
};

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[];
};

type NcBriefInfoMoverCmd

type NcBriefInfoMoverCmd struct {
	Count  byte
	Movers []NcBriefInfoRegenMoverCmd `struct:"sizefrom=Count"`
}

struct PROTO_NC_BRIEFINFO_MOVER_CMD

{
 char nMoverNum;
 PROTO_NC_BRIEFINFO_REGENMOVER_CMD Movers[];
};

type NcBriefInfoRegenMobCmd

type NcBriefInfoRegenMobCmd struct {
	Handle uint16
	Mode   byte
	MobID  uint16
	Coord  ShineCoordType
	// 0,1
	FlagState      byte
	FlagData       BriefInfoRegenMobCmdFlag
	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 NcBriefInfoRegenMoverCmd

type NcBriefInfoRegenMoverCmd struct {
	Handle      uint16
	ID          uint32
	HP          uint32
	Coordinates ShineCoordType
	AbstateBit  AbstateBit
	Grade       byte
	SlotHandle  [9]uint16
}

struct PROTO_NC_BRIEFINFO_REGENMOVER_CMD

{
 unsigned __int16 nHandle;
 unsigned int nID;
 unsigned int nHP;
 SHINE_COORD_TYPE nCoord;
 ABNORMAL_STATE_BIT AbstateBit;
 char nGrade;
 unsigned __int16 nSlotHandle[10];
};

type NcBriefInfoUnequipCmd

type NcBriefInfoUnequipCmd struct {
	Handle uint16
	Slot   byte
}

struct PROTO_NC_BRIEFINFO_UNEQUIP_CMD

{
 unsigned __int16 handle;
 char slot;
};

type NcCharAdminLevelInformCmd

type NcCharAdminLevelInformCmd struct {
	AdminLevel byte
}

struct PROTO_NC_CHAR_ADMIN_LEVEL_INFORM_CMD

{
 char nAdminLevel;
};

type NcCharBaseCmdFlag added in v0.0.3

type NcCharBaseCmdFlag struct {
	Val int32
}

struct PROTO_NC_CHAR_BASE_CMD::<unnamed-type-flags>::<unnamed-type-str>

{
 int _bf0;
};

union PROTO_NC_CHAR_BASE_CMD::<unnamed-type-flags>

{
 unsigned int bin;
 PROTO_NC_CHAR_BASE_CMD::<unnamed-type-flags>::<unnamed-type-str> str;
};

type NcCharBaseCmdLoginLocation added in v0.0.3

type NcCharBaseCmdLoginLocation struct {
	CurrentMap   Name3
	CurrentCoord ShineCoordType
}

struct PROTO_NC_CHAR_BASE_CMD::LoginLocation

{
 Name3 currentmap;
 SHINE_COORD_TYPE currentcoord;
};

type NcCharChargedBuffCmd added in v0.0.3

type NcCharChargedBuffCmd struct {
	Count uint16
	Buffs []ChargedBuffInfo `struct:"sizefrom=Count"`
}

struct PROTO_NC_CHAR_CHARGEDBUFF_CMD

{
 unsigned __int16 NumOfChargedBuff;
 PROTO_CHARGEDBUFF_INFO ChargedBuff[];
};

type NcCharClientAutoPickCmd

type NcCharClientAutoPickCmd struct {
	Player uint16
	Enable byte
}

struct PROTO_NC_CHAR_CLIENT_AUTO_PICK_CMD

{
 unsigned __int16 player;
 char bEnable;
};

type NcCharClientBaseCmd added in v0.0.3

type NcCharClientBaseCmd struct {
	ChrRegNum  uint32
	CharName   Name5
	Slot       byte
	Level      byte
	Experience uint64
	PwrStone   uint16
	GrdStone   uint16
	HPStone    uint16
	SPStone    uint16
	CurHP      uint32
	CurSP      uint32
	CurLP      uint32
	Unk        byte
	Fame       uint32
	Cen        uint64
	LoginInfo  NcCharBaseCmdLoginLocation
	Stats      CharStats
	IdleTime   byte
	PkCount    uint32
	PrisonMin  uint16
	AdminLevel byte
	Flag       NcCharBaseCmdFlag
}

NC_CHAR_CLIENT_BASE_CMD idk why name is changed struct PROTO_NC_CHAR_BASE_CMD

{
 unsigned int chrregnum;
 Name5 charid;
 char slotno;
 char Level;
 unsigned __int64 Experience;
 unsigned __int16 CurPwrStone;
 unsigned __int16 CurGrdStone;
 unsigned __int16 CurHPStone;
 unsigned __int16 CurSPStone;
 unsigned int CurHP;
 unsigned int CurSP;
 unsigned int CurLP;
 unsigned int fame;
 unsigned __int64 Cen;
 PROTO_NC_CHAR_BASE_CMD::LoginLocation logininfo;
 CHARSTATDISTSTR statdistribute;
 char pkyellowtime;
 unsigned int pkcount;
 unsigned __int16 prisonmin;
 char adminlevel;
 PROTO_NC_CHAR_BASE_CMD::<unnamed-type-flags> flags;
};

type NcCharClientChargedBuffCmd added in v0.0.3

type NcCharClientChargedBuffCmd NcCharChargedBuffCmd

NC_CHAR_CLIENT_CHARGEDBUFF_CMD

type NcCharClientCoinInfoCmd added in v0.0.3

type NcCharClientCoinInfoCmd NcCharCoinInfoCmd

NC_CHAR_CLIENT_COININFO_CMD

type NcCharClientGameCmd added in v0.0.3

type NcCharClientGameCmd struct {
	Filler0 uint16
	Filler1 uint16
}

NC_CHAR_CLIENT_GAME_CMD

type NcCharClientItemCmd

type NcCharClientItemCmd struct {
	NumOfItem byte
	Box       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[];
};

type NcCharClientPassiveCmd added in v0.0.3

type NcCharClientPassiveCmd NcCharSkillPassiveCmd

NC_CHAR_CLIENT_PASSIVE_CMD

type NcCharClientQuestDoingCmd added in v0.0.3

type NcCharClientQuestDoingCmd NcCharQuestDoingCmd

NC_CHAR_CLIENT_QUEST_DOING_CMD

type NcCharClientQuestDoneCmd added in v0.0.3

type NcCharClientQuestDoneCmd NcCharQuestDoneCmd

NC_CHAR_CLIENT_QUEST_DONE_CMD

type NcCharClientQuestReadCmd added in v0.0.3

type NcCharClientQuestReadCmd NcCharQuestReadCmd

NC_CHAR_CLIENT_QUEST_READ_CMD

type NcCharClientQuestRepeatCmd added in v0.0.3

type NcCharClientQuestRepeatCmd NcCharQuestRepeatCmd

NC_CHAR_CLIENT_QUEST_REPEAT_CMD

type NcCharClientShapeCmd added in v0.0.3

type NcCharClientShapeCmd ProtoAvatarShapeInfo

NC_CHAR_CLIENT_SHAPE_CMD

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;
};

type NcCharCoinInfoCmd added in v0.0.3

type NcCharCoinInfoCmd struct {
	Coin          uint64
	ExchangedCoin uint64
}

struct PROTO_NC_CHAR_COININFO_CMD

{
 unsigned __int64 nCoin;
 unsigned __int64 nExchangedCoin;
};

type NcCharGetKeyMapCmd

type NcCharGetKeyMapCmd struct {
	Count uint16
	Keys  []KeyMapData `struct:"sizefrom=Count"`
}

struct PROTO_NC_CHAR_OPTION_IMPROVE_GET_KEYMAP_CMD

{
 unsigned __int16 nKeyMapDataCnt;
 KEY_MAP_DATA KeyMapData[];
};

type NcCharGetShortcutDataCmd

type NcCharGetShortcutDataCmd struct {
	Count     uint16
	Shortcuts []ShortCutData `struct:"sizefrom=Count"`
}

struct PROTO_NC_CHAR_OPTION_IMPROVE_GET_SHORTCUTDATA_CMD { unsigned __int16 nShortCutDataCnt; SHORT_CUT_DATA ShortCutData[]; };

type NcCharGuildAcademyCmd

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

struct PROTO_NC_CHAR_GUILD_ACADEMY_CMD

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

type NcCharGuildCmd

type NcCharGuildCmd struct {
	GuildNumber uint32
	Guilds      GuildClient
}

struct PROTO_NC_CHAR_GUILD_CMD

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

type NcCharLoginAck

type NcCharLoginAck struct {
	ZoneIP   Name4
	ZonePort uint16
}

struct PROTO_NC_CHAR_LOGIN_ACK

{
 Name4 zoneip;
 unsigned __int16 zoneport;
};

type NcCharLoginReq

type NcCharLoginReq struct {
	Slot byte
}

struct PROTO_NC_CHAR_LOGIN_REQ

{
 char slot;
};

type NcCharMapLoginAck added in v0.0.3

type NcCharMapLoginAck struct {
	Handle     uint16
	Params     CharParameterData
	LoginCoord ShineXYType
}

struct PROTO_NC_CHAR_MAPLOGIN_ACK

{
 unsigned __int16 charhandle;
 CHAR_PARAMETER_DATA param;
 SHINE_XY_TYPE logincoord;
};

type NcCharNewbieGuideViewSetCmd

type NcCharNewbieGuideViewSetCmd struct {
	GuideView byte
}

struct PROTO_NC_CHAR_NEWBIE_GUIDE_VIEW_SET_CMD

{
 char nGuideView;
};

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;
};

type NcCharOptionGetShortcutSizeReq

type NcCharOptionGetShortcutSizeReq struct {
}

struct PROTO_NC_CHAR_OPTION_GET_SHORTCUTSIZE_REQ

{
 char dummy[1];
};

type NcCharOptionGetWindowPosAck

type NcCharOptionGetWindowPosAck struct {
	Success byte
	Data    NcCharOptionWindowPos
}

struct PROTO_NC_CHAR_OPTION_GET_WINDOWPOS_ACK

{
 char bSuccess;
 PROTO_NC_CHAR_OPTION_WINDOWPOS Data;
};

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[];
};

type NcCharOptionShortcutSize

type NcCharOptionShortcutSize struct {
	Data [24]byte
}

struct PROTO_NC_CHAR_OPTION_SHORTCUTSIZE

{
 char Data[24];
};

type NcCharOptionWindowPos

type NcCharOptionWindowPos struct {
	Data [392]byte
}

struct PROTO_NC_CHAR_OPTION_WINDOWPOS

{
 char Data[392];
};

type NcCharQuestDoingCmd added in v0.0.3

type NcCharQuestDoingCmd struct {
	CharID          uint32
	NeedClear       byte
	NumOfDoingQuest byte
	Quests          []PlayerQuestInfo `struct:"sizefrom=NumOfDoingQuest"`
}

struct PROTO_NC_CHAR_QUEST_DOING_CMD

{
 unsigned int chrregnum;
 char bNeedClear;
 char nNumOfDoingQuest;
 PLAYER_QUEST_INFO QuestDoingArray[];
};

type NcCharQuestDoneCmd added in v0.0.3

type NcCharQuestDoneCmd struct {
	CharID             uint32
	TotalDoneQuest     uint16
	TotalDoneQuestSize uint16
	Count              uint16
	Index              uint16
	Quests             []PlayerQuestDoneInfo `struct:"sizefrom=Count"`
}

struct PROTO_NC_CHAR_QUEST_DONE_CMD

{
 unsigned int chrregnum;
 unsigned __int16 nTotalDoneQuest;
 unsigned __int16 nTotalDoneQuestSize;
 unsigned __int16 nDoneQuestCount;
 unsigned __int16 nIndex;
 PLAYER_QUEST_DONE_INFO QuestDoneArray[];
};

type NcCharQuestReadCmd added in v0.0.3

type NcCharQuestReadCmd struct {
	CharID          uint32
	NumOfReadQuests uint16
	Quests          []uint16 `struct:"sizefrom=NumOfReadQuests"`
}

struct PROTO_NC_CHAR_QUEST_READ_CMD

{
 unsigned int chrregnum;
 unsigned __int16 nNumOfReadQuest;
 unsigned __int16 QuestReadIDArray[];
};

type NcCharQuestRepeatCmd added in v0.0.3

type NcCharQuestRepeatCmd struct {
	CharID uint32
	Count  uint16
	Quests []PlayerQuestInfo `struct:"sizefrom=Count"`
}

struct PROTO_NC_CHAR_QUEST_REPEAT_CMD

{
 unsigned int chrregnum;
 unsigned __int16 nNumOfRepeatQuest;
 PLAYER_QUEST_INFO QuestRepeatArray[];
};

type NcCharReviveOtherCmd added in v0.0.3

type NcCharReviveOtherCmd struct {
	Link    NcCharReviveSameCmd
	Socket  NcCharLoginAck
	WorldID uint16
}

struct PROTO_NC_CHAR_REVIVEOTHER_CMD

{
 PROTO_NC_CHAR_REVIVESAME_CMD link;
 PROTO_NC_CHAR_LOGIN_ACK sock;
 unsigned __int16 wldmanhandle;
};

type NcCharReviveSameCmd added in v0.0.3

type NcCharReviveSameCmd struct {
	MapID    uint16
	Location ShineXYType
}

struct PROTO_NC_CHAR_REVIVESAME_CMD

{
 unsigned __int16 mapid;
 SHINE_XY_TYPE location;
};

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[];
};

type NcCharSkillPassiveCmd added in v0.0.3

type NcCharSkillPassiveCmd struct {
	Number   uint16
	Passives []uint16 `struct:"sizefrom=Number"`
}

struct PROTO_NC_CHAR_SKILL_PASSIVE_CMD

{
 unsigned __int16 number;
 unsigned __int16 passive[];
};

type NcCharStatRemainPointCmd

type NcCharStatRemainPointCmd struct {
	Remain byte
}

struct PROTO_NC_CHAR_STAT_REMAINPOINT_CMD

{
 char remain;
};

type NcCharUiStateSaveReq

type NcCharUiStateSaveReq struct {
	MysteryType byte
}

struct PROTO_NC_CHARSAVE_UI_STATE_SAVE_REQ

{
 char btMysteryType;
};

type NcCharUseItemMinimonUseBroadCmd

type NcCharUseItemMinimonUseBroadCmd struct {
	CharHandle uint16
	Use        byte
}

struct PROTO_NC_CHAR_USEITEM_MINIMON_USE_BROAD_CMD

{
 unsigned __int16 nCharHandle;
 char bUse;
};

type NcChargedBoothSlotSizeCmd

type NcChargedBoothSlotSizeCmd struct {
	BoothSize byte
}

struct PROTO_NC_CHARGED_BOOTHSLOTSIZE_CMD

{
 char boothsize;
};

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[];
};

type NcCollectCardRegisterReq

type NcCollectCardRegisterReq struct {
	Slot byte
}

struct PROTO_NC_COLLECT_CARDREGIST_REQ

{
 char invenslot;
};

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[];
};

type NcITemChargedInventoryOpenReq

type NcITemChargedInventoryOpenReq struct {
	Page uint16
}

struct PROTO_NC_ITEM_CHARGEDINVENOPEN_REQ

{
 unsigned __int16 page;
};

type NcItemCellChangeCmd

type NcItemCellChangeCmd struct {
	Exchange ItemInventory
	Location ItemInventory
	Item     ShineItemVar
}

struct PROTO_NC_ITEM_CELLCHANGE_CMD

{
 ITEM_INVEN exchange;
 ITEM_INVEN location;
 SHINE_ITEM_VAR_STRUCT item;
};

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[];
};

type NcItemDropAck

type NcItemDropAck uint16

typedef unsigned __int16 PROTO_NC_ITEM_DROP_ACK;

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;
};

type NcItemEquipReq

type NcItemEquipReq struct {
	Slot byte
}

struct PROTO_NC_ITEM_EQUIP_REQ

{
 char slot;
};

type NcItemPickAck

type NcItemPickAck struct {
	ItemID     uint16
	Lot        uint32
	Error      uint16
	ItemHandle uint16
}

struct PROTO_NC_ITEM_PICK_ACK

{
 unsigned __int16 itemid;
 unsigned int lot;
 unsigned __int16 error;
 unsigned __int16 itemhandle;
};

type NcItemPickReq

type NcItemPickReq struct {
	ItemHandle uint16
}

struct PROTO_NC_ITEM_PICK_REQ

{
 unsigned __int16 itemhandle;
};

type NcItemRewardInventoryOpenAck

type NcItemRewardInventoryOpenAck struct {
	Count byte
	Items []ItemPacketInfo `struct:"sizefrom=Count"`
}

struct PROTO_NC_ITEM_REWARDINVENOPEN_ACK

{
 char itemcounter;
 PROTO_ITEMPACKET_INFORM itemarray[];
};

type NcItemRewardInventoryOpenReq

type NcItemRewardInventoryOpenReq struct {
	Page uint16
}

struct PROTO_NC_ITEM_REWARDINVENOPEN_REQ

{
 unsigned __int16 page;
};

type NcItemUnequipReq

type NcItemUnequipReq struct {
	SlotEquip byte
	SlotInven byte
}

struct PROTO_NC_ITEM_UNEQUIP_REQ

{
 char slotequip;
 char slotinven;
};

type NcItemUseReq

type NcItemUseReq struct {
	Slot byte
	Type byte
}

struct PROTO_NC_ITEM_USE_REQ

{
 char invenslot;
 char invenType;
};

type NcKqListTimeAck

type NcKqListTimeAck struct {
	ServerTime   int32
	TmServerTime TM
}

struct PROTO_NC_KQ_LIST_TIME_ACK

{
 int ServerTime;
 tm tm_ServerTime;
};

type NcKqTeamTypeCmd

type NcKqTeamTypeCmd struct {
	TeamType byte
}

struct PROTO_NC_KQ_TEAM_TYPE_CMD

{
 char nTeamType;
};

type NcMapCanUseReviveItemCmd

type NcMapCanUseReviveItemCmd struct {
	CanUse byte
}

struct PROTO_NC_MAP_CAN_USE_REVIVEITEM_CMD

{
 char bCanUseReviveItem;
};

type NcMapFieldAttributeCmd

type NcMapFieldAttributeCmd struct {
	FieldMapType uint32
}

struct PROTO_NC_MAP_FIELD_ATTRIBUTE_CMD

{
 FIELD_MAP_TYPE eFieldMapType;
};

type NcMapLinkOtherCmd added in v0.0.3

type NcMapLinkOtherCmd NcCharReviveOtherCmd

NC_MAP_LINKOTHER_CMD

type NcMapLoginAck added in v0.0.3

type NcMapLoginAck NcCharMapLoginAck

NC_MAP_LOGIN_ACK

type NcMapLoginCompleteCmd

type NcMapLoginCompleteCmd struct {
}

struct PROTO_NC_MAP_LOGINCOMPLETE_CMD

{
 char dummy[1];
};

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];
};

type NcMapTownPortalAck added in v0.0.3

type NcMapTownPortalAck struct {
	Err uint16
}

struct PROTO_NC_MAP_TOWNPORTAL_ACK

{
 unsigned __int16 err;
};

type NcMapTownPortalReq added in v0.0.3

type NcMapTownPortalReq struct {
	PortalIndex byte
}

struct PROTO_NC_MAP_TOWNPORTAL_REQ

{
 char portalindex;
};

type NcMiscGameTimeAck

type NcMiscGameTimeAck struct {
	Hour   byte
	Minute byte
	Second byte
}

struct PROTO_NC_MISC_GAMETIME_ACK

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

type NcMiscHeartBeatAck

type NcMiscHeartBeatAck struct {
}

struct PROTO_NC_MISC_HEARTBEAT_ACK

{
 char dummy[1];
};

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

type NcMoverHungryCmd

type NcMoverHungryCmd struct {
	Hungry uint16
}

struct PROTO_NC_MOVER_HUNGRY_CMD

{
 unsigned __int16 nHungry;
};

type NcMoverMoveSpeedCmd

type NcMoverMoveSpeedCmd struct {
	MoverHandle uint16
	Walk        uint16
	Run         uint16
}

struct PROTO_NC_MOVER_MOVESPEED_CMD

{
 unsigned __int16 nMoverHandle;
 unsigned __int16 nWalk;
 unsigned __int16 nRun;
};

type NcMoverRideOnCmd

type NcMoverRideOnCmd struct {
	MoverHandle uint16
	Slot        byte
	Grade       byte
}

struct PROTO_NC_MOVER_RIDE_ON_CMD

{
 unsigned __int16 nMoverHandle;
 char nSlot;
 char nGrade;
};

type NcMoverSomeoneRideOffCmd

type NcMoverSomeoneRideOffCmd struct {
	Handle uint16
}

struct PROTO_NC_MOVER_SOMEONE_RIDE_OFF_CMD

{
 unsigned __int16 nHandle;
};

type NcMoverSomeoneRideOnCmd

type NcMoverSomeoneRideOnCmd struct {
	Handle      uint16
	MoverHandle uint16
	Slot        byte
	Grade       byte
}

struct PROTO_NC_MOVER_SOMEONE_RIDE_ON_CMD

{
 unsigned __int16 nHandle;
 unsigned __int16 nMoverHandle;
 char nSlot;
 char nGrade;
};

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];
};

type NcQuestResetTimeClientCmd added in v0.0.3

type NcQuestResetTimeClientCmd NcQuestResetTimeCmd

NC_QUEST_RESET_TIME_CLIENT_CMD

type NcQuestResetTimeCmd added in v0.0.3

type NcQuestResetTimeCmd struct {
	ResetYear  int32
	ResetMonth int32
	ResetWeek  int32
	ResetDay   int32
}

struct PROTO_NC_QUEST_RESET_TIME_CMD

{
 int tResetYearQuest;
 int tResetMonthQuest;
 int tResetWeekQuest;
 int tResetDayQuest;
};

type NcQuestScriptCmdAck

type NcQuestScriptCmdAck struct {
	QuestID uint16
	QSC     byte
	Result  uint32
}

struct PROTO_NC_QUEST_SCRIPT_CMD_ACK

{
 unsigned __int16 nQuestID;
 char nQSC;
 unsigned int nResult;
};

type NcQuestStartReq

type NcQuestStartReq struct {
	QuestID uint16
}

struct PROTO_NC_QUEST_START_REQ

{
 unsigned __int16 nQuestID;
};

type NcServerMenuAck

type NcServerMenuAck struct {
	Reply byte
}

struct PROTO_NC_MENU_SERVERMENU_ACK

{
 char reply;
};

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[];
};

type NcSoulStoneHpSomeoneUseCmd

type NcSoulStoneHpSomeoneUseCmd struct {
	Player uint16
}

struct PROTO_NC_SOULSTONE_HP_SOMEONEUSE_CMD

{
 unsigned __int16 player;
};

type NcSoulStoneSpSomeoneUseCmd

type NcSoulStoneSpSomeoneUseCmd struct {
	Player uint16
}

struct PROTO_NC_SOULSTONE_SP_SOMEONEUSE_CMD

{
 unsigned __int16 player;
};

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];
};

type NcUserClientWrongVersionCheckAck

type NcUserClientWrongVersionCheckAck struct{}

struct PROTO_NC_USER_CLIENT_WRONGVERSION_CHECK_ACK

{
 char dummy[1];
};

type NcUserLoginAck

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

struct PROTO_NC_USER_LOGIN_ACK

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

type NcUserLoginFailAck

type NcUserLoginFailAck struct {
	Err uint16
}

RE client struct: struct PROTO_NC_USER_LOGINFAIL_ACK

{
	unsigned __int16 error;
};

type NcUserLoginWithOtpReq

type NcUserLoginWithOtpReq struct {
	Otp Name8
}

struct PROTO_NC_USER_LOGIN_WITH_OTP_REQ

{
	Name8 sOTP;
};

type NcUserLoginWorldAck

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

struct PROTO_NC_USER_LOGINWORLD_ACK

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

type NcUserLoginWorldReq

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

struct PROTO_NC_USER_LOGINWORLD_REQ

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

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;
};

type NcUserWillWorldSelectAck

type NcUserWillWorldSelectAck struct {
	Error uint16
	Otp   Name8
}

struct PROTO_NC_USER_WILL_WORLD_SELECT_ACK

{
	unsigned __int16 nError;
	Name8 sOTP;
};

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
	Ip          Name4
	Port        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];
};

type NcUserWorldSelectReq

type NcUserWorldSelectReq struct {
	WorldNo byte
}

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

type NcZoneCharDataReq

type NcZoneCharDataReq struct {
	WorldManager uint16
	CharID       Name5
}

struct PROTO_NC_CHAR_ZONE_CHARDATA_REQ

{
 unsigned __int16 wldmanhandle;
 Name5 charid;
};

type NcitemRelocateReq

type NcitemRelocateReq struct {
	From ItemInventory
	To   ItemInventory
}

struct PROTO_NC_ITEM_RELOC_REQ

{
 ITEM_INVEN from;
 ITEM_INVEN to;
};

type NetCommand

type NetCommand struct {
	Protocol uint16
}

union NETCOMMAND

{
 unsigned __int16 protocol;
};

type PartMark

type PartMark struct {
	BF0 byte
}

struct PARTMARK

{
	char _bf0;
};

type PlayerQuestData added in v0.0.3

type PlayerQuestData struct {
	StartTime         int64
	EndTime           int64
	RepeatCount       uint32
	ProgressStep      byte
	EndNpcMobCount    [5]byte
	BF26              byte
	EndRunningTimeSec uint16
}

struct PLAYER_QUEST_DATA

{
 __int64 StartTime;
 __int64 EndTime;
 unsigned int RepeatCount;
 char ProgressStep;
 char End_NPCMobCount[5];
 char _bf26;
 unsigned __int16 End_RunningTimeSec;
};

type PlayerQuestDoneInfo added in v0.0.3

type PlayerQuestDoneInfo struct {
	ID      uint16
	EndTime int64
}

struct PLAYER_QUEST_DONE_INFO

{
 unsigned __int16 ID;
 __int64 tEndTime;
};

type PlayerQuestInfo added in v0.0.3

type PlayerQuestInfo struct {
	ID     uint16
	Status byte
	Data   PlayerQuestData
}

struct PLAYER_QUEST_INFO

{
 unsigned __int16 ID;
 char Status;
 PLAYER_QUEST_DATA Data;
};

type ProtoAvatarDeleteInfo

type ProtoAvatarDeleteInfo struct {
	Year  byte
	Month byte
	Day   byte
	Hour  byte
	Min   byte
}

/* 3807 */ struct PROTO_AVATAR_DELETE_INFO

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

type ProtoAvatarShapeInfo

type ProtoAvatarShapeInfo struct {
	BF        byte
	HairType  byte
	HairColor byte
	FaceShape byte
}

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

type ProtoEquipment

type ProtoEquipment struct {
	EquHead         uint16
	EquMouth        uint16
	EquRightHand    uint16
	EquBody         uint16
	EquLeftHand     uint16
	EquPant         uint16
	EquBoot         uint16
	EquAccBoot      uint16
	EquAccPant      uint16
	EquAccBody      uint16
	EquAccHeadA     uint16
	EquMinimonR     uint16
	EquEye          uint16
	EquAccLeftHand  uint16
	EquAccRightHand uint16
	EquAccBack      uint16
	EquCosEff       uint16
	EquAccHip       uint16
	EquMinimon      uint16
	EquAccShield    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
	TutorialStep  byte
}

struct PROTO_TUTORIAL_INFO

{
 TUTORIAL_STATE nTutorialState;
 char nTutorialStep;
};

type ServerMenu

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

struct SERVERMENU

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

type ShineCharStatVar added in v0.0.3

type ShineCharStatVar struct {
	Base   uint32
	Change uint32
}

struct SHINE_CHAR_STATVAR

{
 unsigned int base;
 unsigned int change;
};

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 ShineItem added in v0.0.3

type ShineItem struct {
	ItemID uint16
}

struct SHINE_ITEM_STRUCT

{
 unsigned __int16 itemid;
 SHINE_ITEM_ATTRIBUTE itemattr;
};

type ShineItemVar

type ShineItemVar struct {
	ItemID   uint16
	ItemAttr []byte
}

struct SHINE_ITEM_VAR_STRUCT

{
 unsigned __int16 itemid;
 char itemattr[];
};

type ShineXYType

type ShineXYType struct {
	X uint32
	Y uint32
}

struct SHINE_XY_TYPE

{
 unsigned int x;
 unsigned int y;
};

type ShortCutData

type ShortCutData struct {
	SlotNo byte
	CodeNo uint16
	Value  int32
}

struct SHORT_CUT_DATA

{
 char nSlotNo;
 unsigned __int16 nCodeNo;
 int nValue;
};

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[];
};

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 StopEmoticonDescript

type StopEmoticonDescript struct {
	EmoticonID    byte
	EmoticonFrame uint16
}

struct STOPEMOTICON_DESCRIPT

{
 char emoticonid;
 unsigned __int16 emoticonframe;
};

type StreetBoothSignBoard

type StreetBoothSignBoard struct {
	Text [30]byte
}

struct STREETBOOTH_SIGNBOARD

{
 char signboard[30];
};

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