diff --git a/packages/api/src/nitro/avatar/enum/AvatarEditorFigureCategory.ts b/packages/api/src/nitro/avatar/enum/AvatarEditorFigureCategory.ts index 02e1801..b5043c0 100644 --- a/packages/api/src/nitro/avatar/enum/AvatarEditorFigureCategory.ts +++ b/packages/api/src/nitro/avatar/enum/AvatarEditorFigureCategory.ts @@ -7,4 +7,5 @@ public static HOTLOOKS: string = 'hotlooks'; public static WARDROBE: string = 'wardrobe'; public static EFFECTS: string = 'effects'; + public static PETS: string = 'pets'; } \ No newline at end of file diff --git a/packages/api/src/nitro/avatar/enum/AvatarFigurePartType.ts b/packages/api/src/nitro/avatar/enum/AvatarFigurePartType.ts index 9fed7d4..214f285 100644 --- a/packages/api/src/nitro/avatar/enum/AvatarFigurePartType.ts +++ b/packages/api/src/nitro/avatar/enum/AvatarFigurePartType.ts @@ -31,5 +31,6 @@ public static RIGHT_HAND_ITEM: string = 'ri'; public static LEFT_COAT_SLEEVE: string = 'lc'; public static RIGHT_COAT_SLEEVE: string = 'rc'; - public static FIGURE_SETS: string[] = [ AvatarFigurePartType.SHOES, AvatarFigurePartType.LEGS, AvatarFigurePartType.CHEST, AvatarFigurePartType.WAIST_ACCESSORY, AvatarFigurePartType.CHEST_ACCESSORY, AvatarFigurePartType.HEAD, AvatarFigurePartType.HAIR, AvatarFigurePartType.FACE_ACCESSORY, AvatarFigurePartType.EYE_ACCESSORY, AvatarFigurePartType.HEAD_ACCESSORY, AvatarFigurePartType.HEAD_ACCESSORY_EXTRA, AvatarFigurePartType.COAT_CHEST, AvatarFigurePartType.CHEST_PRINT ]; + public static PET: string = 'pt'; + public static FIGURE_SETS: string[] = [ AvatarFigurePartType.SHOES, AvatarFigurePartType.LEGS, AvatarFigurePartType.CHEST, AvatarFigurePartType.WAIST_ACCESSORY, AvatarFigurePartType.CHEST_ACCESSORY, AvatarFigurePartType.HEAD, AvatarFigurePartType.HAIR, AvatarFigurePartType.FACE_ACCESSORY, AvatarFigurePartType.EYE_ACCESSORY, AvatarFigurePartType.HEAD_ACCESSORY, AvatarFigurePartType.HEAD_ACCESSORY_EXTRA, AvatarFigurePartType.COAT_CHEST, AvatarFigurePartType.CHEST_PRINT, AvatarFigurePartType.PET ]; } diff --git a/packages/avatar/src/data/HabboAvatarAnimations.ts b/packages/avatar/src/data/HabboAvatarAnimations.ts index 64710aa..867ff9e 100644 --- a/packages/avatar/src/data/HabboAvatarAnimations.ts +++ b/packages/avatar/src/data/HabboAvatarAnimations.ts @@ -210,6 +210,45 @@ export const HabboAvatarAnimations = { { 'number': 6, 'assetPartDefinition': 'std' }, { 'number': 7, 'assetPartDefinition': 'std' } ] + }, + { + 'setType': 'pt', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'std' }, + { 'number': 1, 'assetPartDefinition': 'std' }, + { 'number': 2, 'assetPartDefinition': 'std' }, + { 'number': 3, 'assetPartDefinition': 'std' }, + { 'number': 4, 'assetPartDefinition': 'std' }, + { 'number': 5, 'assetPartDefinition': 'std' }, + { 'number': 6, 'assetPartDefinition': 'std' }, + { 'number': 7, 'assetPartDefinition': 'std' } + ] + }, + { + 'setType': 'ptl', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'std' }, + { 'number': 1, 'assetPartDefinition': 'std' }, + { 'number': 2, 'assetPartDefinition': 'std' }, + { 'number': 3, 'assetPartDefinition': 'std' }, + { 'number': 4, 'assetPartDefinition': 'std' }, + { 'number': 5, 'assetPartDefinition': 'std' }, + { 'number': 6, 'assetPartDefinition': 'std' }, + { 'number': 7, 'assetPartDefinition': 'std' } + ] + }, + { + 'setType': 'ptr', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'std' }, + { 'number': 1, 'assetPartDefinition': 'std' }, + { 'number': 2, 'assetPartDefinition': 'std' }, + { 'number': 3, 'assetPartDefinition': 'std' }, + { 'number': 4, 'assetPartDefinition': 'std' }, + { 'number': 5, 'assetPartDefinition': 'std' }, + { 'number': 6, 'assetPartDefinition': 'std' }, + { 'number': 7, 'assetPartDefinition': 'std' } + ] } ] }, @@ -332,6 +371,45 @@ export const HabboAvatarAnimations = { { 'number': 6, 'assetPartDefinition': 'std' }, { 'number': 7, 'assetPartDefinition': 'std' } ] + }, + { + 'setType': 'pt', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'sit' }, + { 'number': 1, 'assetPartDefinition': 'sit' }, + { 'number': 2, 'assetPartDefinition': 'sit' }, + { 'number': 3, 'assetPartDefinition': 'sit' }, + { 'number': 4, 'assetPartDefinition': 'sit' }, + { 'number': 5, 'assetPartDefinition': 'sit' }, + { 'number': 6, 'assetPartDefinition': 'sit' }, + { 'number': 7, 'assetPartDefinition': 'sit' } + ] + }, + { + 'setType': 'ptl', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'sit' }, + { 'number': 1, 'assetPartDefinition': 'sit' }, + { 'number': 2, 'assetPartDefinition': 'sit' }, + { 'number': 3, 'assetPartDefinition': 'sit' }, + { 'number': 4, 'assetPartDefinition': 'sit' }, + { 'number': 5, 'assetPartDefinition': 'sit' }, + { 'number': 6, 'assetPartDefinition': 'sit' }, + { 'number': 7, 'assetPartDefinition': 'sit' } + ] + }, + { + 'setType': 'ptr', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'sit' }, + { 'number': 1, 'assetPartDefinition': 'sit' }, + { 'number': 2, 'assetPartDefinition': 'sit' }, + { 'number': 3, 'assetPartDefinition': 'sit' }, + { 'number': 4, 'assetPartDefinition': 'sit' }, + { 'number': 5, 'assetPartDefinition': 'sit' }, + { 'number': 6, 'assetPartDefinition': 'sit' }, + { 'number': 7, 'assetPartDefinition': 'sit' } + ] } ] }, @@ -467,6 +545,45 @@ export const HabboAvatarAnimations = { { 'number': 6, 'assetPartDefinition': 'lay' }, { 'number': 7, 'assetPartDefinition': 'lay' } ] + }, + { + 'setType': 'pt', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'lay' }, + { 'number': 1, 'assetPartDefinition': 'lay' }, + { 'number': 2, 'assetPartDefinition': 'lay' }, + { 'number': 3, 'assetPartDefinition': 'lay' }, + { 'number': 4, 'assetPartDefinition': 'lay' }, + { 'number': 5, 'assetPartDefinition': 'lay' }, + { 'number': 6, 'assetPartDefinition': 'lay' }, + { 'number': 7, 'assetPartDefinition': 'lay' } + ] + }, + { + 'setType': 'ptl', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'lay' }, + { 'number': 1, 'assetPartDefinition': 'lay' }, + { 'number': 2, 'assetPartDefinition': 'lay' }, + { 'number': 3, 'assetPartDefinition': 'lay' }, + { 'number': 4, 'assetPartDefinition': 'lay' }, + { 'number': 5, 'assetPartDefinition': 'lay' }, + { 'number': 6, 'assetPartDefinition': 'lay' }, + { 'number': 7, 'assetPartDefinition': 'lay' } + ] + }, + { + 'setType': 'ptr', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'lay' }, + { 'number': 1, 'assetPartDefinition': 'lay' }, + { 'number': 2, 'assetPartDefinition': 'lay' }, + { 'number': 3, 'assetPartDefinition': 'lay' }, + { 'number': 4, 'assetPartDefinition': 'lay' }, + { 'number': 5, 'assetPartDefinition': 'lay' }, + { 'number': 6, 'assetPartDefinition': 'lay' }, + { 'number': 7, 'assetPartDefinition': 'lay' } + ] } ] }, @@ -766,6 +883,33 @@ export const HabboAvatarAnimations = { 'assetPartDefinition': 'wlk' } ] + }, + { + 'setType': 'pt', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'wlk' }, + { 'number': 1, 'assetPartDefinition': 'wlk' }, + { 'number': 2, 'assetPartDefinition': 'wlk' }, + { 'number': 3, 'assetPartDefinition': 'wlk' } + ] + }, + { + 'setType': 'ptl', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'wlk' }, + { 'number': 1, 'assetPartDefinition': 'wlk' }, + { 'number': 2, 'assetPartDefinition': 'wlk' }, + { 'number': 3, 'assetPartDefinition': 'wlk' } + ] + }, + { + 'setType': 'ptr', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'wlk' }, + { 'number': 1, 'assetPartDefinition': 'wlk' }, + { 'number': 2, 'assetPartDefinition': 'wlk' }, + { 'number': 3, 'assetPartDefinition': 'wlk' } + ] } ] }, @@ -844,6 +988,27 @@ export const HabboAvatarAnimations = { 'assetPartDefinition': 'wav' } ] + }, + { + 'setType': 'pt', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'wav' }, + { 'number': 1, 'assetPartDefinition': 'wav' } + ] + }, + { + 'setType': 'ptl', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'wav' }, + { 'number': 1, 'assetPartDefinition': 'wav' } + ] + }, + { + 'setType': 'ptr', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'wav' }, + { 'number': 1, 'assetPartDefinition': 'wav' } + ] } ] }, @@ -1056,6 +1221,24 @@ export const HabboAvatarAnimations = { 'repeats': 10 } ] + }, + { + 'setType': 'pt', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'std' } + ] + }, + { + 'setType': 'ptl', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'std' } + ] + }, + { + 'setType': 'ptr', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'std' } + ] } ] }, @@ -1116,6 +1299,24 @@ export const HabboAvatarAnimations = { 'assetPartDefinition': 'sml' } ] + }, + { + 'setType': 'pt', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'drk' } + ] + }, + { + 'setType': 'ptl', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'drk' } + ] + }, + { + 'setType': 'ptr', + 'frames': [ + { 'number': 0, 'assetPartDefinition': 'drk' } + ] } ], 'offsets': { diff --git a/packages/avatar/src/data/HabboAvatarGeometry.ts b/packages/avatar/src/data/HabboAvatarGeometry.ts index 1fba6bc..64d48d4 100644 --- a/packages/avatar/src/data/HabboAvatarGeometry.ts +++ b/packages/avatar/src/data/HabboAvatarGeometry.ts @@ -267,6 +267,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'pt', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.08, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -360,6 +371,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptl', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -413,6 +435,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptr', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -666,6 +699,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'pt', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.08, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -759,6 +803,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptl', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -812,6 +867,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptr', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -1044,6 +1110,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'pt', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.08, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -1137,6 +1214,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptl', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -1190,6 +1278,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptr', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -1422,6 +1521,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'pt', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.08, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -1515,6 +1625,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptl', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, @@ -1568,6 +1689,17 @@ export const HabboAvatarGeometry = { 'ny': 0, 'nz': -1, 'double': false + }, + { + 'id': 'ptr', + 'x': 0, + 'y': 0, + 'z': 0, + 'radius': 0.03, + 'nx': 0, + 'ny': 0, + 'nz': -1, + 'double': false } ] }, diff --git a/packages/avatar/src/data/HabboAvatarPartSets.ts b/packages/avatar/src/data/HabboAvatarPartSets.ts index e17a4a0..4e91647 100644 --- a/packages/avatar/src/data/HabboAvatarPartSets.ts +++ b/packages/avatar/src/data/HabboAvatarPartSets.ts @@ -103,6 +103,17 @@ export const HabboAvatarPartSets = { }, { 'setType': 'he' + }, + { + 'setType': 'pt' + }, + { + 'setType': 'ptl', + 'flippedSetType': 'ptr' + }, + { + 'setType': 'ptr', + 'flippedSetType': 'ptl' } ], 'activePartSets': [ @@ -192,6 +203,15 @@ export const HabboAvatarPartSets = { }, { 'setType': 'he' + }, + { + 'setType': 'pt' + }, + { + 'setType': 'ptl' + }, + { + 'setType': 'ptr' } ] },