Hairstyles

The HairStyle value encodes both hair color and style in a single numeric type.

HairStyle = (HairColor × 100) + Style
HairColor = HairStyle ÷ 100             // integer division
Style = HairStyle % 100                // modulo

Examples:

  • 537 = Color 3 (Black), Style 30 (New)
  • 515 = Color 5 (Red), Style 15 (Nostalgic)
  • 625 = Color 6 (Brown), Style 25 (Special)

Note: VIP styles (70-90) have a static appearance and the color formula does not affect their visual look.

Client File References

  • ini/NpcX.ini: Contains 145+ Hair= entries with values ranging from 0 to 678, used to define NPC hairstyles

Hair Colors

enum HairColor {
    HAIR_COLOR_BLACK = 3;
    HAIR_COLOR_WHITE = 4;
    HAIR_COLOR_RED = 5;
    HAIR_COLOR_BROWN = 6;
    HAIR_COLOR_GREEN = 7;
    HAIR_COLOR_BLUE = 8;
    HAIR_COLOR_VIOLET = 9;
}

Hair Styles

enum HairStyle {
    // Bald
    BALD_NO_HAIR = 0;

    // Nostalgic - 10-16
    HAIR_STYLE_NOSTALGIC_1 = 10;
    HAIR_STYLE_NOSTALGIC_2 = 11;
    HAIR_STYLE_NOSTALGIC_3 = 12;
    HAIR_STYLE_NOSTALGIC_4 = 13;
    HAIR_STYLE_NOSTALGIC_5 = 14;
    HAIR_STYLE_NOSTALGIC_6 = 15;
    HAIR_STYLE_NOSTALGIC_7 = 16;
    
    // Special - 21-25
    HAIR_STYLE_SPECIAL_1 = 21;
    HAIR_STYLE_SPECIAL_2 = 22;
    HAIR_STYLE_SPECIAL_3 = 23;
    HAIR_STYLE_SPECIAL_4 = 24;
    HAIR_STYLE_SPECIAL_5 = 25;
    
    // New - 30-41
    HAIR_STYLE_NEW_1 = 30;
    HAIR_STYLE_NEW_2 = 31;
    HAIR_STYLE_NEW_3 = 32;
    HAIR_STYLE_NEW_4 = 33;
    HAIR_STYLE_NEW_5 = 34;
    HAIR_STYLE_NEW_6 = 35;
    HAIR_STYLE_NEW_7 = 36;
    HAIR_STYLE_NEW_8 = 37;
    HAIR_STYLE_NEW_9 = 38;
    HAIR_STYLE_NEW_10 = 39;
    HAIR_STYLE_NEW_11 = 40;
    HAIR_STYLE_NEW_12 = 41;
    
    // VIP Level 4 - 70-74
    HAIR_STYLE_VIP4_1 = 70;
    HAIR_STYLE_VIP4_2 = 71;
    HAIR_STYLE_VIP4_3 = 72;
    HAIR_STYLE_VIP4_4 = 73;
    HAIR_STYLE_VIP4_5 = 74;
    
    // VIP Level 5 - 75-90
    HAIR_STYLE_VIP5_1 = 75;
    HAIR_STYLE_VIP5_2 = 76;
    HAIR_STYLE_VIP5_3 = 77;
    HAIR_STYLE_VIP5_4 = 78;
    HAIR_STYLE_VIP5_5 = 79;
    HAIR_STYLE_VIP5_6 = 80;
    HAIR_STYLE_VIP5_7 = 81;
    HAIR_STYLE_VIP5_8 = 82;
    HAIR_STYLE_VIP5_9 = 83;
    HAIR_STYLE_VIP5_10 = 84;
    HAIR_STYLE_VIP5_11 = 85;
    HAIR_STYLE_VIP5_12 = 86;
    HAIR_STYLE_VIP5_13 = 87;
    HAIR_STYLE_VIP5_14 = 88;
    HAIR_STYLE_VIP5_15 = 89;
    HAIR_STYLE_VIP5_16 = 90;
}