✨ feat(gvg): 宝箱奖励和等级奖励
This commit is contained in:
@@ -571,6 +571,7 @@ export const FILENAME = {
|
||||
DIC_GVG_ITEM: 'dic_zyz_GVGItems',
|
||||
DIC_GVG_LEAGUE_LV: 'dic_zyz_GVGLeagueLv',
|
||||
DIC_GVG_RESOURCE_BASE: 'dic_zyz_GVGResourceBase',
|
||||
DIC_GVG_CONTRIBUTE_BOX: 'dic_zyz_GVGContributeBox',
|
||||
}
|
||||
|
||||
export const WAR_RELATE_TABLES = [
|
||||
@@ -1077,7 +1078,9 @@ export enum ITEM_CHANGE_REASON {
|
||||
PLANT = 164, // 种田
|
||||
PLANT_ROLLBACK = 165, // 种田的时候田已经被抢了回滚
|
||||
HARVEST = 166, // 收获
|
||||
MINE_END = 165, // 挖矿
|
||||
MINE_END = 167, // 挖矿
|
||||
GVG_RECEIVE_BOX = 167, // 领取宝箱
|
||||
GVG_RECEIVE_LV = 168, // 领取等级奖励
|
||||
}
|
||||
|
||||
export enum TA_EVENT {
|
||||
|
||||
@@ -327,6 +327,11 @@ export const STATUS = {
|
||||
GVG_ITEM_CANNOT_USE: { code: 21321, simStr: '此处不可使用这个道具' },
|
||||
GVG_FORESTRY_HAS_HARVEST: { code: 21322, simStr: '本次伐木已结算过' },
|
||||
GVG_MINE_HAS_HARVEST: { code: 21323, simStr: '本次挖矿已结算过' },
|
||||
GVG_BOX_HAS_RECEIVED: { code: 21324, simStr: '宝箱已领取' },
|
||||
GVG_BOX_POINT_NOT_ENOUGH: { code: 21325, simStr: '贡献点数不足' },
|
||||
GVG_LV_NOT_ENOUGH: { code: 21326, simStr: '联军等级不足' },
|
||||
GVG_LV_REWARD_HAS_RECEIVED: { code: 21327, simStr: '该等级奖励已领取过' },
|
||||
GVG_LV_REWARD_NOT_REACH: { code: 21328, simStr: '请先领取上一级奖励再领取这一等级' },
|
||||
|
||||
// 通用 30000 - 30099
|
||||
DIC_DATA_NOT_FOUND: { code: 30000, simStr: '数据表未找到' },
|
||||
|
||||
@@ -17,13 +17,6 @@ class ActiveRec {
|
||||
}
|
||||
}
|
||||
|
||||
class Box {
|
||||
@prop({ required: true, default: 0 })
|
||||
job: number; // 宝箱积分
|
||||
@prop({ required: true, default: [], type: Number })
|
||||
received: number[]; // 领取记录
|
||||
}
|
||||
|
||||
export class Distribute {
|
||||
@prop({ required: true, default: 0 })
|
||||
food: number = 0; // 粮食
|
||||
@@ -63,8 +56,8 @@ export default class GVGUserData extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
receiveCurrencyTime: number; // 领取内政令&征战令时间
|
||||
|
||||
@prop({ required: true, default: [], type: Box, _id: false })
|
||||
box: Box[];
|
||||
@prop({ required: true, default: [], type: Number })
|
||||
box: number[];
|
||||
|
||||
@prop({ required: true, default: {}, _id: false })
|
||||
distribute: Distribute;
|
||||
@@ -112,6 +105,16 @@ export default class GVGUserData extends BaseModel {
|
||||
}, { new: true, upsert: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async receiveBox(configId: number, leagueCode: string, roleId: string, boxId: number) {
|
||||
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({ configId, leagueCode, roleId }, { $push: { box: boxId }}, { new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async receiveLv(configId: number, leagueCode: string, roleId: string, lv: number) {
|
||||
const result: GVGUserDataType = await GVGUserDataModel.findOneAndUpdate({ configId, leagueCode, roleId }, { $set: { lv }}, { new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const GVGUserDataModel = getModelForClass(GVGUserData);
|
||||
|
||||
@@ -123,6 +123,7 @@ import { dicGVGTech, loadGVGTech } from "./dictionary/DicGVGTech";
|
||||
import { dicGVGItem, loadGVGItem } from "./dictionary/DicGVGItems";
|
||||
import { dicGVGLeagueLv, loadGVGLeagueLv } from "./dictionary/DicGVGLeagueLv";
|
||||
import { dicGVGResourceBase, dicGVGResourceBaseByType, dicGVGResourceBaseByLv, loadGVGResourceBase, DicGVGResourceBase } from './dictionary/DicGVGResourceBase';
|
||||
import { dicGVGContributeBox, loadGVGContributeBox } from './dictionary/DicGVGContributeBox';
|
||||
|
||||
export const gameData = {
|
||||
daily: dicDaily,
|
||||
@@ -310,6 +311,7 @@ export const gameData = {
|
||||
gvgResourceBaseByLv: dicGVGResourceBaseByLv,
|
||||
gvgFieldAddType: new Map<number, number>(),
|
||||
gvgSpFieldRatio: { min: 0, max: 0},
|
||||
gvgContributeBox: dicGVGContributeBox,
|
||||
};
|
||||
|
||||
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
|
||||
@@ -1343,6 +1345,7 @@ function loadDatas() {
|
||||
loadGVGItem();
|
||||
loadGVGLeagueLv();
|
||||
loadGVGResourceBase();
|
||||
loadGVGContributeBox();
|
||||
}
|
||||
|
||||
// 重载dicParam
|
||||
|
||||
30
shared/pubUtils/dictionary/DicGVGContributeBox.ts
Normal file
30
shared/pubUtils/dictionary/DicGVGContributeBox.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
// GVG千机阁
|
||||
import { FILENAME } from '../../consts'
|
||||
import { RewardInter } from '../interface';
|
||||
import { parseGoodStr, readFileAndParse } from '../util'
|
||||
|
||||
export interface DicGVGContributeBox {
|
||||
// 唯一id
|
||||
id: number;
|
||||
// 职能 1-贤臣 2-猛将
|
||||
job: number;
|
||||
// 所需积分点
|
||||
boxPoint: number;
|
||||
// 奖励,普通背包物品
|
||||
boxReward: RewardInter[];
|
||||
// 奖励,联军相关道具物品
|
||||
boxLeagueReward: RewardInter[];
|
||||
}
|
||||
|
||||
export const dicGVGContributeBox = new Map<number, DicGVGContributeBox>();
|
||||
export function loadGVGContributeBox() {
|
||||
dicGVGContributeBox.clear();
|
||||
|
||||
let arr = readFileAndParse(FILENAME.DIC_GVG_CONTRIBUTE_BOX);
|
||||
arr.forEach(o => {
|
||||
o.boxReward = parseGoodStr(o.boxReward);
|
||||
o.boxLeagueReward = parseGoodStr(o.boxLeagueReward)
|
||||
dicGVGContributeBox.set(o.id, o);
|
||||
});
|
||||
arr = undefined;
|
||||
}
|
||||
Reference in New Issue
Block a user