@oxyfoo/gamelife-types 2.1.6 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Class/Rewards.d.ts +3 -2
- package/Data/App/IAP.d.ts +6 -0
- package/Data/App/IAP.js +1 -0
- package/Data/App/Items.d.ts +3 -1
- package/Data/App/index.d.ts +2 -0
- package/Data/User/Inventory.d.ts +3 -3
- package/Data/User/Multiplayer.d.ts +6 -9
- package/Data/User/Multiplayer.js +10 -12
- package/TCP/GameLife/Request_ClientToServer.d.ts +42 -1
- package/TCP/GameLife/Request_ServerToClient.d.ts +71 -1
- package/package.json +2 -1
package/Class/Rewards.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Rarities } from '../Global/Rarities.js';
|
|
2
2
|
import { Stuff } from '../Data/User/Inventory.js';
|
|
3
3
|
import { ItemID } from '../Data/App/Items.js';
|
|
4
|
+
export type ChestRarity = Exclude<Rarities, 'legendary'>;
|
|
4
5
|
interface TitleRawReward {
|
|
5
6
|
Type: 'Title';
|
|
6
7
|
TitleID: number;
|
|
@@ -30,11 +31,11 @@ interface ItemReward {
|
|
|
30
31
|
}
|
|
31
32
|
interface ChestRawReward {
|
|
32
33
|
Type: 'Chest';
|
|
33
|
-
ChestRarity:
|
|
34
|
+
ChestRarity: ChestRarity;
|
|
34
35
|
}
|
|
35
36
|
interface ChestReward {
|
|
36
37
|
Type: 'Chest';
|
|
37
|
-
ChestRarity:
|
|
38
|
+
ChestRarity: ChestRarity;
|
|
38
39
|
Stuff: Stuff;
|
|
39
40
|
}
|
|
40
41
|
export type RawReward = TitleRawReward | OXRawReward | ItemRawReward | ChestRawReward;
|
package/Data/App/IAP.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/Data/App/Items.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Rarities } from '../../Global/Rarities.js';
|
|
2
2
|
import { LangType } from '../../Global/Langs.js';
|
|
3
|
-
|
|
3
|
+
import { ItemName } from '@oxyfoo/avatar-factory';
|
|
4
|
+
export type CharactersID = 'human_00' | 'human_01';
|
|
5
|
+
export type ItemID = ItemName;
|
|
4
6
|
export type ItemSlot = 'hair' | 'top' | 'bottom' | 'shoes';
|
|
5
7
|
export type ItemBuffs = [];
|
|
6
8
|
export interface Item {
|
package/Data/App/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Achievement } from './Achievements.js';
|
|
|
2
2
|
import { Ad } from './Ads.js';
|
|
3
3
|
import { Contributor } from './Contributors.js';
|
|
4
4
|
import { DailyQuestReward } from './DailyQuestReward.js';
|
|
5
|
+
import { IAP } from './IAP.js';
|
|
5
6
|
import { Item } from './Items.js';
|
|
6
7
|
import { MissionType } from './Missions.js';
|
|
7
8
|
import { Quote } from './Quotes.js';
|
|
@@ -14,6 +15,7 @@ export interface DataTypes {
|
|
|
14
15
|
ads: Ad[];
|
|
15
16
|
contributors: Contributor[];
|
|
16
17
|
dailyQuestsRewards: DailyQuestReward[];
|
|
18
|
+
iap: IAP[];
|
|
17
19
|
items: Item[];
|
|
18
20
|
missions: MissionType[];
|
|
19
21
|
quotes: Quote[];
|
package/Data/User/Inventory.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ItemID } from '../../Data/App/Items.js';
|
|
1
|
+
import { ItemID, CharactersID } from '../../Data/App/Items.js';
|
|
2
2
|
export interface Stuff {
|
|
3
3
|
ID: number;
|
|
4
4
|
ItemID: ItemID;
|
|
@@ -6,8 +6,7 @@ export interface Stuff {
|
|
|
6
6
|
CreatedAt: number;
|
|
7
7
|
}
|
|
8
8
|
export interface AvatarObject {
|
|
9
|
-
|
|
10
|
-
skin: 'skin_01';
|
|
9
|
+
skin: CharactersID;
|
|
11
10
|
skinColor: number;
|
|
12
11
|
hair: number;
|
|
13
12
|
top: number;
|
|
@@ -18,5 +17,6 @@ export type SaveObject_Inventory = {
|
|
|
18
17
|
titleIDs: number[];
|
|
19
18
|
stuffs: Stuff[];
|
|
20
19
|
avatar: AvatarObject;
|
|
20
|
+
avatarEdited: boolean;
|
|
21
21
|
token: number;
|
|
22
22
|
};
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import { StatsXP } from '../../Class/Experience.js';
|
|
2
2
|
import { CurrentActivity } from '../../Data/User/Activities.js';
|
|
3
3
|
import { AchievementItem } from '../../Data/User/Achievements.js';
|
|
4
|
-
|
|
5
|
-
type CharactersName = 'skin_01';
|
|
6
|
-
type StuffID = 'hair_01' | 'top_01' | 'bottom_01' | 'shoes_01';
|
|
4
|
+
import { CharactersID, ItemID } from '../../Data/App/Items.js';
|
|
7
5
|
export type FriendConnectionState = 'online' | 'offline';
|
|
8
6
|
export type FriendshipState = 'pending' | 'blocked' | 'none';
|
|
9
7
|
export type FriendshipStateAccepted = 'accepted';
|
|
10
8
|
interface UserAvatar {
|
|
11
|
-
|
|
12
|
-
Skin: CharactersName;
|
|
9
|
+
Skin: CharactersID;
|
|
13
10
|
SkinColor: number;
|
|
14
|
-
Hair:
|
|
15
|
-
Top:
|
|
16
|
-
Bottom:
|
|
17
|
-
Shoes:
|
|
11
|
+
Hair: ItemID;
|
|
12
|
+
Top: ItemID;
|
|
13
|
+
Bottom: ItemID;
|
|
14
|
+
Shoes: ItemID;
|
|
18
15
|
}
|
|
19
16
|
export declare class UserOnline {
|
|
20
17
|
friendshipState: FriendshipState;
|
package/Data/User/Multiplayer.js
CHANGED
|
@@ -6,13 +6,12 @@ export class UserOnline {
|
|
|
6
6
|
title = 0;
|
|
7
7
|
xp = 0;
|
|
8
8
|
avatar = {
|
|
9
|
-
|
|
10
|
-
Skin: 'skin_01',
|
|
9
|
+
Skin: 'human_00',
|
|
11
10
|
SkinColor: 0,
|
|
12
|
-
Hair: '
|
|
13
|
-
Top: '
|
|
14
|
-
Bottom: '
|
|
15
|
-
Shoes: '
|
|
11
|
+
Hair: 'hair_00',
|
|
12
|
+
Top: 'top_00',
|
|
13
|
+
Bottom: 'bottom_00',
|
|
14
|
+
Shoes: 'shoes_00'
|
|
16
15
|
};
|
|
17
16
|
}
|
|
18
17
|
export class Friend {
|
|
@@ -23,13 +22,12 @@ export class Friend {
|
|
|
23
22
|
title = 0;
|
|
24
23
|
xp = 0;
|
|
25
24
|
avatar = {
|
|
26
|
-
|
|
27
|
-
Skin: 'skin_01',
|
|
25
|
+
Skin: 'human_00',
|
|
28
26
|
SkinColor: 0,
|
|
29
|
-
Hair: '
|
|
30
|
-
Top: '
|
|
31
|
-
Bottom: '
|
|
32
|
-
Shoes: '
|
|
27
|
+
Hair: 'hair_00',
|
|
28
|
+
Top: 'top_00',
|
|
29
|
+
Bottom: 'bottom_00',
|
|
30
|
+
Shoes: 'shoes_00'
|
|
33
31
|
};
|
|
34
32
|
activities = {
|
|
35
33
|
length: 0,
|
|
@@ -10,6 +10,8 @@ import { MissionItem } from '../../Data/User/Missions.js';
|
|
|
10
10
|
import { MissionKeys } from '../../Data/App/Missions.js';
|
|
11
11
|
import { ReportType } from '../../Data/App/Reports.js';
|
|
12
12
|
import { DailyQuestData } from '../../Data/User/DailyQuest.js';
|
|
13
|
+
import { AvatarObject } from '../../Data/User/Inventory.js';
|
|
14
|
+
import { Rarities } from '../../Global/Rarities.js';
|
|
13
15
|
export interface ClientRequestHandshake {
|
|
14
16
|
action: 'handshake';
|
|
15
17
|
appVersion: string;
|
|
@@ -111,6 +113,17 @@ export interface ClientRequestGetInventories {
|
|
|
111
113
|
token: number;
|
|
112
114
|
callbackID?: string;
|
|
113
115
|
}
|
|
116
|
+
export interface ClientRequestSaveInventories {
|
|
117
|
+
action: 'save-inventories';
|
|
118
|
+
avatar: AvatarObject;
|
|
119
|
+
token: number;
|
|
120
|
+
callbackID?: string;
|
|
121
|
+
}
|
|
122
|
+
export interface ClientRequestSellStuff {
|
|
123
|
+
action: 'sell-stuff';
|
|
124
|
+
stuffID: number;
|
|
125
|
+
callbackID?: string;
|
|
126
|
+
}
|
|
114
127
|
export interface ClientRequestGetAds {
|
|
115
128
|
action: 'get-ads';
|
|
116
129
|
callbackID?: string;
|
|
@@ -309,4 +322,32 @@ export interface ClientRequestUnblockFriend {
|
|
|
309
322
|
friendID: number;
|
|
310
323
|
callbackID?: string;
|
|
311
324
|
}
|
|
312
|
-
export
|
|
325
|
+
export interface ClientRequestGetShop {
|
|
326
|
+
action: 'get-shop';
|
|
327
|
+
callbackID?: string;
|
|
328
|
+
}
|
|
329
|
+
export interface ClientRequestBuyIAP {
|
|
330
|
+
action: 'buy-iap';
|
|
331
|
+
sku: string;
|
|
332
|
+
platform: 'ios' | 'android';
|
|
333
|
+
transactionId: string;
|
|
334
|
+
purchaseToken: string;
|
|
335
|
+
callbackID?: string;
|
|
336
|
+
}
|
|
337
|
+
export interface ClientRequestBuyRandomChest {
|
|
338
|
+
action: 'buy-random-chest';
|
|
339
|
+
rarity: Exclude<Rarities, 'legendary'>;
|
|
340
|
+
callbackID?: string;
|
|
341
|
+
}
|
|
342
|
+
export interface ClientRequestBuyTargetedChest {
|
|
343
|
+
action: 'buy-targeted-chest';
|
|
344
|
+
rarity: Exclude<Rarities, 'legendary'>;
|
|
345
|
+
slot: 'hair' | 'top' | 'bottom' | 'shoes';
|
|
346
|
+
callbackID?: string;
|
|
347
|
+
}
|
|
348
|
+
export interface ClientRequestBuyDailyDeal {
|
|
349
|
+
action: 'buy-daily-deal';
|
|
350
|
+
itemID: string;
|
|
351
|
+
callbackID?: string;
|
|
352
|
+
}
|
|
353
|
+
export type TCPClientRequest = ClientRequestHandshake | ClientRequestCheckIntegrity | ClientRequestAuthenticate | ClientRequestCheckDate | ClientRequestDisconnect | ClientRequestSignin | ClientRequestWaitMail | ClientRequestLogin | ClientRequestGoogleSigninTokenSubmit | ClientRequestGoogleSigninTokenReset | ClientRequestSetLang | ClientRequestSetUsername | ClientRequestGetDevices | ClientRequestDeleteAccount | ClientRequestGetAppData | ClientRequestGetUserData | ClientRequestSetUserData | ClientRequestGetInventories | ClientRequestSaveInventories | ClientRequestSellStuff | ClientRequestGetAds | ClientRequestWatchAd | ClientRequestCreateSkill | ClientRequestAddSkill | ClientRequestGetActivities | ClientRequestSaveActivities | ClientRequestGetAchievements | ClientRequestAddAchievement | ClientRequestClaimAchievement | ClientRequestGetQuests | ClientRequestSaveQuests | ClientRequestGetDailyQuestToday | ClientRequestGetDailyQuests | ClientRequestSaveDailyQuests | ClientRequestClaimDailyQuest | ClientRequestGetMissions | ClientRequestSaveMissions | ClientRequestClaimMission | ClientRequestGetTodo | ClientRequestSaveTodo | ClientRequestSendError | ClientRequestSendReport | ClientRequestSendStatistics | ClientRequestReadGlobalNotification | ClientRequestRespondGlobalNotification | ClientRequestClaimGlobalNotification | ClientRequestUpdateFriends | ClientRequestAddFriend | ClientRequestAcceptFriend | ClientRequestDeclineFriend | ClientRequestCancelFriend | ClientRequestRemoveFriend | ClientRequestBlockFriend | ClientRequestUnblockFriend | ClientRequestGetShop | ClientRequestBuyIAP | ClientRequestBuyRandomChest | ClientRequestBuyTargetedChest | ClientRequestBuyDailyDeal;
|
|
@@ -103,6 +103,7 @@ export interface ServerRequestGetAppData {
|
|
|
103
103
|
result: 'ok' | 'error';
|
|
104
104
|
data: Nullable<DataTypes> | null;
|
|
105
105
|
hashes: DataHashes | null;
|
|
106
|
+
iapSkus?: string[];
|
|
106
107
|
callbackID?: string;
|
|
107
108
|
}
|
|
108
109
|
export interface ServerRequestGetUserData {
|
|
@@ -126,6 +127,13 @@ export interface ServerRequestGetInventories {
|
|
|
126
127
|
};
|
|
127
128
|
callbackID?: string;
|
|
128
129
|
}
|
|
130
|
+
export interface ServerRequestSaveInventories {
|
|
131
|
+
status: 'save-inventories';
|
|
132
|
+
result: 'error' | {
|
|
133
|
+
token: number;
|
|
134
|
+
};
|
|
135
|
+
callbackID?: string;
|
|
136
|
+
}
|
|
129
137
|
export interface ServerRequestGetAds {
|
|
130
138
|
status: 'get-ads';
|
|
131
139
|
result: 'ok' | 'error';
|
|
@@ -363,4 +371,66 @@ export interface ServerRequestUnblockFriend {
|
|
|
363
371
|
result: 'ok' | 'not-friend' | 'error';
|
|
364
372
|
callbackID?: string;
|
|
365
373
|
}
|
|
366
|
-
export
|
|
374
|
+
export interface ShopChestStats {
|
|
375
|
+
priceOriginal: number;
|
|
376
|
+
priceDiscount: number;
|
|
377
|
+
probas: {
|
|
378
|
+
common: number;
|
|
379
|
+
rare: number;
|
|
380
|
+
epic: number;
|
|
381
|
+
legendary: number;
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
export interface ServerRequestGetShop {
|
|
385
|
+
status: 'get-shop';
|
|
386
|
+
result: 'error' | 'ok';
|
|
387
|
+
dailyDeals?: string[];
|
|
388
|
+
chestsStats?: {
|
|
389
|
+
random: {
|
|
390
|
+
common: ShopChestStats;
|
|
391
|
+
rare: ShopChestStats;
|
|
392
|
+
epic: ShopChestStats;
|
|
393
|
+
};
|
|
394
|
+
target: {
|
|
395
|
+
common: ShopChestStats;
|
|
396
|
+
rare: ShopChestStats;
|
|
397
|
+
epic: ShopChestStats;
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
callbackID?: string;
|
|
401
|
+
}
|
|
402
|
+
export interface ServerRequestBuyIAP {
|
|
403
|
+
status: 'buy-iap';
|
|
404
|
+
result: 'ok' | 'invalid-sku' | 'invalid-receipt' | 'already-processed' | 'verification-failed' | 'error';
|
|
405
|
+
ox?: number;
|
|
406
|
+
addedOx?: number;
|
|
407
|
+
callbackID?: string;
|
|
408
|
+
}
|
|
409
|
+
export interface ServerRequestBuyRandomChest {
|
|
410
|
+
status: 'buy-random-chest';
|
|
411
|
+
result: 'ok' | 'invalid-rarity' | 'not-enough-ox' | 'error';
|
|
412
|
+
ox?: number;
|
|
413
|
+
newItem?: Stuff;
|
|
414
|
+
callbackID?: string;
|
|
415
|
+
}
|
|
416
|
+
export interface ServerRequestBuyTargetedChest {
|
|
417
|
+
status: 'buy-targeted-chest';
|
|
418
|
+
result: 'ok' | 'invalid-rarity' | 'invalid-slot' | 'not-enough-ox' | 'no-items-available' | 'error';
|
|
419
|
+
ox?: number;
|
|
420
|
+
newItem?: Stuff;
|
|
421
|
+
callbackID?: string;
|
|
422
|
+
}
|
|
423
|
+
export interface ServerRequestBuyDailyDeal {
|
|
424
|
+
status: 'buy-daily-deal';
|
|
425
|
+
result: 'ok' | 'invalid-item' | 'item-not-available' | 'already-purchased' | 'not-enough-ox' | 'error';
|
|
426
|
+
ox?: number;
|
|
427
|
+
newItem?: Stuff;
|
|
428
|
+
callbackID?: string;
|
|
429
|
+
}
|
|
430
|
+
export interface ServerRequestSellStuff {
|
|
431
|
+
status: 'sell-stuff';
|
|
432
|
+
result: 'ok' | 'invalid-item' | 'item-not-found' | 'item-equipped' | 'error';
|
|
433
|
+
ox?: number;
|
|
434
|
+
callbackID?: string;
|
|
435
|
+
}
|
|
436
|
+
export type TCPServerRequest = ServerRequestHandshake | ServerRequestCheckIntegrity | ServerRequestAuthenticate | ServerRequestCheckDate | ServerRequestDisconnect | ServerRequestSignin | ServerRequestLogin | ServerRequestGoogleSigninTokenSubmit | ServerRequestGoogleSigninTokenReset | ServerRequestSetLang | ServerRequestSetUsername | ServerRequestGetDevices | ServerRequestDeleteAccount | ServerRequestWaitMail | ServerRequestGetAppData | ServerRequestGetUserData | ServerRequestSetUserData | ServerRequestGetInventories | ServerRequestSaveInventories | ServerRequestGetAds | ServerRequestWatchAd | ServerRequestCreateSkill | ServerRequestAddSkill | ServerRequestGetActivities | ServerRequestSaveActivities | ServerRequestGetAchievements | ServerRequestAddAchievement | ServerRequestClaimAchievement | ServerRequestGetQuests | ServerRequestSaveQuests | ServerRequestGetDailyQuestToday | ServerRequestGetDailyQuests | ServerRequestSaveDailyQuests | ServerRequestClaimDailyQuest | ServerRequestGetMissions | ServerRequestSaveMissions | ServerRequestClaimMission | ServerRequestGetTodo | ServerRequestSaveTodo | ServerRequestUpdateNotifications | ServerRequestSendError | ServerRequestSendReport | ServerRequestSendStatistics | ServerRequestReadGlobalNotification | ServerRequestRespondGlobalNotification | ServerRequestClaimGlobalNotification | ServerRequestUpdateFriends | ServerRequestAddFriend | ServerRequestAcceptFriend | ServerRequestDeclineFriend | ServerRequestCancelFriend | ServerRequestRemoveFriend | ServerRequestBlockFriend | ServerRequestUnblockFriend | ServerRequestGetShop | ServerRequestBuyIAP | ServerRequestBuyRandomChest | ServerRequestBuyTargetedChest | ServerRequestBuyDailyDeal | ServerRequestSellStuff;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyfoo/gamelife-types",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "GameLife Types - TypeScript types for the GameLife project.",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"**/*.d.ts"
|
|
27
27
|
],
|
|
28
28
|
"devDependencies": {
|
|
29
|
+
"@oxyfoo/avatar-factory": "^1.1.3",
|
|
29
30
|
"@typescript-eslint/eslint-plugin": "^8.32.0",
|
|
30
31
|
"@typescript-eslint/parser": "^8.32.0",
|
|
31
32
|
"eslint": "^9.26.0",
|