Compare commits

..

1 Commits

Author SHA1 Message Date
AncTe
7acfef16bd
Merge 9f62d8768e into 1a569804d8 2026-06-13 16:31:23 +00:00
3 changed files with 3 additions and 14 deletions

View File

@ -1,7 +1,7 @@
import { import {
CriticalableHeroStatus, CriticalableHeroStatus,
IDamageCalculator, IDamageCalculator,
IEnemyDamageInfoBase, IEnemyDamageInfo,
IReadonlyEnemyHandler IReadonlyEnemyHandler
} from '@user/data-system'; } from '@user/data-system';
import { IEnemyAttr, IHeroAttr } from '@user/data-common'; import { IEnemyAttr, IHeroAttr } from '@user/data-common';
@ -18,7 +18,7 @@ export class MainDamageCalculator implements IDamageCalculator<
calculate( calculate(
handler: IReadonlyEnemyHandler<IEnemyAttr, IHeroAttr> handler: IReadonlyEnemyHandler<IEnemyAttr, IHeroAttr>
): IEnemyDamageInfoBase { ): IEnemyDamageInfo {
const { enemy, locator, hero } = handler; const { enemy, locator, hero } = handler;
const hp = hero.getBaseAttribute('hp'); const hp = hero.getBaseAttribute('hp');
const atk = hero.getFinalAttribute('atk'); const atk = hero.getFinalAttribute('atk');

View File

@ -176,13 +176,11 @@ export class CombatFlow<TEnemy, THero>
} }
for (const script of this.scriptList) { for (const script of this.scriptList) {
const skip = await script.before(damage, handler); await script.before(damage, handler);
if (skip) return damage;
} }
await Promise.all( await Promise.all(
this.forEachHook(hook => hook.onBeforeCombat?.(damage)) this.forEachHook(hook => hook.onBeforeCombat?.(damage))
); );
for (const script of this.scriptList) { for (const script of this.scriptList) {
await script.after(damage, handler); await script.after(damage, handler);
} }

View File

@ -793,15 +793,6 @@ export interface ICombatScript<TEnemy, THero> {
): Promise<void>; ): Promise<void>;
} }
export interface ICombatResult<TEnemy, THero> {
/** 是否通过战前脚本跳过了战斗流程 */
readonly skipped: boolean;
/** 战斗伤害信息对象 */
readonly damageInfo: IEnemyDamageInfo<TEnemy, THero>;
/** 怪物信息对象 */
readonly enemyHandler: IReadonlyEnemyHandler<TEnemy, THero>;
}
export interface ICombatFlow<TEnemy, THero> export interface ICombatFlow<TEnemy, THero>
extends IHookable<ICombatFlowHook<TEnemy, THero>>, IStateBaseExtended { extends IHookable<ICombatFlowHook<TEnemy, THero>>, IStateBaseExtended {
/** 勇士属性对象 */ /** 勇士属性对象 */