军团活动:粮草先行还缺event记录和权限限制

This commit is contained in:
luying
2021-03-27 19:27:49 +08:00
parent 2afc250fd6
commit 2ea59fc3a3
15 changed files with 519 additions and 97 deletions

View File

@@ -67,7 +67,7 @@ import { dicChatAccuse } from "./dictionary/DicChatAccuse";
import { dicCityActivityReward } from "./dictionary/DicCityActivityReward";
import { dicRaceActivity, dicRaceTypes } from './dictionary/DicRaceActivity';
import { GUILDACTIVITY } from "./dicParam";
import { decodeIdCntArrayStr } from "./util";
import { decodeIdCntArrayStr, parseGoodStr, decodeArrayListStr, getRandValueByMinMax } from "./util";
import { GUILD_SELECT, RACE_EVENT_TYPE } from "../consts";
export const gameData = {
@@ -160,6 +160,8 @@ export const gameData = {
raceActivityEvents: dicRaceActivity,
raceTypes: dicRaceTypes,
raceActivityEncounter: decodeRaceActivityEncounter(),
raceNormalItems: decodeRaceNormalItems(),
raceEventItems: parseGoodStr(GUILDACTIVITY.RACEACTIVITY_EVENT_ITEMS||"")
};
// 在此提供一些原先在gamedata中提供的方法以便更方便获取gameData数据
@@ -509,4 +511,29 @@ function decodeRaceActivityEncounter() {
newMap.set(parseInt(key), parseInt(value));
}
return { events: newMap, eventNum };
}
function decodeRaceNormalItems() {
let str = GUILDACTIVITY.RACEACTIVITY_NORMAL_ITEMS;
let result = new Array<{ id: number, min: number, max: number }>();
if (!str) return result;
let decodeArr = decodeArrayListStr(str);
for (let [id, min, max] of decodeArr) {
if (isNaN(parseInt(id)) || isNaN(parseInt(min)) || isNaN(parseInt(max))) {
throw new Error('data table format wrong');
}
result.push({ id: parseInt(id), min: parseInt(min), max: parseInt(max) });
}
return result
}
export function getRaceEventItems() {
let items = gameData.raceNormalItems;
let result = new Array<RewardInter>();
for(let {id, min, max} of items) {
let count = getRandValueByMinMax(min, max);
result.push({ id, count });
}
return result;
}