Add config option to force stock to spawn on a bot during weapon generation
Enable it for various bot types (most bosses/raiders)
This commit is contained in:
parent
b808850e7e
commit
93209e4a76
@ -432,7 +432,8 @@
|
|||||||
"faceShieldIsActiveChancePercent": 100,
|
"faceShieldIsActiveChancePercent": 100,
|
||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 75,
|
"lightIsActiveNightChancePercent": 75,
|
||||||
"laserIsActiveChancePercent": 75
|
"laserIsActiveChancePercent": 75,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"bossgluhar": {
|
"bossgluhar": {
|
||||||
"nvgIsActiveChanceDayPercent": 10,
|
"nvgIsActiveChanceDayPercent": 10,
|
||||||
@ -440,13 +441,15 @@
|
|||||||
"faceShieldIsActiveChancePercent": 100,
|
"faceShieldIsActiveChancePercent": 100,
|
||||||
"lightIsActiveDayChancePercent": 45,
|
"lightIsActiveDayChancePercent": 45,
|
||||||
"lightIsActiveNightChancePercent": 95,
|
"lightIsActiveNightChancePercent": 95,
|
||||||
"laserIsActiveChancePercent": 95
|
"laserIsActiveChancePercent": 95,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"bosskilla": {
|
"bosskilla": {
|
||||||
"faceShieldIsActiveChancePercent": 100,
|
"faceShieldIsActiveChancePercent": 100,
|
||||||
"lightIsActiveDayChancePercent": 35,
|
"lightIsActiveDayChancePercent": 35,
|
||||||
"lightIsActiveNightChancePercent": 85,
|
"lightIsActiveNightChancePercent": 85,
|
||||||
"laserIsActiveChancePercent": 85
|
"laserIsActiveChancePercent": 85,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"bosskojaniy": {
|
"bosskojaniy": {
|
||||||
"faceShieldIsActiveChancePercent": 100,
|
"faceShieldIsActiveChancePercent": 100,
|
||||||
@ -468,7 +471,8 @@
|
|||||||
"faceShieldIsActiveChancePercent": 100,
|
"faceShieldIsActiveChancePercent": 100,
|
||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 75,
|
"lightIsActiveNightChancePercent": 75,
|
||||||
"laserIsActiveChancePercent": 75
|
"laserIsActiveChancePercent": 75,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"bossknight": {
|
"bossknight": {
|
||||||
"nvgIsActiveChanceDayPercent": 10,
|
"nvgIsActiveChanceDayPercent": 10,
|
||||||
@ -476,21 +480,24 @@
|
|||||||
"faceShieldIsActiveChancePercent": 100,
|
"faceShieldIsActiveChancePercent": 100,
|
||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 75,
|
"lightIsActiveNightChancePercent": 75,
|
||||||
"laserIsActiveChancePercent": 75
|
"laserIsActiveChancePercent": 75,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"bosszryachiy": {
|
"bosszryachiy": {
|
||||||
"nvgIsActiveChanceDayPercent": 10,
|
"nvgIsActiveChanceDayPercent": 10,
|
||||||
"nvgIsActiveChanceNightPercent": 90,
|
"nvgIsActiveChanceNightPercent": 90,
|
||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 85,
|
"lightIsActiveNightChancePercent": 85,
|
||||||
"laserIsActiveChancePercent": 85
|
"laserIsActiveChancePercent": 85,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"bossboar": {
|
"bossboar": {
|
||||||
"nvgIsActiveChanceDayPercent": 10,
|
"nvgIsActiveChanceDayPercent": 10,
|
||||||
"nvgIsActiveChanceNightPercent": 90,
|
"nvgIsActiveChanceNightPercent": 90,
|
||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 85,
|
"lightIsActiveNightChancePercent": 85,
|
||||||
"laserIsActiveChancePercent": 85
|
"laserIsActiveChancePercent": 85,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"bosstest": {},
|
"bosstest": {},
|
||||||
"followerbully": {
|
"followerbully": {
|
||||||
@ -547,6 +554,7 @@
|
|||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 75,
|
"lightIsActiveNightChancePercent": 75,
|
||||||
"laserIsActiveChancePercent": 75,
|
"laserIsActiveChancePercent": 75,
|
||||||
|
"forceStock": true,
|
||||||
"weaponModLimits": {
|
"weaponModLimits": {
|
||||||
"scopeLimit": 1,
|
"scopeLimit": 1,
|
||||||
"lightLaserLimit": 1
|
"lightLaserLimit": 1
|
||||||
@ -558,7 +566,8 @@
|
|||||||
"faceShieldIsActiveChancePercent": 100,
|
"faceShieldIsActiveChancePercent": 100,
|
||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 75,
|
"lightIsActiveNightChancePercent": 75,
|
||||||
"laserIsActiveChancePercent": 75
|
"laserIsActiveChancePercent": 75,
|
||||||
|
"forceStock": true
|
||||||
},
|
},
|
||||||
"followerzryachiy": {
|
"followerzryachiy": {
|
||||||
"nvgIsActiveChanceDayPercent": 10,
|
"nvgIsActiveChanceDayPercent": 10,
|
||||||
@ -586,6 +595,7 @@
|
|||||||
"lightIsActiveDayChancePercent": 25,
|
"lightIsActiveDayChancePercent": 25,
|
||||||
"lightIsActiveNightChancePercent": 75,
|
"lightIsActiveNightChancePercent": 75,
|
||||||
"laserIsActiveChancePercent": 75,
|
"laserIsActiveChancePercent": 75,
|
||||||
|
"forceStock": true,
|
||||||
"weaponModLimits": {
|
"weaponModLimits": {
|
||||||
"scopeLimit": 2,
|
"scopeLimit": 2,
|
||||||
"lightLaserLimit": 1
|
"lightLaserLimit": 1
|
||||||
@ -616,6 +626,7 @@
|
|||||||
"lightIsActiveDayChancePercent": 35,
|
"lightIsActiveDayChancePercent": 35,
|
||||||
"lightIsActiveNightChancePercent": 95,
|
"lightIsActiveNightChancePercent": 95,
|
||||||
"laserIsActiveChancePercent": 95,
|
"laserIsActiveChancePercent": 95,
|
||||||
|
"forceStock": true,
|
||||||
"weaponModLimits": {
|
"weaponModLimits": {
|
||||||
"scopeLimit": 1,
|
"scopeLimit": 1,
|
||||||
"lightLaserLimit": 1
|
"lightLaserLimit": 1
|
||||||
|
@ -273,11 +273,13 @@ export class BotEquipmentModGenerator
|
|||||||
modSpawnChances.mod_handguard = 100;
|
modSpawnChances.mod_handguard = 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If stock mod can take a sub stock mod, force spawn chance to be 100% to ensure stock gets added
|
// If stock mod can take a sub stock mod, force spawn chance to be 100% to ensure sub-stock gets added
|
||||||
if (modSlot === "mod_stock" && modToAddTemplate._props.Slots.find(x => x._name.includes("mod_stock")))
|
// Or if mod_stock is configured to be forced on
|
||||||
|
if (modSlot === "mod_stock" && (modToAddTemplate._props.Slots.find(x => x._name.includes("mod_stock") || botEquipConfig.forceStock)))
|
||||||
{
|
{
|
||||||
// Stock mod can take additional stocks, could be a locking device, force 100% chance
|
// Stock mod can take additional stocks, could be a locking device, force 100% chance
|
||||||
modSpawnChances.mod_stock = 100;
|
const stockSlots = ["mod_stock", "mod_stock_000", "mod_stock_akms"];
|
||||||
|
this.adjustSlotSpawnChances(modSpawnChances, stockSlots, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
const modId = this.hashUtil.generate();
|
const modId = this.hashUtil.generate();
|
||||||
|
@ -110,6 +110,8 @@ export interface EquipmentFilters
|
|||||||
weightingAdjustmentsByBotLevel: WeightingAdjustmentDetails[]
|
weightingAdjustmentsByBotLevel: WeightingAdjustmentDetails[]
|
||||||
/** Same as weightingAdjustments but based on player level instead of bot level */
|
/** Same as weightingAdjustments but based on player level instead of bot level */
|
||||||
weightingAdjustmentsByPlayerLevel?: WeightingAdjustmentDetails[]
|
weightingAdjustmentsByPlayerLevel?: WeightingAdjustmentDetails[]
|
||||||
|
/** Should the stock mod be forced to spawn on bot */
|
||||||
|
forceStock: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ModLimits
|
export interface ModLimits
|
||||||
|
Loading…
Reference in New Issue
Block a user