gems/GemLightningChain.cs

A Gem subclass representing a "Lightning Chain" item. It defines an item id, text descriptions based on gem level, and on run start it modifies the player's AdditionalLightningChains stat by adding the gem level.

using Sandbox;

public class GemLightningChain : Gem
{
	public const string ItemId = "gem_lightning_chain";

	public static string Description( int level ) => $"Lightning chains +{level} times";
	public static string UpgradeDescription( int level ) => $"Lightning chains +{level - 1}→+{level} times";

	public override void OnRunStart()
	{
		Player.Modify( this, PlayerStat.AdditionalLightningChains, Level, ModifierType.Add );
	}
}