r2mods/ilspy_dump/ror2_csproj/EntityStates.VoidSurvivor.W.../SwingMeleeBase.cs

73 lines
1.4 KiB
C#

using RoR2;
using UnityEngine;
namespace EntityStates.VoidSurvivor.Weapon;
public class SwingMeleeBase : BasicMeleeAttack
{
[SerializeField]
public float recoilAmplitude;
[SerializeField]
public float bloom;
[SerializeField]
public string animationLayerName;
[SerializeField]
public string animationStateName;
[SerializeField]
public string animationPlaybackRateParameter;
protected override bool allowExitFire
{
get
{
if ((bool)base.characterBody)
{
return !base.characterBody.isSprinting;
}
return false;
}
}
public override void OnEnter()
{
base.OnEnter();
base.characterDirection.forward = GetAimRay().direction;
}
public override void OnExit()
{
base.OnExit();
}
protected override void AuthorityModifyOverlapAttack(OverlapAttack overlapAttack)
{
base.AuthorityModifyOverlapAttack(overlapAttack);
}
protected override void PlayAnimation()
{
PlayAnimation(animationLayerName, animationStateName, animationPlaybackRateParameter, duration);
}
protected override void OnMeleeHitAuthority()
{
base.OnMeleeHitAuthority();
base.characterBody.AddSpreadBloom(bloom);
}
protected override void BeginMeleeAttackEffect()
{
AddRecoil(-0.1f * recoilAmplitude, 0.1f * recoilAmplitude, -1f * recoilAmplitude, 1f * recoilAmplitude);
base.BeginMeleeAttackEffect();
}
public override InterruptPriority GetMinimumInterruptPriority()
{
return InterruptPriority.Skill;
}
}