演武台:伤害测试

This commit is contained in:
luying
2022-05-16 10:19:34 +08:00
parent 4c634e5300
commit 8e5047e238
2 changed files with 22 additions and 10 deletions

View File

@@ -4,7 +4,7 @@ import { AUCTION_SOURCE, DEBUG_MAGIC_WORD, ITEM_CHANGE_REASON, MAIL_TYPE, PUSH_R
import { BossInstanceModel } from '../../../db/BossInstance';
import { BattleRecordModel } from '../../../db/BattleRecord';
import { nowSeconds, getZeroPoint, getSeconds } from '../../../pubUtils/timeUtil';
import { getBossInstanceInfo, checkBossBattleMemberExists, pushBossHpMessage, addBossInstance, refreshUserGuildOfBoss, refreshGuildOfBoss, getBossHp, getBossInstanceInfoByData, pushBossStatus } from '../../../services/guildBossService';
import { getBossInstanceInfo, checkBossBattleMemberExists, pushBossHpMessage, addBossInstance, refreshUserGuildOfBoss, refreshGuildOfBoss, getBossHp, getBossInstanceInfoByData, pushBossStatus, zoomOutDamage, zoomInDamage } from '../../../services/guildBossService';
import { findWhere } from 'underscore'
import { GUILD_STRUCTURE, GUILD_BOSS_STATUS, GUILD_POINT_WAYS } from '../../../consts/constModules/guildConst';
import { DATA_NAME } from '../../../consts/dataName';
@@ -113,7 +113,7 @@ export class GuildHandler {
$set: {
roleId, roleName, battleId: warId,
status: 0,
record: { heroes: [], bossInstanceCode: bossCode, bossHp: bossHp, encourageCnt },
record: { heroes: [], bossInstanceCode: bossCode, bossHp: zoomOutDamage(bossHp), encourageCnt },
}
}, true);
const serverId: number = parseInt(session.get('serverId'));
@@ -163,11 +163,11 @@ export class GuildHandler {
}
//记录伤害
let bossInstance = await BossInstanceModel.updateBossHp(bossCode, damage, roleId);
let bossInstance = await BossInstanceModel.updateBossHp(bossCode, zoomInDamage(damage), roleId);
if(!bossInstance) { // 如果已经被扣成负的了
return resResult(STATUS.SUCCESS, { bossHp: 0 });
}
await BattleRecordModel.incBossDamage(battleCode, damage, bossInstance.bossHp);
await BattleRecordModel.incBossDamage(battleCode, zoomInDamage(damage), bossInstance.bossHp);
if (bossInstance.bossHp <= 0) {//进入结算

View File

@@ -45,7 +45,7 @@ export async function getBossInstanceInfoByData(bossInstance: BossInstanceType,
let { code, warId, ranks, bossHp, bossTotalHp, ratio, bossLv, encourageCnt } = bossInstance;
let dicBossBase = gameData.bossBaseByBossLv.get(bossLv);
let rankInfo = getRanks(ranks, userGuild.roleId);
bossInfo = { bossCode: code, warId, ...rankInfo, bossHp, bossTotalHp, bossLv, encourageCnt, encourageMax: dicBossBase.encourageSum, ratio };
bossInfo = { bossCode: code, warId, ...rankInfo, bossHp: zoomOutDamage(bossHp), bossTotalHp: zoomOutDamage(bossTotalHp), bossLv, encourageCnt, encourageMax: dicBossBase.encourageSum, ratio };
}
return { status, bossInfo, ...refObj }
}
@@ -93,9 +93,9 @@ export function getRanks(ranks: {roleId: string; score: number; time: number; jo
let myRank = {};
let lastRanks = ranks.map(({roleId: battleRoleId, score }, index) => {
if (roleId == battleRoleId) {
myRank = { roleId, score, rankLv: index + 1 };
myRank = { roleId, score: zoomOutDamageWithoutRadix(score), rankLv: index + 1 };
}
return {roleId: battleRoleId, score, rankLv: index + 1};
return {roleId: battleRoleId, score: zoomOutDamageWithoutRadix(score), rankLv: index + 1};
});
return { ranks: lastRanks, myRank }
}
@@ -143,7 +143,7 @@ export async function pushBossHpMessage(code: string, serverId:number, bossHp:nu
let sid = arr[1];
return {uid, sid};
});
sendMessageToUsersWithSuc(PUSH_ROUTE.BOSS_HP_UPDATE, { bossHp }, uids);
sendMessageToUsersWithSuc(PUSH_ROUTE.BOSS_HP_UPDATE, { bossHp: zoomOutDamage(bossHp) }, uids);
if (isDelKey) {
delAsync(key);
}
@@ -193,7 +193,7 @@ export async function getBossHp(serverId: number, guildCode: string, dicBossBase
console.log('getBossHp', warId, minBossHp, bossHpRatio)
let serverRecord = await ServerRecordModel.findTodayData(serverId);
if(!serverRecord) return { ratio: 1, bossHp: minBossHp };
if(!serverRecord) return { ratio: 1, bossHp: zoomInDamage(minBossHp) };
let dicWar = gameData.war.get(warId);
let dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId);
@@ -224,5 +224,17 @@ export async function getBossHp(serverId: number, guildCode: string, dicBossBase
bossHp = minBossHp;
}
console.log(`getBossHp B ${B}`);
return { ratio: B, bossHp };
return { ratio: B, bossHp: zoomInDamage(bossHp) };
}
export function zoomInDamage(damage: number, ratio = 100) {
return Math.floor(damage * ratio);
}
export function zoomOutDamage(damage: number, ratio = 100) {
return Math.floor(damage)/ratio;
}
export function zoomOutDamageWithoutRadix(damage: number, ratio = 100) {
return Math.floor(damage/ratio);
}