物品:获取装备上限

This commit is contained in:
luying
2021-08-02 20:47:49 +08:00
parent abb74b9e6b
commit 2e961691b5
14 changed files with 315 additions and 222 deletions
+14 -2
View File
@@ -3,6 +3,7 @@ import { index, getModelForClass, prop, DocumentType, modelOptions } from '@type
import { COUNTER } from '../consts';
import { CounterModel } from './Counter';
import { HeroModel } from './Hero';
import { RoleModel } from './Role';
export class RandSe {
@prop({ required: true })
@@ -98,6 +99,16 @@ export default class Equip extends BaseModel {
return equip;
}
public static async createEquips(roleId: string, equipInfos: equipUpdate[]) {
let result: EquipType[] = [];
for(let equipInfo of equipInfos) {
let equip = await this.createEquip(equipInfo);
result.push(equip);
}
await RoleModel.increaseEquip(roleId, result.length);
return result;
}
public static async putOnOrOff(equipId: string, hid: number, lean = true) {
const equip: EquipType = await EquipModel.findOneAndUpdate({ _id: equipId }, { hid }, { new: true }).lean(lean);
return equip;
@@ -113,8 +124,9 @@ export default class Equip extends BaseModel {
let result = await EquipModel.deleteMany({ roleId });
return result;
}
public static async deleteEquips(ids: Array<number>) {
let result = await EquipModel.deleteMany({ seqId: { $in: ids } });
public static async deleteEquips(roleId: string, ids: Array<number>) {
let result = await EquipModel.deleteMany({ roleId, seqId: { $in: ids } });
await RoleModel.findOneAndUpdate({ roleId }, { $inc: { equipCount: -1 * ids.length } }, { new: true });
return result;
}