@skullandbonestools/snbdata 5.0.4 → 5.0.6

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/data/items.json CHANGED
@@ -6078,6 +6078,13 @@
6078
6078
  "upgradeParts": 3,
6079
6079
  "piecesOfEight": 3000
6080
6080
  },
6081
+ "damageMitigation": {
6082
+ "explosive": 0,
6083
+ "flooding": 0.05,
6084
+ "fire": 0,
6085
+ "tearing": 0,
6086
+ "piercing": 0.03
6087
+ },
6081
6088
  "perks": ["bedarUpgrade4", "riverRat"],
6082
6089
  "dateAdded": "2024-06-11",
6083
6090
  "lastUpdated": "2024-06-15"
@@ -6089,6 +6096,13 @@
6089
6096
  "value": 1,
6090
6097
  "required": {
6091
6098
  },
6099
+ "damageMitigation": {
6100
+ "explosive": 0,
6101
+ "flooding": 0.10,
6102
+ "fire": 0,
6103
+ "tearing": 0,
6104
+ "piercing": 0.05
6105
+ },
6092
6106
  "perks": ["bedarUpgrade5"],
6093
6107
  "dateAdded": "2024-06-11",
6094
6108
  "lastUpdated": "2024-06-15"
@@ -6100,6 +6114,13 @@
6100
6114
  "value": 1,
6101
6115
  "required": {
6102
6116
  },
6117
+ "damageMitigation": {
6118
+ "explosive": 0,
6119
+ "flooding": 0.15,
6120
+ "fire": 0,
6121
+ "tearing": 0,
6122
+ "piercing": 0.10
6123
+ },
6103
6124
  "perks": ["bedarUpgrade6", "jousting"],
6104
6125
  "dateAdded": "2024-06-11",
6105
6126
  "lastUpdated": "2024-06-15"
@@ -6115,6 +6136,13 @@
6115
6136
  "piecesOfEight": 12000,
6116
6137
  "silver": 50000
6117
6138
  },
6139
+ "damageMitigation": {
6140
+ "explosive": 0,
6141
+ "flooding": 0.20,
6142
+ "fire": 0,
6143
+ "tearing": 0,
6144
+ "piercing": 0.15
6145
+ },
6118
6146
  "perks": ["bedarUpgrade7"],
6119
6147
  "dateAdded": "2025-04-15",
6120
6148
  "lastUpdated": "2025-04-15"
@@ -6159,6 +6187,14 @@
6159
6187
  "value": 1,
6160
6188
  "required": {
6161
6189
  },
6190
+ "damageMitigation": {
6191
+ "explosive": 0,
6192
+ "flooding": 0,
6193
+ "fire": 0.03,
6194
+ "tearing": 0,
6195
+ "piercing": 0.03,
6196
+ "electric": 0.03
6197
+ },
6162
6198
  "perks": ["hulkUpgrade4", "riverRat"],
6163
6199
  "dateAdded": "2024-06-11",
6164
6200
  "lastUpdated": "2024-06-15"
@@ -6170,6 +6206,14 @@
6170
6206
  "value": 1,
6171
6207
  "required": {
6172
6208
  },
6209
+ "damageMitigation": {
6210
+ "explosive": 0,
6211
+ "flooding": 0,
6212
+ "fire": 0.05,
6213
+ "tearing": 0,
6214
+ "piercing": 0.05,
6215
+ "electric": 0.05
6216
+ },
6173
6217
  "perks": ["hulkUpgrade5"],
6174
6218
  "dateAdded": "2024-06-11",
6175
6219
  "lastUpdated": "2024-06-15"
@@ -6181,6 +6225,14 @@
6181
6225
  "value": 1,
6182
6226
  "required": {
6183
6227
  },
6228
+ "damageMitigation": {
6229
+ "explosive": 0.05,
6230
+ "flooding": 0.05,
6231
+ "fire": 0.10,
6232
+ "tearing": 0,
6233
+ "piercing": 0.10,
6234
+ "electric": 0.10
6235
+ },
6184
6236
  "perks": ["hulkUpgrade6", "ironwill"],
6185
6237
  "dateAdded": "2024-06-11",
6186
6238
  "lastUpdated": "2024-06-11"
@@ -6199,6 +6251,14 @@
6199
6251
  "piecesOfEight": 12000,
6200
6252
  "silver": 50000
6201
6253
  },
6254
+ "damageMitigation": {
6255
+ "explosive": 0.05,
6256
+ "flooding": 0.05,
6257
+ "fire": 0.20,
6258
+ "tearing": 0,
6259
+ "piercing": 0.15,
6260
+ "electric": 0.15
6261
+ },
6202
6262
  "perks": ["hulkUpgrade7"],
6203
6263
  "dateAdded": "2025-04-15",
6204
6264
  "lastUpdated": "2025-04-15"
@@ -6255,6 +6315,14 @@
6255
6315
  "value": 1,
6256
6316
  "required": {
6257
6317
  },
6318
+ "damageMitigation": {
6319
+ "explosive": 0,
6320
+ "flooding": 0.02,
6321
+ "fire": 0,
6322
+ "tearing": 0,
6323
+ "piercing": 0.03,
6324
+ "electric": 0.02
6325
+ },
6258
6326
  "perks": ["cutterUpgrade4", "riverRat"],
6259
6327
  "dateAdded": "2024-06-11",
6260
6328
  "lastUpdated": "2024-06-15"
@@ -6266,6 +6334,14 @@
6266
6334
  "value": 1,
6267
6335
  "required": {
6268
6336
  },
6337
+ "damageMitigation": {
6338
+ "explosive": 0,
6339
+ "flooding": 0.05,
6340
+ "fire": 0,
6341
+ "tearing": 0,
6342
+ "piercing": 0.05,
6343
+ "electric": 0.05
6344
+ },
6269
6345
  "perks": ["cutterUpgrade5"],
6270
6346
  "dateAdded": "2024-06-11",
6271
6347
  "lastUpdated": "2024-06-15"
@@ -6277,6 +6353,14 @@
6277
6353
  "value": 1,
6278
6354
  "required": {
6279
6355
  },
6356
+ "damageMitigation": {
6357
+ "explosive": 0,
6358
+ "flooding": 0.10,
6359
+ "fire": 0,
6360
+ "tearing": 0,
6361
+ "piercing": 0.10,
6362
+ "electric": 0.10
6363
+ },
6280
6364
  "perks": ["cutterUpgrade6", "unsparing"],
6281
6365
  "dateAdded": "2024-06-11",
6282
6366
  "lastUpdated": "2024-06-23"
@@ -6292,6 +6376,14 @@
6292
6376
  "piecesOfEight": 12000,
6293
6377
  "silver": 12000
6294
6378
  },
6379
+ "damageMitigation": {
6380
+ "explosive": 0,
6381
+ "flooding": 0.15,
6382
+ "fire": 0,
6383
+ "tearing": 0,
6384
+ "piercing": 0.20,
6385
+ "electric": 0.15
6386
+ },
6295
6387
  "perks": ["cutterUpgrade7"],
6296
6388
  "dateAdded": "2025-04-15",
6297
6389
  "lastUpdated": "2025-04-15"
@@ -6348,6 +6440,14 @@
6348
6440
  "value": 1,
6349
6441
  "required": {
6350
6442
  },
6443
+ "damageMitigation": {
6444
+ "explosive": 0,
6445
+ "flooding": 0.03,
6446
+ "fire": 0.05,
6447
+ "tearing": 0,
6448
+ "piercing": 0,
6449
+ "electric": 0
6450
+ },
6351
6451
  "perks": ["bargeUpgrade4", "riverRat"],
6352
6452
  "dateAdded": "2024-06-11",
6353
6453
  "lastUpdated": "2024-06-23"
@@ -6359,6 +6459,14 @@
6359
6459
  "value": 1,
6360
6460
  "required": {
6361
6461
  },
6462
+ "damageMitigation": {
6463
+ "explosive": 0,
6464
+ "flooding": 0.05,
6465
+ "fire": 0.10,
6466
+ "tearing": 0,
6467
+ "piercing": 0,
6468
+ "electric": 0
6469
+ },
6362
6470
  "perks": ["bargeUpgrade5"],
6363
6471
  "dateAdded": "2024-06-11",
6364
6472
  "lastUpdated": "2024-06-23"
@@ -6370,6 +6478,14 @@
6370
6478
  "value": 1,
6371
6479
  "required": {
6372
6480
  },
6481
+ "damageMitigation": {
6482
+ "explosive": 0,
6483
+ "flooding": 0.10,
6484
+ "fire": 0.15,
6485
+ "tearing": 0,
6486
+ "piercing": 0,
6487
+ "electric": 0
6488
+ },
6373
6489
  "perks": ["bargeUpgrade6", "devouring"],
6374
6490
  "dateAdded": "2024-06-11",
6375
6491
  "lastUpdated": "2024-06-23"
@@ -6388,6 +6504,14 @@
6388
6504
  "piecesOfEight": 12000,
6389
6505
  "silver": 12000
6390
6506
  },
6507
+ "damageMitigation": {
6508
+ "explosive": 0,
6509
+ "flooding": 0.15,
6510
+ "fire": 0.20,
6511
+ "tearing": 0,
6512
+ "piercing": 0,
6513
+ "electric": 0
6514
+ },
6391
6515
  "perks": ["bargeUpgrade7"],
6392
6516
  "dateAdded": "2025-04-15",
6393
6517
  "lastUpdated": "2025-04-15"
@@ -6432,6 +6556,14 @@
6432
6556
  "value": 1,
6433
6557
  "required": {
6434
6558
  },
6559
+ "damageMitigation": {
6560
+ "explosive": 0.05,
6561
+ "flooding": 0,
6562
+ "fire": 0,
6563
+ "tearing": 0,
6564
+ "piercing": 0.03,
6565
+ "electric": 0
6566
+ },
6435
6567
  "perks": ["sloopUpgrade4", "riverRat"],
6436
6568
  "dateAdded": "2024-06-11",
6437
6569
  "lastUpdated": "2024-06-23"
@@ -6443,6 +6575,14 @@
6443
6575
  "value": 1,
6444
6576
  "required": {
6445
6577
  },
6578
+ "damageMitigation": {
6579
+ "explosive": 0.10,
6580
+ "flooding": 0,
6581
+ "fire": 0,
6582
+ "tearing": 0,
6583
+ "piercing": 0.05,
6584
+ "electric": 0
6585
+ },
6446
6586
  "perks": ["sloopUpgrade5"],
6447
6587
  "dateAdded": "2024-06-11",
6448
6588
  "lastUpdated": "2024-06-23"
@@ -6454,6 +6594,14 @@
6454
6594
  "value": 1,
6455
6595
  "required": {
6456
6596
  },
6597
+ "damageMitigation": {
6598
+ "explosive": 0.15,
6599
+ "flooding": 0,
6600
+ "fire": 0,
6601
+ "tearing": 0,
6602
+ "piercing": 0.10,
6603
+ "electric": 0
6604
+ },
6457
6605
  "perks": ["sloopUpgrade6", "ruin"],
6458
6606
  "dateAdded": "2024-06-11",
6459
6607
  "lastUpdated": "2024-06-23"
@@ -6472,6 +6620,14 @@
6472
6620
  "piecesOfEight": 12000,
6473
6621
  "silver": 50000
6474
6622
  },
6623
+ "damageMitigation": {
6624
+ "explosive": 0.20,
6625
+ "flooding": 0,
6626
+ "fire": 0,
6627
+ "tearing": 0,
6628
+ "piercing": 0.15,
6629
+ "electric": 0
6630
+ },
6475
6631
  "perks": ["sloopUpgrade7"],
6476
6632
  "dateAdded": "2025-04-15",
6477
6633
  "lastUpdated": "2025-04-15"
@@ -6532,6 +6688,14 @@
6532
6688
  "upgradeParts": 5,
6533
6689
  "piecesOfEight": 4000
6534
6690
  },
6691
+ "damageMitigation": {
6692
+ "explosive": 0.05,
6693
+ "flooding": 0,
6694
+ "fire": 0.03,
6695
+ "tearing": 0,
6696
+ "piercing": 0,
6697
+ "electric": 0
6698
+ },
6535
6699
  "perks": ["padewakangUpgrade4"],
6536
6700
  "dateAdded": "2024-06-11",
6537
6701
  "lastUpdated": "2025-04-15"
@@ -6545,6 +6709,14 @@
6545
6709
  "upgradeParts": 5,
6546
6710
  "piecesOfEight": 6500
6547
6711
  },
6712
+ "damageMitigation": {
6713
+ "explosive": 0.10,
6714
+ "flooding": 0,
6715
+ "fire": 0.05,
6716
+ "tearing": 0,
6717
+ "piercing": 0,
6718
+ "electric": 0
6719
+ },
6548
6720
  "perks": ["padewakangUpgrade5"],
6549
6721
  "dateAdded": "2024-06-11",
6550
6722
  "lastUpdated": "2025-04-15"
@@ -6558,6 +6730,14 @@
6558
6730
  "upgradeParts": 6,
6559
6731
  "piecesOfEight": 10000
6560
6732
  },
6733
+ "damageMitigation": {
6734
+ "explosive": 0.15,
6735
+ "flooding": 0,
6736
+ "fire": 0.10,
6737
+ "tearing": 0,
6738
+ "piercing": 0,
6739
+ "electric": 0
6740
+ },
6561
6741
  "perks": ["padewakangUpgrade6", "padewakangSiegeUpgrade"],
6562
6742
  "dateAdded": "2024-06-11",
6563
6743
  "lastUpdated": "2025-04-15"
@@ -6573,6 +6753,14 @@
6573
6753
  "piecesOfEight": 15000,
6574
6754
  "silver": 50000
6575
6755
  },
6756
+ "damageMitigation": {
6757
+ "explosive": 0.20,
6758
+ "flooding": 0,
6759
+ "fire": 0.15,
6760
+ "tearing": 0,
6761
+ "piercing": 0,
6762
+ "electric": 0
6763
+ },
6576
6764
  "perks": ["padewakangUpgrade7"],
6577
6765
  "dateAdded": "2025-04-15",
6578
6766
  "lastUpdated": "2025-04-15"
@@ -6633,6 +6821,14 @@
6633
6821
  "upgradeParts": 5,
6634
6822
  "piecesOfEight": 4000
6635
6823
  },
6824
+ "damageMitigation": {
6825
+ "explosive": 0.03,
6826
+ "flooding": 0.03,
6827
+ "fire": 0,
6828
+ "tearing": 0,
6829
+ "piercing": 0.03,
6830
+ "electric": 0
6831
+ },
6636
6832
  "perks": ["snowUpgrade4"],
6637
6833
  "dateAdded": "2024-06-11",
6638
6834
  "lastUpdated": "2025-04-15"
@@ -6646,6 +6842,14 @@
6646
6842
  "upgradeParts": 5,
6647
6843
  "piecesOfEight": 6500
6648
6844
  },
6845
+ "damageMitigation": {
6846
+ "explosive": 0.05,
6847
+ "flooding": 0.05,
6848
+ "fire": 0,
6849
+ "tearing": 0,
6850
+ "piercing": 0.05,
6851
+ "electric": 0
6852
+ },
6649
6853
  "perks": ["snowUpgrade5"],
6650
6854
  "dateAdded": "2024-06-11",
6651
6855
  "lastUpdated": "2025-04-15"
@@ -6659,6 +6863,14 @@
6659
6863
  "upgradeParts": 6,
6660
6864
  "piecesOfEight": 10000
6661
6865
  },
6866
+ "damageMitigation": {
6867
+ "explosive": 0.10,
6868
+ "flooding": 0.10,
6869
+ "fire": 0.05,
6870
+ "tearing": 0,
6871
+ "piercing": 0.10,
6872
+ "electric": 0.05
6873
+ },
6662
6874
  "perks": ["snowUpgrade6", "vindictive"],
6663
6875
  "dateAdded": "2024-06-11",
6664
6876
  "lastUpdated": "2025-04-15"
@@ -6678,6 +6890,14 @@
6678
6890
  "orcasMechanism": 5,
6679
6891
  "masterworkKit": 1
6680
6892
  },
6893
+ "damageMitigation": {
6894
+ "explosive": 0.15,
6895
+ "flooding": 0.15,
6896
+ "fire": 0.05,
6897
+ "tearing": 0,
6898
+ "piercing": 0.20,
6899
+ "electric": 0.05
6900
+ },
6681
6901
  "perks": ["snowUpgrade7"],
6682
6902
  "dateAdded": "2025-04-15",
6683
6903
  "lastUpdated": "2025-04-15"
@@ -6738,6 +6958,14 @@
6738
6958
  "upgradeParts": 5,
6739
6959
  "piecesOfEight": 4000
6740
6960
  },
6961
+ "damageMitigation": {
6962
+ "explosive": 0,
6963
+ "flooding": 0.05,
6964
+ "fire": 0.03,
6965
+ "tearing": 0,
6966
+ "piercing": 0,
6967
+ "electric": 0
6968
+ },
6741
6969
  "perks": ["brigantineUpgrade4"],
6742
6970
  "dateAdded": "2024-06-11",
6743
6971
  "lastUpdated": "2025-04-15"
@@ -6751,6 +6979,14 @@
6751
6979
  "upgradeParts": 5,
6752
6980
  "piecesOfEight": 6500
6753
6981
  },
6982
+ "damageMitigation": {
6983
+ "explosive": 0,
6984
+ "flooding": 0.10,
6985
+ "fire": 0.05,
6986
+ "tearing": 0,
6987
+ "piercing": 0,
6988
+ "electric": 0
6989
+ },
6754
6990
  "perks": ["brigantineUpgrade5"],
6755
6991
  "dateAdded": "2024-06-11",
6756
6992
  "lastUpdated": "2025-04-15"
@@ -6764,6 +7000,14 @@
6764
7000
  "upgradeParts": 6,
6765
7001
  "piecesOfEight": 10000
6766
7002
  },
7003
+ "damageMitigation": {
7004
+ "explosive": 0,
7005
+ "flooding": 0.15,
7006
+ "fire": 0.10,
7007
+ "tearing": 0,
7008
+ "piercing": 0,
7009
+ "electric": 0
7010
+ },
6767
7011
  "perks": ["brigantineUpgrade6", "headstrong"],
6768
7012
  "dateAdded": "2024-06-11",
6769
7013
  "lastUpdated": "2025-04-15"
@@ -6783,6 +7027,14 @@
6783
7027
  "masterworkKit": 1,
6784
7028
  "gannetsSaltpeter": 5
6785
7029
  },
7030
+ "damageMitigation": {
7031
+ "explosive": 0,
7032
+ "flooding": 0.20,
7033
+ "fire": 0.15,
7034
+ "tearing": 0,
7035
+ "piercing": 0,
7036
+ "electric": 0
7037
+ },
6786
7038
  "perks": ["brigantineUpgrade7"],
6787
7039
  "dateAdded": "2025-04-15",
6788
7040
  "lastUpdated": "2025-04-15"
@@ -6835,6 +7087,14 @@
6835
7087
  "upgradeParts": 5,
6836
7088
  "piecesOfEight": 4000
6837
7089
  },
7090
+ "damageMitigation": {
7091
+ "explosive": 0,
7092
+ "flooding": 0,
7093
+ "fire": 0.03,
7094
+ "tearing": 0,
7095
+ "piercing": 0,
7096
+ "electric": 0.03
7097
+ },
6838
7098
  "perks": ["sambukUpgrade4"],
6839
7099
  "dateAdded": "2024-06-11",
6840
7100
  "lastUpdated": "2025-04-15"
@@ -6848,6 +7108,14 @@
6848
7108
  "upgradeParts": 5,
6849
7109
  "piecesOfEight": 6500
6850
7110
  },
7111
+ "damageMitigation": {
7112
+ "explosive": 0,
7113
+ "flooding": 0,
7114
+ "fire": 0.10,
7115
+ "tearing": 0,
7116
+ "piercing": 0,
7117
+ "electric": 0.05
7118
+ },
6851
7119
  "perks": ["sambukUpgrade5"],
6852
7120
  "dateAdded": "2024-06-11",
6853
7121
  "lastUpdated": "2025-04-15"
@@ -6861,6 +7129,14 @@
6861
7129
  "upgradeParts": 6,
6862
7130
  "piecesOfEight": 10000
6863
7131
  },
7132
+ "damageMitigation": {
7133
+ "explosive": 0,
7134
+ "flooding": 0,
7135
+ "fire": 0.15,
7136
+ "tearing": 0,
7137
+ "piercing": 0,
7138
+ "electric": 0.10
7139
+ },
6864
7140
  "perks": ["sambukUpgrade6", "firebug"],
6865
7141
  "dateAdded": "2024-06-11",
6866
7142
  "lastUpdated": "2025-04-15"
@@ -6880,6 +7156,14 @@
6880
7156
  "eelsTwine": 7,
6881
7157
  "masterworkKit": 1
6882
7158
  },
7159
+ "damageMitigation": {
7160
+ "explosive": 0,
7161
+ "flooding": 0,
7162
+ "fire": 0.20,
7163
+ "tearing": 0,
7164
+ "piercing": 0,
7165
+ "electric": 0.15
7166
+ },
6883
7167
  "perks": ["sambukUpgrade7"],
6884
7168
  "dateAdded": "2025-04-15",
6885
7169
  "lastUpdated": "2025-04-15"
@@ -6932,6 +7216,14 @@
6932
7216
  "upgradeParts": 5,
6933
7217
  "piecesOfEight": 4000
6934
7218
  },
7219
+ "damageMitigation": {
7220
+ "explosive": 0.02,
7221
+ "flooding": 0,
7222
+ "fire": 0.02,
7223
+ "tearing": 0,
7224
+ "piercing": 0,
7225
+ "electric": 0.03
7226
+ },
6935
7227
  "perks": ["barqueUpgrade4"],
6936
7228
  "dateAdded": "2024-06-11",
6937
7229
  "lastUpdated": "2025-04-15"
@@ -6945,6 +7237,14 @@
6945
7237
  "upgradeParts": 5,
6946
7238
  "piecesOfEight": 6500
6947
7239
  },
7240
+ "damageMitigation": {
7241
+ "explosive": 0.05,
7242
+ "flooding": 0,
7243
+ "fire": 0.05,
7244
+ "tearing": 0,
7245
+ "piercing": 0,
7246
+ "electric": 0.05
7247
+ },
6948
7248
  "perks": ["barqueUpgrade5"],
6949
7249
  "dateAdded": "2024-06-11",
6950
7250
  "lastUpdated": "2025-04-15"
@@ -6958,6 +7258,14 @@
6958
7258
  "upgradeParts": 6,
6959
7259
  "piecesOfEight": 10000
6960
7260
  },
7261
+ "damageMitigation": {
7262
+ "explosive": 0.10,
7263
+ "flooding": 0,
7264
+ "fire": 0.10,
7265
+ "tearing": 0,
7266
+ "piercing": 0,
7267
+ "electric": 0.10
7268
+ },
6961
7269
  "perks": ["barqueUpgrade6", "mend"],
6962
7270
  "dateAdded": "2024-06-11",
6963
7271
  "lastUpdated": "2025-04-15"
@@ -6973,6 +7281,14 @@
6973
7281
  "piecesOfEight": 15000,
6974
7282
  "silver": 50000
6975
7283
  },
7284
+ "damageMitigation": {
7285
+ "explosive": 0.15,
7286
+ "flooding": 0,
7287
+ "fire": 0.15,
7288
+ "tearing": 0,
7289
+ "piercing": 0,
7290
+ "electric": 0.20
7291
+ },
6976
7292
  "perks": ["barqueUpgrade7"],
6977
7293
  "dateAdded": "2024-04-25",
6978
7294
  "lastUpdated": "2024-04-25"
@@ -7025,6 +7341,14 @@
7025
7341
  "upgradeParts": 5,
7026
7342
  "piecesOfEight": 4000
7027
7343
  },
7344
+ "damageMitigation": {
7345
+ "explosive": 0,
7346
+ "flooding": 0.02,
7347
+ "fire": 0.02,
7348
+ "tearing": 0,
7349
+ "piercing": 0.03,
7350
+ "electric": 0
7351
+ },
7028
7352
  "perks": ["brigUpgrade4"],
7029
7353
  "dateAdded": "2024-06-11",
7030
7354
  "lastUpdated": "2025-04-15"
@@ -7038,6 +7362,14 @@
7038
7362
  "upgradeParts": 5,
7039
7363
  "piecesOfEight": 6500
7040
7364
  },
7365
+ "damageMitigation": {
7366
+ "explosive": 0,
7367
+ "flooding": 0.05,
7368
+ "fire": 0.05,
7369
+ "tearing": 0,
7370
+ "piercing": 0.05,
7371
+ "electric": 0
7372
+ },
7041
7373
  "perks": ["brigUpgrade5"],
7042
7374
  "dateAdded": "2024-06-11",
7043
7375
  "lastUpdated": "2025-04-15"
@@ -7051,6 +7383,14 @@
7051
7383
  "upgradeParts": 6,
7052
7384
  "piecesOfEight": 10000
7053
7385
  },
7386
+ "damageMitigation": {
7387
+ "explosive": 0,
7388
+ "flooding": 0.10,
7389
+ "fire": 0.10,
7390
+ "tearing": 0,
7391
+ "piercing": 0.10,
7392
+ "electric": 0
7393
+ },
7054
7394
  "perks": ["brigUpgrade6", "evolved"],
7055
7395
  "dateAdded": "2024-06-11",
7056
7396
  "lastUpdated": "2025-04-15"
@@ -7070,6 +7410,14 @@
7070
7410
  "lestarisSkin": 1,
7071
7411
  "masterworkKit": 1
7072
7412
  },
7413
+ "damageMitigation": {
7414
+ "explosive": 0,
7415
+ "flooding": 0.15,
7416
+ "fire": 0.15,
7417
+ "tearing": 0,
7418
+ "piercing": 0.20,
7419
+ "electric": 0
7420
+ },
7073
7421
  "perks": ["brigUpgrade7"],
7074
7422
  "dateAdded": "2025-04-15",
7075
7423
  "lastUpdated": "2025-04-15"
@@ -8254,6 +8602,14 @@
8254
8602
  "tier": 4,
8255
8603
  "value": 1,
8256
8604
  "required": {},
8605
+ "damageMitigation": {
8606
+ "explosive": 0.03,
8607
+ "flooding": 0.03,
8608
+ "fire": 0,
8609
+ "tearing": 0,
8610
+ "piercing": 0,
8611
+ "electric": 0.03
8612
+ },
8257
8613
  "perks": ["battleJunkUpgrade4"],
8258
8614
  "dateAdded": "2024-08-22",
8259
8615
  "lastUpdated": "2024-08-22"
@@ -8264,6 +8620,14 @@
8264
8620
  "tier": 5,
8265
8621
  "value": 1,
8266
8622
  "required": {},
8623
+ "damageMitigation": {
8624
+ "explosive": 0.05,
8625
+ "flooding": 0.05,
8626
+ "fire": 0,
8627
+ "tearing": 0,
8628
+ "piercing": 0,
8629
+ "electric": 0.05
8630
+ },
8267
8631
  "perks": ["battleJunkUpgrade5"],
8268
8632
  "dateAdded": "2024-08-22",
8269
8633
  "lastUpdated": "2024-08-22"
@@ -8274,6 +8638,14 @@
8274
8638
  "tier": 6,
8275
8639
  "value": 1,
8276
8640
  "required": {},
8641
+ "damageMitigation": {
8642
+ "explosive": 0.10,
8643
+ "flooding": 0.10,
8644
+ "fire": 0.05,
8645
+ "tearing": 0,
8646
+ "piercing": 0.05,
8647
+ "electric": 0.10
8648
+ },
8277
8649
  "perks": ["battleJunkUpgrade6", "endure"],
8278
8650
  "dateAdded": "2024-08-22",
8279
8651
  "lastUpdated": "2024-08-22"
@@ -8293,6 +8665,14 @@
8293
8665
  "piecesOfEight": 15000,
8294
8666
  "silver": 50000
8295
8667
  },
8668
+ "damageMitigation": {
8669
+ "explosive": 0.15,
8670
+ "flooding": 0.15,
8671
+ "fire": 0.05,
8672
+ "tearing": 0,
8673
+ "piercing": 0.05,
8674
+ "electric": 0.20
8675
+ },
8296
8676
  "perks": ["battleJunkUpgrade7"],
8297
8677
  "dateAdded": "2025-04-15",
8298
8678
  "lastUpdated": "2025-04-15"
@@ -8473,6 +8853,14 @@
8473
8853
  "upgradeParts": 5,
8474
8854
  "piecesOfEight": 4000
8475
8855
  },
8856
+ "damageMitigation": {
8857
+ "explosive": 0,
8858
+ "flooding": 0.03,
8859
+ "fire": 0,
8860
+ "tearing": 0,
8861
+ "piercing": 0.03,
8862
+ "electric": 0
8863
+ },
8476
8864
  "perks": ["garudaUpgrade4"],
8477
8865
  "dateAdded": "2024-11-19",
8478
8866
  "lastUpdated": "2025-04-15"
@@ -8486,6 +8874,14 @@
8486
8874
  "upgradeParts": 5,
8487
8875
  "piecesOfEight": 6500
8488
8876
  },
8877
+ "damageMitigation": {
8878
+ "explosive": 0,
8879
+ "flooding": 0.05,
8880
+ "fire": 0,
8881
+ "tearing": 0,
8882
+ "piercing": 0.10,
8883
+ "electric": 0
8884
+ },
8489
8885
  "perks": ["garudaUpgrade5"],
8490
8886
  "dateAdded": "2024-11-19",
8491
8887
  "lastUpdated": "2025-04-15"
@@ -8499,6 +8895,14 @@
8499
8895
  "upgradeParts": 6,
8500
8896
  "piecesOfEight": 10000
8501
8897
  },
8898
+ "damageMitigation": {
8899
+ "explosive": 0,
8900
+ "flooding": 0.10,
8901
+ "fire": 0,
8902
+ "tearing": 0,
8903
+ "piercing": 0.15,
8904
+ "electric": 0
8905
+ },
8502
8906
  "perks": ["garudaUpgrade6", "revolver"],
8503
8907
  "dateAdded": "2024-11-19",
8504
8908
  "lastUpdated": "2025-04-15"
@@ -8518,6 +8922,14 @@
8518
8922
  "piecesOfEight": 15000,
8519
8923
  "silver": 50000
8520
8924
  },
8925
+ "damageMitigation": {
8926
+ "explosive": 0,
8927
+ "flooding": 0.15,
8928
+ "fire": 0,
8929
+ "tearing": 0,
8930
+ "piercing": 0.20,
8931
+ "electric": 0
8932
+ },
8521
8933
  "perks": ["garudaUpgrade7"],
8522
8934
  "dateAdded": "2025-04-15",
8523
8935
  "lastUpdated": "2025-04-15"
@@ -9280,6 +9692,14 @@
9280
9692
  "upgradeParts": 5,
9281
9693
  "piecesOfEight": 4000
9282
9694
  },
9695
+ "damageMitigation": {
9696
+ "explosive": 0.05,
9697
+ "flooding": 0,
9698
+ "fire": 0,
9699
+ "tearing": 0,
9700
+ "piercing": 0,
9701
+ "electric": 0.03
9702
+ },
9283
9703
  "perks": ["schoonerUpgrade4"],
9284
9704
  "dateAdded": "2025-04-15",
9285
9705
  "lastUpdated": "2025-04-15"
@@ -9297,6 +9717,14 @@
9297
9717
  "upgradeParts": 5,
9298
9718
  "piecesOfEight": 6500
9299
9719
  },
9720
+ "damageMitigation": {
9721
+ "explosive": 0.10,
9722
+ "flooding": 0,
9723
+ "fire": 0,
9724
+ "tearing": 0,
9725
+ "piercing": 0,
9726
+ "electric": 0.05
9727
+ },
9300
9728
  "perks": ["schoonerUpgrade5"],
9301
9729
  "dateAdded": "2025-04-15",
9302
9730
  "lastUpdated": "2025-04-15"
@@ -9315,6 +9743,14 @@
9315
9743
  "upgradeParts": 6,
9316
9744
  "piecesOfEight": 10000
9317
9745
  },
9746
+ "damageMitigation": {
9747
+ "explosive": 0.15,
9748
+ "flooding": 0,
9749
+ "fire": 0,
9750
+ "tearing": 0,
9751
+ "piercing": 0,
9752
+ "electric": 0.10
9753
+ },
9318
9754
  "perks": ["schoonerUpgrade6", "volatile"],
9319
9755
  "dateAdded": "2025-04-15",
9320
9756
  "lastUpdated": "2025-04-15"
@@ -9334,6 +9770,14 @@
9334
9770
  "piecesOfEight": 15000,
9335
9771
  "silver": 50000
9336
9772
  },
9773
+ "damageMitigation": {
9774
+ "explosive": 0.20,
9775
+ "flooding": 0,
9776
+ "fire": 0,
9777
+ "tearing": 0,
9778
+ "piercing": 0,
9779
+ "electric": 0.15
9780
+ },
9337
9781
  "perks": ["schoonerUpgrade7"],
9338
9782
  "dateAdded": "2025-04-15",
9339
9783
  "lastUpdated": "2025-04-15"
@@ -1,5 +1,6 @@
1
1
  import cosmeticsData from '../../data/cosmetics.json';
2
2
  import { Effect } from '../types/CosmeticProperties';
3
+ import { Rarity } from '../types/Rarity';
3
4
  import { Material } from './materials';
4
5
  import { Season } from './seasons';
5
6
  export declare class Cosmetic {
@@ -7,17 +8,22 @@ export declare class Cosmetic {
7
8
  readonly type: string;
8
9
  readonly dateAdded: string;
9
10
  readonly lastUpdated: string;
11
+ readonly rarity?: Rarity | undefined;
12
+ readonly tier?: number | undefined;
10
13
  readonly set?: string | undefined;
11
14
  readonly obtainable?: (string | string[] | Array<string | string[]>) | undefined;
12
15
  readonly effect?: (Effect | Effect[]) | undefined;
13
16
  readonly season?: Season | undefined;
14
17
  readonly contract?: string | undefined;
18
+ basic?: Cosmetic | undefined;
19
+ upgrades?: Cosmetic[] | undefined;
15
20
  readonly required?: Map<Material, number> | undefined;
16
21
  readonly requiredRank?: string | undefined;
17
22
  readonly bounty?: string | undefined;
18
23
  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);
24
+ constructor(id: string, type: string, dateAdded: string, lastUpdated: string, rarity?: Rarity | undefined, tier?: number | undefined, set?: string | undefined, obtainable?: (string | string[] | Array<string | string[]>) | undefined, effect?: (Effect | Effect[]) | undefined, season?: Season | undefined, contract?: string | undefined, basic?: Cosmetic | undefined, upgrades?: Cosmetic[] | undefined, required?: Map<Material, number> | undefined, requiredRank?: string | undefined, bounty?: string | undefined, worldEvent?: string | undefined);
20
25
  static fromRawData(rawData: any): Cosmetic;
26
+ static updateCosmeticWithUpgrades(key: string, rawData: any, cosmetics: Record<string, Cosmetic>): void;
21
27
  static loadCosmetics(): Record<string, Cosmetic>;
22
28
  }
23
29
  type Cosmetics = {
@@ -1 +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,KAAK,SAAS,GAAG;KACZ,CAAC,IAAI,MAAM,OAAO,aAAa,GAAG,QAAQ;CAC9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAiD,CAAC"}
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,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAW,MAAM,WAAW,CAAC;AAE5C,qBAAa,QAAQ;aAEG,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;aACnB,MAAM,CAAC,EAAE,MAAM;aACf,IAAI,CAAC,EAAE,MAAM;aACb,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;IAC1B,KAAK,CAAC,EAAE,QAAQ;IAChB,QAAQ,CAAC,EAAE,QAAQ,EAAE;aACZ,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;aAChC,YAAY,CAAC,EAAE,MAAM;aACrB,MAAM,CAAC,EAAE,MAAM;aACf,UAAU,CAAC,EAAE,MAAM;gBAhBnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,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,EAC1B,KAAK,CAAC,EAAE,QAAQ,YAAA,EAChB,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAA,EACZ,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;WA+BnC,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;WAWzF,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;CAU1D;AAED,KAAK,SAAS,GAAG;KACZ,CAAC,IAAI,MAAM,OAAO,aAAa,GAAG,QAAQ;CAC9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAiD,CAAC"}
@@ -1,22 +1,28 @@
1
1
  import cosmeticsData from '../../data/cosmetics.json';
2
2
  import { Materials } from './materials';
3
+ import { Seasons } from './seasons';
3
4
  export class Cosmetic {
4
- constructor(id, type, dateAdded, lastUpdated, set, obtainable, effect, season, contract, required, requiredRank, bounty, worldEvent) {
5
+ constructor(id, type, dateAdded, lastUpdated, rarity, tier, set, obtainable, effect, season, contract, basic, upgrades, required, requiredRank, bounty, worldEvent) {
5
6
  this.id = id;
6
7
  this.type = type;
7
8
  this.dateAdded = dateAdded;
8
9
  this.lastUpdated = lastUpdated;
10
+ this.rarity = rarity;
11
+ this.tier = tier;
9
12
  this.set = set;
10
13
  this.obtainable = obtainable;
11
14
  this.effect = effect;
12
15
  this.season = season;
13
16
  this.contract = contract;
17
+ this.basic = basic;
18
+ this.upgrades = upgrades;
14
19
  this.required = required;
15
20
  this.requiredRank = requiredRank;
16
21
  this.bounty = bounty;
17
22
  this.worldEvent = worldEvent;
18
23
  }
19
24
  static fromRawData(rawData) {
25
+ const season = rawData.season;
20
26
  const required = rawData.required ? new Map() : undefined;
21
27
  if (required) {
22
28
  for (const [requiredKey, quantity] of Object.entries(rawData.required)) {
@@ -24,13 +30,27 @@ export class Cosmetic {
24
30
  required.set(Materials[requiredMaterial], quantity);
25
31
  }
26
32
  }
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);
33
+ return new Cosmetic(rawData.id, rawData.type, rawData.dateAdded, rawData.lastUpdated, rawData.rarity ?? undefined, rawData.tier ?? undefined, rawData.set ?? undefined, rawData.obtainable ?? undefined, rawData.effect ?? undefined, rawData.season ? Seasons[season] : undefined, rawData.contract ?? undefined, undefined, undefined, required, rawData.requiredRank ?? undefined, rawData.bounty ?? undefined, rawData.worldEvent ?? undefined);
34
+ }
35
+ static updateCosmeticWithUpgrades(key, rawData, cosmetics) {
36
+ if (rawData.basic) {
37
+ const basic = cosmetics[rawData.basic];
38
+ if (basic)
39
+ cosmetics[key].basic = basic;
40
+ }
41
+ if (rawData.upgrades) {
42
+ const upgrades = rawData.upgrades.map((upgradeCosmetic) => cosmetics[upgradeCosmetic]);
43
+ cosmetics[key].upgrades = upgrades;
44
+ }
28
45
  }
29
46
  static loadCosmetics() {
30
47
  const cosmetics = {};
31
48
  for (const [key, value] of Object.entries(cosmeticsData)) {
32
49
  cosmetics[key] = Cosmetic.fromRawData(value);
33
50
  }
51
+ for (const [key, value] of Object.entries(cosmeticsData)) {
52
+ Cosmetic.updateCosmeticWithUpgrades(key, value, cosmetics);
53
+ }
34
54
  return cosmetics;
35
55
  }
36
56
  }
@@ -1 +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"}
1
+ {"version":3,"file":"cosmetics.js","sourceRoot":"","sources":["../../src/daos/cosmetics.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export class Item {
38
38
  required.set(Materials[requiredMaterial], quantity);
39
39
  }
40
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);
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 ?? undefined, rawData.contract ?? undefined);
42
42
  }
43
43
  static loadItems() {
44
44
  const items = {};
@@ -1 +1 @@
1
- {"version":3,"file":"items.js","sourceRoot":"","sources":["../../src/daos/items.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"items.js","sourceRoot":"","sources":["../../src/daos/items.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import shipsData from '../../data/ships.json';
2
2
  import { ShipSize, SlotWithGunports } from '../types/ShipProperties';
3
+ import { Material } from './materials';
3
4
  import { Season } from './seasons';
4
5
  export declare class Ship {
5
6
  readonly id: string;
@@ -23,7 +24,7 @@ export declare class Ship {
23
24
  cargoSlots: number;
24
25
  cargoMaxWeight: number;
25
26
  };
26
- readonly required: Record<string, number> | undefined;
27
+ readonly required: Map<Material, number> | undefined;
27
28
  readonly slots: {
28
29
  attachement?: number;
29
30
  frontWeapon?: SlotWithGunports;
@@ -43,7 +44,7 @@ export declare class Ship {
43
44
  }, cargo: {
44
45
  cargoSlots: number;
45
46
  cargoMaxWeight: number;
46
- }, required: Record<string, number> | undefined, slots: {
47
+ }, required: Map<Material, number> | undefined, slots: {
47
48
  attachement?: number;
48
49
  frontWeapon?: SlotWithGunports;
49
50
  leftSideWeapon?: SlotWithGunports;
@@ -1 +1 @@
1
- {"version":3,"file":"ships.d.ts","sourceRoot":"","sources":["../../src/daos/ships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ships.d.ts","sourceRoot":"","sources":["../../src/daos/ships.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import shipsData from '../../data/ships.json';
2
+ import { Materials } from './materials';
2
3
  import { Seasons } from './seasons';
3
4
  export class Ship {
4
5
  constructor(id, size, type, blueprint, season, hitpoints, braceStrength, braceStrengthRecovery, stamina, baseRank, requiredRank, contact, sailSpeed, cargo, required, slots, perks, dateAdded, lastUpdated) {
@@ -25,7 +26,14 @@ export class Ship {
25
26
  // Static method to create a Ship instance from raw data
26
27
  static fromRawData(rawData) {
27
28
  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
+ const required = rawData.required ? new Map() : undefined;
30
+ if (required) {
31
+ for (const [requiredKey, quantity] of Object.entries(rawData.required)) {
32
+ const requiredMaterial = requiredKey;
33
+ required.set(Materials[requiredMaterial], quantity);
34
+ }
35
+ }
36
+ 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, required, {
29
37
  attachement: rawData.slots.attachement ?? undefined,
30
38
  frontWeapon: rawData.slots.frontWeapon ?? undefined,
31
39
  leftSideWeapon: rawData.slots.leftSideWeapon ?? undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"ships.js","sourceRoot":"","sources":["../../src/daos/ships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ships.js","sourceRoot":"","sources":["../../src/daos/ships.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAU,OAAO,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,OAAO,IAAI;IACb,YACoB,EAAU,EACV,IAAc,EACd,IAAY,EACZ,SAAwC,EACxC,MAA0B,EAC1B,SAAiB,EACjB,aAAqB,EACrB,qBAA6B,EAC7B,OAA2B,EAC3B,QAAgB,EAChB,YAAgC,EAChC,OAA2B,EAC3B,SAIf,EACe,KAGf,EACe,QAA2C,EAC3C,KAQf,EACe,KAAe,EACf,SAAe,EACf,WAAiB;QAjCjB,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAU;QACd,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAA+B;QACxC,WAAM,GAAN,MAAM,CAAoB;QAC1B,cAAS,GAAT,SAAS,CAAQ;QACjB,kBAAa,GAAb,aAAa,CAAQ;QACrB,0BAAqB,GAArB,qBAAqB,CAAQ;QAC7B,YAAO,GAAP,OAAO,CAAoB;QAC3B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,iBAAY,GAAZ,YAAY,CAAoB;QAChC,YAAO,GAAP,OAAO,CAAoB;QAC3B,cAAS,GAAT,SAAS,CAIxB;QACe,UAAK,GAAL,KAAK,CAGpB;QACe,aAAQ,GAAR,QAAQ,CAAmC;QAC3C,UAAK,GAAL,KAAK,CAQpB;QACe,UAAK,GAAL,KAAK,CAAU;QACf,cAAS,GAAT,SAAS,CAAM;QACf,gBAAW,GAAX,WAAW,CAAM;IAClC,CAAC;IAEJ,wDAAwD;IACjD,MAAM,CAAC,WAAW,CAAC,OAAY;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAA8B,CAAC;QACtD,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,IAAI,CACX,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,SAAS,IAAI,SAAS,EAC9B,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EACpC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,qBAAqB,EAC7B,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,IAAI,SAAS,EACjC,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,QAAQ,EACR;YACI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS;YACnD,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS;YACnD,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,SAAS;YACzD,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS;YAC3D,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,SAAS;YAC/C,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS;YAC3D,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,SAAS;SAClD,EACD,OAAO,CAAC,KAAK,EACb,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAChC,CAAC;IACN,CAAC;IAED,qDAAqD;IAC9C,MAAM,CAAC,SAAS;QACnB,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAMD,MAAM,CAAC,MAAM,KAAK,GAAU,IAAI,CAAC,SAAS,EAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skullandbonestools/snbdata",
3
- "version": "5.0.4",
3
+ "version": "5.0.6",
4
4
  "description": "Inofficial data package for the Skull and Bones game by Ubisoft.",
5
5
  "keywords": [
6
6
  "ubisoft",