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