diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt index a4edec33..7a25b738 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt @@ -1587,8 +1587,15 @@ data class AnimeLoadResponse( } override fun getTotalEpisodeIndex(episode: Int, season: Int): Int { + val displayMap = this.seasonNames?.associate { it.season to it.displaySeason } ?: emptyMap() + return this.episodes.maxOf { (_, episodes) -> - episodes.count { ((it.season ?: Int.MIN_VALUE) < season) && it.season != 0 } + episodes.count { episodeData -> + // Prioritize display season as actual season may be something random to fit multiple seasons into one. + val episodeSeason = displayMap[episodeData.season] ?: episodeData.season ?: Int.MIN_VALUE + // Count all episodes from season 1 to below the current season. + episodeSeason in 1.. + // Prioritize display season as actual season may be something random to fit multiple seasons into one. + val episodeSeason = displayMap[episodeData.season] ?: episodeData.season ?: Int.MIN_VALUE + // Count all episodes from season 1 to below the current season. + episodeSeason in 1..