Beispiel #1
0
        public static Int32 Evaluate(Object state, ref Boolean error, Int32 projectile_id)
        {
            Combat.Character character = state as Combat.Character;
            if (character == null)
            {
                error = true;
                return(0);
            }

            Combat.ProjectileInfo projinfo = character.OffensiveInfo.ProjectileInfo;
            if (projinfo.Type == ProjectileDataType.Hit && (projectile_id <= 0 || projectile_id == projinfo.ProjectileId))
            {
                return(projinfo.Time);
            }

            return(-1);
        }
Beispiel #2
0
        public static Boolean Evaluate(Object state, ref Boolean error, Int32 proj_id, Int32 r2, Int32 rhs, Operator compare_type)
        {
            Combat.Character character = state as Combat.Character;
            if (character == null)
            {
                error = true;
                return(false);
            }

            Boolean lookingfor = r2 > 0;

            Combat.ProjectileInfo projinfo = character.OffensiveInfo.ProjectileInfo;

            Boolean found = projinfo.Type == ProjectileDataType.Guarded && (proj_id <= 0 || proj_id == projinfo.ProjectileId);

            if (found == true)
            {
                found = SpecialFunctions.LogicalOperation(compare_type, projinfo.Time, rhs);
            }

            return(lookingfor == found);
        }
Beispiel #3
0
        public static Boolean Evaluate(Object state, ref Boolean error, Int32 proj_id, Int32 r2, Int32 pre, Int32 post, Operator compare_type, Symbol pre_check, Symbol post_check)
        {
            Combat.Character character = state as Combat.Character;
            if (character == null)
            {
                error = true;
                return(false);
            }

            Boolean lookingfor = r2 > 0;

            Combat.ProjectileInfo projinfo = character.OffensiveInfo.ProjectileInfo;

            Boolean found = projinfo.Type == ProjectileDataType.Hit && (proj_id <= 0 || proj_id == projinfo.ProjectileId);

            if (found == true)
            {
                found = SpecialFunctions.Range(projinfo.Time, pre, post, compare_type, pre_check, post_check);
            }

            return(lookingfor == found);
        }