Skip to content
DummkopfOfHachtenduden edited this page Apr 8, 2023 · 2 revisions
1   byte    memberInfoFlag
if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.JID))
    4   int     memberInfo.JID

if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.NameRefObjID))
{
    2   ushort  memberInfo.Name.Length
    *   string  memberInfo.Name
    4   uint    memberInfo.RefObjID
}

if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.Level))
    1   byte    memberInfo.Level

if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.Vitality))
{
    // (MSB)                       (LSB)
    // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
    // |       HP      |       MP      |
    1   byte    memberInfo.Vitality // in 10% intervals
}
if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.Position))
{
    2   ushort  memberInfo.RID
    if(memberInfo.RID & 0x8000) // IsDungeon
    {
        4   int     memberInfo.X
        4   int     memberInfo.Y
        4   int     memberInfo.Z
    }
    else
    {
        2   short   memberInfo.X
        2   short   memberInfo.Y
        2   short   memberInfo.Z
    }
    2   ushort  memberInfo.WorldID
    2   ushort  memberInfo.LayerID
}

if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.Guild))
{
    2   ushort  memberInfo.Guild.Name.Length
    *   string  memberInfo.Guild.Name
}

if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.JobState))
{
    1   byte    memberInfo.JobState
}

if(memberInfoFlag.HasFlags(PartyMemberInfoFlag.Mastery))
{
    4   uint    memberInfo.PrimaryMastery
    4   uint    memberInfo.SecondaryMastery
}

Related pages:

Clone this wiki locally