升级建筑物

This commit is contained in:
luying
2021-01-21 16:25:32 +08:00
parent b5ba00f1cf
commit 48ee9267ab
6 changed files with 111 additions and 16 deletions
+4
View File
@@ -138,6 +138,10 @@ export const STATUS = {
GUILD_AUTH_NOT_CHANGE: { code: 20911, simStr: '权限未发生变化' },
GUILD_MEMBER_NOT_FOUND: { code: 20912, simStr: '未找到该成员' },
GUILD_LEADER_LOGIN: { code: 20913, simStr: '团长未离线满72小时' },
GUILD_STRUCTURE_NOT_FOUND: { code: 20914, simStr: '未找到该建筑物' },
GUILD_STRUCTURE_LV_MAX: { code: 20915, simStr: '建筑物已升至满级' },
GUILD_FUND_NOT_ENOUGH: { code: 20916, simStr: '资金不足' },
GUILD_MANAGER_REACH_MAX: { code: 20917, simStr: '管理员人数达到最大' },
// 通用 30000 - 30099
DIC_DATA_NOT_FOUND: { code: 30000, simStr: '数据表未找到' },
+15
View File
@@ -145,6 +145,21 @@ export default class Guild extends BaseModel {
const result = await GuildModel.findOneAndUpdate({ code }, { $set: update, $inc: incParam }, { new: true }).select(select).lean();
return result;
}
public static async upStructure(code: string, id: number, select?: string) {
if (id == GUILD_STRUCTURE.ARMY_CENTER) {
const result = await GuildModel.findOneAndUpdate({ code, 'structure.id': id }, { $inc: { 'structure.$.lv': 1, lv: 1 }, $set: { isMemberMax: false } }, { new: true }).select(select).lean();
return result;
} else {
const result = await GuildModel.findOneAndUpdate({ code, 'structure.id': id }, { $inc: { 'structure.$.lv': 1 } }, { new: true }).select(select).lean();
return result;
}
}
public static async costFund(code: string, cost: number) {
const result = await GuildModel.findOneAndUpdate({ code, fund: {$gte: cost}}, { $inc: { fund: -1 * cost } }, {new: true}).lean();
return result;
}
}
export const GuildModel = getModelForClass(Guild);
+4
View File
@@ -318,4 +318,8 @@ export function getResultMaxRank() {
export function getStructureConsume(structureId: number, level: number) {
return gameData.structureConsume.get(structureId).get(level);
}
export function hasStructureConsume(structureId: number, level: number) {
return gameData.structureConsume.get(structureId).has(level);
}
+4 -3
View File
@@ -144,7 +144,7 @@ const DicStoreKeys: KeysEnum<DicStoreBase> = {
storeGoods: true
};
export const dicStructureConsume = new Map<number, Map<number, RewardInter[]>>(); // 升级消耗 structureId => level => consume
export const dicStructureConsume = new Map<number, Map<number, number>>(); // 升级消耗 structureId => level => consume
export const dicCenterBase = new Map<number, DicCentreBase>(); // 中军大帐
export const dicEquipPriduceBase = new Map<number, DicEquipProduceBase>(); // 炼器堂
export const dicBossBase = new Map<number, DicBossBase>(); // 演武台
@@ -226,8 +226,9 @@ arrStore = undefined;
// 升级消耗
function setStructureConsume(o) {
let map = dicStructureConsume.get(o.structureId);
if(!map) map = new Map<number, RewardInter[]>();
map.set(o.level, parseGoodStr(o.consume));
if(!map) map = new Map<number, number>();
map.set(o.level, o.consume);
dicStructureConsume.set(o.structureId, map);
}
// {"type": number, "count": number}