远征本主界面及匹配机器人
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
|
||||
import { getWarById, getGoodById } from './gamedata';
|
||||
import { getWarById, getGoodById, getGamedata } from './gamedata';
|
||||
import { CounterModel } from '../db/Counter';
|
||||
import { EquipModel } from '../db/Equip';
|
||||
import { HeroModel } from '../db/Hero';
|
||||
import { GOOD_TYPE } from '../consts/consts';
|
||||
|
||||
export function genCode(len) {
|
||||
@@ -54,11 +55,17 @@ import { GOOD_TYPE } from '../consts/consts';
|
||||
result = { min: parseInt(min), max: parseInt(max) };
|
||||
|
||||
}
|
||||
case 'attribute': {
|
||||
let [id, value] = arr;
|
||||
if(isNaN(id) || isNaN(value)) throw new Error('格式错误');
|
||||
result = { id: parseInt(id), value: parseInt(value) };
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
// 获取物品
|
||||
export class Reward {
|
||||
roleId: string;
|
||||
@@ -108,6 +115,7 @@ import { GOOD_TYPE } from '../consts/consts';
|
||||
return weaponsData;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将 | 分隔的字符串解析为数组,如:a|b|c 解析为[a, b, c]
|
||||
* @param str 要解析的字符串
|
||||
@@ -130,3 +138,35 @@ export function decodeIdCntArrayStr(str: string, multi: number) {
|
||||
});
|
||||
return strMap;
|
||||
}
|
||||
|
||||
// 计算当前武将战力
|
||||
export async function calculateSumCE(roleId: string, type: number, param: { num?: number, heroes?: Array<number> }) {
|
||||
let sum;
|
||||
if(type == 1) { // 最高num人战力和
|
||||
sum = await HeroModel.sumTopHeroCe(roleId, param.num);
|
||||
} else if(type == 2) { // 所有人战力和
|
||||
sum = await HeroModel.sumHeroCe(roleId);
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
// 计算当前武将战力
|
||||
export function calculateCE(heroInfo: {hid: number, lv: number }) {
|
||||
let { hid, lv } = heroInfo;
|
||||
// 假设所有属性和等级的关系是简单的线性关系
|
||||
let dicHero = getGamedata('dic_zyz_hero');
|
||||
let curDicHero = dicHero.find(cur => cur.heroId == hid);
|
||||
|
||||
let { atk, matk, def, mdef, agi, luk, atk_up, matk_up, def_up, mdef_up, agi_up, luk_up } = curDicHero;
|
||||
atk += lv * atk_up;
|
||||
matk += lv * matk_up;
|
||||
def += lv * def_up;
|
||||
mdef += lv * mdef_up;
|
||||
agi += lv * agi_up;
|
||||
luk += lv * luk_up;
|
||||
|
||||
// 假设战力为所有属性的简单加法
|
||||
|
||||
let ce = atk + matk + def + mdef + agi + luk;
|
||||
return ce;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user