29 lines
867 B
C#
29 lines
867 B
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace BaseGames.Equipment
|
|
{
|
|
/// <summary>
|
|
/// 攻击速度加成护符效果(架构 09_ProgressionModule §5)。
|
|
/// 修改 PlayerStats.AnimatorSpeedMultiplier,动画控制器查询该倒数应用速度。
|
|
/// </summary>
|
|
[Serializable]
|
|
public class AttackSpeedEffect : ICharmEffect
|
|
{
|
|
[Range(0.1f, 2.0f)]
|
|
public float speedMultiplier = 1.2f; // 动画速度倍率(1.2 = 加速 20%)
|
|
|
|
public void OnEquip(EquipmentContext ctx)
|
|
{
|
|
ctx.Stats?.AddAnimatorSpeedBonus(speedMultiplier - 1f);
|
|
}
|
|
|
|
public void OnUnequip(EquipmentContext ctx)
|
|
{
|
|
ctx.Stats?.RemoveAnimatorSpeedBonus(speedMultiplier - 1f);
|
|
}
|
|
|
|
public string GetEffectDescription() => $"攻击速度 +{(speedMultiplier - 1f) * 100:0}%";
|
|
}
|
|
}
|