@c3d.gg/mwi-types 1.6.0 → 1.8.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.
- package/LICENSE +24 -0
- package/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/domains/items/index.d.ts +0 -1
- package/dist/domains/items/index.d.ts.map +1 -1
- package/dist/domains/items/index.js +0 -1
- package/dist/domains/items/index.js.map +1 -1
- package/dist/domains/player/types.d.ts +346 -10
- package/dist/domains/player/types.d.ts.map +1 -1
- package/package.json +132 -161
- package/dist/domains/abilities/abilities.json +0 -3331
- package/dist/domains/actions/action_categories.json +0 -356
- package/dist/domains/actions/action_types.json +0 -57
- package/dist/domains/actions/actions.json +0 -41966
- package/dist/domains/actions/utils.d.ts +0 -9
- package/dist/domains/actions/utils.d.ts.map +0 -1
- package/dist/domains/actions/utils.js +0 -27
- package/dist/domains/actions/utils.js.map +0 -1
- package/dist/domains/avatar/avatar_outfits.json +0 -572
- package/dist/domains/avatar/avatars.json +0 -512
- package/dist/domains/buffs/buff_types.json +0 -474
- package/dist/domains/buffs/community_buff_types.json +0 -119
- package/dist/domains/chat/chat_channel_types.json +0 -128
- package/dist/domains/chat/chat_icons.json +0 -4352
- package/dist/domains/combat/combat_style.json +0 -68
- package/dist/domains/combat/combat_trigger_comparator.json +0 -26
- package/dist/domains/combat/combat_trigger_condition.json +0 -596
- package/dist/domains/combat/combat_trigger_dependency.json +0 -30
- package/dist/domains/combat/damage_type.json +0 -22
- package/dist/domains/game-mode/game_mode.json +0 -32
- package/dist/domains/guild/guild_character_role.json +0 -58
- package/dist/domains/house/house_rooms.json +0 -5553
- package/dist/domains/items/equipment_types.json +0 -152
- package/dist/domains/items/item_categories.json +0 -50
- package/dist/domains/items/item_locations.json +0 -220
- package/dist/domains/items/items.json +0 -65871
- package/dist/domains/items/utils.d.ts +0 -12
- package/dist/domains/items/utils.d.ts.map +0 -1
- package/dist/domains/items/utils.js +0 -44
- package/dist/domains/items/utils.js.map +0 -1
- package/dist/domains/leaderboard/leaderboard_categories.json +0 -149
- package/dist/domains/leaderboard/leaderboard_types.json +0 -56
- package/dist/domains/monsters/monsters.json +0 -9313
- package/dist/domains/monsters/utils.d.ts +0 -6
- package/dist/domains/monsters/utils.d.ts.map +0 -1
- package/dist/domains/monsters/utils.js +0 -21
- package/dist/domains/monsters/utils.js.map +0 -1
- package/dist/domains/name/name_colors.json +0 -975
- package/dist/domains/recipes/recipes.json +0 -21268
- package/dist/domains/recipes/utils.d.ts +0 -11
- package/dist/domains/recipes/utils.d.ts.map +0 -1
- package/dist/domains/recipes/utils.js +0 -88
- package/dist/domains/recipes/utils.js.map +0 -1
- package/dist/domains/shared/openable_loot_drop.json +0 -1276
- package/dist/domains/shop/buyable_upgrades.json +0 -338
- package/dist/domains/shop/purchase_bundles.json +0 -226
- package/dist/domains/shop/shop_categories.json +0 -12
- package/dist/domains/shop/shop_items.json +0 -758
- package/dist/domains/skills/skills.json +0 -128
- package/dist/domains/skills/utils.d.ts +0 -3
- package/dist/domains/skills/utils.d.ts.map +0 -1
- package/dist/domains/skills/utils.js +0 -7
- package/dist/domains/skills/utils.js.map +0 -1
- package/dist/domains/tasks/random_task_type.json +0 -56
- package/dist/domains/tasks/task_shop_items.json +0 -42
- package/src/domains/abilities/abilities.json +0 -3331
- package/src/domains/actions/action_categories.json +0 -356
- package/src/domains/actions/action_types.json +0 -57
- package/src/domains/actions/actions.json +0 -41966
- package/src/domains/avatar/avatar_outfits.json +0 -572
- package/src/domains/avatar/avatars.json +0 -512
- package/src/domains/buffs/buff_types.json +0 -474
- package/src/domains/buffs/community_buff_types.json +0 -119
- package/src/domains/chat/chat_channel_types.json +0 -128
- package/src/domains/chat/chat_icons.json +0 -4352
- package/src/domains/combat/combat_style.json +0 -68
- package/src/domains/combat/combat_trigger_comparator.json +0 -26
- package/src/domains/combat/combat_trigger_condition.json +0 -596
- package/src/domains/combat/combat_trigger_dependency.json +0 -30
- package/src/domains/combat/damage_type.json +0 -22
- package/src/domains/game-mode/game_mode.json +0 -32
- package/src/domains/guild/guild_character_role.json +0 -58
- package/src/domains/house/house_rooms.json +0 -5553
- package/src/domains/items/equipment_types.json +0 -152
- package/src/domains/items/item_categories.json +0 -50
- package/src/domains/items/item_locations.json +0 -220
- package/src/domains/items/items.json +0 -65871
- package/src/domains/leaderboard/leaderboard_categories.json +0 -149
- package/src/domains/leaderboard/leaderboard_types.json +0 -56
- package/src/domains/monsters/monsters.json +0 -9313
- package/src/domains/name/name_colors.json +0 -975
- package/src/domains/recipes/recipes.json +0 -21268
- package/src/domains/shared/openable_loot_drop.json +0 -1276
- package/src/domains/shop/buyable_upgrades.json +0 -338
- package/src/domains/shop/purchase_bundles.json +0 -226
- package/src/domains/shop/shop_categories.json +0 -12
- package/src/domains/shop/shop_items.json +0 -758
- package/src/domains/skills/skills.json +0 -128
- package/src/domains/tasks/random_task_type.json +0 -56
- package/src/domains/tasks/task_shop_items.json +0 -42
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ItemHrid } from '../items/types.js';
|
|
2
|
-
import type { Recipe, RecipeHrid, RecipeTreeNode } from './types.js';
|
|
3
|
-
export declare function getRecipesMap(): Map<RecipeHrid, Recipe>;
|
|
4
|
-
export declare function getRecipe(hrid: RecipeHrid): Recipe | undefined;
|
|
5
|
-
export declare function requireRecipe(hrid: RecipeHrid): Recipe;
|
|
6
|
-
export declare function getAllRecipes(): Recipe[];
|
|
7
|
-
export declare function getRecipesForOutput(itemHrid: ItemHrid): Recipe[];
|
|
8
|
-
export declare function buildRecipeTree(itemHrid: ItemHrid, quantity?: number, depth?: number): RecipeTreeNode;
|
|
9
|
-
export declare function getTotalMaterials(node: RecipeTreeNode): Map<ItemHrid, number>;
|
|
10
|
-
export declare function isRecipeHrid(value: string): value is RecipeHrid;
|
|
11
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/domains/recipes/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGjD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAKpE,wBAAgB,aAAa,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAOvD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAItD;AAED,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAKhE;AAED,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,SAAI,EACZ,KAAK,SAAI,GACP,cAAc,CAyDhB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAgB7E;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { RECIPES_BY_OUTPUT, RECIPE_HRIDS } from './constants.js';
|
|
2
|
-
import recipesJson from './recipes.json' with { type: 'json' };
|
|
3
|
-
let RECIPES = null;
|
|
4
|
-
const recipeHridSet = new Set(RECIPE_HRIDS);
|
|
5
|
-
export function getRecipesMap() {
|
|
6
|
-
if (!RECIPES) {
|
|
7
|
-
RECIPES = new Map(recipesJson.map((r) => [r.hrid, r]));
|
|
8
|
-
}
|
|
9
|
-
return RECIPES;
|
|
10
|
-
}
|
|
11
|
-
export function getRecipe(hrid) {
|
|
12
|
-
return getRecipesMap().get(hrid);
|
|
13
|
-
}
|
|
14
|
-
export function requireRecipe(hrid) {
|
|
15
|
-
const recipe = getRecipe(hrid);
|
|
16
|
-
if (!recipe)
|
|
17
|
-
throw new Error(`Recipe not found: ${hrid}`);
|
|
18
|
-
return recipe;
|
|
19
|
-
}
|
|
20
|
-
export function getAllRecipes() {
|
|
21
|
-
return Array.from(getRecipesMap().values());
|
|
22
|
-
}
|
|
23
|
-
export function getRecipesForOutput(itemHrid) {
|
|
24
|
-
const hrids = RECIPES_BY_OUTPUT[itemHrid] || [];
|
|
25
|
-
return hrids
|
|
26
|
-
.map((hrid) => getRecipesMap().get(hrid))
|
|
27
|
-
.filter(Boolean);
|
|
28
|
-
}
|
|
29
|
-
export function buildRecipeTree(itemHrid, quantity = 1, depth = 0) {
|
|
30
|
-
const recipes = getRecipesForOutput(itemHrid);
|
|
31
|
-
const recipe = recipes[0];
|
|
32
|
-
if (!recipe || depth > 10) {
|
|
33
|
-
return {
|
|
34
|
-
itemHrid,
|
|
35
|
-
quantity,
|
|
36
|
-
totalQuantityNeeded: quantity,
|
|
37
|
-
children: [],
|
|
38
|
-
depth,
|
|
39
|
-
isBaseMaterial: true,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
const skillReq = recipe.levelRequirement
|
|
43
|
-
? {
|
|
44
|
-
skillHrid: recipe.levelRequirement.skillHrid,
|
|
45
|
-
level: recipe.levelRequirement.level,
|
|
46
|
-
}
|
|
47
|
-
: undefined;
|
|
48
|
-
const children = [];
|
|
49
|
-
// Add upgrade item if needed (critical for tools/equipment)
|
|
50
|
-
if (recipe.upgradeItemHrid) {
|
|
51
|
-
const upgradeNode = buildRecipeTree(recipe.upgradeItemHrid, quantity, depth + 1);
|
|
52
|
-
upgradeNode.isUpgradeInput = true;
|
|
53
|
-
children.push(upgradeNode);
|
|
54
|
-
}
|
|
55
|
-
// Add input items
|
|
56
|
-
for (const input of recipe.inputItems || []) {
|
|
57
|
-
children.push(buildRecipeTree(input.itemHrid, input.count * quantity, depth + 1));
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
itemHrid,
|
|
61
|
-
quantity,
|
|
62
|
-
recipe,
|
|
63
|
-
skillRequirement: skillReq,
|
|
64
|
-
totalQuantityNeeded: quantity,
|
|
65
|
-
children,
|
|
66
|
-
depth,
|
|
67
|
-
isBaseMaterial: false,
|
|
68
|
-
totalCraftingTime: recipe.baseTimeCost * quantity,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
export function getTotalMaterials(node) {
|
|
72
|
-
const materials = new Map();
|
|
73
|
-
function collect(n) {
|
|
74
|
-
if (n.isBaseMaterial) {
|
|
75
|
-
materials.set(n.itemHrid, (materials.get(n.itemHrid) || 0) + n.totalQuantityNeeded);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
n.children.forEach(collect);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
collect(node);
|
|
82
|
-
return materials;
|
|
83
|
-
}
|
|
84
|
-
// Type guard - O(1) lookup
|
|
85
|
-
export function isRecipeHrid(value) {
|
|
86
|
-
return recipeHridSet.has(value);
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/domains/recipes/utils.ts"],"names":[],"mappings":"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"}
|