42 lines
849 B
C#
42 lines
849 B
C#
using UnityEngine;
|
|
|
|
public class WerewolfSkill : UnitSkill
|
|
{
|
|
[Header("狼嚎效果")]
|
|
[Min(0f)]
|
|
public float attackSpeedIncrease = 0.2f;
|
|
|
|
[Min(0f)]
|
|
public float duration = 5f;
|
|
|
|
private bool buffActive;
|
|
private float buffEndTime;
|
|
|
|
public override void ReleaseSkill()
|
|
{
|
|
ApplyHowlBuff();
|
|
}
|
|
|
|
private void ApplyHowlBuff()
|
|
{
|
|
if (buffActive)
|
|
{
|
|
buffEndTime = Time.time + duration;
|
|
return;
|
|
}
|
|
|
|
buffActive = true;
|
|
buffEndTime = Time.time + duration;
|
|
unit.MultiplyAttackSpeed(1f + attackSpeedIncrease, 2f);
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (buffActive && Time.time >= buffEndTime)
|
|
{
|
|
buffActive = false;
|
|
unit.MultiplyAttackSpeed(1f / (1f + attackSpeedIncrease), 2f);
|
|
}
|
|
}
|
|
}
|