类 DamageEnemy
游戏进程类,渲染进程也可以使用
- 实例成员
- 实例方法
id
ts
declare var id: string成员说明
怪物的 id
x
ts
declare var x: number | undefinedy
ts
declare var y: number | undefinedfloorId
ts
declare var floorId: stringenemy
ts
declare var enemy: Enemy成员说明
怪物的原始信息,即在造塔界面中填写的信息,不可修改
col
ts
declare var col: EnemyCollection | undefined成员说明
该怪物所属的怪物集合,也可以是
undefined,表示不属于任何集合
info
ts
declare var info: EnemyInfo成员说明
描述了这个怪物在计算真实属性后的属性,经过光环等加成
providedHalo
ts
declare var providedHalo: Set<number>成员说明
存储了这个怪物所有已经施加过的光环
constructor()
ts
interface DamageEnemy {
new(
enemy: Enemy,
x?: number,
y?: number,
floorId?: string,
col?: EnemyCollection
): DamageEnemy
}reset()
ts
declare function reset(): void方法说明
重设怪物信息,恢复至原始信息,计算怪物真实属性第零步
calAttribute()
ts
declare function calAttribute(): void方法说明
计算怪物在不计光环下的属性,在 inject 光环之前,预平衡光环之后执行,计算怪物属性第二步
getRealInfo()
ts
declare function getRealInfo(): void方法说明
计算怪物的真实属性,在 inject 光环后执行,计算怪物属性的第四步,也是最后一步
getHaloSpecials()
ts
declare function getHaloSpecials(): number[]方法说明
获取到所有还未施加过的光环属性
preProvideHalo()
ts
declare function preProvideHalo(): void方法说明
光环预提供,用于平衡所有怪的光环属性,避免出现不同情况下光环效果不一致的现象,计算怪物属性的第一步
provideHalo()
ts
declare function provideHalo(): void方法说明
向其他怪物提供光环,计算怪物属性的第三步
injectHalo()
ts
declare function injectHalo(halo: HaloFn, enemy: EnemyInfo): void方法说明
接受来自其他怪物的光环,参考光环处理
calDamage()
ts
declare function calDamage(hero: Partial<HeroStatus> = core.status.hero): { damage: number }参数说明
hero: 允许部分指定勇士信息,从而达到不修改勇士属性的情况下传入不同勇士信息的效果
方法说明
计算怪物伤害
calMapDamage()
ts
declare function calMapDamage(
damage: Record<string, MapDamage> = {},
hero: Partial<HeroStatus> = getHeroStatusOn(Damage.realStatus)
): Record<string, MapDamage>参数说明
damage: 地图伤害存入的对象hero: 部分指定勇士的真实属性,即经过 buff 等加成的属性
方法说明
计算地图伤害
setMapDamage()
ts
declare function setMapDamage(
damage: Record<string, MapDamage>,
loc: string,
dam: number,
type?: string
): voidcalCritical()
ts
declare function calCritical(
num: number = 1,
hero: Partial<HeroStatus> = core.status.hero
): CriticalDamageDelta[]参数说明
num: 计算前多少个临界
方法说明
计算怪物的临界,使用二分法
接口
CriticalDamageDeltatsinterface CriticalDamageDelta { /** 跟最小伤害值的减伤 */ delta: number; damage: number; info: { damage: number }; /** 勇士的攻击增量 */ atkDelta: number; }damage: 伤害大小
calDefDamage()
ts
declare function calDefDamage(
num: number = 1,
hero: Partial<HeroStatus> = core.status.hero
): DamageDelta参数说明
num: 要加多少防御
方法说明
计算 n 防减伤
接口
DamageDelta为接口
CriticalDamageDelta去掉atkDelta属性
getSeckillAtk()
ts
declare function getSeckillAtk(): number方法说明
计算在一回合内击杀怪物所需要的攻击力,用于临界计算