mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 04:56:20 +00:00
Verified and corrected packets through character select
This commit is contained in:
@@ -3532,6 +3532,20 @@ namespace TOB
|
||||
FINISH_DIRECT_DECODE();
|
||||
}
|
||||
|
||||
DECODE(OP_ApproveName)
|
||||
{
|
||||
DECODE_LENGTH_EXACT(structs::NameApproval_Struct);
|
||||
SETUP_DIRECT_DECODE(NameApproval_Struct, structs::NameApproval_Struct);
|
||||
|
||||
IN_str(name);
|
||||
IN(race_id);
|
||||
IN(class_id);
|
||||
|
||||
// TODO: expand the approval logic to include the rest of the TOB struct values (and remove the direct translation here)
|
||||
|
||||
FINISH_DIRECT_DECODE();
|
||||
}
|
||||
|
||||
DECODE(OP_AugmentInfo)
|
||||
{
|
||||
DECODE_LENGTH_EXACT(structs::AugmentInfo_Struct);
|
||||
@@ -3630,6 +3644,39 @@ namespace TOB
|
||||
delete[] __eq_buffer;
|
||||
}
|
||||
|
||||
DECODE(OP_CharacterCreate) {
|
||||
DECODE_LENGTH_EXACT(structs::CharCreate_Struct);
|
||||
SETUP_DIRECT_DECODE(CharCreate_Struct, structs::CharCreate_Struct);
|
||||
|
||||
IN(gender);
|
||||
IN(race);
|
||||
IN(class_);
|
||||
IN(deity);
|
||||
IN(start_zone);
|
||||
IN(haircolor);
|
||||
IN(beard);
|
||||
IN(beardcolor);
|
||||
IN(hairstyle);
|
||||
IN(face);
|
||||
IN(eyecolor1);
|
||||
IN(eyecolor2);
|
||||
IN(drakkin_heritage);
|
||||
IN(drakkin_tattoo);
|
||||
IN(drakkin_details);
|
||||
IN(STR);
|
||||
IN(STA);
|
||||
IN(AGI);
|
||||
IN(DEX);
|
||||
IN(WIS);
|
||||
IN(INT);
|
||||
IN(CHA);
|
||||
IN(tutorial);
|
||||
|
||||
// TODO: can handle the heroic type here as well (new member)
|
||||
|
||||
FINISH_DIRECT_DECODE();
|
||||
}
|
||||
|
||||
DECODE(OP_ClickDoor)
|
||||
{
|
||||
DECODE_LENGTH_EXACT(structs::ClickDoor_Struct);
|
||||
|
||||
@@ -66,11 +66,13 @@ E(OP_ZoneSpawns)
|
||||
//list of packets we need to decode on the way in:
|
||||
D(OP_Animation)
|
||||
D(OP_ApplyPoison)
|
||||
D(OP_ApproveName)
|
||||
D(OP_AugmentInfo)
|
||||
D(OP_AugmentItem)
|
||||
D(OP_BlockedBuffs)
|
||||
D(OP_CastSpell)
|
||||
D(OP_ChannelMessage)
|
||||
D(OP_CharacterCreate)
|
||||
D(OP_ClientUpdate)
|
||||
D(OP_ClickDoor)
|
||||
D(OP_Consider)
|
||||
|
||||
@@ -186,6 +186,50 @@ namespace TOB {
|
||||
/*000*/ uint32 CharCount; //number of chars in this packet
|
||||
};
|
||||
|
||||
/*
|
||||
** Character Creation struct
|
||||
** Length: 168 Bytes
|
||||
** OpCode: 0x1859
|
||||
*/
|
||||
struct CharCreate_Struct
|
||||
{
|
||||
/*00*/ uint8 padding[72];
|
||||
/*48*/ uint32 gender;
|
||||
/*4c*/ uint32 race;
|
||||
/*50*/ uint32 class_;
|
||||
/*54*/ uint32 deity;
|
||||
/*58*/ uint32 start_zone; // this is the zone ID of the start zone
|
||||
/*5c*/ uint32 haircolor;
|
||||
/*60*/ uint32 beard;
|
||||
/*64*/ uint32 beardcolor;
|
||||
/*68*/ uint32 hairstyle;
|
||||
/*6c*/ uint32 face;
|
||||
/*70*/ uint32 eyecolor1;
|
||||
/*74*/ uint32 eyecolor2;
|
||||
/*78*/ uint32 drakkin_heritage;
|
||||
/*7c*/ uint32 drakkin_tattoo;
|
||||
/*80*/ uint32 drakkin_details;
|
||||
/*84*/ uint32 STR;
|
||||
/*88*/ uint32 STA;
|
||||
/*8c*/ uint32 AGI;
|
||||
/*90*/ uint32 DEX;
|
||||
/*94*/ uint32 WIS;
|
||||
/*98*/ uint32 INT;
|
||||
/*9c*/ uint32 CHA;
|
||||
/*a0*/ uint32 tutorial;
|
||||
/*a4*/ uint32 heroic_type;
|
||||
/*a8*/
|
||||
};
|
||||
|
||||
struct NameApproval_Struct {
|
||||
char name[64];
|
||||
uint32 race_id;
|
||||
uint32 class_id;
|
||||
uint32 deity_id;
|
||||
uint32 heroic_type; // seen 0, client can also send 1-4
|
||||
uint32 unknown; // always 0?
|
||||
};
|
||||
|
||||
enum TOBAppearance : uint32
|
||||
{
|
||||
None,
|
||||
|
||||
Reference in New Issue
Block a user