Files
bl/logic/service/fight/battle/node/node.go

104 lines
9.2 KiB
Go
Raw Normal View History

package node
import "github.com/tnnmigga/enum"
// EnumEffectTrigger 效果触发时机枚举类型
// 定义了战斗中各种效果的触发时机点
type EnumEffectTrigger int
// EffectTrigger 效果触发时机枚举实例
// 包含战斗过程中所有可能触发效果的关键时间点
var EffectTrigger = enum.New[struct {
// 已有的触发时机
OnBattleStart EnumEffectTrigger `enum:"OnBattleStart"` // 战斗开始时触发
BeforeSort EnumEffectTrigger `enum:"BeforeSort"` // 先手顺序判定前触发
BeforeUseSkillCheck EnumEffectTrigger `enum:"BeforeUseSkillCheck"` // 使用技能前检查PP、状态等
AfterUseSkillCheck EnumEffectTrigger `enum:"AfterUseSkillCheck"` // 使用技能检查后触发
BeforeMultiHit EnumEffectTrigger `enum:"BeforeMultiHit"` // 多段攻击开始前触发
BeforeHit EnumEffectTrigger `enum:"BeforeHit"` // 攻击命中前触发
OnCritPreDamage EnumEffectTrigger `enum:"OnCritPreDamage"` // 暴击判定成功且伤害计算前触发
PreDamage EnumEffectTrigger `enum:"PreDamage"` // 技能伤害计算前触发(增伤/减伤等)
OnHit EnumEffectTrigger `enum:"OnHit"` // 技能命中时触发
OnMiss EnumEffectTrigger `enum:"OnMiss"` // 技能未命中时触发
AfterAttacked EnumEffectTrigger `enum:"AfterAttacked"` // 被攻击后触发(受击判定)
OnDefeat EnumEffectTrigger `enum:"OnDefeat"` // 精灵被击败时触发
SkillUseEnd EnumEffectTrigger `enum:"SkillUseEnd"` // 技能使用结束后触发
OnBeforeCalculateDamage EnumEffectTrigger `enum:"OnBeforeCalculateDamage"` // 最终伤害计算前触发
OnDamage EnumEffectTrigger `enum:"OnDamage"` // 造成伤害时触发
Shield EnumEffectTrigger `enum:"Shield"` // 护盾值变化时触发
PostDamage EnumEffectTrigger `enum:"PostDamage"` // 伤害结算后触发(血量扣除后)
OnCritPostDamage EnumEffectTrigger `enum:"OnCritPostDamage"` // 暴击伤害结算后触发
OnTransform EnumEffectTrigger `enum:"OnTransform"` // 精灵变形/进化时触发
OnTransformEnd EnumEffectTrigger `enum:"OnTransformEnd"` // 变形/进化结束时触发
BeforeTransform EnumEffectTrigger `enum:"BeforeTransform"` // 变形/进化前触发
AfterTransform EnumEffectTrigger `enum:"AfterTransform"` // 变形/进化后触发
TurnStart EnumEffectTrigger `enum:"TurnStart"` // 回合开始时触发
TurnEnd EnumEffectTrigger `enum:"TurnEnd"` // 回合结束时触发
OnBeforeAddMark EnumEffectTrigger `enum:"OnBeforeAddMark"` // 添加印记前触发
OnAnyMarkAdded EnumEffectTrigger `enum:"OnAnyMarkAdded"` // 任何印记添加时触发
OnRemoveMark EnumEffectTrigger `enum:"OnRemoveMark"` // 移除印记时触发
OnMarkCreated EnumEffectTrigger `enum:"OnMarkCreated"` // 印记创建时触发
OnMarkDestroy EnumEffectTrigger `enum:"OnMarkDestroy"` // 印记销毁时触发
OnMarkDurationEnd EnumEffectTrigger `enum:"OnMarkDurationEnd"` // 印记持续回合结束时触发
OnStackBefore EnumEffectTrigger `enum:"OnStackBefore"` // 堆叠效果前触发
OnStack EnumEffectTrigger `enum:"OnStack"` // 堆叠效果触发
OnBeforeConsumeStack EnumEffectTrigger `enum:"OnBeforeConsumeStack"` // 消耗堆叠前触发
OnConsumeStack EnumEffectTrigger `enum:"OnConsumeStack"` // 消耗堆叠时触发
OnBeforeHeal EnumEffectTrigger `enum:"OnBeforeHeal"` // 治疗前触发
OnHeal EnumEffectTrigger `enum:"OnHeal"` // 治疗生效时触发
BeforeRageGain EnumEffectTrigger `enum:"BeforeRageGain"` // 增怒前触发
BeforeRageLoss EnumEffectTrigger `enum:"BeforeRageLoss"` // 减怒前触发
OnRageGain EnumEffectTrigger `enum:"OnRageGain"` // 增怒时触发
OnRageLoss EnumEffectTrigger `enum:"OnRageLoss"` // 减怒时触发
OnSwitchIn EnumEffectTrigger `enum:"OnSwitchIn"` // 精灵出战/上场时触发
OnSwitchOut EnumEffectTrigger `enum:"OnSwitchOut"` // 精灵下场时触发
OnOwnerSwitchIn EnumEffectTrigger `enum:"OnOwnerSwitchIn"` // 所属玩家精灵出战时触发
OnOwnerSwitchOut EnumEffectTrigger `enum:"OnOwnerSwitchOut"` // 所属玩家精灵下场时触发
BeforeEffect EnumEffectTrigger `enum:"BeforeEffect"` // 效果生效前触发
AfterEffect EnumEffectTrigger `enum:"AfterEffect"` // 效果生效后触发
// 补充的触发时机
OnBattleEnd EnumEffectTrigger `enum:"OnBattleEnd"` // 战斗结束时触发
OnRoundNumber EnumEffectTrigger `enum:"OnRoundNumber"` // 特定回合数时触发
OnMaxHPChange EnumEffectTrigger `enum:"OnMaxHPChange"` // 最大生命值变化时触发
OnHPPercentLow EnumEffectTrigger `enum:"OnHPPercentLow"` // 生命值低于特定百分比时触发
OnHPPercentHigh EnumEffectTrigger `enum:"OnHPPercentHigh"` // 生命值高于特定百分比时触发
OnStatusAdd EnumEffectTrigger `enum:"OnStatusAdd"` // 获得状态时触发
OnStatusRemove EnumEffectTrigger `enum:"OnStatusRemove"` // 状态被移除时触发
OnStatusRefresh EnumEffectTrigger `enum:"OnStatusRefresh"` // 状态被刷新时触发
OnStatusDurationEnd EnumEffectTrigger `enum:"OnStatusDurationEnd"` // 状态持续回合结束时触发
OnAlliesDefeated EnumEffectTrigger `enum:"OnAlliesDefeated"` // 友方单位被击败时触发
OnEnemiesDefeated EnumEffectTrigger `enum:"OnEnemiesDefeated"` // 敌方单位被击败时触发
OnSkillTypeUsed EnumEffectTrigger `enum:"OnSkillTypeUsed"` // 特定类型技能被使用时触发
OnSpecificSkillUsed EnumEffectTrigger `enum:"OnSpecificSkillUsed"` // 特定技能被使用时触发
OnDeath EnumEffectTrigger `enum:"OnDeath"` // 自身死亡时触发
OnRevive EnumEffectTrigger `enum:"OnRevive"` // 被复活时触发
OnFullHP EnumEffectTrigger `enum:"OnFullHP"` // 生命值回满时触发
OnZeroHP EnumEffectTrigger `enum:"OnZeroHP"` // 生命值归零时触发
OnMaxRage EnumEffectTrigger `enum:"OnMaxRage"` // 怒气值满时触发
OnZeroRage EnumEffectTrigger `enum:"OnZeroRage"` // 怒气值归零时触发
OnWeatherChange EnumEffectTrigger `enum:"OnWeatherChange"` // 天气变化时触发
OnFieldStateChange EnumEffectTrigger `enum:"OnFieldStateChange"` // 场地状态变化时触发
OnItemUsed EnumEffectTrigger `enum:"OnItemUsed"` // 使用物品时触发
OnBeforeItemUse EnumEffectTrigger `enum:"OnBeforeItemUse"` // 使用物品前触发
OnAfterItemUse EnumEffectTrigger `enum:"OnAfterItemUse"` // 使用物品后触发
OnSwapFailed EnumEffectTrigger `enum:"OnSwapFailed"` // 交换精灵失败时触发
OnAllEnemiesDefeated EnumEffectTrigger `enum:"OnAllEnemiesDefeated"` // 所有敌方单位被击败时触发
OnAllAlliesDefeated EnumEffectTrigger `enum:"OnAllAlliesDefeated"` // 所有友方单位被击败时触发
OnComboHit EnumEffectTrigger `enum:"OnComboHit"` // 连击达到特定次数时触发
OnMissContinuous EnumEffectTrigger `enum:"OnMissContinuous"` // 连续未命中特定次数时触发
OnCritContinuous EnumEffectTrigger `enum:"OnCritContinuous"` // 连续暴击特定次数时触发
OnBeforeFaint EnumEffectTrigger `enum:"OnBeforeFaint"` // 即将昏厥前触发
OnImmuneDamage EnumEffectTrigger `enum:"OnImmuneDamage"` // 免疫伤害时触发
OnDamageReflect EnumEffectTrigger `enum:"OnDamageReflect"` // 反弹伤害时触发
OnAbsorbDamage EnumEffectTrigger `enum:"OnAbsorbDamage"` // 吸收伤害时触发
OnStealHP EnumEffectTrigger `enum:"OnStealHP"` // 偷取生命值时触发
OnCopySkill EnumEffectTrigger `enum:"OnCopySkill"` // 复制技能时触发
OnSkillSealed EnumEffectTrigger `enum:"OnSkillSealed"` // 技能被封印时触发
OnSkillUnsealed EnumEffectTrigger `enum:"OnSkillUnsealed"` // 技能封印解除时触发
OnSilenced EnumEffectTrigger `enum:"OnSilenced"` // 被沉默时触发
OnSilenceEnd EnumEffectTrigger `enum:"OnSilenceEnd"` // 沉默状态结束时触发
OnStunned EnumEffectTrigger `enum:"OnStunned"` // 被眩晕时触发
OnStunEnd EnumEffectTrigger `enum:"OnStunEnd"` // 眩晕状态结束时触发
}]()