ModelType=0x02,// Au Ra: changes horns/tails, everything else: seems to drastically change appearance (flip between two sets, odd/even numbers). sometimes retains hairstyle and other features
FaceType=0x05,
HairStyle=0x06,
HasHighlights=0x07,// negative to enable, positive to disable
SkinColor=0x08,
EyeColor=0x09,// color of character's right eye
HairColor=0x0A,// main color
HairColor2=0x0B,// highlights color
FaceFeatures=0x0C,// seems to be a toggle, (-odd and +even for large face covering), opposite for small
FaceFeaturesColor=0x0D,
Eyebrows=0x0E,
EyeColor2=0x0F,// color of character's left eye
EyeShape=0x10,
NoseShape=0x11,
JawShape=0x12,
LipStyle=0x13,// lip colour depth and shape (negative values around -120 darker/more noticeable, positive no colour)
LipColor=0x14,
RaceFeatureSize=0x15,
RaceFeatureType=0x16,// negative or out of range tail shapes for race result in no tail (e.g. Au Ra has max of 4 tail shapes), incorrect value can crash client
BustSize=0x17,// char creator allows up to max of 100, i set to 127 cause who wouldnt but no visible difference
Facepaint=0x18,
FacepaintColor=0x19,
};
enumMoveType:
uint8_t
{
Running=0x00,
Walking=0x02,
Strafing=0x04,
Jumping=0x10,
BackWalk=0x06,
};
enumMoveState:
uint8_t
{
No=0x00,
Land=0x02,
Fall=0x04,
};
structQuestActive
{
QuestActive()
{
c.questId=0;
c.sequence=0;
c.flags=0;
c.UI8A=0;
c.UI8B=0;
c.UI8C=0;
c.UI8D=0;
c.UI8E=0;
c.UI8F=0;
c.padding=0;
}
union
{
struct
{
uint16_tquestId;
uint8_tsequence;
uint8_tflags;
uint8_tpadding;
uint8_tBitFlag48;
uint8_tBitFlag40;
uint8_tBitFlag32;
uint8_tBitFlag24;
uint8_tBitFlag16;
uint8_tBitFlag8;
uint8_tpadding1;
}a;
struct
{
uint16_tquestId;
uint8_tsequence;
uint8_tflags;
uint8_tpadding;
uint8_tUI8AL:4;
uint8_tUI8AH:4;
uint8_tUI8BL:4;
uint8_tUI8BH:4;
uint8_tUI8CL:4;
uint8_tUI8CH:4;
uint8_tUI8DL:4;
uint8_tUI8DH:4;
uint8_tUI8EL:4;
uint8_tUI8EH:4;
uint8_tUI8FL:4;
uint8_tUI8FH:4;
uint8_tpadding1;
}b;
struct
{
uint16_tquestId;
uint8_tsequence;
uint8_tflags;
uint8_tpadding;
uint8_tUI8A;
uint8_tUI8B;
uint8_tUI8C;
uint8_tUI8D;
uint8_tUI8E;
uint8_tUI8F;
uint8_tpadding1;
}c;
//struct
//{
// uint16_t questId;
// uint8_t sequence;
// uint8_t flags;
// uint8_t padding;
// uint16_t UI16A;
// uint16_t UI16B;
// uint16_t UI16C;
// uint8_t padding1;
//} d;
//struct
//{
// uint8_t padding;
// uint32_t UI32A;
// uint16_t padding2;
//} e;
};
};
enumstructActionAspect:
uint8_t
{
None=0,// Doesn't imply unaspected
Fire=1,
Ice=2,
Wind=3,
Stone=4,
Lightning=5,
Water=6,
Unaspected=7// Doesn't imply magical unaspected damage - could be unaspected physical
};
enumclassActionType:
int8_t
{
WeaponOverride=-1,// Needs more investigation (takes the damage type of the equipped weapon)?
Unknown_0=0,
Slashing=1,
Piercing=2,
Blunt=3,
Unknown_4=4,
Magical=5,
Darkness=6,
Unknown_7=7,
LimitBreak=8,
};
enumActionEffectType:
uint8_t
{
Nothing=0,
Miss=1,
FullResist=2,
Damage=3,
Heal=4,
BlockedDamage=5,
ParriedDamage=6,
Invulnerable=7,
NoEffectText=8,
Unknown_0=9,
MpLoss=10,
MpGain=11,
TpLoss=12,
TpGain=13,
GpGain=14,
Knockback=33,
Mount=38
};
enumclassActionHitSeverityType:
uint8_t
{
NormalDamage=0,
CritHeal=0,
CritDamage=1,
NormalHeal=1,
DirectHitDamage=2,
CritDirectHitDamage=3
};
enumActionEffectDisplayType:
uint8_t
{
HideActionName=0,
ShowActionName=1,
ShowItemName=2,
};
enumclassActionCollisionType:
uint8_t
{
None,
SingleTarget,
Circle,
Cone,
Box,
Unknown,
Unknown2,
PersistentArea,// for when you set aoe like asylum
Unknown3
};
enumHandleActionType:
uint8_t
{
Event,
Spell,
Teleport
};
enumHandleSkillType:
uint8_t
{
StdDamage,
StdHeal,
StdDot,
};
enumInvincibilityType:
uint8_t
{
InvincibilityNone,
InvincibilityRefill,
InvincibilityStayAlive,
};
enumPlayerStateFlag:
uint8_t
{
HideUILockChar=0,// as the name suggests, hides the ui and logs the char...
InCombat=1,// in Combat, locks gearchange/return/teleport
Casting=2,
InNpcEvent=7,// when talking to an npc, locks ui giving "occupied" message
InNpcEvent1=10,// Sent together with InNpcEvent, when waiting for input? just a guess...
BetweenAreas=24,
BoundByDuty=28,
WatchingCutscene=50,// this is actually just a dummy, this id is different