远征:修改机器人模板计算

This commit is contained in:
luying
2021-09-10 15:45:01 +08:00
parent dd70efddbe
commit a6525ef254
11 changed files with 78 additions and 13 deletions
@@ -196,11 +196,12 @@ export async function matchRobots(scale: number, myCe: number, robotCe: number,
enemyObj.enemyId = warJsonIndex + '';
let allCe = 0;
let dicExpeditionSubAttr = gameData.expeditionSubAttr.get(lv);
for(let json of dicWarJson) {
if(json.relation == 2) {
const { attribute } = json;
let { attribute: newAttribute, ce } = getRobotAttribute(attribute, myCe, robotCe, scale);
let { attribute: newAttribute, ce } = getRobotAttribute(attribute, dicExpeditionSubAttr.attribute, dicExpeditionSubAttr.lv, myCe, robotCe, scale);
enemyObj.enemies.push({...json, attribute: newAttribute, lv, ce});
allCe += ce;
}
+7 -3
View File
@@ -282,7 +282,7 @@ async function matchRobot(oppPlayers: OppPlayers[], mapWarJson: DicWarJson[], ro
if (!dicHero) continue;
let heroInfo = new PvpHeroInfo();
heroInfo.setRobotInfo(h, myLv, dicHero.initialStars, dicHero.quality);
let { attribute, ce } = getRobotAttribute(h.attribute, myCe, PVP_CONST.ENEMY_CE, ratio);
let { attribute, ce } = getRobotAttribute(h.attribute, [], pLv, myCe, PVP_CONST.ENEMY_CE, ratio);
defCe += ce;
heroInfo.setAttribute(attribute);
let enemy = new PvpEnemies(warJson, heroInfo, 0, ce);
@@ -513,10 +513,14 @@ export async function findPvpDefAllByRoleId(roleId: string) {
* @param enemyCe 出兵表对手战力
* @param ratio 系数
*/
export function getRobotAttribute(attribute: { id: number, val: number }[], ce: number, enemyCe: number, ratio: number) {
export function getRobotAttribute(mainAttrs: { id: number, val: number }[], subAttrs: {id: number, val: number}[], lv: number, ce: number, enemyCe: number, ratio: number) {
let newAttribute = new AttributeCal();
newAttribute.setByWarJson(attribute, Math.sqrt(ce / enemyCe * ratio));
newAttribute.setLv(lv);
newAttribute.setByWarJson(subAttrs); // 次级属性
let subAttrCe = newAttribute.calSubAttrCeAndReduce();
let mainAttrCe = ce > subAttrCe? ce - subAttrCe: 0;
newAttribute.setByWarJson(mainAttrs, mainAttrCe / enemyCe * ratio);
let attrArr = newAttribute.getReduceAttributesToString();
let newCe = newAttribute.calCelAndReduce();
return { attribute: attrArr, ce: newCe };