@oxyfoo/gamelife-types 2.1.5 → 2.2.0

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.
@@ -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: Rarities;
34
+ ChestRarity: ChestRarity;
34
35
  }
35
36
  interface ChestReward {
36
37
  Type: 'Chest';
37
- ChestRarity: Rarities;
38
+ ChestRarity: ChestRarity;
38
39
  Stuff: Stuff;
39
40
  }
40
41
  export type RawReward = TitleRawReward | OXRawReward | ItemRawReward | ChestRawReward;
@@ -1,7 +1,7 @@
1
1
  import { LangType } from '../../Global/Langs.js';
2
2
  import { RawReward } from '../../Class/Rewards.js';
3
3
  export type AchievementType = 'AUTO' | 'SHOW' | 'HIDE';
4
- export type Comparator = 'Battery' | 'Level' | 'Sk' | 'SkT' | 'St' | 'HCa' | 'Ca' | 'ItemCount' | 'Ad' | 'Title' | 'SelfFriend';
4
+ export type Comparator = 'Battery' | 'Level' | 'Sk' | 'SkT' | 'St' | 'HCa' | 'Ca' | 'ItemCount' | 'Ad' | 'Title' | 'SelfFriend' | 'AccountAge';
5
5
  export type Operator = 'None' | 'LT' | 'GT';
6
6
  export interface Achievement {
7
7
  ID: number;
@@ -0,0 +1,6 @@
1
+ export interface IAP {
2
+ SKU: string;
3
+ OxAmount: number;
4
+ Order: number;
5
+ Enabled: boolean;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,8 @@
1
1
  import { Rarities } from '../../Global/Rarities.js';
2
2
  import { LangType } from '../../Global/Langs.js';
3
- export type ItemID = 'hair_01' | 'top_01' | 'bottom_01' | 'shoes_01';
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 {
@@ -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[];
@@ -7,4 +7,5 @@ export interface Account {
7
7
  Ox: number;
8
8
  Birthtime: number | null;
9
9
  LastChangeBirth: number | null;
10
+ AccountAge: number;
10
11
  }
@@ -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
- sexe: 'MALE' | 'FEMALE';
10
- skin: 'skin_01';
9
+ skin: CharactersID;
11
10
  skinColor: number;
12
11
  hair: number;
13
12
  top: number;
@@ -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
- type Sexes = 'MALE' | 'FEMALE';
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
- Sexe: Sexes;
12
- Skin: CharactersName;
9
+ Skin: CharactersID;
13
10
  SkinColor: number;
14
- Hair: StuffID;
15
- Top: StuffID;
16
- Bottom: StuffID;
17
- Shoes: StuffID;
11
+ Hair: ItemID;
12
+ Top: ItemID;
13
+ Bottom: ItemID;
14
+ Shoes: ItemID;
18
15
  }
19
16
  export declare class UserOnline {
20
17
  friendshipState: FriendshipState;
@@ -6,13 +6,12 @@ export class UserOnline {
6
6
  title = 0;
7
7
  xp = 0;
8
8
  avatar = {
9
- Sexe: 'MALE',
10
- Skin: 'skin_01',
9
+ Skin: 'human_00',
11
10
  SkinColor: 0,
12
- Hair: 'hair_01',
13
- Top: 'top_01',
14
- Bottom: 'bottom_01',
15
- Shoes: 'shoes_01'
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
- Sexe: 'MALE',
27
- Skin: 'skin_01',
25
+ Skin: 'human_00',
28
26
  SkinColor: 0,
29
- Hair: 'hair_01',
30
- Top: 'top_01',
31
- Bottom: 'bottom_01',
32
- Shoes: 'shoes_01'
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 type TCPClientRequest = ClientRequestHandshake | ClientRequestCheckIntegrity | ClientRequestAuthenticate | ClientRequestCheckDate | ClientRequestDisconnect | ClientRequestSignin | ClientRequestWaitMail | ClientRequestLogin | ClientRequestGoogleSigninTokenSubmit | ClientRequestGoogleSigninTokenReset | ClientRequestSetLang | ClientRequestSetUsername | ClientRequestGetDevices | ClientRequestDeleteAccount | ClientRequestGetAppData | ClientRequestGetUserData | ClientRequestSetUserData | ClientRequestGetInventories | 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;
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 type TCPServerRequest = ServerRequestHandshake | ServerRequestCheckIntegrity | ServerRequestAuthenticate | ServerRequestCheckDate | ServerRequestDisconnect | ServerRequestSignin | ServerRequestLogin | ServerRequestGoogleSigninTokenSubmit | ServerRequestGoogleSigninTokenReset | ServerRequestSetLang | ServerRequestSetUsername | ServerRequestGetDevices | ServerRequestDeleteAccount | ServerRequestWaitMail | ServerRequestGetAppData | ServerRequestGetUserData | ServerRequestSetUserData | ServerRequestGetInventories | 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;
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.5",
3
+ "version": "2.2.0",
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",