warframe-public-export-plus 0.6.1 → 0.6.3
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/ExportAchievements.json +4 -0
- package/ExportArcanes.json +13719 -0
- package/ExportBoosterPacks.json +54 -54
- package/ExportBundles.json +242 -84
- package/ExportChallenges.json +10 -1
- package/ExportCodex.json +5 -0
- package/ExportCustoms.json +488 -20
- package/ExportDojoRecipes.json +1580 -0
- package/ExportEmailItems.json +5 -3
- package/ExportEnemies.json +2459 -699
- package/ExportFlavour.json +481 -0
- package/ExportImages.json +360 -18
- package/ExportKeys.json +227 -42
- package/ExportRailjackWeapons.json +2135 -167
- package/ExportRecipes.json +761 -0
- package/ExportRelics.json +693 -9
- package/ExportResources.json +484 -12
- package/ExportRewards.json +616 -4
- package/ExportSyndicates.json +56 -0
- package/ExportTilesets.json +16 -0
- package/ExportUpgrades.json +2925 -1468
- package/ExportVendors.json +1423 -254
- package/ExportVirtuals.json +3 -0
- package/ExportWarframes.json +163 -2
- package/ExportWeapons.json +592 -42
- package/README.md +2 -2
- package/dict.de.json +743 -63
- package/dict.en.json +755 -75
- package/dict.es.json +782 -102
- package/dict.fr.json +712 -32
- package/dict.it.json +730 -50
- package/dict.ja.json +714 -34
- package/dict.ko.json +747 -67
- package/dict.pl.json +1007 -327
- package/dict.pt.json +752 -72
- package/dict.ru.json +725 -45
- package/dict.tc.json +724 -44
- package/dict.th.json +741 -61
- package/dict.tr.json +1332 -652
- package/dict.uk.json +1203 -523
- package/dict.zh.json +758 -78
- package/index.d.ts +19 -4
- package/package.json +3 -4
- package/supplementals/getScaledPowersuitValues.pluto +17 -0
- package/validate-typings.js +17 -17
package/index.d.ts
CHANGED
|
@@ -112,6 +112,13 @@ export interface IArcane {
|
|
|
112
112
|
codexSecret: boolean;
|
|
113
113
|
excludeFromCodex?: true;
|
|
114
114
|
rarity: TRarity;
|
|
115
|
+
levelStats?: {
|
|
116
|
+
tag: string;
|
|
117
|
+
sub: Record<string,
|
|
118
|
+
{ tag: string; sub: Record<string, string> }
|
|
119
|
+
| string // note: substitute itself may be a loctag
|
|
120
|
+
>;
|
|
121
|
+
}[][];
|
|
115
122
|
fusionLimit: number;
|
|
116
123
|
distillPointValue?: number;
|
|
117
124
|
}
|
|
@@ -451,10 +458,12 @@ export interface IColour {
|
|
|
451
458
|
value: string;
|
|
452
459
|
}
|
|
453
460
|
|
|
461
|
+
export type TFocusSchool = "AP_ATTACK" | "AP_DEFENSE" | "AP_POWER" | "AP_TACTIC" | "AP_WARD";
|
|
462
|
+
|
|
454
463
|
export interface IFocusUpgrade {
|
|
455
464
|
name: string;
|
|
456
465
|
icon: string;
|
|
457
|
-
polarity:
|
|
466
|
+
polarity: TFocusSchool;
|
|
458
467
|
rarity: TRarity;
|
|
459
468
|
codexSecret: boolean;
|
|
460
469
|
baseDrain: number;
|
|
@@ -905,8 +914,8 @@ export interface ITextIcon {
|
|
|
905
914
|
|
|
906
915
|
export interface ITileset {
|
|
907
916
|
uniqueName: string;
|
|
908
|
-
faction
|
|
909
|
-
missions: Record<TMissionType, ITilesetMission
|
|
917
|
+
faction: TFaction;
|
|
918
|
+
missions: Partial<Record<TMissionType, ITilesetMission>>; // Only contains mission types supported by the tileset.
|
|
910
919
|
}
|
|
911
920
|
|
|
912
921
|
export interface ITilesetMission {
|
|
@@ -969,6 +978,7 @@ export interface IUpgrade {
|
|
|
969
978
|
levelStats?: {
|
|
970
979
|
stats: string[];
|
|
971
980
|
}[];
|
|
981
|
+
introducedAt?: number;
|
|
972
982
|
}
|
|
973
983
|
|
|
974
984
|
export interface IVendor {
|
|
@@ -1010,6 +1020,10 @@ export interface IVendorOffer {
|
|
|
1010
1020
|
reductionPerPositiveRank: number;
|
|
1011
1021
|
increasePerNegativeRank: number;
|
|
1012
1022
|
};
|
|
1023
|
+
focusXpCost?: {
|
|
1024
|
+
polarity: TFocusSchool;
|
|
1025
|
+
cost: number;
|
|
1026
|
+
};
|
|
1013
1027
|
}
|
|
1014
1028
|
|
|
1015
1029
|
export interface IVirtual {
|
|
@@ -1029,10 +1043,11 @@ export interface IPowersuit {
|
|
|
1029
1043
|
power: number;
|
|
1030
1044
|
codexSecret: boolean;
|
|
1031
1045
|
masteryReq: number;
|
|
1046
|
+
excludeFromCodex?: true;
|
|
1032
1047
|
sprintSpeed: number;
|
|
1033
1048
|
abilities: ({ uniqueName: string } & IAbility)[];
|
|
1034
1049
|
passiveDescription?: string;
|
|
1035
|
-
productCategory: "Suits" | "SpaceSuits" | "MechSuits";
|
|
1050
|
+
productCategory: "Suits" | "SpaceSuits" | "MechSuits" | "SpecialItems";
|
|
1036
1051
|
exalted?: string[];
|
|
1037
1052
|
longDescription?: string;
|
|
1038
1053
|
variantType: "VT_NORMAL" | "VT_PRIME" | "VT_VARIANT";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "warframe-public-export-plus",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
"url": "git+https://github.com/calamity-inc/warframe-public-export-plus.git"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"ts-
|
|
19
|
-
"
|
|
20
|
-
"zod": "^3.24.2"
|
|
18
|
+
"ts-to-zod": "^5",
|
|
19
|
+
"zod": "^4"
|
|
21
20
|
}
|
|
22
21
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
local { crypto, json, wasm } = require "pluto:*"
|
|
2
|
+
|
|
3
|
+
local ExportWarframes = json.decode(io.contents("../ExportWarframes.json"))
|
|
4
|
+
local utilInstance = wasm.instantiate(io.contents("util.wasm"))
|
|
5
|
+
|
|
6
|
+
return function(uniqueName, rank)
|
|
7
|
+
local health_add, shield_add, power_add, armor_add, ability_strength, heal_rate = utilInstance:call("get_powersuit_scaling_values", crypto.joaat(uniqueName), rank)
|
|
8
|
+
local powersuit = ExportWarframes[uniqueName]
|
|
9
|
+
return {
|
|
10
|
+
health = powersuit.health + health_add,
|
|
11
|
+
shield = powersuit.shield + shield_add,
|
|
12
|
+
power = powersuit.power + power_add,
|
|
13
|
+
armor = powersuit.armor + armor_add,
|
|
14
|
+
ability_strength = ability_strength,
|
|
15
|
+
heal_rate = heal_rate,
|
|
16
|
+
}
|
|
17
|
+
end
|
package/validate-typings.js
CHANGED
|
@@ -11,33 +11,32 @@ for (const line of indexTypes.split(/\r?\n/)) {
|
|
|
11
11
|
}
|
|
12
12
|
types += "\n}";
|
|
13
13
|
|
|
14
|
-
console.log("
|
|
14
|
+
console.log("Generating schemas...");
|
|
15
15
|
fs.writeFileSync("tmp-types.ts", types);
|
|
16
|
-
execSync("npx ts-to-zod tmp-types.ts tmp-schemas.
|
|
17
|
-
stdio: "inherit",
|
|
18
|
-
});
|
|
16
|
+
execSync("npx ts-to-zod tmp-types.ts tmp-schemas.js --skipValidation");
|
|
19
17
|
|
|
20
18
|
const schemas = fs
|
|
21
|
-
.readFileSync("tmp-schemas.
|
|
22
|
-
.
|
|
23
|
-
.replace("iAbilitySchema = z.strictObject({", "iAbilitySchema = z.object({")
|
|
24
|
-
|
|
19
|
+
.readFileSync("tmp-schemas.js", "utf8")
|
|
20
|
+
.replaceAll("z.object", "z.strictObject")
|
|
21
|
+
.replace("iAbilitySchema = z.strictObject({", "iAbilitySchema = z.object({")
|
|
22
|
+
.replace("z.record(tMissionTypeSchema, iTilesetMissionSchema).partial()", "z.partialRecord(tMissionTypeSchema, iTilesetMissionSchema)");
|
|
23
|
+
fs.writeFileSync("tmp-schemas.mjs", schemas);
|
|
25
24
|
|
|
26
|
-
console.log("
|
|
25
|
+
console.log("Validating schemas...");
|
|
27
26
|
const test = `import { z } from "zod";
|
|
28
|
-
import { iPublicExportPlusSchema } from "./tmp-schemas";
|
|
29
|
-
import publicExportPlus from "./index";
|
|
27
|
+
import { iPublicExportPlusSchema } from "./tmp-schemas.mjs";
|
|
28
|
+
import publicExportPlus from "./index.js";
|
|
30
29
|
try {
|
|
31
30
|
iPublicExportPlusSchema.parse(publicExportPlus);
|
|
32
|
-
console.log("
|
|
31
|
+
console.log("Schemas validated successfully.");
|
|
33
32
|
} catch (e) {
|
|
34
|
-
console.error(
|
|
33
|
+
console.error(e.message);
|
|
35
34
|
process.exit(1);
|
|
36
35
|
}`;
|
|
37
|
-
fs.writeFileSync("tmp-test.
|
|
36
|
+
fs.writeFileSync("tmp-test.mjs", test);
|
|
38
37
|
|
|
39
38
|
try {
|
|
40
|
-
execSync("
|
|
39
|
+
execSync("node tmp-test.mjs", {
|
|
41
40
|
stdio: "inherit",
|
|
42
41
|
env: {
|
|
43
42
|
...process.env,
|
|
@@ -51,7 +50,8 @@ try {
|
|
|
51
50
|
process.exitCode = 1;
|
|
52
51
|
}
|
|
53
52
|
} finally {
|
|
54
|
-
fs.unlinkSync("tmp-schemas.ts");
|
|
55
53
|
fs.unlinkSync("tmp-types.ts");
|
|
56
|
-
fs.unlinkSync("tmp-
|
|
54
|
+
fs.unlinkSync("tmp-schemas.mjs");
|
|
55
|
+
fs.unlinkSync("tmp-schemas.js");
|
|
56
|
+
fs.unlinkSync("tmp-test.mjs");
|
|
57
57
|
}
|