Code/Functions/Custom/DiceFunction.cs
using System;
using Expressive.Expressions;
using Sandbox;

namespace Expressive.Functions.Custom;

public class DiceFunction : FunctionBase
{
	public override string Name { get { return "Dice"; } }
	public override object Evaluate( IExpression[] parameters, Context context )
	{
		var numbDice = Convert.ToInt32( parameters[0].Evaluate( Variables ) );
		var diceNumber = Convert.ToInt32( parameters[1].Evaluate( Variables ) );

		var total = 0;

		for ( var i = 0; i < numbDice; i++ )
		{
			total += Game.Random.Next( 1, diceNumber + 1 );
		}

		return total;
	}
}