public override object Evaluate(List <string> args, ExpressionEvaluator evaluator, Creature player, Target target = null, CastedSpell spell = null, DiceStoppedRollingData dice = null)
        {
            ExpectingArguments(args, 1);
            TargetStatus         targetStatus = DndUtils.GetTargetStatus(args[0]);
            TargetCountEventArgs ea           = new TargetCountEventArgs();

            ea.TargetStatus = targetStatus;
            OnRequestTargetCount(player, ea);
            return(ea.Count);
        }
        public override object Evaluate(List <string> args, ExpressionEvaluator evaluator, Creature player, Target target = null, CastedSpell spell = null, RollResults dice = null)
        {
            ExpectingArguments(args, 1);
            WhatSide             whatSide = DndUtils.GetSide(args[0]);
            TargetCountEventArgs ea       = new TargetCountEventArgs();

            ea.WhatSide = whatSide;
            OnRequestTargetCount(player, ea);
            return(ea.Count);
        }
 public static void OnRequestTargetCount(object sender, TargetCountEventArgs ea)
 {
     RequestTargetCount?.Invoke(sender, ea);
 }