diff --git a/src/armory/controllers/CharacterController.ts b/src/armory/controllers/CharacterController.ts index 722a4b1..2c91d27 100644 --- a/src/armory/controllers/CharacterController.ts +++ b/src/armory/controllers/CharacterController.ts @@ -16,6 +16,7 @@ interface ICharacterData { hairStyle: number; hairColor: number; facialStyle: number; + playerFlags: number; online: number; } @@ -143,6 +144,7 @@ export class CharacterController { race: charData.race, gender: charData.gender, class: charData.class, + flags: charData.playerFlags, characterModelItems: await this.getModelViewerItems(equipmentData, charData.class), customizationOptions: customization, equipment, @@ -198,7 +200,7 @@ export class CharacterController { private async getCharacterData(realm: string, charName: string): Promise { const [rows, fields] = await this.armory.getCharactersDb(realm).query(` - SELECT guid, name, race, class, gender, level, skin, face, hairStyle, hairColor, facialStyle, online + SELECT guid, name, race, class, gender, level, skin, face, hairStyle, hairColor, facialStyle, playerFlags, online FROM characters WHERE LOWER(name) = LOWER(?) `, [charName]); diff --git a/static/character.html b/static/character.html index 2850fd2..c04b4b6 100644 --- a/static/character.html +++ b/static/character.html @@ -65,6 +65,11 @@ }; const genders = ["male", "female"]; + const hideHelm = (charData.flags & 0x0400) === 0x0400; + $("#cb-hide-helmet").prop("checked", hideHelm); + const hideCloak = (charData.flags & 0x0800) === 0x0800; + $("#cb-hide-cloak").prop("checked", hideCloak); + const characterModel = { type: ZamModelViewer.WOW, contentPath: "/data/", @@ -80,7 +85,7 @@ sheathOff: -1, }, cls: charData.class, - items: charData.characterModelItems, + items: charData.characterModelItems.filter(item => !((item[0] === 1 && hideHelm) || (item[0] === 16 && hideCloak))), models: { type: ZamModelViewer.Wow.Types.CHARACTER, id: `${races[charData.race]}${genders[charData.gender]}`,