Add sealed crates to airdrops
This commit is contained in:
parent
0c31719013
commit
26f29e1522
@ -31,6 +31,10 @@
|
|||||||
"min": 12,
|
"min": 12,
|
||||||
"max": 25
|
"max": 25
|
||||||
},
|
},
|
||||||
|
"weaponCrateCount": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
"itemBlacklist": [
|
"itemBlacklist": [
|
||||||
"5e997f0b86f7741ac73993e2",
|
"5e997f0b86f7741ac73993e2",
|
||||||
"5b44abe986f774283e2e3512",
|
"5b44abe986f774283e2e3512",
|
||||||
@ -132,6 +136,10 @@
|
|||||||
"min": 10,
|
"min": 10,
|
||||||
"max": 20
|
"max": 20
|
||||||
},
|
},
|
||||||
|
"weaponCrateCount": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
"itemBlacklist": [
|
"itemBlacklist": [
|
||||||
"5e997f0b86f7741ac73993e2",
|
"5e997f0b86f7741ac73993e2",
|
||||||
"5b44abe986f774283e2e3512",
|
"5b44abe986f774283e2e3512",
|
||||||
@ -204,6 +212,10 @@
|
|||||||
"min": 17,
|
"min": 17,
|
||||||
"max": 28
|
"max": 28
|
||||||
},
|
},
|
||||||
|
"weaponCrateCount": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
"itemBlacklist": [
|
"itemBlacklist": [
|
||||||
"5e997f0b86f7741ac73993e2",
|
"5e997f0b86f7741ac73993e2",
|
||||||
"5b44abe986f774283e2e3512",
|
"5b44abe986f774283e2e3512",
|
||||||
@ -282,6 +294,10 @@
|
|||||||
"min": 16,
|
"min": 16,
|
||||||
"max": 25
|
"max": 25
|
||||||
},
|
},
|
||||||
|
"weaponCrateCount": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
"itemBlacklist": [
|
"itemBlacklist": [
|
||||||
"5e997f0b86f7741ac73993e2",
|
"5e997f0b86f7741ac73993e2",
|
||||||
"5b44abe986f774283e2e3512",
|
"5b44abe986f774283e2e3512",
|
||||||
|
@ -185,6 +185,7 @@ export class LocationController
|
|||||||
return {
|
return {
|
||||||
presetCount: lootSettingsByType.presetCount,
|
presetCount: lootSettingsByType.presetCount,
|
||||||
itemCount: lootSettingsByType.itemCount,
|
itemCount: lootSettingsByType.itemCount,
|
||||||
|
weaponCrateCount: lootSettingsByType.weaponCrateCount,
|
||||||
itemBlacklist: lootSettingsByType.itemBlacklist,
|
itemBlacklist: lootSettingsByType.itemBlacklist,
|
||||||
itemTypeWhitelist: lootSettingsByType.itemTypeWhitelist,
|
itemTypeWhitelist: lootSettingsByType.itemTypeWhitelist,
|
||||||
itemLimits: lootSettingsByType.itemLimits,
|
itemLimits: lootSettingsByType.itemLimits,
|
||||||
|
@ -57,6 +57,26 @@ export class LootGenerator
|
|||||||
const itemBlacklist = this.itemFilterService.getBlacklistedItems();
|
const itemBlacklist = this.itemFilterService.getBlacklistedItems();
|
||||||
itemBlacklist.push(...options.itemBlacklist);
|
itemBlacklist.push(...options.itemBlacklist);
|
||||||
|
|
||||||
|
// Handle sealed weapon containers
|
||||||
|
const desiredWeaponCrateCount = this.randomUtil.getInt(options.weaponCrateCount.min, options.weaponCrateCount.max);
|
||||||
|
if (desiredWeaponCrateCount > 0)
|
||||||
|
{
|
||||||
|
// Get list of all sealed containers from db
|
||||||
|
const sealedWeaponContainerPool = Object.values(tables.templates.items).filter(x => x._name.includes("event_container_airdrop"));
|
||||||
|
|
||||||
|
for (let index = 0; index < desiredWeaponCrateCount; index++)
|
||||||
|
{
|
||||||
|
// Choose one at random + add to results array
|
||||||
|
const chosenSealedContainer = this.randomUtil.getArrayValue(sealedWeaponContainerPool);
|
||||||
|
result.push({
|
||||||
|
id: this.hashUtil.generate(),
|
||||||
|
tpl: chosenSealedContainer._id,
|
||||||
|
isPreset: false,
|
||||||
|
stackCount: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Get items from items.json that have a type of item + not in global blacklist + basetype is in whitelist
|
// Get items from items.json that have a type of item + not in global blacklist + basetype is in whitelist
|
||||||
const items = Object.entries(tables.templates.items).filter(x => !itemBlacklist.includes(x[1]._id)
|
const items = Object.entries(tables.templates.items).filter(x => !itemBlacklist.includes(x[1]._id)
|
||||||
&& x[1]._type.toLowerCase() === "item"
|
&& x[1]._type.toLowerCase() === "item"
|
||||||
|
@ -32,6 +32,7 @@ export interface AirdropLoot
|
|||||||
{
|
{
|
||||||
presetCount?: MinMax
|
presetCount?: MinMax
|
||||||
itemCount: MinMax
|
itemCount: MinMax
|
||||||
|
weaponCrateCount: MinMax
|
||||||
itemBlacklist: string[]
|
itemBlacklist: string[]
|
||||||
itemTypeWhitelist: string[]
|
itemTypeWhitelist: string[]
|
||||||
/** key: item base type: value: max count */
|
/** key: item base type: value: max count */
|
||||||
|
@ -4,6 +4,7 @@ export interface LootRequest
|
|||||||
{
|
{
|
||||||
presetCount: MinMax
|
presetCount: MinMax
|
||||||
itemCount: MinMax
|
itemCount: MinMax
|
||||||
|
weaponCrateCount: MinMax
|
||||||
itemBlacklist: string[]
|
itemBlacklist: string[]
|
||||||
itemTypeWhitelist: string[]
|
itemTypeWhitelist: string[]
|
||||||
/** key: item base type: value: max count */
|
/** key: item base type: value: max count */
|
||||||
|
Loading…
Reference in New Issue
Block a user