├── .gitattributes ├── .gitignore ├── .vscode ├── launch.json └── tasks.json ├── LICENSE ├── README.md ├── TODO ├── app ├── assets │ ├── css │ │ ├── _fixes.scss │ │ ├── _variables.scss │ │ ├── app.css │ │ └── app.scss │ ├── fonts │ │ ├── Roboto-Black.ttf │ │ ├── Roboto-BlackItalic.ttf │ │ ├── Roboto-Bold.ttf │ │ ├── Roboto-BoldItalic.ttf │ │ ├── Roboto-Italic.ttf │ │ ├── Roboto-Light.ttf │ │ ├── Roboto-LightItalic.ttf │ │ ├── Roboto-Medium.ttf │ │ ├── Roboto-MediumItalic.ttf │ │ ├── Roboto-Regular.ttf │ │ ├── Roboto-Thin.ttf │ │ └── Roboto-ThinItalic.ttf │ ├── img │ │ ├── close.png │ │ ├── eggs.png │ │ ├── evolve.gif │ │ ├── evolve.png │ │ ├── favorite_set.png │ │ ├── favorite_unset.png │ │ ├── inventory.png │ │ ├── marker-icon-red.png │ │ ├── player.png │ │ ├── pokeball.png │ │ ├── pokestop.png │ │ ├── pokestop_available.png │ │ ├── pokestop_cooldown.png │ │ ├── pokestop_lure.png │ │ ├── pokestop_visited.png │ │ ├── recyclebin.png │ │ ├── refresh.png │ │ └── settings.png │ ├── inventory │ │ ├── 1.png │ │ ├── 1001.png │ │ ├── 1002.png │ │ ├── 101.png │ │ ├── 102.png │ │ ├── 103.png │ │ ├── 104.png │ │ ├── 2.png │ │ ├── 201.png │ │ ├── 202.png │ │ ├── 3.png │ │ ├── 301.png │ │ ├── 4.png │ │ ├── 401.png │ │ ├── 402.png │ │ ├── 403.png │ │ ├── 404.png │ │ ├── 501.png │ │ ├── 701.png │ │ ├── 702.png │ │ ├── 703.png │ │ ├── 704.png │ │ ├── 705.png │ │ ├── 801.png │ │ ├── 901.png │ │ ├── 902.png │ │ ├── egg.png │ │ ├── incubator-unlimited.png │ │ └── incubator.png │ ├── json │ │ ├── inventory.cn.json │ │ ├── inventory.de.json │ │ ├── inventory.en.json │ │ ├── inventory.fr.json │ │ ├── inventory.it.json │ │ ├── inventory.th.json │ │ ├── inventory.tw.json │ │ ├── pokemon.cn.json │ │ ├── pokemon.de.json │ │ ├── pokemon.en.json │ │ ├── pokemon.fr.json │ │ ├── pokemon.it.json │ │ ├── pokemon.th.json │ │ └── pokemon.tw.json │ └── pokemon │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 100.png │ │ ├── 101.png │ │ ├── 102.png │ │ ├── 103.png │ │ ├── 104.png │ │ ├── 105.png │ │ ├── 106.png │ │ ├── 107.png │ │ ├── 108.png │ │ ├── 109.png │ │ ├── 11.png │ │ ├── 110.png │ │ ├── 111.png │ │ ├── 112.png │ │ ├── 113.png │ │ ├── 114.png │ │ ├── 115.png │ │ ├── 116.png │ │ ├── 117.png │ │ ├── 118.png │ │ ├── 119.png │ │ ├── 12.png │ │ ├── 120.png │ │ ├── 121.png │ │ ├── 122.png │ │ ├── 123.png │ │ ├── 124.png │ │ ├── 125.png │ │ ├── 126.png │ │ ├── 127.png │ │ ├── 128.png │ │ ├── 129.png │ │ ├── 13.png │ │ ├── 130.png │ │ ├── 131.png │ │ ├── 132.png │ │ ├── 133.png │ │ ├── 134.png │ │ ├── 135.png │ │ ├── 136.png │ │ ├── 137.png │ │ ├── 138.png │ │ ├── 139.png │ │ ├── 14.png │ │ ├── 140.png │ │ ├── 141.png │ │ ├── 142.png │ │ ├── 143.png │ │ ├── 144.png │ │ ├── 145.png │ │ ├── 146.png │ │ ├── 147.png │ │ ├── 148.png │ │ ├── 149.png │ │ ├── 15.png │ │ ├── 150.png │ │ ├── 151.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 3.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── 33.png │ │ ├── 34.png │ │ ├── 35.png │ │ ├── 36.png │ │ ├── 37.png │ │ ├── 38.png │ │ ├── 39.png │ │ ├── 4.png │ │ ├── 40.png │ │ ├── 41.png │ │ ├── 42.png │ │ ├── 43.png │ │ ├── 44.png │ │ ├── 45.png │ │ ├── 46.png │ │ ├── 47.png │ │ ├── 48.png │ │ ├── 49.png │ │ ├── 5.png │ │ ├── 50.png │ │ ├── 51.png │ │ ├── 52.png │ │ ├── 53.png │ │ ├── 54.png │ │ ├── 55.png │ │ ├── 56.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 59.png │ │ ├── 6.png │ │ ├── 60.png │ │ ├── 61.png │ │ ├── 62.png │ │ ├── 63.png │ │ ├── 64.png │ │ ├── 65.png │ │ ├── 66.png │ │ ├── 67.png │ │ ├── 68.png │ │ ├── 69.png │ │ ├── 7.png │ │ ├── 70.png │ │ ├── 71.png │ │ ├── 72.png │ │ ├── 73.png │ │ ├── 74.png │ │ ├── 75.png │ │ ├── 76.png │ │ ├── 77.png │ │ ├── 78.png │ │ ├── 79.png │ │ ├── 8.png │ │ ├── 80.png │ │ ├── 81.png │ │ ├── 82.png │ │ ├── 83.png │ │ ├── 84.png │ │ ├── 85.png │ │ ├── 86.png │ │ ├── 87.png │ │ ├── 88.png │ │ ├── 89.png │ │ ├── 9.png │ │ ├── 90.png │ │ ├── 91.png │ │ ├── 92.png │ │ ├── 93.png │ │ ├── 94.png │ │ ├── 95.png │ │ ├── 96.png │ │ ├── 97.png │ │ ├── 98.png │ │ └── 99.png ├── config.html ├── favicon.png ├── index.html ├── main.js ├── package.json └── scripts │ ├── analytics.js │ ├── app.js │ ├── checkversion.js │ ├── config.js │ ├── inventory.js │ ├── map.js │ └── socket.js ├── build ├── icon.icns ├── icon.ico └── icon.png ├── debug.js ├── gulpfile.js ├── package.json └── screenshots ├── 01.png ├── 02.png ├── 03.png └── 04.png /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | .npm 3 | .publish 4 | node_modules 5 | bower_components 6 | certs 7 | dist 8 | npm_debug.log -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "Mockup Server", 6 | "type": "node", 7 | "request": "launch", 8 | "program": "${workspaceRoot}/debug.js", 9 | "stopOnEntry": false, 10 | "args": [], 11 | "cwd": "${workspaceRoot}", 12 | "preLaunchTask": null, 13 | "runtimeExecutable": null, 14 | "runtimeArgs": [ 15 | "--nolazy" 16 | ], 17 | "env": { 18 | "NODE_ENV": "development" 19 | }, 20 | "externalConsole": false, 21 | "sourceMaps": false, 22 | "outDir": null 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.1.0", 3 | "command": "gulp", 4 | "isShellCommand": true, 5 | "tasks": [ 6 | { 7 | "taskName": "watch", 8 | "isBuildCommand": true, 9 | "showOutput": "always", 10 | "isWatching": true 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Nicolas Schmitt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Necrobot / MobBot Visualizer 3 | 4 | You have to be up to date on the bot side (master or maybe latest release). 5 | In the Visualizer, the url on the config page should match the port you configured on bot side (both have the same default). 6 | 7 | ## Installer 8 | 9 | Go to the release tab, grab the latest and just launch it. 10 | 11 | ## Config 12 | 13 | Click on the small settings icon on the bottom right of the app. 14 | The important thing is websocket url and port. Default is also bot default so it should just work. 15 | You can also choose local for Pokemon name display. 16 | 17 | ## Run from Code 18 | 19 | 1. Install [Node.js](https://nodejs.org/en/download/) 20 | 2. Start the node command line 21 | 3. Navigate to your necrobotvisualizer folder 22 | 4. To install enter: ```npm install``` 23 | 5. To start enter: ```npm start``` 24 | 25 | ## Example 26 | 27 | ![Screenshot](https://github.com/nicoschmitt/necrobotvisualizer/blob/master/screenshots/01.png?raw=true) 28 | ![Screenshot](https://github.com/nicoschmitt/necrobotvisualizer/blob/master/screenshots/02.png?raw=true) 29 | ![Screenshot](https://github.com/nicoschmitt/necrobotvisualizer/blob/master/screenshots/03.png?raw=true) 30 | ![Screenshot](https://github.com/nicoschmitt/necrobotvisualizer/blob/master/screenshots/04.png?raw=true) 31 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | todo: 2 | 3 | Inventory 4 | 5 | done: 6 | 7 | Clear map when changing socket (for multiple bot for example) 8 | 9 | -------------------------------------------------------------------------------- /app/assets/css/_fixes.scss: -------------------------------------------------------------------------------- 1 | // Toastr 2 | 3 | #toast-container { 4 | top: 10px; 5 | right: 10px; 6 | @media #{$medium-and-down} { top: 10px; right: 10px; left: auto; bottom: auto; } 7 | @media #{$small-and-down} { top: 0px; right: 0px; left: auto; bottom: auto; } 8 | 9 | .toast { 10 | display: block; 11 | } 12 | } 13 | 14 | // Leaflet 15 | 16 | .leaflet-container { 17 | box-sizing: content-box; 18 | 19 | [type="checkbox"]:not(:checked), [type="checkbox"]:checked, [type="radio"]:not(:checked), [type="radio"]:checked { 20 | left: auto; 21 | opacity: 1; 22 | position: relative; 23 | } 24 | 25 | label { color: $black } 26 | } -------------------------------------------------------------------------------- /app/assets/css/_variables.scss: -------------------------------------------------------------------------------- 1 | $white: #eee; 2 | $black: #333; 3 | 4 | $small-screen-up: 601px !default; 5 | $medium-screen-up: 993px !default; 6 | $large-screen-up: 1201px !default; 7 | $small-screen: 600px !default; 8 | $medium-screen: 992px !default; 9 | $large-screen: 1200px !default; 10 | 11 | $medium-and-up: "only screen and (min-width : #{$small-screen-up})" !default; 12 | $large-and-up: "only screen and (min-width : #{$medium-screen-up})" !default; 13 | $small-and-down: "only screen and (max-width : #{$small-screen})" !default; 14 | $medium-and-down: "only screen and (max-width : #{$medium-screen})" !default; 15 | $medium-only: "only screen and (min-width : #{$small-screen-up}) and (max-width : #{$medium-screen})" !default; 16 | -------------------------------------------------------------------------------- /app/assets/css/app.css: -------------------------------------------------------------------------------- 1 | #toast-container { 2 | top: 10px; 3 | right: 10px; } 4 | @media only screen and (max-width: 992px) { 5 | #toast-container { 6 | top: 10px; 7 | right: 10px; 8 | left: auto; 9 | bottom: auto; } } 10 | @media only screen and (max-width: 600px) { 11 | #toast-container { 12 | top: 0px; 13 | right: 0px; 14 | left: auto; 15 | bottom: auto; } } 16 | #toast-container .toast { 17 | display: block; } 18 | 19 | .leaflet-container { 20 | box-sizing: content-box; } 21 | .leaflet-container [type="checkbox"]:not(:checked), .leaflet-container [type="checkbox"]:checked, .leaflet-container [type="radio"]:not(:checked), .leaflet-container [type="radio"]:checked { 22 | left: auto; 23 | opacity: 1; 24 | position: relative; } 25 | .leaflet-container label { 26 | color: #333; } 27 | 28 | body, html, .content { 29 | font-family: Roboto; 30 | font-weight: 400; 31 | background-color: black; 32 | color: #eee; 33 | display: flex; 34 | flex-direction: column; 35 | height: 100%; 36 | -webkit-font-smoothing: antialiased; } 37 | 38 | .content { 39 | padding: 0px; 40 | align-items: stretch; 41 | flex: 1 100%; 42 | background: linear-gradient(to top, #24ccaa, #a2db95); } 43 | 44 | #map { 45 | display: flex; 46 | flex-direction: column; 47 | align-items: stretch; 48 | flex: 1 100%; 49 | background-color: transparent; } 50 | 51 | .toolbar { 52 | background-color: #eee; 53 | box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7); 54 | border-radius: 4px; 55 | bottom: 15px; 56 | right: 15px; 57 | position: absolute; 58 | display: flex; 59 | flex-direction: row; 60 | z-index: 1000; 61 | overflow: hidden; } 62 | @media only screen and (max-width: 600px) { 63 | .toolbar { 64 | flex-direction: column; } } 65 | .toolbar div { 66 | border-right: 1px solid #ccc; } 67 | .toolbar div:first-child { 68 | border-top-left-radius: 5px; 69 | border-bottom-left-radius: 5px; } 70 | .toolbar div:last-child { 71 | border-top-right-radius: 4px; 72 | border-bottom-right-radius: 4px; } 73 | .toolbar div::hover { 74 | background-color: #f4f4f4; } 75 | .toolbar a { 76 | padding: 7px 12px 5px; 77 | display: inline-block; } 78 | 79 | .loading { 80 | box-sizing: content-box; 81 | background-color: rgba(255, 255, 255, 0.2); 82 | color: #eee; 83 | max-width: 350px; 84 | height: 50px; 85 | line-height: 50px; 86 | padding: 40px; 87 | text-align: center; 88 | border-radius: 10px; 89 | margin: auto; 90 | position: absolute; 91 | top: 0; 92 | bottom: 0; 93 | left: 0; 94 | right: 0; } 95 | 96 | .message { 97 | box-sizing: content-box; 98 | background-color: rgba(255, 255, 255, 0.9); 99 | color: #436a6b; 100 | max-width: 350px; 101 | height: 50px; 102 | line-height: 50px; 103 | padding: 40px; 104 | text-align: center; 105 | border-radius: 10px; 106 | margin: auto; 107 | position: absolute; 108 | top: 0; 109 | bottom: 0; 110 | left: 0; 111 | right: 0; 112 | z-index: 2000; } 113 | .message .data { 114 | line-height: 100%; } 115 | .message .close { 116 | top: 10px; } 117 | 118 | .inventory { 119 | box-sizing: content-box; 120 | background-color: rgba(255, 255, 255, 0.95); 121 | color: #436a6b; 122 | position: absolute; 123 | padding: .5em 0px .5em .5em; 124 | top: -50%; 125 | left: 50%; 126 | transform: translate(-50%, -50%); 127 | text-align: center; 128 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7); 129 | border-radius: 10px; 130 | z-index: 1000; 131 | display: flex; 132 | flex-direction: column; 133 | opacity: 0; 134 | transition: top 500ms, opacity 500ms; 135 | width: 60%; 136 | height: 63%; } 137 | @media only screen and (max-width: 992px) { 138 | .inventory { 139 | width: 95%; 140 | height: 80%; } } 141 | .inventory.active { 142 | top: 50%; 143 | opacity: 1; 144 | transition: top 500ms, opacity 500ms; } 145 | .inventory .data { 146 | display: flex; 147 | flex-wrap: wrap; 148 | flex-direction: row; 149 | overflow: auto; 150 | box-sizing: border-box; } 151 | .inventory .data::-webkit-scrollbar-track { 152 | border-radius: 20px; 153 | background-color: #F5F5F5; } 154 | .inventory .data::-webkit-scrollbar { 155 | width: 18px; 156 | background-color: #F5F5F5; } 157 | .inventory .data::-webkit-scrollbar-thumb { 158 | border-radius: 20px; 159 | background-color: #436a6b; } 160 | .inventory .info { 161 | font-size: 80%; } 162 | @media only screen and (max-width: 600px) { 163 | .inventory .info { 164 | font-size: 70%; } } 165 | .inventory .numberinfo { 166 | padding: .6em 3em; 167 | margin: .6em auto; 168 | max-width: 100px; 169 | display: block; 170 | border: 1px solid #436a6b; 171 | border-radius: 5px; } 172 | .inventory .pokemonsort a { 173 | text-decoration: none; 174 | color: #436a6b; 175 | display: inline-block; 176 | padding: .3em .5em; 177 | border-radius: .2em; } 178 | .inventory .pokemonsort a:hover, .inventory .pokemonsort a:active, .inventory .pokemonsort a.active { 179 | background-color: #436a6b; 180 | color: #eee; } 181 | .inventory .pokemonsort a:hover { 182 | opacity: 0.7; } 183 | 184 | .item, .egg, .pokemon { 185 | box-sizing: border-box; 186 | width: 25%; 187 | padding: .7em; 188 | position: relative; 189 | display: flex; 190 | flex-direction: column; 191 | align-content: center; } 192 | @media only screen and (max-width: 992px) { 193 | .item, .egg, .pokemon { 194 | width: 33.33333%; } } 195 | .item img, .egg img, .pokemon img { 196 | max-width: 75px; 197 | max-height: 75px; 198 | margin: auto; } 199 | .item .imgspan, .egg .imgspan, .pokemon .imgspan { 200 | flex-grow: 1; 201 | display: flex; 202 | position: relative; } 203 | .item span:last-child, .egg span:last-child, .pokemon span:last-child { 204 | letter-spacing: 0.05em; } 205 | .item:hover, .egg:hover, .pokemon:hover { 206 | background: rgba(67, 106, 107, 0.1); 207 | color: rgba(67, 106, 107, 0.3); } 208 | .item:hover img, .egg:hover img, .pokemon:hover img { 209 | opacity: 0.3; } 210 | .item .transfer, .egg .transfer, .pokemon .transfer { 211 | display: none; } 212 | .item:hover .transfer, .egg:hover .transfer, .pokemon:hover .transfer { 213 | display: flex; 214 | flex-direction: row; 215 | position: absolute; 216 | margin: auto; 217 | top: 50%; 218 | left: 50%; 219 | transform: translate(-50%, -50%); 220 | z-index: 3000; } 221 | .item:hover .transfer a, .egg:hover .transfer a, .pokemon:hover .transfer a { 222 | margin: 0 0.5em; } 223 | .item:hover .transfer img, .egg:hover .transfer img, .pokemon:hover .transfer img { 224 | opacity: 1; } 225 | 226 | .pokemon:hover .imgspan.canEvolve:after { 227 | opacity: 0.3; } 228 | 229 | .pokemon .imgspan.canEvolve:after { 230 | content: ''; 231 | background: url("../img/evolve.gif") 50% 50% no-repeat; 232 | background-size: 55%; 233 | position: absolute; 234 | width: 100%; 235 | height: 100%; 236 | z-index: -1; 237 | left: 0; 238 | top: 0; } 239 | 240 | .player { 241 | box-sizing: content-box; 242 | color: #333; 243 | box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7); 244 | border-radius: 4px; 245 | bottom: 15px; 246 | left: 15px; 247 | position: absolute; 248 | display: flex; 249 | flex-direction: column; 250 | justify-content: flex-end; 251 | align-content: flex-end; 252 | z-index: 990; 253 | overflow: hidden; 254 | padding: 10px; 255 | background-color: #eee; 256 | width: 10%; } 257 | @media only screen and (min-width: 601px) and (max-width: 992px) { 258 | .player { 259 | width: 20%; } } 260 | @media only screen and (max-width: 600px) { 261 | .player { 262 | width: 25%; } } 263 | .player div { 264 | margin-top: 5px; } 265 | @media only screen and (max-width: 600px) { 266 | .player div { 267 | margin-top: 0; } } 268 | .player .level { 269 | font-weight: bold; } 270 | .player .playername { 271 | font-size: 0.8em; } 272 | .player .back { 273 | position: absolute; 274 | bottom: 0; 275 | left: 0; 276 | opacity: 0.2; 277 | max-height: 100%; } 278 | .player .myprogress { 279 | height: 10px; 280 | /* Can be anything */ 281 | position: relative; 282 | background: #333; 283 | border-radius: 25px; 284 | padding: 4px; 285 | box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3); } 286 | @media only screen and (max-width: 600px) { 287 | .player .myprogress { 288 | margin-top: 5px; 289 | height: 5px; } } 290 | .player .myprogress > span { 291 | display: block; 292 | height: 100%; 293 | border-top-right-radius: 8px; 294 | border-bottom-right-radius: 8px; 295 | border-top-left-radius: 20px; 296 | border-bottom-left-radius: 20px; 297 | background-color: #2F96B4; 298 | box-shadow: inset 0 2px 9px rgba(255, 255, 255, 0.3), inset 0 -2px 6px rgba(0, 0, 0, 0.4); 299 | position: relative; 300 | overflow: hidden; } 301 | 302 | .refresh { 303 | position: absolute; 304 | right: 50px; } 305 | 306 | .close { 307 | position: absolute; 308 | right: 10px; } 309 | 310 | .dest { 311 | font-size: 1.1em; 312 | margin-bottom: 0.5em; } 313 | 314 | a.destBtn { 315 | color: #eee; } 316 | -------------------------------------------------------------------------------- /app/assets/css/app.scss: -------------------------------------------------------------------------------- 1 | @import "variables"; 2 | @import "fixes"; 3 | 4 | body, html, .content { 5 | font-family: Roboto; 6 | font-weight: 400; 7 | background-color: black; 8 | color: #eee; 9 | display: flex; 10 | flex-direction: column; 11 | height: 100%; 12 | -webkit-font-smoothing: antialiased; 13 | } 14 | 15 | //body { padding: 10px; } 16 | 17 | .content { 18 | padding: 0px; 19 | align-items: stretch; 20 | flex: 1 100%; 21 | background: linear-gradient(to top, #24ccaa, #a2db95); 22 | } 23 | 24 | #map { 25 | display: flex; 26 | flex-direction: column; 27 | align-items: stretch; 28 | flex: 1 100%; 29 | background-color: transparent; 30 | } 31 | 32 | .toolbar { 33 | background-color: $white; 34 | box-shadow: 0px 0px 5px rgba(0,0,0,0.7); 35 | border-radius: 4px; 36 | bottom: 15px; 37 | right: 15px; 38 | position: absolute; 39 | display: flex; 40 | flex-direction: row; 41 | z-index: 1000; 42 | overflow: hidden; 43 | 44 | @media #{$small-and-down} { flex-direction: column; } 45 | 46 | div { 47 | border-right: 1px solid #ccc; 48 | 49 | &:first-child { 50 | border-top-left-radius: 5px; 51 | border-bottom-left-radius: 5px; 52 | } 53 | &:last-child { 54 | border-top-right-radius: 4px; 55 | border-bottom-right-radius: 4px; 56 | } 57 | &::hover { 58 | background-color: #f4f4f4; 59 | } 60 | } 61 | 62 | a { 63 | padding: 7px 12px 5px; 64 | display: inline-block; 65 | } 66 | } 67 | 68 | .loading { 69 | box-sizing: content-box; 70 | background-color: rgba(255,255,255,0.2); 71 | color: $white; 72 | max-width: 350px; 73 | height: 50px; 74 | line-height: 50px; 75 | padding: 40px; 76 | text-align: center; 77 | border-radius: 10px; 78 | margin: auto; 79 | position: absolute; 80 | top: 0; 81 | bottom: 0; 82 | left: 0; 83 | right: 0; 84 | } 85 | 86 | .message { 87 | box-sizing: content-box; 88 | background-color: rgba(255,255,255,0.9); 89 | color: #436a6b; 90 | max-width: 350px; 91 | height: 50px; 92 | line-height: 50px; 93 | padding: 40px; 94 | text-align: center; 95 | border-radius: 10px; 96 | margin: auto; 97 | position: absolute; 98 | top: 0; 99 | bottom: 0; 100 | left: 0; 101 | right: 0; 102 | z-index: 2000; 103 | 104 | .data { 105 | line-height: 100%; 106 | } 107 | 108 | .close { 109 | top: 10px; 110 | } 111 | } 112 | 113 | .inventory { 114 | box-sizing: content-box; 115 | background-color: rgba(255,255,255,0.95); 116 | color: #436a6b; 117 | position: absolute; 118 | padding: .5em 0px .5em .5em; 119 | top: -50%; 120 | left: 50%; 121 | transform: translate(-50%, -50%); 122 | text-align: center; 123 | 124 | box-shadow: 0px 0px 10px rgba(0,0,0,0.7); 125 | border-radius: 10px; 126 | z-index: 1000; 127 | display: flex; 128 | flex-direction: column; 129 | opacity: 0; 130 | transition: top 500ms, opacity 500ms; 131 | 132 | width: 60%; 133 | height: 63%; 134 | 135 | @media #{$medium-and-down} { width: 95%; height: 80%; } 136 | 137 | &.active { 138 | top: 50%; 139 | opacity: 1; 140 | transition: top 500ms, opacity 500ms; 141 | } 142 | 143 | .data { 144 | display: flex; 145 | flex-wrap: wrap; 146 | flex-direction: row; 147 | overflow: auto; 148 | box-sizing: border-box; 149 | 150 | &::-webkit-scrollbar-track { 151 | border-radius: 20px; 152 | background-color: #F5F5F5; 153 | } 154 | &::-webkit-scrollbar { 155 | width: 18px; 156 | background-color: #F5F5F5; 157 | } 158 | &::-webkit-scrollbar-thumb { 159 | border-radius: 20px; 160 | background-color: #436a6b; 161 | } 162 | } 163 | 164 | .info { 165 | font-size: 80%; 166 | @media #{$small-and-down} { font-size: 70%; } 167 | } 168 | 169 | .numberinfo { 170 | padding: .6em 3em; 171 | margin: .6em auto; 172 | max-width: 100px; 173 | display: block; 174 | border: 1px solid #436a6b; 175 | border-radius: 5px; 176 | } 177 | 178 | .pokemonsort { 179 | a { 180 | text-decoration: none; 181 | color: #436a6b; 182 | display: inline-block; 183 | padding: .3em .5em; 184 | border-radius: .2em; 185 | 186 | &:hover, &:active, &.active { 187 | background-color: #436a6b; 188 | color: $white; 189 | } 190 | 191 | &:hover { 192 | opacity: 0.7; 193 | } 194 | } 195 | } 196 | } 197 | 198 | .item { 199 | box-sizing: border-box; 200 | width: percentage(1/4); 201 | @media #{$medium-and-down} { width: percentage(1/3); } 202 | 203 | padding: .7em; 204 | position: relative; 205 | display: flex; 206 | flex-direction: column; 207 | align-content: center; 208 | 209 | img { 210 | max-width: 75px; 211 | max-height: 75px; 212 | margin: auto; 213 | } 214 | 215 | .imgspan { 216 | flex-grow: 1; 217 | display: flex; 218 | position: relative; 219 | } 220 | 221 | span:last-child { 222 | letter-spacing: 0.05em; 223 | } 224 | 225 | &:hover { 226 | background: rgba(#436a6b, 0.1); 227 | color: rgba(#436a6b, 0.3); 228 | } 229 | 230 | &:hover img { 231 | opacity: 0.3; 232 | } 233 | 234 | .transfer { 235 | display:none; 236 | } 237 | 238 | &:hover .transfer { 239 | display: flex; 240 | flex-direction: row; 241 | position: absolute; 242 | margin: auto; 243 | top: 50%; 244 | left: 50%; 245 | transform: translate(-50%, -50%); 246 | z-index: 3000; 247 | 248 | a { 249 | margin: 0 0.5em; 250 | } 251 | 252 | img { 253 | opacity: 1; 254 | } 255 | } 256 | } 257 | 258 | .egg { 259 | @extend .item; 260 | } 261 | 262 | .pokemon { 263 | @extend .item; 264 | 265 | &:hover .imgspan.canEvolve:after { 266 | opacity: 0.3; 267 | } 268 | 269 | .imgspan.canEvolve:after { 270 | content: ''; 271 | background: url('../img/evolve.gif') 50% 50% no-repeat; 272 | background-size: 55%; 273 | position: absolute; 274 | width: 100%; 275 | height: 100%; 276 | z-index: -1; 277 | left:0; 278 | top: 0; 279 | } 280 | } 281 | 282 | .player { 283 | box-sizing: content-box; 284 | color: $black; 285 | box-shadow: 0px 0px 5px rgba(0,0,0,0.7); 286 | border-radius: 4px; 287 | bottom: 15px; 288 | left: 15px; 289 | position: absolute; 290 | display: flex; 291 | flex-direction: column; 292 | justify-content: flex-end; 293 | align-content: flex-end; 294 | z-index: 990; 295 | overflow: hidden; 296 | padding: 10px; 297 | background-color: $white; 298 | 299 | width: 10%; 300 | @media #{$medium-only} { width: percentage(1/5); } 301 | @media #{$small-and-down} { width: percentage(1/4); } 302 | 303 | div { 304 | margin-top: 5px; 305 | 306 | @media #{$small-and-down} { margin-top: 0;} 307 | } 308 | 309 | .level { font-weight: bold; } 310 | .playername { font-size: 0.8em } 311 | 312 | .back { 313 | position: absolute; 314 | bottom: 0; 315 | left: 0; 316 | opacity: 0.2; 317 | max-height: 100%; 318 | } 319 | 320 | .myprogress { 321 | height: 10px; /* Can be anything */ 322 | position: relative; 323 | background: $black; 324 | border-radius: 25px; 325 | padding: 4px; 326 | box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3); 327 | 328 | @media #{$small-and-down} { margin-top: 5px; height: 5px;} 329 | 330 | & > span { 331 | display: block; 332 | height: 100%; 333 | border-top-right-radius: 8px; 334 | border-bottom-right-radius: 8px; 335 | border-top-left-radius: 20px; 336 | border-bottom-left-radius: 20px; 337 | background-color: #2F96B4; 338 | box-shadow: 339 | inset 0 2px 9px rgba(255,255,255,0.3), 340 | inset 0 -2px 6px rgba(0,0,0,0.4); 341 | position: relative; 342 | overflow: hidden; 343 | } 344 | } 345 | } 346 | 347 | .refresh { 348 | position: absolute; 349 | right: 50px; 350 | } 351 | 352 | .close { 353 | position: absolute; 354 | right: 10px; 355 | } 356 | 357 | .dest { 358 | font-size: 1.1em; 359 | margin-bottom: 0.5em; 360 | } 361 | 362 | a.destBtn { 363 | color: $white; 364 | } -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-Black.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-Bold.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-Italic.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-Light.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-Thin.ttf -------------------------------------------------------------------------------- /app/assets/fonts/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/fonts/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /app/assets/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/close.png -------------------------------------------------------------------------------- /app/assets/img/eggs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/eggs.png -------------------------------------------------------------------------------- /app/assets/img/evolve.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/evolve.gif -------------------------------------------------------------------------------- /app/assets/img/evolve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/evolve.png -------------------------------------------------------------------------------- /app/assets/img/favorite_set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/favorite_set.png -------------------------------------------------------------------------------- /app/assets/img/favorite_unset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/favorite_unset.png -------------------------------------------------------------------------------- /app/assets/img/inventory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/inventory.png -------------------------------------------------------------------------------- /app/assets/img/marker-icon-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/marker-icon-red.png -------------------------------------------------------------------------------- /app/assets/img/player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/player.png -------------------------------------------------------------------------------- /app/assets/img/pokeball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/pokeball.png -------------------------------------------------------------------------------- /app/assets/img/pokestop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/pokestop.png -------------------------------------------------------------------------------- /app/assets/img/pokestop_available.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/pokestop_available.png -------------------------------------------------------------------------------- /app/assets/img/pokestop_cooldown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/pokestop_cooldown.png -------------------------------------------------------------------------------- /app/assets/img/pokestop_lure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/pokestop_lure.png -------------------------------------------------------------------------------- /app/assets/img/pokestop_visited.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/pokestop_visited.png -------------------------------------------------------------------------------- /app/assets/img/recyclebin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/recyclebin.png -------------------------------------------------------------------------------- /app/assets/img/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/refresh.png -------------------------------------------------------------------------------- /app/assets/img/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/img/settings.png -------------------------------------------------------------------------------- /app/assets/inventory/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/1.png -------------------------------------------------------------------------------- /app/assets/inventory/1001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/1001.png -------------------------------------------------------------------------------- /app/assets/inventory/1002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/1002.png -------------------------------------------------------------------------------- /app/assets/inventory/101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/101.png -------------------------------------------------------------------------------- /app/assets/inventory/102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/102.png -------------------------------------------------------------------------------- /app/assets/inventory/103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/103.png -------------------------------------------------------------------------------- /app/assets/inventory/104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/104.png -------------------------------------------------------------------------------- /app/assets/inventory/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/2.png -------------------------------------------------------------------------------- /app/assets/inventory/201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/201.png -------------------------------------------------------------------------------- /app/assets/inventory/202.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/202.png -------------------------------------------------------------------------------- /app/assets/inventory/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/3.png -------------------------------------------------------------------------------- /app/assets/inventory/301.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/301.png -------------------------------------------------------------------------------- /app/assets/inventory/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/4.png -------------------------------------------------------------------------------- /app/assets/inventory/401.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/401.png -------------------------------------------------------------------------------- /app/assets/inventory/402.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/402.png -------------------------------------------------------------------------------- /app/assets/inventory/403.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/403.png -------------------------------------------------------------------------------- /app/assets/inventory/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/404.png -------------------------------------------------------------------------------- /app/assets/inventory/501.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/501.png -------------------------------------------------------------------------------- /app/assets/inventory/701.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/701.png -------------------------------------------------------------------------------- /app/assets/inventory/702.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/702.png -------------------------------------------------------------------------------- /app/assets/inventory/703.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/703.png -------------------------------------------------------------------------------- /app/assets/inventory/704.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/704.png -------------------------------------------------------------------------------- /app/assets/inventory/705.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/705.png -------------------------------------------------------------------------------- /app/assets/inventory/801.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/801.png -------------------------------------------------------------------------------- /app/assets/inventory/901.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/901.png -------------------------------------------------------------------------------- /app/assets/inventory/902.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/902.png -------------------------------------------------------------------------------- /app/assets/inventory/egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/egg.png -------------------------------------------------------------------------------- /app/assets/inventory/incubator-unlimited.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/incubator-unlimited.png -------------------------------------------------------------------------------- /app/assets/inventory/incubator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/inventory/incubator.png -------------------------------------------------------------------------------- /app/assets/json/inventory.cn.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "未知", 3 | "1": "精灵球", 4 | "2": "高级球", 5 | "3": "超级球", 6 | "4": "大师球", 7 | "101": "药水", 8 | "102": "高级药水", 9 | "103": "超级药水", 10 | "104": "顶级药水", 11 | "201": "复活石", 12 | "202": "顶级复活石", 13 | "301": "幸运蛋", 14 | "401": "熏香", 15 | "402": "火热熏香", 16 | "403": "冷酷熏香", 17 | "404": "植物熏香", 18 | "501": "诱饵模块", 19 | "602": "X 攻击", 20 | "603": "X 防御", 21 | "604": "X 奇迹", 22 | "701": "浆果", 23 | "702": "蓝莓果", 24 | "703": "青梨果", 25 | "705": "旺梨果", 26 | "801": "相机", 27 | "901": "孵化器 ∞", 28 | "902": "孵化器", 29 | "1001": "存储精灵升级", 30 | "1002": "物品背包升级" 31 | } 32 | -------------------------------------------------------------------------------- /app/assets/json/inventory.de.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "Unbekannt", 3 | "1": "Pokéball", 4 | "2": "Superball", 5 | "3": "Hyperball", 6 | "4": "Meisterball", 7 | "101": "Trank", 8 | "102": "Supertrank", 9 | "103": "Hypertrank", 10 | "104": "Top-Trank", 11 | "201": "Beleber", 12 | "202": "Top-Beleber", 13 | "301": "Glücks-Ei", 14 | "401": "Rauch", 15 | "402": "Kräftiger-Rauch", 16 | "403": "Kühler-Rauch", 17 | "404": "Pflanzen-Rauch", 18 | "501": "Lockmodul", 19 | "602": "X-Angriff", 20 | "603": "X-Abwehr", 21 | "604": "X-Wunder", 22 | "701": "Himmihbeere", 23 | "702": "Morbbeere", 24 | "703": "Nirbebeere", 25 | "705": "Sananabeere", 26 | "801": "Kamera", 27 | "901": "Ei-Brutmaschine ∞", 28 | "902": "Ei-Brutmaschine", 29 | "1001": "Pokémon-Aufbewahrung-Plus", 30 | "1002": "Beutel-Plus" 31 | } -------------------------------------------------------------------------------- /app/assets/json/inventory.en.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "Unknown", 3 | "1": "Poke ball", 4 | "2": "Great Ball", 5 | "3": "Ultra Ball", 6 | "4": "Master Ball", 7 | "101": "Potion", 8 | "102": "Super Potion", 9 | "103": "Hyper Potion", 10 | "104": "Max Potion", 11 | "201": "Revive", 12 | "202": "Max Revive", 13 | "301": "Lucky Egg", 14 | "401": "Incense", 15 | "402": "Incense Spicy", 16 | "403": "Incense Cool", 17 | "404": "Incense Floral", 18 | "501": "Lure Module", 19 | "602": "X Attack", 20 | "603": "X Defense", 21 | "604": "X Miracle", 22 | "701": "Razberry", 23 | "702": "Blukberry", 24 | "703": "Weparberry", 25 | "705": "Pinapberry", 26 | "801": "Camera", 27 | "901": "Incubator ∞", 28 | "902": "Incubator", 29 | "1001": "Pokemon Storage Upgrade", 30 | "1002": "Item Storage Upgrade" 31 | } -------------------------------------------------------------------------------- /app/assets/json/inventory.fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "Inconnu", 3 | "1": "Poké Ball", 4 | "2": "Super Ball", 5 | "3": "Ultra Ball", 6 | "4": "Master Ball", 7 | "101": "Potion", 8 | "102": "Super Potion", 9 | "103": "Hyper Potion", 10 | "104": "Potion Max", 11 | "201": "Rappel", 12 | "202": "Max Revive", 13 | "301": "Oeuf Chance", 14 | "401": "Encens", 15 | "402": "Encens Spicy", 16 | "403": "Encens Cool", 17 | "404": "Encens Floral", 18 | "501": "Leurre", 19 | "602": "X Attack", 20 | "603": "X Defense", 21 | "604": "X Miracle", 22 | "701": "Baie Framby", 23 | "702": "Blukberry", 24 | "703": "Weparberry", 25 | "705": "Pinapberry", 26 | "801": "Appareil photo", 27 | "901": "Incubateur ∞", 28 | "902": "Incubateur", 29 | "1001": "Ext. pokémon", 30 | "1002": "Ext. objets" 31 | } 32 | -------------------------------------------------------------------------------- /app/assets/json/inventory.it.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "Sconosciuto", 3 | "1": "Poke ball", 4 | "2": "Mega Ball", 5 | "3": "Ultra Ball", 6 | "4": "Master Ball", 7 | "101": "Pozione", 8 | "102": "Superpozione", 9 | "103": "Iperpozione", 10 | "104": "Pozione Max", 11 | "201": "Revitalizzante", 12 | "202": "Revitalizzante Max", 13 | "301": "Fortunuovo", 14 | "401": "Aroma", 15 | "402": "Aroma di fuoco", 16 | "403": "Aroma d'acqua", 17 | "404": "Aroma d'erba", 18 | "501": "Modulo Esca", 19 | "602": "Attacco X", 20 | "603": "Difesa X", 21 | "604": "Miracolo X", 22 | "701": "Baccalampon", 23 | "702": "Blukberry", 24 | "703": "Weparberry", 25 | "705": "Pinapberry", 26 | "801": "Fotocamera", 27 | "901": "Incubatrice ∞", 28 | "902": "Incubatrice", 29 | "1001": "Upgrade Inventario Pokemon", 30 | "1002": "Upgrade Inventario Uova" 31 | } 32 | -------------------------------------------------------------------------------- /app/assets/json/inventory.th.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "Unknown", 3 | "1": "โปเกบอล", 4 | "2": "เกรสบอล", 5 | "3": "อัลตร้าบอล", 6 | "4": "มาสเตอร์บอล", 7 | "101": "Potion", 8 | "102": "Super Potion", 9 | "103": "Hyper Potion", 10 | "104": "Max Potion", 11 | "201": "Revive", 12 | "202": "Max Revive", 13 | "301": "Lucky Egg", 14 | "401": "Incense", 15 | "402": "Incense Spicy", 16 | "403": "Incense Cool", 17 | "404": "Incense Floral", 18 | "501": "Lure Module", 19 | "602": "X Attack", 20 | "603": "X Defense", 21 | "604": "X Miracle", 22 | "701": "Razberry", 23 | "702": "Blukberry", 24 | "703": "Weparberry", 25 | "705": "Pinapberry", 26 | "801": "กล้อง", 27 | "901": "Incubator ∞", 28 | "902": "Incubator", 29 | "1001": "อัพเกรดคลังเก็บโปเกม่อน", 30 | "1002": "อัพเกรดคลังเก็บของ" 31 | } 32 | -------------------------------------------------------------------------------- /app/assets/json/inventory.tw.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": "Unknown", 3 | "1": "Poke ball", 4 | "2": "Great Ball", 5 | "3": "Ultra Ball", 6 | "4": "Master Ball", 7 | "101": "Potion", 8 | "102": "Super Potion", 9 | "103": "Hyper Potion", 10 | "104": "Max Potion", 11 | "201": "Revive", 12 | "202": "Max Revive", 13 | "301": "Lucky Egg", 14 | "401": "Incense", 15 | "402": "Incense Spicy", 16 | "403": "Incense Cool", 17 | "404": "Incense Floral", 18 | "501": "Lure Module", 19 | "602": "X Attack", 20 | "603": "X Defense", 21 | "604": "X Miracle", 22 | "701": "Razberry", 23 | "702": "Blukberry", 24 | "703": "Weparberry", 25 | "705": "Pinapberry", 26 | "801": "Camera", 27 | "901": "Incubator ∞", 28 | "902": "Incubator", 29 | "1001": "Pokemon Storage Upgrade", 30 | "1002": "Item Storage Upgrade" 31 | } -------------------------------------------------------------------------------- /app/assets/json/pokemon.cn.json: -------------------------------------------------------------------------------- 1 | {"1":"妙蛙种子","2":"妙蛙草","3":"妙蛙花","4":"小火龙","5":"火恐龙","6":"喷火龙","7":"杰尼龟","8":"卡咪龟","9":"水箭龟","10":"绿毛虫","11":"铁甲蛹","12":"巴大蝶","13":"独角虫","14":"铁壳蛹","15":"大针蜂","16":"波波","17":"比比鸟","18":"大比鸟","19":"小拉达","20":"拉达","21":"烈雀","22":"大嘴雀","23":"阿柏蛇","24":"阿柏怪","25":"皮卡丘","26":"雷丘","27":"穿山鼠","28":"穿山王","29":"尼多兰","30":"尼多娜","31":"尼多后","32":"尼多朗","33":"尼多力诺","34":"尼多王","35":"皮皮","36":"皮可西","37":"六尾","38":"九尾","39":"胖丁","40":"胖可丁","41":"超音蝠","42":"大嘴蝠","43":"走路草","44":"臭臭花","45":"霸王花","46":"派拉斯","47":"派拉斯特","48":"毛球","49":"摩鲁蛾","50":"地鼠","51":"三地鼠","52":"喵喵","53":"猫老大","54":"可达鸭","55":"哥达鸭","56":"猴怪","57":"火暴猴","58":"卡蒂狗","59":"风速狗","60":"蚊香蝌蚪","61":"蚊香君","62":"蚊香泳士","63":"凯西","64":"勇基拉","65":"胡地","66":"腕力","67":"豪力","68":"怪力","69":"喇叭芽","70":"口呆花","71":"大食花","72":"玛瑙水母","73":"毒刺水母","74":"小拳石","75":"隆隆石","76":"隆隆岩","77":"小火马","78":"烈焰马","79":"呆呆兽","80":"呆壳兽","81":"小磁怪","82":"三合一磁怪","83":"大葱鸭","84":"嘟嘟","85":"嘟嘟利","86":"小海狮","87":"白海狮","88":"臭泥","89":"臭臭泥","90":"大舌贝","91":"刺甲贝","92":"鬼斯","93":"鬼斯通","94":"耿鬼","95":"大岩蛇","96":"催眠貘","97":"引梦貘人","98":"大钳蟹","99":"巨钳蟹","100":"霹雳电球","101":"顽皮雷弹","102":"蛋蛋","103":"椰蛋树","104":"卡拉卡拉","105":"嘎啦嘎啦","106":"飞腿郎","107":"快拳郎","108":"大舌头","109":"瓦斯弹","110":"双弹瓦斯","111":"独角犀牛","112":"钻角犀兽","113":"吉利蛋","114":"蔓藤怪","115":"袋兽","116":"墨海马","117":"海刺龙","118":"角金鱼","119":"金鱼王","120":"海星星","121":"宝石海星","122":"魔墙人偶","123":"飞天螳螂","124":"迷唇姐","125":"电击兽","126":"鸭嘴火兽","127":"凯罗斯","128":"肯泰罗","129":"鲤鱼王","130":"暴鲤龙","131":"拉普拉斯","132":"百变怪","133":"伊布","134":"水伊布","135":"雷伊布","136":"火伊布","137":"多边兽","138":"菊石兽","139":"多刺菊石","140":"化石盔","141":"镰刀盔","142":"化石翼龙","143":"卡比兽","144":"急冻鸟","145":"闪电鸟","146":"火焰鸟","147":"迷你龙","148":"哈克龙","149":"快龙","150":"超梦","151":"梦幻","152":"菊草叶","153":"月桂叶","154":"大菊花","155":"火球鼠","156":"火岩鼠","157":"火暴兽","158":"小锯鳄","159":"蓝鳄","160":"大力鳄","161":"尾立","162":"大尾立","163":"咕咕","164":"猫头夜鹰","165":"芭瓢虫","166":"安瓢虫","167":"线球","168":"阿利多斯","169":"叉字蝠","170":"灯笼鱼","171":"电灯怪","172":"皮丘","173":"皮宝宝","174":"宝宝丁","175":"波克比","176":"波克基古","177":"天然雀","178":"天然鸟","179":"咩利羊","180":"绵绵","181":"电龙","182":"美丽花","183":"玛力露","184":"玛力露丽","185":"树才怪","186":"蚊香蛙皇","187":"毽子草","188":"毽子花","189":"毽子绵","190":"长尾怪手","191":"向日种子","192":"向日花怪","193":"阳阳玛","194":"乌波","195":"沼王","196":"太阳精灵","197":"月精灵","198":"黑暗鸦","199":"河马王","200":"梦妖","201":"未知图腾","202":"果然翁","203":"麒麟奇","204":"榛果球","205":"佛烈托斯","206":"土龙弟弟","207":"天蝎","208":"大钢蛇","209":"布卢","210":"布卢皇","211":"千针鱼","212":"巨钳螳螂","213":"壶壶","214":"赫拉克罗斯","215":"狃拉","216":"熊宝宝","217":"圈圈熊","218":"熔岩虫","219":"熔岩蜗牛","220":"小山猪","221":"长毛猪","222":"太阳珊瑚","223":"铁炮鱼","224":"章鱼桶","225":"信使鸟","226":"巨翅飞鱼","227":"盔甲鸟","228":"戴鲁比","229":"黑鲁加","230":"刺龙王","231":"小小象","232":"顿甲","233":"3D龙II","234":"惊角鹿","235":"图图犬","236":"巴尔郎","237":"柯波朗","238":"迷唇娃","239":"电击怪","240":"小鸭嘴龙","241":"大奶罐","242":"幸福蛋","243":"雷公","244":"炎帝","245":"水君","246":"由基拉","247":"沙基拉","248":"班吉拉","249":"洛奇亚","250":"凤王ホ","251":"雪拉比","252":"木守宫","253":"森林蜥蜴","254":"蜥蜴王","255":"火稚鸡","256":"力壮鸡","257":"火焰鸡","258":"水跃鱼","259":"沼跃鱼","260":"巨沼怪","261":"土狼犬","262":"大狼犬","263":"蛇纹熊","264":"直冲熊","265":"刺尾虫","266":"甲壳蛹","267":"狩猎凤蝶","268":"盾甲茧","269":"毒粉蝶","270":"莲叶童子","271":"莲帽小童","272":"乐天河童","273":"橡实果","274":"长鼻叶","275":"狡猾天狗","276":"傲骨燕","277":"大王燕","278":"长翅鸥","279":"大嘴鸥","280":"拉鲁拉丝","281":"奇鲁莉安","282":"沙奈朵","283":"溜溜糖球","284":"雨翅蛾","285":"蘑蘑菇","286":"斗笠菇","287":"懒人翁","288":"过动猿","289":"请假王","290":"土居忍士","291":"铁面忍者","292":"脱壳忍者","293":"咕妞妞","294":"吼爆弹","295":"爆音怪","296":"幕下力士","297":"超力王","298":"露力丽","299":"朝北鼻","300":"向尾喵","301":"优雅猫","302":"勾魂眼","303":"大嘴娃","304":"可可多拉","305":"可多拉","306":"波士可多拉","307":"玛沙那","308":"恰雷姆","309":"落雷兽","310":"雷电兽","311":"正电拍拍","312":"负电拍拍","313":"电萤虫","314":"甜甜萤","315":"毒蔷薇","316":"溶食兽","317":"吞食兽","318":"利牙鱼","319":"巨牙鲨","320":"吼吼鲸","321":"吼鲸王","322":"呆火驼","323":"喷火驼","324":"煤炭龟","325":"跳跳猪","326":"噗噗猪","327":"晃晃斑","328":"大颚蚁","329":"超音波幼虫","330":"沙漠蜻蜓","331":"沙漠奈亚","332":"梦歌奈亚","333":"青绵鸟","334":"七夕青鸟","335":"猫鼬斩","336":"饭匙蛇","337":"月石","338":"太阳岩","339":"泥泥鳅","340":"鲶鱼王","341":"龙虾小兵","342":"铁螯龙虾","343":"天秤偶","344":"念力土偶","345":"触手百合","346":"摇篮百合","347":"太古羽虫","348":"太古盔甲","349":"笨笨鱼","350":"美纳斯","351":"漂浮泡泡","352":"变隐龙","353":"怨影娃娃","354":"诅咒娃娃","355":"夜骷颅","356":"夜巨人","357":"热带龙","358":"风铃铃","359":"阿勃梭鲁","360":"小果然","361":"雪童子","362":"冰鬼护","363":"海豹球","364":"海魔狮","365":"帝牙海狮","366":"珍珠贝","367":"猎斑鱼","368":"樱花鱼","369":"古空棘鱼","370":"爱心鱼","371":"宝贝龙","372":"甲壳龙","373":"暴飞龙","374":"铁哑铃","375":"金属怪","376":"巨金怪","377":"雷吉洛克","378":"雷吉艾斯","379":"雷吉斯奇鲁","380":"拉帝亚斯","381":"拉帝欧斯","382":"盖欧卡","383":"固拉多","384":"烈空坐","385":"基拉祈","386":"代欧奇希斯","387":"草苗龟","388":"树林龟","389":"土台龟","390":"小火焰猴","391":"猛火猴","392":"烈焰猴","393":"波加曼","394":"波皇子","395":"帝王拿波","396":"姆克儿","397":"姆克鸟","398":"姆克鹰","399":"大牙狸","400":"大尾狸","401":"圆法师","402":"音箱蟀","403":"小猫怪","404":"勒克猫","405":"伦琴猫","406":"含羞苞","407":"罗丝雷朵","408":"头盖龙","409":"战槌龙","410":"盾甲龙","411":"护城龙","412":"结草儿","413":"结草贵妇","414":"绅士蛾","415":"三蜜蜂","416":"蜂后","417":"帕奇利兹","418":"泳气鼬","419":"浮潜鼬","420":"樱花宝","421":"樱花儿","422":"无壳海牛","423":"海牛兽","424":"双尾怪手","425":"飘飘球","426":"附和气球","427":"卷卷耳","428":"长耳兔","429":"梦妖魔","430":"乌鸦头头","431":"魅力喵","432":"东施喵","433":"铃铛响","434":"臭鼬噗","435":"坦克臭鼬","436":"铜镜怪","437":"青铜钟","438":"爱哭树","439":"魔尼尼","440":"好运蛋","441":"聒噪鸟","442":"花岩怪","443":"圆陆鲨","444":"尖牙陆鲨","445":"烈咬陆鲨","446":"小卡比兽","447":"利欧路","448":"路卡利欧","449":"怪河马","450":"河马兽","451":"紫天蝎","452":"龙王蝎","453":"不良蛙","454":"毒骷蛙","455":"尖牙笼","456":"萤光鱼","457":"霓虹鱼","458":"小球飞鱼","459":"雪笠怪","460":"暴雪王","461":"玛狃拉","462":"自爆磁怪","463":"大舌舔","464":"超铁暴龙","465":"巨蔓藤","466":"电击魔兽","467":"鸭嘴焰龙","468":"波克基斯","469":"梅卡阳玛","470":"叶精灵","471":"冰精灵","472":"天蝎王","473":"象牙猪","474":"3D龙Z","475":"艾路雷朵","476":"大朝北鼻","477":"夜黑魔人","478":"雪妖女","479":"洛托姆","480":"由克希","481":"艾姆利多","482":"亚克诺姆","483":"帝牙卢卡","484":"帕路奇犽","485":"席多蓝恩","486":"雷吉奇卡斯","487":"骑拉帝纳","488":"克雷色利","489":"霏欧纳","490":"玛纳霏","491":"达克莱伊","492":"谢米","493":"阿尔宙斯","494":"比克提尼","495":"藤藤蛇","496":"青藤蛇","497":"君主蛇","498":"暖暖猪","499":"炒炒猪","500":"炎武王","501":"水水獭","502":"双刃丸","503":"大剑鬼","504":"探探鼠","505":"步哨鼠","506":"小约克","507":"哈约克","508":"长毛狗","509":"扒手猫","510":"酷豹","511":"花椰猴","512":"花椰猿","513":"爆香猴","514":"爆香猿","515":"冷水猴","516":"冷水猿","517":"食梦梦","518":"梦梦蚀","519":"豆豆鸽","520":"波波鸽","521":"轰隆雉鸡","522":"斑斑马","523":"雷电斑马","524":"石丸子","525":"地幔岩","526":"庞岩怪","527":"滚滚蝙蝠","528":"心蝙蝠","529":"螺钉地鼠","530":"龙头地鼠","531":"差不多娃娃","532":"搬运小匠","533":"铁骨土人","534":"修缮老头","535":"圆蝌蚪","536":"蓝蟾蜍","537":"蟾蜍王","538":"投射鬼","539":"打击鬼","540":"虫宝包","541":"宝包茧","542":"保母虫","543":"百足蜈蚣","544":"车轮球","545":"蜈蚣王","546":"木棉球","547":"风妖精","548":"百合根娃娃","549":"裙儿小姐","550":"勇士鲈鱼","551":"黑眼鳄","552":"混混鳄","553":"流氓鳄","554":"火红不倒翁","555":"达摩狒狒","556":"街头沙铃","557":"石居蟹","558":"岩殿居蟹","559":"滑头小子","560":"头巾混混","561":"象征鸟","562":"哭哭面具","563":"死神棺","564":"原盖海龟","565":"肋骨海龟","566":"始祖小鸟","567":"始祖大鸟","568":"破破袋","569":"灰尘山","570":"索罗亚","571":"索罗亚克","572":"泡沫栗鼠","573":"奇诺栗鼠","574":"哥德宝宝","575":"哥德小童","576":"哥德小姐","577":"单卵细胞球","578":"双卵细胞球","579":"人造细胞卵","580":"鸭宝宝","581":"首席天鹅","582":"迷你冰","583":"多多冰","584":"双倍多多冰","585":"四季鹿","586":"芽吹鹿","587":"电飞鼠","588":"盖盖虫","589":"骑士蜗牛","590":"宝贝球菇","591":"暴露菇","592":"轻飘飘","593":"胖嘟嘟","594":"保母曼波","595":"电电虫","596":"电蜘蛛","597":"种子铁球","598":"坚果哑铃","599":"齿轮儿","600":"齿轮组","601":"齿轮怪","602":"麻麻小鱼","603":"麻麻鳗","604":"麻麻鳗鱼王","605":"小灰怪","606":"大宇怪","607":"烛光灵","608":"灯火幽灵","609":"水晶灯火灵","610":"牙牙","611":"斧牙龙","612":"双斧战龙","613":"喷嚏熊","614":"冻原熊","615":"几何雪花","616":"小嘴蜗","617":"敏捷虫","618":"泥巴鱼","619":"功夫鼬","620":"师父鼬","621":"赤面龙","622":"泥偶小人","623":"泥偶巨人","624":"驹刀小兵","625":"劈斩司令","626":"爆爆头水","627":"毛头小鹰","628":"勇士鹰","629":"秃鹰小子","630":"秃鹰娜","631":"食蚁炉","632":"铁蚁","633":"单首龙","634":"双头龙","635":"三头龙","636":"燃烧虫","637":"火神虫","638":"勾帕路翁","639":"代拉基翁","640":"毕力吉翁","641":"龙卷云","642":"雷电云","643":"雷希拉姆","644":"捷克罗姆","645":"土地云","646":"酋雷姆","647":"凯路迪欧","648":"美洛耶塔","649":"盖诺赛克特","650":"哈力栗","651":"胖胖哈","652":"布里卡隆","653":"火狐狸","654":"长尾火狐","655":"妖火红狐","656":"呱呱泡蛙","657":"呱头蛙","658":"甲贺忍蛙","659":"掘掘兔","660":"攉土兔","661":"小箭雀","662":"火箭雀","663":"烈箭鹟","664":"粉蛹","665":"粉蝶蛹","666":"碧粉蝶","667":"小狮狮","668":"火炎狮","669":"花蓓蓓","670":"花叶蒂","671":"花洁夫人","672":"咩咩羊","673":"坐骑山羊","674":"顽皮熊猫","675":"流氓熊猫","676":"多丽米亚","677":"妙喵","678":"超能妙喵","679":"独剑鞘","680":"双剑鞘","681":"坚盾剑怪","682":"粉香香","683":"芳香精","684":"绵绵泡芙","685":"胖甜妮","686":"豪喇花枝","687":"乌贼王","688":"龟脚脚","689":"龟足巨铠","690":"垃垃藻","691":"毒拉蜜妮","692":"铁臂枪虾","693":"钢炮臂虾","694":"伞电蜥","695":"电伞查特","696":"宝宝暴龙","697":"怪颚龙","698":"冰雪龙","699":"冰雪巨龙","700":"仙子精灵","701":"战斗飞鸟","702":"咚咚鼠","703":"小碎钻","704":"黏黏宝","705":"黏美伊儿","706":"黏美龙","707":"钥圈儿","708":"小木灵","709":"朽木妖","710":"南瓜精","711":"南瓜怪人","712":"冰宝カ","713":"冰岩怪","714":"嗡蝠","715":"音波龙","716":"哲尔尼亚斯","717":"伊裴尔塔尔","718":"基格尔德","719":"蒂安希","720":"胡帕","721":"ボルケニ"} 2 | -------------------------------------------------------------------------------- /app/assets/json/pokemon.de.json: -------------------------------------------------------------------------------- 1 | { "1": "Bisasam", "2": "Bisaknosp", "3": "Bisaflor", "4": "Glumanda", "5": "Glutexo", "6": "Glurak", "7": "Schiggy", "8": "Schillok", "9": "Turtok", "10": "Raupy", "11": "Safcon", "12": "Smettbo", "13": "Hornliu", "14": "Kokuna", "15": "Bibor", "16": "Taubsi", "17": "Tauboga", "18": "Tauboss", "19": "Rattfratz", "20": "Rattikarl", "21": "Habitak", "22": "Ibitak", "23": "Rettan", "24": "Arbok", "25": "Pikachu", "26": "Raichu", "27": "Sandan", "28": "Sandamer", "29": "Nidoran♀", "30": "Nidorina", "31": "Nidoqueen", "32": "Nidoran♂", "33": "Nidorino", "34": "Nidoking", "35": "Piepi", "36": "Pixi", "37": "Vulpix", "38": "Vulnona", "39": "Pummeluff", "40": "Knuddeluff", "41": "Zubat", "42": "Golbat", "43": "Myrapla", "44": "Duflor", "45": "Giflor", "46": "Paras", "47": "Parasek", "48": "Bluzuk", "49": "Omot", "50": "Digda", "51": "Digdri", "52": "Mauzi", "53": "Snobilikat", "54": "Enton", "55": "Entoron", "56": "Menki", "57": "Rasaff", "58": "Fukano", "59": "Arkani", "60": "Quapsel", "61": "Quaputzi", "62": "Quappo", "63": "Abra", "64": "Kadabra", "65": "Simsala", "66": "Machollo", "67": "Maschock", "68": "Machomei", "69": "Knofensa", "70": "Ultrigaria", "71": "Sarzenia", "72": "Tentacha", "73": "Tentoxa", "74": "Kleinstein", "75": "Georok", "76": "Geowaz", "77": "Ponita", "78": "Gallopa", "79": "Flegmon", "80": "Lahmus", "81": "Magnetilo", "82": "Magneton", "83": "Porenta", "84": "Dodu", "85": "Dodri", "86": "Jurob", "87": "Jugong", "88": "Sleima", "89": "Sleimok", "90": "Muschas", "91": "Austos", "92": "Nebulak", "93": "Alpollo", "94": "Gengar", "95": "Onix", "96": "Traumato", "97": "Hypno", "98": "Krabby", "99": "Kingler", "100": "Voltobal", "101": "Lektrobal", "102": "Owei", "103": "Kokowei", "104": "Tragosso", "105": "Knogga", "106": "Kicklee", "107": "Nockchan", "108": "Schlurp", "109": "Smogon", "110": "Smogmog", "111": "Rihorn", "112": "Rizeros", "113": "Chaneira", "114": "Tangela", "115": "Kangama", "116": "Seeper", "117": "Seemon", "118": "Goldini", "119": "Golking", "120": "Sterndu", "121": "Starmie", "122": "Pantimos", "123": "Sichlor", "124": "Rossana", "125": "Elektek", "126": "Magmar", "127": "Pinsir", "128": "Tauros", "129": "Karpador", "130": "Garados", "131": "Lapras", "132": "Ditto", "133": "Evoli", "134": "Aquana", "135": "Blitza", "136": "Flamara", "137": "Porygon", "138": "Amonitas", "139": "Amoroso", "140": "Kabuto", "141": "Kabutops", "142": "Aerodactyl", "143": "Relaxo", "144": "Arktos", "145": "Zapdos", "146": "Lavados", "147": "Dratini", "148": "Dragonir", "149": "Dragoran", "150": "Mewtu", "151": "Mew", "152": "Endivie", "153": "Lorblatt", "154": "Meganie", "155": "Feurigel", "156": "Igelavar", "157": "Tornupto", "158": "Karnimani", "159": "Tyracroc", "160": "Impergator", "161": "Wiesor", "162": "Wiesenior", "163": "Hoothoot", "164": "Noctuh", "165": "Ledyba", "166": "Ledian", "167": "Webarak", "168": "Ariados", "169": "Iksbat", "170": "Lampi", "171": "Lanturn", "172": "Pichu", "173": "Pii", "174": "Fluffeluff", "175": "Togepi", "176": "Togetic", "177": "Natu", "178": "Xatu", "179": "Voltilamm", "180": "Waaty", "181": "Ampharos", "182": "Blubella", "183": "Marill", "184": "Azumarill", "185": "Mogelbaum", "186": "Quaxo", "187": "Hoppspross", "188": "Hubelupf", "189": "Papungha", "190": "Griffel", "191": "Sonnkern", "192": "Sonnflora", "193": "Yanma", "194": "Felino", "195": "Morlord", "196": "Psiana", "197": "Nachtara", "198": "Kramurx", "199": "Laschoking", "200": "Traunfugil", "201": "Icognito", "202": "Woingenau", "203": "Girafarig", "204": "Tannza", "205": "Forstellka", "206": "Dummisel", "207": "Skorgla", "208": "Stahlos", "209": "Snubbull", "210": "Granbull", "211": "Baldorfish", "212": "Scherox", "213": "Pottrott", "214": "Skaraborn", "215": "Sniebel", "216": "Teddiursa", "217": "Ursaring", "218": "Schneckmag", "219": "Magcargo", "220": "Quiekel", "221": "Keifel", "222": "Corasonn", "223": "Remoraid", "224": "Octillery", "225": "Botogel", "226": "Mantax", "227": "Panzaeron", "228": "Hunduster", "229": "Hundemon", "230": "Seedraking", "231": "Phanpy", "232": "Donphan", "233": "Porygon2", "234": "Damhirplex", "235": "Farbeagle", "236": "Rabauz", "237": "Kapoera", "238": "Kussilla", "239": "Elekid", "240": "Magby", "241": "Miltank", "242": "Heiteira", "243": "Raikou", "244": "Entei", "245": "Suicune", "246": "Larvitar", "247": "Pupitar", "248": "Despotar", "249": "Lugia", "250": "Ho-Oh", "251": "Celebi", "252": "Geckarbor", "253": "Reptain", "254": "Gewaldro", "255": "Flemmli", "256": "Jungglut", "257": "Lohgock", "258": "Hydropi", "259": "Moorabbel", "260": "Sumpex", "261": "Fiffyen", "262": "Magnayen", "263": "Zigzachs", "264": "Geradaks", "265": "Waumpel", "266": "Schaloko", "267": "Papinella", "268": "Panekon", "269": "Pudox", "270": "Loturzel", "271": "Lombrero", "272": "Kappalores", "273": "Samurzel", "274": "Blanas", "275": "Tengulist", "276": "Schwalbini", "277": "Schwalboss", "278": "Wingull", "279": "Pelipper", "280": "Trasla", "281": "Kirlia", "282": "Guardevoir", "283": "Gehweiher", "284": "Maskeregen", "285": "Knilz", "286": "Kapilz", "287": "Bummelz", "288": "Muntier", "289": "Letarking", "290": "Nincada", "291": "Ninjask", "292": "Ninjatom", "293": "Flurmel", "294": "Krakeelo", "295": "Krawumms", "296": "Makuhita", "297": "Hariyama", "298": "Azurill", "299": "Nasgnet", "300": "Eneco", "301": "Enekoro", "302": "Zobiris", "303": "Flunkifer", "304": "Stollunior", "305": "Stollrak", "306": "Stolloss", "307": "Meditie", "308": "Meditalis", "309": "Frizelbliz", "310": "Voltenso", "311": "Plusle", "312": "Minun", "313": "Volbeat", "314": "Illumise", "315": "Roselia", "316": "Schluppuck", "317": "Schlukwech", "318": "Kanivanha", "319": "Tohaido", "320": "Wailmer", "321": "Wailord", "322": "Camaub", "323": "Camerupt", "324": "Qurtel", "325": "Spoink", "326": "Groink", "327": "Pandir", "328": "Knacklion", "329": "Vibrava", "330": "Libelldra", "331": "Tuska", "332": "Noktuska", "333": "Wablu", "334": "Altaria", "335": "Sengo", "336": "Vipitis", "337": "Lunastein", "338": "Sonnfel", "339": "Schmerbe", "340": "Welsar", "341": "Krebscorps", "342": "Krebutack", "343": "Puppance", "344": "Lepumentas", "345": "Liliep", "346": "Wielie", "347": "Anorith", "348": "Armaldo", "349": "Barschwa", "350": "Milotic", "351": "Formeo", "352": "Kecleon", "353": "Shuppet", "354": "Banette", "355": "Zwirrlicht", "356": "Zwirrklop", "357": "Tropius", "358": "Palimpalim", "359": "Absol", "360": "Isso", "361": "Schneppke", "362": "Firnontor", "363": "Seemops", "364": "Seejong", "365": "Walraisa", "366": "Perlu", "367": "Aalabyss", "368": "Saganabyss", "369": "Relicanth", "370": "Liebiskus", "371": "Kindwurm", "372": "Draschel", "373": "Brutalanda", "374": "Tanhel", "375": "Metang", "376": "Metagross", "377": "Regirock", "378": "Regice", "379": "Registeel", "380": "Latias", "381": "Latios", "382": "Kyogre", "383": "Groudon", "384": "Rayquaza", "385": "Jirachi", "386": "Deoxys", "387": "Chelast", "388": "Chelcarain", "389": "Chelterrar", "390": "Panflam", "391": "Panpyro", "392": "Panferno", "393": "Plinfa", "394": "Pliprin", "395": "Impoleon", "396": "Staralili", "397": "Staravia", "398": "Staraptor", "399": "Bidiza", "400": "Bidifas", "401": "Zirpurze", "402": "Zirpeise", "403": "Sheinux", "404": "Luxio", "405": "Luxtra", "406": "Knospi", "407": "Roserade", "408": "Koknodon", "409": "Rameidon", "410": "Schilterus", "411": "Bollterus", "412": "Burmy", "413": "Burmadame", "414": "Moterpel", "415": "Wadribie", "416": "Honweisel", "417": "Pachirisu", "418": "Bamelin", "419": "Bojelin", "420": "Kikugi", "421": "Kinoso", "422": "Schalellos", "423": "Gastrodon", "424": "Ambidiffel", "425": "Driftlon", "426": "Drifzepeli", "427": "Haspiror", "428": "Schlapor", "429": "Traunmagil", "430": "Kramshef", "431": "Charmian", "432": "Shnurgarst", "433": "Klingplim", "434": "Skunkapuh", "435": "Skuntank", "436": "Bronzel", "437": "Bronzong", "438": "Mobai", "439": "Pantimimi", "440": "Wonneira", "441": "Plaudagei", "442": "Kryppuk", "443": "Kaumalat", "444": "Knarksel", "445": "Knakrack", "446": "Mampfaxo", "447": "Riolu", "448": "Lucario", "449": "Hippopotas", "450": "Hippoterus", "451": "Pionskora", "452": "Piondragi", "453": "Glibunkel", "454": "Toxiquak", "455": "Venuflibis", "456": "Finneon", "457": "Lumineon", "458": "Mantirps", "459": "Shnebedeck", "460": "Rexblisar", "461": "Snibunna", "462": "Magnezone", "463": "Schlurplek", "464": "Rihornior", "465": "Tangoloss", "466": "Elevoltek", "467": "Magbrant", "468": "Togekiss", "469": "Yanmega", "470": "Folipurba", "471": "Glaziola", "472": "Skorgro", "473": "Mamutel", "474": "Porygon-Z", "475": "Galagladi", "476": "Voluminas", "477": "Zwirrfinst", "478": "Frosdedje", "479": "Rotom", "480": "Selfe", "481": "Vesprit", "482": "Tobutz", "483": "Dialga", "484": "Palkia", "485": "Heatran", "486": "Regigigas", "487": "Giratina", "488": "Cresselia", "489": "Phione", "490": "Manaphy", "491": "Darkrai", "492": "Shaymin", "493": "Arceus", "494": "Victini", "495": "Serpifeu", "496": "Efoserp", "497": "Serpiroyal", "498": "Floink", "499": "Ferkokel", "500": "Flambirex", "501": "Ottaro", "502": "Zwottronin", "503": "Admurai", "504": "Nagelotz", "505": "Kukmarda", "506": "Yorkleff", "507": "Terribark", "508": "Bissbark", "509": "Felilou", "510": "Kleoparda", "511": "Vegimak", "512": "Vegichita", "513": "Grillmak", "514": "Grillchita", "515": "Sodamak", "516": "Sodachita", "517": "Somniam", "518": "Somnivora", "519": "Dusselgurr", "520": "Navitaub", "521": "Fasasnob", "522": "Elezeba", "523": "Zebritz", "524": "Kiesling", "525": "Sedimantur", "526": "Brockoloss", "527": "Fleknoil", "528": "Fletiamo", "529": "Rotomurf", "530": "Stalobor", "531": "Ohrdoch", "532": "Praktibalk", "533": "Strepoli", "534": "Meistagrif", "535": "Schallquap", "536": "Mebrana", "537": "Branawarz", "538": "Jiutesto", "539": "Karadonis", "540": "Strawickl", "541": "Folikon", "542": "Matrifol", "543": "Toxiped", "544": "Rollum", "545": "Cerapendra", "546": "Waumboll", "547": "Elfun", "548": "Lilminip", "549": "Dressella", "550": "Barschuft", "551": "Ganovil", "552": "Rokkaiman", "553": "Rabigator", "554": "Flampion", "555": "Flampivian", "556": "Maracamba", "557": "Lithomith", "558": "Castellith", "559": "Zurrokex", "560": "Irokex", "561": "Symvolara", "562": "Makabaja", "563": "Echnatoll", "564": "Galapaflos", "565": "Karippas", "566": "Flapteryx", "567": "Aeropteryx", "568": "Unratütox", "569": "Deponitox", "570": "Zorua", "571": "Zoroark", "572": "Picochilla", "573": "Chillabell", "574": "Mollimorba", "575": "Hypnomorba", "576": "Morbitesse", "577": "Monozyto", "578": "Mitodos", "579": "Zytomega", "580": "Piccolente", "581": "Swaroness", "582": "Gelatini", "583": "Gelatroppo", "584": "Gelatwino", "585": "Sesokitz", "586": "Kronjuwild", "587": "Emolga", "588": "Laukaps", "589": "Cavalanzas", "590": "Tarnpignon", "591": "Hutsassa", "592": "Quabbel", "593": "Apoquallyp", "594": "Mamolida", "595": "Wattzapf", "596": "Voltula", "597": "Kastadur", "598": "Tentantel", "599": "Klikk", "600": "Kliklak", "601": "Klikdiklak", "602": "Zapplardin", "603": "Zapplalek", "604": "Zapplarang", "605": "Pygraulon", "606": "Megalon", "607": "Lichtel", "608": "Laternecto", "609": "Skelabra", "610": "Milza", "611": "Sharfax", "612": "Maxax", "613": "Petznief", "614": "Siberio", "615": "Frigometri", "616": "Schnuthelm", "617": "Hydragil", "618": "Flunschlik", "619": "Lin-Fu", "620": "Wie-Shu", "621": "Shardrago", "622": "Golbit", "623": "Golgantes", "624": "Gladiantri", "625": "Caesurio", "626": "Bisofank", "627": "Geronimatz", "628": "Washakwil", "629": "Skallyk", "630": "Grypheldis", "631": "Furnifra�", "632": "Fermicula", "633": "Kapuno", "634": "Duodino", "635": "Trikephalo", "636": "Ignivor", "637": "Ramoth", "638": "Kobalium", "639": "Terrakium", "640": "Viridium", "641": "Boreos", "642": "Voltolos", "643": "Reshiram", "644": "Zekrom", "645": "Demeteros", "646": "Kyurem", "647": "Keldeo", "648": "Meloetta", "649": "Genesect", "650": "Igamaro", "651": "Igastarnish", "652": "Brigaron", "653": "Fynx", "654": "Rutena", "655": "Fennexis", "656": "Froxy", "657": "Amphizel", "658": "Quajutsu", "659": "Scoppel", "660": "Grebbit", "661": "Dartiri", "662": "Dartignis", "663": "Fiaro", "664": "Purmel", "665": "Puponcho", "666": "Vivillon", "667": "Leufeo", "668": "Pyroleo", "669": "Flabébé", "670": "Floette", "671": "Florges", "672": "Mähikel", "673": "Chevrumm", "674": "Pam-Pam", "675": "Pandagro", "676": "Coiffwaff", "677": "Psiau", "678": "Psiaugon", "679": "Gramokles", "680": "Duokles", "681": "Durengard", "682": "Parfi", "683": "Parfinesse", "684": "Flauschling", "685": "Sabbaione", "686": "Iscalar", "687": "Calamanero", "688": "Bithora", "689": "Thanathora", "690": "Algitt", "691": "Tandrak", "692": "Scampisto", "693": "Wummer", "694": "Eguana", "695": "Elezard", "696": "Balgoras", "697": "Monargoras", "698": "Amarino", "699": "Amagarga", "700": "linara", "701": "Resladero", "702": "Dedenne", "703": "Rocara", "704": "Viscora", "705": "Viscargot", "706": "Viscogon", "707": "Clavion", "708": "Paragoni", "709": "Trombork", "710": "Irrbis", "711": "Pumpdjinn", "712": "Arktip", "713": "Arktilas", "714": "eF-eM", "715": "UHaFnir", "716": "Xerneas", "717": "Yveltal", "718": "Zygarde", "719": "Diancie", "720": "Hoopa", "721": "Volcanion" } -------------------------------------------------------------------------------- /app/assets/json/pokemon.en.json: -------------------------------------------------------------------------------- 1 | {"1":"Bulbasaur","2":"Ivysaur","3":"Venusaur","4":"Charmander","5":"Charmeleon","6":"Charizard","7":"Squirtle","8":"Wartortle","9":"Blastoise","10":"Caterpie","11":"Metapod","12":"Butterfree","13":"Weedle","14":"Kakuna","15":"Beedrill","16":"Pidgey","17":"Pidgeotto","18":"Pidgeot","19":"Rattata","20":"Raticate","21":"Spearow","22":"Fearow","23":"Ekans","24":"Arbok","25":"Pikachu","26":"Raichu","27":"Sandshrew","28":"Sandslash","29":"Nidoran♀","30":"Nidorina","31":"Nidoqueen","32":"Nidoran♂","33":"Nidorino","34":"Nidoking","35":"Clefairy","36":"Clefable","37":"Vulpix","38":"Ninetales","39":"Jigglypuff","40":"Wigglytuff","41":"Zubat","42":"Golbat","43":"Oddish","44":"Gloom","45":"Vileplume","46":"Paras","47":"Parasect","48":"Venonat","49":"Venomoth","50":"Diglett","51":"Dugtrio","52":"Meowth","53":"Persian","54":"Psyduck","55":"Golduck","56":"Mankey","57":"Primeape","58":"Growlithe","59":"Arcanine","60":"Poliwag","61":"Poliwhirl","62":"Poliwrath","63":"Abra","64":"Kadabra","65":"Alakazam","66":"Machop","67":"Machoke","68":"Machamp","69":"Bellsprout","70":"Weepinbell","71":"Victreebel","72":"Tentacool","73":"Tentacruel","74":"Geodude","75":"Graveler","76":"Golem","77":"Ponyta","78":"Rapidash","79":"Slowpoke","80":"Slowbro","81":"Magnemite","82":"Magneton","83":"Farfetch'd","84":"Doduo","85":"Dodrio","86":"Seel","87":"Dewgong","88":"Grimer","89":"Muk","90":"Shellder","91":"Cloyster","92":"Gastly","93":"Haunter","94":"Gengar","95":"Onix","96":"Drowzee","97":"Hypno","98":"Krabby","99":"Kingler","100":"Voltorb","101":"Electrode","102":"Exeggcute","103":"Exeggutor","104":"Cubone","105":"Marowak","106":"Hitmonlee","107":"Hitmonchan","108":"Lickitung","109":"Koffing","110":"Weezing","111":"Rhyhorn","112":"Rhydon","113":"Chansey","114":"Tangela","115":"Kangaskhan","116":"Horsea","117":"Seadra","118":"Goldeen","119":"Seaking","120":"Staryu","121":"Starmie","122":"Mr. Mime","123":"Scyther","124":"Jynx","125":"Electabuzz","126":"Magmar","127":"Pinsir","128":"Tauros","129":"Magikarp","130":"Gyarados","131":"Lapras","132":"Ditto","133":"Eevee","134":"Vaporeon","135":"Jolteon","136":"Flareon","137":"Porygon","138":"Omanyte","139":"Omastar","140":"Kabuto","141":"Kabutops","142":"Aerodactyl","143":"Snorlax","144":"Articuno","145":"Zapdos","146":"Moltres","147":"Dratini","148":"Dragonair","149":"Dragonite","150":"Mewtwo","151":"Mew","152":"Chikorita","153":"Bayleef","154":"Meganium","155":"Cyndaquil","156":"Quilava","157":"Typhlosion","158":"Totodile","159":"Croconaw","160":"Feraligatr","161":"Sentret","162":"Furret","163":"Hoothoot","164":"Noctowl","165":"Ledyba","166":"Ledian","167":"Spinarak","168":"Ariados","169":"Crobat","170":"Chinchou","171":"Lanturn","172":"Pichu","173":"Cleffa","174":"Igglybuff","175":"Togepi","176":"Togetic","177":"Natu","178":"Xatu","179":"Mareep","180":"Flaaffy","181":"Ampharos","182":"Bellossom","183":"Marill","184":"Azumarill","185":"Sudowoodo","186":"Politoed","187":"Hoppip","188":"Skiploom","189":"Jumpluff","190":"Aipom","191":"Sunkern","192":"Sunflora","193":"Yanma","194":"Wooper","195":"Quagsire","196":"Espeon","197":"Umbreon","198":"Murkrow","199":"Slowking","200":"Misdreavus","201":"Unown","202":"Wobbuffet","203":"Girafarig","204":"Pineco","205":"Forretress","206":"Dunsparce","207":"Gligar","208":"Steelix","209":"Snubbull","210":"Granbull","211":"Qwilfish","212":"Scizor","213":"Shuckle","214":"Heracross","215":"Sneasel","216":"Teddiursa","217":"Ursaring","218":"Slugma","219":"Magcargo","220":"Swinub","221":"Piloswine","222":"Corsola","223":"Remoraid","224":"Octillery","225":"Delibird","226":"Mantine","227":"Skarmory","228":"Houndour","229":"Houndoom","230":"Kingdra","231":"Phanpy","232":"Donphan","233":"Porygon2","234":"Stantler","235":"Smeargle","236":"Tyrogue","237":"Hitmontop","238":"Smoochum","239":"Elekid","240":"Magby","241":"Miltank","242":"Blissey","243":"Raikou","244":"Entei","245":"Suicune","246":"Larvitar","247":"Pupitar","248":"Tyranitar","249":"Lugia","250":"Ho-Oh","251":"Celebi","252":"Treecko","253":"Grovyle","254":"Sceptile","255":"Torchic","256":"Combusken","257":"Blaziken","258":"Mudkip","259":"Marshtomp","260":"Swampert","261":"Poochyena","262":"Mightyena","263":"Zigzagoon","264":"Linoone","265":"Wurmple","266":"Silcoon","267":"Beautifly","268":"Cascoon","269":"Dustox","270":"Lotad","271":"Lombre","272":"Ludicolo","273":"Seedot","274":"Nuzleaf","275":"Shiftry","276":"Taillow","277":"Swellow","278":"Wingull","279":"Pelipper","280":"Ralts","281":"Kirlia","282":"Gardevoir","283":"Surskit","284":"Masquerain","285":"Shroomish","286":"Breloom","287":"Slakoth","288":"Vigoroth","289":"Slaking","290":"Nincada","291":"Ninjask","292":"Shedinja","293":"Whismur","294":"Loudred","295":"Exploud","296":"Makuhita","297":"Hariyama","298":"Azurill","299":"Nosepass","300":"Skitty","301":"Delcatty","302":"Sableye","303":"Mawile","304":"Aron","305":"Lairon","306":"Aggron","307":"Meditite","308":"Medicham","309":"Electrike","310":"Manectric","311":"Plusle","312":"Minun","313":"Volbeat","314":"Illumise","315":"Roselia","316":"Gulpin","317":"Swalot","318":"Carvanha","319":"Sharpedo","320":"Wailmer","321":"Wailord","322":"Numel","323":"Camerupt","324":"Torkoal","325":"Spoink","326":"Grumpig","327":"Spinda","328":"Trapinch","329":"Vibrava","330":"Flygon","331":"Cacnea","332":"Cacturne","333":"Swablu","334":"Altaria","335":"Zangoose","336":"Seviper","337":"Lunatone","338":"Solrock","339":"Barboach","340":"Whiscash","341":"Corphish","342":"Crawdaunt","343":"Baltoy","344":"Claydol","345":"Lileep","346":"Cradily","347":"Anorith","348":"Armaldo","349":"Feebas","350":"Milotic","351":"Castform","352":"Kecleon","353":"Shuppet","354":"Banette","355":"Duskull","356":"Dusclops","357":"Tropius","358":"Chimecho","359":"Absol","360":"Wynaut","361":"Snorunt","362":"Glalie","363":"Spheal","364":"Sealeo","365":"Walrein","366":"Clamperl","367":"Huntail","368":"Gorebyss","369":"Relicanth","370":"Luvdisc","371":"Bagon","372":"Shelgon","373":"Salamence","374":"Beldum","375":"Metang","376":"Metagross","377":"Regirock","378":"Regice","379":"Registeel","380":"Latias","381":"Latios","382":"Kyogre","383":"Groudon","384":"Rayquaza","385":"Jirachi","386":"Deoxys","387":"Turtwig","388":"Grotle","389":"Torterra","390":"Chimchar","391":"Monferno","392":"Infernape","393":"Piplup","394":"Prinplup","395":"Empoleon","396":"Starly","397":"Staravia","398":"Staraptor","399":"Bidoof","400":"Bibarel","401":"Kricketot","402":"Kricketune","403":"Shinx","404":"Luxio","405":"Luxray","406":"Budew","407":"Roserade","408":"Cranidos","409":"Rampardos","410":"Shieldon","411":"Bastiodon","412":"Burmy","413":"Wormadam","414":"Mothim","415":"Combee","416":"Vespiquen","417":"Pachirisu","418":"Buizel","419":"Floatzel","420":"Cherubi","421":"Cherrim","422":"Shellos","423":"Gastrodon","424":"Ambipom","425":"Drifloon","426":"Drifblim","427":"Buneary","428":"Lopunny","429":"Mismagius","430":"Honchkrow","431":"Glameow","432":"Purugly","433":"Chingling","434":"Stunky","435":"Skuntank","436":"Bronzor","437":"Bronzong","438":"Bonsly","439":"Mime Jr.","440":"Happiny","441":"Chatot","442":"Spiritomb","443":"Gible","444":"Gabite","445":"Garchomp","446":"Munchlax","447":"Riolu","448":"Lucario","449":"Hippopotas","450":"Hippowdon","451":"Skorupi","452":"Drapion","453":"Croagunk","454":"Toxicroak","455":"Carnivine","456":"Finneon","457":"Lumineon","458":"Mantyke","459":"Snover","460":"Abomasnow","461":"Weavile","462":"Magnezone","463":"Lickilicky","464":"Rhyperior","465":"Tangrowth","466":"Electivire","467":"Magmortar","468":"Togekiss","469":"Yanmega","470":"Leafeon","471":"Glaceon","472":"Gliscor","473":"Mamoswine","474":"Porygon-Z","475":"Gallade","476":"Probopass","477":"Dusknoir","478":"Froslass","479":"Rotom","480":"Uxie","481":"Mesprit","482":"Azelf","483":"Dialga","484":"Palkia","485":"Heatran","486":"Regigigas","487":"Giratina","488":"Cresselia","489":"Phione","490":"Manaphy","491":"Darkrai","492":"Shaymin","493":"Arceus","494":"Victini","495":"Snivy","496":"Servine","497":"Serperior","498":"Tepig","499":"Pignite","500":"Emboar","501":"Oshawott","502":"Dewott","503":"Samurott","504":"Patrat","505":"Watchog","506":"Lillipup","507":"Herdier","508":"Stoutland","509":"Purrloin","510":"Liepard","511":"Pansage","512":"Simisage","513":"Pansear","514":"Simisear","515":"Panpour","516":"Simipour","517":"Munna","518":"Musharna","519":"Pidove","520":"Tranquill","521":"Unfezant","522":"Blitzle","523":"Zebstrika","524":"Roggenrola","525":"Boldore","526":"Gigalith","527":"Woobat","528":"Swoobat","529":"Drilbur","530":"Excadrill","531":"Audino","532":"Timburr","533":"Gurdurr","534":"Conkeldurr","535":"Tympole","536":"Palpitoad","537":"Seismitoad","538":"Throh","539":"Sawk","540":"Sewaddle","541":"Swadloon","542":"Leavanny","543":"Venipede","544":"Whirlipede","545":"Scolipede","546":"Cottonee","547":"Whimsicott","548":"Petilil","549":"Lilligant","550":"Basculin","551":"Sandile","552":"Krokorok","553":"Krookodile","554":"Darumaka","555":"Darmanitan","556":"Maractus","557":"Dwebble","558":"Crustle","559":"Scraggy","560":"Scrafty","561":"Sigilyph","562":"Yamask","563":"Cofagrigus","564":"Tirtouga","565":"Carracosta","566":"Archen","567":"Archeops","568":"Trubbish","569":"Garbodor","570":"Zorua","571":"Zoroark","572":"Minccino","573":"Cinccino","574":"Gothita","575":"Gothorita","576":"Gothitelle","577":"Solosis","578":"Duosion","579":"Reuniclus","580":"Ducklett","581":"Swanna","582":"Vanillite","583":"Vanillish","584":"Vanilluxe","585":"Deerling","586":"Sawsbuck","587":"Emolga","588":"Karrablast","589":"Escavalier","590":"Foongus","591":"Amoonguss","592":"Frillish","593":"Jellicent","594":"Alomomola","595":"Joltik","596":"Galvantula","597":"Ferroseed","598":"Ferrothorn","599":"Klink","600":"Klang","601":"Klinklang","602":"Tynamo","603":"Eelektrik","604":"Eelektross","605":"Elgyem","606":"Beheeyem","607":"Litwick","608":"Lampent","609":"Chandelure","610":"Axew","611":"Fraxure","612":"Haxorus","613":"Cubchoo","614":"Beartic","615":"Cryogonal","616":"Shelmet","617":"Accelgor","618":"Stunfisk","619":"Mienfoo","620":"Mienshao","621":"Druddigon","622":"Golett","623":"Golurk","624":"Pawniard","625":"Bisharp","626":"Bouffalant","627":"Rufflet","628":"Braviary","629":"Vullaby","630":"Mandibuzz","631":"Heatmor","632":"Durant","633":"Deino","634":"Zweilous","635":"Hydreigon","636":"Larvesta","637":"Volcarona","638":"Cobalion","639":"Terrakion","640":"Virizion","641":"Tornadus","642":"Thundurus","643":"Reshiram","644":"Zekrom","645":"Landorus","646":"Kyurem","647":"Keldeo","648":"Meloetta","649":"Genesect","650":"Chespin","651":"Quilladin","652":"Chesnaught","653":"Fennekin","654":"Braixen","655":"Delphox","656":"Froakie","657":"Frogadier","658":"Greninja","659":"Bunnelby","660":"Diggersby","661":"Fletchling","662":"Fletchinder","663":"Talonflame","664":"Scatterbug","665":"Spewpa","666":"Vivillon","667":"Litleo","668":"Pyroar","669":"Flabébé","670":"Floette","671":"Florges","672":"Skiddo","673":"Gogoat","674":"Pancham","675":"Pangoro","676":"Furfrou","677":"Espurr","678":"Meowstic","679":"Honedge","680":"Doublade","681":"Aegislash","682":"Spritzee","683":"Aromatisse","684":"Swirlix","685":"Slurpuff","686":"Inkay","687":"Malamar","688":"Binacle","689":"Barbaracle","690":"Skrelp","691":"Dragalge","692":"Clauncher","693":"Clawitzer","694":"Helioptile","695":"Heliolisk","696":"Tyrunt","697":"Tyrantrum","698":"Amaura","699":"Aurorus","700":"Sylveon","701":"Hawlucha","702":"Dedenne","703":"Carbink","704":"Goomy","705":"Sliggoo","706":"Goodra","707":"Klefki","708":"Phantump","709":"Trevenant","710":"Pumpkaboo","711":"Gourgeist","712":"Bergmite","713":"Avalugg","714":"Noibat","715":"Noivern","716":"Xerneas","717":"Yveltal","718":"Zygarde","719":"Diancie","720":"Hoopa","721":"Volcanion"} -------------------------------------------------------------------------------- /app/assets/json/pokemon.fr.json: -------------------------------------------------------------------------------- 1 | {"1":"Bulbizarre","2":"Herbizarre","3":"Florizarre","4":"Salamèche","5":"Reptincel","6":"Dracaufeu","7":"Carapuce","8":"Carabaffe","9":"Tortank","10":"Chenipan","11":"Chrysacier","12":"Papilusion","13":"Aspicot","14":"Coconfort","15":"Dardargnan","16":"Roucool","17":"Roucoups","18":"Roucarnage","19":"Rattata","20":"Rattatac","21":"Piafabec","22":"Rapasdepic","23":"Abo","24":"Arbok","25":"Pikachu","26":"Raichu","27":"Sabelette","28":"Sablaireau","29":"Nidoran♀","30":"Nidorina","31":"Nidoqueen","32":"Nidoran♂","33":"Nidorino","34":"Nidoking","35":"Mélofée","36":"Mélodelfe","37":"Goupix","38":"Feunard","39":"Rondoudou","40":"Grodoudou","41":"Nosferapti","42":"Nosferalto","43":"Mystherbe","44":"Ortide","45":"Rafflesia","46":"Paras","47":"Parasect","48":"Mimitoss","49":"Aéromite","50":"Taupiqueur","51":"Triopikeur","52":"Miaouss","53":"Persian","54":"Psykokwak","55":"Akwakwak","56":"Férosinge","57":"Colossinge","58":"Caninos","59":"Arcanin","60":"Ptitard","61":"Têtarte","62":"Tartard","63":"Abra","64":"Kadabra","65":"Alakazam","66":"Machoc","67":"Machopeur","68":"Mackogneur","69":"Chétiflor","70":"Boustiflor","71":"Empiflor","72":"Tentacool","73":"Tentacruel","74":"Racaillou","75":"Gravalanch","76":"Grolem","77":"Ponyta","78":"Galopa","79":"Ramoloss","80":"Flagadoss","81":"Magnéti","82":"Magnéton","83":"Canarticho","84":"Doduo","85":"Dodrio","86":"Otaria","87":"Lamantine","88":"Tadmorv","89":"Grotadmorv","90":"Kokiyas","91":"Crustabri","92":"Fantominus","93":"Spectrum","94":"Ectoplasma","95":"Onix","96":"Soporifik","97":"Hypnomade","98":"Krabby","99":"Krabboss","100":"Voltorbe","101":"Électrode","102":"Nœunœuf","103":"Noadkoko","104":"Osselait","105":"Ossatueur","106":"Kicklee","107":"Tygnon","108":"Excelangue","109":"Smogo","110":"Smogogo","111":"Rhinocorne","112":"Rhinoféros","113":"Leveinard","114":"Saquedeneu","115":"Kangourex","116":"Hypotrempe","117":"Hypocéan","118":"Poissirène","119":"Poissoroy","120":"Stari","121":"Staross","122":"M.Mime","123":"Insécateur","124":"Lippoutou","125":"Élektek","126":"Magmar","127":"Scarabrute","128":"Tauros","129":"Magicarpe","130":"Léviator","131":"Lokhlass","132":"Métamorph","133":"Évoli","134":"Aquali","135":"Voltali","136":"Pyroli","137":"Porygon","138":"Amonita","139":"Amonistar","140":"Kabuto","141":"Kabutops","142":"Ptéra","143":"Ronflex","144":"Artikodin","145":"Électhor","146":"Sulfura","147":"Minidraco","148":"Draco","149":"Dracolosse","150":"Mewtwo","151":"Mew","152":"Germignon","153":"Macronium","154":"Méganium","155":"Héricendre","156":"Feurisson","157":"Typhlosion","158":"Kaiminus","159":"Crocrodil","160":"Aligatueur","161":"Fouinette","162":"Fouinar","163":"Hoothoot","164":"Noarfang","165":"Coxy","166":"Coxyclaque","167":"Mimigal","168":"Migalos","169":"Nostenfer","170":"Loupio","171":"Lanturn","172":"Pichu","173":"Mélo","174":"Toudoudou","175":"Togepi","176":"Togetic","177":"Natu","178":"Xatu","179":"Wattouat","180":"Lainergie","181":"Pharamp","182":"Joliflor","183":"Marill","184":"Azumarill","185":"Simularbre","186":"Tarpaud","187":"Granivol","188":"Floravol","189":"Cotovol","190":"Capumain","191":"Tournegrin","192":"Héliatronc","193":"Yanma","194":"Axoloto","195":"Maraiste","196":"Mentali","197":"Noctali","198":"Cornèbre","199":"Roigada","200":"Feuforêve","201":"Zarbi","202":"Qulbutoké","203":"Girafarig","204":"Pomdepic","205":"Foretress","206":"Insolourdo","207":"Scorplane","208":"Steelix","209":"Snubbull","210":"Granbull","211":"Qwilfish","212":"Cizayox","213":"Caratroc","214":"Scarhino","215":"Farfuret","216":"Teddiursa","217":"Ursaring","218":"Limagma","219":"Volcaropod","220":"Marcacrin","221":"Cochignon","222":"Corayon","223":"Rémoraid","224":"Octillery","225":"Cadoizo","226":"Démanta","227":"Airmure","228":"Malosse","229":"Démolosse","230":"Hyporoi","231":"Phanpy","232":"Donphan","233":"Porygon2","234":"Cerfrousse","235":"Queulorior","236":"Debugant","237":"Kapoera","238":"Lippouti","239":"Élekid","240":"Magby","241":"Écrémeuh","242":"Leuphorie","243":"Raikou","244":"Entei","245":"Suicune","246":"Embrylex","247":"Ymphect","248":"Tyranocif","249":"Lugia","250":"Ho-Oh","251":"Celebi","252":"Arcko","253":"Massko","254":"Jungko","255":"Poussifeu","256":"Galifeu","257":"Braségali","258":"Gobou","259":"Flobio","260":"Laggron","261":"Medhyèna","262":"Grahyèna","263":"Zigzaton","264":"Linéon","265":"Chenipotte","266":"Armulys","267":"Charmillon","268":"Blindalys","269":"Papinox","270":"Nénupiot","271":"Lombre","272":"Ludicolo","273":"Grainipiot","274":"Pifeuil","275":"Tengalice","276":"Nirondelle","277":"Hélédelle","278":"Goélise","279":"Bekipan","280":"Tarsal","281":"Kirlia","282":"Gardevoir","283":"Arakdo","284":"Maskadra","285":"Balignon","286":"Chapignon","287":"Parecool","288":"Vigoroth","289":"Monaflèmit","290":"Ningale","291":"Ninjask","292":"Munja","293":"Chuchmur","294":"Ramboum","295":"Brouhabam","296":"Makuhita","297":"Hariyama","298":"Azurill","299":"Tarinor","300":"Skitty","301":"Delcatty","302":"Ténéfix","303":"Mysdibule","304":"Galekid","305":"Galegon","306":"Galeking","307":"Méditikka","308":"Charmina","309":"Dynavolt","310":"Élecsprint","311":"Posipi","312":"Négapi","313":"Muciole","314":"Lumivole","315":"Rosélia","316":"Gloupti","317":"Avaltout","318":"Carvanha","319":"Sharpedo","320":"Wailmer","321":"Wailord","322":"Chamallot","323":"Camérupt","324":"Chartor","325":"Spoink","326":"Groret","327":"Spinda","328":"Kraknoix","329":"Vibraninf","330":"Libégon","331":"Cacnea","332":"Cacturne","333":"Tylton","334":"Altaria","335":"Mangriff","336":"Séviper","337":"Séléroc","338":"Solaroc","339":"Barloche","340":"Barbicha","341":"Écrapince","342":"Colhomard","343":"Balbuto","344":"Kaorine","345":"Lilia","346":"Vacilys","347":"Anorith","348":"Armaldo","349":"Barpau","350":"Milobellus","351":"Morphéo","352":"Kecleon","353":"Polichombr","354":"Branette","355":"Skelénox","356":"Téraclope","357":"Tropius","358":"Éoko","359":"Absol","360":"Okéoké","361":"Stalgamin","362":"Oniglali","363":"Obalie","364":"Phogleur","365":"Kaimorse","366":"Coquiperl","367":"Serpang","368":"Rosabyss","369":"Relicanth","370":"Lovdisc","371":"Draby","372":"Drackhaus","373":"Drattak","374":"Terhal","375":"Métang","376":"Métalosse","377":"Regirock","378":"Regice","379":"Registeel","380":"Latias","381":"Latios","382":"Kyogre","383":"Groudon","384":"Rayquaza","385":"Jirachi","386":"Deoxys","387":"Tortipouss","388":"Boskara","389":"Torterra","390":"Ouisticram","391":"Chimpenfeu","392":"Simiabraz","393":"Tiplouf","394":"Prinplouf","395":"Pingoléon","396":"Étourmi","397":"Étourvol","398":"Étouraptor","399":"Keunotor","400":"Castorno","401":"Crikzik","402":"Mélokrik","403":"Lixy","404":"Luxio","405":"Luxray","406":"Rozbouton","407":"Roserade","408":"Kranidos","409":"Charkos","410":"Dinoclier","411":"Bastiodon","412":"Cheniti","413":"Cheniselle","414":"Papilord","415":"Apitrini","416":"Apireine","417":"Pachirisu","418":"Mustébouée","419":"Mustéflott","420":"Ceribou","421":"Ceriflor","422":"Sancoki","423":"Tritosor","424":"Capidextre","425":"Baudrive","426":"Grodrive","427":"Laporeille","428":"Lockpin","429":"Magirêve","430":"Corboss","431":"Chaglam","432":"Chaffreux","433":"Korillon","434":"Moufouette","435":"Moufflair","436":"Archéomire","437":"Archéodong","438":"Manzaï","439":"Mime Jr","440":"Ptiravi","441":"Pijako","442":"Spiritomb","443":"Griknot","444":"Carmache","445":"Carchacrok","446":"Goinfrex","447":"Riolu","448":"Lucario","449":"Hippopotas","450":"Hippodocus","451":"Rapion","452":"Drascore","453":"Cradopaud","454":"Coatox","455":"Vortente","456":"Écayon","457":"Luminéon","458":"Babimanta","459":"Blizzi","460":"Blizzaroi","461":"Dimoret","462":"Magnézone","463":"Coudlangue","464":"Rhinastoc","465":"Bouldeneu","466":"Élekable","467":"Maganon","468":"Togekiss","469":"Yanméga","470":"Phyllali","471":"Givrali","472":"Scorvol","473":"Mammochon","474":"Porygon-Z","475":"Gallame","476":"Tarinorme","477":"Noctunoir","478":"Momartik","479":"Motisma","480":"Créhelf","481":"Créfollet","482":"Créfadet","483":"Dialga","484":"Palkia","485":"Heatran","486":"Regigigas","487":"Giratina","488":"Cresselia","489":"Phione","490":"Manaphy","491":"Darkrai","492":"Shaymin","493":"Arceus","494":"Victini","495":"Vipélierre","496":"Lianaja","497":"Majaspic","498":"Gruikui","499":"Grotichon","500":"Roitiflam","501":"Moustillon","502":"Mateloutre","503":"Clamiral","504":"Ratentif","505":"Miradar","506":"Ponchiot","507":"Ponchien","508":"Mastouffe","509":"Chacripan","510":"Léopardus","511":"Feuillajou","512":"Feuiloutan","513":"Flamajou","514":"Flamoutan","515":"Flotajou","516":"Flotoutan","517":"Munna","518":"Mushana","519":"Poichigeon","520":"Colombeau","521":"Déflaisan","522":"Zébribon","523":"Zéblitz","524":"Nodulithe","525":"Géolithe","526":"Gigalithe","527":"Chovsourir","528":"Rhinolove","529":"Rototaupe","530":"Minotaupe","531":"Nanméouïe","532":"Charpenti","533":"Ouvrifier","534":"Bétochef","535":"Tritonde","536":"Batracné","537":"Crapustule","538":"Judokrak","539":"Karaclée","540":"Larveyette","541":"Couverdure","542":"Manternel","543":"Venipatte","544":"Scobolide","545":"Brutapode","546":"Doudouvet","547":"Farfaduvet","548":"Chlorobule","549":"Fragilady","550":"Bargantua","551":"Mascaïman","552":"Escroco","553":"Crocorible","554":"Darumarond","555":"Darumacho","556":"Maracachi","557":"Crabicoque","558":"Crabaraque","559":"Baggiguane","560":"Baggaïd","561":"Cryptéro","562":"Tutafeh","563":"Tutankafer","564":"Carapagos","565":"Mégapagos","566":"Arkéapti","567":"Aéroptéryx","568":"Miamiasme","569":"Miasmax","570":"Zorua","571":"Zoroark","572":"Chinchidou","573":"Pashmilla","574":"Scrutella","575":"Mesmérella","576":"Sidérella","577":"Nucléos","578":"Méios","579":"Symbios","580":"Couaneton","581":"Lakmécygne","582":"Sorbébé","583":"Sorboul","584":"Sorbouboul","585":"Vivaldaim","586":"Haydaim","587":"Emolga","588":"Carabing","589":"Lançargot","590":"Trompignon","591":"Gaulet","592":"Viskuse","593":"Moyade","594":"Mamanbo","595":"Statitik","596":"Mygavolt","597":"Grindur","598":"Noacier","599":"Tic","600":"Clic","601":"Cliticlic","602":"Anchwatt","603":"Lampéroie","604":"Ohmassacre","605":"Lewsor","606":"Neitram","607":"Funécire","608":"Mélancolux","609":"Lugulabre","610":"Coupenotte","611":"Incisache","612":"Tranchodon","613":"Polarhume","614":"Polagriffe","615":"Hexagel","616":"Escargaume","617":"Limaspeed","618":"Limonde","619":"Kungfouine","620":"Shaofouine","621":"Drakkarmin","622":"Gringolem","623":"Golemastoc","624":"Scalpion","625":"Scalproie","626":"Frison","627":"Furaiglon","628":"Gueriaigle","629":"Vostourno","630":"Vaututrice","631":"Aflamanoir","632":"Fermite","633":"Solochi","634":"Diamat","635":"Trioxhydre","636":"Pyronille","637":"Pyrax","638":"Cobaltium","639":"Terrakium","640":"Viridium","641":"Boréas","642":"Fulguris","643":"Reshiram","644":"Zekrom","645":"Démétéros","646":"Kyurem","647":"Keldeo","648":"Meloetta","649":"Genesect","650":"Marisson","651":"Boguérisse","652":"Blindépique","653":"Feunnec","654":"Roussil","655":"Goupelin","656":"Grenousse","657":"Croâporal","658":"Amphinobi","659":"Sapereau","660":"Excavarenne","661":"Passerouge","662":"Braisillon","663":"Flambusard","664":"Lépidonille","665":"Pérégrain","666":"Prismillon","667":"Hélionceau","668":"Némélios","669":"Flabébé","670":"Floette","671":"Florges","672":"Cabriolaine","673":"Chevroum","674":"Pandespiègle","675":"Pandarbare","676":"Couafarel","677":"Psystigri","678":"Mistigrix","679":"Monorpale","680":"Dimoclès","681":"Exagide","682":"Fluvetin","683":"Cocotine","684":"Sucroquin","685":"Cupcanaille","686":"Sepiatop","687":"Sepiatroce","688":"Opermine","689":"Golgopathe","690":"Venalgue","691":"Kravarech","692":"Flingouste","693":"Gamblast","694":"Galvaran","695":"Iguolta","696":"Ptyranidur","697":"Rexillius","698":"Amagara","699":"Dragmara","700":"Nymphali","701":"Brutalibré","702":"Dedenne","703":"Strassie","704":"Mucuscule","705":"Colimucus","706":"Muplodocus","707":"Trousselin","708":"Brocélôme","709":"Desséliande","710":"Pitrouille","711":"Banshitrouye","712":"Grelaçon","713":"Séracrawl","714":"Sonistrelle","715":"Bruyverne","716":"Xerneas","717":"Yveltal","718":"Zygarde","719":"Diancie","720":"Hoopa","721":"Volcanion"} -------------------------------------------------------------------------------- /app/assets/json/pokemon.it.json: -------------------------------------------------------------------------------- 1 | {"1":"Bulbasaur","2":"Ivysaur","3":"Venusaur","4":"Charmander","5":"Charmeleon","6":"Charizard","7":"Squirtle","8":"Wartortle","9":"Blastoise","10":"Caterpie","11":"Metapod","12":"Butterfree","13":"Weedle","14":"Kakuna","15":"Beedrill","16":"Pidgey","17":"Pidgeotto","18":"Pidgeot","19":"Rattata","20":"Raticate","21":"Spearow","22":"Fearow","23":"Ekans","24":"Arbok","25":"Pikachu","26":"Raichu","27":"Sandshrew","28":"Sandslash","29":"Nidoran♀","30":"Nidorina","31":"Nidoqueen","32":"Nidoran♂","33":"Nidorino","34":"Nidoking","35":"Clefairy","36":"Clefable","37":"Vulpix","38":"Ninetales","39":"Jigglypuff","40":"Wigglytuff","41":"Zubat","42":"Golbat","43":"Oddish","44":"Gloom","45":"Vileplume","46":"Paras","47":"Parasect","48":"Venonat","49":"Venomoth","50":"Diglett","51":"Dugtrio","52":"Meowth","53":"Persian","54":"Psyduck","55":"Golduck","56":"Mankey","57":"Primeape","58":"Growlithe","59":"Arcanine","60":"Poliwag","61":"Poliwhirl","62":"Poliwrath","63":"Abra","64":"Kadabra","65":"Alakazam","66":"Machop","67":"Machoke","68":"Machamp","69":"Bellsprout","70":"Weepinbell","71":"Victreebel","72":"Tentacool","73":"Tentacruel","74":"Geodude","75":"Graveler","76":"Golem","77":"Ponyta","78":"Rapidash","79":"Slowpoke","80":"Slowbro","81":"Magnemite","82":"Magneton","83":"Farfetch'd","84":"Doduo","85":"Dodrio","86":"Seel","87":"Dewgong","88":"Grimer","89":"Muk","90":"Shellder","91":"Cloyster","92":"Gastly","93":"Haunter","94":"Gengar","95":"Onix","96":"Drowzee","97":"Hypno","98":"Krabby","99":"Kingler","100":"Voltorb","101":"Electrode","102":"Exeggcute","103":"Exeggutor","104":"Cubone","105":"Marowak","106":"Hitmonlee","107":"Hitmonchan","108":"Lickitung","109":"Koffing","110":"Weezing","111":"Rhyhorn","112":"Rhydon","113":"Chansey","114":"Tangela","115":"Kangaskhan","116":"Horsea","117":"Seadra","118":"Goldeen","119":"Seaking","120":"Staryu","121":"Starmie","122":"Mr. Mime","123":"Scyther","124":"Jynx","125":"Electabuzz","126":"Magmar","127":"Pinsir","128":"Tauros","129":"Magikarp","130":"Gyarados","131":"Lapras","132":"Ditto","133":"Eevee","134":"Vaporeon","135":"Jolteon","136":"Flareon","137":"Porygon","138":"Omanyte","139":"Omastar","140":"Kabuto","141":"Kabutops","142":"Aerodactyl","143":"Snorlax","144":"Articuno","145":"Zapdos","146":"Moltres","147":"Dratini","148":"Dragonair","149":"Dragonite","150":"Mewtwo","151":"Mew","152":"Chikorita","153":"Bayleef","154":"Meganium","155":"Cyndaquil","156":"Quilava","157":"Typhlosion","158":"Totodile","159":"Croconaw","160":"Feraligatr","161":"Sentret","162":"Furret","163":"Hoothoot","164":"Noctowl","165":"Ledyba","166":"Ledian","167":"Spinarak","168":"Ariados","169":"Crobat","170":"Chinchou","171":"Lanturn","172":"Pichu","173":"Cleffa","174":"Igglybuff","175":"Togepi","176":"Togetic","177":"Natu","178":"Xatu","179":"Mareep","180":"Flaaffy","181":"Ampharos","182":"Bellossom","183":"Marill","184":"Azumarill","185":"Sudowoodo","186":"Politoed","187":"Hoppip","188":"Skiploom","189":"Jumpluff","190":"Aipom","191":"Sunkern","192":"Sunflora","193":"Yanma","194":"Wooper","195":"Quagsire","196":"Espeon","197":"Umbreon","198":"Murkrow","199":"Slowking","200":"Misdreavus","201":"Unown","202":"Wobbuffet","203":"Girafarig","204":"Pineco","205":"Forretress","206":"Dunsparce","207":"Gligar","208":"Steelix","209":"Snubbull","210":"Granbull","211":"Qwilfish","212":"Scizor","213":"Shuckle","214":"Heracross","215":"Sneasel","216":"Teddiursa","217":"Ursaring","218":"Slugma","219":"Magcargo","220":"Swinub","221":"Piloswine","222":"Corsola","223":"Remoraid","224":"Octillery","225":"Delibird","226":"Mantine","227":"Skarmory","228":"Houndour","229":"Houndoom","230":"Kingdra","231":"Phanpy","232":"Donphan","233":"Porygon2","234":"Stantler","235":"Smeargle","236":"Tyrogue","237":"Hitmontop","238":"Smoochum","239":"Elekid","240":"Magby","241":"Miltank","242":"Blissey","243":"Raikou","244":"Entei","245":"Suicune","246":"Larvitar","247":"Pupitar","248":"Tyranitar","249":"Lugia","250":"Ho-Oh","251":"Celebi","252":"Treecko","253":"Grovyle","254":"Sceptile","255":"Torchic","256":"Combusken","257":"Blaziken","258":"Mudkip","259":"Marshtomp","260":"Swampert","261":"Poochyena","262":"Mightyena","263":"Zigzagoon","264":"Linoone","265":"Wurmple","266":"Silcoon","267":"Beautifly","268":"Cascoon","269":"Dustox","270":"Lotad","271":"Lombre","272":"Ludicolo","273":"Seedot","274":"Nuzleaf","275":"Shiftry","276":"Taillow","277":"Swellow","278":"Wingull","279":"Pelipper","280":"Ralts","281":"Kirlia","282":"Gardevoir","283":"Surskit","284":"Masquerain","285":"Shroomish","286":"Breloom","287":"Slakoth","288":"Vigoroth","289":"Slaking","290":"Nincada","291":"Ninjask","292":"Shedinja","293":"Whismur","294":"Loudred","295":"Exploud","296":"Makuhita","297":"Hariyama","298":"Azurill","299":"Nosepass","300":"Skitty","301":"Delcatty","302":"Sableye","303":"Mawile","304":"Aron","305":"Lairon","306":"Aggron","307":"Meditite","308":"Medicham","309":"Electrike","310":"Manectric","311":"Plusle","312":"Minun","313":"Volbeat","314":"Illumise","315":"Roselia","316":"Gulpin","317":"Swalot","318":"Carvanha","319":"Sharpedo","320":"Wailmer","321":"Wailord","322":"Numel","323":"Camerupt","324":"Torkoal","325":"Spoink","326":"Grumpig","327":"Spinda","328":"Trapinch","329":"Vibrava","330":"Flygon","331":"Cacnea","332":"Cacturne","333":"Swablu","334":"Altaria","335":"Zangoose","336":"Seviper","337":"Lunatone","338":"Solrock","339":"Barboach","340":"Whiscash","341":"Corphish","342":"Crawdaunt","343":"Baltoy","344":"Claydol","345":"Lileep","346":"Cradily","347":"Anorith","348":"Armaldo","349":"Feebas","350":"Milotic","351":"Castform","352":"Kecleon","353":"Shuppet","354":"Banette","355":"Duskull","356":"Dusclops","357":"Tropius","358":"Chimecho","359":"Absol","360":"Wynaut","361":"Snorunt","362":"Glalie","363":"Spheal","364":"Sealeo","365":"Walrein","366":"Clamperl","367":"Huntail","368":"Gorebyss","369":"Relicanth","370":"Luvdisc","371":"Bagon","372":"Shelgon","373":"Salamence","374":"Beldum","375":"Metang","376":"Metagross","377":"Regirock","378":"Regice","379":"Registeel","380":"Latias","381":"Latios","382":"Kyogre","383":"Groudon","384":"Rayquaza","385":"Jirachi","386":"Deoxys","387":"Turtwig","388":"Grotle","389":"Torterra","390":"Chimchar","391":"Monferno","392":"Infernape","393":"Piplup","394":"Prinplup","395":"Empoleon","396":"Starly","397":"Staravia","398":"Staraptor","399":"Bidoof","400":"Bibarel","401":"Kricketot","402":"Kricketune","403":"Shinx","404":"Luxio","405":"Luxray","406":"Budew","407":"Roserade","408":"Cranidos","409":"Rampardos","410":"Shieldon","411":"Bastiodon","412":"Burmy","413":"Wormadam","414":"Mothim","415":"Combee","416":"Vespiquen","417":"Pachirisu","418":"Buizel","419":"Floatzel","420":"Cherubi","421":"Cherrim","422":"Shellos","423":"Gastrodon","424":"Ambipom","425":"Drifloon","426":"Drifblim","427":"Buneary","428":"Lopunny","429":"Mismagius","430":"Honchkrow","431":"Glameow","432":"Purugly","433":"Chingling","434":"Stunky","435":"Skuntank","436":"Bronzor","437":"Bronzong","438":"Bonsly","439":"Mime Jr.","440":"Happiny","441":"Chatot","442":"Spiritomb","443":"Gible","444":"Gabite","445":"Garchomp","446":"Munchlax","447":"Riolu","448":"Lucario","449":"Hippopotas","450":"Hippowdon","451":"Skorupi","452":"Drapion","453":"Croagunk","454":"Toxicroak","455":"Carnivine","456":"Finneon","457":"Lumineon","458":"Mantyke","459":"Snover","460":"Abomasnow","461":"Weavile","462":"Magnezone","463":"Lickilicky","464":"Rhyperior","465":"Tangrowth","466":"Electivire","467":"Magmortar","468":"Togekiss","469":"Yanmega","470":"Leafeon","471":"Glaceon","472":"Gliscor","473":"Mamoswine","474":"Porygon-Z","475":"Gallade","476":"Probopass","477":"Dusknoir","478":"Froslass","479":"Rotom","480":"Uxie","481":"Mesprit","482":"Azelf","483":"Dialga","484":"Palkia","485":"Heatran","486":"Regigigas","487":"Giratina","488":"Cresselia","489":"Phione","490":"Manaphy","491":"Darkrai","492":"Shaymin","493":"Arceus","494":"Victini","495":"Snivy","496":"Servine","497":"Serperior","498":"Tepig","499":"Pignite","500":"Emboar","501":"Oshawott","502":"Dewott","503":"Samurott","504":"Patrat","505":"Watchog","506":"Lillipup","507":"Herdier","508":"Stoutland","509":"Purrloin","510":"Liepard","511":"Pansage","512":"Simisage","513":"Pansear","514":"Simisear","515":"Panpour","516":"Simipour","517":"Munna","518":"Musharna","519":"Pidove","520":"Tranquill","521":"Unfezant","522":"Blitzle","523":"Zebstrika","524":"Roggenrola","525":"Boldore","526":"Gigalith","527":"Woobat","528":"Swoobat","529":"Drilbur","530":"Excadrill","531":"Audino","532":"Timburr","533":"Gurdurr","534":"Conkeldurr","535":"Tympole","536":"Palpitoad","537":"Seismitoad","538":"Throh","539":"Sawk","540":"Sewaddle","541":"Swadloon","542":"Leavanny","543":"Venipede","544":"Whirlipede","545":"Scolipede","546":"Cottonee","547":"Whimsicott","548":"Petilil","549":"Lilligant","550":"Basculin","551":"Sandile","552":"Krokorok","553":"Krookodile","554":"Darumaka","555":"Darmanitan","556":"Maractus","557":"Dwebble","558":"Crustle","559":"Scraggy","560":"Scrafty","561":"Sigilyph","562":"Yamask","563":"Cofagrigus","564":"Tirtouga","565":"Carracosta","566":"Archen","567":"Archeops","568":"Trubbish","569":"Garbodor","570":"Zorua","571":"Zoroark","572":"Minccino","573":"Cinccino","574":"Gothita","575":"Gothorita","576":"Gothitelle","577":"Solosis","578":"Duosion","579":"Reuniclus","580":"Ducklett","581":"Swanna","582":"Vanillite","583":"Vanillish","584":"Vanilluxe","585":"Deerling","586":"Sawsbuck","587":"Emolga","588":"Karrablast","589":"Escavalier","590":"Foongus","591":"Amoonguss","592":"Frillish","593":"Jellicent","594":"Alomomola","595":"Joltik","596":"Galvantula","597":"Ferroseed","598":"Ferrothorn","599":"Klink","600":"Klang","601":"Klinklang","602":"Tynamo","603":"Eelektrik","604":"Eelektross","605":"Elgyem","606":"Beheeyem","607":"Litwick","608":"Lampent","609":"Chandelure","610":"Axew","611":"Fraxure","612":"Haxorus","613":"Cubchoo","614":"Beartic","615":"Cryogonal","616":"Shelmet","617":"Accelgor","618":"Stunfisk","619":"Mienfoo","620":"Mienshao","621":"Druddigon","622":"Golett","623":"Golurk","624":"Pawniard","625":"Bisharp","626":"Bouffalant","627":"Rufflet","628":"Braviary","629":"Vullaby","630":"Mandibuzz","631":"Heatmor","632":"Durant","633":"Deino","634":"Zweilous","635":"Hydreigon","636":"Larvesta","637":"Volcarona","638":"Cobalion","639":"Terrakion","640":"Virizion","641":"Tornadus","642":"Thundurus","643":"Reshiram","644":"Zekrom","645":"Landorus","646":"Kyurem","647":"Keldeo","648":"Meloetta","649":"Genesect","650":"Chespin","651":"Quilladin","652":"Chesnaught","653":"Fennekin","654":"Braixen","655":"Delphox","656":"Froakie","657":"Frogadier","658":"Greninja","659":"Bunnelby","660":"Diggersby","661":"Fletchling","662":"Fletchinder","663":"Talonflame","664":"Scatterbug","665":"Spewpa","666":"Vivillon","667":"Litleo","668":"Pyroar","669":"Flabébé","670":"Floette","671":"Florges","672":"Skiddo","673":"Gogoat","674":"Pancham","675":"Pangoro","676":"Furfrou","677":"Espurr","678":"Meowstic","679":"Honedge","680":"Doublade","681":"Aegislash","682":"Spritzee","683":"Aromatisse","684":"Swirlix","685":"Slurpuff","686":"Inkay","687":"Malamar","688":"Binacle","689":"Barbaracle","690":"Skrelp","691":"Dragalge","692":"Clauncher","693":"Clawitzer","694":"Helioptile","695":"Heliolisk","696":"Tyrunt","697":"Tyrantrum","698":"Amaura","699":"Aurorus","700":"Sylveon","701":"Hawlucha","702":"Dedenne","703":"Carbink","704":"Goomy","705":"Sliggoo","706":"Goodra","707":"Klefki","708":"Phantump","709":"Trevenant","710":"Pumpkaboo","711":"Gourgeist","712":"Bergmite","713":"Avalugg","714":"Noibat","715":"Noivern","716":"Xerneas","717":"Yveltal","718":"Zygarde","719":"Diancie","720":"Hoopa","721":"Volcanion"} 2 | -------------------------------------------------------------------------------- /app/assets/json/pokemon.tw.json: -------------------------------------------------------------------------------- 1 | {"1":"妙蛙種子","2":"妙蛙草","3":"妙蛙花","4":"小火龍","5":"火恐龍","6":"噴火龍","7":"傑尼龜","8":"卡咪龜","9":"水箭龜","10":"綠毛蟲","11":"鐵甲蛹","12":"巴大蝴","13":"獨角蟲","14":"鐵殼昆","15":"大針蜂","16":"波波","17":"比比鳥","18":"比雕","19":"小拉達","20":"拉達","21":"烈雀","22":"大嘴雀","23":"阿柏蛇","24":"阿柏怪","25":"皮卡丘","26":"雷丘","27":"穿山鼠","28":"穿山王","29":"尼多蘭","30":"尼多娜","31":"尼多后","32":"尼多朗","33":"尼多力諾","34":"尼多王","35":"皮皮","36":"皮可西","37":"六尾","38":"九尾","39":"胖丁","40":"胖可丁","41":"超音蝠","42":"大嘴蝠","43":"走路草","44":"臭臭花","45":"霸王花","46":"派拉斯","47":"派拉斯特","48":"毛球","49":"末入蛾","50":"地鼠","51":"三地鼠","52":"喵喵","53":"貓老大","54":"可達鴨","55":"哥達鴨","56":"猴怪","57":"火爆猴","58":"卡蒂狗","59":"風速狗","60":"蚊香蝌蚪","61":"蚊香蛙","62":"快泳蛙","63":"凱西","64":"勇吉拉","65":"胡地","66":"腕力","67":"豪力","68":"怪力","69":"喇叭芽","70":"口呆花","71":"大食花","72":"瑪瑙水母","73":"毒刺水母","74":"小拳石","75":"隆隆石","76":"隆隆岩","77":"小火馬","78":"烈焰馬","79":"呆呆獸","80":"呆河馬","81":"小磁怪","82":"三合一磁怪","83":"大蔥鴨","84":"嘟嘟","85":"嘟嘟利","86":"小海獅","87":"白海獅","88":"臭泥","89":"臭臭泥","90":"大舌貝","91":"鐵甲貝","92":"鬼斯","93":"鬼斯通","94":"耿鬼","95":"大岩蛇","96":"素利普","97":"素利拍","98":"大鉗蟹","99":"巨鉗蟹","100":"雷電球","101":"頑皮彈","102":"蛋蛋","103":"椰蛋樹","104":"可拉可拉","105":"嘎啦嘎啦","106":"沙瓦郎","107":"艾比郎","108":"大舌頭","109":"瓦斯彈","110":"雙彈瓦斯","111":"鐵甲犀牛","112":"鐵甲暴龍","113":"吉利蛋","114":"蔓藤怪","115":"袋龍","116":"墨海馬","117":"海刺龍","118":"角金魚","119":"金魚王","120":"海星星","121":"寶石海星","122":"吸盤魔偶","123":"飛天螳螂","124":"迷唇姐","125":"電擊獸","126":"鴨嘴火龍","127":"大甲","128":"肯泰羅","129":"鯉魚王","130":"暴鯉龍","131":"乘龍","132":"百變怪","133":"伊布","134":"水精靈","135":"雷精靈","136":"火精靈","137":"3D龍","138":"菊石獸","139":"多刺菊石獸","140":"化石盔","141":"鐮刀盔","142":"化石翼龍","143":"卡比獸","144":"急凍","145":"閃電鳥","146":"火焰鳥","147":"迷你龍","148":"哈克龍","149":"快龍","150":"超夢","151":"夢幻","152":"Chikorita","153":"Bayleef","154":"Meganium","155":"Cyndaquil","156":"Quilava","157":"Typhlosion","158":"Totodile","159":"Croconaw","160":"Feraligatr","161":"Sentret","162":"Furret","163":"Hoothoot","164":"Noctowl","165":"Ledyba","166":"Ledian","167":"Spinarak","168":"Ariados","169":"Crobat","170":"Chinchou","171":"Lanturn","172":"Pichu","173":"Cleffa","174":"Igglybuff","175":"Togepi","176":"Togetic","177":"Natu","178":"Xatu","179":"Mareep","180":"Flaaffy","181":"Ampharos","182":"Bellossom","183":"Marill","184":"Azumarill","185":"Sudowoodo","186":"Politoed","187":"Hoppip","188":"Skiploom","189":"Jumpluff","190":"Aipom","191":"Sunkern","192":"Sunflora","193":"Yanma","194":"Wooper","195":"Quagsire","196":"Espeon","197":"Umbreon","198":"Murkrow","199":"Slowking","200":"Misdreavus","201":"Unown","202":"Wobbuffet","203":"Girafarig","204":"Pineco","205":"Forretress","206":"Dunsparce","207":"Gligar","208":"Steelix","209":"Snubbull","210":"Granbull","211":"Qwilfish","212":"Scizor","213":"Shuckle","214":"Heracross","215":"Sneasel","216":"Teddiursa","217":"Ursaring","218":"Slugma","219":"Magcargo","220":"Swinub","221":"Piloswine","222":"Corsola","223":"Remoraid","224":"Octillery","225":"Delibird","226":"Mantine","227":"Skarmory","228":"Houndour","229":"Houndoom","230":"Kingdra","231":"Phanpy","232":"Donphan","233":"Porygon2","234":"Stantler","235":"Smeargle","236":"Tyrogue","237":"Hitmontop","238":"Smoochum","239":"Elekid","240":"Magby","241":"Miltank","242":"Blissey","243":"Raikou","244":"Entei","245":"Suicune","246":"Larvitar","247":"Pupitar","248":"Tyranitar","249":"Lugia","250":"Ho-Oh","251":"Celebi","252":"Treecko","253":"Grovyle","254":"Sceptile","255":"Torchic","256":"Combusken","257":"Blaziken","258":"Mudkip","259":"Marshtomp","260":"Swampert","261":"Poochyena","262":"Mightyena","263":"Zigzagoon","264":"Linoone","265":"Wurmple","266":"Silcoon","267":"Beautifly","268":"Cascoon","269":"Dustox","270":"Lotad","271":"Lombre","272":"Ludicolo","273":"Seedot","274":"Nuzleaf","275":"Shiftry","276":"Taillow","277":"Swellow","278":"Wingull","279":"Pelipper","280":"Ralts","281":"Kirlia","282":"Gardevoir","283":"Surskit","284":"Masquerain","285":"Shroomish","286":"Breloom","287":"Slakoth","288":"Vigoroth","289":"Slaking","290":"Nincada","291":"Ninjask","292":"Shedinja","293":"Whismur","294":"Loudred","295":"Exploud","296":"Makuhita","297":"Hariyama","298":"Azurill","299":"Nosepass","300":"Skitty","301":"Delcatty","302":"Sableye","303":"Mawile","304":"Aron","305":"Lairon","306":"Aggron","307":"Meditite","308":"Medicham","309":"Electrike","310":"Manectric","311":"Plusle","312":"Minun","313":"Volbeat","314":"Illumise","315":"Roselia","316":"Gulpin","317":"Swalot","318":"Carvanha","319":"Sharpedo","320":"Wailmer","321":"Wailord","322":"Numel","323":"Camerupt","324":"Torkoal","325":"Spoink","326":"Grumpig","327":"Spinda","328":"Trapinch","329":"Vibrava","330":"Flygon","331":"Cacnea","332":"Cacturne","333":"Swablu","334":"Altaria","335":"Zangoose","336":"Seviper","337":"Lunatone","338":"Solrock","339":"Barboach","340":"Whiscash","341":"Corphish","342":"Crawdaunt","343":"Baltoy","344":"Claydol","345":"Lileep","346":"Cradily","347":"Anorith","348":"Armaldo","349":"Feebas","350":"Milotic","351":"Castform","352":"Kecleon","353":"Shuppet","354":"Banette","355":"Duskull","356":"Dusclops","357":"Tropius","358":"Chimecho","359":"Absol","360":"Wynaut","361":"Snorunt","362":"Glalie","363":"Spheal","364":"Sealeo","365":"Walrein","366":"Clamperl","367":"Huntail","368":"Gorebyss","369":"Relicanth","370":"Luvdisc","371":"Bagon","372":"Shelgon","373":"Salamence","374":"Beldum","375":"Metang","376":"Metagross","377":"Regirock","378":"Regice","379":"Registeel","380":"Latias","381":"Latios","382":"Kyogre","383":"Groudon","384":"Rayquaza","385":"Jirachi","386":"Deoxys","387":"Turtwig","388":"Grotle","389":"Torterra","390":"Chimchar","391":"Monferno","392":"Infernape","393":"Piplup","394":"Prinplup","395":"Empoleon","396":"Starly","397":"Staravia","398":"Staraptor","399":"Bidoof","400":"Bibarel","401":"Kricketot","402":"Kricketune","403":"Shinx","404":"Luxio","405":"Luxray","406":"Budew","407":"Roserade","408":"Cranidos","409":"Rampardos","410":"Shieldon","411":"Bastiodon","412":"Burmy","413":"Wormadam","414":"Mothim","415":"Combee","416":"Vespiquen","417":"Pachirisu","418":"Buizel","419":"Floatzel","420":"Cherubi","421":"Cherrim","422":"Shellos","423":"Gastrodon","424":"Ambipom","425":"Drifloon","426":"Drifblim","427":"Buneary","428":"Lopunny","429":"Mismagius","430":"Honchkrow","431":"Glameow","432":"Purugly","433":"Chingling","434":"Stunky","435":"Skuntank","436":"Bronzor","437":"Bronzong","438":"Bonsly","439":"Mime Jr.","440":"Happiny","441":"Chatot","442":"Spiritomb","443":"Gible","444":"Gabite","445":"Garchomp","446":"Munchlax","447":"Riolu","448":"Lucario","449":"Hippopotas","450":"Hippowdon","451":"Skorupi","452":"Drapion","453":"Croagunk","454":"Toxicroak","455":"Carnivine","456":"Finneon","457":"Lumineon","458":"Mantyke","459":"Snover","460":"Abomasnow","461":"Weavile","462":"Magnezone","463":"Lickilicky","464":"Rhyperior","465":"Tangrowth","466":"Electivire","467":"Magmortar","468":"Togekiss","469":"Yanmega","470":"Leafeon","471":"Glaceon","472":"Gliscor","473":"Mamoswine","474":"Porygon-Z","475":"Gallade","476":"Probopass","477":"Dusknoir","478":"Froslass","479":"Rotom","480":"Uxie","481":"Mesprit","482":"Azelf","483":"Dialga","484":"Palkia","485":"Heatran","486":"Regigigas","487":"Giratina","488":"Cresselia","489":"Phione","490":"Manaphy","491":"Darkrai","492":"Shaymin","493":"Arceus","494":"Victini","495":"Snivy","496":"Servine","497":"Serperior","498":"Tepig","499":"Pignite","500":"Emboar","501":"Oshawott","502":"Dewott","503":"Samurott","504":"Patrat","505":"Watchog","506":"Lillipup","507":"Herdier","508":"Stoutland","509":"Purrloin","510":"Liepard","511":"Pansage","512":"Simisage","513":"Pansear","514":"Simisear","515":"Panpour","516":"Simipour","517":"Munna","518":"Musharna","519":"Pidove","520":"Tranquill","521":"Unfezant","522":"Blitzle","523":"Zebstrika","524":"Roggenrola","525":"Boldore","526":"Gigalith","527":"Woobat","528":"Swoobat","529":"Drilbur","530":"Excadrill","531":"Audino","532":"Timburr","533":"Gurdurr","534":"Conkeldurr","535":"Tympole","536":"Palpitoad","537":"Seismitoad","538":"Throh","539":"Sawk","540":"Sewaddle","541":"Swadloon","542":"Leavanny","543":"Venipede","544":"Whirlipede","545":"Scolipede","546":"Cottonee","547":"Whimsicott","548":"Petilil","549":"Lilligant","550":"Basculin","551":"Sandile","552":"Krokorok","553":"Krookodile","554":"Darumaka","555":"Darmanitan","556":"Maractus","557":"Dwebble","558":"Crustle","559":"Scraggy","560":"Scrafty","561":"Sigilyph","562":"Yamask","563":"Cofagrigus","564":"Tirtouga","565":"Carracosta","566":"Archen","567":"Archeops","568":"Trubbish","569":"Garbodor","570":"Zorua","571":"Zoroark","572":"Minccino","573":"Cinccino","574":"Gothita","575":"Gothorita","576":"Gothitelle","577":"Solosis","578":"Duosion","579":"Reuniclus","580":"Ducklett","581":"Swanna","582":"Vanillite","583":"Vanillish","584":"Vanilluxe","585":"Deerling","586":"Sawsbuck","587":"Emolga","588":"Karrablast","589":"Escavalier","590":"Foongus","591":"Amoonguss","592":"Frillish","593":"Jellicent","594":"Alomomola","595":"Joltik","596":"Galvantula","597":"Ferroseed","598":"Ferrothorn","599":"Klink","600":"Klang","601":"Klinklang","602":"Tynamo","603":"Eelektrik","604":"Eelektross","605":"Elgyem","606":"Beheeyem","607":"Litwick","608":"Lampent","609":"Chandelure","610":"Axew","611":"Fraxure","612":"Haxorus","613":"Cubchoo","614":"Beartic","615":"Cryogonal","616":"Shelmet","617":"Accelgor","618":"Stunfisk","619":"Mienfoo","620":"Mienshao","621":"Druddigon","622":"Golett","623":"Golurk","624":"Pawniard","625":"Bisharp","626":"Bouffalant","627":"Rufflet","628":"Braviary","629":"Vullaby","630":"Mandibuzz","631":"Heatmor","632":"Durant","633":"Deino","634":"Zweilous","635":"Hydreigon","636":"Larvesta","637":"Volcarona","638":"Cobalion","639":"Terrakion","640":"Virizion","641":"Tornadus","642":"Thundurus","643":"Reshiram","644":"Zekrom","645":"Landorus","646":"Kyurem","647":"Keldeo","648":"Meloetta","649":"Genesect","650":"Chespin","651":"Quilladin","652":"Chesnaught","653":"Fennekin","654":"Braixen","655":"Delphox","656":"Froakie","657":"Frogadier","658":"Greninja","659":"Bunnelby","660":"Diggersby","661":"Fletchling","662":"Fletchinder","663":"Talonflame","664":"Scatterbug","665":"Spewpa","666":"Vivillon","667":"Litleo","668":"Pyroar","669":"Flabébé","670":"Floette","671":"Florges","672":"Skiddo","673":"Gogoat","674":"Pancham","675":"Pangoro","676":"Furfrou","677":"Espurr","678":"Meowstic","679":"Honedge","680":"Doublade","681":"Aegislash","682":"Spritzee","683":"Aromatisse","684":"Swirlix","685":"Slurpuff","686":"Inkay","687":"Malamar","688":"Binacle","689":"Barbaracle","690":"Skrelp","691":"Dragalge","692":"Clauncher","693":"Clawitzer","694":"Helioptile","695":"Heliolisk","696":"Tyrunt","697":"Tyrantrum","698":"Amaura","699":"Aurorus","700":"Sylveon","701":"Hawlucha","702":"Dedenne","703":"Carbink","704":"Goomy","705":"Sliggoo","706":"Goodra","707":"Klefki","708":"Phantump","709":"Trevenant","710":"Pumpkaboo","711":"Gourgeist","712":"Bergmite","713":"Avalugg","714":"Noibat","715":"Noivern","716":"Xerneas","717":"Yveltal","718":"Zygarde","719":"Diancie","720":"Hoopa","721":"Volcanion"} 2 | -------------------------------------------------------------------------------- /app/assets/pokemon/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/1.png -------------------------------------------------------------------------------- /app/assets/pokemon/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/10.png -------------------------------------------------------------------------------- /app/assets/pokemon/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/100.png -------------------------------------------------------------------------------- /app/assets/pokemon/101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/101.png -------------------------------------------------------------------------------- /app/assets/pokemon/102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/102.png -------------------------------------------------------------------------------- /app/assets/pokemon/103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/103.png -------------------------------------------------------------------------------- /app/assets/pokemon/104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/104.png -------------------------------------------------------------------------------- /app/assets/pokemon/105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/105.png -------------------------------------------------------------------------------- /app/assets/pokemon/106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/106.png -------------------------------------------------------------------------------- /app/assets/pokemon/107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/107.png -------------------------------------------------------------------------------- /app/assets/pokemon/108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/108.png -------------------------------------------------------------------------------- /app/assets/pokemon/109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/109.png -------------------------------------------------------------------------------- /app/assets/pokemon/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/11.png -------------------------------------------------------------------------------- /app/assets/pokemon/110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/110.png -------------------------------------------------------------------------------- /app/assets/pokemon/111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/111.png -------------------------------------------------------------------------------- /app/assets/pokemon/112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/112.png -------------------------------------------------------------------------------- /app/assets/pokemon/113.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/113.png -------------------------------------------------------------------------------- /app/assets/pokemon/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/114.png -------------------------------------------------------------------------------- /app/assets/pokemon/115.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/115.png -------------------------------------------------------------------------------- /app/assets/pokemon/116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/116.png -------------------------------------------------------------------------------- /app/assets/pokemon/117.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/117.png -------------------------------------------------------------------------------- /app/assets/pokemon/118.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/118.png -------------------------------------------------------------------------------- /app/assets/pokemon/119.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/119.png -------------------------------------------------------------------------------- /app/assets/pokemon/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/12.png -------------------------------------------------------------------------------- /app/assets/pokemon/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/120.png -------------------------------------------------------------------------------- /app/assets/pokemon/121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/121.png -------------------------------------------------------------------------------- /app/assets/pokemon/122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/122.png -------------------------------------------------------------------------------- /app/assets/pokemon/123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/123.png -------------------------------------------------------------------------------- /app/assets/pokemon/124.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/124.png -------------------------------------------------------------------------------- /app/assets/pokemon/125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/125.png -------------------------------------------------------------------------------- /app/assets/pokemon/126.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/126.png -------------------------------------------------------------------------------- /app/assets/pokemon/127.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/127.png -------------------------------------------------------------------------------- /app/assets/pokemon/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/128.png -------------------------------------------------------------------------------- /app/assets/pokemon/129.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/129.png -------------------------------------------------------------------------------- /app/assets/pokemon/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/13.png -------------------------------------------------------------------------------- /app/assets/pokemon/130.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/130.png -------------------------------------------------------------------------------- /app/assets/pokemon/131.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/131.png -------------------------------------------------------------------------------- /app/assets/pokemon/132.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/132.png -------------------------------------------------------------------------------- /app/assets/pokemon/133.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/133.png -------------------------------------------------------------------------------- /app/assets/pokemon/134.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/134.png -------------------------------------------------------------------------------- /app/assets/pokemon/135.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/135.png -------------------------------------------------------------------------------- /app/assets/pokemon/136.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/136.png -------------------------------------------------------------------------------- /app/assets/pokemon/137.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/137.png -------------------------------------------------------------------------------- /app/assets/pokemon/138.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/138.png -------------------------------------------------------------------------------- /app/assets/pokemon/139.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/139.png -------------------------------------------------------------------------------- /app/assets/pokemon/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/14.png -------------------------------------------------------------------------------- /app/assets/pokemon/140.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/140.png -------------------------------------------------------------------------------- /app/assets/pokemon/141.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/141.png -------------------------------------------------------------------------------- /app/assets/pokemon/142.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/142.png -------------------------------------------------------------------------------- /app/assets/pokemon/143.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/143.png -------------------------------------------------------------------------------- /app/assets/pokemon/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/144.png -------------------------------------------------------------------------------- /app/assets/pokemon/145.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/145.png -------------------------------------------------------------------------------- /app/assets/pokemon/146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/146.png -------------------------------------------------------------------------------- /app/assets/pokemon/147.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/147.png -------------------------------------------------------------------------------- /app/assets/pokemon/148.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/148.png -------------------------------------------------------------------------------- /app/assets/pokemon/149.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/149.png -------------------------------------------------------------------------------- /app/assets/pokemon/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/15.png -------------------------------------------------------------------------------- /app/assets/pokemon/150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/150.png -------------------------------------------------------------------------------- /app/assets/pokemon/151.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/151.png -------------------------------------------------------------------------------- /app/assets/pokemon/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/16.png -------------------------------------------------------------------------------- /app/assets/pokemon/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/17.png -------------------------------------------------------------------------------- /app/assets/pokemon/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/18.png -------------------------------------------------------------------------------- /app/assets/pokemon/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/19.png -------------------------------------------------------------------------------- /app/assets/pokemon/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/2.png -------------------------------------------------------------------------------- /app/assets/pokemon/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/20.png -------------------------------------------------------------------------------- /app/assets/pokemon/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/21.png -------------------------------------------------------------------------------- /app/assets/pokemon/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/22.png -------------------------------------------------------------------------------- /app/assets/pokemon/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/23.png -------------------------------------------------------------------------------- /app/assets/pokemon/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/24.png -------------------------------------------------------------------------------- /app/assets/pokemon/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/25.png -------------------------------------------------------------------------------- /app/assets/pokemon/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/26.png -------------------------------------------------------------------------------- /app/assets/pokemon/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/27.png -------------------------------------------------------------------------------- /app/assets/pokemon/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/28.png -------------------------------------------------------------------------------- /app/assets/pokemon/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/29.png -------------------------------------------------------------------------------- /app/assets/pokemon/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/3.png -------------------------------------------------------------------------------- /app/assets/pokemon/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/30.png -------------------------------------------------------------------------------- /app/assets/pokemon/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/31.png -------------------------------------------------------------------------------- /app/assets/pokemon/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/32.png -------------------------------------------------------------------------------- /app/assets/pokemon/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/33.png -------------------------------------------------------------------------------- /app/assets/pokemon/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/34.png -------------------------------------------------------------------------------- /app/assets/pokemon/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/35.png -------------------------------------------------------------------------------- /app/assets/pokemon/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/36.png -------------------------------------------------------------------------------- /app/assets/pokemon/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/37.png -------------------------------------------------------------------------------- /app/assets/pokemon/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/38.png -------------------------------------------------------------------------------- /app/assets/pokemon/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/39.png -------------------------------------------------------------------------------- /app/assets/pokemon/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/4.png -------------------------------------------------------------------------------- /app/assets/pokemon/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/40.png -------------------------------------------------------------------------------- /app/assets/pokemon/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/41.png -------------------------------------------------------------------------------- /app/assets/pokemon/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/42.png -------------------------------------------------------------------------------- /app/assets/pokemon/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/43.png -------------------------------------------------------------------------------- /app/assets/pokemon/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/44.png -------------------------------------------------------------------------------- /app/assets/pokemon/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/45.png -------------------------------------------------------------------------------- /app/assets/pokemon/46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/46.png -------------------------------------------------------------------------------- /app/assets/pokemon/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/47.png -------------------------------------------------------------------------------- /app/assets/pokemon/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/48.png -------------------------------------------------------------------------------- /app/assets/pokemon/49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/49.png -------------------------------------------------------------------------------- /app/assets/pokemon/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/5.png -------------------------------------------------------------------------------- /app/assets/pokemon/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/50.png -------------------------------------------------------------------------------- /app/assets/pokemon/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/51.png -------------------------------------------------------------------------------- /app/assets/pokemon/52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/52.png -------------------------------------------------------------------------------- /app/assets/pokemon/53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/53.png -------------------------------------------------------------------------------- /app/assets/pokemon/54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/54.png -------------------------------------------------------------------------------- /app/assets/pokemon/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/55.png -------------------------------------------------------------------------------- /app/assets/pokemon/56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/56.png -------------------------------------------------------------------------------- /app/assets/pokemon/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/57.png -------------------------------------------------------------------------------- /app/assets/pokemon/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/58.png -------------------------------------------------------------------------------- /app/assets/pokemon/59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/59.png -------------------------------------------------------------------------------- /app/assets/pokemon/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/6.png -------------------------------------------------------------------------------- /app/assets/pokemon/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/60.png -------------------------------------------------------------------------------- /app/assets/pokemon/61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/61.png -------------------------------------------------------------------------------- /app/assets/pokemon/62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/62.png -------------------------------------------------------------------------------- /app/assets/pokemon/63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/63.png -------------------------------------------------------------------------------- /app/assets/pokemon/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/64.png -------------------------------------------------------------------------------- /app/assets/pokemon/65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/65.png -------------------------------------------------------------------------------- /app/assets/pokemon/66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/66.png -------------------------------------------------------------------------------- /app/assets/pokemon/67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/67.png -------------------------------------------------------------------------------- /app/assets/pokemon/68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/68.png -------------------------------------------------------------------------------- /app/assets/pokemon/69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/69.png -------------------------------------------------------------------------------- /app/assets/pokemon/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/7.png -------------------------------------------------------------------------------- /app/assets/pokemon/70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/70.png -------------------------------------------------------------------------------- /app/assets/pokemon/71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/71.png -------------------------------------------------------------------------------- /app/assets/pokemon/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/72.png -------------------------------------------------------------------------------- /app/assets/pokemon/73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/73.png -------------------------------------------------------------------------------- /app/assets/pokemon/74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/74.png -------------------------------------------------------------------------------- /app/assets/pokemon/75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/75.png -------------------------------------------------------------------------------- /app/assets/pokemon/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/76.png -------------------------------------------------------------------------------- /app/assets/pokemon/77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/77.png -------------------------------------------------------------------------------- /app/assets/pokemon/78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/78.png -------------------------------------------------------------------------------- /app/assets/pokemon/79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/79.png -------------------------------------------------------------------------------- /app/assets/pokemon/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/8.png -------------------------------------------------------------------------------- /app/assets/pokemon/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/80.png -------------------------------------------------------------------------------- /app/assets/pokemon/81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/81.png -------------------------------------------------------------------------------- /app/assets/pokemon/82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/82.png -------------------------------------------------------------------------------- /app/assets/pokemon/83.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/83.png -------------------------------------------------------------------------------- /app/assets/pokemon/84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/84.png -------------------------------------------------------------------------------- /app/assets/pokemon/85.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/85.png -------------------------------------------------------------------------------- /app/assets/pokemon/86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/86.png -------------------------------------------------------------------------------- /app/assets/pokemon/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/87.png -------------------------------------------------------------------------------- /app/assets/pokemon/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/88.png -------------------------------------------------------------------------------- /app/assets/pokemon/89.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/89.png -------------------------------------------------------------------------------- /app/assets/pokemon/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/9.png -------------------------------------------------------------------------------- /app/assets/pokemon/90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/90.png -------------------------------------------------------------------------------- /app/assets/pokemon/91.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/91.png -------------------------------------------------------------------------------- /app/assets/pokemon/92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/92.png -------------------------------------------------------------------------------- /app/assets/pokemon/93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/93.png -------------------------------------------------------------------------------- /app/assets/pokemon/94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/94.png -------------------------------------------------------------------------------- /app/assets/pokemon/95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/95.png -------------------------------------------------------------------------------- /app/assets/pokemon/96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/96.png -------------------------------------------------------------------------------- /app/assets/pokemon/97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/97.png -------------------------------------------------------------------------------- /app/assets/pokemon/98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/98.png -------------------------------------------------------------------------------- /app/assets/pokemon/99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/assets/pokemon/99.png -------------------------------------------------------------------------------- /app/config.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Pokemon Bot Visualizer - Config 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 57 | 58 | 59 | 60 |
61 |
62 |
63 |

Visualizer Config

64 |
65 |
66 |
Display
67 |
68 |
69 | 79 | 80 |
81 |
82 |
Options
83 |
84 |
85 | 86 | 87 |
88 |
89 | 90 | 91 |
92 |
93 | 94 | 95 |
96 |
97 |
98 |
99 |
Bot
100 |
101 |
102 | 103 | 104 |
105 |
106 | Save 107 | Cancel 108 |
109 |
110 |
111 |
112 |
113 | 114 | 115 | -------------------------------------------------------------------------------- /app/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/app/favicon.png -------------------------------------------------------------------------------- /app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Pokemon Bot Visualizer 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
Connecting to the bot...
51 | 55 | 66 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /app/main.js: -------------------------------------------------------------------------------- 1 | // Install 2 | 3 | if(require('electron-squirrel-startup')) return; 4 | 5 | // App 6 | 7 | const electron = require('electron') 8 | const app = electron.app 9 | 10 | app.commandLine.appendSwitch('ignore-certificate-errors', 'true'); 11 | 12 | const BrowserWindow = electron.BrowserWindow 13 | 14 | let mainWindow 15 | 16 | function createWindow () { 17 | mainWindow = new BrowserWindow({width: 1200, height: 900}) 18 | 19 | if (process.argv.indexOf("--local") >= 0) { 20 | console.log("Using local version."); 21 | mainWindow.loadURL(`file://${__dirname}/index.html`); 22 | } else { 23 | mainWindow.loadURL(`http://necrovisualizer.nicontoso.eu`); 24 | } 25 | 26 | mainWindow.on('closed', function () { 27 | mainWindow = null 28 | }) 29 | } 30 | 31 | app.on('ready', createWindow) 32 | 33 | app.on('window-all-closed', function () { 34 | if (process.platform !== 'darwin') { 35 | app.quit() 36 | } 37 | }) 38 | 39 | app.on('activate', function () { 40 | if (mainWindow === null) { 41 | createWindow() 42 | } 43 | }) 44 | 45 | -------------------------------------------------------------------------------- /app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "necrobotvisualizer", 3 | "version": "1.1.0", 4 | "description": "Pokemon Bot Visualizer", 5 | "author": "Nicolas Schmitt", 6 | "main": "main.js", 7 | "dependencies": { 8 | "electron-squirrel-startup": "^1.0.0" 9 | } 10 | } -------------------------------------------------------------------------------- /app/scripts/analytics.js: -------------------------------------------------------------------------------- 1 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 2 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 3 | m=s.getElementsByTagName(o)[0];a.async=1;a.src='https://www.google-analytics.com/analytics.js';m.parentNode.insertBefore(a,m) 4 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 5 | 6 | try { 7 | if (typeof require === 'function') { 8 | // electron 9 | ga('create', 'UA-81497637-1', 'auto', { 10 | 'storage': 'none', 11 | 'clientId': localStorage.getItem('ga:clientId') 12 | }); 13 | 14 | ga(function(tracker) { 15 | localStorage.setItem('ga:clientId', tracker.get('clientId')); 16 | }); 17 | 18 | } else { 19 | // classic web site 20 | ga('create', 'UA-81497637-1', 'auto'); 21 | } 22 | 23 | ga('set', 'checkProtocolTask', null); 24 | ga("set", "location", "http://necrovisualizer.nicontoso.eu"); 25 | ga('send', 'pageview'); 26 | ga("send", "event", "version", document.title, document.title); 27 | } catch (err) { 28 | window.ga = function(){}; 29 | } -------------------------------------------------------------------------------- /app/scripts/app.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var global = { 3 | storage: { 4 | items: 350, 5 | pokemon: 250 6 | }, 7 | snipping: false 8 | }; 9 | window.global = global; 10 | 11 | global.config = window.configService.load(); 12 | global.version = global.config.version; 13 | 14 | document.title += " - " + global.version; 15 | 16 | var wssend = function(obj) { 17 | var data = typeof(obj) != "object" ? obj : JSON.stringify(obj); 18 | global.ws.send(data); 19 | }; 20 | 21 | function confirmAndSendToServer(msg, callback) { 22 | if (!global.config.noConfirm) { 23 | vex.dialog.confirm({ 24 | message: msg, 25 | callback: (value) => { if(value) callback(); } 26 | }); 27 | } else { 28 | callback(); 29 | } 30 | } 31 | 32 | $(function() { 33 | var sortBy = localStorage.getItem("sortPokemonBy") || "cp"; 34 | $("#sortBy" + sortBy).addClass("active").siblings().removeClass("active"); 35 | 36 | $("#pokemonLink").click( function() { 37 | if ($(".inventory").css("opacity") == "1" && $(".inventory .data .pokemon").length) { 38 | $(".inventory").removeClass("active"); 39 | } else { 40 | wssend("PokemonList"); 41 | } 42 | }); 43 | $("#eggsLink").click( function() { 44 | if ($(".inventory").css("opacity") == "1" && $(".inventory .data .egg").length) { 45 | $(".inventory").removeClass("active"); 46 | } else { 47 | wssend("EggsList"); 48 | } 49 | }); 50 | $("#inventoryLink").click( function() { 51 | if ($(".inventory").css("opacity") == "1" && $(".inventory .data .item").length) { 52 | $(".inventory").removeClass("active"); 53 | } else { 54 | wssend("InventoryList"); 55 | } 56 | }); 57 | 58 | $("#sortBypokemonId").click(() => global.map.displayPokemonList(null, "pokemonId")); 59 | $("#sortBycp").click(() => global.map.displayPokemonList(null, "cp")); 60 | $("#sortByiv").click(() => global.map.displayPokemonList(null, "iv")); 61 | 62 | $("#sortBypokemonId, #sortBycp, #sortByiv").click( function() { 63 | if(!$(this).hasClass("active")) { 64 | $(this).toggleClass("active").siblings().removeClass("active"); 65 | } 66 | }); 67 | 68 | $(".inventory .refresh").click(function() { 69 | console.log("Refresh"); 70 | wssend(global.active[0].toUpperCase() + global.active.substring(1) + "List"); 71 | }); 72 | 73 | $(".inventory .close").click(function() { 74 | $(this).parent().removeClass("active"); 75 | $(".inventory .sort").hide(); 76 | }); 77 | 78 | $(".message .close").click(function() { 79 | $(this).parent().hide(); 80 | }); 81 | 82 | $(".close").click(() => { global.active = null }); 83 | 84 | $("#recycleLink").click(() => { 85 | sessionStorage.setItem("available", false); 86 | window.location.reload(); 87 | }); 88 | 89 | $("#settingsLink").click(() => { 90 | global.map.saveContext(); 91 | window.location = "config.html"; 92 | }); 93 | 94 | $(".inventory .data").on("click", "a.transferAction", function() { 95 | var parent = $(this).parent(); 96 | var id = parent.data().id; 97 | var idx = global.map.pokemonList.findIndex(p => p.id == id); 98 | var selected = global.map.pokemonList[idx]; 99 | var left = global.map.pokemonList.filter(p => p.pokemonId == selected.pokemonId).length - 1; 100 | var name = inventoryService.getPokemonName(selected.pokemonId); 101 | var msg = `Are you sure you want to transfer this ${name}?
You will have ${left} left.`; 102 | confirmAndSendToServer(msg, () => { 103 | ga("send", "event", "transfer", name); 104 | wssend({ 105 | Command: "TransferPokemon", 106 | PokemonId: id, 107 | Data: id 108 | }); 109 | global.map.pokemonList.splice(idx, 1); 110 | parent.parent().fadeOut(); 111 | }); 112 | }); 113 | 114 | $(".inventory .data").on("click", "a.evolveAction", function() { 115 | var parent = $(this).parent(); 116 | var id = parent.data().id; 117 | var idx = global.map.pokemonList.findIndex(p => p.id == id); 118 | var selected = global.map.pokemonList[idx]; 119 | var left = global.map.pokemonList.filter(p => p.pokemonId == selected.pokemonId).length - 1; 120 | var name = inventoryService.getPokemonName(selected.pokemonId); 121 | var msg = `Are you sure you want to evolve this ${name}?
You will have ${left} left.`; 122 | confirmAndSendToServer(msg, () => { 123 | ga("send", "event", "evolve", name); 124 | wssend({ 125 | Command: "EvolvePokemon", 126 | PokemonId: id, 127 | Data: id 128 | }); 129 | global.map.pokemonList.splice(idx, 1); 130 | parent.parent().fadeOut(); 131 | }); 132 | }); 133 | 134 | $(".inventory .data").on("click", "a.favoriteAction", function() { 135 | var parent = $(this).parent(); 136 | var id = parent.data().id; 137 | var idx = global.map.pokemonList.findIndex(p => p.id == id); 138 | var selected = global.map.pokemonList[idx]; 139 | selected.favorite = !selected.favorite; 140 | var name = inventoryService.getPokemonName(selected.pokemonId); 141 | ga("send", "event", "favorite", name); 142 | $(this).find("img").attr('src', `./assets/img/favorite_${selected.favorite ? 'set' : 'unset'}.png`); 143 | parent.find(".transferAction").toggleClass("hide"); 144 | wssend({ 145 | Command: "FavoritePokemon", 146 | PokemonId: id, 147 | Favorite: selected.favorite 148 | }); 149 | }); 150 | 151 | $(".inventory .data").on("click", "a.dropItemAction", function() { 152 | var parent = $(this).parent(); 153 | var itemId = parent.data().id; 154 | var name = inventoryService.getItemName(itemId) 155 | var count = parent.data().count; 156 | var msg = `How many ${name} would you like to drop?`; 157 | vex.dialog.confirm({ 158 | message: msg, 159 | input: ` 160 |

161 | 162 |

163 | Drop: 1 164 | `, 165 | callback: (value) => { 166 | if(value) { 167 | var drop = parseInt(value.count); 168 | ga("send", "event", "drop_items", name); 169 | wssend({ 170 | Command: "DropItem", 171 | ItemId: itemId, 172 | Count: drop 173 | }); 174 | if (count == drop) { 175 | parent.parent().fadeOut(); 176 | } else { 177 | parent.data("count", count - drop); 178 | parent.parent().find(".count").text("x" + (count - drop)); 179 | } 180 | } 181 | } 182 | }); 183 | }); 184 | 185 | $(".player").on("pogo:player_update", () => { 186 | if (global.player) { 187 | var player = $(".player"); 188 | player.find(".playername .value").text(global.user); 189 | player.find(".level .value").text(global.player.level); 190 | var percent = 100*(global.player.experience - global.player.prev_level_xp)/(global.player.next_level_xp - global.player.prev_level_xp); 191 | player.find(".myprogress .value").css("width", `${percent.toFixed(0)}%`); 192 | player.show(); 193 | } 194 | }); 195 | 196 | if (global.config.websocket) { 197 | // settings ok, let's go 198 | global.map = new Map("map"); 199 | global.map.loadContext(); 200 | startListenToSocket(); 201 | } else { 202 | // no settings, first time run? 203 | window.location = "config.html"; 204 | } 205 | }); 206 | 207 | }()); -------------------------------------------------------------------------------- /app/scripts/checkversion.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | function cmpVersions (a, b) { 4 | a = a.replace(/[a-z]/g, ""); 5 | b = b.replace(/[a-z]/g, ""); 6 | var i, diff; 7 | var regExStrip0 = /(\.0+)+$/; 8 | var segmentsA = a.replace(regExStrip0, '').split('.'); 9 | var segmentsB = b.replace(regExStrip0, '').split('.'); 10 | var l = Math.min(segmentsA.length, segmentsB.length); 11 | 12 | for (i = 0; i < l; i++) { 13 | diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10); 14 | if (diff) { 15 | return diff; 16 | } 17 | } 18 | return segmentsA.length - segmentsB.length; 19 | } 20 | 21 | function check() { 22 | try { 23 | var api = "https://api.github.com/repos/nicoschmitt/necrobotvisualizer/releases"; 24 | $.getJSON(api, (data) => { 25 | data = data.filter(r => !r.prerelease && !r.draft); 26 | var ver = data[0].name; 27 | var url = data[0].html_url; 28 | if (cmpVersions(ver, global.version) > 0) { 29 | console.log("New version available: " + ver); 30 | $(".message .data").html(`
New version available. Check on GitHub to download it. Here
`); 31 | $(".message").show(); 32 | } 33 | }); 34 | } catch(err) { 35 | console.log(err); 36 | } 37 | } 38 | 39 | check(); 40 | 41 | }); -------------------------------------------------------------------------------- /app/scripts/config.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | function getURLParameter(sParam) { 4 | var sPageURL = window.location.search.substring(1); 5 | var sURLVariables = sPageURL.split('&'); 6 | for (var i = 0; i < sURLVariables.length; i++) 7 | { 8 | var sParameterName = sURLVariables[i].split('='); 9 | if (sParameterName[0] == sParam) 10 | { 11 | return sParameterName[1]; 12 | } 13 | } 14 | } 15 | 16 | var defaultConfig = { 17 | locale: "en", 18 | websocket: "wss://localhost:14251", 19 | followPlayer: false, 20 | noPopup: false, 21 | noConfirm: false, 22 | memory: { 23 | limit: false, 24 | maxCaught: 50, 25 | mathPath: 10000, 26 | maxPokestops: 250 27 | }, 28 | version: "online" 29 | }; 30 | 31 | var service = {}; 32 | 33 | if (typeof require === 'function') { 34 | console.log("Load config from disk"); 35 | 36 | var path = require("path"); 37 | var fs = require("fs"); 38 | var { remote } = require("electron"); 39 | 40 | var configfile = path.join(remote.app.getPath("userData"), "settings.json"); 41 | 42 | $.ajax({ 43 | url: `package.json`, 44 | async: false, 45 | success: (result) => { 46 | result = (typeof result == "string" ? JSON.parse(result) : result); 47 | version = "v" + result.version; 48 | } 49 | }); 50 | 51 | service.save = function(config) { 52 | fs.writeFileSync(configfile, JSON.stringify(config)); 53 | } 54 | 55 | service.load = function() { 56 | var config = Object.assign({}, defaultConfig); 57 | try { 58 | config = JSON.parse(fs.readFileSync(configfile, 'utf-8')); 59 | config = Object.assign({}, defaultConfig, config); 60 | config.version = version; 61 | } catch(err) { 62 | configService.save(defaultConfig); 63 | config = Object.assign({}, defaultConfig); 64 | } 65 | 66 | return config; 67 | } 68 | 69 | } else { 70 | console.log("Load config from storage"); 71 | defaultConfig.websocket = "ws://localhost:14252"; 72 | 73 | service.load = function() { 74 | var config = Object.assign({}, defaultConfig); 75 | var json = localStorage.getItem("config"); 76 | if (json) Object.assign(config, JSON.parse(json)); 77 | 78 | var host = getURLParameter("websocket"); 79 | if (host) config.websocket = host; 80 | 81 | // no ui, so force memory settings 82 | config.memory = defaultConfig.memory; 83 | 84 | return config; 85 | } 86 | 87 | service.save = function(config) { 88 | localStorage.setItem("config", JSON.stringify(config)); 89 | } 90 | } 91 | 92 | window.configService = service; 93 | 94 | }()); -------------------------------------------------------------------------------- /app/scripts/inventory.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var allPokemon = null; 3 | var allItems = null; 4 | 5 | function load(locale) { 6 | locale = locale || "en"; 7 | $.ajax({ 8 | url: `assets/json/pokemon.${locale}.json`, 9 | async: false, 10 | success: (result) => { allPokemon = (typeof result == "string" ? JSON.parse(result) : result); } 11 | }); 12 | $.ajax({ 13 | url: `assets/json/inventory.${locale}.json`, 14 | async: false, 15 | success: (result) => { allItems = (typeof result == "string" ? JSON.parse(result) : result); } 16 | }); 17 | } 18 | 19 | var service = {}; 20 | 21 | service.init = function(locale) { 22 | if (allItems == null) load(locale); 23 | } 24 | 25 | service.getPokemonName = function(id) { 26 | return allPokemon[id]; 27 | } 28 | 29 | service.getItemName = function(id) { 30 | return allItems[id]; 31 | } 32 | 33 | const lvlMap = {93:1, 94:1, 135:1.5, 166:2, 192:2.5, 215:3, 236: 3.5, 255: 4, 273: 4.5, 290:5, 34 | 306:5.5, 321:6, 335:6.5, 349:7, 362:7.5, 375:8, 387:8.5, 399:9, 411:9.5, 422:10, 35 | 432:10.5, 443:11, 453:11.5, 462:12, 472:12.5, 481:13, 490:13.5, 499:14, 508:14.5, 36 | 517:15, 525:15.5, 534:16, 542:16.5, 550:17, 558:17.5, 566:18, 574:18.5, 582: 19, 37 | 589:19.5, 597:20, 604:20.5, 612:21, 619:21.5, 626:22, 633: 22.5, 640:23, 647:23.5, 38 | 654:24, 661:24.5, 667:25, 674:25.5, 681:26, 687:26.5, 694:27, 700:27.5, 706:28, 39 | 713:28.5, 719:29, 725:29.5, 731:30, 734:30.5, 737:31, 740:31.5, 743:32, 746:32.5, 40 | 749:33, 752:33.5, 755:34, 758:34.5, 761:35, 764:35.5, 767:36, 770:36.5, 773:37, 41 | 776: 37.5, 778:38, 781:38.5, 784:39, 790:40}; 42 | service.getPokemonLevel = function(pokemon) { 43 | var p = (pokemon.CpMultiplier + pokemon.AdditionalCpMultiplier)*1000; 44 | return lvlMap[p|0]; 45 | } 46 | 47 | window.inventoryService = service; 48 | }()); -------------------------------------------------------------------------------- /app/scripts/map.js: -------------------------------------------------------------------------------- 1 | 2 | var Map = function(parentDiv) { 3 | var osm = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'); 4 | 5 | var osmCycle = L.tileLayer('http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png'); 6 | var osmCycleTransport = L.tileLayer('http://{s}.tile2.opencyclemap.org/transport/{z}/{x}/{y}.png'); 7 | var toner = L.tileLayer('http://{s}.tile.stamen.com/toner/{z}/{x}/{y}.png'); 8 | var watercolor = L.tileLayer('http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg'); 9 | 10 | this.layerPokestops = new L.LayerGroup(); 11 | this.layerCatches = L.markerClusterGroup({ maxClusterRadius: 30 }); 12 | this.layerPath = new L.LayerGroup(); 13 | 14 | this.map = L.map(parentDiv, { 15 | layers: [osm, this.layerPokestops, this.layerCatches, this.layerPath] 16 | }); 17 | 18 | var baseLayers = { 19 | "OpenStreetMap": osm, 20 | "OpenCycleMap": osmCycle, 21 | "OpenCycleMap Transport": osmCycleTransport, 22 | "Toner": toner, 23 | "Watercolor": watercolor, 24 | }; 25 | var overlays = { 26 | "Path": this.layerPath, 27 | "Pokestops": this.layerPokestops, 28 | "Catches": this.layerCatches 29 | }; 30 | 31 | // save selected base map on click 32 | L.control.layers(baseLayers, overlays).addTo(this.map); 33 | this.map.on('baselayerchange', (function(ev) { 34 | let name = ev.name; 35 | localStorage.setItem("layer", name); 36 | }).bind(this)); 37 | 38 | // restore saved base map 39 | var base = localStorage.getItem("layer"); 40 | if (base) { 41 | $(`.leaflet-control-layers-base span:contains('${base}')`).first().prev().click(); 42 | } 43 | 44 | this.map.on('singleclick', (function(ev) { this.setDestination(ev.latlng) }).bind(this)); 45 | 46 | this.path = null; 47 | this.route = null; 48 | this.destination = null; 49 | 50 | this.steps = []; 51 | this.catches = []; 52 | this.pokestops = []; 53 | this.pokemonList = []; 54 | }; 55 | 56 | Map.prototype.saveContext = function() { 57 | var stops = Array.from(this.pokestops, p => { 58 | return { 59 | id: p.id, 60 | lat: p.lat, 61 | lng: p.lng, 62 | visited: p.visited 63 | } 64 | }); 65 | 66 | sessionStorage.setItem("available", true); 67 | sessionStorage.setItem("steps", JSON.stringify(this.steps)); 68 | sessionStorage.setItem("catches", JSON.stringify(this.catches)); 69 | sessionStorage.setItem("pokestops", JSON.stringify(stops)); 70 | } 71 | 72 | Map.prototype.loadContext = function() { 73 | try { 74 | if (sessionStorage.getItem("available") == "true") { 75 | console.log("Load data from storage to restore session"); 76 | 77 | this.steps = JSON.parse(sessionStorage.getItem("steps")) || []; 78 | this.catches = JSON.parse(sessionStorage.getItem("catches")) || []; 79 | this.pokestops = JSON.parse(sessionStorage.getItem("pokestops")) || []; 80 | 81 | if (this.steps.length > 0) this.initPath(); 82 | 83 | this.initPokestops(); 84 | this.initCatches(); 85 | 86 | sessionStorage.setItem("available", false); 87 | } 88 | } catch(err) { console.log(err); } 89 | } 90 | 91 | Map.prototype.initPath = function() { 92 | if (this.path != null) return true; 93 | 94 | if (!this.me) { 95 | var last = this.steps[this.steps.length - 1]; 96 | this.map.setView([last.lat, last.lng], 16); 97 | this.me = L.marker([last.lat, last.lng], { zIndexOffset: 200 }).addTo(this.map).bindPopup(`${last.lat.toFixed(4)},${last.lng.toFixed(4)}`); 98 | $(".loading").hide(); 99 | } 100 | 101 | if (this.steps.length >= 2) { 102 | var pts = Array.from(this.steps, pt => L.latLng(pt.lat, pt.lng)); 103 | this.path = L.polyline(pts, { color: 'red' }).addTo(this.layerPath); 104 | return true; 105 | } 106 | 107 | return false; 108 | } 109 | 110 | Map.prototype.initCatches = function() { 111 | for (var i = 0; i < this.catches.length; i++) { 112 | var pt = this.catches[i]; 113 | var icon = L.icon({ iconUrl: `./assets/pokemon/${pt.id}.png`, iconSize: [60, 60], iconAnchor: [30, 30]}); 114 | var pkm = `${pt.name}
Cp:${pt.cp} Iv:${pt.iv}%`; 115 | if (pt.lvl) { 116 | pkm = `${pt.name} (lvl ${pt.lvl})
Cp:${pt.cp} Iv:${pt.iv}%`; 117 | } 118 | L.marker([pt.lat, pt.lng], {icon: icon, zIndexOffset: 100}).bindPopup(pkm).addTo(this.layerCatches); 119 | } 120 | } 121 | 122 | Map.prototype.initPokestops = function() { 123 | for (var i = 0; i < this.pokestops.length; i++) { 124 | var pt = this.pokestops[i]; 125 | var iconurl = pt.visited ? `./assets/img/pokestop_visited.png` : `./assets/img/pokestop_available.png`; 126 | var icon = L.icon({ iconUrl: iconurl, iconSize: [40, 40], iconAnchor: [20, 20]}); 127 | pt.marker = L.marker([pt.lat, pt.lng], {icon: icon, zIndexOffset: 50}).bindPopup(pt.name).addTo(this.layerPokestops); 128 | } 129 | } 130 | 131 | Map.prototype.addToPath = function(pt) { 132 | this.steps.push(pt); 133 | if (global.config.memory.limit && this.steps.length > global.config.memory.mathPath) { 134 | this.layerPath.clearLayers(); 135 | this.path = null; 136 | var max = Math.floor(global.config.memory.mathPath * 0.7); 137 | this.steps = this.steps.slice(-max); 138 | } 139 | if (this.initPath()) { 140 | var latLng = L.latLng(pt.lat, pt.lng); 141 | this.path.addLatLng(latLng); 142 | this.me.setLatLng(latLng).getPopup().setContent(`${pt.lat.toFixed(4)},${pt.lng.toFixed(4)}`); 143 | if (global.config.followPlayer) { 144 | this.map.panTo(latLng, { animate: true }); 145 | } 146 | } 147 | } 148 | 149 | Map.prototype.addCatch = function(pt) { 150 | if (!pt.lat) { 151 | if (this.steps.length <= 0) return; 152 | var last = this.steps[this.steps.length - 1]; 153 | pt.lat = last.lat; 154 | pt.lng = last.lng; 155 | } 156 | 157 | var pkm = `${pt.name}
CP:${pt.cp} IV:${pt.iv}%`; 158 | if (pt.lvl) { 159 | pkm = `${pt.name} (lvl ${pt.lvl})
Cp:${pt.cp} Iv:${pt.iv}%`; 160 | } 161 | 162 | this.catches.push(pt); 163 | 164 | if (global.config.memory.limit && this.catches.length > global.config.memory.maxCaught) { 165 | console.log("Clean catches"); 166 | var max = Math.floor(global.config.memory.maxCaught * 0.7); 167 | this.catches = this.catches.slice(-max); 168 | this.layerCatches.clearLayers(); 169 | this.initCatches(); 170 | } else { 171 | var icon = L.icon({ iconUrl: `./assets/pokemon/${pt.id}.png`, iconSize: [60, 60], iconAnchor: [30, 30] }); 172 | L.marker([pt.lat, pt.lng], {icon: icon, zIndexOffset: 100 }).bindPopup(pkm).addTo(this.layerCatches); 173 | } 174 | } 175 | 176 | Map.prototype.addVisitedPokestop = function(pt) { 177 | if (!pt.lat) return; 178 | 179 | var ps = this.pokestops.find(ps => ps.id == pt.id); 180 | if (!ps) { 181 | this.pokestops.push(pt); 182 | ps = pt; 183 | var icon = L.icon({ iconUrl: `./assets/img/pokestop_cooldown.png`, iconSize: [40, 40], iconAnchor: [20, 20] }); 184 | pt.marker = L.marker([pt.lat, pt.lng], {icon: icon, zIndexOffset: 50}).addTo(this.layerPokestops); 185 | } else { 186 | Object.assign(ps, pt); 187 | } 188 | 189 | ps.visited = true; 190 | if (ps && ps.marker) { 191 | ps.marker.setIcon(L.icon({ iconUrl: `./assets/img/pokestop_cooldown.png`, iconSize: [40, 40], iconAnchor: [20, 20] })); 192 | if (ps.name) ps.marker.bindPopup(ps.name); 193 | } 194 | } 195 | 196 | Map.prototype.addPokestops = function(forts) { 197 | for(var i = 0; i < forts.length; i++) { 198 | var pt = forts[i]; 199 | var ps = this.pokestops.find(ps => ps.id == pt.id); 200 | if (ps) pt = Object.assign(ps, pt); 201 | else this.pokestops.push(pt); 202 | 203 | var icon = "pokestop_available"; 204 | if (pt.cooldown && moment(pt.cooldown).isAfter()) { 205 | icon = "pokestop_cooldown"; 206 | } else if (pt.lureExpire && moment(pt.lureExpire).isAfter()) { 207 | icon = "pokestop_lure"; 208 | } else if (pt.visited) { 209 | icon = "pokestop_visited"; 210 | } 211 | 212 | if (!pt.marker) { 213 | var icon = L.icon({ iconUrl: `./assets/img/${icon}.png`, iconSize: [40, 40], iconAnchor: [20, 20] }); 214 | pt.marker = L.marker([pt.lat, pt.lng], {icon: icon, zIndexOffset: 50}).addTo(this.layerPokestops); 215 | } else { 216 | pt.marker.setIcon(L.icon({ iconUrl: `./assets/img/${icon}.png`, iconSize: [40, 40], iconAnchor: [20, 20] })); 217 | } 218 | } 219 | 220 | if (global.config.memory.limit && this.pokestops.length > global.config.memory.maxPokestops) { 221 | // to much pokestops, remove some starting with unvisited ones 222 | } 223 | } 224 | 225 | Map.prototype.updatePokestopsStatus = function() { 226 | this.pokestops.forEach(pt => { 227 | var needUpdate = false; 228 | if (pt.cooldown && moment(pt.cooldown).isBefore()) { 229 | pt.cooldown = null; 230 | needUpdate = true; 231 | } else if (pt.lureExpire && moment(pt.lureExpire).isBefore()) { 232 | pt.lureExpire = null; 233 | needUpdate = true; 234 | } 235 | 236 | if (needUpdate) { 237 | var icon = "pokestop_available"; 238 | if (pt.cooldown && moment(pt.cooldown).isAfter()) { 239 | icon = "pokestop_cooldown"; 240 | } else if (pt.lureExpire && moment(pt.lureExpire).isAfter()) { 241 | icon = "pokestop_lure"; 242 | } else if (pt.visited) { 243 | icon = "pokestop_visited"; 244 | } 245 | pt.marker.setIcon(L.icon({ iconUrl: `./assets/img/${icon}.png`, iconSize: [40, 40], iconAnchor: [20, 20] })); 246 | } 247 | }); 248 | } 249 | 250 | Map.prototype.setRoute = function(route) { 251 | var points = Array.from(route, pt => L.latLng(pt.lat, pt.lng)); 252 | if (this.route != null) { 253 | this.route.setLatLngs(points); 254 | } else { 255 | this.route = L.polyline(points, { dashArray: "5, 5", color: 'red', opacity: 0.4 }).addTo(this.layerPath); 256 | } 257 | 258 | } 259 | 260 | Map.prototype.displayPokemonList = function(all, sortBy, eggs) { 261 | console.log("Pokemon list"); 262 | global.active = "pokemon"; 263 | this.pokemonList = all || this.pokemonList; 264 | this.eggsCount = (eggs || this.eggsCount) || 0; 265 | if (!sortBy) { 266 | sortBy = localStorage.getItem("sortPokemonBy") || "cp"; 267 | } else { 268 | localStorage.setItem("sortPokemonBy", sortBy); 269 | } 270 | 271 | if (sortBy == "pokemonId") { 272 | this.pokemonList = this.pokemonList.sort((p1, p2) => { 273 | if (p1[sortBy] != p2[sortBy]) { 274 | return p1[sortBy] - p2[sortBy]; 275 | } 276 | var sort2 = p2["cp"] != p1["cp"] ? "cp" : "iv"; 277 | return p2[sort2] - p1[sort2]; 278 | }); 279 | } else { 280 | this.pokemonList = this.pokemonList.sort((p1, p2) => { 281 | if (p1[sortBy] != p2[sortBy]) { 282 | return p2[sortBy] - p1[sortBy]; 283 | } else if (p1["pokemonId"] != p2["pokemonId"]) { 284 | return p1["pokemonId"] - p2["pokemonId"]; 285 | } else { 286 | var sort2 = (sortBy == "cp") ? "iv" : "cp"; 287 | return p2[sort2] - p1[sort2]; 288 | } 289 | }); 290 | } 291 | 292 | var total = this.eggsCount + this.pokemonList.length; 293 | $(".inventory .numberinfo").text(`${total}/${global.storage.pokemon}`); 294 | var div = $(".inventory .data"); 295 | div.html(``); 296 | this.pokemonList.forEach(function(elt) { 297 | var canEvolve = elt.canEvolve && !elt.inGym && elt.candy >= elt.candyToEvolve; 298 | var evolveStyle = canEvolve ? "" : "hide"; 299 | var evolveClass = canEvolve ? "canEvolve" : ""; 300 | var transferClass = elt.favorite ? "hide" : ""; 301 | var candyStyle = elt.canEvolve ? "" : "style='display:none'"; 302 | var fav = elt.favorite ? "set" : "unset"; 303 | div.append(` 304 |
305 |
306 | 307 | 308 | 309 |
310 | 311 | ${elt.name} lvl ${elt.lvl} 312 | CP: ${elt.cp} IV: ${elt.iv}% 313 | Candy: ${elt.candy}/${elt.candyToEvolve} 314 |
315 | `); 316 | }); 317 | $(".pokemonsort").show(); 318 | $(".inventory").show().addClass("active"); 319 | } 320 | 321 | Map.prototype.displayEggsList = function(eggs) { 322 | console.log("Eggs list"); 323 | global.active = "eggs"; 324 | $(".inventory .sort").hide(); 325 | $(".inventory .numberinfo").text(eggs.length + "/9"); 326 | var div = $(".inventory .data"); 327 | div.html(""); 328 | eggs.forEach(function(elt) { 329 | if (elt) { 330 | div.append(` 331 |
332 | 333 | ${elt.doneDist.toFixed(1)} / ${elt.totalDist.toFixed(1)} km 334 |
335 | `); 336 | } 337 | }); 338 | $(".inventory").show().addClass("active"); 339 | }; 340 | 341 | Map.prototype.displayInventory = function(items) { 342 | console.log("Inventory list"); 343 | global.active = "inventory"; 344 | $(".inventory .sort").hide(); 345 | var count = items.filter(i => i.itemId != 901).reduce((prev, cur) => prev + cur.count, 0); 346 | $(".inventory .numberinfo").text(`${count}/${global.storage.items}`); 347 | var div = $(".inventory .data"); 348 | div.html(``); 349 | items.forEach(function(elt) { 350 | var dropStyle = elt.itemId == 901 ? "hide" : ""; 351 | div.append(` 352 |
353 |
354 | 355 |
356 | 357 | x${elt.count} 358 | 359 | ${elt.name} 360 |
361 | `); 362 | }); 363 | $(".inventory").show().addClass("active"); 364 | }; 365 | 366 | Map.prototype.setDestination = function(latlng) { 367 | var popup = L.popup().setLatLng(latlng) 368 | .setContent(`
${latlng.lat.toFixed(6)}, ${latlng.lng.toFixed(6)}
Go?
`) 369 | .openOn(this.map); 370 | 371 | $(".destBtn").click((function() { 372 | this.map.closePopup(popup); 373 | console.log(`Set destination: ${latlng.lat}, ${latlng.lng}`); 374 | if (this.destination) { 375 | this.layerPath.removeLayer(this.destination); 376 | } 377 | 378 | this.destination = L.marker(latlng, { zIndexOffset: 199, icon: new RedIcon() }).bindPopup(`${latlng.lat}, ${latlng.lng}`).addTo(this.layerPath); 379 | global.ws.emit("set_destination", latlng); 380 | }).bind(this)); 381 | } 382 | 383 | Map.prototype.manualDestinationReached = function() { 384 | this.layerPath.removeLayer(this.destination); 385 | this.destination = null; 386 | } 387 | 388 | // Red icon 389 | 390 | var RedIcon = L.Icon.Default.extend({ 391 | options: { 392 | iconUrl: 'assets/img/marker-icon-red.png' 393 | } 394 | }); 395 | 396 | // Fix zindex for groups 397 | 398 | L.MarkerCluster.prototype.true_initialize = L.MarkerCluster.prototype.initialize; 399 | L.MarkerCluster.prototype.initialize = function (group, zoom, a, b) { 400 | this.true_initialize(group, zoom, a, b); 401 | this.setZIndexOffset(200); 402 | } 403 | 404 | // Add event for single click 405 | 406 | L.Evented.addInitHook( function () { 407 | this._singleClickTimeout = null; 408 | this.on('click', this._scheduleSingleClick, this); 409 | this.on('dblclick dragstart zoomstart', this._clearSingleClickTimeout.bind(this), this); 410 | }); 411 | 412 | L.Evented.include({ 413 | _scheduleSingleClick: function(e) { 414 | this._clearSingleClickTimeout(); 415 | this._singleClickTimeout = setTimeout(this._fireSingleClick.bind(this, e), 500) 416 | }, 417 | 418 | _fireSingleClick: function(e){ 419 | if (!e.originalEvent._stopped) { 420 | this.fire('singleclick', L.Util.extend(e, { type : 'singleclick' })); 421 | } 422 | }, 423 | 424 | _clearSingleClickTimeout: function(){ 425 | if (this._singleClickTimeout != null) { 426 | clearTimeout(this._singleClickTimeout); 427 | this._singleClickTimeout = null; 428 | } 429 | } 430 | }); 431 | -------------------------------------------------------------------------------- /app/scripts/socket.js: -------------------------------------------------------------------------------- 1 | var inventory = window.inventoryService; 2 | 3 | function startListenToSocket() { 4 | inventory.init(global.config.locale); 5 | console.log("Connecting to " + global.config.websocket); 6 | listenToWebSocket(); 7 | } 8 | 9 | function listenToWebSocket() { 10 | var pkmSettings = localStorage.getItem("pokemonSettings"); 11 | if (pkmSettings) { 12 | global.pokemonSettings = JSON.parse(pkmSettings); 13 | } else { 14 | global.pokemonSettings = {}; 15 | } 16 | 17 | ws = new WebSocket(global.config.websocket); 18 | global.ws = ws; 19 | global.connected = false; 20 | ws.onclose = (evt) => { 21 | $(".loading").text("Connecting to the bot..."); 22 | setTimeout(listenToWebSocket, 1000); 23 | if (global.connected) { 24 | errorToast("Connection lost."); 25 | global.connected = false; 26 | } 27 | }; 28 | ws.onopen = () => { 29 | console.log("Connected to Bot"); 30 | global.connected = true; 31 | $(".loading").text("Waiting to get GPS coordinates from Bot..."); 32 | }; 33 | ws.onmessage = function (evt) { 34 | var msg = JSON.parse(evt.data); 35 | var command = msg.Command || msg.$type; 36 | $(".toolbar div").show(); 37 | if (command.indexOf("PokemonSettings") >= 0) { 38 | var settings = msg.Data.$values; 39 | global.pokemonSettings = Array.from(msg.Data.$values, elt => { 40 | elt.EvolutionIds = elt.EvolutionIds.$values; 41 | return elt; 42 | }) 43 | localStorage.setItem("pokemonSettings", JSON.stringify(global.pokemonSettings)); 44 | } else if (command.indexOf("ProfileEvent") >= 0) { 45 | // once connected, ask for pokemon settings 46 | var username = msg.Profile.PlayerData.Username; 47 | global.username = username; 48 | global.storage = { 49 | pokemon: msg.Profile.PlayerData.MaxPokemonStorage, 50 | items: msg.Profile.PlayerData.MaxItemStorage 51 | } 52 | document.title = `[${username}] ${document.title}`; 53 | ws.send(JSON.stringify({ Command: "GetPokemonSettings" })); 54 | } else if (command.indexOf("UpdatePositionEvent") >= 0) { 55 | if (!global.snipping) { 56 | global.map.addToPath({ 57 | lat: msg.Latitude, 58 | lng: msg.Longitude 59 | }); 60 | } 61 | } else if (command.indexOf("PokemonCaptureEvent") >= 0) { 62 | if (msg.Status = 1 && msg.Exp > 0) { 63 | var pkm = { 64 | id: msg.Id, 65 | name: inventory.getPokemonName(msg.Id), 66 | cp: msg.Cp, 67 | iv: msg.Perfection, 68 | lvl: msg.Level, 69 | lat: msg.Latitude, 70 | lng: msg.Longitude 71 | }; 72 | global.map.addCatch(pkm); 73 | pokemonToast(pkm, { ball: msg.Pokeball }); 74 | } 75 | } else if (command.indexOf("FortUsedEvent") >= 0) { 76 | //console.log(msg); 77 | if (msg.Latitude && msg.Longitude) { 78 | global.map.addVisitedPokestop({ 79 | id: msg.Id, 80 | name: msg.Name, 81 | lat: msg.Latitude, 82 | lng: msg.Longitude 83 | }); 84 | } 85 | } else if (command.indexOf("PokeStopListEvent") >= 0) { 86 | var forts = Array.from(msg.Forts.$values.filter(f => f.Type == 1), f => { 87 | return { 88 | id: f.Id, 89 | lat: f.Latitude, 90 | lng: f.Longitude 91 | } 92 | }); 93 | global.map.addPokestops(forts); 94 | } else if (command.indexOf("SnipeModeEvent") >= 0) { 95 | if (msg.Active) console.log("Sniper Mode"); 96 | global.snipping = msg.Active; 97 | } else if (command.indexOf("PokemonListEvent") >= 0) { 98 | var pkm = Array.from(msg.PokemonList.$values, p => { 99 | var pkmInfo = global.pokemonSettings[p.Item1.PokemonId - 1]; 100 | return { 101 | id: p.Item1.Id, 102 | pokemonId: p.Item1.PokemonId, 103 | inGym: p.Item1.DeployedFortId != "", 104 | canEvolve: pkmInfo && pkmInfo.EvolutionIds.length > 0, 105 | cp: p.Item1.Cp, 106 | iv: p.Item2.toFixed(1), 107 | name: p.Item1.Nickname || inventory.getPokemonName(p.Item1.PokemonId), 108 | realname: inventory.getPokemonName(p.Item1.PokemonId, "en"), 109 | candy: p.Item3, 110 | candyToEvolve: pkmInfo ? pkmInfo.CandyToEvolve : 0, 111 | favorite: p.Item1.Favorite != 0, 112 | lvl: inventory.getPokemonLevel(p.Item1), 113 | } 114 | }); 115 | global.map.displayPokemonList(pkm); 116 | } else if (command.indexOf("EggsListEvent") >= 0) { 117 | var incubators = Array.from(msg.Incubators.$values, i => { 118 | if (i.TargetKmWalked != 0 || i.StartKmWalked != 0) { 119 | msg.PlayerKmWalked = msg.PlayerKmWalked || 0; 120 | return { 121 | type: i.ItemId == 901 ? "incubator-unlimited" : "incubator", 122 | totalDist: i.TargetKmWalked - i.StartKmWalked, 123 | doneDist: msg.PlayerKmWalked - i.StartKmWalked 124 | } 125 | } 126 | }); 127 | var eggs = Array.from(msg.UnusedEggs.$values, i => { 128 | return { 129 | type: "egg", 130 | totalDist: i.EggKmWalkedTarget, 131 | doneDist: i.EggKmWalkedStart 132 | } 133 | }); 134 | eggs = incubators.concat(eggs).filter(e => e); 135 | global.map.displayEggsList(eggs); 136 | } else if (command.indexOf("InventoryListEvent") >= 0) { 137 | console.log(msg); 138 | var items = Array.from(msg.Items.$values, item => { 139 | return { 140 | name: inventory.getItemName(item.ItemId), 141 | itemId: item.ItemId, 142 | count: item.Count, 143 | unseen: item.Unseen 144 | } 145 | }); 146 | global.map.displayInventory(items); 147 | } else if (command.indexOf("PokemonEvolveEvent") >= 0) { 148 | var pkm = { 149 | id: msg.Id, 150 | name: inventory.getPokemonName(msg.Id) 151 | }; 152 | pokemonToast(pkm, { title: "A Pokemon Evolved" }); 153 | } else if (command.indexOf("PathEvent") >= 0) { 154 | var json = "[" + msg.StringifiedPath + "]"; 155 | json = json.replace(/lat/g, '"lat"').replace(/lng/g, '"lng"'); 156 | global.map.setRoute(JSON.parse(json)); 157 | } else if (command.indexOf("TransferPokemonEvent") >= 0) { 158 | // nothing 159 | } else if (command.indexOf("FortTargetEvent") >= 0) { 160 | // nothing 161 | } else if (command.indexOf("NoticeEvent") >= 0) { 162 | // nothing 163 | } else if (command.indexOf("WarnEvent") >= 0) { 164 | // nothing 165 | } else if (command.indexOf("SnipeScanEvent") >= 0) { 166 | // nothing 167 | } else if (command.indexOf("ItemRecycledEvent") >= 0) { 168 | // nothing 169 | } else if (command.indexOf("EvolveCountEvent") >= 0) { 170 | // nothing 171 | } else if (command.indexOf("DebugEvent") >= 0) { 172 | // nothing 173 | } else if (command.indexOf("SnipeEvent") >= 0) { 174 | // nothing 175 | } else if (command.indexOf("EggIncubatorStatusEvent") >= 0) { 176 | // nothing 177 | } else if (command.indexOf("HumanWalkingEvent") >= 0) { 178 | // nothing 179 | } else if (command.indexOf("UnaccurateLocation") >= 0) { 180 | // nothing 181 | } else if (command.indexOf("ErrorEvent") >= 0) { 182 | console.log(msg.Message); 183 | } else { 184 | console.log(msg); 185 | } 186 | }; 187 | } 188 | 189 | function errorToast(message) { 190 | toastr.error(message, "Error", { 191 | "progressBar": true, 192 | "positionClass": "toast-top-left", 193 | "timeOut": "5000", 194 | "closeButton": true 195 | }); 196 | } 197 | 198 | function pokemonToast(pkm, options) { 199 | if (global.config.noPopup) return; 200 | 201 | options = options || {}; 202 | var title = options.title || ( global.snipping ? "Snipe success" : "Catch success" ); 203 | var toast = global.snipping ? toastr.success : toastr.info; 204 | var pkminfo = pkm.name; 205 | if (pkm.lvl) pkminfo += ` (lvl ${pkm.lvl})`; 206 | 207 | var content = `
${pkminfo}
`; 208 | content += ``; 209 | if (options.ball) content += ``; 210 | content += `
`; 211 | toast(content, title, { 212 | "progressBar": true, 213 | "positionClass": "toast-bottom-left", 214 | "timeOut": "5000", 215 | "closeButton": true 216 | }) 217 | } -------------------------------------------------------------------------------- /build/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/build/icon.icns -------------------------------------------------------------------------------- /build/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/build/icon.ico -------------------------------------------------------------------------------- /build/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/build/icon.png -------------------------------------------------------------------------------- /debug.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const path = require("path"); 3 | 4 | var folder = `app\\assets\\icons\\big`; 5 | fs.readdir(folder, (err, files) => { 6 | if (err) { 7 | console.log(err); 8 | return; 9 | } 10 | 11 | files.forEach(file => { 12 | var newfile = file.replace(/0*(\d+) .*/g, "$1.png"); 13 | console.log(file + " " + newfile); 14 | fs.rename(path.join(folder, file), path.join(folder, newfile), () => {}); 15 | }) 16 | }) -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var del = require('del'); 3 | var uglify = require("gulp-uglify"); 4 | var rename = require("gulp-rename"); 5 | var concat = require("gulp-concat"); 6 | var cssnano = require("gulp-cssnano"); 7 | var sass = require('gulp-sass'); 8 | var file = require('gulp-file'); 9 | var ghPages = require('gulp-gh-pages'); 10 | 11 | // Watch 12 | 13 | gulp.task('dev-styles', function() { 14 | return gulp.src('app/assets/css/*.scss') 15 | .pipe(sass.sync().on('error', sass.logError)) 16 | .pipe(gulp.dest(function(f) { 17 | return f.base; 18 | })); 19 | }); 20 | 21 | gulp.task('watch-styles', function() { 22 | return gulp.watch('app/assets/css/*.scss', ['dev-styles']); 23 | }); 24 | 25 | gulp.task('watch', [ 'dev-styles', 'watch-styles' ]); 26 | 27 | // Deploy 28 | 29 | gulp.task('deploy', ['dev-styles'], function() { 30 | return gulp.src([ 31 | './app/**/*', 32 | '!./app/node_modules/**/*' 33 | ]) 34 | .pipe(file('CNAME', "necrovisualizer.nicontoso.eu")) 35 | .pipe(ghPages({remoteUrl: "https://github.com/nicoschmitt/necrobotvisualizer"})); 36 | }); 37 | 38 | // Main tasks 39 | 40 | gulp.task('default', [ 'dev-styles' ]); 41 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "necrobotvisualizer", 3 | "version": "1.1.0", 4 | "description": "", 5 | "author": "Nicolas Schmitt", 6 | "scripts": { 7 | "start": "electron ./app --enable-logging", 8 | "postinstall": "install-app-deps", 9 | "pack": "build --dir", 10 | "dist": "build --win --x64", 11 | "dist32": "build --win --ia32", 12 | "zip": "build --win zip --x64", 13 | "zip32": "build --win zip --ia32" 14 | }, 15 | "devDependencies": { 16 | "del": "^2.2.2", 17 | "dotenv": "^2.0.0", 18 | "electron-builder": "^6.4.0", 19 | "electron-prebuilt": "^1.3.5", 20 | "gulp": "^3.9.1", 21 | "gulp-concat": "^2.6.0", 22 | "gulp-cssnano": "^2.1.2", 23 | "gulp-file": "^0.3.0", 24 | "gulp-gh-pages": "^0.5.4", 25 | "gulp-rename": "^1.2.2", 26 | "gulp-sass": "^2.3.2", 27 | "gulp-uglify": "^2.0.0" 28 | }, 29 | "build": { 30 | "appId": "nico.NecrobotVisualizer", 31 | "productName": "NecrobotVisualizer", 32 | "win": { 33 | "iconUrl": "https://raw.githubusercontent.com/nicoschmitt/NecrobotVisualizer/master/build/icon.ico" 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /screenshots/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/screenshots/01.png -------------------------------------------------------------------------------- /screenshots/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/screenshots/02.png -------------------------------------------------------------------------------- /screenshots/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/screenshots/03.png -------------------------------------------------------------------------------- /screenshots/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pogosandbox/necrobotvisualizer/e83a6e775926e3eeffdaa92f26ae02147c0be528/screenshots/04.png --------------------------------------------------------------------------------