Skip to content

Commit 8da78ee

Browse files
author
Chomp
committed
Sort the item tpls before joining them when generating a key to ensure consistency between data in config vs sacrificed items by player
1 parent 4cb4e65 commit 8da78ee

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

project/src/services/CircleOfCultistService.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ export class CircleOfCultistService {
161161
protected generateSacrificedItemsCache(directRewards: IDirectRewardSettings[]): Map<string, IDirectRewardSettings> {
162162
const result = new Map<string, IDirectRewardSettings>();
163163
for (const rewardSettings of directRewards) {
164-
const key = this.hashUtil.generateMd5ForData(rewardSettings.requiredItems.join(","));
164+
const key = this.hashUtil.generateMd5ForData(rewardSettings.requiredItems.sort().join(","));
165165
result.set(key, rewardSettings);
166166
}
167167

@@ -439,7 +439,7 @@ export class CircleOfCultistService {
439439
const sacrificedItemTpls = sacrificedItems.map((item) => item._tpl);
440440

441441
// Create md5 key of the items player sacrificed so we can compare against the direct reward cache
442-
const sacrificedItemsKey = this.hashUtil.generateMd5ForData(sacrificedItemTpls.join(","));
442+
const sacrificedItemsKey = this.hashUtil.generateMd5ForData(sacrificedItemTpls.sort().join(","));
443443

444444
const matchingDirectReward = directRewardsCache.get(sacrificedItemsKey);
445445
if (!matchingDirectReward) {
@@ -464,7 +464,7 @@ export class CircleOfCultistService {
464464
*/
465465
protected getDirectRewardHashKey(directReward: IDirectRewardSettings): string {
466466
// Key is sacrificed items separated by commas, a dash, then the rewards separated by commas
467-
const key = `{${directReward.requiredItems.join(",")}-${directReward.reward.join(",")}`;
467+
const key = `{${directReward.requiredItems.sort().join(",")}-${directReward.reward.sort().join(",")}`;
468468

469469
return this.hashUtil.generateMd5ForData(key);
470470
}

0 commit comments

Comments
 (0)