diff --git a/public/ui-config.json.example b/public/ui-config.json.example index 210f5de..caf1533 100644 --- a/public/ui-config.json.example +++ b/public/ui-config.json.example @@ -64,6 +64,1107 @@ { "clubLevel": 2, "tileSize": 354, "name": "7" }, { "clubLevel": 2, "tileSize": 888, "name": "8" }, { "clubLevel": 2, "tileSize": 926, "name": "9" } + ], + "backgrounds.data": [{ + "backgroundId": 0, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 1, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 2, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 3, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 4, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 5, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 6, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 7, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 8, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 9, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 10, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 11, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 12, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 13, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 14, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 15, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 16, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 17, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 18, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 19, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 20, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 21, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 22, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 23, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 24, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 25, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 26, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 27, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 28, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 29, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 30, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 31, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 32, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 33, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 34, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 35, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 36, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 37, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 38, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 39, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 40, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 41, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 42, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 43, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 44, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 45, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 46, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 47, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 48, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 49, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 50, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 51, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 52, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 53, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 54, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 55, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 56, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 57, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 58, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 59, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 60, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 61, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 62, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 63, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 64, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 65, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 66, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 67, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 68, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 69, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 70, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 71, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 72, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 73, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 74, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 75, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 76, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 77, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 78, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 79, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 80, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 81, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 82, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 83, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 84, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 85, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 86, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 87, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 88, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 89, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 90, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 91, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 92, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 93, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 94, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 95, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 96, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 97, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 98, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 99, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 100, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 101, + "minRank": 2, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "backgroundId": 102, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 103, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 104, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 105, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 106, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 107, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 108, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 109, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 110, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 111, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 112, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 113, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 114, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 115, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 116, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 117, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 118, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 119, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 120, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 121, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 122, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 123, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 124, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 125, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 126, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 127, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 128, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 129, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 130, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 131, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 132, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 133, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 134, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 135, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 136, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 137, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 138, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 139, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 140, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 141, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 142, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 143, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 144, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 145, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 146, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 147, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 148, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 149, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 150, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 151, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 152, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 153, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 154, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 155, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 156, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 157, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 158, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 159, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 160, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 161, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 162, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 163, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 164, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 165, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 166, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 167, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 168, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 169, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 170, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 171, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 172, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 173, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 174, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 175, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 176, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 177, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 178, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 179, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 180, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 181, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 182, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 183, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 184, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 185, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 186, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "backgroundId": 187, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + } + ], + "stands.data": [{ + "standId": 0, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 1, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 2, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 3, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 4, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 5, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 6, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 7, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 8, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 9, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 10, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 11, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 12, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 13, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 14, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 15, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "standId": 16, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "standId": 17, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "standId": 18, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "standId": 19, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "standId": 20, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "standId": 21, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + } + ], + "overlays.data": [{ + "overlayId": 0, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "overlayId": 1, + "minRank": 0, + "isHcOnly": false, + "isAmbassadorOnly": false + }, { + "overlayId": 2, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "overlayId": 3, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "overlayId": 4, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "overlayId": 5, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "overlayId": 6, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "overlayId": 7, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + }, { + "overlayId": 8, + "minRank": 0, + "isHcOnly": true, + "isAmbassadorOnly": false + } ], "hotelview": { "room.pool": "", diff --git a/src/App.scss b/src/App.scss index bd107ef..9b05e7b 100644 --- a/src/App.scss +++ b/src/App.scss @@ -24,6 +24,9 @@ $achievement-height: 405px; $avatar-editor-width: 520px; $avatar-editor-height: 553px; +$backgrounds-width: 534px; +$backgrounds-height: 418px; + $catalog-width: 650px; $catalog-height: 480px; diff --git a/src/api/room/widgets/AvatarInfoUser.ts b/src/api/room/widgets/AvatarInfoUser.ts index 270bfbd..9872da9 100644 --- a/src/api/room/widgets/AvatarInfoUser.ts +++ b/src/api/room/widgets/AvatarInfoUser.ts @@ -13,6 +13,9 @@ export class AvatarInfoUser implements IAvatarInfo public name: string = ''; public motto: string = ''; public achievementScore: number = 0; + public backgroundId: number = 0; + public standId: number = 0; + public overlayId: number = 0; public webID: number = 0; public xp: number = 0; public userType: number = -1; @@ -39,7 +42,7 @@ export class AvatarInfoUser implements IAvatarInfo public targetRoomControllerLevel: number = 0; public isAmbassador: boolean = false; - constructor(public readonly type: string) + constructor(public readonly type: string) {} public get isOwnUser(): boolean diff --git a/src/api/room/widgets/AvatarInfoUtilities.ts b/src/api/room/widgets/AvatarInfoUtilities.ts index 7c48944..3cb631f 100644 --- a/src/api/room/widgets/AvatarInfoUtilities.ts +++ b/src/api/room/widgets/AvatarInfoUtilities.ts @@ -183,6 +183,11 @@ export class AvatarInfoUtilities userInfo.isSpectatorMode = roomSession.isSpectator; userInfo.name = userData.name; userInfo.motto = userData.custom; + + userInfo.backgroundId = userData.background; + userInfo.standId = userData.stand; + userInfo.overlayId = userData.overlay; + userInfo.achievementScore = userData.activityPoints; userInfo.webID = userData.webID; userInfo.roomIndex = userData.roomIndex; diff --git a/src/assets/images/backgrounds/background/bg_0.png b/src/assets/images/backgrounds/background/bg_0.png new file mode 100644 index 0000000..dc80b28 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_0.png differ diff --git a/src/assets/images/backgrounds/background/bg_1.gif b/src/assets/images/backgrounds/background/bg_1.gif new file mode 100644 index 0000000..5a07f4f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_1.gif differ diff --git a/src/assets/images/backgrounds/background/bg_1.png b/src/assets/images/backgrounds/background/bg_1.png new file mode 100644 index 0000000..5b2fc5a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_1.png differ diff --git a/src/assets/images/backgrounds/background/bg_10.png b/src/assets/images/backgrounds/background/bg_10.png new file mode 100644 index 0000000..80764d4 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_10.png differ diff --git a/src/assets/images/backgrounds/background/bg_100.gif b/src/assets/images/backgrounds/background/bg_100.gif new file mode 100644 index 0000000..8ad3ab7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_100.gif differ diff --git a/src/assets/images/backgrounds/background/bg_101.png b/src/assets/images/backgrounds/background/bg_101.png new file mode 100644 index 0000000..22d8307 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_101.png differ diff --git a/src/assets/images/backgrounds/background/bg_102.gif b/src/assets/images/backgrounds/background/bg_102.gif new file mode 100644 index 0000000..e5ee68a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_102.gif differ diff --git a/src/assets/images/backgrounds/background/bg_103.gif b/src/assets/images/backgrounds/background/bg_103.gif new file mode 100644 index 0000000..d0645c1 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_103.gif differ diff --git a/src/assets/images/backgrounds/background/bg_104.gif b/src/assets/images/backgrounds/background/bg_104.gif new file mode 100644 index 0000000..8198d2f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_104.gif differ diff --git a/src/assets/images/backgrounds/background/bg_105.gif b/src/assets/images/backgrounds/background/bg_105.gif new file mode 100644 index 0000000..508d38d Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_105.gif differ diff --git a/src/assets/images/backgrounds/background/bg_106.gif b/src/assets/images/backgrounds/background/bg_106.gif new file mode 100644 index 0000000..1a2f8ab Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_106.gif differ diff --git a/src/assets/images/backgrounds/background/bg_107.gif b/src/assets/images/backgrounds/background/bg_107.gif new file mode 100644 index 0000000..2f24a27 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_107.gif differ diff --git a/src/assets/images/backgrounds/background/bg_108.gif b/src/assets/images/backgrounds/background/bg_108.gif new file mode 100644 index 0000000..b996f34 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_108.gif differ diff --git a/src/assets/images/backgrounds/background/bg_109.gif b/src/assets/images/backgrounds/background/bg_109.gif new file mode 100644 index 0000000..23db9e6 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_109.gif differ diff --git a/src/assets/images/backgrounds/background/bg_11.png b/src/assets/images/backgrounds/background/bg_11.png new file mode 100644 index 0000000..ebcc2a7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_11.png differ diff --git a/src/assets/images/backgrounds/background/bg_110.gif b/src/assets/images/backgrounds/background/bg_110.gif new file mode 100644 index 0000000..fed52bb Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_110.gif differ diff --git a/src/assets/images/backgrounds/background/bg_111.gif b/src/assets/images/backgrounds/background/bg_111.gif new file mode 100644 index 0000000..fa94d51 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_111.gif differ diff --git a/src/assets/images/backgrounds/background/bg_112.gif b/src/assets/images/backgrounds/background/bg_112.gif new file mode 100644 index 0000000..974a1ff Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_112.gif differ diff --git a/src/assets/images/backgrounds/background/bg_113.gif b/src/assets/images/backgrounds/background/bg_113.gif new file mode 100644 index 0000000..f63d029 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_113.gif differ diff --git a/src/assets/images/backgrounds/background/bg_114.gif b/src/assets/images/backgrounds/background/bg_114.gif new file mode 100644 index 0000000..024c9b4 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_114.gif differ diff --git a/src/assets/images/backgrounds/background/bg_115.gif b/src/assets/images/backgrounds/background/bg_115.gif new file mode 100644 index 0000000..6f0cb29 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_115.gif differ diff --git a/src/assets/images/backgrounds/background/bg_116.gif b/src/assets/images/backgrounds/background/bg_116.gif new file mode 100644 index 0000000..02b464e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_116.gif differ diff --git a/src/assets/images/backgrounds/background/bg_117.gif b/src/assets/images/backgrounds/background/bg_117.gif new file mode 100644 index 0000000..2c6a4a6 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_117.gif differ diff --git a/src/assets/images/backgrounds/background/bg_118.gif b/src/assets/images/backgrounds/background/bg_118.gif new file mode 100644 index 0000000..5b7d61f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_118.gif differ diff --git a/src/assets/images/backgrounds/background/bg_119.gif b/src/assets/images/backgrounds/background/bg_119.gif new file mode 100644 index 0000000..52c4a2c Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_119.gif differ diff --git a/src/assets/images/backgrounds/background/bg_12.png b/src/assets/images/backgrounds/background/bg_12.png new file mode 100644 index 0000000..6876efd Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_12.png differ diff --git a/src/assets/images/backgrounds/background/bg_120.gif b/src/assets/images/backgrounds/background/bg_120.gif new file mode 100644 index 0000000..4d2a314 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_120.gif differ diff --git a/src/assets/images/backgrounds/background/bg_121.gif b/src/assets/images/backgrounds/background/bg_121.gif new file mode 100644 index 0000000..f5bc596 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_121.gif differ diff --git a/src/assets/images/backgrounds/background/bg_122.gif b/src/assets/images/backgrounds/background/bg_122.gif new file mode 100644 index 0000000..a625ecc Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_122.gif differ diff --git a/src/assets/images/backgrounds/background/bg_123.gif b/src/assets/images/backgrounds/background/bg_123.gif new file mode 100644 index 0000000..adda1dc Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_123.gif differ diff --git a/src/assets/images/backgrounds/background/bg_124.gif b/src/assets/images/backgrounds/background/bg_124.gif new file mode 100644 index 0000000..551af32 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_124.gif differ diff --git a/src/assets/images/backgrounds/background/bg_125.gif b/src/assets/images/backgrounds/background/bg_125.gif new file mode 100644 index 0000000..629010b Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_125.gif differ diff --git a/src/assets/images/backgrounds/background/bg_126.gif b/src/assets/images/backgrounds/background/bg_126.gif new file mode 100644 index 0000000..c799c79 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_126.gif differ diff --git a/src/assets/images/backgrounds/background/bg_127.gif b/src/assets/images/backgrounds/background/bg_127.gif new file mode 100644 index 0000000..885ce78 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_127.gif differ diff --git a/src/assets/images/backgrounds/background/bg_128.gif b/src/assets/images/backgrounds/background/bg_128.gif new file mode 100644 index 0000000..7603a4a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_128.gif differ diff --git a/src/assets/images/backgrounds/background/bg_129.gif b/src/assets/images/backgrounds/background/bg_129.gif new file mode 100644 index 0000000..cd7c75c Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_129.gif differ diff --git a/src/assets/images/backgrounds/background/bg_13.png b/src/assets/images/backgrounds/background/bg_13.png new file mode 100644 index 0000000..d57057e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_13.png differ diff --git a/src/assets/images/backgrounds/background/bg_130.gif b/src/assets/images/backgrounds/background/bg_130.gif new file mode 100644 index 0000000..54e01ce Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_130.gif differ diff --git a/src/assets/images/backgrounds/background/bg_131.gif b/src/assets/images/backgrounds/background/bg_131.gif new file mode 100644 index 0000000..19102c8 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_131.gif differ diff --git a/src/assets/images/backgrounds/background/bg_132.gif b/src/assets/images/backgrounds/background/bg_132.gif new file mode 100644 index 0000000..492c05d Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_132.gif differ diff --git a/src/assets/images/backgrounds/background/bg_133.gif b/src/assets/images/backgrounds/background/bg_133.gif new file mode 100644 index 0000000..5a03310 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_133.gif differ diff --git a/src/assets/images/backgrounds/background/bg_134.gif b/src/assets/images/backgrounds/background/bg_134.gif new file mode 100644 index 0000000..13a0711 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_134.gif differ diff --git a/src/assets/images/backgrounds/background/bg_135.gif b/src/assets/images/backgrounds/background/bg_135.gif new file mode 100644 index 0000000..2f24a27 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_135.gif differ diff --git a/src/assets/images/backgrounds/background/bg_136.gif b/src/assets/images/backgrounds/background/bg_136.gif new file mode 100644 index 0000000..3d4d8f7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_136.gif differ diff --git a/src/assets/images/backgrounds/background/bg_137.gif b/src/assets/images/backgrounds/background/bg_137.gif new file mode 100644 index 0000000..80cbbeb Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_137.gif differ diff --git a/src/assets/images/backgrounds/background/bg_138.gif b/src/assets/images/backgrounds/background/bg_138.gif new file mode 100644 index 0000000..0c7b67f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_138.gif differ diff --git a/src/assets/images/backgrounds/background/bg_139.gif b/src/assets/images/backgrounds/background/bg_139.gif new file mode 100644 index 0000000..6c76b2f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_139.gif differ diff --git a/src/assets/images/backgrounds/background/bg_14.png b/src/assets/images/backgrounds/background/bg_14.png new file mode 100644 index 0000000..5e8debc Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_14.png differ diff --git a/src/assets/images/backgrounds/background/bg_140.gif b/src/assets/images/backgrounds/background/bg_140.gif new file mode 100644 index 0000000..bce3709 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_140.gif differ diff --git a/src/assets/images/backgrounds/background/bg_141.gif b/src/assets/images/backgrounds/background/bg_141.gif new file mode 100644 index 0000000..05a7ad9 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_141.gif differ diff --git a/src/assets/images/backgrounds/background/bg_142.gif b/src/assets/images/backgrounds/background/bg_142.gif new file mode 100644 index 0000000..aeef99c Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_142.gif differ diff --git a/src/assets/images/backgrounds/background/bg_143.gif b/src/assets/images/backgrounds/background/bg_143.gif new file mode 100644 index 0000000..5c1e597 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_143.gif differ diff --git a/src/assets/images/backgrounds/background/bg_144.gif b/src/assets/images/backgrounds/background/bg_144.gif new file mode 100644 index 0000000..a563283 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_144.gif differ diff --git a/src/assets/images/backgrounds/background/bg_145.gif b/src/assets/images/backgrounds/background/bg_145.gif new file mode 100644 index 0000000..2b6e9c1 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_145.gif differ diff --git a/src/assets/images/backgrounds/background/bg_146.gif b/src/assets/images/backgrounds/background/bg_146.gif new file mode 100644 index 0000000..ccc0264 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_146.gif differ diff --git a/src/assets/images/backgrounds/background/bg_147.gif b/src/assets/images/backgrounds/background/bg_147.gif new file mode 100644 index 0000000..9ea76f7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_147.gif differ diff --git a/src/assets/images/backgrounds/background/bg_148.gif b/src/assets/images/backgrounds/background/bg_148.gif new file mode 100644 index 0000000..2974315 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_148.gif differ diff --git a/src/assets/images/backgrounds/background/bg_149.gif b/src/assets/images/backgrounds/background/bg_149.gif new file mode 100644 index 0000000..7520899 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_149.gif differ diff --git a/src/assets/images/backgrounds/background/bg_15.png b/src/assets/images/backgrounds/background/bg_15.png new file mode 100644 index 0000000..a9ec769 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_15.png differ diff --git a/src/assets/images/backgrounds/background/bg_150.gif b/src/assets/images/backgrounds/background/bg_150.gif new file mode 100644 index 0000000..f0f50fa Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_150.gif differ diff --git a/src/assets/images/backgrounds/background/bg_151.gif b/src/assets/images/backgrounds/background/bg_151.gif new file mode 100644 index 0000000..77c150f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_151.gif differ diff --git a/src/assets/images/backgrounds/background/bg_152.gif b/src/assets/images/backgrounds/background/bg_152.gif new file mode 100644 index 0000000..1ded113 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_152.gif differ diff --git a/src/assets/images/backgrounds/background/bg_153.gif b/src/assets/images/backgrounds/background/bg_153.gif new file mode 100644 index 0000000..19b9ecb Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_153.gif differ diff --git a/src/assets/images/backgrounds/background/bg_154.gif b/src/assets/images/backgrounds/background/bg_154.gif new file mode 100644 index 0000000..38338a0 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_154.gif differ diff --git a/src/assets/images/backgrounds/background/bg_155.gif b/src/assets/images/backgrounds/background/bg_155.gif new file mode 100644 index 0000000..8770d24 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_155.gif differ diff --git a/src/assets/images/backgrounds/background/bg_156.gif b/src/assets/images/backgrounds/background/bg_156.gif new file mode 100644 index 0000000..614d7b2 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_156.gif differ diff --git a/src/assets/images/backgrounds/background/bg_157.gif b/src/assets/images/backgrounds/background/bg_157.gif new file mode 100644 index 0000000..707a559 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_157.gif differ diff --git a/src/assets/images/backgrounds/background/bg_158.gif b/src/assets/images/backgrounds/background/bg_158.gif new file mode 100644 index 0000000..ea576ca Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_158.gif differ diff --git a/src/assets/images/backgrounds/background/bg_159.gif b/src/assets/images/backgrounds/background/bg_159.gif new file mode 100644 index 0000000..d7b28fb Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_159.gif differ diff --git a/src/assets/images/backgrounds/background/bg_16.png b/src/assets/images/backgrounds/background/bg_16.png new file mode 100644 index 0000000..0afb1ed Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_16.png differ diff --git a/src/assets/images/backgrounds/background/bg_160.gif b/src/assets/images/backgrounds/background/bg_160.gif new file mode 100644 index 0000000..d9824e8 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_160.gif differ diff --git a/src/assets/images/backgrounds/background/bg_161.gif b/src/assets/images/backgrounds/background/bg_161.gif new file mode 100644 index 0000000..91b9518 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_161.gif differ diff --git a/src/assets/images/backgrounds/background/bg_162.gif b/src/assets/images/backgrounds/background/bg_162.gif new file mode 100644 index 0000000..6029e0e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_162.gif differ diff --git a/src/assets/images/backgrounds/background/bg_163.gif b/src/assets/images/backgrounds/background/bg_163.gif new file mode 100644 index 0000000..8c59781 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_163.gif differ diff --git a/src/assets/images/backgrounds/background/bg_164.gif b/src/assets/images/backgrounds/background/bg_164.gif new file mode 100644 index 0000000..b6804ab Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_164.gif differ diff --git a/src/assets/images/backgrounds/background/bg_165.gif b/src/assets/images/backgrounds/background/bg_165.gif new file mode 100644 index 0000000..d01da99 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_165.gif differ diff --git a/src/assets/images/backgrounds/background/bg_166.gif b/src/assets/images/backgrounds/background/bg_166.gif new file mode 100644 index 0000000..ce7f415 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_166.gif differ diff --git a/src/assets/images/backgrounds/background/bg_167.gif b/src/assets/images/backgrounds/background/bg_167.gif new file mode 100644 index 0000000..8068696 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_167.gif differ diff --git a/src/assets/images/backgrounds/background/bg_168.gif b/src/assets/images/backgrounds/background/bg_168.gif new file mode 100644 index 0000000..5de9226 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_168.gif differ diff --git a/src/assets/images/backgrounds/background/bg_169.gif b/src/assets/images/backgrounds/background/bg_169.gif new file mode 100644 index 0000000..f344b74 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_169.gif differ diff --git a/src/assets/images/backgrounds/background/bg_17.png b/src/assets/images/backgrounds/background/bg_17.png new file mode 100644 index 0000000..3d593e4 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_17.png differ diff --git a/src/assets/images/backgrounds/background/bg_170.png b/src/assets/images/backgrounds/background/bg_170.png new file mode 100644 index 0000000..1880697 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_170.png differ diff --git a/src/assets/images/backgrounds/background/bg_171.png b/src/assets/images/backgrounds/background/bg_171.png new file mode 100644 index 0000000..f1c1767 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_171.png differ diff --git a/src/assets/images/backgrounds/background/bg_172.png b/src/assets/images/backgrounds/background/bg_172.png new file mode 100644 index 0000000..6de0de0 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_172.png differ diff --git a/src/assets/images/backgrounds/background/bg_173.png b/src/assets/images/backgrounds/background/bg_173.png new file mode 100644 index 0000000..ee36cc7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_173.png differ diff --git a/src/assets/images/backgrounds/background/bg_174.png b/src/assets/images/backgrounds/background/bg_174.png new file mode 100644 index 0000000..920270b Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_174.png differ diff --git a/src/assets/images/backgrounds/background/bg_175.png b/src/assets/images/backgrounds/background/bg_175.png new file mode 100644 index 0000000..5f2305c Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_175.png differ diff --git a/src/assets/images/backgrounds/background/bg_176.png b/src/assets/images/backgrounds/background/bg_176.png new file mode 100644 index 0000000..f66effc Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_176.png differ diff --git a/src/assets/images/backgrounds/background/bg_177.gif b/src/assets/images/backgrounds/background/bg_177.gif new file mode 100644 index 0000000..7801fe0 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_177.gif differ diff --git a/src/assets/images/backgrounds/background/bg_178.png b/src/assets/images/backgrounds/background/bg_178.png new file mode 100644 index 0000000..287d1ed Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_178.png differ diff --git a/src/assets/images/backgrounds/background/bg_179.png b/src/assets/images/backgrounds/background/bg_179.png new file mode 100644 index 0000000..39266b3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_179.png differ diff --git a/src/assets/images/backgrounds/background/bg_18.png b/src/assets/images/backgrounds/background/bg_18.png new file mode 100644 index 0000000..81bab28 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_18.png differ diff --git a/src/assets/images/backgrounds/background/bg_180.png b/src/assets/images/backgrounds/background/bg_180.png new file mode 100644 index 0000000..4e1bb7a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_180.png differ diff --git a/src/assets/images/backgrounds/background/bg_181.png b/src/assets/images/backgrounds/background/bg_181.png new file mode 100644 index 0000000..62c6dd2 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_181.png differ diff --git a/src/assets/images/backgrounds/background/bg_182.png b/src/assets/images/backgrounds/background/bg_182.png new file mode 100644 index 0000000..81613a1 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_182.png differ diff --git a/src/assets/images/backgrounds/background/bg_183.png b/src/assets/images/backgrounds/background/bg_183.png new file mode 100644 index 0000000..1d839eb Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_183.png differ diff --git a/src/assets/images/backgrounds/background/bg_184.png b/src/assets/images/backgrounds/background/bg_184.png new file mode 100644 index 0000000..dd53887 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_184.png differ diff --git a/src/assets/images/backgrounds/background/bg_185.png b/src/assets/images/backgrounds/background/bg_185.png new file mode 100644 index 0000000..669819e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_185.png differ diff --git a/src/assets/images/backgrounds/background/bg_186.png b/src/assets/images/backgrounds/background/bg_186.png new file mode 100644 index 0000000..82709ad Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_186.png differ diff --git a/src/assets/images/backgrounds/background/bg_187.gif b/src/assets/images/backgrounds/background/bg_187.gif new file mode 100644 index 0000000..f782ce7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_187.gif differ diff --git a/src/assets/images/backgrounds/background/bg_19.png b/src/assets/images/backgrounds/background/bg_19.png new file mode 100644 index 0000000..10bb78c Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_19.png differ diff --git a/src/assets/images/backgrounds/background/bg_2.png b/src/assets/images/backgrounds/background/bg_2.png new file mode 100644 index 0000000..5b2fc5a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_2.png differ diff --git a/src/assets/images/backgrounds/background/bg_20.png b/src/assets/images/backgrounds/background/bg_20.png new file mode 100644 index 0000000..a60ef76 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_20.png differ diff --git a/src/assets/images/backgrounds/background/bg_21.png b/src/assets/images/backgrounds/background/bg_21.png new file mode 100644 index 0000000..8029ae0 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_21.png differ diff --git a/src/assets/images/backgrounds/background/bg_22.png b/src/assets/images/backgrounds/background/bg_22.png new file mode 100644 index 0000000..07a1915 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_22.png differ diff --git a/src/assets/images/backgrounds/background/bg_23.png b/src/assets/images/backgrounds/background/bg_23.png new file mode 100644 index 0000000..86dbad3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_23.png differ diff --git a/src/assets/images/backgrounds/background/bg_24.png b/src/assets/images/backgrounds/background/bg_24.png new file mode 100644 index 0000000..79278d1 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_24.png differ diff --git a/src/assets/images/backgrounds/background/bg_25.png b/src/assets/images/backgrounds/background/bg_25.png new file mode 100644 index 0000000..d8025a6 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_25.png differ diff --git a/src/assets/images/backgrounds/background/bg_26.png b/src/assets/images/backgrounds/background/bg_26.png new file mode 100644 index 0000000..60e0c37 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_26.png differ diff --git a/src/assets/images/backgrounds/background/bg_27.png b/src/assets/images/backgrounds/background/bg_27.png new file mode 100644 index 0000000..8e942a3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_27.png differ diff --git a/src/assets/images/backgrounds/background/bg_28.png b/src/assets/images/backgrounds/background/bg_28.png new file mode 100644 index 0000000..689c2b9 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_28.png differ diff --git a/src/assets/images/backgrounds/background/bg_29.png b/src/assets/images/backgrounds/background/bg_29.png new file mode 100644 index 0000000..3260464 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_29.png differ diff --git a/src/assets/images/backgrounds/background/bg_3.png b/src/assets/images/backgrounds/background/bg_3.png new file mode 100644 index 0000000..41034f7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_3.png differ diff --git a/src/assets/images/backgrounds/background/bg_30.png b/src/assets/images/backgrounds/background/bg_30.png new file mode 100644 index 0000000..3db687a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_30.png differ diff --git a/src/assets/images/backgrounds/background/bg_31.png b/src/assets/images/backgrounds/background/bg_31.png new file mode 100644 index 0000000..348b000 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_31.png differ diff --git a/src/assets/images/backgrounds/background/bg_32.png b/src/assets/images/backgrounds/background/bg_32.png new file mode 100644 index 0000000..7b11ec3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_32.png differ diff --git a/src/assets/images/backgrounds/background/bg_33.png b/src/assets/images/backgrounds/background/bg_33.png new file mode 100644 index 0000000..a5ba792 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_33.png differ diff --git a/src/assets/images/backgrounds/background/bg_34.png b/src/assets/images/backgrounds/background/bg_34.png new file mode 100644 index 0000000..c022119 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_34.png differ diff --git a/src/assets/images/backgrounds/background/bg_35.png b/src/assets/images/backgrounds/background/bg_35.png new file mode 100644 index 0000000..bacd72f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_35.png differ diff --git a/src/assets/images/backgrounds/background/bg_36.gif b/src/assets/images/backgrounds/background/bg_36.gif new file mode 100644 index 0000000..b30f769 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_36.gif differ diff --git a/src/assets/images/backgrounds/background/bg_36.png b/src/assets/images/backgrounds/background/bg_36.png new file mode 100644 index 0000000..572e661 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_36.png differ diff --git a/src/assets/images/backgrounds/background/bg_37.png b/src/assets/images/backgrounds/background/bg_37.png new file mode 100644 index 0000000..572e661 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_37.png differ diff --git a/src/assets/images/backgrounds/background/bg_38.png b/src/assets/images/backgrounds/background/bg_38.png new file mode 100644 index 0000000..e47c7ad Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_38.png differ diff --git a/src/assets/images/backgrounds/background/bg_39.png b/src/assets/images/backgrounds/background/bg_39.png new file mode 100644 index 0000000..a4f1999 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_39.png differ diff --git a/src/assets/images/backgrounds/background/bg_4.png b/src/assets/images/backgrounds/background/bg_4.png new file mode 100644 index 0000000..b150551 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_4.png differ diff --git a/src/assets/images/backgrounds/background/bg_40.png b/src/assets/images/backgrounds/background/bg_40.png new file mode 100644 index 0000000..1af2c2e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_40.png differ diff --git a/src/assets/images/backgrounds/background/bg_41.png b/src/assets/images/backgrounds/background/bg_41.png new file mode 100644 index 0000000..4201d9e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_41.png differ diff --git a/src/assets/images/backgrounds/background/bg_42.png b/src/assets/images/backgrounds/background/bg_42.png new file mode 100644 index 0000000..61057a3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_42.png differ diff --git a/src/assets/images/backgrounds/background/bg_43.png b/src/assets/images/backgrounds/background/bg_43.png new file mode 100644 index 0000000..5178123 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_43.png differ diff --git a/src/assets/images/backgrounds/background/bg_44.png b/src/assets/images/backgrounds/background/bg_44.png new file mode 100644 index 0000000..4f282a3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_44.png differ diff --git a/src/assets/images/backgrounds/background/bg_45.png b/src/assets/images/backgrounds/background/bg_45.png new file mode 100644 index 0000000..0cfec58 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_45.png differ diff --git a/src/assets/images/backgrounds/background/bg_46.png b/src/assets/images/backgrounds/background/bg_46.png new file mode 100644 index 0000000..0b37070 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_46.png differ diff --git a/src/assets/images/backgrounds/background/bg_47.png b/src/assets/images/backgrounds/background/bg_47.png new file mode 100644 index 0000000..c8192c6 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_47.png differ diff --git a/src/assets/images/backgrounds/background/bg_48.png b/src/assets/images/backgrounds/background/bg_48.png new file mode 100644 index 0000000..167ff55 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_48.png differ diff --git a/src/assets/images/backgrounds/background/bg_49.png b/src/assets/images/backgrounds/background/bg_49.png new file mode 100644 index 0000000..ec8e60f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_49.png differ diff --git a/src/assets/images/backgrounds/background/bg_5.png b/src/assets/images/backgrounds/background/bg_5.png new file mode 100644 index 0000000..f3a86fe Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_5.png differ diff --git a/src/assets/images/backgrounds/background/bg_50.gif b/src/assets/images/backgrounds/background/bg_50.gif new file mode 100644 index 0000000..f1e97a4 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_50.gif differ diff --git a/src/assets/images/backgrounds/background/bg_50.png b/src/assets/images/backgrounds/background/bg_50.png new file mode 100644 index 0000000..275494e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_50.png differ diff --git a/src/assets/images/backgrounds/background/bg_51.gif b/src/assets/images/backgrounds/background/bg_51.gif new file mode 100644 index 0000000..f1e97a4 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_51.gif differ diff --git a/src/assets/images/backgrounds/background/bg_52.gif b/src/assets/images/backgrounds/background/bg_52.gif new file mode 100644 index 0000000..0f0c071 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_52.gif differ diff --git a/src/assets/images/backgrounds/background/bg_52.png b/src/assets/images/backgrounds/background/bg_52.png new file mode 100644 index 0000000..f0fadde Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_52.png differ diff --git a/src/assets/images/backgrounds/background/bg_53.gif b/src/assets/images/backgrounds/background/bg_53.gif new file mode 100644 index 0000000..fe88155 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_53.gif differ diff --git a/src/assets/images/backgrounds/background/bg_53.png b/src/assets/images/backgrounds/background/bg_53.png new file mode 100644 index 0000000..629010b Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_53.png differ diff --git a/src/assets/images/backgrounds/background/bg_54.gif b/src/assets/images/backgrounds/background/bg_54.gif new file mode 100644 index 0000000..2dab5fe Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_54.gif differ diff --git a/src/assets/images/backgrounds/background/bg_55.gif b/src/assets/images/backgrounds/background/bg_55.gif new file mode 100644 index 0000000..a7688a1 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_55.gif differ diff --git a/src/assets/images/backgrounds/background/bg_56.gif b/src/assets/images/backgrounds/background/bg_56.gif new file mode 100644 index 0000000..c0fc06d Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_56.gif differ diff --git a/src/assets/images/backgrounds/background/bg_57.gif b/src/assets/images/backgrounds/background/bg_57.gif new file mode 100644 index 0000000..2db068f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_57.gif differ diff --git a/src/assets/images/backgrounds/background/bg_58.gif b/src/assets/images/backgrounds/background/bg_58.gif new file mode 100644 index 0000000..d06f671 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_58.gif differ diff --git a/src/assets/images/backgrounds/background/bg_59.gif b/src/assets/images/backgrounds/background/bg_59.gif new file mode 100644 index 0000000..a103717 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_59.gif differ diff --git a/src/assets/images/backgrounds/background/bg_6.png b/src/assets/images/backgrounds/background/bg_6.png new file mode 100644 index 0000000..79ecaab Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_6.png differ diff --git a/src/assets/images/backgrounds/background/bg_60.gif b/src/assets/images/backgrounds/background/bg_60.gif new file mode 100644 index 0000000..9c7ad38 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_60.gif differ diff --git a/src/assets/images/backgrounds/background/bg_61.gif b/src/assets/images/backgrounds/background/bg_61.gif new file mode 100644 index 0000000..aa0d872 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_61.gif differ diff --git a/src/assets/images/backgrounds/background/bg_62.gif b/src/assets/images/backgrounds/background/bg_62.gif new file mode 100644 index 0000000..b02708e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_62.gif differ diff --git a/src/assets/images/backgrounds/background/bg_63.gif b/src/assets/images/backgrounds/background/bg_63.gif new file mode 100644 index 0000000..ced6c2b Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_63.gif differ diff --git a/src/assets/images/backgrounds/background/bg_64.gif b/src/assets/images/backgrounds/background/bg_64.gif new file mode 100644 index 0000000..c051492 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_64.gif differ diff --git a/src/assets/images/backgrounds/background/bg_65.gif b/src/assets/images/backgrounds/background/bg_65.gif new file mode 100644 index 0000000..b48ed88 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_65.gif differ diff --git a/src/assets/images/backgrounds/background/bg_66.gif b/src/assets/images/backgrounds/background/bg_66.gif new file mode 100644 index 0000000..45860c1 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_66.gif differ diff --git a/src/assets/images/backgrounds/background/bg_67.gif b/src/assets/images/backgrounds/background/bg_67.gif new file mode 100644 index 0000000..613512a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_67.gif differ diff --git a/src/assets/images/backgrounds/background/bg_68.gif b/src/assets/images/backgrounds/background/bg_68.gif new file mode 100644 index 0000000..221547a Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_68.gif differ diff --git a/src/assets/images/backgrounds/background/bg_69.gif b/src/assets/images/backgrounds/background/bg_69.gif new file mode 100644 index 0000000..e23d282 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_69.gif differ diff --git a/src/assets/images/backgrounds/background/bg_7.png b/src/assets/images/backgrounds/background/bg_7.png new file mode 100644 index 0000000..7e61d10 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_7.png differ diff --git a/src/assets/images/backgrounds/background/bg_70.gif b/src/assets/images/backgrounds/background/bg_70.gif new file mode 100644 index 0000000..8f626fa Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_70.gif differ diff --git a/src/assets/images/backgrounds/background/bg_71.gif b/src/assets/images/backgrounds/background/bg_71.gif new file mode 100644 index 0000000..083417c Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_71.gif differ diff --git a/src/assets/images/backgrounds/background/bg_72.gif b/src/assets/images/backgrounds/background/bg_72.gif new file mode 100644 index 0000000..af10f9b Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_72.gif differ diff --git a/src/assets/images/backgrounds/background/bg_73.gif b/src/assets/images/backgrounds/background/bg_73.gif new file mode 100644 index 0000000..9293170 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_73.gif differ diff --git a/src/assets/images/backgrounds/background/bg_74.gif b/src/assets/images/backgrounds/background/bg_74.gif new file mode 100644 index 0000000..a3c49ad Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_74.gif differ diff --git a/src/assets/images/backgrounds/background/bg_75.gif b/src/assets/images/backgrounds/background/bg_75.gif new file mode 100644 index 0000000..82709ad Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_75.gif differ diff --git a/src/assets/images/backgrounds/background/bg_76.gif b/src/assets/images/backgrounds/background/bg_76.gif new file mode 100644 index 0000000..bd9b9cd Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_76.gif differ diff --git a/src/assets/images/backgrounds/background/bg_77.gif b/src/assets/images/backgrounds/background/bg_77.gif new file mode 100644 index 0000000..14b2dc0 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_77.gif differ diff --git a/src/assets/images/backgrounds/background/bg_78.gif b/src/assets/images/backgrounds/background/bg_78.gif new file mode 100644 index 0000000..66288b3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_78.gif differ diff --git a/src/assets/images/backgrounds/background/bg_79.gif b/src/assets/images/backgrounds/background/bg_79.gif new file mode 100644 index 0000000..82709ad Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_79.gif differ diff --git a/src/assets/images/backgrounds/background/bg_8.png b/src/assets/images/backgrounds/background/bg_8.png new file mode 100644 index 0000000..89a49bb Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_8.png differ diff --git a/src/assets/images/backgrounds/background/bg_80.gif b/src/assets/images/backgrounds/background/bg_80.gif new file mode 100644 index 0000000..c1d6fa3 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_80.gif differ diff --git a/src/assets/images/backgrounds/background/bg_81.gif b/src/assets/images/backgrounds/background/bg_81.gif new file mode 100644 index 0000000..899e77c Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_81.gif differ diff --git a/src/assets/images/backgrounds/background/bg_82.gif b/src/assets/images/backgrounds/background/bg_82.gif new file mode 100644 index 0000000..8330696 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_82.gif differ diff --git a/src/assets/images/backgrounds/background/bg_83.gif b/src/assets/images/backgrounds/background/bg_83.gif new file mode 100644 index 0000000..2cf2355 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_83.gif differ diff --git a/src/assets/images/backgrounds/background/bg_84.gif b/src/assets/images/backgrounds/background/bg_84.gif new file mode 100644 index 0000000..27282b7 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_84.gif differ diff --git a/src/assets/images/backgrounds/background/bg_85.gif b/src/assets/images/backgrounds/background/bg_85.gif new file mode 100644 index 0000000..7862b23 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_85.gif differ diff --git a/src/assets/images/backgrounds/background/bg_86.png b/src/assets/images/backgrounds/background/bg_86.png new file mode 100644 index 0000000..16ce06d Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_86.png differ diff --git a/src/assets/images/backgrounds/background/bg_87.gif b/src/assets/images/backgrounds/background/bg_87.gif new file mode 100644 index 0000000..3833cae Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_87.gif differ diff --git a/src/assets/images/backgrounds/background/bg_88.gif b/src/assets/images/backgrounds/background/bg_88.gif new file mode 100644 index 0000000..ac1004b Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_88.gif differ diff --git a/src/assets/images/backgrounds/background/bg_89.gif b/src/assets/images/backgrounds/background/bg_89.gif new file mode 100644 index 0000000..071b4ac Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_89.gif differ diff --git a/src/assets/images/backgrounds/background/bg_9.png b/src/assets/images/backgrounds/background/bg_9.png new file mode 100644 index 0000000..f48f4a4 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_9.png differ diff --git a/src/assets/images/backgrounds/background/bg_90.gif b/src/assets/images/backgrounds/background/bg_90.gif new file mode 100644 index 0000000..5babf74 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_90.gif differ diff --git a/src/assets/images/backgrounds/background/bg_91.gif b/src/assets/images/backgrounds/background/bg_91.gif new file mode 100644 index 0000000..cae21c5 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_91.gif differ diff --git a/src/assets/images/backgrounds/background/bg_92.gif b/src/assets/images/backgrounds/background/bg_92.gif new file mode 100644 index 0000000..1ca656e Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_92.gif differ diff --git a/src/assets/images/backgrounds/background/bg_93.gif b/src/assets/images/backgrounds/background/bg_93.gif new file mode 100644 index 0000000..ee78487 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_93.gif differ diff --git a/src/assets/images/backgrounds/background/bg_94.gif b/src/assets/images/backgrounds/background/bg_94.gif new file mode 100644 index 0000000..f2ebe51 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_94.gif differ diff --git a/src/assets/images/backgrounds/background/bg_95.gif b/src/assets/images/backgrounds/background/bg_95.gif new file mode 100644 index 0000000..568187f Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_95.gif differ diff --git a/src/assets/images/backgrounds/background/bg_96.gif b/src/assets/images/backgrounds/background/bg_96.gif new file mode 100644 index 0000000..8dfd887 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_96.gif differ diff --git a/src/assets/images/backgrounds/background/bg_97.gif b/src/assets/images/backgrounds/background/bg_97.gif new file mode 100644 index 0000000..62b8504 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_97.gif differ diff --git a/src/assets/images/backgrounds/background/bg_98.gif b/src/assets/images/backgrounds/background/bg_98.gif new file mode 100644 index 0000000..7f5ab86 Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_98.gif differ diff --git a/src/assets/images/backgrounds/background/bg_99.gif b/src/assets/images/backgrounds/background/bg_99.gif new file mode 100644 index 0000000..327a73b Binary files /dev/null and b/src/assets/images/backgrounds/background/bg_99.gif differ diff --git a/src/assets/images/backgrounds/new/bg_0.png b/src/assets/images/backgrounds/new/bg_0.png new file mode 100644 index 0000000..dc80b28 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_0.png differ diff --git a/src/assets/images/backgrounds/new/bg_1.gif b/src/assets/images/backgrounds/new/bg_1.gif new file mode 100644 index 0000000..5a07f4f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_1.gif differ diff --git a/src/assets/images/backgrounds/new/bg_10.png b/src/assets/images/backgrounds/new/bg_10.png new file mode 100644 index 0000000..80764d4 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_10.png differ diff --git a/src/assets/images/backgrounds/new/bg_100.gif b/src/assets/images/backgrounds/new/bg_100.gif new file mode 100644 index 0000000..8ad3ab7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_100.gif differ diff --git a/src/assets/images/backgrounds/new/bg_102.gif b/src/assets/images/backgrounds/new/bg_102.gif new file mode 100644 index 0000000..e5ee68a Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_102.gif differ diff --git a/src/assets/images/backgrounds/new/bg_103.gif b/src/assets/images/backgrounds/new/bg_103.gif new file mode 100644 index 0000000..d0645c1 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_103.gif differ diff --git a/src/assets/images/backgrounds/new/bg_104.gif b/src/assets/images/backgrounds/new/bg_104.gif new file mode 100644 index 0000000..8198d2f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_104.gif differ diff --git a/src/assets/images/backgrounds/new/bg_105.gif b/src/assets/images/backgrounds/new/bg_105.gif new file mode 100644 index 0000000..508d38d Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_105.gif differ diff --git a/src/assets/images/backgrounds/new/bg_106.gif b/src/assets/images/backgrounds/new/bg_106.gif new file mode 100644 index 0000000..1a2f8ab Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_106.gif differ diff --git a/src/assets/images/backgrounds/new/bg_107.gif b/src/assets/images/backgrounds/new/bg_107.gif new file mode 100644 index 0000000..2f24a27 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_107.gif differ diff --git a/src/assets/images/backgrounds/new/bg_108.gif b/src/assets/images/backgrounds/new/bg_108.gif new file mode 100644 index 0000000..b996f34 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_108.gif differ diff --git a/src/assets/images/backgrounds/new/bg_109.gif b/src/assets/images/backgrounds/new/bg_109.gif new file mode 100644 index 0000000..23db9e6 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_109.gif differ diff --git a/src/assets/images/backgrounds/new/bg_11.png b/src/assets/images/backgrounds/new/bg_11.png new file mode 100644 index 0000000..ebcc2a7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_11.png differ diff --git a/src/assets/images/backgrounds/new/bg_110.gif b/src/assets/images/backgrounds/new/bg_110.gif new file mode 100644 index 0000000..fed52bb Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_110.gif differ diff --git a/src/assets/images/backgrounds/new/bg_111.gif b/src/assets/images/backgrounds/new/bg_111.gif new file mode 100644 index 0000000..fa94d51 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_111.gif differ diff --git a/src/assets/images/backgrounds/new/bg_112.gif b/src/assets/images/backgrounds/new/bg_112.gif new file mode 100644 index 0000000..974a1ff Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_112.gif differ diff --git a/src/assets/images/backgrounds/new/bg_113.gif b/src/assets/images/backgrounds/new/bg_113.gif new file mode 100644 index 0000000..f63d029 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_113.gif differ diff --git a/src/assets/images/backgrounds/new/bg_114.gif b/src/assets/images/backgrounds/new/bg_114.gif new file mode 100644 index 0000000..024c9b4 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_114.gif differ diff --git a/src/assets/images/backgrounds/new/bg_115.gif b/src/assets/images/backgrounds/new/bg_115.gif new file mode 100644 index 0000000..6f0cb29 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_115.gif differ diff --git a/src/assets/images/backgrounds/new/bg_116.gif b/src/assets/images/backgrounds/new/bg_116.gif new file mode 100644 index 0000000..02b464e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_116.gif differ diff --git a/src/assets/images/backgrounds/new/bg_117.gif b/src/assets/images/backgrounds/new/bg_117.gif new file mode 100644 index 0000000..2c6a4a6 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_117.gif differ diff --git a/src/assets/images/backgrounds/new/bg_118.gif b/src/assets/images/backgrounds/new/bg_118.gif new file mode 100644 index 0000000..5b7d61f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_118.gif differ diff --git a/src/assets/images/backgrounds/new/bg_119.gif b/src/assets/images/backgrounds/new/bg_119.gif new file mode 100644 index 0000000..52c4a2c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_119.gif differ diff --git a/src/assets/images/backgrounds/new/bg_12.png b/src/assets/images/backgrounds/new/bg_12.png new file mode 100644 index 0000000..6876efd Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_12.png differ diff --git a/src/assets/images/backgrounds/new/bg_120.gif b/src/assets/images/backgrounds/new/bg_120.gif new file mode 100644 index 0000000..4d2a314 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_120.gif differ diff --git a/src/assets/images/backgrounds/new/bg_121.gif b/src/assets/images/backgrounds/new/bg_121.gif new file mode 100644 index 0000000..f5bc596 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_121.gif differ diff --git a/src/assets/images/backgrounds/new/bg_122.gif b/src/assets/images/backgrounds/new/bg_122.gif new file mode 100644 index 0000000..a625ecc Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_122.gif differ diff --git a/src/assets/images/backgrounds/new/bg_123.gif b/src/assets/images/backgrounds/new/bg_123.gif new file mode 100644 index 0000000..adda1dc Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_123.gif differ diff --git a/src/assets/images/backgrounds/new/bg_124.gif b/src/assets/images/backgrounds/new/bg_124.gif new file mode 100644 index 0000000..551af32 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_124.gif differ diff --git a/src/assets/images/backgrounds/new/bg_125.gif b/src/assets/images/backgrounds/new/bg_125.gif new file mode 100644 index 0000000..629010b Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_125.gif differ diff --git a/src/assets/images/backgrounds/new/bg_126.gif b/src/assets/images/backgrounds/new/bg_126.gif new file mode 100644 index 0000000..c799c79 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_126.gif differ diff --git a/src/assets/images/backgrounds/new/bg_127.gif b/src/assets/images/backgrounds/new/bg_127.gif new file mode 100644 index 0000000..885ce78 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_127.gif differ diff --git a/src/assets/images/backgrounds/new/bg_128.gif b/src/assets/images/backgrounds/new/bg_128.gif new file mode 100644 index 0000000..7603a4a Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_128.gif differ diff --git a/src/assets/images/backgrounds/new/bg_129.gif b/src/assets/images/backgrounds/new/bg_129.gif new file mode 100644 index 0000000..cd7c75c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_129.gif differ diff --git a/src/assets/images/backgrounds/new/bg_13.png b/src/assets/images/backgrounds/new/bg_13.png new file mode 100644 index 0000000..d57057e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_13.png differ diff --git a/src/assets/images/backgrounds/new/bg_130.gif b/src/assets/images/backgrounds/new/bg_130.gif new file mode 100644 index 0000000..54e01ce Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_130.gif differ diff --git a/src/assets/images/backgrounds/new/bg_131.gif b/src/assets/images/backgrounds/new/bg_131.gif new file mode 100644 index 0000000..19102c8 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_131.gif differ diff --git a/src/assets/images/backgrounds/new/bg_132.gif b/src/assets/images/backgrounds/new/bg_132.gif new file mode 100644 index 0000000..492c05d Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_132.gif differ diff --git a/src/assets/images/backgrounds/new/bg_133.gif b/src/assets/images/backgrounds/new/bg_133.gif new file mode 100644 index 0000000..5a03310 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_133.gif differ diff --git a/src/assets/images/backgrounds/new/bg_134.gif b/src/assets/images/backgrounds/new/bg_134.gif new file mode 100644 index 0000000..13a0711 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_134.gif differ diff --git a/src/assets/images/backgrounds/new/bg_135.gif b/src/assets/images/backgrounds/new/bg_135.gif new file mode 100644 index 0000000..2f24a27 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_135.gif differ diff --git a/src/assets/images/backgrounds/new/bg_136.gif b/src/assets/images/backgrounds/new/bg_136.gif new file mode 100644 index 0000000..3d4d8f7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_136.gif differ diff --git a/src/assets/images/backgrounds/new/bg_137.gif b/src/assets/images/backgrounds/new/bg_137.gif new file mode 100644 index 0000000..80cbbeb Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_137.gif differ diff --git a/src/assets/images/backgrounds/new/bg_138.gif b/src/assets/images/backgrounds/new/bg_138.gif new file mode 100644 index 0000000..0c7b67f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_138.gif differ diff --git a/src/assets/images/backgrounds/new/bg_139.gif b/src/assets/images/backgrounds/new/bg_139.gif new file mode 100644 index 0000000..6c76b2f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_139.gif differ diff --git a/src/assets/images/backgrounds/new/bg_14.png b/src/assets/images/backgrounds/new/bg_14.png new file mode 100644 index 0000000..5e8debc Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_14.png differ diff --git a/src/assets/images/backgrounds/new/bg_140.gif b/src/assets/images/backgrounds/new/bg_140.gif new file mode 100644 index 0000000..bce3709 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_140.gif differ diff --git a/src/assets/images/backgrounds/new/bg_141.gif b/src/assets/images/backgrounds/new/bg_141.gif new file mode 100644 index 0000000..05a7ad9 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_141.gif differ diff --git a/src/assets/images/backgrounds/new/bg_142.gif b/src/assets/images/backgrounds/new/bg_142.gif new file mode 100644 index 0000000..aeef99c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_142.gif differ diff --git a/src/assets/images/backgrounds/new/bg_143.gif b/src/assets/images/backgrounds/new/bg_143.gif new file mode 100644 index 0000000..5c1e597 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_143.gif differ diff --git a/src/assets/images/backgrounds/new/bg_144.gif b/src/assets/images/backgrounds/new/bg_144.gif new file mode 100644 index 0000000..a563283 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_144.gif differ diff --git a/src/assets/images/backgrounds/new/bg_145.gif b/src/assets/images/backgrounds/new/bg_145.gif new file mode 100644 index 0000000..2b6e9c1 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_145.gif differ diff --git a/src/assets/images/backgrounds/new/bg_146.gif b/src/assets/images/backgrounds/new/bg_146.gif new file mode 100644 index 0000000..ccc0264 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_146.gif differ diff --git a/src/assets/images/backgrounds/new/bg_147.gif b/src/assets/images/backgrounds/new/bg_147.gif new file mode 100644 index 0000000..9ea76f7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_147.gif differ diff --git a/src/assets/images/backgrounds/new/bg_148.gif b/src/assets/images/backgrounds/new/bg_148.gif new file mode 100644 index 0000000..2974315 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_148.gif differ diff --git a/src/assets/images/backgrounds/new/bg_149.gif b/src/assets/images/backgrounds/new/bg_149.gif new file mode 100644 index 0000000..7520899 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_149.gif differ diff --git a/src/assets/images/backgrounds/new/bg_15.png b/src/assets/images/backgrounds/new/bg_15.png new file mode 100644 index 0000000..a9ec769 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_15.png differ diff --git a/src/assets/images/backgrounds/new/bg_150.gif b/src/assets/images/backgrounds/new/bg_150.gif new file mode 100644 index 0000000..f0f50fa Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_150.gif differ diff --git a/src/assets/images/backgrounds/new/bg_151.gif b/src/assets/images/backgrounds/new/bg_151.gif new file mode 100644 index 0000000..77c150f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_151.gif differ diff --git a/src/assets/images/backgrounds/new/bg_152.gif b/src/assets/images/backgrounds/new/bg_152.gif new file mode 100644 index 0000000..1ded113 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_152.gif differ diff --git a/src/assets/images/backgrounds/new/bg_153.gif b/src/assets/images/backgrounds/new/bg_153.gif new file mode 100644 index 0000000..19b9ecb Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_153.gif differ diff --git a/src/assets/images/backgrounds/new/bg_154.gif b/src/assets/images/backgrounds/new/bg_154.gif new file mode 100644 index 0000000..38338a0 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_154.gif differ diff --git a/src/assets/images/backgrounds/new/bg_155.gif b/src/assets/images/backgrounds/new/bg_155.gif new file mode 100644 index 0000000..8770d24 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_155.gif differ diff --git a/src/assets/images/backgrounds/new/bg_156.gif b/src/assets/images/backgrounds/new/bg_156.gif new file mode 100644 index 0000000..614d7b2 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_156.gif differ diff --git a/src/assets/images/backgrounds/new/bg_157.gif b/src/assets/images/backgrounds/new/bg_157.gif new file mode 100644 index 0000000..707a559 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_157.gif differ diff --git a/src/assets/images/backgrounds/new/bg_158.gif b/src/assets/images/backgrounds/new/bg_158.gif new file mode 100644 index 0000000..ea576ca Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_158.gif differ diff --git a/src/assets/images/backgrounds/new/bg_159.gif b/src/assets/images/backgrounds/new/bg_159.gif new file mode 100644 index 0000000..d7b28fb Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_159.gif differ diff --git a/src/assets/images/backgrounds/new/bg_16.png b/src/assets/images/backgrounds/new/bg_16.png new file mode 100644 index 0000000..0afb1ed Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_16.png differ diff --git a/src/assets/images/backgrounds/new/bg_160.gif b/src/assets/images/backgrounds/new/bg_160.gif new file mode 100644 index 0000000..d9824e8 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_160.gif differ diff --git a/src/assets/images/backgrounds/new/bg_161.gif b/src/assets/images/backgrounds/new/bg_161.gif new file mode 100644 index 0000000..91b9518 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_161.gif differ diff --git a/src/assets/images/backgrounds/new/bg_162.gif b/src/assets/images/backgrounds/new/bg_162.gif new file mode 100644 index 0000000..6029e0e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_162.gif differ diff --git a/src/assets/images/backgrounds/new/bg_163.gif b/src/assets/images/backgrounds/new/bg_163.gif new file mode 100644 index 0000000..8c59781 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_163.gif differ diff --git a/src/assets/images/backgrounds/new/bg_164.gif b/src/assets/images/backgrounds/new/bg_164.gif new file mode 100644 index 0000000..b6804ab Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_164.gif differ diff --git a/src/assets/images/backgrounds/new/bg_165.gif b/src/assets/images/backgrounds/new/bg_165.gif new file mode 100644 index 0000000..d01da99 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_165.gif differ diff --git a/src/assets/images/backgrounds/new/bg_166.gif b/src/assets/images/backgrounds/new/bg_166.gif new file mode 100644 index 0000000..ce7f415 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_166.gif differ diff --git a/src/assets/images/backgrounds/new/bg_167.gif b/src/assets/images/backgrounds/new/bg_167.gif new file mode 100644 index 0000000..8068696 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_167.gif differ diff --git a/src/assets/images/backgrounds/new/bg_168.gif b/src/assets/images/backgrounds/new/bg_168.gif new file mode 100644 index 0000000..5de9226 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_168.gif differ diff --git a/src/assets/images/backgrounds/new/bg_169.gif b/src/assets/images/backgrounds/new/bg_169.gif new file mode 100644 index 0000000..f344b74 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_169.gif differ diff --git a/src/assets/images/backgrounds/new/bg_17.png b/src/assets/images/backgrounds/new/bg_17.png new file mode 100644 index 0000000..3d593e4 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_17.png differ diff --git a/src/assets/images/backgrounds/new/bg_170.png b/src/assets/images/backgrounds/new/bg_170.png new file mode 100644 index 0000000..1880697 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_170.png differ diff --git a/src/assets/images/backgrounds/new/bg_171.png b/src/assets/images/backgrounds/new/bg_171.png new file mode 100644 index 0000000..f1c1767 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_171.png differ diff --git a/src/assets/images/backgrounds/new/bg_172.png b/src/assets/images/backgrounds/new/bg_172.png new file mode 100644 index 0000000..6de0de0 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_172.png differ diff --git a/src/assets/images/backgrounds/new/bg_173.png b/src/assets/images/backgrounds/new/bg_173.png new file mode 100644 index 0000000..ee36cc7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_173.png differ diff --git a/src/assets/images/backgrounds/new/bg_174.png b/src/assets/images/backgrounds/new/bg_174.png new file mode 100644 index 0000000..920270b Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_174.png differ diff --git a/src/assets/images/backgrounds/new/bg_175.png b/src/assets/images/backgrounds/new/bg_175.png new file mode 100644 index 0000000..5f2305c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_175.png differ diff --git a/src/assets/images/backgrounds/new/bg_176.png b/src/assets/images/backgrounds/new/bg_176.png new file mode 100644 index 0000000..f66effc Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_176.png differ diff --git a/src/assets/images/backgrounds/new/bg_178.png b/src/assets/images/backgrounds/new/bg_178.png new file mode 100644 index 0000000..287d1ed Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_178.png differ diff --git a/src/assets/images/backgrounds/new/bg_179.png b/src/assets/images/backgrounds/new/bg_179.png new file mode 100644 index 0000000..39266b3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_179.png differ diff --git a/src/assets/images/backgrounds/new/bg_18.png b/src/assets/images/backgrounds/new/bg_18.png new file mode 100644 index 0000000..81bab28 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_18.png differ diff --git a/src/assets/images/backgrounds/new/bg_180.png b/src/assets/images/backgrounds/new/bg_180.png new file mode 100644 index 0000000..4e1bb7a Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_180.png differ diff --git a/src/assets/images/backgrounds/new/bg_181.png b/src/assets/images/backgrounds/new/bg_181.png new file mode 100644 index 0000000..62c6dd2 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_181.png differ diff --git a/src/assets/images/backgrounds/new/bg_182.png b/src/assets/images/backgrounds/new/bg_182.png new file mode 100644 index 0000000..81613a1 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_182.png differ diff --git a/src/assets/images/backgrounds/new/bg_183.png b/src/assets/images/backgrounds/new/bg_183.png new file mode 100644 index 0000000..1d839eb Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_183.png differ diff --git a/src/assets/images/backgrounds/new/bg_184.png b/src/assets/images/backgrounds/new/bg_184.png new file mode 100644 index 0000000..dd53887 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_184.png differ diff --git a/src/assets/images/backgrounds/new/bg_185.png b/src/assets/images/backgrounds/new/bg_185.png new file mode 100644 index 0000000..669819e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_185.png differ diff --git a/src/assets/images/backgrounds/new/bg_186.png b/src/assets/images/backgrounds/new/bg_186.png new file mode 100644 index 0000000..82709ad Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_186.png differ diff --git a/src/assets/images/backgrounds/new/bg_187.gif b/src/assets/images/backgrounds/new/bg_187.gif new file mode 100644 index 0000000..f782ce7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_187.gif differ diff --git a/src/assets/images/backgrounds/new/bg_188.gif b/src/assets/images/backgrounds/new/bg_188.gif new file mode 100644 index 0000000..8d5e2a2 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_188.gif differ diff --git a/src/assets/images/backgrounds/new/bg_19.png b/src/assets/images/backgrounds/new/bg_19.png new file mode 100644 index 0000000..10bb78c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_19.png differ diff --git a/src/assets/images/backgrounds/new/bg_2.png b/src/assets/images/backgrounds/new/bg_2.png new file mode 100644 index 0000000..5b2fc5a Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_2.png differ diff --git a/src/assets/images/backgrounds/new/bg_20.png b/src/assets/images/backgrounds/new/bg_20.png new file mode 100644 index 0000000..a60ef76 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_20.png differ diff --git a/src/assets/images/backgrounds/new/bg_21.png b/src/assets/images/backgrounds/new/bg_21.png new file mode 100644 index 0000000..8029ae0 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_21.png differ diff --git a/src/assets/images/backgrounds/new/bg_22.png b/src/assets/images/backgrounds/new/bg_22.png new file mode 100644 index 0000000..07a1915 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_22.png differ diff --git a/src/assets/images/backgrounds/new/bg_23.png b/src/assets/images/backgrounds/new/bg_23.png new file mode 100644 index 0000000..86dbad3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_23.png differ diff --git a/src/assets/images/backgrounds/new/bg_24.png b/src/assets/images/backgrounds/new/bg_24.png new file mode 100644 index 0000000..79278d1 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_24.png differ diff --git a/src/assets/images/backgrounds/new/bg_25.png b/src/assets/images/backgrounds/new/bg_25.png new file mode 100644 index 0000000..d8025a6 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_25.png differ diff --git a/src/assets/images/backgrounds/new/bg_26.png b/src/assets/images/backgrounds/new/bg_26.png new file mode 100644 index 0000000..60e0c37 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_26.png differ diff --git a/src/assets/images/backgrounds/new/bg_27.png b/src/assets/images/backgrounds/new/bg_27.png new file mode 100644 index 0000000..8e942a3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_27.png differ diff --git a/src/assets/images/backgrounds/new/bg_28.png b/src/assets/images/backgrounds/new/bg_28.png new file mode 100644 index 0000000..689c2b9 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_28.png differ diff --git a/src/assets/images/backgrounds/new/bg_29.png b/src/assets/images/backgrounds/new/bg_29.png new file mode 100644 index 0000000..3260464 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_29.png differ diff --git a/src/assets/images/backgrounds/new/bg_3.png b/src/assets/images/backgrounds/new/bg_3.png new file mode 100644 index 0000000..41034f7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_3.png differ diff --git a/src/assets/images/backgrounds/new/bg_30.png b/src/assets/images/backgrounds/new/bg_30.png new file mode 100644 index 0000000..3db687a Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_30.png differ diff --git a/src/assets/images/backgrounds/new/bg_31.png b/src/assets/images/backgrounds/new/bg_31.png new file mode 100644 index 0000000..348b000 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_31.png differ diff --git a/src/assets/images/backgrounds/new/bg_32.png b/src/assets/images/backgrounds/new/bg_32.png new file mode 100644 index 0000000..7b11ec3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_32.png differ diff --git a/src/assets/images/backgrounds/new/bg_33.png b/src/assets/images/backgrounds/new/bg_33.png new file mode 100644 index 0000000..a5ba792 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_33.png differ diff --git a/src/assets/images/backgrounds/new/bg_34.png b/src/assets/images/backgrounds/new/bg_34.png new file mode 100644 index 0000000..c022119 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_34.png differ diff --git a/src/assets/images/backgrounds/new/bg_35.png b/src/assets/images/backgrounds/new/bg_35.png new file mode 100644 index 0000000..bacd72f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_35.png differ diff --git a/src/assets/images/backgrounds/new/bg_36.gif b/src/assets/images/backgrounds/new/bg_36.gif new file mode 100644 index 0000000..b30f769 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_36.gif differ diff --git a/src/assets/images/backgrounds/new/bg_37.png b/src/assets/images/backgrounds/new/bg_37.png new file mode 100644 index 0000000..572e661 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_37.png differ diff --git a/src/assets/images/backgrounds/new/bg_38.png b/src/assets/images/backgrounds/new/bg_38.png new file mode 100644 index 0000000..e47c7ad Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_38.png differ diff --git a/src/assets/images/backgrounds/new/bg_39.png b/src/assets/images/backgrounds/new/bg_39.png new file mode 100644 index 0000000..a4f1999 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_39.png differ diff --git a/src/assets/images/backgrounds/new/bg_4.png b/src/assets/images/backgrounds/new/bg_4.png new file mode 100644 index 0000000..b150551 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_4.png differ diff --git a/src/assets/images/backgrounds/new/bg_40.png b/src/assets/images/backgrounds/new/bg_40.png new file mode 100644 index 0000000..1af2c2e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_40.png differ diff --git a/src/assets/images/backgrounds/new/bg_41.png b/src/assets/images/backgrounds/new/bg_41.png new file mode 100644 index 0000000..4201d9e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_41.png differ diff --git a/src/assets/images/backgrounds/new/bg_42.png b/src/assets/images/backgrounds/new/bg_42.png new file mode 100644 index 0000000..61057a3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_42.png differ diff --git a/src/assets/images/backgrounds/new/bg_43.png b/src/assets/images/backgrounds/new/bg_43.png new file mode 100644 index 0000000..5178123 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_43.png differ diff --git a/src/assets/images/backgrounds/new/bg_44.png b/src/assets/images/backgrounds/new/bg_44.png new file mode 100644 index 0000000..4f282a3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_44.png differ diff --git a/src/assets/images/backgrounds/new/bg_45.png b/src/assets/images/backgrounds/new/bg_45.png new file mode 100644 index 0000000..0cfec58 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_45.png differ diff --git a/src/assets/images/backgrounds/new/bg_46.png b/src/assets/images/backgrounds/new/bg_46.png new file mode 100644 index 0000000..0b37070 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_46.png differ diff --git a/src/assets/images/backgrounds/new/bg_47.png b/src/assets/images/backgrounds/new/bg_47.png new file mode 100644 index 0000000..c8192c6 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_47.png differ diff --git a/src/assets/images/backgrounds/new/bg_48.png b/src/assets/images/backgrounds/new/bg_48.png new file mode 100644 index 0000000..167ff55 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_48.png differ diff --git a/src/assets/images/backgrounds/new/bg_49.png b/src/assets/images/backgrounds/new/bg_49.png new file mode 100644 index 0000000..ec8e60f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_49.png differ diff --git a/src/assets/images/backgrounds/new/bg_5.png b/src/assets/images/backgrounds/new/bg_5.png new file mode 100644 index 0000000..f3a86fe Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_5.png differ diff --git a/src/assets/images/backgrounds/new/bg_50.png b/src/assets/images/backgrounds/new/bg_50.png new file mode 100644 index 0000000..275494e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_50.png differ diff --git a/src/assets/images/backgrounds/new/bg_51.gif b/src/assets/images/backgrounds/new/bg_51.gif new file mode 100644 index 0000000..f1e97a4 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_51.gif differ diff --git a/src/assets/images/backgrounds/new/bg_52.gif b/src/assets/images/backgrounds/new/bg_52.gif new file mode 100644 index 0000000..0f0c071 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_52.gif differ diff --git a/src/assets/images/backgrounds/new/bg_53.gif b/src/assets/images/backgrounds/new/bg_53.gif new file mode 100644 index 0000000..fe88155 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_53.gif differ diff --git a/src/assets/images/backgrounds/new/bg_54.gif b/src/assets/images/backgrounds/new/bg_54.gif new file mode 100644 index 0000000..2dab5fe Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_54.gif differ diff --git a/src/assets/images/backgrounds/new/bg_55.gif b/src/assets/images/backgrounds/new/bg_55.gif new file mode 100644 index 0000000..a7688a1 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_55.gif differ diff --git a/src/assets/images/backgrounds/new/bg_56.gif b/src/assets/images/backgrounds/new/bg_56.gif new file mode 100644 index 0000000..c0fc06d Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_56.gif differ diff --git a/src/assets/images/backgrounds/new/bg_57.gif b/src/assets/images/backgrounds/new/bg_57.gif new file mode 100644 index 0000000..2db068f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_57.gif differ diff --git a/src/assets/images/backgrounds/new/bg_58.gif b/src/assets/images/backgrounds/new/bg_58.gif new file mode 100644 index 0000000..d06f671 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_58.gif differ diff --git a/src/assets/images/backgrounds/new/bg_59.gif b/src/assets/images/backgrounds/new/bg_59.gif new file mode 100644 index 0000000..a103717 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_59.gif differ diff --git a/src/assets/images/backgrounds/new/bg_6.png b/src/assets/images/backgrounds/new/bg_6.png new file mode 100644 index 0000000..79ecaab Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_6.png differ diff --git a/src/assets/images/backgrounds/new/bg_60.gif b/src/assets/images/backgrounds/new/bg_60.gif new file mode 100644 index 0000000..9c7ad38 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_60.gif differ diff --git a/src/assets/images/backgrounds/new/bg_61.gif b/src/assets/images/backgrounds/new/bg_61.gif new file mode 100644 index 0000000..aa0d872 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_61.gif differ diff --git a/src/assets/images/backgrounds/new/bg_62.gif b/src/assets/images/backgrounds/new/bg_62.gif new file mode 100644 index 0000000..b02708e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_62.gif differ diff --git a/src/assets/images/backgrounds/new/bg_63.gif b/src/assets/images/backgrounds/new/bg_63.gif new file mode 100644 index 0000000..ced6c2b Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_63.gif differ diff --git a/src/assets/images/backgrounds/new/bg_64.gif b/src/assets/images/backgrounds/new/bg_64.gif new file mode 100644 index 0000000..c051492 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_64.gif differ diff --git a/src/assets/images/backgrounds/new/bg_65.gif b/src/assets/images/backgrounds/new/bg_65.gif new file mode 100644 index 0000000..b48ed88 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_65.gif differ diff --git a/src/assets/images/backgrounds/new/bg_66.gif b/src/assets/images/backgrounds/new/bg_66.gif new file mode 100644 index 0000000..45860c1 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_66.gif differ diff --git a/src/assets/images/backgrounds/new/bg_67.gif b/src/assets/images/backgrounds/new/bg_67.gif new file mode 100644 index 0000000..613512a Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_67.gif differ diff --git a/src/assets/images/backgrounds/new/bg_68.gif b/src/assets/images/backgrounds/new/bg_68.gif new file mode 100644 index 0000000..221547a Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_68.gif differ diff --git a/src/assets/images/backgrounds/new/bg_69.gif b/src/assets/images/backgrounds/new/bg_69.gif new file mode 100644 index 0000000..e23d282 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_69.gif differ diff --git a/src/assets/images/backgrounds/new/bg_7.png b/src/assets/images/backgrounds/new/bg_7.png new file mode 100644 index 0000000..7e61d10 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_7.png differ diff --git a/src/assets/images/backgrounds/new/bg_70.gif b/src/assets/images/backgrounds/new/bg_70.gif new file mode 100644 index 0000000..8f626fa Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_70.gif differ diff --git a/src/assets/images/backgrounds/new/bg_71.gif b/src/assets/images/backgrounds/new/bg_71.gif new file mode 100644 index 0000000..083417c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_71.gif differ diff --git a/src/assets/images/backgrounds/new/bg_72.gif b/src/assets/images/backgrounds/new/bg_72.gif new file mode 100644 index 0000000..af10f9b Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_72.gif differ diff --git a/src/assets/images/backgrounds/new/bg_73.gif b/src/assets/images/backgrounds/new/bg_73.gif new file mode 100644 index 0000000..9293170 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_73.gif differ diff --git a/src/assets/images/backgrounds/new/bg_74.gif b/src/assets/images/backgrounds/new/bg_74.gif new file mode 100644 index 0000000..a3c49ad Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_74.gif differ diff --git a/src/assets/images/backgrounds/new/bg_75.gif b/src/assets/images/backgrounds/new/bg_75.gif new file mode 100644 index 0000000..82709ad Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_75.gif differ diff --git a/src/assets/images/backgrounds/new/bg_76.gif b/src/assets/images/backgrounds/new/bg_76.gif new file mode 100644 index 0000000..bd9b9cd Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_76.gif differ diff --git a/src/assets/images/backgrounds/new/bg_77.gif b/src/assets/images/backgrounds/new/bg_77.gif new file mode 100644 index 0000000..14b2dc0 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_77.gif differ diff --git a/src/assets/images/backgrounds/new/bg_78.gif b/src/assets/images/backgrounds/new/bg_78.gif new file mode 100644 index 0000000..66288b3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_78.gif differ diff --git a/src/assets/images/backgrounds/new/bg_79.gif b/src/assets/images/backgrounds/new/bg_79.gif new file mode 100644 index 0000000..82709ad Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_79.gif differ diff --git a/src/assets/images/backgrounds/new/bg_8.png b/src/assets/images/backgrounds/new/bg_8.png new file mode 100644 index 0000000..89a49bb Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_8.png differ diff --git a/src/assets/images/backgrounds/new/bg_80.gif b/src/assets/images/backgrounds/new/bg_80.gif new file mode 100644 index 0000000..c1d6fa3 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_80.gif differ diff --git a/src/assets/images/backgrounds/new/bg_81.gif b/src/assets/images/backgrounds/new/bg_81.gif new file mode 100644 index 0000000..899e77c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_81.gif differ diff --git a/src/assets/images/backgrounds/new/bg_82.gif b/src/assets/images/backgrounds/new/bg_82.gif new file mode 100644 index 0000000..8330696 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_82.gif differ diff --git a/src/assets/images/backgrounds/new/bg_83.gif b/src/assets/images/backgrounds/new/bg_83.gif new file mode 100644 index 0000000..2cf2355 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_83.gif differ diff --git a/src/assets/images/backgrounds/new/bg_84.gif b/src/assets/images/backgrounds/new/bg_84.gif new file mode 100644 index 0000000..27282b7 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_84.gif differ diff --git a/src/assets/images/backgrounds/new/bg_85.gif b/src/assets/images/backgrounds/new/bg_85.gif new file mode 100644 index 0000000..7862b23 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_85.gif differ diff --git a/src/assets/images/backgrounds/new/bg_86.gif b/src/assets/images/backgrounds/new/bg_86.gif new file mode 100644 index 0000000..f9f0d0c Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_86.gif differ diff --git a/src/assets/images/backgrounds/new/bg_87.gif b/src/assets/images/backgrounds/new/bg_87.gif new file mode 100644 index 0000000..3833cae Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_87.gif differ diff --git a/src/assets/images/backgrounds/new/bg_88.gif b/src/assets/images/backgrounds/new/bg_88.gif new file mode 100644 index 0000000..ac1004b Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_88.gif differ diff --git a/src/assets/images/backgrounds/new/bg_89.gif b/src/assets/images/backgrounds/new/bg_89.gif new file mode 100644 index 0000000..071b4ac Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_89.gif differ diff --git a/src/assets/images/backgrounds/new/bg_9.png b/src/assets/images/backgrounds/new/bg_9.png new file mode 100644 index 0000000..f48f4a4 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_9.png differ diff --git a/src/assets/images/backgrounds/new/bg_90.gif b/src/assets/images/backgrounds/new/bg_90.gif new file mode 100644 index 0000000..5babf74 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_90.gif differ diff --git a/src/assets/images/backgrounds/new/bg_91.gif b/src/assets/images/backgrounds/new/bg_91.gif new file mode 100644 index 0000000..cae21c5 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_91.gif differ diff --git a/src/assets/images/backgrounds/new/bg_92.gif b/src/assets/images/backgrounds/new/bg_92.gif new file mode 100644 index 0000000..1ca656e Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_92.gif differ diff --git a/src/assets/images/backgrounds/new/bg_93.gif b/src/assets/images/backgrounds/new/bg_93.gif new file mode 100644 index 0000000..ee78487 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_93.gif differ diff --git a/src/assets/images/backgrounds/new/bg_94.gif b/src/assets/images/backgrounds/new/bg_94.gif new file mode 100644 index 0000000..f2ebe51 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_94.gif differ diff --git a/src/assets/images/backgrounds/new/bg_95.gif b/src/assets/images/backgrounds/new/bg_95.gif new file mode 100644 index 0000000..568187f Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_95.gif differ diff --git a/src/assets/images/backgrounds/new/bg_96.gif b/src/assets/images/backgrounds/new/bg_96.gif new file mode 100644 index 0000000..8dfd887 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_96.gif differ diff --git a/src/assets/images/backgrounds/new/bg_97.gif b/src/assets/images/backgrounds/new/bg_97.gif new file mode 100644 index 0000000..62b8504 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_97.gif differ diff --git a/src/assets/images/backgrounds/new/bg_98.gif b/src/assets/images/backgrounds/new/bg_98.gif new file mode 100644 index 0000000..7f5ab86 Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_98.gif differ diff --git a/src/assets/images/backgrounds/new/bg_99.gif b/src/assets/images/backgrounds/new/bg_99.gif new file mode 100644 index 0000000..327a73b Binary files /dev/null and b/src/assets/images/backgrounds/new/bg_99.gif differ diff --git a/src/assets/images/backgrounds/overlay/overlay_0.png b/src/assets/images/backgrounds/overlay/overlay_0.png new file mode 100644 index 0000000..afd389a Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_0.png differ diff --git a/src/assets/images/backgrounds/overlay/overlay_1.png b/src/assets/images/backgrounds/overlay/overlay_1.png new file mode 100644 index 0000000..22cadb7 Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_1.png differ diff --git a/src/assets/images/backgrounds/overlay/overlay_2.png b/src/assets/images/backgrounds/overlay/overlay_2.png new file mode 100644 index 0000000..16aee82 Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_2.png differ diff --git a/src/assets/images/backgrounds/overlay/overlay_3.png b/src/assets/images/backgrounds/overlay/overlay_3.png new file mode 100644 index 0000000..ca52992 Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_3.png differ diff --git a/src/assets/images/backgrounds/overlay/overlay_4.png b/src/assets/images/backgrounds/overlay/overlay_4.png new file mode 100644 index 0000000..b61dc84 Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_4.png differ diff --git a/src/assets/images/backgrounds/overlay/overlay_5.gif b/src/assets/images/backgrounds/overlay/overlay_5.gif new file mode 100644 index 0000000..841a7b6 Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_5.gif differ diff --git a/src/assets/images/backgrounds/overlay/overlay_6.png b/src/assets/images/backgrounds/overlay/overlay_6.png new file mode 100644 index 0000000..a1f95e7 Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_6.png differ diff --git a/src/assets/images/backgrounds/overlay/overlay_7.png b/src/assets/images/backgrounds/overlay/overlay_7.png new file mode 100644 index 0000000..987719e Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_7.png differ diff --git a/src/assets/images/backgrounds/overlay/overlay_8.png b/src/assets/images/backgrounds/overlay/overlay_8.png new file mode 100644 index 0000000..3c0f341 Binary files /dev/null and b/src/assets/images/backgrounds/overlay/overlay_8.png differ diff --git a/src/assets/images/backgrounds/overlay_0.png b/src/assets/images/backgrounds/overlay_0.png new file mode 100644 index 0000000..afd389a Binary files /dev/null and b/src/assets/images/backgrounds/overlay_0.png differ diff --git a/src/assets/images/backgrounds/overlay_1.png b/src/assets/images/backgrounds/overlay_1.png new file mode 100644 index 0000000..22cadb7 Binary files /dev/null and b/src/assets/images/backgrounds/overlay_1.png differ diff --git a/src/assets/images/backgrounds/overlay_2.png b/src/assets/images/backgrounds/overlay_2.png new file mode 100644 index 0000000..16aee82 Binary files /dev/null and b/src/assets/images/backgrounds/overlay_2.png differ diff --git a/src/assets/images/backgrounds/overlay_3.png b/src/assets/images/backgrounds/overlay_3.png new file mode 100644 index 0000000..ca52992 Binary files /dev/null and b/src/assets/images/backgrounds/overlay_3.png differ diff --git a/src/assets/images/backgrounds/overlay_4.png b/src/assets/images/backgrounds/overlay_4.png new file mode 100644 index 0000000..b61dc84 Binary files /dev/null and b/src/assets/images/backgrounds/overlay_4.png differ diff --git a/src/assets/images/backgrounds/overlay_ring.gif b/src/assets/images/backgrounds/overlay_ring.gif new file mode 100644 index 0000000..841a7b6 Binary files /dev/null and b/src/assets/images/backgrounds/overlay_ring.gif differ diff --git a/src/assets/images/backgrounds/stand_0.png b/src/assets/images/backgrounds/stand_0.png new file mode 100644 index 0000000..afd389a Binary files /dev/null and b/src/assets/images/backgrounds/stand_0.png differ diff --git a/src/assets/images/backgrounds/stand_1.png b/src/assets/images/backgrounds/stand_1.png new file mode 100644 index 0000000..27ebe0f Binary files /dev/null and b/src/assets/images/backgrounds/stand_1.png differ diff --git a/src/assets/images/backgrounds/stand_10.png b/src/assets/images/backgrounds/stand_10.png new file mode 100644 index 0000000..59c2820 Binary files /dev/null and b/src/assets/images/backgrounds/stand_10.png differ diff --git a/src/assets/images/backgrounds/stand_11.png b/src/assets/images/backgrounds/stand_11.png new file mode 100644 index 0000000..6974b38 Binary files /dev/null and b/src/assets/images/backgrounds/stand_11.png differ diff --git a/src/assets/images/backgrounds/stand_12.png b/src/assets/images/backgrounds/stand_12.png new file mode 100644 index 0000000..da4cccb Binary files /dev/null and b/src/assets/images/backgrounds/stand_12.png differ diff --git a/src/assets/images/backgrounds/stand_13.png b/src/assets/images/backgrounds/stand_13.png new file mode 100644 index 0000000..ab4e8be Binary files /dev/null and b/src/assets/images/backgrounds/stand_13.png differ diff --git a/src/assets/images/backgrounds/stand_14.png b/src/assets/images/backgrounds/stand_14.png new file mode 100644 index 0000000..1a60cce Binary files /dev/null and b/src/assets/images/backgrounds/stand_14.png differ diff --git a/src/assets/images/backgrounds/stand_15.png b/src/assets/images/backgrounds/stand_15.png new file mode 100644 index 0000000..211802b Binary files /dev/null and b/src/assets/images/backgrounds/stand_15.png differ diff --git a/src/assets/images/backgrounds/stand_16.png b/src/assets/images/backgrounds/stand_16.png new file mode 100644 index 0000000..b1e945d Binary files /dev/null and b/src/assets/images/backgrounds/stand_16.png differ diff --git a/src/assets/images/backgrounds/stand_17.png b/src/assets/images/backgrounds/stand_17.png new file mode 100644 index 0000000..1190763 Binary files /dev/null and b/src/assets/images/backgrounds/stand_17.png differ diff --git a/src/assets/images/backgrounds/stand_18.png b/src/assets/images/backgrounds/stand_18.png new file mode 100644 index 0000000..fd5aae5 Binary files /dev/null and b/src/assets/images/backgrounds/stand_18.png differ diff --git a/src/assets/images/backgrounds/stand_19.png b/src/assets/images/backgrounds/stand_19.png new file mode 100644 index 0000000..c522804 Binary files /dev/null and b/src/assets/images/backgrounds/stand_19.png differ diff --git a/src/assets/images/backgrounds/stand_2.png b/src/assets/images/backgrounds/stand_2.png new file mode 100644 index 0000000..9f789bd Binary files /dev/null and b/src/assets/images/backgrounds/stand_2.png differ diff --git a/src/assets/images/backgrounds/stand_20.png b/src/assets/images/backgrounds/stand_20.png new file mode 100644 index 0000000..695122d Binary files /dev/null and b/src/assets/images/backgrounds/stand_20.png differ diff --git a/src/assets/images/backgrounds/stand_21.gif b/src/assets/images/backgrounds/stand_21.gif new file mode 100644 index 0000000..7449b39 Binary files /dev/null and b/src/assets/images/backgrounds/stand_21.gif differ diff --git a/src/assets/images/backgrounds/stand_3.png b/src/assets/images/backgrounds/stand_3.png new file mode 100644 index 0000000..800748e Binary files /dev/null and b/src/assets/images/backgrounds/stand_3.png differ diff --git a/src/assets/images/backgrounds/stand_4.png b/src/assets/images/backgrounds/stand_4.png new file mode 100644 index 0000000..d7042da Binary files /dev/null and b/src/assets/images/backgrounds/stand_4.png differ diff --git a/src/assets/images/backgrounds/stand_5.png b/src/assets/images/backgrounds/stand_5.png new file mode 100644 index 0000000..0f28a29 Binary files /dev/null and b/src/assets/images/backgrounds/stand_5.png differ diff --git a/src/assets/images/backgrounds/stand_6.png b/src/assets/images/backgrounds/stand_6.png new file mode 100644 index 0000000..f20be87 Binary files /dev/null and b/src/assets/images/backgrounds/stand_6.png differ diff --git a/src/assets/images/backgrounds/stand_7.png b/src/assets/images/backgrounds/stand_7.png new file mode 100644 index 0000000..9a72c8f Binary files /dev/null and b/src/assets/images/backgrounds/stand_7.png differ diff --git a/src/assets/images/backgrounds/stand_8.png b/src/assets/images/backgrounds/stand_8.png new file mode 100644 index 0000000..b0f8021 Binary files /dev/null and b/src/assets/images/backgrounds/stand_8.png differ diff --git a/src/assets/images/backgrounds/stand_9.png b/src/assets/images/backgrounds/stand_9.png new file mode 100644 index 0000000..bf42a94 Binary files /dev/null and b/src/assets/images/backgrounds/stand_9.png differ diff --git a/src/assets/images/infostand/icon_edit.gif b/src/assets/images/infostand/icon_edit.gif new file mode 100644 index 0000000..aabdb0a Binary files /dev/null and b/src/assets/images/infostand/icon_edit.gif differ diff --git a/src/assets/styles/icons.scss b/src/assets/styles/icons.scss index 47ef4d1..df918fd 100644 --- a/src/assets/styles/icons.scss +++ b/src/assets/styles/icons.scss @@ -266,6 +266,12 @@ height: 14px; } + &.edit-icon { + background-image: url('@/assets/images/infostand/icon_edit.gif'); + width: 19px; + height: 19px; + } + &.disk-creator { background-image: url('@/assets/images/infostand/disk-creator.png'); width: 14px; diff --git a/src/components/backgrounds/BackgroundsView.scss b/src/components/backgrounds/BackgroundsView.scss new file mode 100644 index 0000000..9bf609a --- /dev/null +++ b/src/components/backgrounds/BackgroundsView.scss @@ -0,0 +1,887 @@ +.nitro-backgrounds { + width: 535px; + height: 420px; + min-width: 535px; + min-height: 420px; +} + +.non-selectable { + cursor: default; + + .profile-background { + filter: opacity(0.5); + transition: linear .25s; + + &:hover { + filter: opacity(1); + } + } +} + +.profile-background { + background-repeat: no-repeat; + background-position: center; + height: 135px; + width: 68px; + + &.background-0 { + background-image: url('@/assets/images/backgrounds/background/bg_0.png'); + } + + &.background-1 { + background-image: url('@/assets/images/backgrounds/background/bg_1.gif'); + } + + &.background-2 { + background-image: url('@/assets/images/backgrounds/background/bg_2.png'); + } + + &.background-3 { + background-image: url('@/assets/images/backgrounds/background/bg_3.png'); + } + + &.background-4 { + background-image: url('@/assets/images/backgrounds/background/bg_4.png'); + } + + &.background-5 { + background-image: url('@/assets/images/backgrounds/background/bg_5.png'); + } + + &.background-6 { + background-image: url('@/assets/images/backgrounds/background/bg_6.png'); + } + + &.background-7 { + background-image: url('@/assets/images/backgrounds/background/bg_7.png'); + } + + &.background-8 { + background-image: url('@/assets/images/backgrounds/background/bg_8.png'); + } + + &.background-9 { + background-image: url('@/assets/images/backgrounds/background/bg_9.png'); + } + + &.background-10 { + background-image: url('@/assets/images/backgrounds/background/bg_10.png'); + } + + &.background-11 { + background-image: url('@/assets/images/backgrounds/background/bg_11.png'); + } + + &.background-12 { + background-image: url('@/assets/images/backgrounds/background/bg_12.png'); + } + + &.background-13 { + background-image: url('@/assets/images/backgrounds/background/bg_13.png'); + } + + &.background-14 { + background-image: url('@/assets/images/backgrounds/background/bg_14.png'); + } + + &.background-15 { + background-image: url('@/assets/images/backgrounds/background/bg_15.png'); + } + + &.background-16 { + background-image: url('@/assets/images/backgrounds/background/bg_16.png'); + } + + &.background-17 { + background-image: url('@/assets/images/backgrounds/background/bg_17.png'); + } + + &.background-18 { + background-image: url('@/assets/images/backgrounds/background/bg_18.png'); + } + + &.background-19 { + background-image: url('@/assets/images/backgrounds/background/bg_19.png'); + } + + &.background-20 { + background-image: url('@/assets/images/backgrounds/background/bg_20.png'); + } + + &.background-21 { + background-image: url('@/assets/images/backgrounds/background/bg_21.png'); + } + + &.background-22 { + background-image: url('@/assets/images/backgrounds/background/bg_22.png'); + } + + &.background-23 { + background-image: url('@/assets/images/backgrounds/background/bg_23.png'); + } + + &.background-24 { + background-image: url('@/assets/images/backgrounds/background/bg_24.png'); + } + + &.background-25 { + background-image: url('@/assets/images/backgrounds/background/bg_25.png'); + } + + &.background-26 { + background-image: url('@/assets/images/backgrounds/background/bg_26.png'); + } + + &.background-27 { + background-image: url('@/assets/images/backgrounds/background/bg_27.png'); + } + + &.background-28 { + background-image: url('@/assets/images/backgrounds/background/bg_28.png'); + } + + &.background-29 { + background-image: url('@/assets/images/backgrounds/background/bg_29.png'); + } + + &.background-30 { + background-image: url('@/assets/images/backgrounds/background/bg_30.png'); + } + + &.background-31 { + background-image: url('@/assets/images/backgrounds/background/bg_31.png'); + } + + &.background-32 { + background-image: url('@/assets/images/backgrounds/background/bg_32.png'); + } + + &.background-33 { + background-image: url('@/assets/images/backgrounds/background/bg_33.png'); + } + + &.background-34 { + background-image: url('@/assets/images/backgrounds/background/bg_34.png'); + } + + &.background-35 { + background-image: url('@/assets/images/backgrounds/background/bg_35.png'); + } + + &.background-36 { + background-image: url('@/assets/images/backgrounds/background/bg_36.gif'); + } + + &.background-37 { + background-image: url('@/assets/images/backgrounds/background/bg_37.png'); + } + + &.background-38 { + background-image: url('@/assets/images/backgrounds/background/bg_38.png'); + } + + &.background-39 { + background-image: url('@/assets/images/backgrounds/background/bg_39.png'); + } + + &.background-40 { + background-image: url('@/assets/images/backgrounds/background/bg_40.png'); + } + + &.background-41 { + background-image: url('@/assets/images/backgrounds/background/bg_41.png'); + } + + &.background-42 { + background-image: url('@/assets/images/backgrounds/background/bg_42.png'); + } + + &.background-43 { + background-image: url('@/assets/images/backgrounds/background/bg_43.png'); + } + + &.background-44 { + background-image: url('@/assets/images/backgrounds/background/bg_44.png'); + } + + &.background-45 { + background-image: url('@/assets/images/backgrounds/background/bg_45.png'); + } + + &.background-46 { + background-image: url('@/assets/images/backgrounds/background/bg_46.png'); + } + + &.background-47 { + background-image: url('@/assets/images/backgrounds/background/bg_47.png'); + } + + &.background-48 { + background-image: url('@/assets/images/backgrounds/background/bg_48.png'); + } + + &.background-49 { + background-image: url('@/assets/images/backgrounds/background/bg_49.png'); + } + + &.background-50 { + background-image: url('@/assets/images/backgrounds/background/bg_50.png'); + } + + &.background-51 { + background-image: url('@/assets/images/backgrounds/background/bg_51.gif'); + } + + &.background-52 { + background-image: url('@/assets/images/backgrounds/background/bg_52.gif'); + } + + &.background-53 { + background-image: url('@/assets/images/backgrounds/background/bg_53.gif'); + } + + &.background-54 { + background-image: url('@/assets/images/backgrounds/background/bg_54.gif'); + } + + &.background-55 { + background-image: url('@/assets/images/backgrounds/background/bg_55.gif'); + } + + &.background-56 { + background-image: url('@/assets/images/backgrounds/background/bg_56.gif'); + } + + &.background-57 { + background-image: url('@/assets/images/backgrounds/background/bg_57.gif'); + } + + &.background-58 { + background-image: url('@/assets/images/backgrounds/background/bg_58.gif'); + } + + &.background-59 { + background-image: url('@/assets/images/backgrounds/background/bg_59.gif'); + } + + &.background-60 { + background-image: url('@/assets/images/backgrounds/background/bg_60.gif'); + } + + &.background-61 { + background-image: url('@/assets/images/backgrounds/background/bg_61.gif'); + } + + &.background-62 { + background-image: url('@/assets/images/backgrounds/background/bg_62.gif'); + } + + &.background-63 { + background-image: url('@/assets/images/backgrounds/background/bg_63.gif'); + } + + &.background-64 { + background-image: url('@/assets/images/backgrounds/background/bg_64.gif'); + } + + &.background-65 { + background-image: url('@/assets/images/backgrounds/background/bg_65.gif'); + } + + &.background-66 { + background-image: url('@/assets/images/backgrounds/background/bg_66.gif'); + } + + &.background-67 { + background-image: url('@/assets/images/backgrounds/background/bg_67.gif'); + } + + &.background-68 { + background-image: url('@/assets/images/backgrounds/background/bg_68.gif'); + } + + &.background-69 { + background-image: url('@/assets/images/backgrounds/background/bg_69.gif'); + } + + &.background-70 { + background-image: url('@/assets/images/backgrounds/background/bg_70.gif'); + } + + &.background-71 { + background-image: url('@/assets/images/backgrounds/background/bg_71.gif'); + } + + &.background-72 { + background-image: url('@/assets/images/backgrounds/background/bg_72.gif'); + } + + &.background-73 { + background-image: url('@/assets/images/backgrounds/background/bg_73.gif'); + } + + &.background-74 { + background-image: url('@/assets/images/backgrounds/background/bg_74.gif'); + } + + &.background-75 { + background-image: url('@/assets/images/backgrounds/background/bg_75.gif'); + } + + &.background-76 { + background-image: url('@/assets/images/backgrounds/background/bg_76.gif'); + } + + &.background-77 { + background-image: url('@/assets/images/backgrounds/background/bg_77.gif'); + } + + &.background-78 { + background-image: url('@/assets/images/backgrounds/background/bg_78.gif'); + } + + &.background-79 { + background-image: url('@/assets/images/backgrounds/background/bg_79.gif'); + } + + &.background-80 { + background-image: url('@/assets/images/backgrounds/background/bg_80.gif'); + } + + &.background-81 { + background-image: url('@/assets/images/backgrounds/background/bg_81.gif'); + } + + &.background-82 { + background-image: url('@/assets/images/backgrounds/background/bg_82.gif'); + } + + &.background-83 { + background-image: url('@/assets/images/backgrounds/background/bg_83.gif'); + } + + &.background-84 { + background-image: url('@/assets/images/backgrounds/background/bg_84.gif'); + } + + &.background-85 { + background-image: url('@/assets/images/backgrounds/background/bg_85.gif'); + } + + &.background-86 { + background-image: url('@/assets/images/backgrounds/background/bg_86.png'); + } + + &.background-87 { + background-image: url('@/assets/images/backgrounds/background/bg_87.gif'); + } + + &.background-88 { + background-image: url('@/assets/images/backgrounds/background/bg_88.gif'); + } + + &.background-89 { + background-image: url('@/assets/images/backgrounds/background/bg_89.gif'); + } + + &.background-90 { + background-image: url('@/assets/images/backgrounds/background/bg_90.gif'); + } + + &.background-91 { + background-image: url('@/assets/images/backgrounds/background/bg_91.gif'); + } + + &.background-92 { + background-image: url('@/assets/images/backgrounds/background/bg_92.gif'); + } + + &.background-93 { + background-image: url('@/assets/images/backgrounds/background/bg_93.gif'); + } + + &.background-94 { + background-image: url('@/assets/images/backgrounds/background/bg_94.gif'); + } + + &.background-95 { + background-image: url('@/assets/images/backgrounds/background/bg_95.gif'); + } + + &.background-96 { + background-image: url('@/assets/images/backgrounds/background/bg_96.gif'); + } + + &.background-97 { + background-image: url('@/assets/images/backgrounds/background/bg_97.gif'); + } + + &.background-98 { + background-image: url('@/assets/images/backgrounds/background/bg_98.gif'); + } + + &.background-99 { + background-image: url('@/assets/images/backgrounds/background/bg_99.gif'); + } + + &.background-100 { + background-image: url('@/assets/images/backgrounds/background/bg_100.gif'); + } + + &.background-101 { + background-image: url('@/assets/images/backgrounds/background/bg_101.png'); + } + + &.background-102 { + background-image: url('@/assets/images/backgrounds/background/bg_102.gif'); + } + + &.background-103 { + background-image: url('@/assets/images/backgrounds/background/bg_103.gif'); + } + + &.background-104 { + background-image: url('@/assets/images/backgrounds/background/bg_104.gif'); + } + + &.background-105 { + background-image: url('@/assets/images/backgrounds/background/bg_105.gif'); + } + + &.background-106 { + background-image: url('@/assets/images/backgrounds/background/bg_106.gif'); + } + + &.background-107 { + background-image: url('@/assets/images/backgrounds/background/bg_107.gif'); + } + + &.background-108 { + background-image: url('@/assets/images/backgrounds/background/bg_108.gif'); + } + + &.background-109 { + background-image: url('@/assets/images/backgrounds/background/bg_109.gif'); + } + + &.background-110 { + background-image: url('@/assets/images/backgrounds/background/bg_110.gif'); + } + + &.background-111 { + background-image: url('@/assets/images/backgrounds/background/bg_111.gif'); + } + + &.background-112 { + background-image: url('@/assets/images/backgrounds/background/bg_112.gif'); + } + + &.background-113 { + background-image: url('@/assets/images/backgrounds/background/bg_113.gif'); + } + + &.background-114 { + background-image: url('@/assets/images/backgrounds/background/bg_114.gif'); + } + + &.background-115 { + background-image: url('@/assets/images/backgrounds/background/bg_115.gif'); + } + + &.background-116 { + background-image: url('@/assets/images/backgrounds/background/bg_116.gif'); + } + + &.background-117 { + background-image: url('@/assets/images/backgrounds/background/bg_117.gif'); + } + + &.background-118 { + background-image: url('@/assets/images/backgrounds/background/bg_118.gif'); + } + + &.background-119 { + background-image: url('@/assets/images/backgrounds/background/bg_119.gif'); + } + + &.background-120 { + background-image: url('@/assets/images/backgrounds/background/bg_120.gif'); + } + + &.background-121 { + background-image: url('@/assets/images/backgrounds/background/bg_121.gif'); + } + + &.background-122 { + background-image: url('@/assets/images/backgrounds/background/bg_122.gif'); + } + + &.background-123 { + background-image: url('@/assets/images/backgrounds/background/bg_123.gif'); + } + + &.background-124 { + background-image: url('@/assets/images/backgrounds/background/bg_124.gif'); + } + + &.background-125 { + background-image: url('@/assets/images/backgrounds/background/bg_125.gif'); + } + + &.background-126 { + background-image: url('@/assets/images/backgrounds/background/bg_126.gif'); + } + + &.background-127 { + background-image: url('@/assets/images/backgrounds/background/bg_127.gif'); + } + + &.background-128 { + background-image: url('@/assets/images/backgrounds/background/bg_128.gif'); + } + + &.background-129 { + background-image: url('@/assets/images/backgrounds/background/bg_129.gif'); + } + + &.background-130 { + background-image: url('@/assets/images/backgrounds/background/bg_130.gif'); + } + + &.background-131 { + background-image: url('@/assets/images/backgrounds/background/bg_131.gif'); + } + + &.background-132 { + background-image: url('@/assets/images/backgrounds/background/bg_132.gif'); + } + + &.background-133 { + background-image: url('@/assets/images/backgrounds/background/bg_133.gif'); + } + + &.background-134 { + background-image: url('@/assets/images/backgrounds/background/bg_134.gif'); + } + + &.background-135 { + background-image: url('@/assets/images/backgrounds/background/bg_135.gif'); + } + + &.background-136 { + background-image: url('@/assets/images/backgrounds/background/bg_136.gif'); + } + + &.background-137 { + background-image: url('@/assets/images/backgrounds/background/bg_137.gif'); + } + + &.background-138 { + background-image: url('@/assets/images/backgrounds/background/bg_138.gif'); + } + + &.background-139 { + background-image: url('@/assets/images/backgrounds/background/bg_139.gif'); + } + + &.background-140 { + background-image: url('@/assets/images/backgrounds/background/bg_140.gif'); + } + + &.background-141 { + background-image: url('@/assets/images/backgrounds/background/bg_141.gif'); + } + + &.background-142 { + background-image: url('@/assets/images/backgrounds/background/bg_142.gif'); + } + + &.background-143 { + background-image: url('@/assets/images/backgrounds/background/bg_143.gif'); + } + + &.background-144 { + background-image: url('@/assets/images/backgrounds/background/bg_144.gif'); + } + + &.background-145 { + background-image: url('@/assets/images/backgrounds/background/bg_145.gif'); + } + + &.background-146 { + background-image: url('@/assets/images/backgrounds/background/bg_146.gif'); + } + + &.background-147 { + background-image: url('@/assets/images/backgrounds/background/bg_147.gif'); + } + + &.background-148 { + background-image: url('@/assets/images/backgrounds/background/bg_148.gif'); + } + + &.background-149 { + background-image: url('@/assets/images/backgrounds/background/bg_149.gif'); + } + + &.background-150 { + background-image: url('@/assets/images/backgrounds/background/bg_150.gif'); + } + + &.background-151 { + background-image: url('@/assets/images/backgrounds/background/bg_151.gif'); + } + + &.background-152 { + background-image: url('@/assets/images/backgrounds/background/bg_152.gif'); + } + + &.background-153 { + background-image: url('@/assets/images/backgrounds/background/bg_153.gif'); + } + + &.background-154 { + background-image: url('@/assets/images/backgrounds/background/bg_154.gif'); + } + + &.background-155 { + background-image: url('@/assets/images/backgrounds/background/bg_155.gif'); + } + + &.background-156 { + background-image: url('@/assets/images/backgrounds/background/bg_156.gif'); + } + + &.background-157 { + background-image: url('@/assets/images/backgrounds/background/bg_157.gif'); + } + + &.background-158 { + background-image: url('@/assets/images/backgrounds/background/bg_158.gif'); + } + + &.background-159 { + background-image: url('@/assets/images/backgrounds/background/bg_159.gif'); + } + + &.background-160 { + background-image: url('@/assets/images/backgrounds/background/bg_160.gif'); + } + + &.background-161 { + background-image: url('@/assets/images/backgrounds/background/bg_161.gif'); + } + + &.background-162 { + background-image: url('@/assets/images/backgrounds/background/bg_162.gif'); + } + + &.background-163 { + background-image: url('@/assets/images/backgrounds/background/bg_163.gif'); + } + + &.background-164 { + background-image: url('@/assets/images/backgrounds/background/bg_164.gif'); + } + + &.background-165 { + background-image: url('@/assets/images/backgrounds/background/bg_165.gif'); + } + + &.background-166 { + background-image: url('@/assets/images/backgrounds/background/bg_166.gif'); + } + + &.background-167 { + background-image: url('@/assets/images/backgrounds/background/bg_167.gif'); + } + + &.background-168 { + background-image: url('@/assets/images/backgrounds/background/bg_168.gif'); + } + + &.background-169 { + background-image: url('@/assets/images/backgrounds/background/bg_169.gif'); + } + + &.background-170 { + background-image: url('@/assets/images/backgrounds/background/bg_170.png'); + } + + &.background-171 { + background-image: url('@/assets/images/backgrounds/background/bg_171.png'); + } + + &.background-172 { + background-image: url('@/assets/images/backgrounds/background/bg_172.png'); + } + + &.background-173 { + background-image: url('@/assets/images/backgrounds/background/bg_173.png'); + } + + &.background-174 { + background-image: url('@/assets/images/backgrounds/background/bg_174.png'); + } + + &.background-175 { + background-image: url('@/assets/images/backgrounds/background/bg_175.png'); + } + + &.background-176 { + background-image: url('@/assets/images/backgrounds/background/bg_176.png'); + } + + &.background-177 { + background-image: url('@/assets/images/backgrounds/background/bg_177.gif'); + } + + &.background-178 { + background-image: url('@/assets/images/backgrounds/background/bg_178.png'); + } + + &.background-179 { + background-image: url('@/assets/images/backgrounds/background/bg_179.png'); + } + + &.background-180 { + background-image: url('@/assets/images/backgrounds/background/bg_180.png'); + } + + &.background-181 { + background-image: url('@/assets/images/backgrounds/background/bg_181.png'); + } + + &.background-182 { + background-image: url('@/assets/images/backgrounds/background/bg_182.png'); + } + + &.background-183 { + background-image: url('@/assets/images/backgrounds/background/bg_183.png'); + } + + &.background-184 { + background-image: url('@/assets/images/backgrounds/background/bg_184.png'); + } + + &.background-185 { + background-image: url('@/assets/images/backgrounds/background/bg_185.png'); + } + + &.background-186 { + background-image: url('@/assets/images/backgrounds/background/bg_186.png'); + } + + &.background-187 { + background-image: url('@/assets/images/backgrounds/background/bg_187.gif'); + } +} + +.profile-stand { + background-repeat: no-repeat; + background-position: center; + height: 135px; + width: 68px; + + &.stand-0 { + background-image: url('@/assets/images/backgrounds/stand_0.png'); + } + &.stand-1 { + background-image: url('@/assets/images/backgrounds/stand_1.png'); + } + &.stand-2 { + background-image: url('@/assets/images/backgrounds/stand_2.png'); + } + &.stand-3 { + background-image: url('@/assets/images/backgrounds/stand_3.png'); + } + &.stand-4 { + background-image: url('@/assets/images/backgrounds/stand_4.png'); + } + &.stand-5 { + background-image: url('@/assets/images/backgrounds/stand_5.png'); + } + &.stand-6 { + background-image: url('@/assets/images/backgrounds/stand_6.png'); + } + &.stand-7 { + background-image: url('@/assets/images/backgrounds/stand_7.png'); + } + &.stand-8 { + background-image: url('@/assets/images/backgrounds/stand_8.png'); + } + &.stand-9 { + background-image: url('@/assets/images/backgrounds/stand_9.png'); + } + &.stand-10 { + background-image: url('@/assets/images/backgrounds/stand_10.png'); + } + &.stand-11 { + background-image: url('@/assets/images/backgrounds/stand_11.png'); + } + &.stand-12 { + background-image: url('@/assets/images/backgrounds/stand_12.png'); + } + &.stand-13 { + background-image: url('@/assets/images/backgrounds/stand_13.png'); + } + &.stand-14 { + background-image: url('@/assets/images/backgrounds/stand_14.png'); + } + &.stand-15 { + background-image: url('@/assets/images/backgrounds/stand_15.png'); + } + &.stand-16 { + background-image: url('@/assets/images/backgrounds/stand_16.png'); + } + &.stand-17 { + background-image: url('@/assets/images/backgrounds/stand_17.png'); + } + &.stand-18 { + background-image: url('@/assets/images/backgrounds/stand_18.png'); + } + &.stand-19 { + background-image: url('@/assets/images/backgrounds/stand_19.png'); + } + &.stand-20 { + background-image: url('@/assets/images/backgrounds/stand_20.png'); + } + &.stand-21 { + background-image: url('@/assets/images/backgrounds/stand_21.gif'); + } +} + +.profile-overlay { + background-repeat: no-repeat; + background-position: center; + height: 135px; + width: 68px; + + &.overlay-0 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_0.png'); + } + &.overlay-1 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_1.png'); + } + &.overlay-2 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_2.png'); + } + &.overlay-3 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_3.png'); + } + &.overlay-4 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_4.png'); + } + &.overlay-5 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_5.gif'); + } + &.overlay-6 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_6.png'); + } + &.overlay-7 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_7.png'); + } + &.overlay-8 { + background-image: url('@/assets/images/backgrounds/overlay/overlay_8.png'); + } +} \ No newline at end of file diff --git a/src/components/backgrounds/BackgroundsView.tsx b/src/components/backgrounds/BackgroundsView.tsx new file mode 100644 index 0000000..b0ff1e6 --- /dev/null +++ b/src/components/backgrounds/BackgroundsView.tsx @@ -0,0 +1,111 @@ +import { Dispatch, FC, SetStateAction, useCallback, useMemo, useState } from 'react'; +import { Base, Grid, Flex, NitroCardView, NitroCardHeaderView, NitroCardTabsView, NitroCardTabsItemView, NitroCardContentView, Text, LayoutCurrencyIcon } from '../../common'; +import { useRoom } from '../../hooks'; +import { HabboClubLevelEnum } from '@nitrots/nitro-renderer'; +import { GetClubMemberLevel, GetConfiguration, GetSessionDataManager } from '../../api'; + +interface ItemData { + id: number; + isHcOnly: boolean; + minRank: number; + isAmbassadorOnly: boolean; + selectable: boolean; +} + +interface BackgroundsViewProps { + setIsVisible: Dispatch>; + selectedBackground: number; + setSelectedBackground: Dispatch>; + selectedStand: number; + setSelectedStand: Dispatch>; + selectedOverlay: number; + setSelectedOverlay: Dispatch>; +} + +const TABS = ['backgrounds', 'stands', 'overlays'] as const; +type TabType = typeof TABS[number]; + +export const BackgroundsView: FC = ({ + setIsVisible, + selectedBackground, + setSelectedBackground, + selectedStand, + setSelectedStand, + selectedOverlay, + setSelectedOverlay +}) => { + const [activeTab, setActiveTab] = useState('backgrounds'); + const { roomSession } = useRoom(); + + const userData = useMemo(() => ({ + isHcMember: GetClubMemberLevel() >= HabboClubLevelEnum.CLUB, + securityLevel: GetSessionDataManager().canChangeName, + isAmbassador: GetSessionDataManager().isAmbassador + }), []); + + const processData = useCallback((configData: any[], dataType: string): ItemData[] => { + if (!configData?.length) return []; + + return configData + .filter(item => { + const meetsRank = userData.securityLevel >= item.minRank; + const ambassadorEligible = !item.isAmbassadorOnly || userData.isAmbassador; + return item.isHcOnly || (meetsRank && ambassadorEligible); + }) + .map(item => ({ id: item[`${dataType}Id`], ...item, selectable: !item.isHcOnly || userData.isHcMember })); + }, [userData]); + + const allData = useMemo(() => ({ + backgrounds: processData(GetConfiguration('backgrounds.data'), 'background'), + stands: processData(GetConfiguration('stands.data'), 'stand'), + overlays: processData(GetConfiguration('overlays.data'), 'overlay') + }), [processData]); + + const handleSelection = useCallback((id: number) => { + if (!roomSession) return; + + const setters = { backgrounds: setSelectedBackground, stands: setSelectedStand, overlays: setSelectedOverlay }; + + const currentValues = { backgrounds: selectedBackground, stands: selectedStand, overlays: selectedOverlay }; + + setters[activeTab](id); + const newValues = { ...currentValues, [activeTab]: id }; + roomSession.sendBackgroundMessage( newValues.backgrounds, newValues.stands, newValues.overlays ); + }, [activeTab, roomSession, selectedBackground, selectedStand, selectedOverlay, setSelectedBackground, setSelectedStand, setSelectedOverlay]); + + const renderItem = useCallback((item: ItemData, type: string) => ( + item.selectable && handleSelection(item.id)} + className={item.selectable ? '' : 'non-selectable'} + > + + {item.isHcOnly && } + + ), [handleSelection]); + + return ( + + setIsVisible(false)} /> + + {TABS.map(tab => ( + setActiveTab(tab)} + > + {tab.charAt(0).toUpperCase() + tab.slice(1)} + + ))} + + + Select an Option + + {allData[activeTab].map(item => renderItem(item, activeTab.slice(0, -1)))} + + + + ); +}; \ No newline at end of file diff --git a/src/components/index.scss b/src/components/index.scss index 8e1cd2b..6ae91e9 100644 --- a/src/components/index.scss +++ b/src/components/index.scss @@ -1,5 +1,6 @@ @import './achievements/AchievementsView'; @import './avatar-editor/AvatarEditorView'; +@import './backgrounds/BackgroundsView'; @import './camera/CameraWidgetView'; @import './campaign/CampaignView'; @import './catalog/CatalogView'; diff --git a/src/components/room/widgets/avatar-info/AvatarInfoWidgetView.scss b/src/components/room/widgets/avatar-info/AvatarInfoWidgetView.scss index 0d12ad5..bec36e2 100644 --- a/src/components/room/widgets/avatar-info/AvatarInfoWidgetView.scss +++ b/src/components/room/widgets/avatar-info/AvatarInfoWidgetView.scss @@ -54,7 +54,6 @@ display: flex; align-items: center; justify-content: center; - background-color: rgba($light-dark, 1); width: 100%; max-width: 68px; border-radius: $border-radius; @@ -136,4 +135,9 @@ .pet-stats { height: 18px; } + + .edit-icon-position { + right: 2px; + top: 2px; + } } diff --git a/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetFurniView.tsx b/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetFurniView.tsx index a640df2..732818c 100644 --- a/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetFurniView.tsx +++ b/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetFurniView.tsx @@ -1,5 +1,7 @@ -import { CrackableDataType, GroupInformationComposer, GroupInformationEvent, NowPlayingEvent, RoomControllerLevel, RoomObjectCategory, RoomObjectOperationType, RoomObjectVariable, RoomWidgetEnumItemExtradataParameter, RoomWidgetFurniInfoUsagePolicyEnum, SetObjectDataMessageComposer, SongInfoReceivedEvent, StringDataType } from '@nitrots/nitro-renderer'; +import { CrackableDataType, FurnitureFloorUpdateEvent, GroupInformationComposer, GroupInformationEvent, NowPlayingEvent, RoomControllerLevel, RoomObjectCategory, RoomObjectOperationType, RoomObjectVariable, RoomWidgetEnumItemExtradataParameter, RoomWidgetFurniInfoUsagePolicyEnum, SetObjectDataMessageComposer, SongInfoReceivedEvent, StringDataType, UpdateFurniturePositionComposer } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useState } from 'react'; +import { FaTimes } from 'react-icons/fa'; +import { GrFormNextLink, GrRotateLeft, GrRotateRight } from 'react-icons/gr'; import { AvatarInfoFurni, CreateLinkEvent, GetGroupInformation, GetNitroInstance, GetRoomEngine, LocalizeText, SendMessageComposer } from '../../../../../api'; import { Base, Button, Column, Flex, LayoutBadgeImageView, LayoutLimitedEditionCompactPlateView, LayoutRarityLevelView, Text, UserProfileIconView } from '../../../../../common'; import { useMessageEvent, useRoom, useSoundEvent } from '../../../../../hooks'; @@ -39,6 +41,217 @@ export const InfoStandWidgetFurniView: FC = props const [ songName, setSongName ] = useState(''); const [ songCreator, setSongCreator ] = useState(''); const [itemLocation, setItemLocation] = useState<{ x: number; y: number; z: number; }>({ x: -1, y: -1, z: -1 }); + + const [ dropdownOpen, setDropdownOpen ] = useState(sessionStorage.getItem('dropdownOpen') === 'true'); + const [ furniLocationX, setFurniLocationX ] = useState(null); + const [ furniLocationY, setFurniLocationY ] = useState(null); + const [ furniLocationZ, setFurniLocationZ ] = useState(null); + const [ furniDirection, setFurniDirection ] = useState(null); + const [ furniState, setFurniState ] = useState(null); + + const sendUpdate = useCallback((deltaX: number, deltaY: number, deltaZ: number = 0, deltaDirection: number = 0) => + { + if (!avatarInfo) return; + + const roomId = GetRoomEngine().activeRoomId; + const roomObject = GetRoomEngine().getRoomObject(roomId, avatarInfo.id, avatarInfo.category); + if (!roomObject) return; + + const newX = roomObject.getLocation().x + deltaX; + const newY = roomObject.getLocation().y + deltaY; + const newZ = deltaZ * 10000; + + const currentDirection = roomObject.getDirection().x; + + const newDirection = (deltaDirection !== 0) + ? getValidRoomObjectDirection(roomObject, deltaDirection > 0) / 45 + : currentDirection / 45; + + SendMessageComposer(new UpdateFurniturePositionComposer(avatarInfo.id, newX, newY, newZ, newDirection)); + }, [ avatarInfo ]); + + function getRotationIndex(directionVector) + { + const angle = directionVector.x; + + switch(angle) + { + case 0: return 0; + case 45: return 1; + case 90: return 2; + case 135: return 3; + case 180: return 4; + case 225: return 5; + case 270: return 6; + case 315: return 7; + default: return null; // Handle unexpected angles + } + } + + useEffect(() => + { + const roomId = roomSession.roomId; + const objectId = avatarInfo.id; + const isWallItem = avatarInfo.isWallItem; + + const locationString = GetRoomEngine().getFurniLocation(roomId, objectId, isWallItem); + const locationVector = parseVector3d(locationString); + + if (locationVector) + { + setFurniLocationX(locationVector.x); + setFurniLocationY(locationVector.y); + setFurniLocationZ(locationVector.z); + } + + const directionString = GetRoomEngine().getFurniDirection(roomId, objectId, isWallItem); + const directionVector = parseVector3d(directionString); + const rotationIndex = directionVector ? getRotationIndex(directionVector) : null; + + const state = GetRoomEngine().getFurniState(roomId, objectId, isWallItem); + + setFurniDirection(rotationIndex); + setFurniState(state); + }, [ avatarInfo, roomSession ]); + + function parseVector3d(vectorString: string) + { + if (!vectorString) return null; + + const matches = vectorString.match(/\[Vector3d: ([\d.]+), ([\d.]+), ([\d.]+)/); + if (matches && matches.length === 4) + { + return { + x: parseFloat(matches[1]), + y: parseFloat(matches[2]), + z: parseFloat(matches[3]) + }; + } + return null; + } + + useMessageEvent(FurnitureFloorUpdateEvent, event => + { + const parser = event.getParser(); + const item = parser.item; + + if (item.itemId !== avatarInfo.id) return; + + const locationVector = { + x: item.x, + y: item.y, + z: item.z + }; + + if (locationVector) + { + setFurniLocationX(locationVector.x); + setFurniLocationY(locationVector.y); + setFurniLocationZ(locationVector.z); + } + + const directionVector = { x: item.direction }; + const rotationIndex = directionVector ? getRotationIndex(directionVector) : null; + + const state = item.state; + + setFurniDirection(rotationIndex); + setFurniState(state); + }); + + const handleHeightChange = useCallback((event) => + { + let newZ = parseFloat(event.target.value); + if (isNaN(newZ) || newZ < 0) + { + newZ = 0; + } + else if (newZ > 40) + { + newZ = 40; + } + setFurniLocationZ(newZ); + sendUpdate(0, 0, newZ, 0); + }, [ sendUpdate ]); + + const handleHeightBlur = useCallback((event) => + { + let newZ = parseFloat(event.target.value); + if (isNaN(newZ) || newZ < 0) + { + newZ = 0; + } + else if (newZ > 40) + { + newZ = 40; + } + newZ = parseFloat(newZ.toFixed(4)); + setFurniLocationZ(newZ); + sendUpdate(0, 0, newZ, 0); + }, [ sendUpdate ]); + + const adjustHeight = useCallback((amount) => + { + let newZ = furniLocationZ + amount; + if (newZ < 0) + { + newZ = 0; + } + else if (newZ > 40) + { + newZ = 40; + } + newZ = parseFloat(newZ.toFixed(4)); + setFurniLocationZ(newZ); + sendUpdate(0, 0, newZ, 0); + }, [ furniLocationZ, sendUpdate ]); + + function getValidRoomObjectDirection(roomObject, isPositive) + { + if (!roomObject || !roomObject.model) return 0; + + let allowedDirections = []; + + if (roomObject.type === 'monster_plant') + { + allowedDirections = roomObject.model.getValue('pet_allowed_directions'); + } + else + { + allowedDirections = roomObject.model.getValue('furniture_allowed_directions'); + } + + let direction = roomObject.getDirection().x; + + if (allowedDirections && allowedDirections.length) + { + let index = allowedDirections.indexOf(direction); + + if (index < 0) + { + index = 0; + for (let i = 0; i < allowedDirections.length; i++) + { + if (direction <= allowedDirections[i]) break; + index++; + } + index = index % allowedDirections.length; + } + + if (isPositive) + { + index = (index + 1) % allowedDirections.length; + } + else + { + index = (index - 1 + allowedDirections.length) % allowedDirections.length; + } + + direction = allowedDirections[index]; + } + + return direction; + } useSoundEvent(NowPlayingEvent.NPE_SONG_CHANGED, event => { @@ -241,7 +454,6 @@ export const InfoStandWidgetFurniView: FC = props if(furniKeys.length === 0 || furniValues.length === 0) return ''; let data = ''; - let i = 0; while(i < furniKeys.length) @@ -250,7 +462,6 @@ export const InfoStandWidgetFurniView: FC = props const value = furniValues[i]; data = (data + (key + '=' + value + '\t')); - i++; } @@ -296,7 +507,6 @@ export const InfoStandWidgetFurniView: FC = props for(const part of dataParts) { const [ key, value ] = part.split('=', 2); - mapData.set(key, value); } } @@ -425,6 +635,63 @@ export const InfoStandWidgetFurniView: FC = props { godMode && <>
+ { (!avatarInfo.isWallItem && canMove) && + <> + + { dropdownOpen && + <> + + + + {LocalizeText('group.edit.badge.position')} + + + sendUpdate(-1, 0, furniLocationZ, 0) }> + sendUpdate(0, -1, furniLocationZ, 0) }> + + + sendUpdate(0, 1, furniLocationZ, 0) }> + sendUpdate(1, 0, furniLocationZ, 0) }> + + + {LocalizeText('infostand.button.rotate')} + + sendUpdate(0, 0, furniLocationZ, -1) }> + sendUpdate(0, 0, furniLocationZ, 1) }> + + + + + + {LocalizeText('stack.magic.tile.height.label')} + + + + adjustHeight(1) }>↑ + █ + adjustHeight(-1) }>↓ + + + adjustHeight(0.1) }>↑ + ▄ + adjustHeight(-0.1) }>↓ + + + adjustHeight(0.01) }>↑ + _ + adjustHeight(-0.01) }>↓ + + + + + + + } + + } { (furniKeys.length > 0) && <>
diff --git a/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserView.tsx b/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserView.tsx index 5f2641c..e45b079 100644 --- a/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserView.tsx +++ b/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserView.tsx @@ -1,215 +1,219 @@ -import { RelationshipStatusInfoEvent, RelationshipStatusInfoMessageParser, RoomSessionFavoriteGroupUpdateEvent, RoomSessionUserBadgesEvent, RoomSessionUserFigureUpdateEvent, UserRelationshipsComposer } from '@nitrots/nitro-renderer'; -import { Dispatch, FC, FocusEvent, KeyboardEvent, SetStateAction, useEffect, useState } from 'react'; +import { RelationshipStatusInfoEvent, RoomSessionFavoriteGroupUpdateEvent, RoomSessionUserBadgesEvent, RoomSessionUserFigureUpdateEvent, UserRelationshipsComposer } from '@nitrots/nitro-renderer'; +import { Dispatch, FC, SetStateAction, useCallback, useEffect, useMemo, useState } from 'react'; import { FaPencilAlt, FaTimes } from 'react-icons/fa'; import { AvatarInfoUser, CloneObject, GetConfiguration, GetGroupInformation, GetSessionDataManager, GetUserProfile, LocalizeText, SendMessageComposer } from '../../../../../api'; -import { Column, Flex, LayoutAvatarImageView, LayoutBadgeImageView, Text, UserProfileIconView } from '../../../../../common'; +import { Base, Column, Flex, LayoutAvatarImageView, LayoutBadgeImageView, Text, UserProfileIconView } from '../../../../../common'; import { useMessageEvent, useRoom, useRoomSessionManagerEvent } from '../../../../../hooks'; import { InfoStandWidgetUserRelationshipsView } from './InfoStandWidgetUserRelationshipsView'; import { InfoStandWidgetUserTagsView } from './InfoStandWidgetUserTagsView'; +import { BackgroundsView } from '../../../../backgrounds/BackgroundsView'; -interface InfoStandWidgetUserViewProps -{ - avatarInfo: AvatarInfoUser; - setAvatarInfo: Dispatch>; +interface InfoStandWidgetUserViewProps { + avatarInfo: AvatarInfoUser | null; + setAvatarInfo: Dispatch>; onClose: () => void; } -export const InfoStandWidgetUserView: FC = props => -{ - const { avatarInfo = null, setAvatarInfo = null, onClose = null } = props; - const [ motto, setMotto ] = useState(null); - const [ isEditingMotto, setIsEditingMotto ] = useState(false); - const [ relationships, setRelationships ] = useState(null); - const { roomSession = null } = useRoom(); +export const InfoStandWidgetUserView: FC = ({ + avatarInfo, + setAvatarInfo, + onClose +}) => { + const [motto, setMotto] = useState(''); + const [isEditingMotto, setIsEditingMotto] = useState(false); + const [relationships, setRelationships] = useState(null); + const [isVisible, setIsVisible] = useState(false); + const { roomSession } = useRoom(); - const saveMotto = (motto: string) => - { - if(!isEditingMotto || (motto.length > GetConfiguration('motto.max.length', 38))) return; + const config = useMemo(() => ({ + maxMottoLength: GetConfiguration('motto.max.length', 38), + tagsEnabled: GetConfiguration('user.tags.enabled') + }), []); - roomSession.sendMottoMessage(motto); + const backgroundClasses = useMemo(() => ({ + background: `background-${avatarInfo?.backgroundId ?? 0}`, + stand: `stand-${avatarInfo?.standId ?? 0}`, + overlay: `overlay-${avatarInfo?.overlayId ?? 0}` + }), [avatarInfo?.backgroundId, avatarInfo?.standId, avatarInfo?.overlayId]); + const saveMotto = useCallback((newMotto: string) => { + if (!isEditingMotto || !roomSession || newMotto.length > config.maxMottoLength) return; + + roomSession.sendMottoMessage(newMotto); setIsEditingMotto(false); - } + }, [isEditingMotto, roomSession, config.maxMottoLength]); - const onMottoBlur = (event: FocusEvent) => saveMotto(event.target.value); + const handleMottoBlur = useCallback((event: React.FocusEvent) => + saveMotto(event.target.value), [saveMotto]); - const onMottoKeyDown = (event: KeyboardEvent) => - { + const handleMottoKeyDown = useCallback((event: React.KeyboardEvent) => { event.stopPropagation(); + if (event.key === 'Enter') saveMotto(event.currentTarget.value); + }, [saveMotto]); - switch(event.key) - { - case 'Enter': - saveMotto((event.target as HTMLInputElement).value); - return; - } - } + const updateAvatarInfo = useCallback((updater: (prev: AvatarInfoUser) => AvatarInfoUser) => { + setAvatarInfo(prev => prev ? updater(CloneObject(prev)) : prev); + }, [setAvatarInfo]); - useRoomSessionManagerEvent(RoomSessionUserBadgesEvent.RSUBE_BADGES, event => - { - if(!avatarInfo || (avatarInfo.webID !== event.userId)) return; + useRoomSessionManagerEvent(RoomSessionUserBadgesEvent.RSUBE_BADGES, useCallback(event => { + if (!avatarInfo || avatarInfo.webID !== event.userId || avatarInfo.badges.join('') === event.badges.join('')) return; + updateAvatarInfo(prev => ({ ...prev, badges: event.badges })); + }, [avatarInfo, updateAvatarInfo])); - const oldBadges = avatarInfo.badges.join(''); + useRoomSessionManagerEvent(RoomSessionUserFigureUpdateEvent.USER_FIGURE, useCallback(event => { + if (!avatarInfo || avatarInfo.roomIndex !== event.roomIndex) return; + updateAvatarInfo(prev => ({ + ...prev, + figure: event.figure, + motto: event.customInfo, + backgroundId: event.backgroundId, + standId: event.standId, + overlayId: event.overlayId, + achievementScore: event.activityPoints + })); + }, [avatarInfo, updateAvatarInfo])); - if(oldBadges === event.badges.join('')) return; + useRoomSessionManagerEvent(RoomSessionFavoriteGroupUpdateEvent.FAVOURITE_GROUP_UPDATE, useCallback(event => { + if (!avatarInfo || avatarInfo.roomIndex !== event.roomIndex) return; + const clearGroup = (event.status === -1 || event.habboGroupId <= 0); + updateAvatarInfo(prev => ({ + ...prev, + groupId: clearGroup ? -1 : event.habboGroupId, + groupName: clearGroup ? null : event.habboGroupName, + groupBadgeId: clearGroup ? null : GetSessionDataManager().getGroupBadge(event.habboGroupId) + })); + }, [avatarInfo, updateAvatarInfo])); - setAvatarInfo(prevValue => - { - const newValue = CloneObject(prevValue); - - newValue.badges = event.badges; - - return newValue; - }); - }); - - useRoomSessionManagerEvent(RoomSessionUserFigureUpdateEvent.USER_FIGURE, event => - { - if(!avatarInfo || (avatarInfo.roomIndex !== event.roomIndex)) return; - - setAvatarInfo(prevValue => - { - const newValue = CloneObject(prevValue); - - newValue.figure = event.figure; - newValue.motto = event.customInfo; - newValue.achievementScore = event.activityPoints; - - return newValue; - }); - }); - - useRoomSessionManagerEvent(RoomSessionFavoriteGroupUpdateEvent.FAVOURITE_GROUP_UPDATE, event => - { - if(!avatarInfo || (avatarInfo.roomIndex !== event.roomIndex)) return; - - setAvatarInfo(prevValue => - { - const newValue = CloneObject(prevValue); - const clearGroup = ((event.status === -1) || (event.habboGroupId <= 0)); - - newValue.groupId = clearGroup ? -1 : event.habboGroupId; - newValue.groupName = clearGroup ? null : event.habboGroupName - newValue.groupBadgeId = clearGroup ? null : GetSessionDataManager().getGroupBadge(event.habboGroupId); - - return newValue; - }); - }); - - useMessageEvent(RelationshipStatusInfoEvent, event => - { + useMessageEvent(RelationshipStatusInfoEvent, useCallback(event => { const parser = event.getParser(); - - if(!avatarInfo || (avatarInfo.webID !== parser.userId)) return; - + if (!avatarInfo || avatarInfo.webID !== parser.userId) return; setRelationships(parser); - }); + }, [avatarInfo])); - useEffect(() => - { - setIsEditingMotto(false); - setMotto(avatarInfo.motto); + useEffect(() => { + if (!avatarInfo) return; + setMotto(avatarInfo.motto || ''); SendMessageComposer(new UserRelationshipsComposer(avatarInfo.webID)); - return () => - { + return () => { setIsEditingMotto(false); - setMotto(null); + setMotto(''); setRelationships(null); - } - }, [ avatarInfo ]); + }; + }, [avatarInfo]); - if(!avatarInfo) return null; + if (!avatarInfo) return null; + + const isOwnUser = avatarInfo.type === AvatarInfoUser.OWN_USER; + const renderBadge = (index: number) => avatarInfo.badges[index] && ( + + + + ); return ( - - + + - - - { avatarInfo.name } + + + {avatarInfo.name} - +
- - - GetUserProfile(avatarInfo.webID) }> - + + + GetUserProfile(avatarInfo.webID)}> + + + + {isOwnUser && ( { e.stopPropagation(); setIsVisible(prev => !prev); }} /> )} - - - - { avatarInfo.badges[0] && } - - 0) } className="badge-image" onClick={ event => GetGroupInformation(avatarInfo.groupId) }> - { avatarInfo.groupId > 0 && - } - - - - - { avatarInfo.badges[1] && } - - - { avatarInfo.badges[2] && } - - - - - { avatarInfo.badges[3] && } - - - { avatarInfo.badges[4] && } + + + {renderBadge(0)} + 0} className="badge-image" + onClick={() => avatarInfo.groupId > 0 && GetGroupInformation(avatarInfo.groupId)}> + {avatarInfo.groupId > 0 && ( + + )} + {renderBadge(1)}{renderBadge(2)} + {renderBadge(3)}{renderBadge(4)}
- + - { (avatarInfo.type !== AvatarInfoUser.OWN_USER) && - - { motto } - } - { avatarInfo.type === AvatarInfoUser.OWN_USER && - + {!isOwnUser ? ( + {motto} + ) : ( + - - { !isEditingMotto && - setIsEditingMotto(true) }>{ motto }  } - { isEditingMotto && - ('motto.max.length', 38) } value={ motto } onChange={ event => setMotto(event.target.value) } onBlur={ onMottoBlur } onKeyDown={ onMottoKeyDown } autoFocus={ true } /> } - - } + {!isEditingMotto ? ( + setIsEditingMotto(true)}>{motto}  + ) : ( + setMotto(e.target.value)} + onBlur={handleMottoBlur} + onKeyDown={handleMottoKeyDown} + autoFocus + /> + )} + + )}
- + - { LocalizeText('infostand.text.achievement_score') + ' ' + avatarInfo.achievementScore } + {LocalizeText('infostand.text.achievement_score')} {avatarInfo.achievementScore} - { (avatarInfo.carryItem > 0) && + {avatarInfo.carryItem > 0 && ( <>
- { LocalizeText('infostand.text.handitem', [ 'item' ], [ LocalizeText('handitem' + avatarInfo.carryItem) ]) } + {LocalizeText('infostand.text.handitem', ['item'], [LocalizeText('handitem' + avatarInfo.carryItem)])} - } + + )}
- - - - { GetConfiguration('user.tags.enabled') && - - + + {config.tagsEnabled && ( + + - } + )} + {isVisible && isOwnUser && ( + updateAvatarInfo(prev => ({ ...prev, backgroundId: id }))} + selectedStand={avatarInfo.standId ?? 0} + setSelectedStand={id => updateAvatarInfo(prev => ({ ...prev, standId: id }))} + selectedOverlay={avatarInfo.overlayId ?? 0} + setSelectedOverlay={id => updateAvatarInfo(prev => ({ ...prev, overlayId: id }))} + /> + )}
); -} +}; \ No newline at end of file diff --git a/submodules/renderer/src/api/nitro/room/IRoomEngine.ts b/submodules/renderer/src/api/nitro/room/IRoomEngine.ts index b1f4294..1657781 100644 --- a/submodules/renderer/src/api/nitro/room/IRoomEngine.ts +++ b/submodules/renderer/src/api/nitro/room/IRoomEngine.ts @@ -87,7 +87,10 @@ export interface IRoomEngine extends INitroManager saveTextureAsScreenshot(texture: RenderTexture, saveAsThumbnail?: boolean): void; saveBase64AsScreenshot(base64: string, saveAsThumbnail?: boolean): void; deleteRoomObject(objectId: number, objectCategory: number): boolean; - sessionDataManager: ISessionDataManager; + getFurniLocation(roomId: number, objectId: number, isWallItem: boolean): string; + getFurniDirection(roomId: number, objectId: number, isWallItem: boolean): number; + getFurniState(roomId: number, objectId: number, isWallItem: boolean): number; + sessionDataManager: ISessionDataManager; roomSessionManager: IRoomSessionManager; roomManager: IRoomManager; objectEventHandler: IRoomObjectEventManager; diff --git a/submodules/renderer/src/api/nitro/session/IRoomSession.ts b/submodules/renderer/src/api/nitro/session/IRoomSession.ts index 0bee1e5..564c6aa 100644 --- a/submodules/renderer/src/api/nitro/session/IRoomSession.ts +++ b/submodules/renderer/src/api/nitro/session/IRoomSession.ts @@ -17,6 +17,7 @@ export interface IRoomSession extends IDisposable sendWhisperMessage(recipientName: string, text: string, styleId: number): void; sendChatTypingMessage(isTyping: boolean): void; sendMottoMessage(motto: string): void; + sendBackgroundMessage(backgroundId: number, standId: number, overlayId: number): void; sendDanceMessage(danceId: number): void; sendExpressionMessage(expression: number): void; sendSignMessage(sign: number): void; diff --git a/submodules/renderer/src/api/nitro/session/IRoomUserData.ts b/submodules/renderer/src/api/nitro/session/IRoomUserData.ts index 09eaa57..783c79c 100644 --- a/submodules/renderer/src/api/nitro/session/IRoomUserData.ts +++ b/submodules/renderer/src/api/nitro/session/IRoomUserData.ts @@ -7,6 +7,9 @@ export interface IRoomUserData sex: string; figure: string; custom: string; + background: number; + stand: number; + overlay: number; webID: number; groupId: number; groupName: string; @@ -23,4 +26,4 @@ export interface IRoomUserData petLevel: number; botSkills: number[]; isModerator: boolean; -} +} \ No newline at end of file diff --git a/submodules/renderer/src/api/nitro/session/IUserDataManager.ts b/submodules/renderer/src/api/nitro/session/IUserDataManager.ts index 3a10791..7fe61e5 100644 --- a/submodules/renderer/src/api/nitro/session/IUserDataManager.ts +++ b/submodules/renderer/src/api/nitro/session/IUserDataManager.ts @@ -18,6 +18,7 @@ export interface IUserDataManager updateFigure(roomIndex: number, figure: string, sex: string, hasSaddle: boolean, isRiding: boolean): void; updateName(roomIndex: number, name: string): void; updateMotto(roomIndex: number, custom: string): void; + updateBackground(roomIndex: number, background: number, stand: number, overlay: number): void; updateAchievementScore(roomIndex: number, score: number): void; updatePetLevel(roomIndex: number, level: number): void; updatePetBreedingStatus(roomIndex: number, canBreed: boolean, canHarvest: boolean, canRevive: boolean, hasBreedingPermission: boolean): void; diff --git a/submodules/renderer/src/events/session/RoomSessionChatEvent.ts b/submodules/renderer/src/events/session/RoomSessionChatEvent.ts index 1a15804..5c5876e 100644 --- a/submodules/renderer/src/events/session/RoomSessionChatEvent.ts +++ b/submodules/renderer/src/events/session/RoomSessionChatEvent.ts @@ -25,7 +25,7 @@ export class RoomSessionChatEvent extends RoomSessionEvent private _extraParam: number; private _style: number; - constructor(type: string, session: IRoomSession, objectId: number, message: string, chatType: number, style: number = 0, chatColours: string[], extraParam: number = -1, links: string[] = null) + constructor(type: string, session: IRoomSession, objectId: number, message: string, chatType: number, style: number = 0, chatColours: string[], links: string[] = null, extraParam: number = -1) { super(type, session); @@ -33,10 +33,11 @@ export class RoomSessionChatEvent extends RoomSessionEvent this._message = message; this._chatType = chatType; this._chatColours = chatColours; - this._extraParam = extraParam; - this._links = links; + this._links = links; + this._extraParam = extraParam; this._style = style; - } + + } public get objectId(): number { diff --git a/submodules/renderer/src/events/session/RoomSessionUserFigureUpdateEvent.ts b/submodules/renderer/src/events/session/RoomSessionUserFigureUpdateEvent.ts index 40c410a..df4029b 100644 --- a/submodules/renderer/src/events/session/RoomSessionUserFigureUpdateEvent.ts +++ b/submodules/renderer/src/events/session/RoomSessionUserFigureUpdateEvent.ts @@ -10,8 +10,11 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent private _gender: string = ''; private _customInfo: string = ''; private _achievementScore: number; + private _backgroundId: number; + private _standId: number; + private _overlayId: number; - constructor(session: IRoomSession, roomIndex: number, figure: string, gender: string, customInfo: string, achievementScore: number) + constructor(session: IRoomSession, roomIndex: number, figure: string, gender: string, customInfo: string, achievementScore: number, backgroundId: number, standId: number, overlayId: number ) { super(RoomSessionUserFigureUpdateEvent.USER_FIGURE, session); @@ -20,6 +23,9 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent this._gender = gender; this._customInfo = customInfo; this._achievementScore = achievementScore; + this._backgroundId = backgroundId; + this._standId = standId; + this._overlayId = overlayId; } public get roomIndex(): number @@ -46,4 +52,18 @@ export class RoomSessionUserFigureUpdateEvent extends RoomSessionEvent { return this._achievementScore; } + public get backgroundId(): number + { + return this._backgroundId; + } + + public get standId(): number + { + return this._standId; + } + + public get overlayId(): number + { + return this._overlayId; + } } diff --git a/submodules/renderer/src/nitro/communication/NitroMessages.ts b/submodules/renderer/src/nitro/communication/NitroMessages.ts index 7c8741a..063fc61 100644 --- a/submodules/renderer/src/nitro/communication/NitroMessages.ts +++ b/submodules/renderer/src/nitro/communication/NitroMessages.ts @@ -1,5 +1,5 @@ import { IMessageConfiguration } from '../../api'; -import { AcceptFriendMessageComposer, AcceptFriendResultEvent, AcceptGameInviteMessageComposer, AcceptQuestMessageComposer, AccountSafetyLockStatusChangeMessageEvent, AchievementEvent, AchievementNotificationMessageEvent, AchievementResolutionCompletedMessageEvent, AchievementResolutionProgressMessageEvent, AchievementResolutionsMessageEvent, AchievementsEvent, AchievementsScoreEvent, ActivateQuestMessageComposer, ActivityPointNotificationMessageEvent, AddFavouriteRoomMessageComposer, AddJukeboxDiskComposer, AddSpamWallPostItMessageComposer, ApplySnapshotMessageComposer, ApplyTonerComposer, ApproveAllMembershipRequestsMessageComposer, ApproveNameMessageComposer, ApproveNameMessageEvent, AuthenticatedEvent, AuthenticationMessageComposer, AvailabilityStatusMessageEvent, AvailabilityTimeMessageEvent, AvatarEffectActivatedComposer, AvatarEffectActivatedEvent, AvatarEffectAddedEvent, AvatarEffectExpiredEvent, AvatarEffectSelectedComposer, AvatarEffectSelectedEvent, AvatarEffectsEvent, BadgePointLimitsEvent, BadgeReceivedEvent, BadgesEvent, BannedUsersFromRoomEvent, BonusRareInfoMessageEvent, BotAddedToInventoryEvent, BotCommandConfigurationEvent, BotErrorEvent, BotForceOpenContextMenuEvent, BotInventoryMessageEvent, BotPlaceComposer, BotReceivedMessageEvent, BotRemoveComposer, BotRemovedFromInventoryEvent, BotSkillListUpdateEvent, BotSkillSaveComposer, BreedPetsMessageComposer, BuildersClubFurniCountMessageEvent, BuildersClubPlaceRoomItemMessageComposer, BuildersClubPlaceWallItemMessageComposer, BuildersClubQueryFurniCountMessageComposer, BuildersClubSubscriptionStatusMessageEvent, BundleDiscountRulesetMessageEvent, BuyMarketplaceOfferMessageComposer, BuyMarketplaceTokensMessageComposer, CallForHelpDisabledNotifyMessageEvent, CallForHelpFromForumMessageMessageComposer, CallForHelpFromForumThreadMessageComposer, CallForHelpFromIMMessageComposer, CallForHelpFromPhotoMessageComposer, CallForHelpFromSelfieMessageComposer, CallForHelpMessageComposer, CallForHelpPendingCallsDeletedMessageEvent, CallForHelpPendingCallsMessageEvent, CallForHelpReplyMessageEvent, CallForHelpResultMessageEvent, CameraPublishStatusMessageEvent, CameraPurchaseOKMessageEvent, CameraSnapshotMessageEvent, CameraStorageUrlMessageEvent, CampaignCalendarDataMessageEvent, CampaignCalendarDoorOpenedMessageEvent, CancelEventMessageComposer, CancelMarketplaceOfferMessageComposer, CancelMysteryBoxWaitMessageEvent, CancelPetBreedingComposer, CancelQuestMessageComposer, CanCreateRoomEvent, CanCreateRoomEventEvent, CanCreateRoomMessageComposer, CatalogGroupsComposer, CatalogPageExpirationEvent, CatalogPageMessageEvent, CatalogPagesListEvent, CatalogPageWithEarliestExpiryMessageEvent, CatalogPublishedMessageEvent, CategoriesWithVisitorCountEvent, CfhChatlogEvent, CfhSanctionMessageEvent, CfhTopicsInitEvent, ChangeEmailComposer, ChangeEmailResultEvent, ChangeQueueMessageComposer, ChangeUserNameMessageComposer, ChangeUserNameResultMessageEvent, ChatReviewGuideDecidesOnOfferMessageComposer, ChatReviewGuideDetachedMessageComposer, ChatReviewGuideVoteMessageComposer, ChatReviewSessionCreateMessageComposer, ChatReviewSessionDetachedMessageEvent, ChatReviewSessionOfferedToGuideMessageEvent, ChatReviewSessionResultsMessageEvent, ChatReviewSessionStartedMessageEvent, ChatReviewSessionVotingStatusMessageEvent, CheckUserNameMessageComposer, CheckUserNameResultMessageEvent, ClientHelloMessageComposer, ClientPingEvent, CloseIssueDefaultActionMessageComposer, CloseIssuesMessageComposer, ClubGiftInfoEvent, ClubGiftNotificationEvent, ClubGiftSelectedEvent, CommunityGoalEarnedPrizesMessageEvent, CommunityGoalHallOfFameMessageEvent, CommunityGoalProgressMessageEvent, CommunityGoalVoteMessageComposer, CommunityGoalVoteMessageEvent, CompetitionEntrySubmitResultEvent, CompetitionRoomsDataMessageEvent, CompetitionRoomsSearchMessageComposer, CompetitionStatusMessageEvent, CompetitionVotingInfoMessageEvent, CompleteDiffieHandshakeEvent, CompleteDiffieHandshakeMessageComposer, CompostPlantMessageComposer, ConcurrentUsersGoalProgressMessageEvent, ConfirmPetBreedingComposer, ConnectionErrorEvent, ControlYoutubeDisplayPlaybackMessageComposer, ConvertedRoomIdEvent, ConvertGlobalRoomIdMessageComposer, CraftableProductsEvent, CraftComposer, CraftingRecipeEvent, CraftingRecipesAvailableEvent, CraftingResultEvent, CraftSecretComposer, CreateFlatMessageComposer, CurrentTimingCodeMessageEvent, CustomUserNotificationMessageEvent, DeclineFriendMessageComposer, DefaultSanctionMessageComposer, DeleteFavouriteRoomMessageComposer, DeleteItemMessageComposer, DeletePendingCallsForHelpMessageComposer, DesktopViewComposer, DesktopViewEvent, DiceValueMessageEvent, DirectSMSClubBuyAvailableMessageEvent, DisconnectMessageComposer, DisconnectReasonEvent, DoorbellMessageEvent, EditEventMessageComposer, ElementPointerMessageEvent, EmailStatusResultEvent, EpicPopupMessageEvent, ExtendedProfileChangedMessageEvent, ExtendRentOrBuyoutFurniMessageComposer, ExtendRentOrBuyoutStripItemMessageComposer, FavoriteMembershipUpdateMessageEvent, FavouriteChangedEvent, FavouritesEvent, FigureSetIdsMessageEvent, FigureUpdateEvent, FindFriendsProcessResultEvent, FindNewFriendsMessageComposer, FireworkChargeDataEvent, FlatAccessDeniedMessageEvent, FlatControllerAddedEvent, FlatControllerRemovedEvent, FlatControllersEvent, FlatCreatedEvent, FloodControlEvent, FloorHeightMapEvent, FollowFriendFailedEvent, FollowFriendMessageComposer, ForumDataMessageEvent, ForumsListMessageEvent, ForwardToACompetitionRoomMessageComposer, ForwardToARandomPromotedRoomMessageComposer, ForwardToASubmittableRoomMessageComposer, ForwardToRandomCompetitionRoomMessageComposer, ForwardToSomeRoomMessageComposer, FriendFurniConfirmLockMessageComposer, FriendListFragmentEvent, FriendListUpdateComposer, FriendListUpdateEvent, FriendNotificationEvent, FriendRequestQuestCompleteMessageComposer, FriendRequestsEvent, FurniRentOrBuyoutOfferMessageEvent, FurnitureAliasesComposer, FurnitureAliasesEvent, FurnitureColorWheelComposer, FurnitureDataEvent, FurnitureDiceActivateComposer, FurnitureDiceDeactivateComposer, FurnitureExchangeComposer, FurnitureFloorAddEvent, FurnitureFloorEvent, FurnitureFloorRemoveEvent, FurnitureFloorUpdateComposer, FurnitureFloorUpdateEvent, FurnitureGroupInfoComposer, FurnitureListAddOrUpdateEvent, FurnitureListComposer, FurnitureListEvent, FurnitureListInvalidateEvent, FurnitureListRemovedEvent, FurnitureMannequinSaveLookComposer, FurnitureMannequinSaveNameComposer, FurnitureMultiStateComposer, FurnitureOneWayDoorComposer, FurniturePickupAllComposer, FurniturePickupComposer, FurniturePlaceComposer, FurniturePlacePaintComposer, FurniturePostItPlaceComposer, FurniturePostItPlacedEvent, FurnitureRandomStateComposer, FurnitureStackHeightComposer, FurnitureStackHeightEvent, FurnitureWallAddEvent, FurnitureWallEvent, FurnitureWallMultiStateComposer, FurnitureWallRemoveEvent, FurnitureWallUpdateComposer, FurnitureWallUpdateEvent, Game2AccountGameStatusMessageEvent, Game2CheckGameDirectoryStatusMessageComposer, Game2ExitGameMessageComposer, Game2GameChatMessageComposer, Game2GameDirectoryStatusMessageEvent, Game2GetAccountGameStatusMessageComposer, Game2GetWeeklyFriendsLeaderboardComposer, Game2GetWeeklyLeaderboardComposer, Game2InArenaQueueMessageEvent, Game2JoiningGameFailedMessageEvent, Game2LoadStageReadyMessageComposer, Game2PlayAgainMessageComposer, Game2RequestFullStatusUpdateMessageComposer, Game2StartingGameFailedMessageEvent, Game2StopCounterMessageEvent, Game2UserLeftGameMessageEvent, Game2WeeklyFriendsLeaderboardEvent, Game2WeeklyLeaderboardEvent, GameAchievementsMessageEvent, GameInviteMessageEvent, GameListMessageEvent, GameStatusMessageEvent, GameUnloadedMessageComposer, GenericErrorEvent, GetBadgePointLimitsComposer, GetBonusRareInfoMessageComposer, GetBotInventoryComposer, GetBundleDiscountRulesetComposer, GetCatalogIndexComposer, GetCatalogPageComposer, GetCatalogPageExpirationComposer, GetCatalogPageWithEarliestExpiryComposer, GetCategoriesWithUserCountMessageComposer, GetCfhChatlogMessageComposer, GetCfhStatusMessageComposer, GetClubGiftInfo, GetClubOffersMessageComposer, GetCommunityGoalEarnedPrizesMessageComposer, GetCommunityGoalHallOfFameMessageComposer, GetCommunityGoalProgressMessageComposer, GetConcurrentUsersGoalProgressMessageComposer, GetConcurrentUsersRewardMessageComposer, GetCraftableProductsComposer, GetCraftingRecipeComposer, GetCraftingRecipesAvailableComposer, GetCurrentTimingCodeMessageComposer, GetCustomRoomFilterMessageComposer, GetDailyQuestMessageComposer, GetDirectClubBuyAvailableComposer, GetEmailStatusComposer, GetExtendedProfileByNameMessageComposer, GetFaqCategoryMessageComposer, GetFaqTextMessageComposer, GetForumsListMessageComposer, GetForumStatsMessageComposer, GetFriendRequestsComposer, GetGameAchievementsMessageComposer, GetGameListMessageComposer, GetGameStatusMessageComposer, GetGiftMessageComposer, GetGiftWrappingConfigurationComposer, GetGuestRoomMessageComposer, GetGuestRoomResultEvent, GetGuideReportingStatusMessageComposer, GetHabboBasicMembershipExtendOfferComposer, GetHabboClubExtendOfferMessageComposer, GetHabboGroupBadgesMessageComposer, GetIgnoredUsersComposer, GetInterstitialMessageComposer, GetIsBadgeRequestFulfilledComposer, GetIsOfferGiftableComposer, GetIsUserPartOfCompetitionMessageComposer, GetItemDataComposer, GetJukeboxPlayListMessageComposer, GetLimitedOfferAppearingNextComposer, GetMarketplaceCanMakeOfferComposer, GetMarketplaceConfigurationMessageComposer, GetMarketplaceItemStatsComposer, GetMarketplaceOffersMessageComposer, GetMarketplaceOwnOffersMessageComposer, GetMessagesMessageComposer, GetModeratorRoomInfoMessageComposer, GetModeratorUserInfoMessageComposer, GetNextTargetedOfferComposer, GetNowPlayingMessageComposer, GetOccupiedTilesMessageComposer, GetOfficialRoomsMessageComposer, GetOfficialSongIdMessageComposer, GetPendingCallsForHelpMessageComposer, GetPetCommandsComposer, GetPopularRoomTagsMessageComposer, GetProductOfferComposer, GetPromoArticlesComposer, GetQuestsMessageComposer, GetQuizQuestionsComposer, GetRecyclerStatusMessageComposer, GetRentOrBuyoutOfferMessageComposer, GetResolutionAchievementsMessageComposer, GetRoomAdPurchaseInfoComposer, GetRoomChatlogMessageComposer, GetRoomEntryDataMessageComposer, GetRoomEntryTileMessageComposer, GetRoomVisitsMessageComposer, GetSeasonalCalendarDailyOfferComposer, GetSeasonalQuestsOnlyMessageComposer, GetSecondsUntilMessageComposer, GetSellablePetPalettesComposer, GetSongInfoMessageComposer, GetSoundMachinePlayListMessageComposer, GetSoundSettingsComposer, GetTalentTrackLevelMessageComposer, GetTargetedOfferComposer, GetThreadMessageComposer, GetThreadsMessageComposer, GetUnreadForumsCountMessageComposer, GetUserChatlogMessageComposer, GetUserEventCatsMessageComposer, GetUserFlatCatsMessageComposer, GetUserGameAchievementsMessageComposer, GetUserSongDisksMessageComposer, GetUserTagsComposer, GetWardrobeMessageComposer, GetWeeklyGameRewardComposer, GetWeeklyGameRewardWinnersComposer, GetYoutubeDisplayStatusMessageComposer, GiftReceiverNotFoundEvent, GiftWrappingConfigurationEvent, GotMysteryBoxPrizeMessageEvent, GoToFlatMessageComposer, GroupAdminGiveComposer, GroupAdminTakeComposer, GroupBadgePartsComposer, GroupBadgePartsEvent, GroupBuyComposer, GroupBuyDataComposer, GroupBuyDataEvent, GroupConfirmMemberRemoveEvent, GroupConfirmRemoveMemberComposer, GroupDeleteComposer, GroupDetailsChangedMessageEvent, GroupFavoriteComposer, GroupFurniContextMenuInfoMessageEvent, GroupInformationComposer, GroupInformationEvent, GroupJoinComposer, GroupMembersComposer, GroupMembersEvent, GroupMembershipAcceptComposer, GroupMembershipDeclineComposer, GroupMembershipRequestedMessageEvent, GroupPurchasedEvent, GroupRemoveMemberComposer, GroupSaveBadgeComposer, GroupSaveColorsComposer, GroupSaveInformationComposer, GroupSavePreferencesComposer, GroupSettingsComposer, GroupSettingsEvent, GroupUnfavoriteComposer, GuestRoomSearchResultEvent, GuideOnDutyStatusMessageEvent, GuideReportingStatusMessageEvent, GuideSessionAttachedMessageEvent, GuideSessionCreateMessageComposer, GuideSessionDetachedMessageEvent, GuideSessionEndedMessageEvent, GuideSessionErrorMessageEvent, GuideSessionFeedbackMessageComposer, GuideSessionGetRequesterRoomMessageComposer, GuideSessionGuideDecidesMessageComposer, GuideSessionInvitedToGuideRoomMessageEvent, GuideSessionInviteRequesterMessageComposer, GuideSessionIsTypingMessageComposer, GuideSessionMessageMessageComposer, GuideSessionMessageMessageEvent, GuideSessionOnDutyUpdateMessageComposer, GuideSessionPartnerIsTypingMessageEvent, GuideSessionReportMessageComposer, GuideSessionRequesterCancelsMessageComposer, GuideSessionRequesterRoomMessageEvent, GuideSessionResolvedMessageComposer, GuideSessionStartedMessageEvent, GuideTicketCreationResultMessageEvent, GuideTicketResolutionMessageEvent, GuildBaseSearchMessageComposer, GuildEditFailedMessageEvent, GuildForumThreadsEvent, GuildMemberMgmtFailedMessageEvent, GuildMembershipsMessageEvent, HabboBroadcastMessageEvent, HabboClubExtendOfferMessageEvent, HabboClubOffersMessageEvent, HabboGroupBadgesMessageEvent, HabboGroupDeactivatedMessageEvent, HabboGroupJoinFailedMessageEvent, HabboSearchComposer, HabboSearchResultEvent, HarvestPetMessageComposer, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelMergeNameChangeEvent, HotelWillCloseInMinutesEvent, IdentityAccountsEvent, IgnoredUsersEvent, IgnoreResultEvent, IgnoreUserComposer, IgnoreUserIdComposer, InClientLinkEvent, IncomingHeader, InfoFeedEnableMessageEvent, InfoRetrieveMessageComposer, InitCameraMessageEvent, InitDiffieHandshakeEvent, InitDiffieHandshakeMessageComposer, InstantMessageErrorEvent, InterstitialMessageEvent, InterstitialShownMessageComposer, IsBadgeRequestFulfilledEvent, IsOfferGiftableMessageEvent, IssueCloseNotificationMessageEvent, IssueDeletedMessageEvent, IssueInfoMessageEvent, IssuePickFailedMessageEvent, IsUserPartOfCompetitionMessageEvent, ItemDataUpdateMessageEvent, JoinedQueueMessageEvent, JoiningQueueFailedMessageEvent, JoinQueueMessageComposer, JukeboxPlayListFullMessageEvent, JukeboxSongDisksMessageEvent, LagWarningReportMessageComposer, LeaveQueueMessageComposer, LeftQueueMessageEvent, LimitedEditionSoldOutEvent, LimitedOfferAppearingNextMessageEvent, LoadGameMessageEvent, LoadGameUrlEvent, LoveLockFurniFinishedEvent, LoveLockFurniFriendConfirmedEvent, LoveLockFurniStartEvent, MaintenanceStatusMessageEvent, MakeOfferMessageComposer, MarkCatalogNewAdditionsPageOpenedComposer, MarketplaceBuyOfferResultEvent, MarketplaceCancelOfferResultEvent, MarketplaceCanMakeOfferResult, MarketplaceConfigurationEvent, MarketplaceItemStatsEvent, MarketplaceMakeOfferResult, MarketPlaceOffersEvent, MarketplaceOwnOffersEvent, MessageErrorEvent, MessengerInitComposer, MessengerInitEvent, MiniMailNewMessageEvent, MiniMailUnreadCountEvent, ModAlertMessageComposer, ModBanMessageComposer, ModerateMessageMessageComposer, ModerateRoomMessageComposer, ModerateThreadMessageComposer, ModeratorActionMessageComposer, ModeratorActionResultMessageEvent, ModeratorCautionEvent, ModeratorInitMessageEvent, ModeratorMessageEvent, ModeratorRoomInfoEvent, ModeratorToolPreferencesEvent, ModeratorUserInfoEvent, ModKickMessageComposer, ModMessageMessageComposer, ModMuteMessageComposer, ModToolPreferencesComposer, ModToolSanctionComposer, ModTradingLockMessageComposer, MoodlightSettingsComposer, MoodlightSettingsSaveComposer, MoodlightTogggleStateComposer, MOTDNotificationEvent, MuteAllInRoomEvent, MyFavouriteRoomsSearchMessageComposer, MyFrequentRoomHistorySearchMessageComposer, MyFriendsRoomsSearchMessageComposer, MyGuildBasesSearchMessageComposer, MyRecommendedRoomsMessageComposer, MyRoomHistorySearchMessageComposer, MyRoomRightsSearchMessageComposer, MyRoomsSearchMessageComposer, MysteryBoxKeysEvent, MysteryBoxWaitingCanceledMessageComposer, NavigatorCategoryListModeComposer, NavigatorCollapsedEvent, NavigatorDeleteSavedSearchComposer, NavigatorHomeRoomEvent, NavigatorInitComposer, NavigatorLiftedEvent, NavigatorMetadataEvent, NavigatorOpenRoomCreatorEvent, NavigatorSearchCloseComposer, NavigatorSearchComposer, NavigatorSearchesEvent, NavigatorSearchEvent, NavigatorSearchOpenComposer, NavigatorSearchSaveComposer, NavigatorSettingsEvent, NavigatorSettingsSaveComposer, NewConsoleMessageEvent, NewFriendRequestEvent, NewUserExperienceGetGiftsComposer, NewUserExperienceGiftOfferMessageEvent, NewUserExperienceNotCompleteEvent, NewUserExperienceScriptProceedComposer, NoobnessLevelMessageEvent, NoOwnedRoomsAlertMessageEvent, NoSuchFlatEvent, NotEnoughBalanceMessageEvent, NotificationDialogMessageEvent, NowPlayingMessageEvent, ObjectsDataUpdateEvent, ObjectsRollingEvent, OfferRewardDeliveredMessageEvent, OfficialSongIdMessageEvent, OneWayDoorStatusMessageEvent, OpenCampaignCalendarDoorAsStaffComposer, OpenCampaignCalendarDoorComposer, OpenMessageComposer, OpenMysteryTrophyMessageComposer, OpenPetPackageMessageComposer, OpenPetPackageRequestedMessageEvent, OpenPetPackageResultMessageEvent, OpenPresentComposer, OpenQuestTrackerMessageComposer, OpenWelcomeGiftComposer, OutgoingHeader, PeerUsersClassificationMessageComposer, PerformanceLogMessageComposer, PerkAllowancesMessageEvent, PetAddedToInventoryEvent, PetBreedingResultEvent, PetExperienceEvent, PetFigureUpdateEvent, PetInfoEvent, PetInventoryEvent, PetLevelNotificationEvent, PetLevelUpdateMessageEvent, PetMountComposer, PetMoveComposer, PetPlaceComposer, PetPlacingErrorEvent, PetReceivedMessageEvent, PetRemoveComposer, PetRemovedFromInventory, PetRespectComposer, PetRespectNoficationEvent, PetScratchFailedMessageEvent, PetSelectedMessageComposer, PetStatusUpdateEvent, PetSupplementComposer, PetSupplementedNotificationEvent, PetTrainingPanelMessageEvent, PhoneCollectionStateMessageEvent, PhotoCompetitionMessageComposer, PickIssuesMessageComposer, PlayListMessageEvent, PlayListSongAddedMessageEvent, PollAnswerComposer, PollContentsEvent, PollErrorEvent, PollOfferEvent, PollRejectComposer, PollStartComposer, PongMessageComposer, PopularRoomsSearchMessageComposer, PopularRoomTagsResultEvent, PostMessageMessageComposer, PostMessageMessageEvent, PostQuizAnswersComposer, PostThreadMessageEvent, PresentOpenedMessageEvent, ProductOfferEvent, PromoArticlesMessageEvent, PublishPhotoMessageComposer, PurchaseBasicMembershipExtensionComposer, PurchaseErrorMessageEvent, PurchaseFromCatalogAsGiftComposer, PurchaseFromCatalogComposer, PurchaseNotAllowedMessageEvent, PurchaseOKMessageEvent, PurchasePhotoMessageComposer, PurchaseRoomAdMessageComposer, PurchaseTargetedOfferComposer, PurchaseVipMembershipExtensionComposer, QuestCancelledMessageEvent, QuestCompletedMessageEvent, QuestDailyMessageEvent, QuestionAnsweredEvent, QuestionEvent, QuestionFinishedEvent, QuestMessageEvent, QuestsMessageEvent, QuizDataMessageEvent, QuizResultsMessageEvent, RateFlatMessageComposer, RecycleItemsMessageComposer, RecyclerFinishedMessageEvent, RecyclerStatusMessageEvent, RedeemCommunityGoalPrizeMessageComposer, RedeemItemClothingComposer, RedeemMarketplaceOfferCreditsMessageComposer, RedeemVoucherMessageComposer, RejectQuestMessageComposer, RelationshipStatusInfoEvent, ReleaseIssuesMessageComposer, RemainingMuteEvent, RemoveAllRightsMessageComposer, RemoveFriendComposer, RemoveJukeboxDiskComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RemoveWallItemComposer, RenderRoomMessageComposer, RenderRoomThumbnailMessageComposer, RentableSpaceCancelRentMessageComposer, RentableSpaceRentFailedMessageEvent, RentableSpaceRentMessageComposer, RentableSpaceRentOkMessageEvent, RentableSpaceStatusMessageComposer, RentableSpaceStatusMessageEvent, RequestABadgeComposer, RequestAchievementsMessageComposer, RequestBadgesComposer, RequestBotCommandConfigurationComposer, RequestCameraConfigurationComposer, RequestFriendComposer, RequestFurniInventoryWhenNotInRoomComposer, RequestPetInfoComposer, RequestPetsComposer, RequestSpamWallPostItMessageEvent, ResetPhoneNumberStateMessageComposer, ResetResolutionAchievementMessageComposer, RespectReceivedEvent, RestoreClientMessageEvent, RoomAdErrorEvent, RoomAdEventTabAdClickedComposer, RoomAdEventTabViewedComposer, RoomAdPurchaseInfoEvent, RoomAdPurchaseInitiatedComposer, RoomAdSearchMessageComposer, RoomAmbassadorAlertComposer, RoomBannedUsersComposer, RoomBanUserComposer, RoomChatlogEvent, RoomChatSettingsEvent, RoomCompetitionInitMessageComposer, RoomDeleteComposer, RoomDimmerPresetsEvent, RoomDoorbellAcceptedEvent, RoomDoorbellAccessComposer, RoomEnterComposer, RoomEnterErrorEvent, RoomEnterEvent, RoomEntryInfoMessageEvent, RoomEntryTileMessageEvent, RoomEventCancelEvent, RoomEventEvent, RoomFilterSettingsMessageEvent, RoomForwardEvent, RoomGiveRightsComposer, RoomHeightMapEvent, RoomHeightMapUpdateEvent, RoomInviteErrorEvent, RoomInviteEvent, RoomKickUserComposer, RoomMessageNotificationMessageEvent, RoomMuteComposer, RoomMuteUserComposer, RoomNetworkOpenConnectionMessageComposer, RoomOccupiedTilesMessageEvent, RoomPaintEvent, RoomReadyMessageEvent, RoomRightsClearEvent, RoomRightsEvent, RoomRightsOwnerEvent, RoomScoreEvent, RoomSettingsComposer, RoomSettingsDataEvent, RoomSettingsErrorEvent, RoomSettingsSavedEvent, RoomSettingsSaveErrorEvent, RoomSettingsUpdatedEvent, RoomsWhereMyFriendsAreSearchMessageComposer, RoomsWithHighestScoreSearchMessageComposer, RoomTakeRightsComposer, RoomTextSearchMessageComposer, RoomThumbnailUpdateResultEvent, RoomUnbanUserComposer, RoomUnitActionComposer, RoomUnitChatComposer, RoomUnitChatEvent, RoomUnitChatShoutComposer, RoomUnitChatShoutEvent, RoomUnitChatStyleComposer, RoomUnitChatWhisperComposer, RoomUnitChatWhisperEvent, RoomUnitDanceComposer, RoomUnitDanceEvent, RoomUnitDropHandItemComposer, RoomUnitEffectEvent, RoomUnitEvent, RoomUnitExpressionEvent, RoomUnitGiveHandItemComposer, RoomUnitGiveHandItemPetComposer, RoomUnitHandItemEvent, RoomUnitHandItemReceivedEvent, RoomUnitIdleEvent, RoomUnitInfoEvent, RoomUnitLookComposer, RoomUnitNumberEvent, RoomUnitPostureComposer, RoomUnitRemoveEvent, RoomUnitSignComposer, RoomUnitStatusEvent, RoomUnitTypingEvent, RoomUnitTypingStartComposer, RoomUnitTypingStopComposer, RoomUnitWalkComposer, RoomUsersClassificationMessageComposer, RoomUsersWithRightsComposer, RoomVisitsEvent, RoomVisualizationSettingsEvent, SanctionStatusEvent, SaveRoomSettingsComposer, SaveWardrobeOutfitMessageComposer, ScrGetKickbackInfoMessageComposer, ScrSendKickbackInfoMessageEvent, SearchFaqsMessageComposer, SeasonalCalendarDailyOfferMessageEvent, SeasonalQuestsMessageEvent, SecondsUntilMessageEvent, SelectClubGiftComposer, SellablePetPalettesMessageEvent, SendMessageComposer, SendRoomInviteComposer, SetActivatedBadgesComposer, SetClothingChangeDataMessageComposer, SetItemDataMessageComposer, SetObjectDataMessageComposer, SetPhoneNumberVerificationStatusMessageComposer, SetRelationshipStatusComposer, SetRoomSessionTagsMessageComposer, SetTargetedOfferStateComposer, SetYoutubeDisplayPlaylistMessageComposer, ShopTargetedOfferViewedComposer, ShowEnforceRoomCategoryDialogEvent, ShowMysteryBoxWaitMessageEvent, SimpleAlertMessageEvent, SSOTicketMessageComposer, StartCampaignMessageComposer, StartRoomPollEvent, SubmitRoomToCompetitionMessageComposer, TalentLevelUpEvent, TalentTrackComposer, TalentTrackLevelMessageEvent, TalentTrackMessageEvent, TargetedOfferEvent, TargetedOfferNotFoundEvent, ThreadMessagesMessageEvent, ThumbnailStatusMessageEvent, TogglePetBreedingComposer, TogglePetRidingComposer, ToggleStaffPickMessageComposer, TradingAcceptComposer, TradingAcceptEvent, TradingCancelComposer, TradingCloseComposer, TradingCloseEvent, TradingCompletedEvent, TradingConfirmationComposer, TradingConfirmationEvent, TradingListAddItemComposer, TradingListAddItemsComposer, TradingListItemEvent, TradingListItemRemoveComposer, TradingNoSuchItemEvent, TradingNotOpenEvent, TradingOpenComposer, TradingOpenEvent, TradingOpenFailedEvent, TradingOtherNotAllowedEvent, TradingUnacceptComposer, TradingYouAreNotAllowedEvent, TraxSongInfoMessageEvent, TryPhoneNumberMessageComposer, TryPhoneNumberResultMessageEvent, TryVerificationCodeResultMessageEvent, UnblockGroupMemberMessageComposer, UnignoreUserComposer, UniqueIDMessageComposer, UnloadGameMessageEvent, UnreadForumsCountMessageEvent, UnseenItemsEvent, UnseenResetCategoryComposer, UnseenResetItemsComposer, UpdateActionMessageComposer, UpdateConditionMessageComposer, UpdateFloorPropertiesMessageComposer, UpdateForumReadMarkerMessageComposer, UpdateForumSettingsMessageComposer, UpdateHomeRoomMessageComposer, UpdateMessageMessageEvent, UpdateRoomCategoryAndTradeSettingsComposer, UpdateRoomFilterMessageComposer, UpdateRoomThumbnailMessageComposer, UpdateThreadMessageComposer, UpdateThreadMessageEvent, UpdateTriggerMessageComposer, UsePetProductComposer, UserBannedMessageEvent, UserChatlogEvent, UserClassificationMessageEvent, UserCreditsEvent, UserCurrencyComposer, UserCurrencyEvent, UserCurrentBadgesComposer, UserCurrentBadgesEvent, UserEventCatsEvent, UserFigureComposer, UserFlatCatsEvent, UserGameAchievementsMessageEvent, UserInfoEvent, UserMottoComposer, UserNameChangeMessageEvent, UserPermissionsEvent, UserProfileComposer, UserProfileEvent, UserRelationshipsComposer, UserRespectComposer, UserSettingsCameraFollowComposer, UserSettingsEvent, UserSettingsOldChatComposer, UserSettingsRoomInvitesComposer, UserSettingsSoundComposer, UserSongDisksInventoryMessageEvent, UserSubscriptionComposer, UserSubscriptionEvent, UserTagsMessageEvent, UserUnbannedFromRoomEvent, UserWardrobePageEvent, VerifyCodeMessageComposer, VersionCheckMessageComposer, VisitUserComposer, VoteForRoomMessageComposer, VoucherRedeemErrorMessageEvent, VoucherRedeemOkMessageEvent, WardrobeMessageEvent, WeeklyCompetitiveFriendsLeaderboardEvent, WeeklyCompetitiveLeaderboardEvent, WeeklyGameRewardEvent, WeeklyGameRewardWinnersEvent, WelcomeGiftChangeEmailComposer, WelcomeGiftChangeEmailResultEvent, WelcomeGiftStatusEvent, WiredFurniActionEvent, WiredFurniConditionEvent, WiredFurniTriggerEvent, WiredOpenEvent, WiredRewardResultMessageEvent, WiredSaveSuccessEvent, WiredValidationErrorEvent, YouArePlayingGameEvent, YouAreSpectatorMessageEvent, YoutubeControlVideoMessageEvent, YoutubeDisplayPlaylistsEvent, YoutubeDisplayVideoMessageEvent } from './messages'; +import { AcceptFriendMessageComposer, AcceptFriendResultEvent, AcceptGameInviteMessageComposer, AcceptQuestMessageComposer, AccountSafetyLockStatusChangeMessageEvent, AchievementEvent, AchievementNotificationMessageEvent, AchievementResolutionCompletedMessageEvent, AchievementResolutionProgressMessageEvent, AchievementResolutionsMessageEvent, AchievementsEvent, AchievementsScoreEvent, ActivateQuestMessageComposer, ActivityPointNotificationMessageEvent, AddFavouriteRoomMessageComposer, AddJukeboxDiskComposer, AddSpamWallPostItMessageComposer, ApplySnapshotMessageComposer, ApplyTonerComposer, ApproveAllMembershipRequestsMessageComposer, ApproveNameMessageComposer, ApproveNameMessageEvent, AuthenticatedEvent, AuthenticationMessageComposer, AvailabilityStatusMessageEvent, AvailabilityTimeMessageEvent, AvatarEffectActivatedComposer, AvatarEffectActivatedEvent, AvatarEffectAddedEvent, AvatarEffectExpiredEvent, AvatarEffectSelectedComposer, AvatarEffectSelectedEvent, AvatarEffectsEvent, BadgePointLimitsEvent, BadgeReceivedEvent, BadgesEvent, BannedUsersFromRoomEvent, BonusRareInfoMessageEvent, BotAddedToInventoryEvent, BotCommandConfigurationEvent, BotErrorEvent, BotForceOpenContextMenuEvent, BotInventoryMessageEvent, BotPlaceComposer, BotReceivedMessageEvent, BotRemoveComposer, BotRemovedFromInventoryEvent, BotSkillListUpdateEvent, BotSkillSaveComposer, BreedPetsMessageComposer, BuildersClubFurniCountMessageEvent, BuildersClubPlaceRoomItemMessageComposer, BuildersClubPlaceWallItemMessageComposer, BuildersClubQueryFurniCountMessageComposer, BuildersClubSubscriptionStatusMessageEvent, BundleDiscountRulesetMessageEvent, BuyMarketplaceOfferMessageComposer, BuyMarketplaceTokensMessageComposer, CallForHelpDisabledNotifyMessageEvent, CallForHelpFromForumMessageMessageComposer, CallForHelpFromForumThreadMessageComposer, CallForHelpFromIMMessageComposer, CallForHelpFromPhotoMessageComposer, CallForHelpFromSelfieMessageComposer, CallForHelpMessageComposer, CallForHelpPendingCallsDeletedMessageEvent, CallForHelpPendingCallsMessageEvent, CallForHelpReplyMessageEvent, CallForHelpResultMessageEvent, CameraPublishStatusMessageEvent, CameraPurchaseOKMessageEvent, CameraSnapshotMessageEvent, CameraStorageUrlMessageEvent, CampaignCalendarDataMessageEvent, CampaignCalendarDoorOpenedMessageEvent, CancelEventMessageComposer, CancelMarketplaceOfferMessageComposer, CancelMysteryBoxWaitMessageEvent, CancelPetBreedingComposer, CancelQuestMessageComposer, CanCreateRoomEvent, CanCreateRoomEventEvent, CanCreateRoomMessageComposer, CatalogGroupsComposer, CatalogPageExpirationEvent, CatalogPageMessageEvent, CatalogPagesListEvent, CatalogPageWithEarliestExpiryMessageEvent, CatalogPublishedMessageEvent, CategoriesWithVisitorCountEvent, CfhChatlogEvent, CfhSanctionMessageEvent, CfhTopicsInitEvent, ChangeEmailComposer, ChangeEmailResultEvent, ChangeQueueMessageComposer, ChangeUserNameMessageComposer, ChangeUserNameResultMessageEvent, ChatReviewGuideDecidesOnOfferMessageComposer, ChatReviewGuideDetachedMessageComposer, ChatReviewGuideVoteMessageComposer, ChatReviewSessionCreateMessageComposer, ChatReviewSessionDetachedMessageEvent, ChatReviewSessionOfferedToGuideMessageEvent, ChatReviewSessionResultsMessageEvent, ChatReviewSessionStartedMessageEvent, ChatReviewSessionVotingStatusMessageEvent, CheckUserNameMessageComposer, CheckUserNameResultMessageEvent, ClientHelloMessageComposer, ClientPingEvent, CloseIssueDefaultActionMessageComposer, CloseIssuesMessageComposer, ClubGiftInfoEvent, ClubGiftNotificationEvent, ClubGiftSelectedEvent, CommunityGoalEarnedPrizesMessageEvent, CommunityGoalHallOfFameMessageEvent, CommunityGoalProgressMessageEvent, CommunityGoalVoteMessageComposer, CommunityGoalVoteMessageEvent, CompetitionEntrySubmitResultEvent, CompetitionRoomsDataMessageEvent, CompetitionRoomsSearchMessageComposer, CompetitionStatusMessageEvent, CompetitionVotingInfoMessageEvent, CompleteDiffieHandshakeEvent, CompleteDiffieHandshakeMessageComposer, CompostPlantMessageComposer, ConcurrentUsersGoalProgressMessageEvent, ConfirmPetBreedingComposer, ConnectionErrorEvent, ControlYoutubeDisplayPlaybackMessageComposer, ConvertedRoomIdEvent, ConvertGlobalRoomIdMessageComposer, CraftableProductsEvent, CraftComposer, CraftingRecipeEvent, CraftingRecipesAvailableEvent, CraftingResultEvent, CraftSecretComposer, CreateFlatMessageComposer, CurrentTimingCodeMessageEvent, CustomUserNotificationMessageEvent, DeclineFriendMessageComposer, DefaultSanctionMessageComposer, DeleteFavouriteRoomMessageComposer, DeleteItemMessageComposer, DeletePendingCallsForHelpMessageComposer, DesktopViewComposer, DesktopViewEvent, DiceValueMessageEvent, DirectSMSClubBuyAvailableMessageEvent, DisconnectMessageComposer, DisconnectReasonEvent, DoorbellMessageEvent, EditEventMessageComposer, ElementPointerMessageEvent, EmailStatusResultEvent, EpicPopupMessageEvent, ExtendedProfileChangedMessageEvent, ExtendRentOrBuyoutFurniMessageComposer, ExtendRentOrBuyoutStripItemMessageComposer, FavoriteMembershipUpdateMessageEvent, FavouriteChangedEvent, FavouritesEvent, FigureSetIdsMessageEvent, FigureUpdateEvent, FindFriendsProcessResultEvent, FindNewFriendsMessageComposer, FireworkChargeDataEvent, FlatAccessDeniedMessageEvent, FlatControllerAddedEvent, FlatControllerRemovedEvent, FlatControllersEvent, FlatCreatedEvent, FloodControlEvent, FloorHeightMapEvent, FollowFriendFailedEvent, FollowFriendMessageComposer, ForumDataMessageEvent, ForumsListMessageEvent, ForwardToACompetitionRoomMessageComposer, ForwardToARandomPromotedRoomMessageComposer, ForwardToASubmittableRoomMessageComposer, ForwardToRandomCompetitionRoomMessageComposer, ForwardToSomeRoomMessageComposer, FriendFurniConfirmLockMessageComposer, FriendListFragmentEvent, FriendListUpdateComposer, FriendListUpdateEvent, FriendNotificationEvent, FriendRequestQuestCompleteMessageComposer, FriendRequestsEvent, FurniRentOrBuyoutOfferMessageEvent, FurnitureAliasesComposer, FurnitureAliasesEvent, FurnitureColorWheelComposer, FurnitureDataEvent, FurnitureDiceActivateComposer, FurnitureDiceDeactivateComposer, FurnitureExchangeComposer, FurnitureFloorAddEvent, FurnitureFloorEvent, FurnitureFloorRemoveEvent, FurnitureFloorUpdateComposer, FurnitureFloorUpdateEvent, FurnitureGroupInfoComposer, FurnitureListAddOrUpdateEvent, FurnitureListComposer, FurnitureListEvent, FurnitureListInvalidateEvent, FurnitureListRemovedEvent, FurnitureMannequinSaveLookComposer, FurnitureMannequinSaveNameComposer, FurnitureMultiStateComposer, FurnitureOneWayDoorComposer, FurniturePickupAllComposer, FurniturePickupComposer, FurniturePlaceComposer, FurniturePlacePaintComposer, FurniturePostItPlaceComposer, FurniturePostItPlacedEvent, FurnitureRandomStateComposer, FurnitureStackHeightComposer, FurnitureStackHeightEvent, FurnitureWallAddEvent, FurnitureWallEvent, FurnitureWallMultiStateComposer, FurnitureWallRemoveEvent, FurnitureWallUpdateComposer, FurnitureWallUpdateEvent, Game2AccountGameStatusMessageEvent, Game2CheckGameDirectoryStatusMessageComposer, Game2ExitGameMessageComposer, Game2GameChatMessageComposer, Game2GameDirectoryStatusMessageEvent, Game2GetAccountGameStatusMessageComposer, Game2GetWeeklyFriendsLeaderboardComposer, Game2GetWeeklyLeaderboardComposer, Game2InArenaQueueMessageEvent, Game2JoiningGameFailedMessageEvent, Game2LoadStageReadyMessageComposer, Game2PlayAgainMessageComposer, Game2RequestFullStatusUpdateMessageComposer, Game2StartingGameFailedMessageEvent, Game2StopCounterMessageEvent, Game2UserLeftGameMessageEvent, Game2WeeklyFriendsLeaderboardEvent, Game2WeeklyLeaderboardEvent, GameAchievementsMessageEvent, GameInviteMessageEvent, GameListMessageEvent, GameStatusMessageEvent, GameUnloadedMessageComposer, GenericErrorEvent, GetBadgePointLimitsComposer, GetBonusRareInfoMessageComposer, GetBotInventoryComposer, GetBundleDiscountRulesetComposer, GetCatalogIndexComposer, GetCatalogPageComposer, GetCatalogPageExpirationComposer, GetCatalogPageWithEarliestExpiryComposer, GetCategoriesWithUserCountMessageComposer, GetCfhChatlogMessageComposer, GetCfhStatusMessageComposer, GetClubGiftInfo, GetClubOffersMessageComposer, GetCommunityGoalEarnedPrizesMessageComposer, GetCommunityGoalHallOfFameMessageComposer, GetCommunityGoalProgressMessageComposer, GetConcurrentUsersGoalProgressMessageComposer, GetConcurrentUsersRewardMessageComposer, GetCraftableProductsComposer, GetCraftingRecipeComposer, GetCraftingRecipesAvailableComposer, GetCurrentTimingCodeMessageComposer, GetCustomRoomFilterMessageComposer, GetDailyQuestMessageComposer, GetDirectClubBuyAvailableComposer, GetEmailStatusComposer, GetExtendedProfileByNameMessageComposer, GetFaqCategoryMessageComposer, GetFaqTextMessageComposer, GetForumsListMessageComposer, GetForumStatsMessageComposer, GetFriendRequestsComposer, GetGameAchievementsMessageComposer, GetGameListMessageComposer, GetGameStatusMessageComposer, GetGiftMessageComposer, GetGiftWrappingConfigurationComposer, GetGuestRoomMessageComposer, GetGuestRoomResultEvent, GetGuideReportingStatusMessageComposer, GetHabboBasicMembershipExtendOfferComposer, GetHabboClubExtendOfferMessageComposer, GetHabboGroupBadgesMessageComposer, GetIgnoredUsersComposer, GetInterstitialMessageComposer, GetIsBadgeRequestFulfilledComposer, GetIsOfferGiftableComposer, GetIsUserPartOfCompetitionMessageComposer, GetItemDataComposer, GetJukeboxPlayListMessageComposer, GetLimitedOfferAppearingNextComposer, GetMarketplaceCanMakeOfferComposer, GetMarketplaceConfigurationMessageComposer, GetMarketplaceItemStatsComposer, GetMarketplaceOffersMessageComposer, GetMarketplaceOwnOffersMessageComposer, GetMessagesMessageComposer, GetModeratorRoomInfoMessageComposer, GetModeratorUserInfoMessageComposer, GetNextTargetedOfferComposer, GetNowPlayingMessageComposer, GetOccupiedTilesMessageComposer, GetOfficialRoomsMessageComposer, GetOfficialSongIdMessageComposer, GetPendingCallsForHelpMessageComposer, GetPetCommandsComposer, GetPopularRoomTagsMessageComposer, GetProductOfferComposer, GetPromoArticlesComposer, GetQuestsMessageComposer, GetQuizQuestionsComposer, GetRecyclerStatusMessageComposer, GetRentOrBuyoutOfferMessageComposer, GetResolutionAchievementsMessageComposer, GetRoomAdPurchaseInfoComposer, GetRoomChatlogMessageComposer, GetRoomEntryDataMessageComposer, GetRoomEntryTileMessageComposer, GetRoomVisitsMessageComposer, GetSeasonalCalendarDailyOfferComposer, GetSeasonalQuestsOnlyMessageComposer, GetSecondsUntilMessageComposer, GetSellablePetPalettesComposer, GetSongInfoMessageComposer, GetSoundMachinePlayListMessageComposer, GetSoundSettingsComposer, GetTalentTrackLevelMessageComposer, GetTargetedOfferComposer, GetThreadMessageComposer, GetThreadsMessageComposer, GetUnreadForumsCountMessageComposer, GetUserChatlogMessageComposer, GetUserEventCatsMessageComposer, GetUserFlatCatsMessageComposer, GetUserGameAchievementsMessageComposer, GetUserSongDisksMessageComposer, GetUserTagsComposer, GetWardrobeMessageComposer, GetWeeklyGameRewardComposer, GetWeeklyGameRewardWinnersComposer, GetYoutubeDisplayStatusMessageComposer, GiftReceiverNotFoundEvent, GiftWrappingConfigurationEvent, GotMysteryBoxPrizeMessageEvent, GoToFlatMessageComposer, GroupAdminGiveComposer, GroupAdminTakeComposer, GroupBadgePartsComposer, GroupBadgePartsEvent, GroupBuyComposer, GroupBuyDataComposer, GroupBuyDataEvent, GroupConfirmMemberRemoveEvent, GroupConfirmRemoveMemberComposer, GroupDeleteComposer, GroupDetailsChangedMessageEvent, GroupFavoriteComposer, GroupFurniContextMenuInfoMessageEvent, GroupInformationComposer, GroupInformationEvent, GroupJoinComposer, GroupMembersComposer, GroupMembersEvent, GroupMembershipAcceptComposer, GroupMembershipDeclineComposer, GroupMembershipRequestedMessageEvent, GroupPurchasedEvent, GroupRemoveMemberComposer, GroupSaveBadgeComposer, GroupSaveColorsComposer, GroupSaveInformationComposer, GroupSavePreferencesComposer, GroupSettingsComposer, GroupSettingsEvent, GroupUnfavoriteComposer, GuestRoomSearchResultEvent, GuideOnDutyStatusMessageEvent, GuideReportingStatusMessageEvent, GuideSessionAttachedMessageEvent, GuideSessionCreateMessageComposer, GuideSessionDetachedMessageEvent, GuideSessionEndedMessageEvent, GuideSessionErrorMessageEvent, GuideSessionFeedbackMessageComposer, GuideSessionGetRequesterRoomMessageComposer, GuideSessionGuideDecidesMessageComposer, GuideSessionInvitedToGuideRoomMessageEvent, GuideSessionInviteRequesterMessageComposer, GuideSessionIsTypingMessageComposer, GuideSessionMessageMessageComposer, GuideSessionMessageMessageEvent, GuideSessionOnDutyUpdateMessageComposer, GuideSessionPartnerIsTypingMessageEvent, GuideSessionReportMessageComposer, GuideSessionRequesterCancelsMessageComposer, GuideSessionRequesterRoomMessageEvent, GuideSessionResolvedMessageComposer, GuideSessionStartedMessageEvent, GuideTicketCreationResultMessageEvent, GuideTicketResolutionMessageEvent, GuildBaseSearchMessageComposer, GuildEditFailedMessageEvent, GuildForumThreadsEvent, GuildMemberMgmtFailedMessageEvent, GuildMembershipsMessageEvent, HabboBroadcastMessageEvent, HabboClubExtendOfferMessageEvent, HabboClubOffersMessageEvent, HabboGroupBadgesMessageEvent, HabboGroupDeactivatedMessageEvent, HabboGroupJoinFailedMessageEvent, HabboSearchComposer, HabboSearchResultEvent, HarvestPetMessageComposer, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelMergeNameChangeEvent, HotelWillCloseInMinutesEvent, IdentityAccountsEvent, IgnoredUsersEvent, IgnoreResultEvent, IgnoreUserComposer, IgnoreUserIdComposer, InClientLinkEvent, IncomingHeader, InfoFeedEnableMessageEvent, InfoRetrieveMessageComposer, InitCameraMessageEvent, InitDiffieHandshakeEvent, InitDiffieHandshakeMessageComposer, InstantMessageErrorEvent, InterstitialMessageEvent, InterstitialShownMessageComposer, IsBadgeRequestFulfilledEvent, IsOfferGiftableMessageEvent, IssueCloseNotificationMessageEvent, IssueDeletedMessageEvent, IssueInfoMessageEvent, IssuePickFailedMessageEvent, IsUserPartOfCompetitionMessageEvent, ItemDataUpdateMessageEvent, JoinedQueueMessageEvent, JoiningQueueFailedMessageEvent, JoinQueueMessageComposer, JukeboxPlayListFullMessageEvent, JukeboxSongDisksMessageEvent, LagWarningReportMessageComposer, LeaveQueueMessageComposer, LeftQueueMessageEvent, LimitedEditionSoldOutEvent, LimitedOfferAppearingNextMessageEvent, LoadGameMessageEvent, LoadGameUrlEvent, LoveLockFurniFinishedEvent, LoveLockFurniFriendConfirmedEvent, LoveLockFurniStartEvent, MaintenanceStatusMessageEvent, MakeOfferMessageComposer, MarkCatalogNewAdditionsPageOpenedComposer, MarketplaceBuyOfferResultEvent, MarketplaceCancelOfferResultEvent, MarketplaceCanMakeOfferResult, MarketplaceConfigurationEvent, MarketplaceItemStatsEvent, MarketplaceMakeOfferResult, MarketPlaceOffersEvent, MarketplaceOwnOffersEvent, MessageErrorEvent, MessengerInitComposer, MessengerInitEvent, MiniMailNewMessageEvent, MiniMailUnreadCountEvent, ModAlertMessageComposer, ModBanMessageComposer, ModerateMessageMessageComposer, ModerateRoomMessageComposer, ModerateThreadMessageComposer, ModeratorActionMessageComposer, ModeratorActionResultMessageEvent, ModeratorCautionEvent, ModeratorInitMessageEvent, ModeratorMessageEvent, ModeratorRoomInfoEvent, ModeratorToolPreferencesEvent, ModeratorUserInfoEvent, ModKickMessageComposer, ModMessageMessageComposer, ModMuteMessageComposer, ModToolPreferencesComposer, ModToolSanctionComposer, ModTradingLockMessageComposer, MoodlightSettingsComposer, MoodlightSettingsSaveComposer, MoodlightTogggleStateComposer, MOTDNotificationEvent, MuteAllInRoomEvent, MyFavouriteRoomsSearchMessageComposer, MyFrequentRoomHistorySearchMessageComposer, MyFriendsRoomsSearchMessageComposer, MyGuildBasesSearchMessageComposer, MyRecommendedRoomsMessageComposer, MyRoomHistorySearchMessageComposer, MyRoomRightsSearchMessageComposer, MyRoomsSearchMessageComposer, MysteryBoxKeysEvent, MysteryBoxWaitingCanceledMessageComposer, NavigatorCategoryListModeComposer, NavigatorCollapsedEvent, NavigatorDeleteSavedSearchComposer, NavigatorHomeRoomEvent, NavigatorInitComposer, NavigatorLiftedEvent, NavigatorMetadataEvent, NavigatorOpenRoomCreatorEvent, NavigatorSearchCloseComposer, NavigatorSearchComposer, NavigatorSearchesEvent, NavigatorSearchEvent, NavigatorSearchOpenComposer, NavigatorSearchSaveComposer, NavigatorSettingsEvent, NavigatorSettingsSaveComposer, NewConsoleMessageEvent, NewFriendRequestEvent, NewUserExperienceGetGiftsComposer, NewUserExperienceGiftOfferMessageEvent, NewUserExperienceNotCompleteEvent, NewUserExperienceScriptProceedComposer, NoobnessLevelMessageEvent, NoOwnedRoomsAlertMessageEvent, NoSuchFlatEvent, NotEnoughBalanceMessageEvent, NotificationDialogMessageEvent, NowPlayingMessageEvent, ObjectsDataUpdateEvent, ObjectsRollingEvent, OfferRewardDeliveredMessageEvent, OfficialSongIdMessageEvent, OneWayDoorStatusMessageEvent, OpenCampaignCalendarDoorAsStaffComposer, OpenCampaignCalendarDoorComposer, OpenMessageComposer, OpenMysteryTrophyMessageComposer, OpenPetPackageMessageComposer, OpenPetPackageRequestedMessageEvent, OpenPetPackageResultMessageEvent, OpenPresentComposer, OpenQuestTrackerMessageComposer, OpenWelcomeGiftComposer, OutgoingHeader, PeerUsersClassificationMessageComposer, PerformanceLogMessageComposer, PerkAllowancesMessageEvent, PetAddedToInventoryEvent, PetBreedingResultEvent, PetExperienceEvent, PetFigureUpdateEvent, PetInfoEvent, PetInventoryEvent, PetLevelNotificationEvent, PetLevelUpdateMessageEvent, PetMountComposer, PetMoveComposer, PetPlaceComposer, PetPlacingErrorEvent, PetReceivedMessageEvent, PetRemoveComposer, PetRemovedFromInventory, PetRespectComposer, PetRespectNoficationEvent, PetScratchFailedMessageEvent, PetSelectedMessageComposer, PetStatusUpdateEvent, PetSupplementComposer, PetSupplementedNotificationEvent, PetTrainingPanelMessageEvent, PhoneCollectionStateMessageEvent, PhotoCompetitionMessageComposer, PickIssuesMessageComposer, PlayListMessageEvent, PlayListSongAddedMessageEvent, PollAnswerComposer, PollContentsEvent, PollErrorEvent, PollOfferEvent, PollRejectComposer, PollStartComposer, PongMessageComposer, PopularRoomsSearchMessageComposer, PopularRoomTagsResultEvent, PostMessageMessageComposer, PostMessageMessageEvent, PostQuizAnswersComposer, PostThreadMessageEvent, PresentOpenedMessageEvent, ProductOfferEvent, PromoArticlesMessageEvent, PublishPhotoMessageComposer, PurchaseBasicMembershipExtensionComposer, PurchaseErrorMessageEvent, PurchaseFromCatalogAsGiftComposer, PurchaseFromCatalogComposer, PurchaseNotAllowedMessageEvent, PurchaseOKMessageEvent, PurchasePhotoMessageComposer, PurchaseRoomAdMessageComposer, PurchaseTargetedOfferComposer, PurchaseVipMembershipExtensionComposer, QuestCancelledMessageEvent, QuestCompletedMessageEvent, QuestDailyMessageEvent, QuestionAnsweredEvent, QuestionEvent, QuestionFinishedEvent, QuestMessageEvent, QuestsMessageEvent, QuizDataMessageEvent, QuizResultsMessageEvent, RateFlatMessageComposer, RecycleItemsMessageComposer, RecyclerFinishedMessageEvent, RecyclerStatusMessageEvent, RedeemCommunityGoalPrizeMessageComposer, RedeemItemClothingComposer, RedeemMarketplaceOfferCreditsMessageComposer, RedeemVoucherMessageComposer, RejectQuestMessageComposer, RelationshipStatusInfoEvent, ReleaseIssuesMessageComposer, RemainingMuteEvent, RemoveAllRightsMessageComposer, RemoveFriendComposer, RemoveJukeboxDiskComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RemoveWallItemComposer, RenderRoomMessageComposer, RenderRoomThumbnailMessageComposer, RentableSpaceCancelRentMessageComposer, RentableSpaceRentFailedMessageEvent, RentableSpaceRentMessageComposer, RentableSpaceRentOkMessageEvent, RentableSpaceStatusMessageComposer, RentableSpaceStatusMessageEvent, RequestABadgeComposer, RequestAchievementsMessageComposer, RequestBadgesComposer, RequestBotCommandConfigurationComposer, RequestCameraConfigurationComposer, RequestFriendComposer, RequestFurniInventoryWhenNotInRoomComposer, RequestPetInfoComposer, RequestPetsComposer, RequestSpamWallPostItMessageEvent, ResetPhoneNumberStateMessageComposer, ResetResolutionAchievementMessageComposer, RespectReceivedEvent, RestoreClientMessageEvent, RoomAdErrorEvent, RoomAdEventTabAdClickedComposer, RoomAdEventTabViewedComposer, RoomAdPurchaseInfoEvent, RoomAdPurchaseInitiatedComposer, RoomAdSearchMessageComposer, RoomAmbassadorAlertComposer, RoomBannedUsersComposer, RoomBanUserComposer, RoomChatlogEvent, RoomChatSettingsEvent, RoomCompetitionInitMessageComposer, RoomDeleteComposer, RoomDimmerPresetsEvent, RoomDoorbellAcceptedEvent, RoomDoorbellAccessComposer, RoomEnterComposer, RoomEnterErrorEvent, RoomEnterEvent, RoomEntryInfoMessageEvent, RoomEntryTileMessageEvent, RoomEventCancelEvent, RoomEventEvent, RoomFilterSettingsMessageEvent, RoomForwardEvent, RoomGiveRightsComposer, RoomHeightMapEvent, RoomHeightMapUpdateEvent, RoomInviteErrorEvent, RoomInviteEvent, RoomKickUserComposer, RoomMessageNotificationMessageEvent, RoomMuteComposer, RoomMuteUserComposer, RoomNetworkOpenConnectionMessageComposer, RoomOccupiedTilesMessageEvent, RoomPaintEvent, RoomReadyMessageEvent, RoomRightsClearEvent, RoomRightsEvent, RoomRightsOwnerEvent, RoomScoreEvent, RoomSettingsComposer, RoomSettingsDataEvent, RoomSettingsErrorEvent, RoomSettingsSavedEvent, RoomSettingsSaveErrorEvent, RoomSettingsUpdatedEvent, RoomsWhereMyFriendsAreSearchMessageComposer, RoomsWithHighestScoreSearchMessageComposer, RoomTakeRightsComposer, RoomTextSearchMessageComposer, RoomThumbnailUpdateResultEvent, RoomUnbanUserComposer, RoomUnitActionComposer, RoomUnitChatComposer, RoomUnitChatEvent, RoomUnitChatShoutComposer, RoomUnitChatShoutEvent, RoomUnitBackgroundComposer, RoomUnitChatStyleComposer, RoomUnitChatWhisperComposer, RoomUnitChatWhisperEvent, RoomUnitDanceComposer, RoomUnitDanceEvent, RoomUnitDropHandItemComposer, RoomUnitEffectEvent, RoomUnitEvent, RoomUnitExpressionEvent, RoomUnitGiveHandItemComposer, RoomUnitGiveHandItemPetComposer, RoomUnitHandItemEvent, RoomUnitHandItemReceivedEvent, RoomUnitIdleEvent, RoomUnitInfoEvent, RoomUnitLookComposer, RoomUnitNumberEvent, RoomUnitPostureComposer, RoomUnitRemoveEvent, RoomUnitSignComposer, RoomUnitStatusEvent, RoomUnitTypingEvent, RoomUnitTypingStartComposer, RoomUnitTypingStopComposer, RoomUnitWalkComposer, RoomUsersClassificationMessageComposer, RoomUsersWithRightsComposer, RoomVisitsEvent, RoomVisualizationSettingsEvent, SanctionStatusEvent, SaveRoomSettingsComposer, SaveWardrobeOutfitMessageComposer, ScrGetKickbackInfoMessageComposer, ScrSendKickbackInfoMessageEvent, SearchFaqsMessageComposer, SeasonalCalendarDailyOfferMessageEvent, SeasonalQuestsMessageEvent, SecondsUntilMessageEvent, SelectClubGiftComposer, SellablePetPalettesMessageEvent, SendMessageComposer, SendRoomInviteComposer, SetActivatedBadgesComposer, SetClothingChangeDataMessageComposer, SetItemDataMessageComposer, SetObjectDataMessageComposer, SetPhoneNumberVerificationStatusMessageComposer, SetRelationshipStatusComposer, SetRoomSessionTagsMessageComposer, SetTargetedOfferStateComposer, SetYoutubeDisplayPlaylistMessageComposer, ShopTargetedOfferViewedComposer, ShowEnforceRoomCategoryDialogEvent, ShowMysteryBoxWaitMessageEvent, SimpleAlertMessageEvent, SSOTicketMessageComposer, StartCampaignMessageComposer, StartRoomPollEvent, SubmitRoomToCompetitionMessageComposer, TalentLevelUpEvent, TalentTrackComposer, TalentTrackLevelMessageEvent, TalentTrackMessageEvent, TargetedOfferEvent, TargetedOfferNotFoundEvent, ThreadMessagesMessageEvent, ThumbnailStatusMessageEvent, TogglePetBreedingComposer, TogglePetRidingComposer, ToggleStaffPickMessageComposer, TradingAcceptComposer, TradingAcceptEvent, TradingCancelComposer, TradingCloseComposer, TradingCloseEvent, TradingCompletedEvent, TradingConfirmationComposer, TradingConfirmationEvent, TradingListAddItemComposer, TradingListAddItemsComposer, TradingListItemEvent, TradingListItemRemoveComposer, TradingNoSuchItemEvent, TradingNotOpenEvent, TradingOpenComposer, TradingOpenEvent, TradingOpenFailedEvent, TradingOtherNotAllowedEvent, TradingUnacceptComposer, TradingYouAreNotAllowedEvent, TraxSongInfoMessageEvent, TryPhoneNumberMessageComposer, TryPhoneNumberResultMessageEvent, TryVerificationCodeResultMessageEvent, UnblockGroupMemberMessageComposer, UnignoreUserComposer, UniqueIDMessageComposer, UnloadGameMessageEvent, UnreadForumsCountMessageEvent, UnseenItemsEvent, UnseenResetCategoryComposer, UnseenResetItemsComposer, UpdateActionMessageComposer, UpdateConditionMessageComposer, UpdateFloorPropertiesMessageComposer, UpdateForumReadMarkerMessageComposer, UpdateForumSettingsMessageComposer, UpdateFurniturePositionComposer, UpdateHomeRoomMessageComposer, UpdateMessageMessageEvent, UpdateRoomCategoryAndTradeSettingsComposer, UpdateRoomFilterMessageComposer, UpdateRoomThumbnailMessageComposer, UpdateThreadMessageComposer, UpdateThreadMessageEvent, UpdateTriggerMessageComposer, UsePetProductComposer, UserBannedMessageEvent, UserChatlogEvent, UserClassificationMessageEvent, UserCreditsEvent, UserCurrencyComposer, UserCurrencyEvent, UserCurrentBadgesComposer, UserCurrentBadgesEvent, UserEventCatsEvent, UserFigureComposer, UserFlatCatsEvent, UserGameAchievementsMessageEvent, UserInfoEvent, UserMottoComposer, UserNameChangeMessageEvent, UserPermissionsEvent, UserProfileComposer, UserProfileEvent, UserRelationshipsComposer, UserRespectComposer, UserSettingsCameraFollowComposer, UserSettingsEvent, UserSettingsOldChatComposer, UserSettingsRoomInvitesComposer, UserSettingsSoundComposer, UserSongDisksInventoryMessageEvent, UserSubscriptionComposer, UserSubscriptionEvent, UserTagsMessageEvent, UserUnbannedFromRoomEvent, UserWardrobePageEvent, VerifyCodeMessageComposer, VersionCheckMessageComposer, VisitUserComposer, VoteForRoomMessageComposer, VoucherRedeemErrorMessageEvent, VoucherRedeemOkMessageEvent, WardrobeMessageEvent, WeeklyCompetitiveFriendsLeaderboardEvent, WeeklyCompetitiveLeaderboardEvent, WeeklyGameRewardEvent, WeeklyGameRewardWinnersEvent, WelcomeGiftChangeEmailComposer, WelcomeGiftChangeEmailResultEvent, WelcomeGiftStatusEvent, WiredFurniActionEvent, WiredFurniConditionEvent, WiredFurniTriggerEvent, WiredOpenEvent, WiredRewardResultMessageEvent, WiredSaveSuccessEvent, WiredValidationErrorEvent, YouArePlayingGameEvent, YouAreSpectatorMessageEvent, YoutubeControlVideoMessageEvent, YoutubeDisplayPlaylistsEvent, YoutubeDisplayVideoMessageEvent } from './messages'; export class NitroMessages implements IMessageConfiguration { @@ -944,7 +944,7 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.FURNITURE_ALIASES, FurnitureAliasesComposer); this._composers.set(OutgoingHeader.FURNITURE_GROUP_INFO, FurnitureGroupInfoComposer); this._composers.set(OutgoingHeader.FURNITURE_PICKUP, FurniturePickupComposer); - this._composers.set(OutgoingHeader.FURNITURE_PICKUP_ALL, FurniturePickupAllComposer); + this._composers.set(OutgoingHeader.FURNITURE_PICKUP_ALL, FurniturePickupAllComposer); this._composers.set(OutgoingHeader.FURNITURE_PLACE, FurniturePlaceComposer); this._composers.set(OutgoingHeader.ITEM_PAINT, FurniturePlacePaintComposer); this._composers.set(OutgoingHeader.FURNITURE_POSTIT_PLACE, FurniturePostItPlaceComposer); @@ -955,6 +955,7 @@ export class NitroMessages implements IMessageConfiguration // FLOOR this._composers.set(OutgoingHeader.FURNITURE_FLOOR_UPDATE, FurnitureFloorUpdateComposer); + this._composers.set(OutgoingHeader.FURNITURE_FLOOR_POSITION_UPDATE, UpdateFurniturePositionComposer); // WALL this._composers.set(OutgoingHeader.FURNITURE_WALL_UPDATE, FurnitureWallUpdateComposer); @@ -1000,6 +1001,7 @@ export class NitroMessages implements IMessageConfiguration this._composers.set(OutgoingHeader.UNIT_CHAT, RoomUnitChatComposer); this._composers.set(OutgoingHeader.UNIT_CHAT_SHOUT, RoomUnitChatShoutComposer); this._composers.set(OutgoingHeader.USER_SETTINGS_CHAT_STYLE, RoomUnitChatStyleComposer); + this._composers.set(OutgoingHeader.USER_SETTINGS_INFOSTAND_BACKGROUND, RoomUnitBackgroundComposer); this._composers.set(OutgoingHeader.UNIT_CHAT_WHISPER, RoomUnitChatWhisperComposer); this._composers.set(OutgoingHeader.UNIT_TYPING, RoomUnitTypingStartComposer); this._composers.set(OutgoingHeader.UNIT_TYPING_STOP, RoomUnitTypingStopComposer); diff --git a/submodules/renderer/src/nitro/communication/messages/outgoing/OutgoingHeader.ts b/submodules/renderer/src/nitro/communication/messages/outgoing/OutgoingHeader.ts index f506479..09256d7 100644 --- a/submodules/renderer/src/nitro/communication/messages/outgoing/OutgoingHeader.ts +++ b/submodules/renderer/src/nitro/communication/messages/outgoing/OutgoingHeader.ts @@ -253,6 +253,7 @@ export class OutgoingHeader public static GET_SOUND_SETTINGS = 2388; public static USER_SETTINGS_CAMERA = 1461; public static USER_SETTINGS_CHAT_STYLE = 1030; + public static USER_SETTINGS_INFOSTAND_BACKGROUND = 1031; public static USER_SETTINGS_INVITES = 1086; public static USER_SETTINGS_OLD_CHAT = 1262; public static USER_SETTINGS_VOLUME = 1367; @@ -470,4 +471,5 @@ export class OutgoingHeader public static FURNITURE_PICKUP_ALL = 10017; public static DELETE_ITEM = 10018; + public static FURNITURE_FLOOR_POSITION_UPDATE = 10019; } diff --git a/submodules/renderer/src/nitro/communication/messages/outgoing/room/furniture/floor/UpdateFurniturePositionComposer.ts b/submodules/renderer/src/nitro/communication/messages/outgoing/room/furniture/floor/UpdateFurniturePositionComposer.ts new file mode 100644 index 0000000..63035f8 --- /dev/null +++ b/submodules/renderer/src/nitro/communication/messages/outgoing/room/furniture/floor/UpdateFurniturePositionComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../../api'; + +export class UpdateFurniturePositionComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(itemId: number, x: number, y: number, z: number, direction: number) + { + this._data = [itemId, x, y, z, direction]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/submodules/renderer/src/nitro/communication/messages/outgoing/room/furniture/floor/index.ts b/submodules/renderer/src/nitro/communication/messages/outgoing/room/furniture/floor/index.ts index 8dde729..cdb8e01 100644 --- a/submodules/renderer/src/nitro/communication/messages/outgoing/room/furniture/floor/index.ts +++ b/submodules/renderer/src/nitro/communication/messages/outgoing/room/furniture/floor/index.ts @@ -1 +1,2 @@ export * from './FurnitureFloorUpdateComposer'; +export * from './UpdateFurniturePositionComposer'; diff --git a/submodules/renderer/src/nitro/communication/messages/outgoing/room/unit/RoomUnitBackgroundComposer.ts b/submodules/renderer/src/nitro/communication/messages/outgoing/room/unit/RoomUnitBackgroundComposer.ts new file mode 100644 index 0000000..bb774b1 --- /dev/null +++ b/submodules/renderer/src/nitro/communication/messages/outgoing/room/unit/RoomUnitBackgroundComposer.ts @@ -0,0 +1,21 @@ +import { IMessageComposer } from '../../../../../../api'; + +export class RoomUnitBackgroundComposer implements IMessageComposer> +{ + private _data: ConstructorParameters; + + constructor(backgroundImage: number, backgroundStand: number, backgroundOverlay: number) + { + this._data = [ backgroundImage, backgroundStand, backgroundOverlay ]; + } + + public getMessageArray() + { + return this._data; + } + + public dispose(): void + { + return; + } +} diff --git a/submodules/renderer/src/nitro/communication/messages/outgoing/room/unit/index.ts b/submodules/renderer/src/nitro/communication/messages/outgoing/room/unit/index.ts index 52a7296..5736d20 100644 --- a/submodules/renderer/src/nitro/communication/messages/outgoing/room/unit/index.ts +++ b/submodules/renderer/src/nitro/communication/messages/outgoing/room/unit/index.ts @@ -1,5 +1,6 @@ export * from './chat'; export * from './RoomUnitActionComposer'; +export * from './RoomUnitBackgroundComposer'; export * from './RoomUnitDanceComposer'; export * from './RoomUnitDropHandItemComposer'; export * from './RoomUnitGiveHandItemComposer'; @@ -7,4 +8,4 @@ export * from './RoomUnitGiveHandItemPetComposer'; export * from './RoomUnitLookComposer'; export * from './RoomUnitPostureComposer'; export * from './RoomUnitSignComposer'; -export * from './RoomUnitWalkComposer'; +export * from './RoomUnitWalkComposer'; \ No newline at end of file diff --git a/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts b/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts index f0042c1..cc7ca78 100644 --- a/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts +++ b/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitInfoParser.ts @@ -7,6 +7,9 @@ export class RoomUnitInfoParser implements IMessageParser private _gender: string; private _motto: string; private _achievementScore: number; + private _backgroundId: number; + private _standId: number; + private _overlayId: number; public flush(): boolean { @@ -15,6 +18,9 @@ export class RoomUnitInfoParser implements IMessageParser this._gender = 'M'; this._motto = null; this._achievementScore = 0; + this._backgroundId = 0; + this._standId = 0; + this._overlayId = 0; return true; } @@ -28,6 +34,9 @@ export class RoomUnitInfoParser implements IMessageParser this._gender = wrapper.readString().toLocaleUpperCase(); this._motto = wrapper.readString(); this._achievementScore = wrapper.readInt(); + this._backgroundId = wrapper.readInt(); + this._standId = wrapper.readInt(); + this._overlayId = wrapper.readInt(); return true; } @@ -56,4 +65,19 @@ export class RoomUnitInfoParser implements IMessageParser { return this._achievementScore; } + + public get backgroundId(): number + { + return this._backgroundId; + } + + public get standId(): number + { + return this._standId; + } + + public get overlayId(): number + { + return this._overlayId; + } } diff --git a/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts b/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts index 2725587..7e53486 100644 --- a/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts +++ b/submodules/renderer/src/nitro/communication/messages/parser/room/unit/RoomUnitParser.ts @@ -27,6 +27,9 @@ export class RoomUnitParser implements IMessageParser const id = wrapper.readInt(); const username = wrapper.readString(); const custom = wrapper.readString(); + const background = wrapper.readInt(); + const stand = wrapper.readInt(); + const overlay = wrapper.readInt(); let figure = wrapper.readString(); const roomIndex = wrapper.readInt(); const x = wrapper.readInt(); @@ -40,6 +43,9 @@ export class RoomUnitParser implements IMessageParser user.dir = direction; user.name = username; user.custom = custom; + user.background = background; + user.stand = stand; + user.overlay = overlay; user.x = x; user.y = y; user.z = z; diff --git a/submodules/renderer/src/nitro/communication/messages/parser/room/unit/UserMessageData.ts b/submodules/renderer/src/nitro/communication/messages/parser/room/unit/UserMessageData.ts index b6a944d..363b3f3 100644 --- a/submodules/renderer/src/nitro/communication/messages/parser/room/unit/UserMessageData.ts +++ b/submodules/renderer/src/nitro/communication/messages/parser/room/unit/UserMessageData.ts @@ -14,6 +14,9 @@ export class UserMessageData private _figure: string = ''; private _custom: string = ''; private _activityPoints: number = 0; + private _background: number = 0; + private _stand: number = 0; + private _overlay: number = 0; private _webID: number = 0; private _groupID: number = 0; private _groupStatus: number = 0; @@ -179,6 +182,36 @@ export class UserMessageData } } + public get background(): number + { + return this._background; + } + + public set background(k: number) + { + this._background = k; + } + + public get stand(): number + { + return this._stand; + } + + public set stand(k: number) + { + this._stand = k; + } + + public get overlay(): number + { + return this._overlay; + } + + public set overlay(k: number) + { + this._overlay = k; + } + public get webID(): number { return this._webID; diff --git a/submodules/renderer/src/nitro/room/RoomEngine.ts b/submodules/renderer/src/nitro/room/RoomEngine.ts index d912d44..a6d0ca1 100644 --- a/submodules/renderer/src/nitro/room/RoomEngine.ts +++ b/submodules/renderer/src/nitro/room/RoomEngine.ts @@ -1997,6 +1997,26 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato return true; } + public getFurniLocation(roomId: number, objectId: number, isWallItem: boolean): string + { + return isWallItem + ? this.getRoomObjectWall(roomId, objectId).getLocation().toString() + : this.getRoomObjectFloor(roomId, objectId).getLocation().toString(); + } + + public getFurniDirection(roomId: number, objectId: number, isWallItem: boolean): string + { + return isWallItem + ? this.getRoomObjectWall(roomId, objectId).getDirection().toString() + : this.getRoomObjectFloor(roomId, objectId).getDirection().toString(); + } + + public getFurniState(roomId: number, objectId: number, isWallItem: boolean): number + { + return isWallItem + ? this.getRoomObjectWall(roomId, objectId).getState() + : this.getRoomObjectFloor(roomId, objectId).getState(); + } public addRoomObjectUser(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, headDirection: number, type: number, figure: string): boolean { const existing = this.getRoomObjectUser(roomId, objectId); diff --git a/submodules/renderer/src/nitro/session/RoomSession.ts b/submodules/renderer/src/nitro/session/RoomSession.ts index 2987c5e..8faf688 100644 --- a/submodules/renderer/src/nitro/session/RoomSession.ts +++ b/submodules/renderer/src/nitro/session/RoomSession.ts @@ -1,7 +1,7 @@ import { IConnection, IRoomSession, RoomControllerLevel, RoomTradingLevelEnum } from '../../api'; import { Disposable } from '../../core'; import { RoomSessionEvent } from '../../events'; -import { BotRemoveComposer, ChangeQueueMessageComposer, CompostPlantMessageComposer, FurnitureMultiStateComposer, GetPetCommandsComposer, HarvestPetMessageComposer, MoodlightSettingsComposer, MoodlightSettingsSaveComposer, MoodlightTogggleStateComposer, NewUserExperienceScriptProceedComposer, OpenPetPackageMessageComposer, OpenPresentComposer, PeerUsersClassificationMessageComposer, PetMountComposer, PetRemoveComposer, PollAnswerComposer, PollRejectComposer, PollStartComposer, RemovePetSaddleComposer, RoomAmbassadorAlertComposer, RoomBanUserComposer, RoomDoorbellAccessComposer, RoomEnterComposer, RoomGiveRightsComposer, RoomKickUserComposer, RoomModerationSettings, RoomMuteUserComposer, RoomTakeRightsComposer, RoomUnitActionComposer, RoomUnitChatComposer, RoomUnitChatShoutComposer, RoomUnitChatWhisperComposer, RoomUnitDanceComposer, RoomUnitPostureComposer, RoomUnitSignComposer, RoomUnitTypingStartComposer, RoomUnitTypingStopComposer, RoomUsersClassificationMessageComposer, SetClothingChangeDataMessageComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer, UserMottoComposer } from '../communication'; +import { BotRemoveComposer, ChangeQueueMessageComposer, CompostPlantMessageComposer, FurnitureMultiStateComposer, GetPetCommandsComposer, HarvestPetMessageComposer, MoodlightSettingsComposer, MoodlightSettingsSaveComposer, MoodlightTogggleStateComposer, NewUserExperienceScriptProceedComposer, OpenPetPackageMessageComposer, OpenPresentComposer, PeerUsersClassificationMessageComposer, PetMountComposer, PetRemoveComposer, PollAnswerComposer, PollRejectComposer, PollStartComposer, RemovePetSaddleComposer, RoomAmbassadorAlertComposer, RoomUnitBackgroundComposer, RoomBanUserComposer, RoomDoorbellAccessComposer, RoomEnterComposer, RoomGiveRightsComposer, RoomKickUserComposer, RoomModerationSettings, RoomMuteUserComposer, RoomTakeRightsComposer, RoomUnitActionComposer, RoomUnitChatComposer, RoomUnitChatShoutComposer, RoomUnitChatWhisperComposer, RoomUnitDanceComposer, RoomUnitPostureComposer, RoomUnitSignComposer, RoomUnitTypingStartComposer, RoomUnitTypingStopComposer, RoomUsersClassificationMessageComposer, SetClothingChangeDataMessageComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer, UserMottoComposer } from '../communication'; import { UserDataManager } from './UserDataManager'; export class RoomSession extends Disposable implements IRoomSession @@ -140,6 +140,10 @@ export class RoomSession extends Disposable implements IRoomSession this._connection.send(new UserMottoComposer(motto)); } + public sendBackgroundMessage(backgroundImage: number, backgroundStand: number, backgroundOverlay: number): void + { + this._connection.send(new RoomUnitBackgroundComposer(backgroundImage, backgroundStand, backgroundOverlay)); + } public sendDanceMessage(danceId: number): void { this._connection.send(new RoomUnitDanceComposer(danceId)); diff --git a/submodules/renderer/src/nitro/session/RoomUserData.ts b/submodules/renderer/src/nitro/session/RoomUserData.ts index 0f851cb..fd84779 100644 --- a/submodules/renderer/src/nitro/session/RoomUserData.ts +++ b/submodules/renderer/src/nitro/session/RoomUserData.ts @@ -9,6 +9,9 @@ export class RoomUserData implements IRoomUserData private _figure: string = ''; private _custom: string = ''; private _activityPoints: number; + private _background: number; + private _stand: number; + private _overlay: number; private _webID: number = 0; private _groupID: number = 0; private _groupStatus: number = 0; @@ -46,6 +49,36 @@ export class RoomUserData implements IRoomUserData this._activityPoints = k; } + public get background(): number + { + return this._background; + } + + public set background(k: number) + { + this._background = k; + } + + public get stand(): number + { + return this._stand; + } + + public set stand(k: number) + { + this._stand = k; + } + + public get overlay(): number + { + return this._overlay; + } + + public set overlay(k: number) + { + this._overlay = k; + } + public get name(): string { return this._name; diff --git a/submodules/renderer/src/nitro/session/UserDataManager.ts b/submodules/renderer/src/nitro/session/UserDataManager.ts index 1e5843b..090d6a9 100644 --- a/submodules/renderer/src/nitro/session/UserDataManager.ts +++ b/submodules/renderer/src/nitro/session/UserDataManager.ts @@ -172,6 +172,17 @@ export class UserDataManager extends Disposable userData.custom = custom; } + public updateBackground(roomIndex: number, background: number, stand: number, overlay: number): void + { + const userData = this.getUserDataByIndex(roomIndex); + + if(!userData) return; + + userData.background = background; + userData.stand = stand; + userData.overlay = overlay; + } + public updateAchievementScore(roomIndex: number, score: number): void { const userData = this.getUserDataByIndex(roomIndex); diff --git a/submodules/renderer/src/nitro/session/handler/RoomUsersHandler.ts b/submodules/renderer/src/nitro/session/handler/RoomUsersHandler.ts index 12a2063..b4f018e 100644 --- a/submodules/renderer/src/nitro/session/handler/RoomUsersHandler.ts +++ b/submodules/renderer/src/nitro/session/handler/RoomUsersHandler.ts @@ -55,6 +55,9 @@ export class RoomUsersHandler extends BaseHandler userData.name = user.name; userData.custom = user.custom; + userData.background = user.background; + userData.stand = user.stand; + userData.overlay = user.overlay; userData.activityPoints = user.activityPoints; userData.figure = user.figure; userData.type = user.userType; @@ -101,8 +104,9 @@ export class RoomUsersHandler extends BaseHandler session.userDataManager.updateMotto(parser.unitId, parser.motto); session.userDataManager.updateAchievementScore(parser.unitId, parser.achievementScore); - this.listener.events.dispatchEvent(new RoomSessionUserFigureUpdateEvent(session, parser.unitId, parser.figure, parser.gender, parser.motto, parser.achievementScore)); + session.userDataManager.updateBackground(parser.unitId, parser.backgroundId, parser.standId, parser.overlayId); + this.listener.events.dispatchEvent(new RoomSessionUserFigureUpdateEvent(session, parser.unitId, parser.figure, parser.gender, parser.motto, parser.achievementScore, parser.backgroundId, parser.standId, parser.overlayId)); } private onRoomUnitRemoveEvent(event: RoomUnitRemoveEvent): void