You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.8 KiB
57 lines
1.8 KiB
import { TableNames } from "../game/ConfigTableData";
|
|
|
|
/**怪物类型 */
|
|
export enum MonsterType {
|
|
SmallMonster = 1,//小怪
|
|
MidBoss = 2,//中期BOSS
|
|
Boss = 3,//BOSS
|
|
BigBoss = 4,//白银宝箱怪
|
|
GoldenBoss = 5,//黄金宝箱怪
|
|
OrangeBoss = 6,//橙色宝箱怪
|
|
//丧尸工厂
|
|
ZombieFactory = 7,
|
|
//宝箱副本宝珠
|
|
TreasureBox = 8,
|
|
}
|
|
/**怪物表数据管理 */
|
|
export class MonsterDataManager {
|
|
/**获取怪物配表1数据 */
|
|
public static getAllMonsterList1() {
|
|
return gg.data.table.getTableList<ITableMonster>(TableNames.Monster)
|
|
}
|
|
/**
|
|
* 通过怪物id获取怪物数据
|
|
* @param id 怪物id
|
|
*/
|
|
public static getMonsterDataById(id) {
|
|
let allList = this.getAllMonsterList1()
|
|
let config = allList.find(x => x.id == id)
|
|
// console.log('获取特定怪物的配表数据==id,config=',id,config)
|
|
return config
|
|
}
|
|
|
|
|
|
/**
|
|
* 通过难度和时间和战力获取怪物血量
|
|
* @param diff 难度
|
|
* @param time 时间
|
|
* @param power 战力
|
|
* @param powerPara 战力参数
|
|
*/
|
|
public static getMonsterHpByDiffAndTime(tableId: number, MonsterGroup: number, power: number, powerPara: number) {
|
|
let userPower = gg.data.getCurPower()
|
|
let zhanLiTime = Math.max(1, Math.pow(power / userPower, powerPara))
|
|
let list = gg.data.table.getTableList<ITableMonster2>(TableNames.Monster2)
|
|
let tableData = list.find(x => x.id == tableId)
|
|
return tableData[`attr${MonsterGroup}`] * zhanLiTime
|
|
// for (let i = 0; i < list.length; i++) {
|
|
// const element = list[i];
|
|
// if (time <= element.id) {
|
|
// return element[`attr${diff}`] * zhanLiTime
|
|
// }
|
|
// }
|
|
// return zhanLiTime
|
|
}
|
|
}
|
|
|
|
|
|
|