Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
3d2e893
feat: multi-battle for stations
Mygod Apr 5, 2026
7d4e46d
fix: station multi-battle regressions
Mygod Apr 5, 2026
57eb784
fix: stabilize station search battle selection
Mygod Apr 5, 2026
d7a17dc
fix: align station battle search timers
Mygod Apr 5, 2026
a8cbcf2
fix: refresh station search countdown target
Mygod Apr 5, 2026
27add22
fix: preserve station name search battles
Mygod Apr 5, 2026
09b69e2
fix: short-circuit blank station searches
Mygod Apr 5, 2026
0a1af34
fix: refresh station search battle matches
Mygod Apr 5, 2026
9b86638
fix: align station battle filter state
Mygod Apr 5, 2026
8f3e88a
fix: support partial station battle schemas
Mygod Apr 5, 2026
a88e047
fix: preserve station battle fallbacks
Mygod Apr 5, 2026
f353d43
fix: hydrate joined station battle state
Mygod Apr 5, 2026
2f62cbf
fix: restrict filtered station battles
Mygod Apr 5, 2026
6d7c3ba
fix: clear filtered station battle fallbacks
Mygod Apr 5, 2026
b883c15
fix: preserve mixed-source station battles
Mygod Apr 5, 2026
b974d2a
fix: preserve null station search battle fields
Mygod Apr 5, 2026
e65fd03
fix: normalize station battle identities
Mygod Apr 5, 2026
d185cf8
fix: keep gmax station battle data
Mygod Apr 5, 2026
88759e3
fix: filter gmax station battle payloads
Mygod Apr 5, 2026
1046998
fix: merge duplicate station battle stats
Mygod Apr 5, 2026
ad7479a
fix: recompute merged station battle cp
Mygod Apr 5, 2026
ed88626
fix: separate station search display battles
Mygod Apr 5, 2026
f86406e
fix: preserve legacy station search matches
Mygod Apr 5, 2026
9c5d9b5
fix: normalize station search pokemon ids
Mygod Apr 5, 2026
eb38053
fix: stabilize station battle fallbacks
Mygod Apr 5, 2026
0da291a
fix: preserve station search battle detail
Mygod Apr 5, 2026
18cd5e8
fix: merge station search battle fields
Mygod Apr 5, 2026
0130555
fix: avoid hybrid station search battles
Mygod Apr 5, 2026
e4189ab
fix: merge compatible station search battles
Mygod Apr 5, 2026
56bc97d
fix: keep matched station search battles
Mygod Apr 5, 2026
87c2daf
fix: relax station search battle reuse
Mygod Apr 5, 2026
becc190
fix: normalize station battle variant defaults
Mygod Apr 5, 2026
eb07fa5
fix: surface joined station battle availability
Mygod Apr 5, 2026
1cee078
fix: sync filtered station battles
Mygod Apr 5, 2026
e3846ef
fix: merge duplicate station battle moves
Mygod Apr 5, 2026
d2797d4
fix: preserve station popup start timers
Mygod Apr 5, 2026
0616a34
fix: reconcile station battle duplicates
Mygod Apr 5, 2026
b1ea2e5
fix: backfill merged station battle fields
Mygod Apr 5, 2026
753d177
fix: clear inactive station battle fallbacks
Mygod Apr 5, 2026
e6c4462
fix: preserve zero station battle variants
Mygod Apr 5, 2026
cbef91a
fix: gate station battle marker overlays
Mygod Apr 5, 2026
a5053bc
fix: normalize station marker battle start
Mygod Apr 6, 2026
dbe7b45
fix: many many bugs
Mygod Apr 6, 2026
d68250f
fix: match filters against all station battles before dropping
Mygod Apr 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion config/custom-environment-variables.json
Original file line number Diff line number Diff line change
Expand Up @@ -1431,6 +1431,10 @@
"__name": "DEFAULT_FILTERS_STATIONS_BATTLES",
"__format": "boolean"
},
"includeUpcoming": {
"__name": "DEFAULT_FILTERS_STATIONS_INCLUDE_UPCOMING",
"__format": "boolean"
},
"gmaxStationed": {
"__name": "DEFAULT_FILTERS_STATIONS_GMAX_STATIONED",
"__format": "boolean"
Expand Down Expand Up @@ -2481,4 +2485,4 @@
}
}
}
}
}
1 change: 1 addition & 0 deletions config/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -610,6 +610,7 @@
"pokemon": false,
"battleTier": "all",
"battles": false,
"includeUpcoming": true,
"gmaxStationed": false,
"interactionRanges": false,
"customRange": 0,
Expand Down
1 change: 1 addition & 0 deletions packages/locales/lib/human/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -835,6 +835,7 @@
"stations_opacity": "Dynamic Power Spot Opacity",
"inactive_stations": "Inactive Power Spots",
"max_battles": "Max Battles",
"include_upcoming": "Include Upcoming",
"dynamax": "Dynamax",
"stations_subtitle": "Displays Power Spots on the map",
"dynamax_subtitle": "Displays Dynamax Battles on the map",
Expand Down
19 changes: 19 additions & 0 deletions packages/types/lib/scanner.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,24 @@ export interface StationPokemon extends PokemonDisplay {
bread_mode: number
}

export interface StationBattle {
battle_level: number
battle_start?: number
battle_end?: number
updated?: number
battle_pokemon_id: number
battle_pokemon_form: number
battle_pokemon_costume: number
battle_pokemon_gender: Gender
battle_pokemon_alignment: number
battle_pokemon_bread_mode: number
battle_pokemon_move_1: number
battle_pokemon_move_2: number
battle_pokemon_stamina?: number
battle_pokemon_cp_multiplier?: number
battle_pokemon_estimated_cp?: number
}

export interface Station<Parsed extends boolean = false> {
id: string
lat: number
Expand Down Expand Up @@ -412,6 +430,7 @@ export interface Station<Parsed extends boolean = false> {
stationed_pokemon: Parsed extends true
? StationPokemon[]
: string | StationPokemon[]
battles?: StationBattle[]
updated: number
}

Expand Down
1 change: 1 addition & 0 deletions packages/types/lib/server.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export interface DbContext {
hasShowcaseData: boolean
hasShowcaseForm: boolean
hasShowcaseType: boolean
hasMultiBattles: boolean
hasStationedGmax: boolean
hasBattlePokemonStats: boolean
hasPokemonBackground: boolean
Expand Down
3 changes: 3 additions & 0 deletions server/src/filters/builder/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ function buildDefaultFilters(perms) {
maxBattles: perms.stations
? defaultFilters.stations.battles
: undefined,
includeUpcoming: perms.dynamax
? defaultFilters.stations.includeUpcoming
: undefined,
filter: pokemon.stations,
gmaxStationed: perms.dynamax
? defaultFilters.stations.gmaxStationed
Expand Down
1 change: 1 addition & 0 deletions server/src/graphql/typeDefs/map.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ type Search {
# battle_pokemon_evolution: Int
battle_pokemon_alignment: Int
battle_pokemon_bread_mode: Int
battle_start: Int
battle_end: Int
}

Expand Down
19 changes: 19 additions & 0 deletions server/src/graphql/typeDefs/scanner.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,25 @@ type Station {
battle_pokemon_stamina: Int
battle_pokemon_cp_multiplier: Float
battle_pokemon_estimated_cp: Int
battles: [StationBattle]
}

type StationBattle {
battle_level: Int
battle_start: Int
battle_end: Int
updated: Int
battle_pokemon_id: Int
battle_pokemon_form: Int
battle_pokemon_costume: Int
battle_pokemon_gender: Int
battle_pokemon_alignment: Int
battle_pokemon_bread_mode: Int
battle_pokemon_move_1: Int
battle_pokemon_move_2: Int
battle_pokemon_stamina: Int
battle_pokemon_cp_multiplier: Float
battle_pokemon_estimated_cp: Int
}

type StationPokemon {
Expand Down
Loading
Loading