军团活动:修改诸侯混战城门血量计算公式

This commit is contained in:
luying
2022-06-10 17:55:15 +08:00
parent dc90eddac0
commit 962932adca
9 changed files with 97 additions and 11 deletions
@@ -186,7 +186,7 @@ export class CityActivityHandler {
const dbCities = await GuildActivityCityModel.getAllCities(serverId);
let cityStatus = pubGetCityStatus(guildCode, cityId, dicCity, dbCities);
// 全服活跃统计
await ServerRecordModel.addActiveGuild(serverId, guildCode);
await ServerRecordModel.addActiveGuild(serverId, roleId, guildCode);
// 任务
await checkTask(serverId, roleId, sid, TASK_TYPE.GUILD_ACTIVITY, { aid: this.aid });
@@ -92,7 +92,7 @@ export class GateActivityHandler {
let r = new Rank(REDIS_KEY.GATE_ACTIVITY, { serverId }, true);
let guildScore = await r.getMyScore({ guildCode });
// 全服活跃统计
await ServerRecordModel.addActiveGuild(serverId, guildCode);
await ServerRecordModel.addActiveGuild(serverId, roleId, guildCode);
// 任务
await checkTask(serverId, roleId, sid, TASK_TYPE.GUILD_ACTIVITY, { aid: this.aid });
@@ -106,7 +106,7 @@ export class RaceActivityHandler {
await sendMessageToGuildWithSuc(guildCode, PUSH_ROUTE.GUILD_RACE_JOIN, { timestamp: Date.now(), woodenHorse });
// 全服活跃统计
await ServerRecordModel.addActiveGuild(serverId, guildCode);
await ServerRecordModel.addActiveGuild(serverId, roleId, guildCode);
// 任务
await checkTask(serverId, roleId, sid, TASK_TYPE.GUILD_ACTIVITY, { aid: this.aid });
@@ -26,6 +26,7 @@ import { ActivePlayer, GuildRecord, ServerRecordModel } from "../../db/ServerRec
import { Attack } from "../../domain/battleField/pvp";
import { getHonourObject } from "../role/rewardService";
import { sendMessageToCityWithSuc, sendMessageToGuildWithSuc, sendMessageToServerWithSuc } from "../pushService";
import { saveGuildGateHpLog } from "../../pubUtils/logUtil";
let gateActivityObj: GateActivityObject;
let cityActivityObj: CityActivityObject;
@@ -780,12 +781,15 @@ export async function getCityActivityGateHp(serverId: number, cityId: number) {
let serverRecord = await ServerRecordModel.findTodayData(serverId);
if(!serverRecord) return dicCityActivity.hp;
let activePlayerCnt = 1, activePlayerCe = 0, activeTopPlayerCnt = 1, activeGuildCnt = 1;
let activePlayerCnt = 50; // 前一天参与军团活动的玩家
let activeGuildCnt = 5; // 前一天参与军团活动的军团
let activePlayerCe = 0; // 前一天前十玩家的最强战力和
let activeTopPlayerCnt = 1; // 前一天最强玩家数量
if(serverRecord) {
if(serverRecord.activePlayerCnt > 0) activePlayerCnt = serverRecord.activePlayerCnt;
if(serverRecord.activePlayerCe > 0) activePlayerCe = serverRecord.activePlayerCe;
if(serverRecord.activePlayers?.length > 0) activeTopPlayerCnt = serverRecord.activePlayers?.length;
if(serverRecord.activeGuildCodes?.length > 0) activeGuildCnt = serverRecord.activeGuildCodes?.length;
if(serverRecord.activeGuildMembers?.length > 0) activePlayerCnt = serverRecord.activeGuildMembers?.length;
}
console.log(`getCityActivityGateHp: activePlayerCnt ${activePlayerCnt}, activePlayerCe ${activePlayerCe}, activeTopPlayerCnt ${activeTopPlayerCnt} activeGuildCnt ${activeGuildCnt}`);
@@ -803,6 +807,9 @@ export async function getCityActivityGateHp(serverId: number, cityId: number) {
let gateHp = Math.floor(gateHpBase * (activePlayerCnt/activeGuildCnt) * N);
console.log(`getCityActivityGateHp: gateHp ${gateHp}`);
saveGuildGateHpLog(serverId, cityId, { activePlayerCnt, activePlayerCe, activeTopPlayerCnt, activeGuildCnt, atk, A, hpBase: gateHpBase, N, gateHp });
if(gateHp <= dicCityActivity.hp) {
gateHp = dicCityActivity.hp;
}
@@ -18,6 +18,7 @@ import { GUILDACTIVITY } from '../pubUtils/dicParam';
import { ServerRecordModel } from '../db/ServerRecords';
import { sendMessageToGuildWithSuc, sendMessageToUsersWithSuc } from './pushService';
import { AttributeCal } from '../domain/roleField/attribute';
import { saveGuildBossHpLog } from '../pubUtils/logUtil';
/**
* 获得boss界面
@@ -231,6 +232,7 @@ export async function getBossHp(serverId: number, guildCode: string, dicBossBase
bossHp = minBossHp;
}
console.log(`getBossHp B ${B}`);
saveGuildBossHpLog(serverId, warId, guildCode, { minBossHp, bossHpRatio, hp, activeCe, playerCnt, subCe, B, bossHp })
return { ratio: B, bossHp: zoomInDamage(bossHp) };
}