🐞 fix(guild): 捐赠宝箱重复领取&领取之后展示问题修复

This commit is contained in:
dingchaolin
2023-03-16 14:30:20 +08:00
parent 739ea2da6b
commit 36c81751bd
5 changed files with 125 additions and 127 deletions
+7 -1
View File
@@ -43,7 +43,7 @@ import { dicTrainSoloReward, loadTrainSoloReward } from './dictionary/DicTrainSo
import { RewardInter } from "./interface";
import { dicArmyDevelopConsume, loadArmyDevelopConsume } from './dictionary/DicArmyDevelopConsume';
import { dicArmyBossRank, loadArmyBossRank } from './dictionary/DicArmyBossRank';
import { dicArmyDonate, loadArmyDonate } from './dictionary/DicArmyDonateBoxReward';
import { dicArmyDonate, loadArmyDonate, dicArmyDonateBoxIdByIndexAndLv } from './dictionary/DicArmyDonateBoxReward';
import { dicRoleFriend, DicRoleFriend, loadRoleFriend } from "./dictionary/DicRoleFriend";
import { dicRoleFriendLv, loadRoleFriendLv } from "./dictionary/DicRoleFriendLv";
import { AttributeCal } from "../domain/roleField/attribute";
@@ -208,6 +208,7 @@ export const gameData = {
armyDevelopConsume: dicArmyDevelopConsume,
armyBossRank: dicArmyBossRank,
armyDonateBox: dicArmyDonate,
armyDonateBoxByIndexAndLv: dicArmyDonateBoxIdByIndexAndLv,
roleFriend: dicRoleFriend,
roleFriendLv: dicRoleFriendLv,
figureCondition: figureCondition,
@@ -679,6 +680,11 @@ export function getArmyDonateBaseByLv(lv: number) {
export function getArmyDonateBoxBaseById(id: number) {
return gameData.armyDonateBox.get(id);
}
export function getArmyDonateBoxBaseByLvAndIndex(lv: number, index: number) {
return gameData.armyDonateBoxByIndexAndLv.get(`${lv}_${index}`);
}
export function getFriendLvByExp(exp: number) {
let resultLv = 1;
for (let [lv, { sum }] of gameData.roleFriendLv.entries()) {
@@ -6,6 +6,7 @@ const _ = require('lodash');
export interface DicArmyDonate {
readonly id: number;
readonly index: number;
readonly level: number;
readonly fund: number;
readonly boxRewards: Array<RewardInter>;
@@ -13,12 +14,14 @@ export interface DicArmyDonate {
const DicArmyDonateKeys: KeysEnum<DicArmyDonate> = {
id: true,
index: true,
level: true,
fund: true,
boxRewards: true
};
export const dicArmyDonate = new Map<number, DicArmyDonate>();
export const dicArmyDonateBoxIdByIndexAndLv = new Map<string, DicArmyDonate>();
export function loadArmyDonate() {
dicArmyDonate.clear();
let arr = readFileAndParse(FILENAME.DIC_ARMY_DONATE_BOX_REWARD);
@@ -26,6 +29,7 @@ export function loadArmyDonate() {
arr.forEach(o => {
o.boxRewards = parseGoodStr(o.boxReward);
dicArmyDonate.set(o.id, _.pick(o, Object.keys(DicArmyDonateKeys)));
dicArmyDonateBoxIdByIndexAndLv.set(`${o.level}_${o.index}`, _.pick(o, Object.keys(DicArmyDonateKeys)));
});
arr = undefined;
}