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); }