private Effect MakeCheckAfter()
        {
            var cv = new ConstValue {
                Value = CheckAfter.Value
            };
            var pv = new Effects.ActorMemberValue {
                Type = ActorMemberType.vx
            };
            var e = new Effects.SetActorMemberEffect
            {
                Type  = ActorMemberType.vx,
                Value = cv,
            };

            if (Value > 0)
            {
                return(new FilteredEffect
                {
                    Filter = new Effects.ValueCompareFilter
                    {
                        Operator = CompareOperator.Greater,
                        Left = pv,
                        Right = cv,
                    },
                    Effect = e,
                });
            }
            else
            {
                return(new FilteredEffect
                {
                    Filter = new Effects.ValueCompareFilter
                    {
                        Operator = CompareOperator.Greater,
                        Left = cv,
                        Right = pv,
                    },
                    Effect = e,
                });
            }
        }
        private Effect MakeCheckBefore(Effect e)
        {
            var cmp = StrictCheckBefore ? CompareOperator.Greater : CompareOperator.GreaterOrEqual;
            var cv  = new ConstValue {
                Value = CheckBefore.Value
            };
            var pv = new Effects.ActorMemberValue {
                Type = ActorMemberType.vx
            };

            if (Value > 0)
            {
                return(new FilteredEffect
                {
                    Filter = new Effects.ValueCompareFilter
                    {
                        Operator = cmp,
                        Left = cv,
                        Right = pv,
                    },
                    Effect = e,
                });
            }
            else
            {
                return(new FilteredEffect
                {
                    Filter = new Effects.ValueCompareFilter
                    {
                        Operator = cmp,
                        Left = pv,
                        Right = cv,
                    },
                    Effect = e,
                });
            }
        }