寻宝掉落

This commit is contained in:
liangtongchuan
2020-12-02 00:16:07 +08:00
parent 15cf434d73
commit cdd889f1aa
9 changed files with 116 additions and 13 deletions
+27 -3
View File
@@ -1,7 +1,8 @@
import { STATUS } from './../consts/statusCode';
import { COM_BATTLE_ROBOT_ID_NAME, COM_BATTLE_ROBOT_CE_RATIO, COM_BATTLE_ROBOT_ROUND_LMT, COM_BATTLE_ROBOT_HURT_RATIO, COM_BATTLE_ROBOT_HURT_CH_RATIO, COM_TEAM_STATUS } from './../consts/consts';
import { RoleStatus } from './../db/ComBattleTeam';
import { getBluePrtByQuality } from "../pubUtils/gamedata";
import { getRandEelm, getRandValue } from "../pubUtils/util";
import { RoleStatus, ComBattleTeamModel } from './../db/ComBattleTeam';
import { getBluePrtByQuality, getRewardByBlueprtId } from "../pubUtils/gamedata";
import { getRandEelm, getRandValue, resResult, ratioReward } from "../pubUtils/util";
import { getRandRobot } from "./battleService";
/**
@@ -70,4 +71,27 @@ export function checkComBattleResult(teamStatus) {
}
}
return COM_TEAM_STATUS.FIGHTING;
}
export async function checkComBattleDrop(roleId: string, battleCode: string) {
let team = await ComBattleTeamModel.getTeamByRoleAndBattleCode(roleId, battleCode);
if (team.status !== COM_TEAM_STATUS.WIN) return { status: -1, resResult: resResult(STATUS.COM_BATTLE_REWARD_ERR) };
let roleSt = null;
team.roleStatus.forEach(st => {
if (st.roleId === roleId) {
roleSt = st;
}
});
if (!roleSt || roleSt.gotReward) return { status: -1, resResult: resResult(STATUS.COM_BATTLE_REWARD_ERR) };
let fixReward = getRewardByBlueprtId(team.blueprtId);
if (!roleSt.isCap) {
if (roleSt.isFrd) {
fixReward = '&';
// TODO: 消耗品情谊点添加
} else {
fixReward = ratioReward(fixReward, COM_BATTLE_ROBOT_HURT_CH_RATIO);
}
}
await ComBattleTeamModel.updateRewardSt(roleId, battleCode, true);
return {status: 0, fixReward};
}