@dchighs/dc-config-mapper 0.1.4 → 0.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/dist/enums/reward-acronym.enum.d.ts +29 -0
- package/dist/enums/reward-acronym.enum.js +33 -0
- package/dist/enums/reward-type.enum.d.ts +10 -0
- package/dist/enums/reward-type.enum.js +14 -0
- package/dist/mappers/chest.mapper.d.ts +7 -7
- package/dist/mappers/heroic-races.mapper.d.ts +9 -9
- package/dist/mappers/index.d.ts +1 -0
- package/dist/mappers/index.js +1 -0
- package/dist/mappers/maze-islands.mapper.d.ts +10 -16
- package/dist/mappers/tower-islands.mapper.d.ts +102 -0
- package/dist/mappers/tower-islands.mapper.js +33 -0
- package/dist/schemas/chests/chest.schema.d.ts +21 -21
- package/dist/schemas/chests/reward.schema.d.ts +7 -8
- package/dist/schemas/chests/reward.schema.js +2 -48
- package/dist/schemas/islands/heroic-races/reward.schema.d.ts +9 -10
- package/dist/schemas/islands/heroic-races/reward.schema.js +2 -17
- package/dist/schemas/islands/maze-islands/island.schema.d.ts +1 -0
- package/dist/schemas/islands/maze-islands/island.schema.js +1 -0
- package/dist/schemas/islands/maze-islands/node.schema.d.ts +9 -17
- package/dist/schemas/islands/maze-islands/node.schema.js +2 -29
- package/dist/schemas/islands/tower-islands/floor.schema.d.ts +29 -0
- package/dist/schemas/islands/tower-islands/floor.schema.js +25 -0
- package/dist/schemas/islands/tower-islands/island.schema.d.ts +98 -0
- package/dist/schemas/islands/tower-islands/island.schema.js +71 -0
- package/dist/schemas/islands/tower-islands/reward.schema.d.ts +25 -0
- package/dist/schemas/islands/tower-islands/reward.schema.js +23 -0
- package/dist/schemas/islands/tower-islands/square.schema.d.ts +51 -0
- package/dist/schemas/islands/tower-islands/square.schema.js +34 -0
- package/dist/schemas/items/building.schema.js +2 -24
- package/dist/schemas/items/deco.schema.js +2 -24
- package/dist/schemas/items/dragon.schema.js +6 -28
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/process-price.util.d.ts +4 -0
- package/dist/utils/process-price.util.js +25 -0
- package/dist/utils/process-rewards.util.d.ts +17 -0
- package/dist/utils/process-rewards.util.js +67 -0
- package/package.json +2 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare enum RewardAcronym {
|
|
2
|
+
Chest = "chest",
|
|
3
|
+
Dragon = "egg",
|
|
4
|
+
Gold = "g",
|
|
5
|
+
Gem = "c",
|
|
6
|
+
Food = "f",
|
|
7
|
+
Building = "b",
|
|
8
|
+
TerraToken = "e_token",
|
|
9
|
+
FlameToken = "f_token",
|
|
10
|
+
SeaToken = "w_token",
|
|
11
|
+
NatureToken = "p_token",
|
|
12
|
+
ElectricToken = "el_token",
|
|
13
|
+
IceToken = "i_token",
|
|
14
|
+
MetalToken = "m_token",
|
|
15
|
+
DarkToken = "d_token",
|
|
16
|
+
LightToken = "li_token",
|
|
17
|
+
WarToken = "wr_token",
|
|
18
|
+
PureToken = "pu_token",
|
|
19
|
+
LegendToken = "l_token",
|
|
20
|
+
PrimalToken = "pr_token",
|
|
21
|
+
WindToken = "wd_token",
|
|
22
|
+
TimeToken = "ti_token",
|
|
23
|
+
HappyToken = "hp_token",
|
|
24
|
+
ChaosToken = "ch_token",
|
|
25
|
+
MagicToken = "mg_token",
|
|
26
|
+
SoulToken = "so_token",
|
|
27
|
+
BeautyToken = "bt_token",
|
|
28
|
+
DreamToken = "dr_token"
|
|
29
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RewardAcronym = void 0;
|
|
4
|
+
var RewardAcronym;
|
|
5
|
+
(function (RewardAcronym) {
|
|
6
|
+
RewardAcronym["Chest"] = "chest";
|
|
7
|
+
RewardAcronym["Dragon"] = "egg";
|
|
8
|
+
RewardAcronym["Gold"] = "g";
|
|
9
|
+
RewardAcronym["Gem"] = "c";
|
|
10
|
+
RewardAcronym["Food"] = "f";
|
|
11
|
+
RewardAcronym["Building"] = "b";
|
|
12
|
+
RewardAcronym["TerraToken"] = "e_token";
|
|
13
|
+
RewardAcronym["FlameToken"] = "f_token";
|
|
14
|
+
RewardAcronym["SeaToken"] = "w_token";
|
|
15
|
+
RewardAcronym["NatureToken"] = "p_token";
|
|
16
|
+
RewardAcronym["ElectricToken"] = "el_token";
|
|
17
|
+
RewardAcronym["IceToken"] = "i_token";
|
|
18
|
+
RewardAcronym["MetalToken"] = "m_token";
|
|
19
|
+
RewardAcronym["DarkToken"] = "d_token";
|
|
20
|
+
RewardAcronym["LightToken"] = "li_token";
|
|
21
|
+
RewardAcronym["WarToken"] = "wr_token";
|
|
22
|
+
RewardAcronym["PureToken"] = "pu_token";
|
|
23
|
+
RewardAcronym["LegendToken"] = "l_token";
|
|
24
|
+
RewardAcronym["PrimalToken"] = "pr_token";
|
|
25
|
+
RewardAcronym["WindToken"] = "wd_token";
|
|
26
|
+
RewardAcronym["TimeToken"] = "ti_token";
|
|
27
|
+
RewardAcronym["HappyToken"] = "hp_token";
|
|
28
|
+
RewardAcronym["ChaosToken"] = "ch_token";
|
|
29
|
+
RewardAcronym["MagicToken"] = "mg_token";
|
|
30
|
+
RewardAcronym["SoulToken"] = "so_token";
|
|
31
|
+
RewardAcronym["BeautyToken"] = "bt_token";
|
|
32
|
+
RewardAcronym["DreamToken"] = "dr_token";
|
|
33
|
+
})(RewardAcronym || (exports.RewardAcronym = RewardAcronym = {}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RewardType = void 0;
|
|
4
|
+
var RewardType;
|
|
5
|
+
(function (RewardType) {
|
|
6
|
+
RewardType["Chest"] = "chest";
|
|
7
|
+
RewardType["Dragon"] = "dragon";
|
|
8
|
+
RewardType["Building"] = "building";
|
|
9
|
+
RewardType["Gold"] = "gold";
|
|
10
|
+
RewardType["Gem"] = "gem";
|
|
11
|
+
RewardType["Food"] = "food";
|
|
12
|
+
RewardType["HabitatToken"] = "habitat_token";
|
|
13
|
+
RewardType["IslandCoin"] = "island_coin";
|
|
14
|
+
})(RewardType || (exports.RewardType = RewardType = {}));
|
|
@@ -12,13 +12,13 @@ export declare class ChestsMapper {
|
|
|
12
12
|
id: number;
|
|
13
13
|
reward: {
|
|
14
14
|
resource: {
|
|
15
|
-
type: import("../enums/reward-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
type: import("../enums/reward-type.enum").RewardType;
|
|
16
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
17
|
+
amount?: number;
|
|
18
|
+
chest_id?: number;
|
|
19
|
+
dragon_id?: number;
|
|
20
|
+
dragon_ids?: number[];
|
|
21
|
+
building_id?: number;
|
|
22
22
|
} | undefined;
|
|
23
23
|
building_ids: number[] | undefined;
|
|
24
24
|
eggs_ids: number[] | undefined;
|
|
@@ -32,15 +32,15 @@ export declare class HeroicRacesMapper {
|
|
|
32
32
|
rewards: {
|
|
33
33
|
id: number;
|
|
34
34
|
positions: number[];
|
|
35
|
-
|
|
36
|
-
type: import("../enums/reward-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
dragon_ids
|
|
42
|
-
|
|
43
|
-
}
|
|
35
|
+
reward: {
|
|
36
|
+
type: import("../enums/reward-type.enum").RewardType;
|
|
37
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
38
|
+
amount?: number;
|
|
39
|
+
chest_id?: number;
|
|
40
|
+
dragon_id?: number;
|
|
41
|
+
dragon_ids?: number[];
|
|
42
|
+
building_id?: number;
|
|
43
|
+
}[];
|
|
44
44
|
}[];
|
|
45
45
|
encounters: {
|
|
46
46
|
id: number;
|
package/dist/mappers/index.d.ts
CHANGED
package/dist/mappers/index.js
CHANGED
|
@@ -19,3 +19,4 @@ __exportStar(require("./items.mapper"), exports);
|
|
|
19
19
|
__exportStar(require("./skills.mapper"), exports);
|
|
20
20
|
__exportStar(require("./heroic-races.mapper"), exports);
|
|
21
21
|
__exportStar(require("./maze-islands.mapper"), exports);
|
|
22
|
+
__exportStar(require("./tower-islands.mapper"), exports);
|
|
@@ -86,6 +86,7 @@ export declare class MazeIslandsMapper {
|
|
|
86
86
|
islands: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
87
87
|
id: number;
|
|
88
88
|
name: string;
|
|
89
|
+
name_key: string;
|
|
89
90
|
availability: {
|
|
90
91
|
from: string;
|
|
91
92
|
to: string;
|
|
@@ -105,22 +106,15 @@ export declare class MazeIslandsMapper {
|
|
|
105
106
|
nodes: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
106
107
|
id: number;
|
|
107
108
|
cost: number;
|
|
108
|
-
rewards:
|
|
109
|
-
type: import("../enums/reward-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
building_id?: undefined;
|
|
118
|
-
} | {
|
|
119
|
-
type: import("../enums/reward-resource-type.enum").RewardResourceType;
|
|
120
|
-
building_id: number;
|
|
121
|
-
amount?: undefined;
|
|
122
|
-
chest_id?: undefined;
|
|
123
|
-
})[] | undefined;
|
|
109
|
+
rewards: {
|
|
110
|
+
type: import("../enums/reward-type.enum").RewardType;
|
|
111
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
112
|
+
amount?: number;
|
|
113
|
+
chest_id?: number;
|
|
114
|
+
dragon_id?: number;
|
|
115
|
+
dragon_ids?: number[];
|
|
116
|
+
building_id?: number;
|
|
117
|
+
}[] | undefined;
|
|
124
118
|
is_highlighted: boolean | undefined;
|
|
125
119
|
key_path_id: number | undefined;
|
|
126
120
|
encounter_id: number | undefined;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Localization } from "@dchighs/dc-localization";
|
|
2
|
+
import { GameConfigDto } from "@dchighs/dc-config";
|
|
3
|
+
export type TowerIslandsDto = GameConfigDto["game_data"]["config"]["tower_island"];
|
|
4
|
+
export declare class TowerIslandsMapper {
|
|
5
|
+
readonly localization: Localization;
|
|
6
|
+
constructor(localization: Localization);
|
|
7
|
+
map(data: TowerIslandsDto): {
|
|
8
|
+
islands: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
9
|
+
id: number;
|
|
10
|
+
name_key: string;
|
|
11
|
+
availability: {
|
|
12
|
+
from: string;
|
|
13
|
+
to: string;
|
|
14
|
+
};
|
|
15
|
+
initial_square_id: number;
|
|
16
|
+
pool: {
|
|
17
|
+
size: number;
|
|
18
|
+
time: number;
|
|
19
|
+
};
|
|
20
|
+
initial_points: number;
|
|
21
|
+
currency_id: number;
|
|
22
|
+
min_level: number;
|
|
23
|
+
tower_size: number[];
|
|
24
|
+
zip_file_name: string;
|
|
25
|
+
sound_tag: string;
|
|
26
|
+
max_die_roll: number;
|
|
27
|
+
help_view_id: number;
|
|
28
|
+
square_ids: number[];
|
|
29
|
+
floor_ids: number[];
|
|
30
|
+
}>[];
|
|
31
|
+
floors: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
32
|
+
id: number;
|
|
33
|
+
y: number;
|
|
34
|
+
x_flip: boolean;
|
|
35
|
+
floor_image: string;
|
|
36
|
+
area: number;
|
|
37
|
+
roll_die_price: number;
|
|
38
|
+
}>[];
|
|
39
|
+
squares: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
40
|
+
id: number;
|
|
41
|
+
type: string;
|
|
42
|
+
is_highlight: boolean;
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
ixy: string;
|
|
46
|
+
rewards: {
|
|
47
|
+
type: import("../enums/reward-type.enum").RewardType;
|
|
48
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
49
|
+
amount?: number;
|
|
50
|
+
chest_id?: number;
|
|
51
|
+
dragon_id?: number;
|
|
52
|
+
dragon_ids?: number[];
|
|
53
|
+
building_id?: number;
|
|
54
|
+
}[] | null;
|
|
55
|
+
wall: string | undefined;
|
|
56
|
+
catapult_destination_square_id: number | undefined;
|
|
57
|
+
piece_reward_id: number | undefined;
|
|
58
|
+
}>[];
|
|
59
|
+
rewards: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
60
|
+
id: number;
|
|
61
|
+
dragon_id: number;
|
|
62
|
+
last_piece_cost: number;
|
|
63
|
+
pieces_count: number;
|
|
64
|
+
show_new_badge: boolean;
|
|
65
|
+
area: number;
|
|
66
|
+
}>[];
|
|
67
|
+
happy_hours: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
68
|
+
id: number;
|
|
69
|
+
availability: {
|
|
70
|
+
from: number;
|
|
71
|
+
to: number;
|
|
72
|
+
};
|
|
73
|
+
island_id: number;
|
|
74
|
+
discount: number;
|
|
75
|
+
}>[];
|
|
76
|
+
parameters: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
77
|
+
id: number;
|
|
78
|
+
name: string;
|
|
79
|
+
value: any;
|
|
80
|
+
}>[];
|
|
81
|
+
currencies: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
82
|
+
id: number;
|
|
83
|
+
tid_name: string;
|
|
84
|
+
actions: Array<number>;
|
|
85
|
+
}>[];
|
|
86
|
+
actions: import("@dchighs/dc-localization/dist/types").Translated<{
|
|
87
|
+
id: number;
|
|
88
|
+
type: string;
|
|
89
|
+
tid_name: string;
|
|
90
|
+
image: string;
|
|
91
|
+
pool_percent: number;
|
|
92
|
+
max_points: number;
|
|
93
|
+
extra_parameters?: {
|
|
94
|
+
max_time?: number;
|
|
95
|
+
cooldown?: number;
|
|
96
|
+
max_control_level?: number;
|
|
97
|
+
max_production?: number;
|
|
98
|
+
max_level?: number;
|
|
99
|
+
};
|
|
100
|
+
}>[];
|
|
101
|
+
};
|
|
102
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TowerIslandsMapper = void 0;
|
|
4
|
+
const island_schema_1 = require("../schemas/islands/tower-islands/island.schema");
|
|
5
|
+
const square_schema_1 = require("../schemas/islands/tower-islands/square.schema");
|
|
6
|
+
const floor_schema_1 = require("../schemas/islands/tower-islands/floor.schema");
|
|
7
|
+
const reward_schema_1 = require("../schemas/islands/tower-islands/reward.schema");
|
|
8
|
+
class TowerIslandsMapper {
|
|
9
|
+
constructor(localization) {
|
|
10
|
+
this.localization = localization;
|
|
11
|
+
}
|
|
12
|
+
map(data) {
|
|
13
|
+
return {
|
|
14
|
+
islands: data.islands.map(island => {
|
|
15
|
+
const squareIds = data.squares.filter(square => square.island_id === island.id).map(square => square.id);
|
|
16
|
+
const floorIds = data.floors.filter(floor => floor.island_id === island.id).map(floor => floor.id);
|
|
17
|
+
return this.localization.translate(island_schema_1.towerIslandSchema.parse({
|
|
18
|
+
...island,
|
|
19
|
+
square_ids: squareIds,
|
|
20
|
+
floor_ids: floorIds
|
|
21
|
+
}));
|
|
22
|
+
}),
|
|
23
|
+
floors: data.floors.map(floor => this.localization.translate(floor_schema_1.towerIslandsFloorSchema.parse(floor))),
|
|
24
|
+
squares: data.squares.map(square => this.localization.translate(square_schema_1.towerIslandsSquareSchema.parse(square))),
|
|
25
|
+
rewards: data.rewards.map(reward => this.localization.translate(reward_schema_1.towerIslandsRewardSchema.parse(reward))),
|
|
26
|
+
happy_hours: data.happy_hours.map(happyHour => this.localization.translate(happyHour)),
|
|
27
|
+
parameters: data.parameters.map(parameter => this.localization.translate(parameter)),
|
|
28
|
+
currencies: data.currencies.map(currency => this.localization.translate(currency)),
|
|
29
|
+
actions: data.actions.map(action => this.localization.translate(action)),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.TowerIslandsMapper = TowerIslandsMapper;
|
|
@@ -49,13 +49,13 @@ export declare const chestSchema: z.ZodPipe<z.ZodObject<{
|
|
|
49
49
|
id: number;
|
|
50
50
|
reward: {
|
|
51
51
|
resource: {
|
|
52
|
-
type: import("../../enums/reward-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
type: import("../../enums/reward-type.enum").RewardType;
|
|
53
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
54
|
+
amount?: number;
|
|
55
|
+
chest_id?: number;
|
|
56
|
+
dragon_id?: number;
|
|
57
|
+
dragon_ids?: number[];
|
|
58
|
+
building_id?: number;
|
|
59
59
|
} | undefined;
|
|
60
60
|
building_ids: number[] | undefined;
|
|
61
61
|
eggs_ids: number[] | undefined;
|
|
@@ -137,13 +137,13 @@ export declare const chestSchema: z.ZodPipe<z.ZodObject<{
|
|
|
137
137
|
id: number;
|
|
138
138
|
reward: {
|
|
139
139
|
resource: {
|
|
140
|
-
type: import("../../enums/reward-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
140
|
+
type: import("../../enums/reward-type.enum").RewardType;
|
|
141
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
142
|
+
amount?: number;
|
|
143
|
+
chest_id?: number;
|
|
144
|
+
dragon_id?: number;
|
|
145
|
+
dragon_ids?: number[];
|
|
146
|
+
building_id?: number;
|
|
147
147
|
} | undefined;
|
|
148
148
|
building_ids: number[] | undefined;
|
|
149
149
|
eggs_ids: number[] | undefined;
|
|
@@ -181,13 +181,13 @@ export declare const chestSchema: z.ZodPipe<z.ZodObject<{
|
|
|
181
181
|
id: number;
|
|
182
182
|
reward: {
|
|
183
183
|
resource: {
|
|
184
|
-
type: import("../../enums/reward-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
184
|
+
type: import("../../enums/reward-type.enum").RewardType;
|
|
185
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
186
|
+
amount?: number;
|
|
187
|
+
chest_id?: number;
|
|
188
|
+
dragon_id?: number;
|
|
189
|
+
dragon_ids?: number[];
|
|
190
|
+
building_id?: number;
|
|
191
191
|
} | undefined;
|
|
192
192
|
building_ids: number[] | undefined;
|
|
193
193
|
eggs_ids: number[] | undefined;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { RewardResourceType } from "../../enums/reward-resource-type.enum";
|
|
3
2
|
export declare const chestRewardSchema: z.ZodPipe<z.ZodObject<{
|
|
4
3
|
id: z.ZodNumber;
|
|
5
4
|
reward: z.ZodObject<{
|
|
@@ -47,13 +46,13 @@ export declare const chestRewardSchema: z.ZodPipe<z.ZodObject<{
|
|
|
47
46
|
id: number;
|
|
48
47
|
reward: {
|
|
49
48
|
resource: {
|
|
50
|
-
type:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
type: import("../../enums/reward-type.enum").RewardType;
|
|
50
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
51
|
+
amount?: number;
|
|
52
|
+
chest_id?: number;
|
|
53
|
+
dragon_id?: number;
|
|
54
|
+
dragon_ids?: number[];
|
|
55
|
+
building_id?: number;
|
|
57
56
|
} | undefined;
|
|
58
57
|
building_ids: number[] | undefined;
|
|
59
58
|
eggs_ids: number[] | undefined;
|
|
@@ -2,53 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.chestRewardSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const
|
|
6
|
-
const element_map_util_1 = require("../../utils/element-map.util");
|
|
7
|
-
function processReward(rewardResource) {
|
|
8
|
-
if (!rewardResource) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.c) {
|
|
12
|
-
return {
|
|
13
|
-
type: reward_resource_type_enum_1.RewardResourceType.Gem,
|
|
14
|
-
amount: rewardResource.c,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.f) {
|
|
18
|
-
return {
|
|
19
|
-
type: reward_resource_type_enum_1.RewardResourceType.Food,
|
|
20
|
-
amount: rewardResource.f,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.g) {
|
|
24
|
-
return {
|
|
25
|
-
type: reward_resource_type_enum_1.RewardResourceType.Gold,
|
|
26
|
-
amount: rewardResource.g,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
const tokenKey = Object.keys(rewardResource).find((key) => key.endsWith("_token"));
|
|
30
|
-
if (tokenKey) {
|
|
31
|
-
const elementAcronym = tokenKey.replace("_token", "");
|
|
32
|
-
return {
|
|
33
|
-
type: reward_resource_type_enum_1.RewardResourceType.HabitatToken,
|
|
34
|
-
element: element_map_util_1.elementMap[elementAcronym],
|
|
35
|
-
amount: rewardResource[tokenKey],
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.ep) {
|
|
39
|
-
return {
|
|
40
|
-
type: reward_resource_type_enum_1.RewardResourceType.IslandCoin,
|
|
41
|
-
amount: rewardResource.ep,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.x) {
|
|
45
|
-
return {
|
|
46
|
-
type: reward_resource_type_enum_1.RewardResourceType.Xp,
|
|
47
|
-
amount: rewardResource.x,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
throw new Error(`Invalid reward resource: ${JSON.stringify(rewardResource)}`);
|
|
51
|
-
}
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
52
6
|
exports.chestRewardSchema = zod_1.z.object({
|
|
53
7
|
id: zod_1.z.number(),
|
|
54
8
|
reward: zod_1.z.object({
|
|
@@ -94,7 +48,7 @@ exports.chestRewardSchema = zod_1.z.object({
|
|
|
94
48
|
weight: zod_1.z.number(),
|
|
95
49
|
}).strict().transform((data) => {
|
|
96
50
|
const reward = {
|
|
97
|
-
resource: data.reward.resource ?
|
|
51
|
+
resource: data.reward.resource ? (0, utils_1.processRewards)([data.reward.resource])[0] : undefined,
|
|
98
52
|
building_ids: data.reward.buildings,
|
|
99
53
|
eggs_ids: data.reward.eggs,
|
|
100
54
|
seeds: data.reward.seeds,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { RewardResourceType } from "../../../enums/reward-resource-type.enum";
|
|
3
2
|
export declare const heroicRacesRewardSchema: z.ZodPipe<z.ZodObject<{
|
|
4
3
|
id: z.ZodNumber;
|
|
5
4
|
positions: z.ZodArray<z.ZodNumber>;
|
|
@@ -10,15 +9,15 @@ export declare const heroicRacesRewardSchema: z.ZodPipe<z.ZodObject<{
|
|
|
10
9
|
}, z.core.$strict>, z.ZodTransform<{
|
|
11
10
|
id: number;
|
|
12
11
|
positions: number[];
|
|
13
|
-
|
|
14
|
-
type:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
dragon_ids
|
|
20
|
-
|
|
21
|
-
}
|
|
12
|
+
reward: {
|
|
13
|
+
type: import("../../../enums/reward-type.enum").RewardType;
|
|
14
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
15
|
+
amount?: number;
|
|
16
|
+
chest_id?: number;
|
|
17
|
+
dragon_id?: number;
|
|
18
|
+
dragon_ids?: number[];
|
|
19
|
+
building_id?: number;
|
|
20
|
+
}[];
|
|
22
21
|
}, {
|
|
23
22
|
id: number;
|
|
24
23
|
positions: number[];
|
|
@@ -2,22 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.heroicRacesRewardSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const
|
|
6
|
-
function processReward(reward) {
|
|
7
|
-
if (reward.c) {
|
|
8
|
-
return {
|
|
9
|
-
type: reward_resource_type_enum_1.RewardResourceType.Gem,
|
|
10
|
-
amount: reward.c,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
if (reward.egg) {
|
|
14
|
-
return {
|
|
15
|
-
type: reward_resource_type_enum_1.RewardResourceType.Dragon,
|
|
16
|
-
dragon_ids: reward.egg,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
throw new Error(`Invalid reward: ${JSON.stringify(reward)}`);
|
|
20
|
-
}
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
21
6
|
exports.heroicRacesRewardSchema = zod_1.z.object({
|
|
22
7
|
id: zod_1.z.number(),
|
|
23
8
|
positions: zod_1.z.array(zod_1.z.number()),
|
|
@@ -29,6 +14,6 @@ exports.heroicRacesRewardSchema = zod_1.z.object({
|
|
|
29
14
|
return {
|
|
30
15
|
id: data.id,
|
|
31
16
|
positions: data.positions,
|
|
32
|
-
|
|
17
|
+
reward: (0, utils_1.processRewards)(data.rewards),
|
|
33
18
|
};
|
|
34
19
|
});
|
|
@@ -45,6 +45,7 @@ exports.mazeIslandSchema = zod_1.z.object({
|
|
|
45
45
|
return {
|
|
46
46
|
id: data.id,
|
|
47
47
|
name: data.name,
|
|
48
|
+
name_key: data.tid_name,
|
|
48
49
|
availability: {
|
|
49
50
|
from: new Date(data.availability.from * 1000).toISOString(),
|
|
50
51
|
to: new Date(data.availability.to * 1000).toISOString(),
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { RewardResourceType } from "../../../enums/reward-resource-type.enum";
|
|
3
2
|
export declare const mazeIslandsNodeSchema: z.ZodPipe<z.ZodObject<{
|
|
4
3
|
id: z.ZodNumber;
|
|
5
4
|
position: z.ZodArray<z.ZodNumber>;
|
|
@@ -22,22 +21,15 @@ export declare const mazeIslandsNodeSchema: z.ZodPipe<z.ZodObject<{
|
|
|
22
21
|
}, z.core.$strict>, z.ZodTransform<{
|
|
23
22
|
id: number;
|
|
24
23
|
cost: number;
|
|
25
|
-
rewards:
|
|
26
|
-
type:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
building_id?: undefined;
|
|
35
|
-
} | {
|
|
36
|
-
type: RewardResourceType;
|
|
37
|
-
building_id: number;
|
|
38
|
-
amount?: undefined;
|
|
39
|
-
chest_id?: undefined;
|
|
40
|
-
})[] | undefined;
|
|
24
|
+
rewards: {
|
|
25
|
+
type: import("../../../enums/reward-type.enum").RewardType;
|
|
26
|
+
element?: import("@dchighs/dc-core").DragonElement;
|
|
27
|
+
amount?: number;
|
|
28
|
+
chest_id?: number;
|
|
29
|
+
dragon_id?: number;
|
|
30
|
+
dragon_ids?: number[];
|
|
31
|
+
building_id?: number;
|
|
32
|
+
}[] | undefined;
|
|
41
33
|
is_highlighted: boolean | undefined;
|
|
42
34
|
key_path_id: number | undefined;
|
|
43
35
|
encounter_id: number | undefined;
|
|
@@ -2,34 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mazeIslandsNodeSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const
|
|
6
|
-
function processReward(reward) {
|
|
7
|
-
if (reward === null || reward === void 0 ? void 0 : reward.f) {
|
|
8
|
-
return {
|
|
9
|
-
type: reward_resource_type_enum_1.RewardResourceType.Food,
|
|
10
|
-
amount: reward.f,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
if (reward === null || reward === void 0 ? void 0 : reward.g) {
|
|
14
|
-
return {
|
|
15
|
-
type: reward_resource_type_enum_1.RewardResourceType.Gold,
|
|
16
|
-
amount: reward.g,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
if (reward === null || reward === void 0 ? void 0 : reward.chest) {
|
|
20
|
-
return {
|
|
21
|
-
type: reward_resource_type_enum_1.RewardResourceType.Chest,
|
|
22
|
-
chest_id: reward.chest,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
if (reward === null || reward === void 0 ? void 0 : reward.b) {
|
|
26
|
-
return {
|
|
27
|
-
type: reward_resource_type_enum_1.RewardResourceType.Building,
|
|
28
|
-
building_id: reward.b,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
throw new Error(`Invalid reward: ${JSON.stringify(reward)}`);
|
|
32
|
-
}
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
33
6
|
exports.mazeIslandsNodeSchema = zod_1.z.object({
|
|
34
7
|
id: zod_1.z.number(),
|
|
35
8
|
position: zod_1.z.array(zod_1.z.number()).length(2),
|
|
@@ -54,7 +27,7 @@ exports.mazeIslandsNodeSchema = zod_1.z.object({
|
|
|
54
27
|
return {
|
|
55
28
|
id: data.id,
|
|
56
29
|
cost: (_b = (_a = data.cost) === null || _a === void 0 ? void 0 : _a.ep) !== null && _b !== void 0 ? _b : 0,
|
|
57
|
-
rewards: data.reward ? data.reward
|
|
30
|
+
rewards: data.reward ? (0, utils_1.processRewards)(data.reward) : undefined,
|
|
58
31
|
is_highlighted: data.highlighted,
|
|
59
32
|
key_path_id: data.key,
|
|
60
33
|
encounter_id: data.encounter,
|