Skip to content

Commit 84adb9e

Browse files
authored
Merge pull request #36 from thaddeus/item-properties-handbook
Item properties handbook
2 parents ae1bad8 + 046da24 commit 84adb9e

File tree

3 files changed

+28
-14
lines changed

3 files changed

+28
-14
lines changed

datasources/handbook.mjs

+10
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,16 @@ class HandbookAPI extends WorkerKV {
8585
const { cache } = await this.getCache(context, info);
8686
return cache.PlayerLevel;
8787
}
88+
89+
async getAllItemProperties(context, info) {
90+
const { cache } = await this.getCache(context, info);
91+
return cache.ItemProperties;
92+
}
93+
94+
async getItemProperties(context, info, itemId) {
95+
const { cache } = await this.getCache(context, info);
96+
return cache.ItemProperties[itemId];
97+
}
8898
}
8999

90100
export default HandbookAPI;

datasources/items.mjs

+2-1
Original file line numberDiff line numberDiff line change
@@ -226,10 +226,11 @@ class ItemsAPI extends WorkerKV {
226226
// ignore bb
227227
return ammoItems.filter(item => item.id !== '6241c316234b593b5676b637');
228228
});
229+
const itemProperties = await context.data.worker.handbook.getAllItemProperties(context, info);
229230
return allAmmo.map(item => {
230231
return {
231232
...item,
232-
...item.properties
233+
...itemProperties[item.id],
233234
};
234235
});
235236
}

resolvers/itemResolver.mjs

+16-13
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,9 @@ export default {
225225
},
226226
imageLinkFallback(data) {
227227
return data.inspectImageLink;
228+
},
229+
properties(data, args, context, info) {
230+
return context.data.worker.handbook.getItemProperties(context, info, data.id);
228231
}
229232
},
230233
ItemArmorSlot: {
@@ -239,7 +242,7 @@ export default {
239242
return data.type;
240243
},
241244
zones(data, args, context, info) {
242-
return context.data.worker.item.getLocale(data.zones, context, info);
245+
return context.data.worker.handbook.getLocale(data.zones, context, info);
243246
},
244247
material(data, args, context, info) {
245248
return context.data.worker.handbook.getArmorMaterial(context, info, data.armor_material_id);
@@ -251,7 +254,7 @@ export default {
251254
return data.type;
252255
},
253256
zones(data, args, context, info) {
254-
return context.data.worker.item.getLocale(data.zones, context, info);
257+
return context.data.worker.handbook.getLocale(data.zones, context, info);
255258
},
256259
allowedPlates(data, args, context, info) {
257260
return data.allowedPlates.map(id => context.data.worker.item.getItem(context, info, id));
@@ -306,24 +309,24 @@ export default {
306309
},
307310
ItemPropertiesArmor: {
308311
armorType(data, args, context, info) {
309-
return context.data.worker.item.getLocale(data.armorType, context, info);
312+
return context.data.worker.handbook.getLocale(data.armorType, context, info);
310313
},
311314
material(data, args, context, info) {
312315
return context.data.worker.handbook.getArmorMaterial(context, info, data.armor_material_id);
313316
},
314317
zones(data, args, context, info) {
315-
return context.data.worker.item.getLocale(data.zones, context, info);
318+
return context.data.worker.handbook.getLocale(data.zones, context, info);
316319
},
317320
},
318321
ItemPropertiesArmorAttachment: {
319322
material(data, args, context, info) {
320323
return context.data.worker.handbook.getArmorMaterial(context, info, data.armor_material_id);
321324
},
322325
headZones(data, args, context, info) {
323-
return context.data.worker.item.getLocale(data.headZones, context, info);
326+
return context.data.worker.handbook.getLocale(data.headZones, context, info);
324327
},
325328
zones(data, args, context, info) {
326-
return context.data.worker.item.getLocale(data.headZones, context, info);
329+
return context.data.worker.handbook.getLocale(data.headZones, context, info);
327330
}
328331
},
329332
ItemPropertiesBackpack: {
@@ -333,13 +336,13 @@ export default {
333336
},
334337
ItemPropertiesChestRig: {
335338
armorType(data, args, context, info) {
336-
return context.data.worker.item.getLocale(data.armorType, context, info);
339+
return context.data.worker.handbook.getLocale(data.armorType, context, info);
337340
},
338341
material(data, args, context, info) {
339342
return context.data.worker.handbook.getArmorMaterial(context, info, data.armor_material_id);
340343
},
341344
zones(data, args, context, info) {
342-
return context.data.worker.item.getLocale(data.zones, context, info);
345+
return context.data.worker.handbook.getLocale(data.zones, context, info);
343346
},
344347
pouches(data) {
345348
return data.grids;
@@ -352,13 +355,13 @@ export default {
352355
},
353356
ItemPropertiesHelmet: {
354357
armorType(data, args, context, info) {
355-
return context.data.worker.item.getLocale(data.armorType, context, info);
358+
return context.data.worker.handbook.getLocale(data.armorType, context, info);
356359
},
357360
material(data, args, context, info) {
358361
return context.data.worker.handbook.getArmorMaterial(context, info, data.armor_material_id);
359362
},
360363
headZones(data, args, context, info) {
361-
return context.data.worker.item.getLocale(data.headZones, context, info);
364+
return context.data.worker.handbook.getLocale(data.headZones, context, info);
362365
}
363366
},
364367
ItemPropertiesMagazine: {
@@ -377,7 +380,7 @@ export default {
377380
return context.data.worker.item.getItem(context, info, data.default_ammo_id);
378381
},
379382
fireModes(data, args, context, info) {
380-
return context.data.worker.item.getLocale(data.fireModes, context, info);
383+
return context.data.worker.handbook.getLocale(data.fireModes, context, info);
381384
},
382385
allowedAmmo(data, args, context, info) {
383386
return data.allowedAmmo.map(id => context.data.worker.item.getItem(context, info, id));
@@ -392,7 +395,7 @@ export default {
392395
},
393396
ItemSlot: {
394397
name(data, ags, context, info) {
395-
return context.data.worker.item.getLocale(data.name, context, info);
398+
return context.data.worker.handbook.getLocale(data.name, context, info);
396399
}
397400
},
398401
ContainedItem: {
@@ -434,7 +437,7 @@ export default {
434437
},
435438
StimEffect: {
436439
type(data, args, context, info) {
437-
return context.data.worker.item.getLocale(data.type, context, info);
440+
return context.data.worker.handbook.getLocale(data.type, context, info);
438441
},
439442
skill(data, args, context, info) {
440443
return context.data.worker.handbook.getSkill(context, info, data.skillName);

0 commit comments

Comments
 (0)