#284 fixed flea armors not having random values (!193)

https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/284

Probably needs some balancing since some armors are very random, some are not at all. It feels pretty realistic I think.

Any feedback is appriciated.

Co-authored-by: r2go-beep <hans@hummelusa.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/193
Co-authored-by: r2go <r2go@noreply.dev.sp-tarkov.com>
Co-committed-by: r2go <r2go@noreply.dev.sp-tarkov.com>
This commit is contained in:
r2go 2024-01-13 09:03:51 +00:00 committed by chomp
parent 22ad266b27
commit a87129c541

View File

@ -672,8 +672,8 @@ export class RagfairOfferGenerator
protected randomiseArmorDurabilityValues(armorWithMods: Item[]): void protected randomiseArmorDurabilityValues(armorWithMods: Item[]): void
{ {
const childMultiplerValues = {}; let childMultiplerValues = {};
if (this.randomUtil.getChance100(25)) { // chance the armor is damaged
for (const item of armorWithMods) for (const item of armorWithMods)
{ {
const itemDbDetails = this.itemHelper.getItem(item._tpl)[1]; const itemDbDetails = this.itemHelper.getItem(item._tpl)[1];
@ -687,21 +687,23 @@ export class RagfairOfferGenerator
// Store mod types durabiltiy multiplier for later use in current/max durability value calculation // Store mod types durabiltiy multiplier for later use in current/max durability value calculation
if (!childMultiplerValues[itemDbDetails._parent]) if (!childMultiplerValues[itemDbDetails._parent])
{ {
childMultiplerValues[itemDbDetails._parent] = Math.round(this.randomUtil.getFloat( childMultiplerValues[itemDbDetails._parent] = this.randomUtil.getFloat(
this.ragfairConfig.dynamic.condition[itemDbDetails._parent].min, this.ragfairConfig.dynamic.condition[itemDbDetails._parent].min,
this.ragfairConfig.dynamic.condition[itemDbDetails._parent].max, this.ragfairConfig.dynamic.condition[itemDbDetails._parent].max,
)); )/this.ragfairConfig.dynamic.condition[itemDbDetails._parent].max;
} }
const maxDurability = Math.round( let maxDurability = Math.round(
this.randomUtil.getFloat(itemDbDetails._props.MaxDurability * this.randomUtil.getFloat(childMultiplerValues[itemDbDetails._parent], 1), itemDbDetails._props.MaxDurability), this.randomUtil.getFloat(itemDbDetails._props.MaxDurability * this.randomUtil.getFloat(childMultiplerValues[itemDbDetails._parent], 1), itemDbDetails._props.MaxDurability),
); );
let durability = Math.round(
this.randomUtil.getFloat(maxDurability * this.randomUtil.getFloat(childMultiplerValues[itemDbDetails._parent], 1), maxDurability),
);
item.upd.Repairable = { item.upd.Repairable = {
Durability: Math.round(itemDbDetails._props.MaxDurability * childMultiplerValues[itemDbDetails._parent]) || 1, Durability: durability || 1,
MaxDurability: maxDurability MaxDurability: maxDurability
}; };
}
const x = 2;
} }
} }
} }