✨ feat(副将): 设置副将
This commit is contained in:
@@ -163,6 +163,12 @@ export default class Hero extends BaseModel {
|
||||
@prop({ required: true, type: Reward, default: [], _id: false })
|
||||
consumes: Reward[]; // 武将装备引用数组
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
subHid: number; // 副将
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
subActorId: number; // 副将
|
||||
|
||||
public static async findByRole(roleId: string, sort: { field: string, sortBy: number }[] = [], select?: string, getters = false) {
|
||||
let sortParam = {};
|
||||
for (let { field, sortBy } of sort) {
|
||||
@@ -205,6 +211,18 @@ export default class Hero extends BaseModel {
|
||||
return hero;
|
||||
}
|
||||
|
||||
public static async findSubHero(roleId: string, subHid: number) {
|
||||
const hero: HeroType = await HeroModel.findOne({ roleId, subHid }).lean();
|
||||
return hero;
|
||||
}
|
||||
|
||||
// 设置副将
|
||||
public static async setSubHero(roleId: string, hid: number, subSkinId: number, subActorId: number) {
|
||||
const preHero = subActorId > 0? await HeroModel.findOneAndUpdate({ roleId, subActorId }, { $set: { subActorId: 0, subHid: 0 } }, { new: true }).lean(): null;
|
||||
const curHero: HeroType = await HeroModel.findOneAndUpdate({ roleId, hid }, { $set: { subHid: subSkinId, subActorId } }, { new: true }).lean();
|
||||
return { preHid: preHero?.hid||0, curHero };
|
||||
}
|
||||
|
||||
public static async addEquip(roleId: string, hid: number, ePlaceId: number, equipId: string) {
|
||||
const hero: HeroType = await HeroModel.findOneAndUpdate(
|
||||
{ roleId, hid, 'ePlace.id': ePlaceId },
|
||||
|
||||
Reference in New Issue
Block a user