internal static bool IsFloorBlocking(Assistant.Mobile mobile, Statics.TileInfo checkStatic) { string staticName = Statics.GetTileName(checkStatic.StaticID); if (staticName.IndexOf("roof", StringComparison.OrdinalIgnoreCase) >= 0 || staticName.IndexOf("planks", StringComparison.OrdinalIgnoreCase) >= 0 || staticName.IndexOf("pavers", StringComparison.OrdinalIgnoreCase) >= 0) { if (checkStatic.StaticZ > Player.Position.Z && checkStatic.StaticZ <= mobile.Position.Z) { return(true); } if (checkStatic.StaticZ <= Player.Position.Z && checkStatic.StaticZ > mobile.Position.Z) { return(true); } } return(false); }
internal static bool IsStaticWall(Assistant.Mobile mobile, Statics.TileInfo checkStatic) { string staticName = Statics.GetTileName(checkStatic.StaticID); bool wall = Statics.GetTileFlag(checkStatic.StaticID, "Wall"); if (wall) { if (Player.Position.Z >= (checkStatic.StaticZ + 20) || mobile.Position.Z >= (checkStatic.StaticZ + 20)) { return(false); } int height = Statics.GetTileHeight(checkStatic.StaticID); bool blocking = Statics.GetTileFlag(checkStatic.StaticID, "NoShoot"); if (blocking) // && height > 5) { return(true); } } return(false); }