Files
BH3/Assets/Scripts/Assembly-CSharp/MoleMole/AbilityModifyAttackData.cs
2025-08-13 09:26:42 +08:00

38 lines
967 B
C#

using MoleMole.Config;
namespace MoleMole
{
public class AbilityModifyAttackData : BaseAbilityMixin
{
private ModifyAttackData config;
public AbilityModifyAttackData(ActorAbility instancedAbility, ActorModifier instancedModifier, ConfigAbilityMixin config)
: base(instancedAbility, instancedModifier, config)
{
this.config = (ModifyAttackData)config;
}
public override bool OnPostEvent(BaseEvent evt)
{
if (evt is EvtHittingOther)
{
return OnPostHittingOther((EvtHittingOther)evt);
}
return false;
}
private bool OnPostHittingOther(EvtHittingOther evt)
{
if (!actor.abilityPlugin.EvaluateAbilityPredicate(config.Predicates, instancedAbility, instancedModifier, Singleton<EventManager>.Instance.GetActor<BaseAbilityActor>(evt.toID), evt))
{
return false;
}
if (config.NoTriggerEvadeAndDefend)
{
evt.attackData.noTriggerEvadeAndDefend = config.NoTriggerEvadeAndDefend;
}
return false;
}
}
}