104 lines
9.2 KiB
Go
104 lines
9.2 KiB
Go
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"` // 眩晕状态结束时触发
|
||
}]()
|