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
}