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

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

@@ -22,6 +22,7 @@ import { getGoldObject } from '../../../pubUtils/itemUtils';
import { RoleModel } from '../../../db/Role';
import { sendMailToGuildByContent } from '../../../services/mailService';
import { genAuction } from '../../../services/auctionService';
import { getMedianCe } from '../../../services/guildActivityService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -61,7 +62,12 @@ export class GuildHandler {
return resResult(STATUS.GUILD_STRUCTURE_NOT_FOUND);
}
let bossBase = getBossByLv(curStructure.lv);
let { bossHp, warId } = getRandSingleEelm(bossBase.wars);
let { bossHp: minBossHp, warId } = getRandSingleEelm(bossBase.wars);
let medianCe = await getMedianCe(serverId);
let bossHp = Math.ceil(medianCe * bossBase.ratio);
console.log('******* openBossInstance', medianCe, bossHp, minBossHp)
if(bossHp < minBossHp) bossHp = minBossHp;
let resGuild = await GuildModel.costFund(code, bossBase.opencost);
if (!resGuild) {
res.releaseCallback();
@@ -198,9 +204,11 @@ export class GuildHandler {
let { bossDamage = 0 } = battleRecord.record; // 伤害奖励
let dicBossBase = gameData.bossBaseByBossLv.get(bossInstance.bossLv);
let reward = dicBossBase.damageReward.map(({id, count}) => {
return { id, count: Math.floor(count * bossDamage * dicBossBase.ratio / 1000 ) }
});
let { basicReward, damageRewardTotal } = dicBossBase;
let damageReward = damageRewardTotal.map(cur => {
return { id: cur.id, count: Math.ceil(cur.count * bossDamage / bossInstance.bossTotalHp )}
})
let reward = [...basicReward, ...damageReward];
let battleGoods = await addItems(roleId, roleName, sid, reward, ITEM_CHANGE_REASON.BOSS_BATTLE_END);