exports
Object Structures

Structures

Below are the structures of the appearance objects. It is useful to know if you want to use the appearance exports.

Appearance for exports

Below are the structures of the appearance objects. It is useful to know if you want to use the appearance exports.

TAppearance

type TAppearance = TClothes & TSkin & {
    tattoos?: TTattoo[]
 
    // These are only needed to open the Menu. In the future, this will be refactored to be its own type
    modelIndex?: number
    outfits?: Outfit[]
}

TClothes

type TClothes = {
    headOverlay: THeadOverlay
    drawables: TDrawables
    props: TProps
}

TSkin

type TSkin = {
    headBlend: THeadBlend
    headStructure: THeadStructure
    hairColor: THairColor
    model: number
}

TTattoo

type TTattoo = {
    zoneIndex: number
    dlcIndex: number
    tattoo: TTattooEntry
    id: number
}

Outfit

interface Outfit {
    id?: number | string,
    label: string,
    outfit: TOutfitData,
    jobname?: string,
    job?: { name: string, rank: number } | null
}

TOutfitData

type TOutfitData  = {
    headOverlay: THeadOverlay
    drawables: TDrawables
    props: TProps;
    job?: { name: string, rank: number } | null;
}

TProps

type TProps = {
    [key: string]: TValue
}

TDrawables

type TDrawables = {
	[key: string]: TValue
}

THeadStructure

type THeadStructure = {
	[key: string]: TValue
}

THeadOverlay

interface HeadOverlayData {
    id: string;
    index: number;
    overlayValue?: number;
    colourinterface?: number;
    colourType?: number;
    firstColor?: number;
    secondColor?: number;
    overlayOpacity?: number;
    hairColor?: number
    hairHighlight?: number
    eyeColor?: number
};
 
type THeadOverlay = {
	[key: string]: HeadOverlayData
}

THairColor

type THairColor = {
	highlight: number
	color: number
}

THeadBlend

type THeadBlend  = {
	skinSecond: number
	skinThird: number
	shapeSecond: number
	shapeThird: number
	shapeFirst: number
	hasParent: boolean
	skinMix: number
	shapeMix: number
	thirdMix: number
	skinFirst: number
}

TTattooEntry

type TTattooEntry = {
    label: string
    hash: number
    zone: number
    dlc?: string
}

TValue

type TValue = {
	index: number
	value: number
	id?: string
    texture?: number
}