enumag / reborn-pokepedia

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reborn Pokepedia


Built for

PokemonReborn

Guide for Pokemon Based on Progress in Game

Get it on Google Play

Table of Contents

Introduction

Build Status PRs Welcome Commitizen friendly

Reborn Pokepedia allows players to filter for Pokemon that are available based on their progress in game. It will show all wild, event, and gift Pokemon that can be obtained at a given point in the game, and details what moves, tutors, and TM/HM are available to them.

This application is available on web, iOS, and Android.

Available for Android.

Android: https://play.google.com/store/apps/details?id=com.brentspector.rebornpokepedia

What Happened to iOS?

While there is an iOS app available in this codebase, the actual distribution to the App Store is too expensive. If you are interested in the iOS app, follow these instructions.

The app to load in XCode can be found at ios/App/App.xcworkspace

You will likely need NodeJS and npm, Ionic CLI, and cordova-res to collect the node modules and build artifacts that Capacitor relies on in order to properly build the iOS app.

Once that's taken care of, run scripts/ios_build.sh to create the build artifacts that XCode will use to make the .ipa file that gets installed on Apple devices.

This app has been tested on Monterey 12.1 and Xcode 13.2.1 and various virtual devices, including iPhone 13.

Features

A few of the things you can do with Reborn Pokepedia:

  • Look up Pokemon by major battle (Gym, Rival, PULSE, or Major NPC)
  • Look up Pokemon by location
  • Look up details for individual Pokemon

Feedback

Feel free to send us feedback by Email or file an issue. Feature requests are always welcome, although not guaranteed to be fulfilled. If you wish to contribute, please submit a pull request.

Build Process

  • Follow the Ionic Guide for getting started building the project. A Mac is required if you wish to develop for iOS.
  • Clone or download the repo
  • npm install to install dependencies
  • ionic serve to spin up the web-app
  • ionic capacitor open ios requires appropriate setup in a Mac Environment
  • ionic capacitor open andriod requires appropriate setup with Android Studio

Production Build

Any commit to the master branch triggers a Github Action that rebuilds the project and updates https://brentspector.github.io/reborn-pokepedia/.

However, if you wish to preview the production build locally, a Dockerfile has been created to do just that!

From the project root, run the following commands

scripts/docker_build.sh
scripts/docker_run.sh

Then navigate to localhost:8080 to see the product.

Single File Component

Vue.js recommends combining HTML, CSS, and Javascript into one file, represented with the .vue file extension. More details on the rationale behind this can be found at https://v3.vuejs.org/guide/single-file-component.html#how-it-works

Pokemon Data

Data has been broken down into each generation, and some generations have been broken down into multiple portions. This is due to Babel (a compatibility library) deoptimizing files that exceed 500 kB. In order to keep build times short, files should be less than 500 kB if possible.

Point in Game is defined as the point you have not crossed yet. For instance, If you beat Julia but have not gotten through Pulse Tangrowth 1, then your Point in Game would be ZEL/Pulse Tangrowth 1.

Points in game require the following criteria:

  • Points of importance where player might get stuck and need to rework team
  • 2 or more evolutionary lines are made available between any two consecutive points (i.e. if Zubat and Golbat are unlocked at the same time, it gets lumped with the next batch instead of getting a separate Point in Game)

Location in Game require the following criteria:

  • Unique in-game location (i.e location printed in Trainer Memo on Pokemon details screen)
  • Sufficiently relevant encounters

The initial pass attempts to lump as many similar areas together as possible (i.e Glitch World) even if they may have different Trainer Memo locations. This can be adjusted later if requested.

Some Pokemon (like Alolan Raichu or Mega Venusaur) were given a location even though you can't find them in the wild. This was done when an evolution is available based on a location or item that is not available until after the earliest time to obtain. Thus Clefable is listed as having no locations since the Moon Stone is available prior to the point you get Clefairy. NOTE: Random potential events like Mystery Egg are not considered "earliest".

Committing

Run npm run commit to automatically use Commitizen.

Acknowledgments

Thanks to Amethyst for the great game! Support her work on Patreon

About


Languages

Language:TypeScript 89.1%Language:Python 6.1%Language:Vue 3.8%Language:CSS 0.4%Language:JavaScript 0.2%Language:Swift 0.2%Language:Java 0.1%Language:Shell 0.1%Language:HTML 0.1%Language:Ruby 0.0%Language:Dockerfile 0.0%