public override object Evaluate(List <string> args, ExpressionEvaluator evaluator, Creature player, Target target, CastedSpell spell, RollResults dice = null) { Creature modOwner = Expressions.GetCustomData <Creature>(evaluator.Variables); if (modOwner == null) { throw new Exception($"Creature mod owner must be specified before evaluating expressions containing RemovePropertyMod."); } ExpectingArguments(args, 2); string propertyName = Expressions.GetStr(args[0], player, target, spell); string id = Expressions.GetStr(args[1], player, target, spell); modOwner.RemovePropertyMod(propertyName, id); return(null); }