A game gem component defining a Lightning Chain item. It provides item id, user-facing description and upgrade description strings, and on run start it modifies the player stat for additional lightning chains 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 );
}
}