@skullandbonestools/snbdata 5.0.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 +661 -0
- package/README.md +86 -0
- package/dist/daos/commodities.d.ts +15 -0
- package/dist/daos/commodities.d.ts.map +1 -0
- package/dist/daos/commodities.js +17 -0
- package/dist/daos/commodities.js.map +1 -0
- package/dist/daos/cosmetics.d.ts +27 -0
- package/dist/daos/cosmetics.d.ts.map +1 -0
- package/dist/daos/cosmetics.js +38 -0
- package/dist/daos/cosmetics.js.map +1 -0
- package/dist/daos/items.d.ts +40 -0
- package/dist/daos/items.d.ts.map +1 -0
- package/dist/daos/items.js +52 -0
- package/dist/daos/items.js.map +1 -0
- package/dist/daos/materials.d.ts +18 -0
- package/dist/daos/materials.d.ts.map +1 -0
- package/dist/daos/materials.js +38 -0
- package/dist/daos/materials.js.map +1 -0
- package/dist/daos/seasons.d.ts +15 -0
- package/dist/daos/seasons.d.ts.map +1 -0
- package/dist/daos/seasons.js +19 -0
- package/dist/daos/seasons.js.map +1 -0
- package/dist/daos/sets.d.ts +8 -0
- package/dist/daos/sets.d.ts.map +1 -0
- package/dist/daos/sets.js +23 -0
- package/dist/daos/sets.js.map +1 -0
- package/dist/daos/ships.d.ts +62 -0
- package/dist/daos/ships.d.ts.map +1 -0
- package/dist/daos/ships.js +48 -0
- package/dist/daos/ships.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/types/Category.d.ts +3 -0
- package/dist/types/Category.d.ts.map +1 -0
- package/dist/types/Category.js +2 -0
- package/dist/types/Category.js.map +1 -0
- package/dist/types/CosmeticProperties.d.ts +2 -0
- package/dist/types/CosmeticProperties.d.ts.map +1 -0
- package/dist/types/CosmeticProperties.js +2 -0
- package/dist/types/CosmeticProperties.js.map +1 -0
- package/dist/types/ItemProperties.d.ts +2 -0
- package/dist/types/ItemProperties.d.ts.map +1 -0
- package/dist/types/ItemProperties.js +2 -0
- package/dist/types/ItemProperties.js.map +1 -0
- package/dist/types/Rarity.d.ts +2 -0
- package/dist/types/Rarity.d.ts.map +1 -0
- package/dist/types/Rarity.js +2 -0
- package/dist/types/Rarity.js.map +1 -0
- package/dist/types/ShipProperties.d.ts +9 -0
- package/dist/types/ShipProperties.d.ts.map +1 -0
- package/dist/types/ShipProperties.js +2 -0
- package/dist/types/ShipProperties.js.map +1 -0
- package/package.json +40 -0
package/README.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Skull and Bones Data
|
|
2
|
+
|
|
3
|
+
Welcome to the inofficial data repository for the Skull and Bones game by Ubisoft.
|
|
4
|
+
|
|
5
|
+
This repository hosts data for the several elements in the game like **Materials**, **Items**, **Cosmetics** and more in a JSON format.
|
|
6
|
+
|
|
7
|
+
As the move to a public repository (see [History](#history)) includes several changes the following things are planned:
|
|
8
|
+
- [ ] Extract events, locations, contracts into own data files
|
|
9
|
+
- Those are currently only stored in the translation files
|
|
10
|
+
- [ ] Crowdin workflow integration
|
|
11
|
+
- [ ] npm packages with generated types for the different data (events, cosmetics, items, ...)
|
|
12
|
+
|
|
13
|
+
For each update of the game a new release is provided containing the updated files which can be found under the [Releases](https://github.com/SkullAndBonesTools/SkullAndBonesData/releases) section.
|
|
14
|
+
|
|
15
|
+
The version number of the release is tied to the Skull and Bones version the data represents and put together like so:\
|
|
16
|
+
**Example**: snbdata@5.2.4
|
|
17
|
+
```
|
|
18
|
+
5 - Season
|
|
19
|
+
2 - Patch Level
|
|
20
|
+
4 - Bug Fixes / Minor Changes
|
|
21
|
+
|
|
22
|
+
This represent the SnB game version Y2S1.2.X
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
*Because the first published version of the package was for Y1S2, so season 5 of Skull and Bones, the first release was the 5.0.0.*
|
|
26
|
+
|
|
27
|
+
## How to Use
|
|
28
|
+
### Raw Data
|
|
29
|
+
You can find the raw data files as JSON in the [data](https://github.com/SkullAndBonesTools/SkullAndBonesData/tree/master/data) folder for the different types.
|
|
30
|
+
|
|
31
|
+
### Package
|
|
32
|
+
Based on the raw data is the `snbdata` npm package available, featuring access to the data as typescript objects with type safety and autocompletion.
|
|
33
|
+
|
|
34
|
+
#### Guide
|
|
35
|
+
**Install the Package**
|
|
36
|
+
`TODO`
|
|
37
|
+
|
|
38
|
+
**Access the Data**
|
|
39
|
+
Getting the season of the `Barque` (TS):
|
|
40
|
+
```typescript
|
|
41
|
+
import { Ships } from "@skullandbonestools/snbdata";
|
|
42
|
+
import { Season } from '@skullandbonestools/snbdata/dist/daos/seasons';
|
|
43
|
+
|
|
44
|
+
const season:Season = Ships.barque.season; // Retrieves the season object for the barque
|
|
45
|
+
console.log(season.id); // Returns ragingTides
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Getting the required materials for `Orca Intricate Apparatus` (JS):
|
|
49
|
+
```javascript
|
|
50
|
+
import { Materials } from "@skullandbonestools/snbdata";
|
|
51
|
+
|
|
52
|
+
Materials.orcaIntricateApparatus.required.keys().forEach(material => {
|
|
53
|
+
console.log("Id: %s - Required: %s", material.id, material.required?.keys().map((m) => m.id).toArray().join(", "));
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Output
|
|
57
|
+
Id: orcasMechanism - Required: undefined
|
|
58
|
+
Id: torsionSpring - Required: planetaryGearset, woodPitch
|
|
59
|
+
Id: planetaryGearset - Required: cogwheel
|
|
60
|
+
Id: woodPitch - Required: woodTar
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## History
|
|
64
|
+
The data available in the repository was originally put together for [Skull and Bones Tools](https://skullandbonestools.de) and got published with **Year 2 Season 1 - Ascent into Chaos** with the goal of supporting other creators and to promote up to date informations by allowing everyone to contribute to the dataset.
|
|
65
|
+
|
|
66
|
+
## Contribute
|
|
67
|
+
If you like the project please give it a ⭐ here on Github.
|
|
68
|
+
|
|
69
|
+
There are several ways to contribute to the project:
|
|
70
|
+
|
|
71
|
+
### Reporting wrong or outdated informations
|
|
72
|
+
If you have noticed a wrong or outdated informations please open an **Issue** so it can be checked and corrected quickly.
|
|
73
|
+
|
|
74
|
+
### Adding translations for the data
|
|
75
|
+
The project uses Crowdin to translate all the data, where everyone can contribute.
|
|
76
|
+
You can find it here: https://crowdin.com/project/skull-and-bones-tools
|
|
77
|
+
|
|
78
|
+
### Adding or updating informations
|
|
79
|
+
If you want to add to or update informations of the dataset, the general open source approach of a Pull Request is used.
|
|
80
|
+
Which consits of creating a **Fork**, adding/updating the code in the forked repository and then creating a **Pull Request** in this repository to merge the changes of your fork into this one.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
## Support
|
|
84
|
+
For general questions or support of any kind you can use the official Skull and Bones Tools Discord (https://discord.gg/fTgvPxR7eR) or the support@skullandbonestools.de email.
|
|
85
|
+
|
|
86
|
+
For any business inquiries or related questions please use the contact@skullandbonestools.de email.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import commoditiesData from "../../data/commodities.json";
|
|
2
|
+
import { CommodityCategory } from "../types/Category";
|
|
3
|
+
import { Rarity } from "../types/Rarity";
|
|
4
|
+
export declare class Commodity {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly rarity: Rarity;
|
|
7
|
+
readonly category: CommodityCategory;
|
|
8
|
+
constructor(id: string, rarity: Rarity, category: CommodityCategory);
|
|
9
|
+
static loadCommodities(): Record<string, Commodity>;
|
|
10
|
+
}
|
|
11
|
+
export type Commodities = {
|
|
12
|
+
[K in keyof typeof commoditiesData]: Commodity;
|
|
13
|
+
};
|
|
14
|
+
export declare const Commodities: Commodities;
|
|
15
|
+
//# sourceMappingURL=commodities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commodities.d.ts","sourceRoot":"","sources":["../../src/daos/commodities.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,qBAAa,SAAS;aAEE,EAAE,EAAE,MAAM;aACV,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,iBAAiB;gBAF3B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB;WAGjC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;CAW7D;AAED,MAAM,MAAM,WAAW,GAAG;KACrB,CAAC,IAAI,MAAM,OAAO,eAAe,GAAG,SAAS;CACjD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAAwD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import commoditiesData from "../../data/commodities.json";
|
|
2
|
+
export class Commodity {
|
|
3
|
+
constructor(id, rarity, category) {
|
|
4
|
+
this.id = id;
|
|
5
|
+
this.rarity = rarity;
|
|
6
|
+
this.category = category;
|
|
7
|
+
}
|
|
8
|
+
static loadCommodities() {
|
|
9
|
+
const commodities = {};
|
|
10
|
+
for (const [key, value] of Object.entries(commoditiesData)) {
|
|
11
|
+
commodities[key] = new Commodity(key, value.rarity, value.category);
|
|
12
|
+
}
|
|
13
|
+
return commodities;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const Commodities = Commodity.loadCommodities();
|
|
17
|
+
//# sourceMappingURL=commodities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commodities.js","sourceRoot":"","sources":["../../src/daos/commodities.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAI1D,MAAM,OAAO,SAAS;IAClB,YACoB,EAAU,EACV,MAAc,EACd,QAA2B;QAF3B,OAAE,GAAF,EAAE,CAAQ;QACV,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAmB;IAC5C,CAAC;IAEG,MAAM,CAAC,eAAe;QACzB,MAAM,WAAW,GAA8B,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAC5B,GAAG,EACH,KAAK,CAAC,MAAgB,EACtB,KAAK,CAAC,QAA6B,CACtC,CAAC;QACN,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAMD,MAAM,CAAC,MAAM,WAAW,GAAgB,SAAS,CAAC,eAAe,EAAiB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import cosmeticsData from '../../data/cosmetics.json';
|
|
2
|
+
import { Effect } from '../types/CosmeticProperties';
|
|
3
|
+
import { Material } from './materials';
|
|
4
|
+
import { Season } from './seasons';
|
|
5
|
+
export declare class Cosmetic {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly type: string;
|
|
8
|
+
readonly dateAdded: string;
|
|
9
|
+
readonly lastUpdated: string;
|
|
10
|
+
readonly set?: string | undefined;
|
|
11
|
+
readonly obtainable?: (string | string[] | Array<string | string[]>) | undefined;
|
|
12
|
+
readonly effect?: (Effect | Effect[]) | undefined;
|
|
13
|
+
readonly season?: Season | undefined;
|
|
14
|
+
readonly contract?: string | undefined;
|
|
15
|
+
readonly required?: Map<Material, number> | undefined;
|
|
16
|
+
readonly requiredRank?: string | undefined;
|
|
17
|
+
readonly bounty?: string | undefined;
|
|
18
|
+
readonly worldEvent?: string | undefined;
|
|
19
|
+
constructor(id: string, type: string, dateAdded: string, lastUpdated: string, set?: string | undefined, obtainable?: (string | string[] | Array<string | string[]>) | undefined, effect?: (Effect | Effect[]) | undefined, season?: Season | undefined, contract?: string | undefined, required?: Map<Material, number> | undefined, requiredRank?: string | undefined, bounty?: string | undefined, worldEvent?: string | undefined);
|
|
20
|
+
static fromRawData(rawData: any): Cosmetic;
|
|
21
|
+
static loadCosmetics(): Record<string, Cosmetic>;
|
|
22
|
+
}
|
|
23
|
+
export type Cosmetics = {
|
|
24
|
+
[K in keyof typeof cosmeticsData]: Cosmetic;
|
|
25
|
+
};
|
|
26
|
+
export declare const Cosmetics: Cosmetics;
|
|
27
|
+
//# sourceMappingURL=cosmetics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmetics.d.ts","sourceRoot":"","sources":["../../src/daos/cosmetics.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,qBAAa,QAAQ;aAEG,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;aACnB,GAAG,CAAC,EAAE,MAAM;aACZ,UAAU,CAAC,GAAE,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;aACzD,MAAM,CAAC,GAAE,MAAM,GAAG,MAAM,EAAE;aAC1B,MAAM,CAAC,EAAE,MAAM;aACf,QAAQ,CAAC,EAAE,MAAM;aACjB,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;aAChC,YAAY,CAAC,EAAE,MAAM;aACrB,MAAM,CAAC,EAAE,MAAM;aACf,UAAU,CAAC,EAAE,MAAM;gBAZnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,YAAA,EACZ,UAAU,CAAC,GAAE,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,aAAA,EACzD,MAAM,CAAC,GAAE,MAAM,GAAG,MAAM,EAAE,aAAA,EAC1B,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAA,EAChC,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,UAAU,CAAC,EAAE,MAAM,YAAA;WAGzB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ;WA0BnC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;CAO1D;AAED,MAAM,MAAM,SAAS,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,aAAa,GAAG,QAAQ;CAC9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAiD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import cosmeticsData from '../../data/cosmetics.json';
|
|
2
|
+
import { Materials } from './materials';
|
|
3
|
+
export class Cosmetic {
|
|
4
|
+
constructor(id, type, dateAdded, lastUpdated, set, obtainable, effect, season, contract, required, requiredRank, bounty, worldEvent) {
|
|
5
|
+
this.id = id;
|
|
6
|
+
this.type = type;
|
|
7
|
+
this.dateAdded = dateAdded;
|
|
8
|
+
this.lastUpdated = lastUpdated;
|
|
9
|
+
this.set = set;
|
|
10
|
+
this.obtainable = obtainable;
|
|
11
|
+
this.effect = effect;
|
|
12
|
+
this.season = season;
|
|
13
|
+
this.contract = contract;
|
|
14
|
+
this.required = required;
|
|
15
|
+
this.requiredRank = requiredRank;
|
|
16
|
+
this.bounty = bounty;
|
|
17
|
+
this.worldEvent = worldEvent;
|
|
18
|
+
}
|
|
19
|
+
static fromRawData(rawData) {
|
|
20
|
+
const required = rawData.required ? new Map() : undefined;
|
|
21
|
+
if (required) {
|
|
22
|
+
for (const [requiredKey, quantity] of Object.entries(rawData.required)) {
|
|
23
|
+
const requiredMaterial = requiredKey;
|
|
24
|
+
required.set(Materials[requiredMaterial], quantity);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return new Cosmetic(rawData.id, rawData.type, rawData.dateAdded, rawData.lastUpdated, rawData.set ?? undefined, rawData.obtainable ?? undefined, rawData.effect ?? undefined, rawData.season ?? undefined, rawData.contract ?? undefined, required, rawData.requiredRank ?? undefined, rawData.bounty ?? undefined, rawData.worldEvent ?? undefined);
|
|
28
|
+
}
|
|
29
|
+
static loadCosmetics() {
|
|
30
|
+
const cosmetics = {};
|
|
31
|
+
for (const [key, value] of Object.entries(cosmeticsData)) {
|
|
32
|
+
cosmetics[key] = Cosmetic.fromRawData(value);
|
|
33
|
+
}
|
|
34
|
+
return cosmetics;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export const Cosmetics = Cosmetic.loadCosmetics();
|
|
38
|
+
//# sourceMappingURL=cosmetics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmetics.js","sourceRoot":"","sources":["../../src/daos/cosmetics.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,OAAO,QAAQ;IACjB,YACoB,EAAU,EACV,IAAY,EACZ,SAAiB,EACjB,WAAmB,EACnB,GAAY,EACZ,UAAyD,EACzD,MAA0B,EAC1B,MAAe,EACf,QAAiB,EACjB,QAAgC,EAChC,YAAqB,EACrB,MAAe,EACf,UAAmB;QAZnB,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAQ;QACjB,gBAAW,GAAX,WAAW,CAAQ;QACnB,QAAG,GAAH,GAAG,CAAS;QACZ,eAAU,GAAV,UAAU,CAA+C;QACzD,WAAM,GAAN,MAAM,CAAoB;QAC1B,WAAM,GAAN,MAAM,CAAS;QACf,aAAQ,GAAR,QAAQ,CAAS;QACjB,aAAQ,GAAR,QAAQ,CAAwB;QAChC,iBAAY,GAAZ,YAAY,CAAS;QACrB,WAAM,GAAN,MAAM,CAAS;QACf,eAAU,GAAV,UAAU,CAAS;IACpC,CAAC;IAEG,MAAM,CAAC,WAAW,CAAC,OAAY;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAG,QAAQ,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,MAAM,gBAAgB,GAAG,WAAqC,CAAC;gBAC/D,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,QAAkB,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QAED,OAAO,IAAI,QAAQ,CACf,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,GAAG,IAAI,SAAS,EACxB,OAAO,CAAC,UAAU,IAAI,SAAS,EAC/B,OAAO,CAAC,MAAM,IAAI,SAAS,EAC3B,OAAO,CAAC,MAAM,IAAI,SAAS,EAC3B,OAAO,CAAC,QAAQ,IAAI,SAAS,EAC7B,QAAQ,EACR,OAAO,CAAC,YAAY,IAAI,SAAS,EACjC,OAAO,CAAC,MAAM,IAAI,SAAS,EAC3B,OAAO,CAAC,UAAU,IAAI,SAAS,CAClC,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAMD,MAAM,CAAC,MAAM,SAAS,GAAc,QAAQ,CAAC,aAAa,EAAe,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import itemsData from '../../data/items.json';
|
|
2
|
+
import { Tier } from '../types/ItemProperties';
|
|
3
|
+
import { Rarity } from '../types/Rarity';
|
|
4
|
+
import { Material } from './materials';
|
|
5
|
+
import { Season } from './seasons';
|
|
6
|
+
export declare class Item {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly type: string;
|
|
9
|
+
readonly dateAdded: Date;
|
|
10
|
+
readonly lastUpdated: Date;
|
|
11
|
+
readonly tier?: Tier | undefined;
|
|
12
|
+
readonly blueprint?: string | undefined;
|
|
13
|
+
readonly value?: number | undefined;
|
|
14
|
+
readonly weight?: number | undefined;
|
|
15
|
+
readonly gearScore?: number | undefined;
|
|
16
|
+
readonly projectilesPerShot?: number | undefined;
|
|
17
|
+
readonly damagePerShot?: number | undefined;
|
|
18
|
+
readonly rateOfFire?: number | undefined;
|
|
19
|
+
readonly reloadSpeed?: number | undefined;
|
|
20
|
+
readonly optimalRange?: number | undefined;
|
|
21
|
+
readonly projectileSpeed?: number | undefined;
|
|
22
|
+
readonly required?: Map<Material, number> | undefined;
|
|
23
|
+
readonly requiredRank?: string | undefined;
|
|
24
|
+
readonly perks?: string[] | undefined;
|
|
25
|
+
readonly rarity?: Rarity | undefined;
|
|
26
|
+
readonly season?: Season | undefined;
|
|
27
|
+
readonly obtainable?: string | string[] | undefined;
|
|
28
|
+
readonly worldEvent?: string | undefined;
|
|
29
|
+
readonly armor?: number | undefined;
|
|
30
|
+
readonly damageMitigation?: Record<string, number> | undefined;
|
|
31
|
+
readonly contract?: string | undefined;
|
|
32
|
+
constructor(id: string, type: string, dateAdded: Date, lastUpdated: Date, tier?: Tier | undefined, blueprint?: string | undefined, value?: number | undefined, weight?: number | undefined, gearScore?: number | undefined, projectilesPerShot?: number | undefined, damagePerShot?: number | undefined, rateOfFire?: number | undefined, reloadSpeed?: number | undefined, optimalRange?: number | undefined, projectileSpeed?: number | undefined, required?: Map<Material, number> | undefined, requiredRank?: string | undefined, perks?: string[] | undefined, rarity?: Rarity | undefined, season?: Season | undefined, obtainable?: string | string[] | undefined, worldEvent?: string | undefined, armor?: number | undefined, damageMitigation?: Record<string, number> | undefined, contract?: string | undefined);
|
|
33
|
+
static fromRawData(rawData: any): Item;
|
|
34
|
+
static loadItems(): Record<string, Item>;
|
|
35
|
+
}
|
|
36
|
+
export type Items = {
|
|
37
|
+
[K in keyof typeof itemsData]: Item;
|
|
38
|
+
};
|
|
39
|
+
export declare const Items: Items;
|
|
40
|
+
//# sourceMappingURL=items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../src/daos/items.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAW,MAAM,WAAW,CAAC;AAE5C,qBAAa,IAAI;aAEO,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,IAAI;aACf,WAAW,EAAE,IAAI;aACjB,IAAI,CAAC,EAAE,IAAI;aACX,SAAS,CAAC,EAAE,MAAM;aAClB,KAAK,CAAC,EAAE,MAAM;aACd,MAAM,CAAC,EAAE,MAAM;aACf,SAAS,CAAC,EAAE,MAAM;aAClB,kBAAkB,CAAC,EAAE,MAAM;aAC3B,aAAa,CAAC,EAAE,MAAM;aACtB,UAAU,CAAC,EAAE,MAAM;aACnB,WAAW,CAAC,EAAE,MAAM;aACpB,YAAY,CAAC,EAAE,MAAM;aACrB,eAAe,CAAC,EAAE,MAAM;aACxB,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;aAChC,YAAY,CAAC,EAAE,MAAM;aACrB,KAAK,CAAC,EAAE,MAAM,EAAE;aAChB,MAAM,CAAC,EAAE,MAAM;aACf,MAAM,CAAC,EAAE,MAAM;aACf,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;aAC9B,UAAU,CAAC,EAAE,MAAM;aACnB,KAAK,CAAC,EAAE,MAAM;aACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;aACzC,QAAQ,CAAC,EAAE,MAAM;gBAxBjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,IAAI,EACjB,IAAI,CAAC,EAAE,IAAI,YAAA,EACX,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,kBAAkB,CAAC,EAAE,MAAM,YAAA,EAC3B,aAAa,CAAC,EAAE,MAAM,YAAA,EACtB,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,eAAe,CAAC,EAAE,MAAM,YAAA,EACxB,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAA,EAChC,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,KAAK,CAAC,EAAE,MAAM,EAAE,YAAA,EAChB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,YAAA,EAC9B,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAA,EACzC,QAAQ,CAAC,EAAE,MAAM,YAAA;WAGvB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;WAuC/B,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;CAOlD;AAED,MAAM,MAAM,KAAK,GAAG;KACf,CAAC,IAAI,MAAM,OAAO,SAAS,GAAG,IAAI;CACtC,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAiC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import itemsData from '../../data/items.json';
|
|
2
|
+
import { Materials } from './materials';
|
|
3
|
+
import { Seasons } from './seasons';
|
|
4
|
+
export class Item {
|
|
5
|
+
constructor(id, type, dateAdded, lastUpdated, tier, blueprint, value, weight, gearScore, projectilesPerShot, damagePerShot, rateOfFire, reloadSpeed, optimalRange, projectileSpeed, required, requiredRank, perks, rarity, season, obtainable, worldEvent, armor, damageMitigation, contract) {
|
|
6
|
+
this.id = id;
|
|
7
|
+
this.type = type;
|
|
8
|
+
this.dateAdded = dateAdded;
|
|
9
|
+
this.lastUpdated = lastUpdated;
|
|
10
|
+
this.tier = tier;
|
|
11
|
+
this.blueprint = blueprint;
|
|
12
|
+
this.value = value;
|
|
13
|
+
this.weight = weight;
|
|
14
|
+
this.gearScore = gearScore;
|
|
15
|
+
this.projectilesPerShot = projectilesPerShot;
|
|
16
|
+
this.damagePerShot = damagePerShot;
|
|
17
|
+
this.rateOfFire = rateOfFire;
|
|
18
|
+
this.reloadSpeed = reloadSpeed;
|
|
19
|
+
this.optimalRange = optimalRange;
|
|
20
|
+
this.projectileSpeed = projectileSpeed;
|
|
21
|
+
this.required = required;
|
|
22
|
+
this.requiredRank = requiredRank;
|
|
23
|
+
this.perks = perks;
|
|
24
|
+
this.rarity = rarity;
|
|
25
|
+
this.season = season;
|
|
26
|
+
this.obtainable = obtainable;
|
|
27
|
+
this.worldEvent = worldEvent;
|
|
28
|
+
this.armor = armor;
|
|
29
|
+
this.damageMitigation = damageMitigation;
|
|
30
|
+
this.contract = contract;
|
|
31
|
+
}
|
|
32
|
+
static fromRawData(rawData) {
|
|
33
|
+
const season = rawData.season;
|
|
34
|
+
const required = rawData.required ? new Map() : undefined;
|
|
35
|
+
if (required) {
|
|
36
|
+
for (const [requiredKey, quantity] of Object.entries(rawData.required)) {
|
|
37
|
+
const requiredMaterial = requiredKey;
|
|
38
|
+
required.set(Materials[requiredMaterial], quantity);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return new Item(rawData.id, rawData.type, new Date(rawData.dateAdded), new Date(rawData.lastUpdated), rawData.tier, rawData.blueprint ?? undefined, rawData.value ?? undefined, rawData.weight ?? undefined, rawData.gearScore ?? undefined, rawData.projectilesPerShot ?? undefined, rawData.damagePerShot ?? undefined, rawData.rateOfFire ?? undefined, rawData.reloadSpeed ?? undefined, rawData.optimalRange ?? undefined, rawData.projectileSpeed ?? undefined, required, rawData.requiredRank ?? undefined, rawData.perks ?? [], rawData.rarity ?? undefined, rawData.season ? Seasons[season] : undefined, rawData.obtainable ?? undefined, rawData.worldEvent ?? undefined, rawData.armor ?? undefined, rawData.damageMitigation ?? {}, rawData.contract ?? undefined);
|
|
42
|
+
}
|
|
43
|
+
static loadItems() {
|
|
44
|
+
const items = {};
|
|
45
|
+
for (const [key, value] of Object.entries(itemsData)) {
|
|
46
|
+
items[key] = Item.fromRawData(value);
|
|
47
|
+
}
|
|
48
|
+
return items;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export const Items = Item.loadItems();
|
|
52
|
+
//# sourceMappingURL=items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"items.js","sourceRoot":"","sources":["../../src/daos/items.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import materialsData from "../../data/materials.json";
|
|
2
|
+
import { Rarity } from "../types/Rarity";
|
|
3
|
+
export declare class Material {
|
|
4
|
+
id: string;
|
|
5
|
+
rarity: Rarity;
|
|
6
|
+
category: string;
|
|
7
|
+
required?: Map<Material, number>;
|
|
8
|
+
requiredRank?: string;
|
|
9
|
+
constructor(id: string, rarity: Rarity, category: string, requiredRank?: string);
|
|
10
|
+
static fromRawData(key: string, rawData: any): Material;
|
|
11
|
+
static updateMaterialWithRequired(key: string, rawData: any, materials: Record<string, Material>): void;
|
|
12
|
+
static loadMaterials(): Record<string, Material>;
|
|
13
|
+
}
|
|
14
|
+
export type Materials = {
|
|
15
|
+
[K in keyof typeof materialsData]: Material;
|
|
16
|
+
};
|
|
17
|
+
export declare const Materials: Materials;
|
|
18
|
+
//# sourceMappingURL=materials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/daos/materials.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,qBAAa,QAAQ;IACjB,EAAE,EAAG,MAAM,CAAC;IACZ,MAAM,EAAG,MAAM,CAAC;IAChB,QAAQ,EAAG,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEV,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;WAOjE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,QAAQ;WAShD,0BAA0B,CAAC,GAAG,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;WAYvF,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;CAa1D;AAED,MAAM,MAAM,SAAS,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,aAAa,GAAG,QAAQ;CAC9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAiD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import materialsData from "../../data/materials.json";
|
|
2
|
+
export class Material {
|
|
3
|
+
constructor(id, rarity, category, requiredRank) {
|
|
4
|
+
this.id = id;
|
|
5
|
+
this.rarity = rarity;
|
|
6
|
+
this.category = category;
|
|
7
|
+
this.requiredRank = requiredRank;
|
|
8
|
+
}
|
|
9
|
+
static fromRawData(key, rawData) {
|
|
10
|
+
return new Material(key, rawData.rarity, rawData.category, rawData.requiredRank ?? undefined);
|
|
11
|
+
}
|
|
12
|
+
static updateMaterialWithRequired(key, rawData, materials) {
|
|
13
|
+
if (!rawData.raw)
|
|
14
|
+
return;
|
|
15
|
+
const required = new Map();
|
|
16
|
+
for (const [requiredKey, quantity] of Object.entries(rawData.raw)) {
|
|
17
|
+
const requiredMaterial = materials[requiredKey];
|
|
18
|
+
if (requiredMaterial) {
|
|
19
|
+
required.set(requiredMaterial, quantity);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
materials[key].required = required;
|
|
23
|
+
}
|
|
24
|
+
static loadMaterials() {
|
|
25
|
+
const materials = {};
|
|
26
|
+
// Load all materials without their required materials
|
|
27
|
+
for (const [key, value] of Object.entries(materialsData)) {
|
|
28
|
+
materials[key] = Material.fromRawData(key, value);
|
|
29
|
+
}
|
|
30
|
+
// Load the required materials for each material
|
|
31
|
+
for (const [key, value] of Object.entries(materialsData)) {
|
|
32
|
+
Material.updateMaterialWithRequired(key, value, materials);
|
|
33
|
+
}
|
|
34
|
+
return materials;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export const Materials = Material.loadMaterials();
|
|
38
|
+
//# sourceMappingURL=materials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/daos/materials.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAGtD,MAAM,OAAO,QAAQ;IAOjB,YAAY,EAAU,EAAE,MAAc,EAAE,QAAgB,EAAE,YAAqB;QAC3E,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,OAAY;QAC3C,OAAO,IAAI,QAAQ,CACf,GAAG,EACH,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,IAAI,SAAS,CACpC,CAAC;IACN,CAAC;IAEE,MAAM,CAAC,0BAA0B,CAAC,GAAU,EAAE,OAAW,EAAE,SAAmC;QACjG,IAAG,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO;QACxB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC7C,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,gBAAgB,EAAE,CAAC;gBACnB,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAkB,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,sDAAsD;QACtD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAMD,MAAM,CAAC,MAAM,SAAS,GAAc,QAAQ,CAAC,aAAa,EAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import seasonsData from "../../data/seasons.json";
|
|
2
|
+
export declare class Season {
|
|
3
|
+
readonly index: number;
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly startDate: Date;
|
|
6
|
+
readonly endDate: Date;
|
|
7
|
+
readonly color: string;
|
|
8
|
+
constructor(index: number, id: string, startDate: Date, endDate: Date, color: string);
|
|
9
|
+
static loadSeasons(): Record<string, Season>;
|
|
10
|
+
}
|
|
11
|
+
export type Seasons = {
|
|
12
|
+
[K in keyof typeof seasonsData]: Season;
|
|
13
|
+
};
|
|
14
|
+
export declare const Seasons: Seasons;
|
|
15
|
+
//# sourceMappingURL=seasons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seasons.d.ts","sourceRoot":"","sources":["../../src/daos/seasons.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,qBAAa,MAAM;aAEK,KAAK,EAAE,MAAM;aACb,EAAE,EAAE,MAAM;aACV,SAAS,EAAE,IAAI;aACf,OAAO,EAAE,IAAI;aACb,KAAK,EAAE,MAAM;gBAJb,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,MAAM;WAGnB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAatD;AAED,MAAM,MAAM,OAAO,GAAG;KACjB,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG,MAAM;CAC1C,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,OAAyC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import seasonsData from "../../data/seasons.json";
|
|
2
|
+
export class Season {
|
|
3
|
+
constructor(index, id, startDate, endDate, color) {
|
|
4
|
+
this.index = index;
|
|
5
|
+
this.id = id;
|
|
6
|
+
this.startDate = startDate;
|
|
7
|
+
this.endDate = endDate;
|
|
8
|
+
this.color = color;
|
|
9
|
+
}
|
|
10
|
+
static loadSeasons() {
|
|
11
|
+
const seasons = {};
|
|
12
|
+
for (const [key, value] of Object.entries(seasonsData)) {
|
|
13
|
+
seasons[key] = new Season(value.index, value.id, new Date(value.startDate), new Date(value.endDate), value.color);
|
|
14
|
+
}
|
|
15
|
+
return seasons;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const Seasons = Season.loadSeasons();
|
|
19
|
+
//# sourceMappingURL=seasons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seasons.js","sourceRoot":"","sources":["../../src/daos/seasons.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,MAAM,OAAO,MAAM;IACf,YACoB,KAAa,EACb,EAAU,EACV,SAAe,EACf,OAAa,EACb,KAAa;QAJb,UAAK,GAAL,KAAK,CAAQ;QACb,OAAE,GAAF,EAAE,CAAQ;QACV,cAAS,GAAT,SAAS,CAAM;QACf,YAAO,GAAP,OAAO,CAAM;QACb,UAAK,GAAL,KAAK,CAAQ;IAC9B,CAAC;IAEG,MAAM,CAAC,WAAW;QACrB,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CACrB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,EAAE,EACR,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EACzB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EACvB,KAAK,CAAC,KAAK,CACd,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAMD,MAAM,CAAC,MAAM,OAAO,GAAY,MAAM,CAAC,WAAW,EAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sets.d.ts","sourceRoot":"","sources":["../../src/daos/sets.ts"],"names":[],"mappings":"AAGA,qBAAa,GAAG;aAEQ,EAAE,EAAE,MAAM;gBAAV,EAAE,EAAE,MAAM;WAGhB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG;WAM9B,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAUhD;AAID,eAAO,MAAM,IAAI,qBAAiB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import cosmeticsData from '../../data/cosmetics.json';
|
|
2
|
+
export class Set {
|
|
3
|
+
constructor(id) {
|
|
4
|
+
this.id = id;
|
|
5
|
+
}
|
|
6
|
+
static fromRawData(rawData) {
|
|
7
|
+
return new Set(rawData.set);
|
|
8
|
+
}
|
|
9
|
+
static loadSets() {
|
|
10
|
+
const sets = {};
|
|
11
|
+
for (const [key, value] of Object.entries(cosmeticsData)) {
|
|
12
|
+
const cosmetic = value;
|
|
13
|
+
const set = cosmetic.set;
|
|
14
|
+
if (!set || sets[set])
|
|
15
|
+
continue;
|
|
16
|
+
sets[set] = Set.fromRawData(value);
|
|
17
|
+
}
|
|
18
|
+
return sets;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// TODO: Add auto completion for set names
|
|
22
|
+
export const Sets = Set.loadSets();
|
|
23
|
+
//# sourceMappingURL=sets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sets.js","sourceRoot":"","sources":["../../src/daos/sets.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAGtD,MAAM,OAAO,GAAG;IACZ,YACoB,EAAU;QAAV,OAAE,GAAF,EAAE,CAAQ;IAC3B,CAAC;IAEG,MAAM,CAAC,WAAW,CAAC,OAAY;QAClC,OAAO,IAAI,GAAG,CACV,OAAO,CAAC,GAAG,CACd,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,QAAQ;QAClB,MAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAiB,CAAC;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAyB,CAAC;YAC/C,IAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,0CAA0C;AAE1C,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import shipsData from '../../data/ships.json';
|
|
2
|
+
import { ShipSize, SlotWithGunports } from '../types/ShipProperties';
|
|
3
|
+
import { Season } from './seasons';
|
|
4
|
+
export declare class Ship {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly size: ShipSize;
|
|
7
|
+
readonly type: string;
|
|
8
|
+
readonly blueprint: string | string[] | undefined;
|
|
9
|
+
readonly season: Season | undefined;
|
|
10
|
+
readonly hitpoints: number;
|
|
11
|
+
readonly braceStrength: number;
|
|
12
|
+
readonly braceStrengthRecovery: number;
|
|
13
|
+
readonly stamina: number | undefined;
|
|
14
|
+
readonly baseRank: number;
|
|
15
|
+
readonly requiredRank: string | undefined;
|
|
16
|
+
readonly contact: string | undefined;
|
|
17
|
+
readonly sailSpeed: {
|
|
18
|
+
halfSail: number;
|
|
19
|
+
fullSail: number;
|
|
20
|
+
travelSail: number;
|
|
21
|
+
};
|
|
22
|
+
readonly cargo: {
|
|
23
|
+
cargoSlots: number;
|
|
24
|
+
cargoMaxWeight: number;
|
|
25
|
+
};
|
|
26
|
+
readonly required: Record<string, number> | undefined;
|
|
27
|
+
readonly slots: {
|
|
28
|
+
attachement?: number;
|
|
29
|
+
frontWeapon?: SlotWithGunports;
|
|
30
|
+
leftSideWeapon?: SlotWithGunports;
|
|
31
|
+
rightSideWeapon?: SlotWithGunports;
|
|
32
|
+
aftWeapon?: SlotWithGunports;
|
|
33
|
+
auxiliaryWeapon?: number;
|
|
34
|
+
furniture?: number;
|
|
35
|
+
};
|
|
36
|
+
readonly perks: string[];
|
|
37
|
+
readonly dateAdded: Date;
|
|
38
|
+
readonly lastUpdated: Date;
|
|
39
|
+
constructor(id: string, size: ShipSize, type: string, blueprint: string | string[] | undefined, season: Season | undefined, hitpoints: number, braceStrength: number, braceStrengthRecovery: number, stamina: number | undefined, baseRank: number, requiredRank: string | undefined, contact: string | undefined, sailSpeed: {
|
|
40
|
+
halfSail: number;
|
|
41
|
+
fullSail: number;
|
|
42
|
+
travelSail: number;
|
|
43
|
+
}, cargo: {
|
|
44
|
+
cargoSlots: number;
|
|
45
|
+
cargoMaxWeight: number;
|
|
46
|
+
}, required: Record<string, number> | undefined, slots: {
|
|
47
|
+
attachement?: number;
|
|
48
|
+
frontWeapon?: SlotWithGunports;
|
|
49
|
+
leftSideWeapon?: SlotWithGunports;
|
|
50
|
+
rightSideWeapon?: SlotWithGunports;
|
|
51
|
+
aftWeapon?: SlotWithGunports;
|
|
52
|
+
auxiliaryWeapon?: number;
|
|
53
|
+
furniture?: number;
|
|
54
|
+
}, perks: string[], dateAdded: Date, lastUpdated: Date);
|
|
55
|
+
static fromRawData(rawData: any): Ship;
|
|
56
|
+
static loadShips(): Record<string, Ship>;
|
|
57
|
+
}
|
|
58
|
+
export type Ships = {
|
|
59
|
+
[K in keyof typeof shipsData]: Ship;
|
|
60
|
+
};
|
|
61
|
+
export declare const Ships: Ships;
|
|
62
|
+
//# sourceMappingURL=ships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ships.d.ts","sourceRoot":"","sources":["../../src/daos/ships.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import shipsData from '../../data/ships.json';
|
|
2
|
+
import { Seasons } from './seasons';
|
|
3
|
+
export class Ship {
|
|
4
|
+
constructor(id, size, type, blueprint, season, hitpoints, braceStrength, braceStrengthRecovery, stamina, baseRank, requiredRank, contact, sailSpeed, cargo, required, slots, perks, dateAdded, lastUpdated) {
|
|
5
|
+
this.id = id;
|
|
6
|
+
this.size = size;
|
|
7
|
+
this.type = type;
|
|
8
|
+
this.blueprint = blueprint;
|
|
9
|
+
this.season = season;
|
|
10
|
+
this.hitpoints = hitpoints;
|
|
11
|
+
this.braceStrength = braceStrength;
|
|
12
|
+
this.braceStrengthRecovery = braceStrengthRecovery;
|
|
13
|
+
this.stamina = stamina;
|
|
14
|
+
this.baseRank = baseRank;
|
|
15
|
+
this.requiredRank = requiredRank;
|
|
16
|
+
this.contact = contact;
|
|
17
|
+
this.sailSpeed = sailSpeed;
|
|
18
|
+
this.cargo = cargo;
|
|
19
|
+
this.required = required;
|
|
20
|
+
this.slots = slots;
|
|
21
|
+
this.perks = perks;
|
|
22
|
+
this.dateAdded = dateAdded;
|
|
23
|
+
this.lastUpdated = lastUpdated;
|
|
24
|
+
}
|
|
25
|
+
// Static method to create a Ship instance from raw data
|
|
26
|
+
static fromRawData(rawData) {
|
|
27
|
+
const season = rawData.season;
|
|
28
|
+
return new Ship(rawData.id, rawData.size, rawData.type, rawData.blueprint ?? undefined, season ? Seasons[season] : undefined, rawData.hitpoints, rawData.braceStrength, rawData.braceStrengthRecovery, rawData.stamina ?? undefined, rawData.baseRank, rawData.requiredRank ?? undefined, rawData.contact ?? undefined, rawData.sailSpeed, rawData.cargo, rawData.required, {
|
|
29
|
+
attachement: rawData.slots.attachement ?? undefined,
|
|
30
|
+
frontWeapon: rawData.slots.frontWeapon ?? undefined,
|
|
31
|
+
leftSideWeapon: rawData.slots.leftSideWeapon ?? undefined,
|
|
32
|
+
rightSideWeapon: rawData.slots.rightSideWeapon ?? undefined,
|
|
33
|
+
aftWeapon: rawData.slots.aftWeapon ?? undefined,
|
|
34
|
+
auxiliaryWeapon: rawData.slots.auxiliaryWeapon ?? undefined,
|
|
35
|
+
furniture: rawData.slots.furniture ?? undefined,
|
|
36
|
+
}, rawData.perks, new Date(rawData.dateAdded), new Date(rawData.lastUpdated));
|
|
37
|
+
}
|
|
38
|
+
// Static method to load all ships from the JSON data
|
|
39
|
+
static loadShips() {
|
|
40
|
+
const ships = {};
|
|
41
|
+
for (const [key, value] of Object.entries(shipsData)) {
|
|
42
|
+
ships[key] = Ship.fromRawData(value);
|
|
43
|
+
}
|
|
44
|
+
return ships;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const Ships = Ship.loadShips();
|
|
48
|
+
//# sourceMappingURL=ships.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ships.js","sourceRoot":"","sources":["../../src/daos/ships.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Seasons } from "./daos/seasons";
|
|
2
|
+
export { Ships } from "./daos/ships";
|
|
3
|
+
export { Materials } from "./daos/materials";
|
|
4
|
+
export { Commodities } from "./daos/commodities";
|
|
5
|
+
export { Cosmetics } from "./daos/cosmetics";
|
|
6
|
+
export { Items } from "./daos/items";
|
|
7
|
+
export { Sets } from "./daos/sets";
|
|
8
|
+
export { Rarity } from "./types/Rarity";
|
|
9
|
+
export { ShipSize } from "./types/ShipProperties";
|
|
10
|
+
export { Effect } from "./types/CosmeticProperties";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// DAOs
|
|
2
|
+
export { Seasons } from "./daos/seasons";
|
|
3
|
+
export { Ships } from "./daos/ships";
|
|
4
|
+
export { Materials } from "./daos/materials";
|
|
5
|
+
export { Commodities } from "./daos/commodities";
|
|
6
|
+
export { Cosmetics } from "./daos/cosmetics";
|
|
7
|
+
export { Items } from "./daos/items";
|
|
8
|
+
export { Sets } from "./daos/sets";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
|