Skip to content

feat: parse temp evolution branch quest rewards - #382

Merged
jfberry merged 1 commit into
UnownHash:mainfrom
Mygod:agent/parse-quest-reward-type-20
Jul 20, 2026
Merged

feat: parse temp evolution branch quest rewards#382
jfberry merged 1 commit into
UnownHash:mainfrom
Mygod:agent/parse-quest-reward-type-20

Conversation

@Mygod

@Mygod Mygod commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • update the bundled generated protobuf definitions to Base 0.417.x using the exact pogo/vbase.pb.go from feat: add super mega eligible field to gym #360
  • decode TEMP_EVO_BRANCH_RESOURCE (quest reward type 20) into amount, pokemon_id, and optional temp_evolution fields
  • populate the indexed first-reward amount and Pokemon columns
  • document the new reward payload and cover it with a protobuf wire round-trip regression test
  • carry over feat: add super mega eligible field to gym #360's generated-protobuf lint exclusion and timeout increase, which are required for the larger generated file to pass CI

Why

The protobuf bundled on main does not define reward type 20 or its field-24 payload. Golbat therefore preserves the numeric reward type but emits an empty info object and cannot populate the indexed reward details.

This keeps the upstream reward type truthful rather than rewriting type 20 as the older generic mega-resource type 12.

ReactMap coordination

WatWowMap/ReactMap@8756f38f currently normalizes only the old empty type-20 payload through a temporary Mewtwo fallback. Once Golbat emits populated type-20 details, ReactMap needs a companion change that consumes those details as mega energy while retaining the empty-payload fallback for older Golbat deployments.

Keep this PR in draft until that consumer-side handling is ready if ReactMap compatibility is required for deployment.

Validation

if branch := info.GetTempEvoPokemonBranch(); branch != nil {
infoData["pokemon_id"] = int(branch.PokedexId)
if tempEvolution := int(branch.TempEvoId); tempEvolution != 0 {
infoData["temp_evolution"] = tempEvolution

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naming is a bit inconsistent across Golbat, but I'd prefer temp_evolution_id as the name (i don't care too much tho)

@ccev

ccev commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

Keep this PR in draft until that consumer-side handling is ready if ReactMap compatibility is required for deployment.

ReactMap depends on Golbat, not the other way around. This PR does not have to be a draft. I'm running this now

@Mygod

Mygod commented Jul 11, 2026

Copy link
Copy Markdown
Contributor Author

Don't read too much into that. It's GPT written. 😂

@jfberry
jfberry marked this pull request as ready for review July 20, 2026 09:56
@jfberry
jfberry merged commit b8f6c78 into UnownHash:main Jul 20, 2026
1 check passed
@Mygod
Mygod deleted the agent/parse-quest-reward-type-20 branch July 21, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants