public override object Evaluate(List <string> args, ExpressionEvaluator evaluator, Character player, Target target = null, CastedSpell spell = null, DiceStoppedRollingData dice = null)
        {
            ExpectingArguments(args, 1, 15);
            if (player != null)
            {
                string effectName;
                int    hue, saturation, brightness, timeOffset, secondaryHue, secondarySaturation, secondaryBrightness, xOffset, yOffset;
                double scale, rotation, autoRotation, velocityX, velocityY;
                GetVisualEffectParameters(args, player, target, spell, out effectName, out hue, out saturation, out brightness, out scale, out rotation, out autoRotation, out timeOffset, out secondaryHue, out secondarySaturation, out secondaryBrightness, out xOffset, out yOffset, out velocityX, out velocityY);

                player.AddSpellCastEffect(effectName, hue, saturation, brightness,
                                          scale, rotation, autoRotation, timeOffset,
                                          secondaryHue, secondarySaturation, secondaryBrightness, xOffset, yOffset, velocityX, velocityY);
            }

            return(null);
        }