跳到主要内容

战斗机制

战斗机制提供四个核心组件:冷却管理、连击追踪、状态管理和技能执行器。你可以组合使用它们来构建自定义的战斗系统。

冷却管理

CooldownManager 为每个玩家维护按键(key)隔离的冷却计时器。

操作说明
setCooldown为玩家设置指定 key 的冷却时间
getCooldownRemaining获取剩余冷却时间
hasCooldown检查是否在冷却中
clearCooldown清除指定 key 的冷却

冷却的 key 是自定义字符串,你可以用任意命名来区分不同的冷却类型,例如 skill.fireballitem.potion 等。

连击追踪

ComboTracker 记录玩家的连续命中次数,支持配置超时时间。

操作说明
recordHit记录一次命中,返回当前连击数
resetCombo重置连击计数

当玩家在超时时间内没有新的命中,连击计数会自动归零。你可以根据连击数触发不同的效果,比如连击 5 次后释放终结技。

状态管理

StatusManager 管理可叠加的状态效果,每个状态有独立的持续时间和最大叠层数。

状态效果字段

字段说明
id状态 ID
name状态显示名称
stacks当前叠层数
maxStacks最大叠层数
durationMs持续时间(毫秒),-1 表示永久
metadata附加元数据(键值对)

操作

操作说明
apply施加状态效果,已存在则叠加层数
remove移除指定状态
get获取玩家身上的指定状态
clearExpired清除所有已过期的状态

技能执行器

SkillExecutor 提供五阶段的技能执行链,每个阶段可以绑定脚本或配置时间参数。

执行阶段

技能按以下顺序依次执行五个阶段:

  1. CONDITION - 条件检查,判断技能是否可以释放
  2. WINDUP - 前摇阶段,播放蓄力动画等
  3. EXECUTE - 执行阶段,释放技能效果
  4. RECOVERY - 后摇阶段,恢复动作
  5. COOLDOWN - 进入冷却

技能定义字段

字段说明
conditionScript条件检查脚本 ID,返回 false 则中止释放
windupTicks前摇时间(tick)
executeScript执行阶段脚本 ID
recoveryTicks后摇时间(tick)
cooldownMs冷却时间(毫秒)
提示

技能执行器会自动与冷却管理联动。cooldownMs 设置的冷却时间会在技能执行完成后自动应用到 CooldownManager。