A small gun item class that adds a homing radius stat to the player when the gun is activated. It defines a constant ItemId, a homing radius, a Description method returning a formatted string, and OnRunStart that modifies two player stats.
public class GunHoming : Gun
{
public const string ItemId = "gun_homing";
private const float HomingRadius = 0.6f;
public static string Description() => $"+{HomingRadius.ToString("0.##")}m bullet homing range";
public override void OnRunStart()
{
Player.Modify( this, PlayerStat.BulletHomingRadius, HomingRadius * Utils.Meter2Unit, ModifierType.Add );
Player.Modify( this, PlayerStat.BulletHomingRadiusDisplay, HomingRadius, ModifierType.Add );
}
}