Skip to content

Commit

Permalink
Release v2.3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
vinnymac committed Apr 12, 2017
2 parents 82b9a8c + fc26bc8 commit da9b881
Show file tree
Hide file tree
Showing 15 changed files with 269 additions and 212 deletions.
15 changes: 8 additions & 7 deletions README.md
Expand Up @@ -8,14 +8,14 @@

**PokéNurse** is a desktop application for Windows and Mac that allows you to manage your pokémon from Pokémon Go without the need for a mobile device. You can now favorite, transfer, and evolve from the comfort of your own home!

## Downloads for v2.3.0
## Downloads for v2.3.1
You may view all the releases [here](https://github.com/vinnymac/PokeNurse/releases)
* [macOS](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.0/PokeNurse.dmg)
* [Windows](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.0/PokeNurse.exe)
* [Debian 32 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.0/PokeNurse-ia32.deb)
* [Debian 64 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.0/PokeNurse-x64.deb)
* [AppImage 32 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.0/PokeNurse-ia32.AppImage)
* [AppImage 64 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.0/PokeNurse-x64.AppImage)
* [macOS](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.1/PokeNurse.dmg)
* [Windows](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.1/PokeNurse.exe)
* [Debian 32 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.1/PokeNurse-ia32.deb)
* [Debian 64 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.1/PokeNurse-x64.deb)
* [AppImage 32 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.1/PokeNurse-ia32.AppImage)
* [AppImage 64 bit](https://github.com/vinnymac/PokeNurse/releases/download/v2.3.1/PokeNurse-x64.AppImage)

## Examples
![Login Window](app/loginExample.png)
Expand Down Expand Up @@ -81,6 +81,7 @@ The API Hashing service is a paid service that allows third party Pokémon GO de
## Credit
* [cyraxx](https://github.com/cyraxx) for [pogobuf](https://github.com/cyraxx/pogobuf) and [node-pogo-protos](https://github.com/cyraxx/node-pogo-protos)
* [AeonLucid](https://github.com/AeonLucid) for [POGOProtos](https://github.com/AeonLucid/POGOProtos)
* [PkParaíso](https://www.pkparaiso.com) for the [animated sprites](https://www.pkparaiso.com/xy/sprites_pokemon.php), licensed under [CC BY-NC-ND 3.0](https://creativecommons.org/licenses/by-nc-nd/3.0/)

## Legal
This Project is in no way affiliated with, authorized, maintained, sponsored or endorsed by Niantic, The Pokémon Company, Nintendo or any of its affiliates or subsidiaries. This is an independent and unofficial API for educational use ONLY. Using the Project might be against the TOS
2 changes: 1 addition & 1 deletion app/actions/authenticate.js
Expand Up @@ -50,7 +50,7 @@ export default {
}

// Use default API version
if (hashingKey) options.version = apiVersion || 5704
if (hashingKey) options.version = apiVersion || 6100

const client = new pogobuf.Client(options)

Expand Down
10 changes: 9 additions & 1 deletion app/actions/trainer.js
Expand Up @@ -159,6 +159,10 @@ function parseInventory(inventory) {
.map(utils.getName)
.join('/')

const pokemonCostume = utils.getCostume(p.pokemon_display.costume)
const pokemonGender = utils.getGender(p.pokemon_display.gender)
const pokemonForm = utils.getForm(p.pokemon_display.form)

const quickMoves = pokemonSetting.quick_moves.map(m => getMove(type, moveSettings, m, true))

const cinematicMoves = pokemonSetting.cinematic_moves.map(m => getMove(type, moveSettings, m, false))
Expand Down Expand Up @@ -207,7 +211,11 @@ function parseInventory(inventory) {
// Multiply by -1 for sorting
favorite: p.favorite * -1,
move_1: move1,
move_2: move2
move_2: move2,
costume: pokemonCostume,
gender: pokemonGender,
shiny: p.pokemon_display.shiny,
form: pokemonForm
}

const speciesIndex = p.pokemon_id - 1
Expand Down
Binary file added app/imgs/3d/129-fs.webp
Binary file not shown.
Binary file added app/imgs/3d/129-s.webp
Binary file not shown.
Binary file added app/imgs/3d/130-fs.webp
Binary file not shown.
Binary file added app/imgs/3d/130-s.webp
Binary file not shown.
6 changes: 3 additions & 3 deletions app/package.json
@@ -1,7 +1,7 @@
{
"name": "PokeNurse",
"productName": "PokeNurse",
"version": "2.3.0",
"version": "2.3.1",
"description": "A tool for Pokémon Go to aid in transferring and evolving Pokémon",
"main": "./main.js",
"author": {
Expand All @@ -12,8 +12,8 @@
"license": "MIT",
"dependencies": {
"async-file": "^2.0.2",
"electron-localshortcut": "^1.0.0",
"node-pogo-protos": "2.7.0",
"electron-localshortcut": "1.1.1",
"node-pogo-protos": "2.9.1",
"pogobuf": "1.10.0"
}
}
28 changes: 25 additions & 3 deletions app/screens/Detail/components/ModalBody.js
Expand Up @@ -5,6 +5,7 @@ import QuickMove from './QuickMove'
import CinematicMove from './CinematicMove'
import Nickname from './Nickname'
import Evolutions from './Evolutions'
import utils from '../../../utils'

class ModalBody extends React.Component {
static propTypes = {
Expand All @@ -31,7 +32,7 @@ class ModalBody extends React.Component {
render() {
const {
transform,
name,
// name,
hp,
cp,
pokemon,
Expand Down Expand Up @@ -75,7 +76,8 @@ class ModalBody extends React.Component {
title="Listen to Cry"
alt="Profile Sprite"
id="pokemon_profile_sprite"
src={`./imgs/3d/${pokemon.pokemon_id}.webp`}
src={this.handleSprite(pokemon)}
onError={() => { document.getElementById('pokemon_profile_sprite').src = `./imgs/3d/${pokemon.pokemon_id}.webp` }}
/>
<audio
id="pokemonCry"
Expand Down Expand Up @@ -119,7 +121,7 @@ class ModalBody extends React.Component {
</div>
<div className="pokemon-info-item split-2-way">
<div className="pokemon-info-item-text candy-count">{candies}</div>
<div className="pokemon-info-item-title">{`${name} Candy`}</div>
<div className="pokemon-info-item-title">{`${utils.getName(pokemon.family_id)} Candy`}</div>
</div>
</div>
<div className="pokemon_info">
Expand Down Expand Up @@ -150,6 +152,26 @@ class ModalBody extends React.Component {
handleCry = () => {
this.cry.play()
}

handleSprite = (pokemon) => {
let imgPath
if (pokemon.gender === 'Female') {
if (pokemon.shiny) {
// Is FEMALE and SHINY
imgPath = `./imgs/3d/${pokemon.pokemon_id}-fs.webp`
} else {
// Is FEMALE
imgPath = `./imgs/3d/${pokemon.pokemon_id}-f.webp`
}
} else if (pokemon.shiny) {
// Is MALE or GENDERLESS and SHINY
imgPath = `./imgs/3d/${pokemon.pokemon_id}-s.webp`
} else {
// Is MALE or GENDERLESS
imgPath = `./imgs/3d/${pokemon.pokemon_id}.webp`
}
return imgPath
}
}

export default ModalBody
6 changes: 3 additions & 3 deletions app/screens/Login/components/LoginFormContainer.js
Expand Up @@ -36,7 +36,7 @@ const hashKeyTooltip = (

const apiVersionTooltip = (
<Tooltip id="apiVersionTooltip">
Use specific API Version, 0.53 is 5300, 0.57.4 is 5704, etc.
Use specific API Version, 0.57.4 is 5704, 0.61.0 is 6100, etc.
</Tooltip>
)

Expand Down Expand Up @@ -153,7 +153,7 @@ class LoginForm extends React.Component {
</InputGroup.Addon>
<FormControl
type="text"
placeholder="Token only required for safer API interactions"
placeholder="Token required for API interactions"
ref={(c) => { this.hashKey = c }}
onKeyPress={this.handleEnterKey}
defaultValue={credentials.hashingKey || ''}
Expand All @@ -166,7 +166,7 @@ class LoginForm extends React.Component {
</InputGroup.Addon>
<FormControl
type="text"
placeholder="5704"
placeholder="6100"
ref={(c) => { this.apiVersion = c }}
onKeyPress={this.handleEnterKey}
defaultValue={credentials.apiVersion || ''}
Expand Down
2 changes: 2 additions & 0 deletions app/screens/Table/index.js
Expand Up @@ -68,6 +68,8 @@ const teams = [
function getHeaderBackgroundStyles(teamIndex) {
const team = teams[teamIndex]

if (team.name === 'default') team.name = 'bg'

return {
backgroundColor: team.color,
backgroundImage: `url('./imgs/${team.name}.jpg')`,
Expand Down
24 changes: 24 additions & 0 deletions app/utils.js
Expand Up @@ -32,6 +32,18 @@ const NAMES = Object
.replace('Male', '♂')
)

const COSTUMES = Object
.keys(POGOProtos.Enums.Costume)
.map(c => c.split('_').map(word => capitalize(word)).join(' '))

const GENDERS = Object
.keys(POGOProtos.Enums.Gender)
.map(g => g.split('_').map(word => capitalize(word)).join(' '))

const FORMS = Object
.keys(POGOProtos.Enums.Form)
.map(f => f.split('_').map(word => capitalize(word)).join(' '))

const levelCpMultiplier = {
1: 0.094,
1.5: 0.135137432,
Expand Down Expand Up @@ -361,6 +373,18 @@ const utils = {
return NAMES[id] || 'Unknown'
},

getCostume(costume) {
return COSTUMES[costume]
},

getGender(gender) {
return GENDERS[gender]
},

getForm(form) {
return FORMS[form]
},

capitalize,
}

Expand Down
26 changes: 19 additions & 7 deletions app/yarn.lock
Expand Up @@ -162,9 +162,15 @@ ecc-jsbn@~0.1.1:
dependencies:
jsbn "~0.1.0"

electron-localshortcut@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/electron-localshortcut/-/electron-localshortcut-1.0.0.tgz#e9c1ba267c75376e1b254af206b9ff856360a67a"
electron-is-accelerator@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz#509e510c26a56b55e17f863a4b04e111846ab27b"

electron-localshortcut@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/electron-localshortcut/-/electron-localshortcut-1.1.1.tgz#2b7fbad4a279d1678011254bc4d3578f195e00d4"
dependencies:
electron-is-accelerator "^0.1.0"

escape-string-regexp@^1.0.2:
version "1.0.5"
Expand Down Expand Up @@ -376,18 +382,24 @@ minimatch@^3.0.2, "minimatch@2 || 3":
dependencies:
brace-expansion "^1.0.0"

node-pogo-protos@^2.7.0, node-pogo-protos@2.7.0:
node-pogo-protos@^2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/node-pogo-protos/-/node-pogo-protos-2.7.0.tgz#5ae53d851454405a1c76896cd35b48d0a4512daf"
dependencies:
protobufjs "^5.0.1"

"node-pogo-signature@github:starkevin/node-pogo-signature":
node-pogo-protos@2.9.1:
version "2.9.1"
resolved "https://registry.yarnpkg.com/node-pogo-protos/-/node-pogo-protos-2.9.1.tgz#3f30234c7451c2910dbff3502b070292883c9437"
dependencies:
protobufjs "^5.0.1"

node-pogo-signature@starkevin/node-pogo-signature:
version "4.0.0"
resolved "https://codeload.github.com/starkevin/node-pogo-signature/tar.gz/c307d5b9260b735883ec1a209872a4feffcb214f"
resolved "https://codeload.github.com/starkevin/node-pogo-signature/tar.gz/9ab52c922d598da41c101dc4b6f122d41d5c482d"
dependencies:
long "^3.2.0"
pcrypt starkevin/pcrypt
pcrypt laverdet/pcrypt
protobufjs "^5.0.1"

number-is-nan@^1.0.0:
Expand Down
26 changes: 13 additions & 13 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "PokeNurse",
"version": "2.3.0",
"version": "2.3.1",
"description": "A tool for Pokémon Go to aid in transferring and evolving Pokémon",
"main": "main.js",
"scripts": {
Expand Down Expand Up @@ -79,27 +79,27 @@
"homepage": "https://github.com/vinnymac/PokeNurse#readme",
"devDependencies": {
"asar": "0.13.0",
"babel-core": "6.24.0",
"babel-eslint": "7.2.0",
"babel-core": "6.24.1",
"babel-eslint": "7.2.1",
"babel-loader": "6.4.1",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-dev-expression": "^0.2.1",
"babel-plugin-webpack-loaders": "0.9.0",
"babel-polyfill": "6.23.0",
"babel-preset-es2015": "6.24.0",
"babel-preset-react": "6.23.0",
"babel-preset-es2015": "6.24.1",
"babel-preset-react": "6.24.1",
"babel-preset-react-optimize": "^1.0.1",
"babel-preset-stage-0": "6.22.0",
"babel-register": "6.24.0",
"babel-preset-stage-0": "6.24.1",
"babel-register": "6.24.1",
"babili-webpack-plugin": "0.0.11",
"cross-env": "3.2.4",
"css-loader": "0.27.3",
"del": "^2.2.2",
"devtron": "^1.3.0",
"electron": "1.6.2",
"electron-builder": "10.15.1",
"electron-devtools-installer": "2.1.0",
"eslint": "3.18.0",
"electron-devtools-installer": "2.2.0",
"eslint": "3.19.0",
"eslint-config-airbnb": "10.0.1",
"eslint-formatter-pretty": "^1.1.0",
"eslint-import-resolver-webpack": "0.8.1",
Expand All @@ -115,7 +115,7 @@
"json-loader": "^0.5.4",
"lodash": "4.17.4",
"minimist": "^1.2.0",
"moment": "2.18.0",
"moment": "2.18.1",
"postcss": "5.2.16",
"react-addons-perf": "^15.4.2",
"react-bootstrap": "0.30.8",
Expand All @@ -129,17 +129,17 @@
"webpack": "1.14.0",
"webpack-dashboard": "0.3.0",
"webpack-dev-middleware": "1.10.1",
"webpack-hot-middleware": "2.17.1",
"webpack-hot-middleware": "2.18.0",
"webpack-merge": "2.6.0",
"webpack-validator": "2.3.0"
},
"dependencies": {
"async-file": "^2.0.2",
"bootstrap": "^3.3.7",
"electron-debug": "^1.1.0",
"electron-localshortcut": "1.1.0",
"electron-localshortcut": "1.1.1",
"font-awesome": "^4.7.0",
"node-pogo-protos": "2.7.0",
"node-pogo-protos": "2.9.1",
"pogobuf": "1.10.0",
"react": "15.4.2",
"react-dom": "15.4.2",
Expand Down

0 comments on commit da9b881

Please sign in to comment.