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