军团:添加邀请红点和演武台功能

This commit is contained in:
luying
2021-12-21 16:59:29 +08:00
parent a4f426e172
commit 5f2c07da00
10 changed files with 71 additions and 33 deletions

View File

@@ -29,6 +29,9 @@ export default class BossInstance extends BaseModel {
@prop({ required: true })
bossHp: number;
@prop({ required: true })
bossTotalHp: number;
@prop({ required: true })
bossLv: number;
@@ -66,7 +69,7 @@ export default class BossInstance extends BaseModel {
public static async openBossInstance(guildCode: string, bossHp: number, warId: number, bossLv: number) {
let code = genCode(10);
let doc = new BossInstanceModel();
let update = Object.assign(doc.toJSON(), { guildCode, bossHp, bossLv, warId });
let update = Object.assign(doc.toJSON(), { guildCode, bossHp, bossTotalHp: bossHp, bossLv, warId });
const bossInstance: BossInstanceType = await BossInstanceModel.findOneAndUpdate({ code },{ $set: update }, {new: true, upsert: true}).lean();
return bossInstance;
}

View File

@@ -28,7 +28,22 @@ export default class UserGuildApply extends BaseModel {
// 创建申请或邀请
public static async createUserGuildApply(role: RoleType, guild: GuildType, type: number) {
const applyCode = genCode(10);
const result: UserGuildApplyType = await UserGuildApplyModel.findOneAndUpdate({ roleId: role.roleId, guildCode: guild.code, type }, { $set: { roleId: role.roleId, role: role._id, guildCode: guild.code, guild: guild._id }, $setOnInsert: { applyCode }}, { upsert: true, new: true }).lean();
const result: UserGuildApplyType = await UserGuildApplyModel.findOneAndUpdate(
{ roleId: role.roleId, guildCode: guild.code, type },
{ $set: { roleId: role.roleId, role: role._id, guildCode: guild.code, guild: guild._id }, $setOnInsert: { applyCode }
}, { upsert: true, new: true })
.select('applyCode guild')
.populate({
path: 'guild',
select: 'code icon name lv memberCnt leader ceLimit',
model: 'Guild',
populate: {
path: 'leader',
select: 'roleName',
model: 'Role'
}
})
.lean();
return result;
}

View File

@@ -61,9 +61,11 @@ export interface DicBossBase {
readonly opencost: number;
// 击杀奖励
readonly killReward: RewardInter[];
// 伤害加成奖励
readonly damageReward: RewardInter[];
// 伤害加成系数
// 伤害加成奖励 参与奖励
readonly basicReward: RewardInter[];
// 伤害加成奖励 伤害贡献奖励
readonly damageRewardTotal: RewardInter[];
// boss血量系数boss血量为中位数 * ratio
readonly ratio: number;
// 鼓舞次数
readonly encourageSum: number;
@@ -78,7 +80,8 @@ const DicBossKeys: KeysEnum<DicBossBase> = {
consume: true,
opencost: true,
killReward: true,
damageReward: true,
basicReward: true,
damageRewardTotal: true,
ratio: true,
encourageSum: true
};
@@ -214,7 +217,8 @@ export function loadStructure() {
return { warId: parseInt(warArr[0]), bossHp: parseInt(warArr[1])}
});
o.killReward = parseGoodStr(o.killReward);
o.damageReward = parseGoodStr(o.damageReward);
o.basicReward = parseGoodStr(o.basicReward);
o.damageRewardTotal = parseGoodStr(o.damageRewardTotal);
dicBossBase.set(o.level, _.pick(o, Object.keys(DicBossKeys)));
dicBossBaseByBossLv.set(o.bossLevel, _.pick(o, Object.keys(DicBossKeys)));
});

View File

@@ -252,7 +252,7 @@
{
"id": 26,
"name": "玉石",
"rewardBasicPool": "17052&10",
"rewardBasicPool": "17052&10&1",
"totalCount": 1,
"itid": 38,
"basePrice": "31002&120",
@@ -262,7 +262,7 @@
{
"id": 27,
"name": "玉髓",
"rewardBasicPool": "17053&1",
"rewardBasicPool": "17053&1&1",
"totalCount": 1,
"itid": 38,
"basePrice": "31002&40",
@@ -272,7 +272,7 @@
{
"id": 28,
"name": "蜀锦",
"rewardBasicPool": "40006&1",
"rewardBasicPool": "40006&1&1",
"totalCount": 1,
"itid": 38,
"basePrice": "31002&840",
@@ -282,7 +282,7 @@
{
"id": 29,
"name": "高级经验书",
"rewardBasicPool": "11003&1",
"rewardBasicPool": "11003&1&1",
"totalCount": 1,
"itid": 38,
"basePrice": "31002&300",