From 9c022576fa053fd32aaebc7acb2bb44884a623d7 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sat, 30 Sep 2017 19:01:56 -0400 Subject: Added hold items MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An items model was created, but the seed only contains items that can be held, which excludes key items and HMs. Berry Juice, while unobtainable, is still included. The item model contains three description fields: one for Ruby/Sapphire, one for FireRed/LeafGreen, and one for Emerald. This is because the descriptions for items are different between the games. In a lot of cases, the Emerald description is the same as the Ruby/Sapphire one, so in those cases, the Emerald description is nil. The purpose of having the different descriptions is so that when a Pokémon holds an item, the website can display the description that is accurate to the game that that Pokémon is currently in. In order to fully support TMs, the move model was improved to additionally contain type and also the three description fields which operate similarly to those of the item model. For TMs, the description fields on the item are usually nil. However, some TMs in Ruby/Sapphire, as well as Emerald, have different descriptions than the moves that they correspond with. In these cases, those descriptions are in the item model, and override the move descriptions when the move is looked at as a TM. --- app/assets/images/pokeviewer/items/0.png | Bin 0 -> 193 bytes app/assets/images/pokeviewer/items/1.png | Bin 0 -> 298 bytes app/assets/images/pokeviewer/items/10.png | Bin 0 -> 290 bytes app/assets/images/pokeviewer/items/103.png | Bin 0 -> 222 bytes app/assets/images/pokeviewer/items/104.png | Bin 0 -> 262 bytes app/assets/images/pokeviewer/items/106.png | Bin 0 -> 225 bytes app/assets/images/pokeviewer/items/107.png | Bin 0 -> 284 bytes app/assets/images/pokeviewer/items/108.png | Bin 0 -> 282 bytes app/assets/images/pokeviewer/items/109.png | Bin 0 -> 226 bytes app/assets/images/pokeviewer/items/11.png | Bin 0 -> 293 bytes app/assets/images/pokeviewer/items/110.png | Bin 0 -> 229 bytes app/assets/images/pokeviewer/items/111.png | Bin 0 -> 227 bytes app/assets/images/pokeviewer/items/12.png | Bin 0 -> 239 bytes app/assets/images/pokeviewer/items/121.png | Bin 0 -> 266 bytes app/assets/images/pokeviewer/items/122.png | Bin 0 -> 256 bytes app/assets/images/pokeviewer/items/123.png | Bin 0 -> 295 bytes app/assets/images/pokeviewer/items/124.png | Bin 0 -> 278 bytes app/assets/images/pokeviewer/items/125.png | Bin 0 -> 281 bytes app/assets/images/pokeviewer/items/126.png | Bin 0 -> 265 bytes app/assets/images/pokeviewer/items/127.png | Bin 0 -> 237 bytes app/assets/images/pokeviewer/items/128.png | Bin 0 -> 273 bytes app/assets/images/pokeviewer/items/129.png | Bin 0 -> 301 bytes app/assets/images/pokeviewer/items/13.png | Bin 0 -> 300 bytes app/assets/images/pokeviewer/items/130.png | Bin 0 -> 260 bytes app/assets/images/pokeviewer/items/131.png | Bin 0 -> 234 bytes app/assets/images/pokeviewer/items/132.png | Bin 0 -> 214 bytes app/assets/images/pokeviewer/items/133.png | Bin 0 -> 325 bytes app/assets/images/pokeviewer/items/134.png | Bin 0 -> 282 bytes app/assets/images/pokeviewer/items/135.png | Bin 0 -> 265 bytes app/assets/images/pokeviewer/items/136.png | Bin 0 -> 293 bytes app/assets/images/pokeviewer/items/137.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/138.png | Bin 0 -> 274 bytes app/assets/images/pokeviewer/items/139.png | Bin 0 -> 275 bytes app/assets/images/pokeviewer/items/14.png | Bin 0 -> 261 bytes app/assets/images/pokeviewer/items/140.png | Bin 0 -> 289 bytes app/assets/images/pokeviewer/items/141.png | Bin 0 -> 243 bytes app/assets/images/pokeviewer/items/142.png | Bin 0 -> 274 bytes app/assets/images/pokeviewer/items/143.png | Bin 0 -> 288 bytes app/assets/images/pokeviewer/items/144.png | Bin 0 -> 298 bytes app/assets/images/pokeviewer/items/145.png | Bin 0 -> 269 bytes app/assets/images/pokeviewer/items/146.png | Bin 0 -> 296 bytes app/assets/images/pokeviewer/items/147.png | Bin 0 -> 298 bytes app/assets/images/pokeviewer/items/148.png | Bin 0 -> 300 bytes app/assets/images/pokeviewer/items/149.png | Bin 0 -> 309 bytes app/assets/images/pokeviewer/items/15.png | Bin 0 -> 261 bytes app/assets/images/pokeviewer/items/150.png | Bin 0 -> 292 bytes app/assets/images/pokeviewer/items/151.png | Bin 0 -> 254 bytes app/assets/images/pokeviewer/items/152.png | Bin 0 -> 327 bytes app/assets/images/pokeviewer/items/153.png | Bin 0 -> 257 bytes app/assets/images/pokeviewer/items/154.png | Bin 0 -> 269 bytes app/assets/images/pokeviewer/items/155.png | Bin 0 -> 280 bytes app/assets/images/pokeviewer/items/156.png | Bin 0 -> 287 bytes app/assets/images/pokeviewer/items/157.png | Bin 0 -> 264 bytes app/assets/images/pokeviewer/items/158.png | Bin 0 -> 298 bytes app/assets/images/pokeviewer/items/159.png | Bin 0 -> 331 bytes app/assets/images/pokeviewer/items/16.png | Bin 0 -> 261 bytes app/assets/images/pokeviewer/items/160.png | Bin 0 -> 257 bytes app/assets/images/pokeviewer/items/161.png | Bin 0 -> 324 bytes app/assets/images/pokeviewer/items/162.png | Bin 0 -> 245 bytes app/assets/images/pokeviewer/items/163.png | Bin 0 -> 285 bytes app/assets/images/pokeviewer/items/164.png | Bin 0 -> 326 bytes app/assets/images/pokeviewer/items/165.png | Bin 0 -> 337 bytes app/assets/images/pokeviewer/items/166.png | Bin 0 -> 334 bytes app/assets/images/pokeviewer/items/167.png | Bin 0 -> 318 bytes app/assets/images/pokeviewer/items/168.png | Bin 0 -> 302 bytes app/assets/images/pokeviewer/items/169.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/17.png | Bin 0 -> 261 bytes app/assets/images/pokeviewer/items/170.png | Bin 0 -> 297 bytes app/assets/images/pokeviewer/items/171.png | Bin 0 -> 329 bytes app/assets/images/pokeviewer/items/172.png | Bin 0 -> 280 bytes app/assets/images/pokeviewer/items/173.png | Bin 0 -> 304 bytes app/assets/images/pokeviewer/items/174.png | Bin 0 -> 292 bytes app/assets/images/pokeviewer/items/175.png | Bin 0 -> 285 bytes app/assets/images/pokeviewer/items/179.png | Bin 0 -> 275 bytes app/assets/images/pokeviewer/items/18.png | Bin 0 -> 261 bytes app/assets/images/pokeviewer/items/180.png | Bin 0 -> 247 bytes app/assets/images/pokeviewer/items/181.png | Bin 0 -> 334 bytes app/assets/images/pokeviewer/items/182.png | Bin 0 -> 339 bytes app/assets/images/pokeviewer/items/183.png | Bin 0 -> 227 bytes app/assets/images/pokeviewer/items/184.png | Bin 0 -> 286 bytes app/assets/images/pokeviewer/items/185.png | Bin 0 -> 247 bytes app/assets/images/pokeviewer/items/186.png | Bin 0 -> 347 bytes app/assets/images/pokeviewer/items/187.png | Bin 0 -> 306 bytes app/assets/images/pokeviewer/items/188.png | Bin 0 -> 243 bytes app/assets/images/pokeviewer/items/189.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/19.png | Bin 0 -> 299 bytes app/assets/images/pokeviewer/items/190.png | Bin 0 -> 258 bytes app/assets/images/pokeviewer/items/191.png | Bin 0 -> 238 bytes app/assets/images/pokeviewer/items/192.png | Bin 0 -> 281 bytes app/assets/images/pokeviewer/items/193.png | Bin 0 -> 240 bytes app/assets/images/pokeviewer/items/194.png | Bin 0 -> 269 bytes app/assets/images/pokeviewer/items/195.png | Bin 0 -> 250 bytes app/assets/images/pokeviewer/items/196.png | Bin 0 -> 333 bytes app/assets/images/pokeviewer/items/197.png | Bin 0 -> 213 bytes app/assets/images/pokeviewer/items/198.png | Bin 0 -> 361 bytes app/assets/images/pokeviewer/items/199.png | Bin 0 -> 233 bytes app/assets/images/pokeviewer/items/2.png | Bin 0 -> 287 bytes app/assets/images/pokeviewer/items/20.png | Bin 0 -> 299 bytes app/assets/images/pokeviewer/items/200.png | Bin 0 -> 264 bytes app/assets/images/pokeviewer/items/201.png | Bin 0 -> 246 bytes app/assets/images/pokeviewer/items/202.png | Bin 0 -> 232 bytes app/assets/images/pokeviewer/items/203.png | Bin 0 -> 278 bytes app/assets/images/pokeviewer/items/204.png | Bin 0 -> 256 bytes app/assets/images/pokeviewer/items/205.png | Bin 0 -> 234 bytes app/assets/images/pokeviewer/items/206.png | Bin 0 -> 202 bytes app/assets/images/pokeviewer/items/207.png | Bin 0 -> 234 bytes app/assets/images/pokeviewer/items/208.png | Bin 0 -> 278 bytes app/assets/images/pokeviewer/items/209.png | Bin 0 -> 235 bytes app/assets/images/pokeviewer/items/21.png | Bin 0 -> 300 bytes app/assets/images/pokeviewer/items/210.png | Bin 0 -> 269 bytes app/assets/images/pokeviewer/items/211.png | Bin 0 -> 213 bytes app/assets/images/pokeviewer/items/212.png | Bin 0 -> 262 bytes app/assets/images/pokeviewer/items/213.png | Bin 0 -> 250 bytes app/assets/images/pokeviewer/items/214.png | Bin 0 -> 223 bytes app/assets/images/pokeviewer/items/215.png | Bin 0 -> 250 bytes app/assets/images/pokeviewer/items/216.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/217.png | Bin 0 -> 316 bytes app/assets/images/pokeviewer/items/218.png | Bin 0 -> 280 bytes app/assets/images/pokeviewer/items/219.png | Bin 0 -> 318 bytes app/assets/images/pokeviewer/items/22.png | Bin 0 -> 300 bytes app/assets/images/pokeviewer/items/220.png | Bin 0 -> 293 bytes app/assets/images/pokeviewer/items/221.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/222.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/223.png | Bin 0 -> 290 bytes app/assets/images/pokeviewer/items/224.png | Bin 0 -> 218 bytes app/assets/images/pokeviewer/items/225.png | Bin 0 -> 238 bytes app/assets/images/pokeviewer/items/23.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/24.png | Bin 0 -> 177 bytes app/assets/images/pokeviewer/items/25.png | Bin 0 -> 254 bytes app/assets/images/pokeviewer/items/254.png | Bin 0 -> 282 bytes app/assets/images/pokeviewer/items/255.png | Bin 0 -> 282 bytes app/assets/images/pokeviewer/items/256.png | Bin 0 -> 282 bytes app/assets/images/pokeviewer/items/257.png | Bin 0 -> 282 bytes app/assets/images/pokeviewer/items/258.png | Bin 0 -> 282 bytes app/assets/images/pokeviewer/items/26.png | Bin 0 -> 281 bytes app/assets/images/pokeviewer/items/27.png | Bin 0 -> 280 bytes app/assets/images/pokeviewer/items/276.png | Bin 0 -> 215 bytes app/assets/images/pokeviewer/items/277.png | Bin 0 -> 215 bytes app/assets/images/pokeviewer/items/28.png | Bin 0 -> 285 bytes app/assets/images/pokeviewer/items/29.png | Bin 0 -> 296 bytes app/assets/images/pokeviewer/items/3.png | Bin 0 -> 301 bytes app/assets/images/pokeviewer/items/30.png | Bin 0 -> 231 bytes app/assets/images/pokeviewer/items/31.png | Bin 0 -> 268 bytes app/assets/images/pokeviewer/items/32.png | Bin 0 -> 231 bytes app/assets/images/pokeviewer/items/33.png | Bin 0 -> 277 bytes app/assets/images/pokeviewer/items/34.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/35.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/36.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/37.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/38.png | Bin 0 -> 278 bytes app/assets/images/pokeviewer/items/39.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/4.png | Bin 0 -> 256 bytes app/assets/images/pokeviewer/items/40.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/41.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/42.png | Bin 0 -> 264 bytes app/assets/images/pokeviewer/items/43.png | Bin 0 -> 262 bytes app/assets/images/pokeviewer/items/44.png | Bin 0 -> 323 bytes app/assets/images/pokeviewer/items/45.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/46.png | Bin 0 -> 231 bytes app/assets/images/pokeviewer/items/47.png | Bin 0 -> 334 bytes app/assets/images/pokeviewer/items/48.png | Bin 0 -> 173 bytes app/assets/images/pokeviewer/items/49.png | Bin 0 -> 173 bytes app/assets/images/pokeviewer/items/5.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/50.png | Bin 0 -> 173 bytes app/assets/images/pokeviewer/items/51.png | Bin 0 -> 173 bytes app/assets/images/pokeviewer/items/6.png | Bin 0 -> 301 bytes app/assets/images/pokeviewer/items/63.png | Bin 0 -> 286 bytes app/assets/images/pokeviewer/items/64.png | Bin 0 -> 288 bytes app/assets/images/pokeviewer/items/65.png | Bin 0 -> 288 bytes app/assets/images/pokeviewer/items/66.png | Bin 0 -> 288 bytes app/assets/images/pokeviewer/items/67.png | Bin 0 -> 288 bytes app/assets/images/pokeviewer/items/68.png | Bin 0 -> 272 bytes app/assets/images/pokeviewer/items/69.png | Bin 0 -> 293 bytes app/assets/images/pokeviewer/items/7.png | Bin 0 -> 289 bytes app/assets/images/pokeviewer/items/70.png | Bin 0 -> 288 bytes app/assets/images/pokeviewer/items/71.png | Bin 0 -> 287 bytes app/assets/images/pokeviewer/items/73.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/74.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/75.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/76.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/77.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/78.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/79.png | Bin 0 -> 305 bytes app/assets/images/pokeviewer/items/8.png | Bin 0 -> 290 bytes app/assets/images/pokeviewer/items/80.png | Bin 0 -> 271 bytes app/assets/images/pokeviewer/items/81.png | Bin 0 -> 322 bytes app/assets/images/pokeviewer/items/83.png | Bin 0 -> 264 bytes app/assets/images/pokeviewer/items/84.png | Bin 0 -> 264 bytes app/assets/images/pokeviewer/items/85.png | Bin 0 -> 246 bytes app/assets/images/pokeviewer/items/86.png | Bin 0 -> 264 bytes app/assets/images/pokeviewer/items/9.png | Bin 0 -> 294 bytes app/assets/images/pokeviewer/items/93.png | Bin 0 -> 304 bytes app/assets/images/pokeviewer/items/94.png | Bin 0 -> 281 bytes app/assets/images/pokeviewer/items/95.png | Bin 0 -> 330 bytes app/assets/images/pokeviewer/items/96.png | Bin 0 -> 298 bytes app/assets/images/pokeviewer/items/97.png | Bin 0 -> 309 bytes app/assets/images/pokeviewer/items/98.png | Bin 0 -> 332 bytes app/assets/images/pokeviewer/items/tms/bug.png | Bin 0 -> 347 bytes app/assets/images/pokeviewer/items/tms/dark.png | Bin 0 -> 374 bytes app/assets/images/pokeviewer/items/tms/dragon.png | Bin 0 -> 373 bytes .../images/pokeviewer/items/tms/electric.png | Bin 0 -> 339 bytes .../images/pokeviewer/items/tms/fighting.png | Bin 0 -> 375 bytes app/assets/images/pokeviewer/items/tms/fire.png | Bin 0 -> 375 bytes app/assets/images/pokeviewer/items/tms/flying.png | Bin 0 -> 355 bytes app/assets/images/pokeviewer/items/tms/ghost.png | Bin 0 -> 340 bytes app/assets/images/pokeviewer/items/tms/grass.png | Bin 0 -> 374 bytes app/assets/images/pokeviewer/items/tms/ground.png | Bin 0 -> 341 bytes app/assets/images/pokeviewer/items/tms/ice.png | Bin 0 -> 368 bytes app/assets/images/pokeviewer/items/tms/normal.png | Bin 0 -> 369 bytes app/assets/images/pokeviewer/items/tms/poison.png | Bin 0 -> 376 bytes app/assets/images/pokeviewer/items/tms/psychic.png | Bin 0 -> 374 bytes app/assets/images/pokeviewer/items/tms/rock.png | Bin 0 -> 333 bytes app/assets/images/pokeviewer/items/tms/steel.png | Bin 0 -> 341 bytes app/assets/images/pokeviewer/items/tms/water.png | Bin 0 -> 372 bytes app/assets/stylesheets/pokeviewer/pokemon.css.scss | 1 + app/jobs/pokeviewer/extract_save_data_job.rb | 2 +- app/models/pokeviewer/item.rb | 43 + app/models/pokeviewer/move.rb | 21 + app/models/pokeviewer/revision.rb | 4 +- app/views/pokeviewer/pokemon/show.html.haml | 10 + .../20170916234251_create_pokeviewer_pokemon.rb | 2 +- .../20170924224550_create_pokeviewer_boxes.rb | 2 +- .../20170930185514_create_pokeviewer_items.rb | 16 + ...0930190647_add_description_and_type_to_moves.rb | 14 + .../20170930213633_rename_revision_hold_item.rb | 9 + db/seeds.rb | 2121 ++++++++++++++++---- lib/pokeviewer/engine.rb | 8 +- test/dummy/db/schema.rb | 20 +- 228 files changed, 1910 insertions(+), 363 deletions(-) create mode 100644 app/assets/images/pokeviewer/items/0.png create mode 100644 app/assets/images/pokeviewer/items/1.png create mode 100644 app/assets/images/pokeviewer/items/10.png create mode 100644 app/assets/images/pokeviewer/items/103.png create mode 100644 app/assets/images/pokeviewer/items/104.png create mode 100644 app/assets/images/pokeviewer/items/106.png create mode 100644 app/assets/images/pokeviewer/items/107.png create mode 100644 app/assets/images/pokeviewer/items/108.png create mode 100644 app/assets/images/pokeviewer/items/109.png create mode 100644 app/assets/images/pokeviewer/items/11.png create mode 100644 app/assets/images/pokeviewer/items/110.png create mode 100644 app/assets/images/pokeviewer/items/111.png create mode 100644 app/assets/images/pokeviewer/items/12.png create mode 100644 app/assets/images/pokeviewer/items/121.png create mode 100644 app/assets/images/pokeviewer/items/122.png create mode 100644 app/assets/images/pokeviewer/items/123.png create mode 100644 app/assets/images/pokeviewer/items/124.png create mode 100644 app/assets/images/pokeviewer/items/125.png create mode 100644 app/assets/images/pokeviewer/items/126.png create mode 100644 app/assets/images/pokeviewer/items/127.png create mode 100644 app/assets/images/pokeviewer/items/128.png create mode 100644 app/assets/images/pokeviewer/items/129.png create mode 100644 app/assets/images/pokeviewer/items/13.png create mode 100644 app/assets/images/pokeviewer/items/130.png create mode 100644 app/assets/images/pokeviewer/items/131.png create mode 100644 app/assets/images/pokeviewer/items/132.png create mode 100644 app/assets/images/pokeviewer/items/133.png create mode 100644 app/assets/images/pokeviewer/items/134.png create mode 100644 app/assets/images/pokeviewer/items/135.png create mode 100644 app/assets/images/pokeviewer/items/136.png create mode 100644 app/assets/images/pokeviewer/items/137.png create mode 100644 app/assets/images/pokeviewer/items/138.png create mode 100644 app/assets/images/pokeviewer/items/139.png create mode 100644 app/assets/images/pokeviewer/items/14.png create mode 100644 app/assets/images/pokeviewer/items/140.png create mode 100644 app/assets/images/pokeviewer/items/141.png create mode 100644 app/assets/images/pokeviewer/items/142.png create mode 100644 app/assets/images/pokeviewer/items/143.png create mode 100644 app/assets/images/pokeviewer/items/144.png create mode 100644 app/assets/images/pokeviewer/items/145.png create mode 100644 app/assets/images/pokeviewer/items/146.png create mode 100644 app/assets/images/pokeviewer/items/147.png create mode 100644 app/assets/images/pokeviewer/items/148.png create mode 100644 app/assets/images/pokeviewer/items/149.png create mode 100644 app/assets/images/pokeviewer/items/15.png create mode 100644 app/assets/images/pokeviewer/items/150.png create mode 100644 app/assets/images/pokeviewer/items/151.png create mode 100644 app/assets/images/pokeviewer/items/152.png create mode 100644 app/assets/images/pokeviewer/items/153.png create mode 100644 app/assets/images/pokeviewer/items/154.png create mode 100644 app/assets/images/pokeviewer/items/155.png create mode 100644 app/assets/images/pokeviewer/items/156.png create mode 100644 app/assets/images/pokeviewer/items/157.png create mode 100644 app/assets/images/pokeviewer/items/158.png create mode 100644 app/assets/images/pokeviewer/items/159.png create mode 100644 app/assets/images/pokeviewer/items/16.png create mode 100644 app/assets/images/pokeviewer/items/160.png create mode 100644 app/assets/images/pokeviewer/items/161.png create mode 100644 app/assets/images/pokeviewer/items/162.png create mode 100644 app/assets/images/pokeviewer/items/163.png create mode 100644 app/assets/images/pokeviewer/items/164.png create mode 100644 app/assets/images/pokeviewer/items/165.png create mode 100644 app/assets/images/pokeviewer/items/166.png create mode 100644 app/assets/images/pokeviewer/items/167.png create mode 100644 app/assets/images/pokeviewer/items/168.png create mode 100644 app/assets/images/pokeviewer/items/169.png create mode 100644 app/assets/images/pokeviewer/items/17.png create mode 100644 app/assets/images/pokeviewer/items/170.png create mode 100644 app/assets/images/pokeviewer/items/171.png create mode 100644 app/assets/images/pokeviewer/items/172.png create mode 100644 app/assets/images/pokeviewer/items/173.png create mode 100644 app/assets/images/pokeviewer/items/174.png create mode 100644 app/assets/images/pokeviewer/items/175.png create mode 100644 app/assets/images/pokeviewer/items/179.png create mode 100644 app/assets/images/pokeviewer/items/18.png create mode 100644 app/assets/images/pokeviewer/items/180.png create mode 100644 app/assets/images/pokeviewer/items/181.png create mode 100644 app/assets/images/pokeviewer/items/182.png create mode 100644 app/assets/images/pokeviewer/items/183.png create mode 100644 app/assets/images/pokeviewer/items/184.png create mode 100644 app/assets/images/pokeviewer/items/185.png create mode 100644 app/assets/images/pokeviewer/items/186.png create mode 100644 app/assets/images/pokeviewer/items/187.png create mode 100644 app/assets/images/pokeviewer/items/188.png create mode 100644 app/assets/images/pokeviewer/items/189.png create mode 100644 app/assets/images/pokeviewer/items/19.png create mode 100644 app/assets/images/pokeviewer/items/190.png create mode 100644 app/assets/images/pokeviewer/items/191.png create mode 100644 app/assets/images/pokeviewer/items/192.png create mode 100644 app/assets/images/pokeviewer/items/193.png create mode 100644 app/assets/images/pokeviewer/items/194.png create mode 100644 app/assets/images/pokeviewer/items/195.png create mode 100644 app/assets/images/pokeviewer/items/196.png create mode 100644 app/assets/images/pokeviewer/items/197.png create mode 100644 app/assets/images/pokeviewer/items/198.png create mode 100644 app/assets/images/pokeviewer/items/199.png create mode 100644 app/assets/images/pokeviewer/items/2.png create mode 100644 app/assets/images/pokeviewer/items/20.png create mode 100644 app/assets/images/pokeviewer/items/200.png create mode 100644 app/assets/images/pokeviewer/items/201.png create mode 100644 app/assets/images/pokeviewer/items/202.png create mode 100644 app/assets/images/pokeviewer/items/203.png create mode 100644 app/assets/images/pokeviewer/items/204.png create mode 100644 app/assets/images/pokeviewer/items/205.png create mode 100644 app/assets/images/pokeviewer/items/206.png create mode 100644 app/assets/images/pokeviewer/items/207.png create mode 100644 app/assets/images/pokeviewer/items/208.png create mode 100644 app/assets/images/pokeviewer/items/209.png create mode 100644 app/assets/images/pokeviewer/items/21.png create mode 100644 app/assets/images/pokeviewer/items/210.png create mode 100644 app/assets/images/pokeviewer/items/211.png create mode 100644 app/assets/images/pokeviewer/items/212.png create mode 100644 app/assets/images/pokeviewer/items/213.png create mode 100644 app/assets/images/pokeviewer/items/214.png create mode 100644 app/assets/images/pokeviewer/items/215.png create mode 100644 app/assets/images/pokeviewer/items/216.png create mode 100644 app/assets/images/pokeviewer/items/217.png create mode 100644 app/assets/images/pokeviewer/items/218.png create mode 100644 app/assets/images/pokeviewer/items/219.png create mode 100644 app/assets/images/pokeviewer/items/22.png create mode 100644 app/assets/images/pokeviewer/items/220.png create mode 100644 app/assets/images/pokeviewer/items/221.png create mode 100644 app/assets/images/pokeviewer/items/222.png create mode 100644 app/assets/images/pokeviewer/items/223.png create mode 100644 app/assets/images/pokeviewer/items/224.png create mode 100644 app/assets/images/pokeviewer/items/225.png create mode 100644 app/assets/images/pokeviewer/items/23.png create mode 100644 app/assets/images/pokeviewer/items/24.png create mode 100644 app/assets/images/pokeviewer/items/25.png create mode 100644 app/assets/images/pokeviewer/items/254.png create mode 100644 app/assets/images/pokeviewer/items/255.png create mode 100644 app/assets/images/pokeviewer/items/256.png create mode 100644 app/assets/images/pokeviewer/items/257.png create mode 100644 app/assets/images/pokeviewer/items/258.png create mode 100644 app/assets/images/pokeviewer/items/26.png create mode 100644 app/assets/images/pokeviewer/items/27.png create mode 100644 app/assets/images/pokeviewer/items/276.png create mode 100644 app/assets/images/pokeviewer/items/277.png create mode 100644 app/assets/images/pokeviewer/items/28.png create mode 100644 app/assets/images/pokeviewer/items/29.png create mode 100644 app/assets/images/pokeviewer/items/3.png create mode 100644 app/assets/images/pokeviewer/items/30.png create mode 100644 app/assets/images/pokeviewer/items/31.png create mode 100644 app/assets/images/pokeviewer/items/32.png create mode 100644 app/assets/images/pokeviewer/items/33.png create mode 100644 app/assets/images/pokeviewer/items/34.png create mode 100644 app/assets/images/pokeviewer/items/35.png create mode 100644 app/assets/images/pokeviewer/items/36.png create mode 100644 app/assets/images/pokeviewer/items/37.png create mode 100644 app/assets/images/pokeviewer/items/38.png create mode 100644 app/assets/images/pokeviewer/items/39.png create mode 100644 app/assets/images/pokeviewer/items/4.png create mode 100644 app/assets/images/pokeviewer/items/40.png create mode 100644 app/assets/images/pokeviewer/items/41.png create mode 100644 app/assets/images/pokeviewer/items/42.png create mode 100644 app/assets/images/pokeviewer/items/43.png create mode 100644 app/assets/images/pokeviewer/items/44.png create mode 100644 app/assets/images/pokeviewer/items/45.png create mode 100644 app/assets/images/pokeviewer/items/46.png create mode 100644 app/assets/images/pokeviewer/items/47.png create mode 100644 app/assets/images/pokeviewer/items/48.png create mode 100644 app/assets/images/pokeviewer/items/49.png create mode 100644 app/assets/images/pokeviewer/items/5.png create mode 100644 app/assets/images/pokeviewer/items/50.png create mode 100644 app/assets/images/pokeviewer/items/51.png create mode 100644 app/assets/images/pokeviewer/items/6.png create mode 100644 app/assets/images/pokeviewer/items/63.png create mode 100644 app/assets/images/pokeviewer/items/64.png create mode 100644 app/assets/images/pokeviewer/items/65.png create mode 100644 app/assets/images/pokeviewer/items/66.png create mode 100644 app/assets/images/pokeviewer/items/67.png create mode 100644 app/assets/images/pokeviewer/items/68.png create mode 100644 app/assets/images/pokeviewer/items/69.png create mode 100644 app/assets/images/pokeviewer/items/7.png create mode 100644 app/assets/images/pokeviewer/items/70.png create mode 100644 app/assets/images/pokeviewer/items/71.png create mode 100644 app/assets/images/pokeviewer/items/73.png create mode 100644 app/assets/images/pokeviewer/items/74.png create mode 100644 app/assets/images/pokeviewer/items/75.png create mode 100644 app/assets/images/pokeviewer/items/76.png create mode 100644 app/assets/images/pokeviewer/items/77.png create mode 100644 app/assets/images/pokeviewer/items/78.png create mode 100644 app/assets/images/pokeviewer/items/79.png create mode 100644 app/assets/images/pokeviewer/items/8.png create mode 100644 app/assets/images/pokeviewer/items/80.png create mode 100644 app/assets/images/pokeviewer/items/81.png create mode 100644 app/assets/images/pokeviewer/items/83.png create mode 100644 app/assets/images/pokeviewer/items/84.png create mode 100644 app/assets/images/pokeviewer/items/85.png create mode 100644 app/assets/images/pokeviewer/items/86.png create mode 100644 app/assets/images/pokeviewer/items/9.png create mode 100644 app/assets/images/pokeviewer/items/93.png create mode 100644 app/assets/images/pokeviewer/items/94.png create mode 100644 app/assets/images/pokeviewer/items/95.png create mode 100644 app/assets/images/pokeviewer/items/96.png create mode 100644 app/assets/images/pokeviewer/items/97.png create mode 100644 app/assets/images/pokeviewer/items/98.png create mode 100644 app/assets/images/pokeviewer/items/tms/bug.png create mode 100644 app/assets/images/pokeviewer/items/tms/dark.png create mode 100644 app/assets/images/pokeviewer/items/tms/dragon.png create mode 100644 app/assets/images/pokeviewer/items/tms/electric.png create mode 100644 app/assets/images/pokeviewer/items/tms/fighting.png create mode 100644 app/assets/images/pokeviewer/items/tms/fire.png create mode 100644 app/assets/images/pokeviewer/items/tms/flying.png create mode 100644 app/assets/images/pokeviewer/items/tms/ghost.png create mode 100644 app/assets/images/pokeviewer/items/tms/grass.png create mode 100644 app/assets/images/pokeviewer/items/tms/ground.png create mode 100644 app/assets/images/pokeviewer/items/tms/ice.png create mode 100644 app/assets/images/pokeviewer/items/tms/normal.png create mode 100644 app/assets/images/pokeviewer/items/tms/poison.png create mode 100644 app/assets/images/pokeviewer/items/tms/psychic.png create mode 100644 app/assets/images/pokeviewer/items/tms/rock.png create mode 100644 app/assets/images/pokeviewer/items/tms/steel.png create mode 100644 app/assets/images/pokeviewer/items/tms/water.png create mode 100644 app/models/pokeviewer/item.rb create mode 100644 db/migrate/20170930185514_create_pokeviewer_items.rb create mode 100644 db/migrate/20170930190647_add_description_and_type_to_moves.rb create mode 100644 db/migrate/20170930213633_rename_revision_hold_item.rb diff --git a/app/assets/images/pokeviewer/items/0.png b/app/assets/images/pokeviewer/items/0.png new file mode 100644 index 0000000..b37be99 Binary files /dev/null and b/app/assets/images/pokeviewer/items/0.png differ diff --git a/app/assets/images/pokeviewer/items/1.png b/app/assets/images/pokeviewer/items/1.png new file mode 100644 index 0000000..e2effa2 Binary files /dev/null and b/app/assets/images/pokeviewer/items/1.png differ diff --git a/app/assets/images/pokeviewer/items/10.png b/app/assets/images/pokeviewer/items/10.png new file mode 100644 index 0000000..3a92800 Binary files /dev/null and b/app/assets/images/pokeviewer/items/10.png differ diff --git a/app/assets/images/pokeviewer/items/103.png b/app/assets/images/pokeviewer/items/103.png new file mode 100644 index 0000000..01c00dc Binary files /dev/null and b/app/assets/images/pokeviewer/items/103.png differ diff --git a/app/assets/images/pokeviewer/items/104.png b/app/assets/images/pokeviewer/items/104.png new file mode 100644 index 0000000..f5928c5 Binary files /dev/null and b/app/assets/images/pokeviewer/items/104.png differ diff --git a/app/assets/images/pokeviewer/items/106.png b/app/assets/images/pokeviewer/items/106.png new file mode 100644 index 0000000..f769f1f Binary files /dev/null and b/app/assets/images/pokeviewer/items/106.png differ diff --git a/app/assets/images/pokeviewer/items/107.png b/app/assets/images/pokeviewer/items/107.png new file mode 100644 index 0000000..ace3694 Binary files /dev/null and b/app/assets/images/pokeviewer/items/107.png differ diff --git a/app/assets/images/pokeviewer/items/108.png b/app/assets/images/pokeviewer/items/108.png new file mode 100644 index 0000000..b84b29b Binary files /dev/null and b/app/assets/images/pokeviewer/items/108.png differ diff --git a/app/assets/images/pokeviewer/items/109.png b/app/assets/images/pokeviewer/items/109.png new file mode 100644 index 0000000..02aa2f7 Binary files /dev/null and b/app/assets/images/pokeviewer/items/109.png differ diff --git a/app/assets/images/pokeviewer/items/11.png b/app/assets/images/pokeviewer/items/11.png new file mode 100644 index 0000000..0a9d4fd Binary files /dev/null and b/app/assets/images/pokeviewer/items/11.png differ diff --git a/app/assets/images/pokeviewer/items/110.png b/app/assets/images/pokeviewer/items/110.png new file mode 100644 index 0000000..25b835b Binary files /dev/null and b/app/assets/images/pokeviewer/items/110.png differ diff --git a/app/assets/images/pokeviewer/items/111.png b/app/assets/images/pokeviewer/items/111.png new file mode 100644 index 0000000..8d7e69e Binary files /dev/null and b/app/assets/images/pokeviewer/items/111.png differ diff --git a/app/assets/images/pokeviewer/items/12.png b/app/assets/images/pokeviewer/items/12.png new file mode 100644 index 0000000..f70f721 Binary files /dev/null and b/app/assets/images/pokeviewer/items/12.png differ diff --git a/app/assets/images/pokeviewer/items/121.png b/app/assets/images/pokeviewer/items/121.png new file mode 100644 index 0000000..8b7e87d Binary files /dev/null and b/app/assets/images/pokeviewer/items/121.png differ diff --git a/app/assets/images/pokeviewer/items/122.png b/app/assets/images/pokeviewer/items/122.png new file mode 100644 index 0000000..b3432f5 Binary files /dev/null and b/app/assets/images/pokeviewer/items/122.png differ diff --git a/app/assets/images/pokeviewer/items/123.png b/app/assets/images/pokeviewer/items/123.png new file mode 100644 index 0000000..b7c07d5 Binary files /dev/null and b/app/assets/images/pokeviewer/items/123.png differ diff --git a/app/assets/images/pokeviewer/items/124.png b/app/assets/images/pokeviewer/items/124.png new file mode 100644 index 0000000..3b86807 Binary files /dev/null and b/app/assets/images/pokeviewer/items/124.png differ diff --git a/app/assets/images/pokeviewer/items/125.png b/app/assets/images/pokeviewer/items/125.png new file mode 100644 index 0000000..9627827 Binary files /dev/null and b/app/assets/images/pokeviewer/items/125.png differ diff --git a/app/assets/images/pokeviewer/items/126.png b/app/assets/images/pokeviewer/items/126.png new file mode 100644 index 0000000..0a35794 Binary files /dev/null and b/app/assets/images/pokeviewer/items/126.png differ diff --git a/app/assets/images/pokeviewer/items/127.png b/app/assets/images/pokeviewer/items/127.png new file mode 100644 index 0000000..21cd987 Binary files /dev/null and b/app/assets/images/pokeviewer/items/127.png differ diff --git a/app/assets/images/pokeviewer/items/128.png b/app/assets/images/pokeviewer/items/128.png new file mode 100644 index 0000000..a8bbf28 Binary files /dev/null and b/app/assets/images/pokeviewer/items/128.png differ diff --git a/app/assets/images/pokeviewer/items/129.png b/app/assets/images/pokeviewer/items/129.png new file mode 100644 index 0000000..33c637e Binary files /dev/null and b/app/assets/images/pokeviewer/items/129.png differ diff --git a/app/assets/images/pokeviewer/items/13.png b/app/assets/images/pokeviewer/items/13.png new file mode 100644 index 0000000..d740c48 Binary files /dev/null and b/app/assets/images/pokeviewer/items/13.png differ diff --git a/app/assets/images/pokeviewer/items/130.png b/app/assets/images/pokeviewer/items/130.png new file mode 100644 index 0000000..a768ce1 Binary files /dev/null and b/app/assets/images/pokeviewer/items/130.png differ diff --git a/app/assets/images/pokeviewer/items/131.png b/app/assets/images/pokeviewer/items/131.png new file mode 100644 index 0000000..f97e060 Binary files /dev/null and b/app/assets/images/pokeviewer/items/131.png differ diff --git a/app/assets/images/pokeviewer/items/132.png b/app/assets/images/pokeviewer/items/132.png new file mode 100644 index 0000000..c519698 Binary files /dev/null and b/app/assets/images/pokeviewer/items/132.png differ diff --git a/app/assets/images/pokeviewer/items/133.png b/app/assets/images/pokeviewer/items/133.png new file mode 100644 index 0000000..9ddaf82 Binary files /dev/null and b/app/assets/images/pokeviewer/items/133.png differ diff --git a/app/assets/images/pokeviewer/items/134.png b/app/assets/images/pokeviewer/items/134.png new file mode 100644 index 0000000..da55c0d Binary files /dev/null and b/app/assets/images/pokeviewer/items/134.png differ diff --git a/app/assets/images/pokeviewer/items/135.png b/app/assets/images/pokeviewer/items/135.png new file mode 100644 index 0000000..14b5f6a Binary files /dev/null and b/app/assets/images/pokeviewer/items/135.png differ diff --git a/app/assets/images/pokeviewer/items/136.png b/app/assets/images/pokeviewer/items/136.png new file mode 100644 index 0000000..12807e0 Binary files /dev/null and b/app/assets/images/pokeviewer/items/136.png differ diff --git a/app/assets/images/pokeviewer/items/137.png b/app/assets/images/pokeviewer/items/137.png new file mode 100644 index 0000000..34ebfa2 Binary files /dev/null and b/app/assets/images/pokeviewer/items/137.png differ diff --git a/app/assets/images/pokeviewer/items/138.png b/app/assets/images/pokeviewer/items/138.png new file mode 100644 index 0000000..d25f2db Binary files /dev/null and b/app/assets/images/pokeviewer/items/138.png differ diff --git a/app/assets/images/pokeviewer/items/139.png b/app/assets/images/pokeviewer/items/139.png new file mode 100644 index 0000000..34c4b25 Binary files /dev/null and b/app/assets/images/pokeviewer/items/139.png differ diff --git a/app/assets/images/pokeviewer/items/14.png b/app/assets/images/pokeviewer/items/14.png new file mode 100644 index 0000000..f4a66c1 Binary files /dev/null and b/app/assets/images/pokeviewer/items/14.png differ diff --git a/app/assets/images/pokeviewer/items/140.png b/app/assets/images/pokeviewer/items/140.png new file mode 100644 index 0000000..bb29741 Binary files /dev/null and b/app/assets/images/pokeviewer/items/140.png differ diff --git a/app/assets/images/pokeviewer/items/141.png b/app/assets/images/pokeviewer/items/141.png new file mode 100644 index 0000000..61ee83f Binary files /dev/null and b/app/assets/images/pokeviewer/items/141.png differ diff --git a/app/assets/images/pokeviewer/items/142.png b/app/assets/images/pokeviewer/items/142.png new file mode 100644 index 0000000..0677740 Binary files /dev/null and b/app/assets/images/pokeviewer/items/142.png differ diff --git a/app/assets/images/pokeviewer/items/143.png b/app/assets/images/pokeviewer/items/143.png new file mode 100644 index 0000000..b7b4608 Binary files /dev/null and b/app/assets/images/pokeviewer/items/143.png differ diff --git a/app/assets/images/pokeviewer/items/144.png b/app/assets/images/pokeviewer/items/144.png new file mode 100644 index 0000000..e8ebfea Binary files /dev/null and b/app/assets/images/pokeviewer/items/144.png differ diff --git a/app/assets/images/pokeviewer/items/145.png b/app/assets/images/pokeviewer/items/145.png new file mode 100644 index 0000000..cfb4109 Binary files /dev/null and b/app/assets/images/pokeviewer/items/145.png differ diff --git a/app/assets/images/pokeviewer/items/146.png b/app/assets/images/pokeviewer/items/146.png new file mode 100644 index 0000000..00f63b6 Binary files /dev/null and b/app/assets/images/pokeviewer/items/146.png differ diff --git a/app/assets/images/pokeviewer/items/147.png b/app/assets/images/pokeviewer/items/147.png new file mode 100644 index 0000000..5239480 Binary files /dev/null and b/app/assets/images/pokeviewer/items/147.png differ diff --git a/app/assets/images/pokeviewer/items/148.png b/app/assets/images/pokeviewer/items/148.png new file mode 100644 index 0000000..433c773 Binary files /dev/null and b/app/assets/images/pokeviewer/items/148.png differ diff --git a/app/assets/images/pokeviewer/items/149.png b/app/assets/images/pokeviewer/items/149.png new file mode 100644 index 0000000..a165b22 Binary files /dev/null and b/app/assets/images/pokeviewer/items/149.png differ diff --git a/app/assets/images/pokeviewer/items/15.png b/app/assets/images/pokeviewer/items/15.png new file mode 100644 index 0000000..462f484 Binary files /dev/null and b/app/assets/images/pokeviewer/items/15.png differ diff --git a/app/assets/images/pokeviewer/items/150.png b/app/assets/images/pokeviewer/items/150.png new file mode 100644 index 0000000..3a28368 Binary files /dev/null and b/app/assets/images/pokeviewer/items/150.png differ diff --git a/app/assets/images/pokeviewer/items/151.png b/app/assets/images/pokeviewer/items/151.png new file mode 100644 index 0000000..9ca199a Binary files /dev/null and b/app/assets/images/pokeviewer/items/151.png differ diff --git a/app/assets/images/pokeviewer/items/152.png b/app/assets/images/pokeviewer/items/152.png new file mode 100644 index 0000000..ac296d7 Binary files /dev/null and b/app/assets/images/pokeviewer/items/152.png differ diff --git a/app/assets/images/pokeviewer/items/153.png b/app/assets/images/pokeviewer/items/153.png new file mode 100644 index 0000000..690bf70 Binary files /dev/null and b/app/assets/images/pokeviewer/items/153.png differ diff --git a/app/assets/images/pokeviewer/items/154.png b/app/assets/images/pokeviewer/items/154.png new file mode 100644 index 0000000..426e9e7 Binary files /dev/null and b/app/assets/images/pokeviewer/items/154.png differ diff --git a/app/assets/images/pokeviewer/items/155.png b/app/assets/images/pokeviewer/items/155.png new file mode 100644 index 0000000..21f321d Binary files /dev/null and b/app/assets/images/pokeviewer/items/155.png differ diff --git a/app/assets/images/pokeviewer/items/156.png b/app/assets/images/pokeviewer/items/156.png new file mode 100644 index 0000000..da96e87 Binary files /dev/null and b/app/assets/images/pokeviewer/items/156.png differ diff --git a/app/assets/images/pokeviewer/items/157.png b/app/assets/images/pokeviewer/items/157.png new file mode 100644 index 0000000..dcce2df Binary files /dev/null and b/app/assets/images/pokeviewer/items/157.png differ diff --git a/app/assets/images/pokeviewer/items/158.png b/app/assets/images/pokeviewer/items/158.png new file mode 100644 index 0000000..c768e0e Binary files /dev/null and b/app/assets/images/pokeviewer/items/158.png differ diff --git a/app/assets/images/pokeviewer/items/159.png b/app/assets/images/pokeviewer/items/159.png new file mode 100644 index 0000000..52ef5d9 Binary files /dev/null and b/app/assets/images/pokeviewer/items/159.png differ diff --git a/app/assets/images/pokeviewer/items/16.png b/app/assets/images/pokeviewer/items/16.png new file mode 100644 index 0000000..bed7f8c Binary files /dev/null and b/app/assets/images/pokeviewer/items/16.png differ diff --git a/app/assets/images/pokeviewer/items/160.png b/app/assets/images/pokeviewer/items/160.png new file mode 100644 index 0000000..017519a Binary files /dev/null and b/app/assets/images/pokeviewer/items/160.png differ diff --git a/app/assets/images/pokeviewer/items/161.png b/app/assets/images/pokeviewer/items/161.png new file mode 100644 index 0000000..3ab4470 Binary files /dev/null and b/app/assets/images/pokeviewer/items/161.png differ diff --git a/app/assets/images/pokeviewer/items/162.png b/app/assets/images/pokeviewer/items/162.png new file mode 100644 index 0000000..f953fd7 Binary files /dev/null and b/app/assets/images/pokeviewer/items/162.png differ diff --git a/app/assets/images/pokeviewer/items/163.png b/app/assets/images/pokeviewer/items/163.png new file mode 100644 index 0000000..dc72627 Binary files /dev/null and b/app/assets/images/pokeviewer/items/163.png differ diff --git a/app/assets/images/pokeviewer/items/164.png b/app/assets/images/pokeviewer/items/164.png new file mode 100644 index 0000000..e670d3f Binary files /dev/null and b/app/assets/images/pokeviewer/items/164.png differ diff --git a/app/assets/images/pokeviewer/items/165.png b/app/assets/images/pokeviewer/items/165.png new file mode 100644 index 0000000..f1b8eaa Binary files /dev/null and b/app/assets/images/pokeviewer/items/165.png differ diff --git a/app/assets/images/pokeviewer/items/166.png b/app/assets/images/pokeviewer/items/166.png new file mode 100644 index 0000000..8de081a Binary files /dev/null and b/app/assets/images/pokeviewer/items/166.png differ diff --git a/app/assets/images/pokeviewer/items/167.png b/app/assets/images/pokeviewer/items/167.png new file mode 100644 index 0000000..af3b836 Binary files /dev/null and b/app/assets/images/pokeviewer/items/167.png differ diff --git a/app/assets/images/pokeviewer/items/168.png b/app/assets/images/pokeviewer/items/168.png new file mode 100644 index 0000000..0e5be0e Binary files /dev/null and b/app/assets/images/pokeviewer/items/168.png differ diff --git a/app/assets/images/pokeviewer/items/169.png b/app/assets/images/pokeviewer/items/169.png new file mode 100644 index 0000000..9c42b25 Binary files /dev/null and b/app/assets/images/pokeviewer/items/169.png differ diff --git a/app/assets/images/pokeviewer/items/17.png b/app/assets/images/pokeviewer/items/17.png new file mode 100644 index 0000000..8624382 Binary files /dev/null and b/app/assets/images/pokeviewer/items/17.png differ diff --git a/app/assets/images/pokeviewer/items/170.png b/app/assets/images/pokeviewer/items/170.png new file mode 100644 index 0000000..4b79a0e Binary files /dev/null and b/app/assets/images/pokeviewer/items/170.png differ diff --git a/app/assets/images/pokeviewer/items/171.png b/app/assets/images/pokeviewer/items/171.png new file mode 100644 index 0000000..7160600 Binary files /dev/null and b/app/assets/images/pokeviewer/items/171.png differ diff --git a/app/assets/images/pokeviewer/items/172.png b/app/assets/images/pokeviewer/items/172.png new file mode 100644 index 0000000..e163cfd Binary files /dev/null and b/app/assets/images/pokeviewer/items/172.png differ diff --git a/app/assets/images/pokeviewer/items/173.png b/app/assets/images/pokeviewer/items/173.png new file mode 100644 index 0000000..ab3be84 Binary files /dev/null and b/app/assets/images/pokeviewer/items/173.png differ diff --git a/app/assets/images/pokeviewer/items/174.png b/app/assets/images/pokeviewer/items/174.png new file mode 100644 index 0000000..eccaa00 Binary files /dev/null and b/app/assets/images/pokeviewer/items/174.png differ diff --git a/app/assets/images/pokeviewer/items/175.png b/app/assets/images/pokeviewer/items/175.png new file mode 100644 index 0000000..723c126 Binary files /dev/null and b/app/assets/images/pokeviewer/items/175.png differ diff --git a/app/assets/images/pokeviewer/items/179.png b/app/assets/images/pokeviewer/items/179.png new file mode 100644 index 0000000..add8647 Binary files /dev/null and b/app/assets/images/pokeviewer/items/179.png differ diff --git a/app/assets/images/pokeviewer/items/18.png b/app/assets/images/pokeviewer/items/18.png new file mode 100644 index 0000000..d014ecb Binary files /dev/null and b/app/assets/images/pokeviewer/items/18.png differ diff --git a/app/assets/images/pokeviewer/items/180.png b/app/assets/images/pokeviewer/items/180.png new file mode 100644 index 0000000..e0cb8d7 Binary files /dev/null and b/app/assets/images/pokeviewer/items/180.png differ diff --git a/app/assets/images/pokeviewer/items/181.png b/app/assets/images/pokeviewer/items/181.png new file mode 100644 index 0000000..7e069dc Binary files /dev/null and b/app/assets/images/pokeviewer/items/181.png differ diff --git a/app/assets/images/pokeviewer/items/182.png b/app/assets/images/pokeviewer/items/182.png new file mode 100644 index 0000000..f18b40c Binary files /dev/null and b/app/assets/images/pokeviewer/items/182.png differ diff --git a/app/assets/images/pokeviewer/items/183.png b/app/assets/images/pokeviewer/items/183.png new file mode 100644 index 0000000..3747672 Binary files /dev/null and b/app/assets/images/pokeviewer/items/183.png differ diff --git a/app/assets/images/pokeviewer/items/184.png b/app/assets/images/pokeviewer/items/184.png new file mode 100644 index 0000000..2452372 Binary files /dev/null and b/app/assets/images/pokeviewer/items/184.png differ diff --git a/app/assets/images/pokeviewer/items/185.png b/app/assets/images/pokeviewer/items/185.png new file mode 100644 index 0000000..4c993de Binary files /dev/null and b/app/assets/images/pokeviewer/items/185.png differ diff --git a/app/assets/images/pokeviewer/items/186.png b/app/assets/images/pokeviewer/items/186.png new file mode 100644 index 0000000..67f7f7f Binary files /dev/null and b/app/assets/images/pokeviewer/items/186.png differ diff --git a/app/assets/images/pokeviewer/items/187.png b/app/assets/images/pokeviewer/items/187.png new file mode 100644 index 0000000..a89b280 Binary files /dev/null and b/app/assets/images/pokeviewer/items/187.png differ diff --git a/app/assets/images/pokeviewer/items/188.png b/app/assets/images/pokeviewer/items/188.png new file mode 100644 index 0000000..c6eb53a Binary files /dev/null and b/app/assets/images/pokeviewer/items/188.png differ diff --git a/app/assets/images/pokeviewer/items/189.png b/app/assets/images/pokeviewer/items/189.png new file mode 100644 index 0000000..dc155bb Binary files /dev/null and b/app/assets/images/pokeviewer/items/189.png differ diff --git a/app/assets/images/pokeviewer/items/19.png b/app/assets/images/pokeviewer/items/19.png new file mode 100644 index 0000000..1b4c68e Binary files /dev/null and b/app/assets/images/pokeviewer/items/19.png differ diff --git a/app/assets/images/pokeviewer/items/190.png b/app/assets/images/pokeviewer/items/190.png new file mode 100644 index 0000000..197b101 Binary files /dev/null and b/app/assets/images/pokeviewer/items/190.png differ diff --git a/app/assets/images/pokeviewer/items/191.png b/app/assets/images/pokeviewer/items/191.png new file mode 100644 index 0000000..2ee7a3b Binary files /dev/null and b/app/assets/images/pokeviewer/items/191.png differ diff --git a/app/assets/images/pokeviewer/items/192.png b/app/assets/images/pokeviewer/items/192.png new file mode 100644 index 0000000..e6d351c Binary files /dev/null and b/app/assets/images/pokeviewer/items/192.png differ diff --git a/app/assets/images/pokeviewer/items/193.png b/app/assets/images/pokeviewer/items/193.png new file mode 100644 index 0000000..49e2c79 Binary files /dev/null and b/app/assets/images/pokeviewer/items/193.png differ diff --git a/app/assets/images/pokeviewer/items/194.png b/app/assets/images/pokeviewer/items/194.png new file mode 100644 index 0000000..6e9f404 Binary files /dev/null and b/app/assets/images/pokeviewer/items/194.png differ diff --git a/app/assets/images/pokeviewer/items/195.png b/app/assets/images/pokeviewer/items/195.png new file mode 100644 index 0000000..87e69da Binary files /dev/null and b/app/assets/images/pokeviewer/items/195.png differ diff --git a/app/assets/images/pokeviewer/items/196.png b/app/assets/images/pokeviewer/items/196.png new file mode 100644 index 0000000..ee478be Binary files /dev/null and b/app/assets/images/pokeviewer/items/196.png differ diff --git a/app/assets/images/pokeviewer/items/197.png b/app/assets/images/pokeviewer/items/197.png new file mode 100644 index 0000000..7d0ca4f Binary files /dev/null and b/app/assets/images/pokeviewer/items/197.png differ diff --git a/app/assets/images/pokeviewer/items/198.png b/app/assets/images/pokeviewer/items/198.png new file mode 100644 index 0000000..d3ee680 Binary files /dev/null and b/app/assets/images/pokeviewer/items/198.png differ diff --git a/app/assets/images/pokeviewer/items/199.png b/app/assets/images/pokeviewer/items/199.png new file mode 100644 index 0000000..f0c04a4 Binary files /dev/null and b/app/assets/images/pokeviewer/items/199.png differ diff --git a/app/assets/images/pokeviewer/items/2.png b/app/assets/images/pokeviewer/items/2.png new file mode 100644 index 0000000..728f552 Binary files /dev/null and b/app/assets/images/pokeviewer/items/2.png differ diff --git a/app/assets/images/pokeviewer/items/20.png b/app/assets/images/pokeviewer/items/20.png new file mode 100644 index 0000000..3d163c4 Binary files /dev/null and b/app/assets/images/pokeviewer/items/20.png differ diff --git a/app/assets/images/pokeviewer/items/200.png b/app/assets/images/pokeviewer/items/200.png new file mode 100644 index 0000000..1c10aaf Binary files /dev/null and b/app/assets/images/pokeviewer/items/200.png differ diff --git a/app/assets/images/pokeviewer/items/201.png b/app/assets/images/pokeviewer/items/201.png new file mode 100644 index 0000000..41fd744 Binary files /dev/null and b/app/assets/images/pokeviewer/items/201.png differ diff --git a/app/assets/images/pokeviewer/items/202.png b/app/assets/images/pokeviewer/items/202.png new file mode 100644 index 0000000..d4e2370 Binary files /dev/null and b/app/assets/images/pokeviewer/items/202.png differ diff --git a/app/assets/images/pokeviewer/items/203.png b/app/assets/images/pokeviewer/items/203.png new file mode 100644 index 0000000..748adc0 Binary files /dev/null and b/app/assets/images/pokeviewer/items/203.png differ diff --git a/app/assets/images/pokeviewer/items/204.png b/app/assets/images/pokeviewer/items/204.png new file mode 100644 index 0000000..8601b20 Binary files /dev/null and b/app/assets/images/pokeviewer/items/204.png differ diff --git a/app/assets/images/pokeviewer/items/205.png b/app/assets/images/pokeviewer/items/205.png new file mode 100644 index 0000000..c7fc9e3 Binary files /dev/null and b/app/assets/images/pokeviewer/items/205.png differ diff --git a/app/assets/images/pokeviewer/items/206.png b/app/assets/images/pokeviewer/items/206.png new file mode 100644 index 0000000..f4244e8 Binary files /dev/null and b/app/assets/images/pokeviewer/items/206.png differ diff --git a/app/assets/images/pokeviewer/items/207.png b/app/assets/images/pokeviewer/items/207.png new file mode 100644 index 0000000..63144d8 Binary files /dev/null and b/app/assets/images/pokeviewer/items/207.png differ diff --git a/app/assets/images/pokeviewer/items/208.png b/app/assets/images/pokeviewer/items/208.png new file mode 100644 index 0000000..fc35f09 Binary files /dev/null and b/app/assets/images/pokeviewer/items/208.png differ diff --git a/app/assets/images/pokeviewer/items/209.png b/app/assets/images/pokeviewer/items/209.png new file mode 100644 index 0000000..d517431 Binary files /dev/null and b/app/assets/images/pokeviewer/items/209.png differ diff --git a/app/assets/images/pokeviewer/items/21.png b/app/assets/images/pokeviewer/items/21.png new file mode 100644 index 0000000..26d6ff2 Binary files /dev/null and b/app/assets/images/pokeviewer/items/21.png differ diff --git a/app/assets/images/pokeviewer/items/210.png b/app/assets/images/pokeviewer/items/210.png new file mode 100644 index 0000000..a21675d Binary files /dev/null and b/app/assets/images/pokeviewer/items/210.png differ diff --git a/app/assets/images/pokeviewer/items/211.png b/app/assets/images/pokeviewer/items/211.png new file mode 100644 index 0000000..7fd1e20 Binary files /dev/null and b/app/assets/images/pokeviewer/items/211.png differ diff --git a/app/assets/images/pokeviewer/items/212.png b/app/assets/images/pokeviewer/items/212.png new file mode 100644 index 0000000..49b0722 Binary files /dev/null and b/app/assets/images/pokeviewer/items/212.png differ diff --git a/app/assets/images/pokeviewer/items/213.png b/app/assets/images/pokeviewer/items/213.png new file mode 100644 index 0000000..7904f63 Binary files /dev/null and b/app/assets/images/pokeviewer/items/213.png differ diff --git a/app/assets/images/pokeviewer/items/214.png b/app/assets/images/pokeviewer/items/214.png new file mode 100644 index 0000000..23d1a95 Binary files /dev/null and b/app/assets/images/pokeviewer/items/214.png differ diff --git a/app/assets/images/pokeviewer/items/215.png b/app/assets/images/pokeviewer/items/215.png new file mode 100644 index 0000000..faccf15 Binary files /dev/null and b/app/assets/images/pokeviewer/items/215.png differ diff --git a/app/assets/images/pokeviewer/items/216.png b/app/assets/images/pokeviewer/items/216.png new file mode 100644 index 0000000..1da7390 Binary files /dev/null and b/app/assets/images/pokeviewer/items/216.png differ diff --git a/app/assets/images/pokeviewer/items/217.png b/app/assets/images/pokeviewer/items/217.png new file mode 100644 index 0000000..f2fe8d1 Binary files /dev/null and b/app/assets/images/pokeviewer/items/217.png differ diff --git a/app/assets/images/pokeviewer/items/218.png b/app/assets/images/pokeviewer/items/218.png new file mode 100644 index 0000000..f60d645 Binary files /dev/null and b/app/assets/images/pokeviewer/items/218.png differ diff --git a/app/assets/images/pokeviewer/items/219.png b/app/assets/images/pokeviewer/items/219.png new file mode 100644 index 0000000..8c55404 Binary files /dev/null and b/app/assets/images/pokeviewer/items/219.png differ diff --git a/app/assets/images/pokeviewer/items/22.png b/app/assets/images/pokeviewer/items/22.png new file mode 100644 index 0000000..f06c6f8 Binary files /dev/null and b/app/assets/images/pokeviewer/items/22.png differ diff --git a/app/assets/images/pokeviewer/items/220.png b/app/assets/images/pokeviewer/items/220.png new file mode 100644 index 0000000..3bdf3eb Binary files /dev/null and b/app/assets/images/pokeviewer/items/220.png differ diff --git a/app/assets/images/pokeviewer/items/221.png b/app/assets/images/pokeviewer/items/221.png new file mode 100644 index 0000000..4947fb6 Binary files /dev/null and b/app/assets/images/pokeviewer/items/221.png differ diff --git a/app/assets/images/pokeviewer/items/222.png b/app/assets/images/pokeviewer/items/222.png new file mode 100644 index 0000000..2d6cfa5 Binary files /dev/null and b/app/assets/images/pokeviewer/items/222.png differ diff --git a/app/assets/images/pokeviewer/items/223.png b/app/assets/images/pokeviewer/items/223.png new file mode 100644 index 0000000..ebd38bd Binary files /dev/null and b/app/assets/images/pokeviewer/items/223.png differ diff --git a/app/assets/images/pokeviewer/items/224.png b/app/assets/images/pokeviewer/items/224.png new file mode 100644 index 0000000..73ac747 Binary files /dev/null and b/app/assets/images/pokeviewer/items/224.png differ diff --git a/app/assets/images/pokeviewer/items/225.png b/app/assets/images/pokeviewer/items/225.png new file mode 100644 index 0000000..804a3c6 Binary files /dev/null and b/app/assets/images/pokeviewer/items/225.png differ diff --git a/app/assets/images/pokeviewer/items/23.png b/app/assets/images/pokeviewer/items/23.png new file mode 100644 index 0000000..6347679 Binary files /dev/null and b/app/assets/images/pokeviewer/items/23.png differ diff --git a/app/assets/images/pokeviewer/items/24.png b/app/assets/images/pokeviewer/items/24.png new file mode 100644 index 0000000..a560275 Binary files /dev/null and b/app/assets/images/pokeviewer/items/24.png differ diff --git a/app/assets/images/pokeviewer/items/25.png b/app/assets/images/pokeviewer/items/25.png new file mode 100644 index 0000000..a9c68d1 Binary files /dev/null and b/app/assets/images/pokeviewer/items/25.png differ diff --git a/app/assets/images/pokeviewer/items/254.png b/app/assets/images/pokeviewer/items/254.png new file mode 100644 index 0000000..4617979 Binary files /dev/null and b/app/assets/images/pokeviewer/items/254.png differ diff --git a/app/assets/images/pokeviewer/items/255.png b/app/assets/images/pokeviewer/items/255.png new file mode 100644 index 0000000..b181938 Binary files /dev/null and b/app/assets/images/pokeviewer/items/255.png differ diff --git a/app/assets/images/pokeviewer/items/256.png b/app/assets/images/pokeviewer/items/256.png new file mode 100644 index 0000000..7f05b0f Binary files /dev/null and b/app/assets/images/pokeviewer/items/256.png differ diff --git a/app/assets/images/pokeviewer/items/257.png b/app/assets/images/pokeviewer/items/257.png new file mode 100644 index 0000000..99e27e6 Binary files /dev/null and b/app/assets/images/pokeviewer/items/257.png differ diff --git a/app/assets/images/pokeviewer/items/258.png b/app/assets/images/pokeviewer/items/258.png new file mode 100644 index 0000000..060fe3a Binary files /dev/null and b/app/assets/images/pokeviewer/items/258.png differ diff --git a/app/assets/images/pokeviewer/items/26.png b/app/assets/images/pokeviewer/items/26.png new file mode 100644 index 0000000..278ff99 Binary files /dev/null and b/app/assets/images/pokeviewer/items/26.png differ diff --git a/app/assets/images/pokeviewer/items/27.png b/app/assets/images/pokeviewer/items/27.png new file mode 100644 index 0000000..fca5cc2 Binary files /dev/null and b/app/assets/images/pokeviewer/items/27.png differ diff --git a/app/assets/images/pokeviewer/items/276.png b/app/assets/images/pokeviewer/items/276.png new file mode 100644 index 0000000..237e432 Binary files /dev/null and b/app/assets/images/pokeviewer/items/276.png differ diff --git a/app/assets/images/pokeviewer/items/277.png b/app/assets/images/pokeviewer/items/277.png new file mode 100644 index 0000000..e969a63 Binary files /dev/null and b/app/assets/images/pokeviewer/items/277.png differ diff --git a/app/assets/images/pokeviewer/items/28.png b/app/assets/images/pokeviewer/items/28.png new file mode 100644 index 0000000..5f2f5cd Binary files /dev/null and b/app/assets/images/pokeviewer/items/28.png differ diff --git a/app/assets/images/pokeviewer/items/29.png b/app/assets/images/pokeviewer/items/29.png new file mode 100644 index 0000000..a355139 Binary files /dev/null and b/app/assets/images/pokeviewer/items/29.png differ diff --git a/app/assets/images/pokeviewer/items/3.png b/app/assets/images/pokeviewer/items/3.png new file mode 100644 index 0000000..af321b0 Binary files /dev/null and b/app/assets/images/pokeviewer/items/3.png differ diff --git a/app/assets/images/pokeviewer/items/30.png b/app/assets/images/pokeviewer/items/30.png new file mode 100644 index 0000000..e301ff5 Binary files /dev/null and b/app/assets/images/pokeviewer/items/30.png differ diff --git a/app/assets/images/pokeviewer/items/31.png b/app/assets/images/pokeviewer/items/31.png new file mode 100644 index 0000000..b9a909b Binary files /dev/null and b/app/assets/images/pokeviewer/items/31.png differ diff --git a/app/assets/images/pokeviewer/items/32.png b/app/assets/images/pokeviewer/items/32.png new file mode 100644 index 0000000..205be60 Binary files /dev/null and b/app/assets/images/pokeviewer/items/32.png differ diff --git a/app/assets/images/pokeviewer/items/33.png b/app/assets/images/pokeviewer/items/33.png new file mode 100644 index 0000000..d534d3f Binary files /dev/null and b/app/assets/images/pokeviewer/items/33.png differ diff --git a/app/assets/images/pokeviewer/items/34.png b/app/assets/images/pokeviewer/items/34.png new file mode 100644 index 0000000..a807eaa Binary files /dev/null and b/app/assets/images/pokeviewer/items/34.png differ diff --git a/app/assets/images/pokeviewer/items/35.png b/app/assets/images/pokeviewer/items/35.png new file mode 100644 index 0000000..b320be7 Binary files /dev/null and b/app/assets/images/pokeviewer/items/35.png differ diff --git a/app/assets/images/pokeviewer/items/36.png b/app/assets/images/pokeviewer/items/36.png new file mode 100644 index 0000000..e64854d Binary files /dev/null and b/app/assets/images/pokeviewer/items/36.png differ diff --git a/app/assets/images/pokeviewer/items/37.png b/app/assets/images/pokeviewer/items/37.png new file mode 100644 index 0000000..0eda30e Binary files /dev/null and b/app/assets/images/pokeviewer/items/37.png differ diff --git a/app/assets/images/pokeviewer/items/38.png b/app/assets/images/pokeviewer/items/38.png new file mode 100644 index 0000000..a911dc0 Binary files /dev/null and b/app/assets/images/pokeviewer/items/38.png differ diff --git a/app/assets/images/pokeviewer/items/39.png b/app/assets/images/pokeviewer/items/39.png new file mode 100644 index 0000000..14fff86 Binary files /dev/null and b/app/assets/images/pokeviewer/items/39.png differ diff --git a/app/assets/images/pokeviewer/items/4.png b/app/assets/images/pokeviewer/items/4.png new file mode 100644 index 0000000..538b46f Binary files /dev/null and b/app/assets/images/pokeviewer/items/4.png differ diff --git a/app/assets/images/pokeviewer/items/40.png b/app/assets/images/pokeviewer/items/40.png new file mode 100644 index 0000000..3150a81 Binary files /dev/null and b/app/assets/images/pokeviewer/items/40.png differ diff --git a/app/assets/images/pokeviewer/items/41.png b/app/assets/images/pokeviewer/items/41.png new file mode 100644 index 0000000..9395184 Binary files /dev/null and b/app/assets/images/pokeviewer/items/41.png differ diff --git a/app/assets/images/pokeviewer/items/42.png b/app/assets/images/pokeviewer/items/42.png new file mode 100644 index 0000000..cf6a30a Binary files /dev/null and b/app/assets/images/pokeviewer/items/42.png differ diff --git a/app/assets/images/pokeviewer/items/43.png b/app/assets/images/pokeviewer/items/43.png new file mode 100644 index 0000000..c8ced2f Binary files /dev/null and b/app/assets/images/pokeviewer/items/43.png differ diff --git a/app/assets/images/pokeviewer/items/44.png b/app/assets/images/pokeviewer/items/44.png new file mode 100644 index 0000000..6a47967 Binary files /dev/null and b/app/assets/images/pokeviewer/items/44.png differ diff --git a/app/assets/images/pokeviewer/items/45.png b/app/assets/images/pokeviewer/items/45.png new file mode 100644 index 0000000..0f83352 Binary files /dev/null and b/app/assets/images/pokeviewer/items/45.png differ diff --git a/app/assets/images/pokeviewer/items/46.png b/app/assets/images/pokeviewer/items/46.png new file mode 100644 index 0000000..f770215 Binary files /dev/null and b/app/assets/images/pokeviewer/items/46.png differ diff --git a/app/assets/images/pokeviewer/items/47.png b/app/assets/images/pokeviewer/items/47.png new file mode 100644 index 0000000..945be78 Binary files /dev/null and b/app/assets/images/pokeviewer/items/47.png differ diff --git a/app/assets/images/pokeviewer/items/48.png b/app/assets/images/pokeviewer/items/48.png new file mode 100644 index 0000000..4a8be33 Binary files /dev/null and b/app/assets/images/pokeviewer/items/48.png differ diff --git a/app/assets/images/pokeviewer/items/49.png b/app/assets/images/pokeviewer/items/49.png new file mode 100644 index 0000000..0ee6cd5 Binary files /dev/null and b/app/assets/images/pokeviewer/items/49.png differ diff --git a/app/assets/images/pokeviewer/items/5.png b/app/assets/images/pokeviewer/items/5.png new file mode 100644 index 0000000..e1996f8 Binary files /dev/null and b/app/assets/images/pokeviewer/items/5.png differ diff --git a/app/assets/images/pokeviewer/items/50.png b/app/assets/images/pokeviewer/items/50.png new file mode 100644 index 0000000..cdd590f Binary files /dev/null and b/app/assets/images/pokeviewer/items/50.png differ diff --git a/app/assets/images/pokeviewer/items/51.png b/app/assets/images/pokeviewer/items/51.png new file mode 100644 index 0000000..39b7af8 Binary files /dev/null and b/app/assets/images/pokeviewer/items/51.png differ diff --git a/app/assets/images/pokeviewer/items/6.png b/app/assets/images/pokeviewer/items/6.png new file mode 100644 index 0000000..22acd42 Binary files /dev/null and b/app/assets/images/pokeviewer/items/6.png differ diff --git a/app/assets/images/pokeviewer/items/63.png b/app/assets/images/pokeviewer/items/63.png new file mode 100644 index 0000000..f3a759f Binary files /dev/null and b/app/assets/images/pokeviewer/items/63.png differ diff --git a/app/assets/images/pokeviewer/items/64.png b/app/assets/images/pokeviewer/items/64.png new file mode 100644 index 0000000..328d5a8 Binary files /dev/null and b/app/assets/images/pokeviewer/items/64.png differ diff --git a/app/assets/images/pokeviewer/items/65.png b/app/assets/images/pokeviewer/items/65.png new file mode 100644 index 0000000..01efb3d Binary files /dev/null and b/app/assets/images/pokeviewer/items/65.png differ diff --git a/app/assets/images/pokeviewer/items/66.png b/app/assets/images/pokeviewer/items/66.png new file mode 100644 index 0000000..37a5aa2 Binary files /dev/null and b/app/assets/images/pokeviewer/items/66.png differ diff --git a/app/assets/images/pokeviewer/items/67.png b/app/assets/images/pokeviewer/items/67.png new file mode 100644 index 0000000..80cf89f Binary files /dev/null and b/app/assets/images/pokeviewer/items/67.png differ diff --git a/app/assets/images/pokeviewer/items/68.png b/app/assets/images/pokeviewer/items/68.png new file mode 100644 index 0000000..a0b68cc Binary files /dev/null and b/app/assets/images/pokeviewer/items/68.png differ diff --git a/app/assets/images/pokeviewer/items/69.png b/app/assets/images/pokeviewer/items/69.png new file mode 100644 index 0000000..beb8014 Binary files /dev/null and b/app/assets/images/pokeviewer/items/69.png differ diff --git a/app/assets/images/pokeviewer/items/7.png b/app/assets/images/pokeviewer/items/7.png new file mode 100644 index 0000000..50ce190 Binary files /dev/null and b/app/assets/images/pokeviewer/items/7.png differ diff --git a/app/assets/images/pokeviewer/items/70.png b/app/assets/images/pokeviewer/items/70.png new file mode 100644 index 0000000..d01ad48 Binary files /dev/null and b/app/assets/images/pokeviewer/items/70.png differ diff --git a/app/assets/images/pokeviewer/items/71.png b/app/assets/images/pokeviewer/items/71.png new file mode 100644 index 0000000..a91eded Binary files /dev/null and b/app/assets/images/pokeviewer/items/71.png differ diff --git a/app/assets/images/pokeviewer/items/73.png b/app/assets/images/pokeviewer/items/73.png new file mode 100644 index 0000000..2a48637 Binary files /dev/null and b/app/assets/images/pokeviewer/items/73.png differ diff --git a/app/assets/images/pokeviewer/items/74.png b/app/assets/images/pokeviewer/items/74.png new file mode 100644 index 0000000..10405fb Binary files /dev/null and b/app/assets/images/pokeviewer/items/74.png differ diff --git a/app/assets/images/pokeviewer/items/75.png b/app/assets/images/pokeviewer/items/75.png new file mode 100644 index 0000000..5f77463 Binary files /dev/null and b/app/assets/images/pokeviewer/items/75.png differ diff --git a/app/assets/images/pokeviewer/items/76.png b/app/assets/images/pokeviewer/items/76.png new file mode 100644 index 0000000..a3deb69 Binary files /dev/null and b/app/assets/images/pokeviewer/items/76.png differ diff --git a/app/assets/images/pokeviewer/items/77.png b/app/assets/images/pokeviewer/items/77.png new file mode 100644 index 0000000..f612379 Binary files /dev/null and b/app/assets/images/pokeviewer/items/77.png differ diff --git a/app/assets/images/pokeviewer/items/78.png b/app/assets/images/pokeviewer/items/78.png new file mode 100644 index 0000000..50a7160 Binary files /dev/null and b/app/assets/images/pokeviewer/items/78.png differ diff --git a/app/assets/images/pokeviewer/items/79.png b/app/assets/images/pokeviewer/items/79.png new file mode 100644 index 0000000..31cd933 Binary files /dev/null and b/app/assets/images/pokeviewer/items/79.png differ diff --git a/app/assets/images/pokeviewer/items/8.png b/app/assets/images/pokeviewer/items/8.png new file mode 100644 index 0000000..1a8f14f Binary files /dev/null and b/app/assets/images/pokeviewer/items/8.png differ diff --git a/app/assets/images/pokeviewer/items/80.png b/app/assets/images/pokeviewer/items/80.png new file mode 100644 index 0000000..2dcef47 Binary files /dev/null and b/app/assets/images/pokeviewer/items/80.png differ diff --git a/app/assets/images/pokeviewer/items/81.png b/app/assets/images/pokeviewer/items/81.png new file mode 100644 index 0000000..98cf70e Binary files /dev/null and b/app/assets/images/pokeviewer/items/81.png differ diff --git a/app/assets/images/pokeviewer/items/83.png b/app/assets/images/pokeviewer/items/83.png new file mode 100644 index 0000000..50794dc Binary files /dev/null and b/app/assets/images/pokeviewer/items/83.png differ diff --git a/app/assets/images/pokeviewer/items/84.png b/app/assets/images/pokeviewer/items/84.png new file mode 100644 index 0000000..4221129 Binary files /dev/null and b/app/assets/images/pokeviewer/items/84.png differ diff --git a/app/assets/images/pokeviewer/items/85.png b/app/assets/images/pokeviewer/items/85.png new file mode 100644 index 0000000..108a48a Binary files /dev/null and b/app/assets/images/pokeviewer/items/85.png differ diff --git a/app/assets/images/pokeviewer/items/86.png b/app/assets/images/pokeviewer/items/86.png new file mode 100644 index 0000000..9e43a2e Binary files /dev/null and b/app/assets/images/pokeviewer/items/86.png differ diff --git a/app/assets/images/pokeviewer/items/9.png b/app/assets/images/pokeviewer/items/9.png new file mode 100644 index 0000000..8ce579f Binary files /dev/null and b/app/assets/images/pokeviewer/items/9.png differ diff --git a/app/assets/images/pokeviewer/items/93.png b/app/assets/images/pokeviewer/items/93.png new file mode 100644 index 0000000..37ac46d Binary files /dev/null and b/app/assets/images/pokeviewer/items/93.png differ diff --git a/app/assets/images/pokeviewer/items/94.png b/app/assets/images/pokeviewer/items/94.png new file mode 100644 index 0000000..635e4ef Binary files /dev/null and b/app/assets/images/pokeviewer/items/94.png differ diff --git a/app/assets/images/pokeviewer/items/95.png b/app/assets/images/pokeviewer/items/95.png new file mode 100644 index 0000000..351fcea Binary files /dev/null and b/app/assets/images/pokeviewer/items/95.png differ diff --git a/app/assets/images/pokeviewer/items/96.png b/app/assets/images/pokeviewer/items/96.png new file mode 100644 index 0000000..0e28b0c Binary files /dev/null and b/app/assets/images/pokeviewer/items/96.png differ diff --git a/app/assets/images/pokeviewer/items/97.png b/app/assets/images/pokeviewer/items/97.png new file mode 100644 index 0000000..d323b0c Binary files /dev/null and b/app/assets/images/pokeviewer/items/97.png differ diff --git a/app/assets/images/pokeviewer/items/98.png b/app/assets/images/pokeviewer/items/98.png new file mode 100644 index 0000000..cab7e22 Binary files /dev/null and b/app/assets/images/pokeviewer/items/98.png differ diff --git a/app/assets/images/pokeviewer/items/tms/bug.png b/app/assets/images/pokeviewer/items/tms/bug.png new file mode 100644 index 0000000..c1b41c2 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/bug.png differ diff --git a/app/assets/images/pokeviewer/items/tms/dark.png b/app/assets/images/pokeviewer/items/tms/dark.png new file mode 100644 index 0000000..dc5e08b Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/dark.png differ diff --git a/app/assets/images/pokeviewer/items/tms/dragon.png b/app/assets/images/pokeviewer/items/tms/dragon.png new file mode 100644 index 0000000..d79fb19 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/dragon.png differ diff --git a/app/assets/images/pokeviewer/items/tms/electric.png b/app/assets/images/pokeviewer/items/tms/electric.png new file mode 100644 index 0000000..c9a00cd Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/electric.png differ diff --git a/app/assets/images/pokeviewer/items/tms/fighting.png b/app/assets/images/pokeviewer/items/tms/fighting.png new file mode 100644 index 0000000..7638a80 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/fighting.png differ diff --git a/app/assets/images/pokeviewer/items/tms/fire.png b/app/assets/images/pokeviewer/items/tms/fire.png new file mode 100644 index 0000000..2046741 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/fire.png differ diff --git a/app/assets/images/pokeviewer/items/tms/flying.png b/app/assets/images/pokeviewer/items/tms/flying.png new file mode 100644 index 0000000..38931c1 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/flying.png differ diff --git a/app/assets/images/pokeviewer/items/tms/ghost.png b/app/assets/images/pokeviewer/items/tms/ghost.png new file mode 100644 index 0000000..3315118 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/ghost.png differ diff --git a/app/assets/images/pokeviewer/items/tms/grass.png b/app/assets/images/pokeviewer/items/tms/grass.png new file mode 100644 index 0000000..4e48ec3 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/grass.png differ diff --git a/app/assets/images/pokeviewer/items/tms/ground.png b/app/assets/images/pokeviewer/items/tms/ground.png new file mode 100644 index 0000000..e3a259e Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/ground.png differ diff --git a/app/assets/images/pokeviewer/items/tms/ice.png b/app/assets/images/pokeviewer/items/tms/ice.png new file mode 100644 index 0000000..35ad64b Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/ice.png differ diff --git a/app/assets/images/pokeviewer/items/tms/normal.png b/app/assets/images/pokeviewer/items/tms/normal.png new file mode 100644 index 0000000..803e1a0 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/normal.png differ diff --git a/app/assets/images/pokeviewer/items/tms/poison.png b/app/assets/images/pokeviewer/items/tms/poison.png new file mode 100644 index 0000000..26ed70b Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/poison.png differ diff --git a/app/assets/images/pokeviewer/items/tms/psychic.png b/app/assets/images/pokeviewer/items/tms/psychic.png new file mode 100644 index 0000000..26d809d Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/psychic.png differ diff --git a/app/assets/images/pokeviewer/items/tms/rock.png b/app/assets/images/pokeviewer/items/tms/rock.png new file mode 100644 index 0000000..c37c755 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/rock.png differ diff --git a/app/assets/images/pokeviewer/items/tms/steel.png b/app/assets/images/pokeviewer/items/tms/steel.png new file mode 100644 index 0000000..2741c00 Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/steel.png differ diff --git a/app/assets/images/pokeviewer/items/tms/water.png b/app/assets/images/pokeviewer/items/tms/water.png new file mode 100644 index 0000000..f0f695d Binary files /dev/null and b/app/assets/images/pokeviewer/items/tms/water.png differ diff --git a/app/assets/stylesheets/pokeviewer/pokemon.css.scss b/app/assets/stylesheets/pokeviewer/pokemon.css.scss index f44b499..ca6ae9c 100644 --- a/app/assets/stylesheets/pokeviewer/pokemon.css.scss +++ b/app/assets/stylesheets/pokeviewer/pokemon.css.scss @@ -161,6 +161,7 @@ body { box-shadow: 0px 0px 2px 1px #B3B3B3; border-radius: 4px; position: absolute; + max-width: 45ch; .pc-data-name { font-weight: bold; diff --git a/app/jobs/pokeviewer/extract_save_data_job.rb b/app/jobs/pokeviewer/extract_save_data_job.rb index b60a8c5..546e6d2 100644 --- a/app/jobs/pokeviewer/extract_save_data_job.rb +++ b/app/jobs/pokeviewer/extract_save_data_job.rb @@ -120,7 +120,7 @@ module Pokeviewer rev.smartness = param["smartness"] rev.toughness = param["toughness"] rev.sheen = param["sheen"] - rev.hold_item = param["heldItem"] + rev.item_id = param["heldItem"] if param.key? "heldItem" rev.move_1_id = param["moves"][0]["id"] rev.move_1_pp_bonuses = param["moves"][0]["ppBonuses"] diff --git a/app/models/pokeviewer/item.rb b/app/models/pokeviewer/item.rb new file mode 100644 index 0000000..d03c584 --- /dev/null +++ b/app/models/pokeviewer/item.rb @@ -0,0 +1,43 @@ +module Pokeviewer + class Item < ApplicationRecord + validates :name, presence: true + + belongs_to :move, optional: true + validates :move, presence: true, if: :tm? + + validates :rs_description, presence: true, unless: :tm? + validates :frlg_description, presence: true, unless: :tm? + + def description(game) + if game == :emerald + if not emerald_description.nil? + emerald_description + elsif not rs_description.nil? + rs_description + else + move.description game + end + elsif game == :firered or game == :leafgreen + if not frlg_description.nil? + frlg_description + else + move.description game + end + else + if not rs_description.nil? + rs_description + else + move.description game + end + end + end + + def icon_path + if tm? + "pokeviewer/items/tms/#{move.move_type}.png" + else + "pokeviewer/items/#{id}.png" + end + end + end +end diff --git a/app/models/pokeviewer/move.rb b/app/models/pokeviewer/move.rb index 337ac11..3ef6a9c 100644 --- a/app/models/pokeviewer/move.rb +++ b/app/models/pokeviewer/move.rb @@ -1,10 +1,31 @@ module Pokeviewer class Move < ApplicationRecord + extend Enumerize + has_many :revision_moves has_many :revisions, through: :revision_moves validates :name, presence: true, uniqueness: true + validates :pp, presence: true, numericality: { greater_than_or_equal_to: 1, only_integer: true } + + validates :move_type, presence: true + enumerize :move_type, in: [:normal, :fighting, :flying, :poison, :ground, + :rock, :bug, :ghost, :steel, :mystery, :fire, :water, :grass, :electric, + :psychic, :ice, :dragon, :dark], predicates: true + + validates :rs_description, presence: true + validates :frlg_description, presence: true + + def description(game) + if game == :emerald and not emerald_description.nil? + emerald_description + elsif game == :firered or game == :leafgreen + frlg_description + else + rs_description + end + end end end diff --git a/app/models/pokeviewer/revision.rb b/app/models/pokeviewer/revision.rb index ab4dfd3..b77bb1f 100644 --- a/app/models/pokeviewer/revision.rb +++ b/app/models/pokeviewer/revision.rb @@ -6,7 +6,7 @@ module Pokeviewer diff :nickname, :level, :hp, :attack, :defense, :special_attack, :special_defense, :speed, :coolness, :beauty, :cuteness, - :smartness, :toughness, :sheen, :hold_item, :move_1_id, :move_2_id, + :smartness, :toughness, :sheen, :item_id, :move_1_id, :move_2_id, :move_3_id, :move_4_id, :move_1_pp_bonuses, :move_2_pp_bonuses, :move_3_pp_bonuses, :move_4_pp_bonuses, :cool_ribbons, :beauty_ribbons, :cute_ribbons, :smart_ribbons, :tough_ribbons, :champion_ribbon, @@ -79,6 +79,8 @@ module Pokeviewer less_than_or_equal_to: 10, only_integer: true } + belongs_to :item, optional: true + belongs_to :move_1, class_name: "Move" belongs_to :move_2, class_name: "Move", optional: true belongs_to :move_3, class_name: "Move", optional: true diff --git a/app/views/pokeviewer/pokemon/show.html.haml b/app/views/pokeviewer/pokemon/show.html.haml index e90148e..9e892a7 100644 --- a/app/views/pokeviewer/pokemon/show.html.haml +++ b/app/views/pokeviewer/pokemon/show.html.haml @@ -88,3 +88,13 @@ .pkv-hover .pc-data-name= ribbon[:name] = ribbon[:description] + .pokemon-etc + .pd-details Misc + - unless @pokemon.revisions.last.item.nil? + .pd-hold-item.pkv-has-hover + = image_tag(@pokemon.revisions.last.item.icon_path) + .pkv-hover + .pc-data-name= @pokemon.revisions.last.item.name + - if @pokemon.revisions.last.item.tm? + .pc-move-name= @pokemon.revisions.last.item.move.name + = @pokemon.revisions.last.item.description(@pokemon.trainer.game) diff --git a/db/migrate/20170916234251_create_pokeviewer_pokemon.rb b/db/migrate/20170916234251_create_pokeviewer_pokemon.rb index dd9994c..a8b17af 100644 --- a/db/migrate/20170916234251_create_pokeviewer_pokemon.rb +++ b/db/migrate/20170916234251_create_pokeviewer_pokemon.rb @@ -25,7 +25,7 @@ class CreatePokeviewerPokemon < ActiveRecord::Migration[5.1] add_foreign_key :pokeviewer_pokemon, :pokeviewer_species, column: :species_id - add_foreign_key :pokeviewer_pokemon, :pokeviewer_trainer, + add_foreign_key :pokeviewer_pokemon, :pokeviewer_trainers, column: :trainer_id end end diff --git a/db/migrate/20170924224550_create_pokeviewer_boxes.rb b/db/migrate/20170924224550_create_pokeviewer_boxes.rb index 02f6fa9..4db2108 100644 --- a/db/migrate/20170924224550_create_pokeviewer_boxes.rb +++ b/db/migrate/20170924224550_create_pokeviewer_boxes.rb @@ -8,7 +8,7 @@ class CreatePokeviewerBoxes < ActiveRecord::Migration[5.1] t.timestamps end - add_foreign_key :pokeviewer_boxes, :pokeviewer_trainer, column: :trainer_id + add_foreign_key :pokeviewer_boxes, :pokeviewer_trainers, column: :trainer_id add_index :pokeviewer_boxes, [:trainer_id, :number], unique: true end diff --git a/db/migrate/20170930185514_create_pokeviewer_items.rb b/db/migrate/20170930185514_create_pokeviewer_items.rb new file mode 100644 index 0000000..82cf3c2 --- /dev/null +++ b/db/migrate/20170930185514_create_pokeviewer_items.rb @@ -0,0 +1,16 @@ +class CreatePokeviewerItems < ActiveRecord::Migration[5.1] + def change + create_table :pokeviewer_items do |t| + t.string :name, null: false + t.boolean :tm, null: false, default: false + t.references :move, null: true + t.string :rs_description + t.string :frlg_description + t.string :emerald_description + + t.timestamps + end + + add_foreign_key :pokeviewer_items, :pokeviewer_moves, column: :move_id + end +end diff --git a/db/migrate/20170930190647_add_description_and_type_to_moves.rb b/db/migrate/20170930190647_add_description_and_type_to_moves.rb new file mode 100644 index 0000000..d2fe032 --- /dev/null +++ b/db/migrate/20170930190647_add_description_and_type_to_moves.rb @@ -0,0 +1,14 @@ +class AddDescriptionAndTypeToMoves < ActiveRecord::Migration[5.1] + def change + change_table :pokeviewer_moves do |t| + t.string :move_type, null: false, default: "" + t.string :rs_description, null: false, default: "" + t.string :frlg_description, null: false, default: "" + t.string :emerald_description + end + + change_column_default :pokeviewer_moves, :move_type, nil + change_column_default :pokeviewer_moves, :rs_description, nil + change_column_default :pokeviewer_moves, :frlg_description, nil + end +end diff --git a/db/migrate/20170930213633_rename_revision_hold_item.rb b/db/migrate/20170930213633_rename_revision_hold_item.rb new file mode 100644 index 0000000..b2ff736 --- /dev/null +++ b/db/migrate/20170930213633_rename_revision_hold_item.rb @@ -0,0 +1,9 @@ +class RenameRevisionHoldItem < ActiveRecord::Migration[5.1] + def change + change_table :pokeviewer_revisions do |t| + t.rename :hold_item, :item_id + end + + add_foreign_key :pokeviewer_revisions, :pokeviewer_items, column: :item_id + end +end diff --git a/db/seeds.rb b/db/seeds.rb index 500e3c6..d39946d 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -386,360 +386,1074 @@ module Pokeviewer Species.create(id: 2, name: "Ivysaur") Species.create(id: 1, name: "Bulbasaur") - Move.create(id: 354, name: "Psycho Boost", pp: 5) - Move.create(id: 353, name: "Doom Desire", pp: 5) - Move.create(id: 352, name: "Water Pulse", pp: 20) - Move.create(id: 351, name: "Shock Wave", pp: 20) - Move.create(id: 350, name: "Rock Blast", pp: 10) - Move.create(id: 349, name: "Dragon Dance", pp: 20) - Move.create(id: 348, name: "Leaf Blade", pp: 15) - Move.create(id: 347, name: "Calm Mind", pp: 20) - Move.create(id: 346, name: "Water Sport", pp: 15) - Move.create(id: 345, name: "Magical Leaf", pp: 20) - Move.create(id: 344, name: "Volt Tackle", pp: 15) - Move.create(id: 343, name: "Covet", pp: 25) - Move.create(id: 342, name: "Poison Tail", pp: 25) - Move.create(id: 341, name: "Mud Shot", pp: 15) - Move.create(id: 340, name: "Bounce", pp: 5) - Move.create(id: 339, name: "Bulk Up", pp: 20) - Move.create(id: 338, name: "Frenzy Plant", pp: 5) - Move.create(id: 337, name: "Dragon Claw", pp: 15) - Move.create(id: 336, name: "Howl", pp: 40) - Move.create(id: 335, name: "Block", pp: 5) - Move.create(id: 334, name: "Iron Defense", pp: 15) - Move.create(id: 333, name: "Icicle Spear", pp: 30) - Move.create(id: 332, name: "Aerial Ace", pp: 20) - Move.create(id: 331, name: "Bullet Seed", pp: 30) - Move.create(id: 330, name: "Muddy Water", pp: 10) - Move.create(id: 329, name: "Sheer Cold", pp: 5) - Move.create(id: 328, name: "Sand Tomb", pp: 15) - Move.create(id: 327, name: "Sky Uppercut", pp: 15) - Move.create(id: 326, name: "Extrasensory", pp: 20) - Move.create(id: 325, name: "Shadow Punch", pp: 20) - Move.create(id: 324, name: "Signal Beam", pp: 15) - Move.create(id: 323, name: "Water Spout", pp: 5) - Move.create(id: 322, name: "Cosmic Power", pp: 20) - Move.create(id: 321, name: "Tickle", pp: 20) - Move.create(id: 320, name: "Grass Whistle", pp: 15) - Move.create(id: 319, name: "Metal Sound", pp: 40) - Move.create(id: 318, name: "Silver Wind", pp: 5) - Move.create(id: 317, name: "Rock Tomb", pp: 15) - Move.create(id: 316, name: "Odor Sleuth", pp: 40) - Move.create(id: 315, name: "Overheat", pp: 5) - Move.create(id: 314, name: "Air Cutter", pp: 25) - Move.create(id: 313, name: "Fake Tears", pp: 20) - Move.create(id: 312, name: "Aromatherapy", pp: 5) - Move.create(id: 311, name: "Weather Ball", pp: 10) - Move.create(id: 310, name: "Astonish", pp: 15) - Move.create(id: 309, name: "Meteor Mash", pp: 10) - Move.create(id: 308, name: "Hydro Cannon", pp: 5) - Move.create(id: 307, name: "Blast Burn", pp: 5) - Move.create(id: 306, name: "Crush Claw", pp: 10) - Move.create(id: 305, name: "Poison Fang", pp: 15) - Move.create(id: 304, name: "Hyper Voice", pp: 10) - Move.create(id: 303, name: "Slack Off", pp: 10) - Move.create(id: 302, name: "Needle Arm", pp: 15) - Move.create(id: 301, name: "Ice Ball", pp: 20) - Move.create(id: 300, name: "Mud Sport", pp: 15) - Move.create(id: 299, name: "Blaze Kick", pp: 10) - Move.create(id: 298, name: "Teeter Dance", pp: 20) - Move.create(id: 297, name: "Feather Dance", pp: 15) - Move.create(id: 296, name: "Mist Ball", pp: 5) - Move.create(id: 295, name: "Luster Purge", pp: 5) - Move.create(id: 294, name: "Tail Glow", pp: 20) - Move.create(id: 293, name: "Camouflage", pp: 20) - Move.create(id: 292, name: "Arm Thrust", pp: 20) - Move.create(id: 291, name: "Dive", pp: 10) - Move.create(id: 290, name: "Secret Power", pp: 20) - Move.create(id: 289, name: "Snatch", pp: 10) - Move.create(id: 288, name: "Grudge", pp: 5) - Move.create(id: 287, name: "Refresh", pp: 20) - Move.create(id: 286, name: "Imprison", pp: 10) - Move.create(id: 285, name: "Skill Swap", pp: 10) - Move.create(id: 284, name: "Eruption", pp: 5) - Move.create(id: 283, name: "Endeavor", pp: 5) - Move.create(id: 282, name: "Knock Off", pp: 20) - Move.create(id: 281, name: "Yawn", pp: 10) - Move.create(id: 280, name: "Brick Break", pp: 15) - Move.create(id: 279, name: "Revenge", pp: 10) - Move.create(id: 278, name: "Recycle", pp: 10) - Move.create(id: 277, name: "Magic Coat", pp: 15) - Move.create(id: 276, name: "Superpower", pp: 5) - Move.create(id: 275, name: "Ingrain", pp: 20) - Move.create(id: 274, name: "Assist", pp: 20) - Move.create(id: 273, name: "Wish", pp: 10) - Move.create(id: 272, name: "Role Play", pp: 10) - Move.create(id: 271, name: "Trick", pp: 10) - Move.create(id: 270, name: "Helping Hand", pp: 20) - Move.create(id: 269, name: "Taunt", pp: 20) - Move.create(id: 268, name: "Charge", pp: 20) - Move.create(id: 267, name: "Nature Power", pp: 20) - Move.create(id: 266, name: "Follow Me", pp: 20) - Move.create(id: 265, name: "Smelling Salts", pp: 10) - Move.create(id: 264, name: "Focus Punch", pp: 20) - Move.create(id: 263, name: "Facade", pp: 20) - Move.create(id: 262, name: "Memento", pp: 10) - Move.create(id: 261, name: "Will-O-Wisp", pp: 15) - Move.create(id: 260, name: "Flatter", pp: 15) - Move.create(id: 259, name: "Torment", pp: 15) - Move.create(id: 258, name: "Hail", pp: 10) - Move.create(id: 257, name: "Heat Wave", pp: 10) - Move.create(id: 256, name: "Swallow", pp: 10) - Move.create(id: 255, name: "Spit Up", pp: 10) - Move.create(id: 254, name: "Stockpile", pp: 10) - Move.create(id: 253, name: "Uproar", pp: 10) - Move.create(id: 252, name: "Fake Out", pp: 10) - Move.create(id: 251, name: "Beat Up", pp: 10) - Move.create(id: 250, name: "Whirlpool", pp: 15) - Move.create(id: 249, name: "Rock Smash", pp: 15) - Move.create(id: 248, name: "Future Sight", pp: 15) - Move.create(id: 247, name: "Shadow Ball", pp: 15) - Move.create(id: 246, name: "Ancient Power", pp: 5) - Move.create(id: 245, name: "Extreme Speed", pp: 5) - Move.create(id: 244, name: "Psych Up", pp: 10) - Move.create(id: 243, name: "Mirror Coat", pp: 20) - Move.create(id: 242, name: "Crunch", pp: 15) - Move.create(id: 241, name: "Sunny Day", pp: 5) - Move.create(id: 240, name: "Rain Dance", pp: 5) - Move.create(id: 239, name: "Twister", pp: 20) - Move.create(id: 238, name: "Cross Chop", pp: 5) - Move.create(id: 237, name: "Hidden Power", pp: 15) - Move.create(id: 236, name: "Moonlight", pp: 5) - Move.create(id: 235, name: "Synthesis", pp: 5) - Move.create(id: 234, name: "Morning Sun", pp: 5) - Move.create(id: 233, name: "Vital Throw", pp: 10) - Move.create(id: 232, name: "Metal Claw", pp: 35) - Move.create(id: 231, name: "Iron Tail", pp: 15) - Move.create(id: 230, name: "Sweet Scent", pp: 20) - Move.create(id: 229, name: "Rapid Spin", pp: 40) - Move.create(id: 228, name: "Pursuit", pp: 20) - Move.create(id: 227, name: "Encore", pp: 5) - Move.create(id: 226, name: "Baton Pass", pp: 40) - Move.create(id: 225, name: "Dragon Breath", pp: 20) - Move.create(id: 224, name: "Megahorn", pp: 10) - Move.create(id: 223, name: "Dynamic Punch", pp: 5) - Move.create(id: 222, name: "Magnitude", pp: 30) - Move.create(id: 221, name: "Sacred Fire", pp: 5) - Move.create(id: 220, name: "Pain Split", pp: 20) - Move.create(id: 219, name: "Safeguard", pp: 25) - Move.create(id: 218, name: "Frustration", pp: 20) - Move.create(id: 217, name: "Present", pp: 15) - Move.create(id: 216, name: "Return", pp: 20) - Move.create(id: 215, name: "Heal Bell", pp: 5) - Move.create(id: 214, name: "Sleep Talk", pp: 10) - Move.create(id: 213, name: "Attract", pp: 15) - Move.create(id: 212, name: "Mean Look", pp: 5) - Move.create(id: 211, name: "Steel Wing", pp: 25) - Move.create(id: 210, name: "Fury Cutter", pp: 20) - Move.create(id: 209, name: "Spark", pp: 20) - Move.create(id: 208, name: "Milk Drink", pp: 10) - Move.create(id: 207, name: "Swagger", pp: 15) - Move.create(id: 206, name: "False Swipe", pp: 40) - Move.create(id: 205, name: "Rollout", pp: 20) - Move.create(id: 204, name: "Charm", pp: 20) - Move.create(id: 203, name: "Endure", pp: 10) - Move.create(id: 202, name: "Giga Drain", pp: 5) - Move.create(id: 201, name: "Sandstorm", pp: 10) - Move.create(id: 200, name: "Outrage", pp: 15) - Move.create(id: 199, name: "Lock-On", pp: 5) - Move.create(id: 198, name: "Bone Rush", pp: 10) - Move.create(id: 197, name: "Detect", pp: 5) - Move.create(id: 196, name: "Icy Wind", pp: 15) - Move.create(id: 195, name: "Perish Song", pp: 5) - Move.create(id: 194, name: "Destiny Bond", pp: 5) - Move.create(id: 193, name: "Foresight", pp: 40) - Move.create(id: 192, name: "Zap Cannon", pp: 5) - Move.create(id: 191, name: "Spikes", pp: 20) - Move.create(id: 190, name: "Octazooka", pp: 10) - Move.create(id: 189, name: "Mud-Slap", pp: 10) - Move.create(id: 188, name: "Sludge Bomb", pp: 10) - Move.create(id: 187, name: "Belly Drum", pp: 10) - Move.create(id: 186, name: "Sweet Kiss", pp: 10) - Move.create(id: 185, name: "Feint Attack", pp: 20) - Move.create(id: 184, name: "Scary Face", pp: 10) - Move.create(id: 183, name: "Mach Punch", pp: 30) - Move.create(id: 182, name: "Protect", pp: 10) - Move.create(id: 181, name: "Powder Snow", pp: 25) - Move.create(id: 180, name: "Spite", pp: 10) - Move.create(id: 179, name: "Reversal", pp: 15) - Move.create(id: 178, name: "Cotton Spore", pp: 40) - Move.create(id: 177, name: "Aeroblast", pp: 5) - Move.create(id: 176, name: "Conversion 2", pp: 30) - Move.create(id: 175, name: "Flail", pp: 15) - Move.create(id: 174, name: "Curse", pp: 10) - Move.create(id: 173, name: "Snore", pp: 15) - Move.create(id: 172, name: "Flame Wheel", pp: 25) - Move.create(id: 171, name: "Nightmare", pp: 15) - Move.create(id: 170, name: "Mind Reader", pp: 40) - Move.create(id: 169, name: "Spider Web", pp: 10) - Move.create(id: 168, name: "Thief", pp: 25) - Move.create(id: 167, name: "Triple Kick", pp: 10) - Move.create(id: 166, name: "Sketch", pp: 1) - Move.create(id: 165, name: "Struggle", pp: 0) - Move.create(id: 164, name: "Substitute", pp: 10) - Move.create(id: 163, name: "Slash", pp: 20) - Move.create(id: 162, name: "Super Fang", pp: 10) - Move.create(id: 161, name: "Tri Attack", pp: 10) - Move.create(id: 160, name: "Conversion", pp: 30) - Move.create(id: 159, name: "Sharpen", pp: 30) - Move.create(id: 158, name: "Hyper Fang", pp: 15) - Move.create(id: 157, name: "Rock Slide", pp: 10) - Move.create(id: 156, name: "Rest", pp: 10) - Move.create(id: 155, name: "Bonemerang", pp: 10) - Move.create(id: 154, name: "Fury Swipes", pp: 15) - Move.create(id: 153, name: "Explosion", pp: 5) - Move.create(id: 152, name: "Crabhammer", pp: 10) - Move.create(id: 151, name: "Acid Armor", pp: 20) - Move.create(id: 150, name: "Splash", pp: 40) - Move.create(id: 149, name: "Psywave", pp: 15) - Move.create(id: 148, name: "Flash", pp: 20) - Move.create(id: 147, name: "Spore", pp: 15) - Move.create(id: 146, name: "Dizzy Punch", pp: 10) - Move.create(id: 145, name: "Bubble", pp: 30) - Move.create(id: 144, name: "Transform", pp: 10) - Move.create(id: 143, name: "Sky Attack", pp: 5) - Move.create(id: 142, name: "Lovely Kiss", pp: 10) - Move.create(id: 141, name: "Leech Life", pp: 15) - Move.create(id: 140, name: "Barrage", pp: 20) - Move.create(id: 139, name: "Poison Gas", pp: 40) - Move.create(id: 138, name: "Dream Eater", pp: 15) - Move.create(id: 137, name: "Glare", pp: 30) - Move.create(id: 136, name: "High Jump Kick", pp: 20) - Move.create(id: 135, name: "Soft-Boiled", pp: 10) - Move.create(id: 134, name: "Kinesis", pp: 15) - Move.create(id: 133, name: "Amnesia", pp: 20) - Move.create(id: 132, name: "Constrict", pp: 35) - Move.create(id: 131, name: "Spike Cannon", pp: 15) - Move.create(id: 130, name: "Skull Bash", pp: 10) - Move.create(id: 129, name: "Swift", pp: 20) - Move.create(id: 128, name: "Clamp", pp: 10) - Move.create(id: 127, name: "Waterfall", pp: 15) - Move.create(id: 126, name: "Fire Blast", pp: 5) - Move.create(id: 125, name: "Bone Club", pp: 20) - Move.create(id: 124, name: "Sludge", pp: 20) - Move.create(id: 123, name: "Smog", pp: 20) - Move.create(id: 122, name: "Lick", pp: 30) - Move.create(id: 121, name: "Egg Bomb", pp: 10) - Move.create(id: 120, name: "Self-Destruct", pp: 5) - Move.create(id: 119, name: "Mirror Move", pp: 20) - Move.create(id: 118, name: "Metronome", pp: 10) - Move.create(id: 117, name: "Bide", pp: 10) - Move.create(id: 116, name: "Focus Energy", pp: 30) - Move.create(id: 115, name: "Reflect", pp: 20) - Move.create(id: 114, name: "Haze", pp: 30) - Move.create(id: 113, name: "Light Screen", pp: 30) - Move.create(id: 112, name: "Barrier", pp: 20) - Move.create(id: 111, name: "Defense Curl", pp: 40) - Move.create(id: 110, name: "Withdraw", pp: 40) - Move.create(id: 109, name: "Confuse Ray", pp: 10) - Move.create(id: 108, name: "Smokescreen", pp: 20) - Move.create(id: 107, name: "Minimize", pp: 10) - Move.create(id: 106, name: "Harden", pp: 30) - Move.create(id: 105, name: "Recover", pp: 20) - Move.create(id: 104, name: "Double Team", pp: 15) - Move.create(id: 103, name: "Screech", pp: 40) - Move.create(id: 102, name: "Mimic", pp: 10) - Move.create(id: 101, name: "Night Shade", pp: 15) - Move.create(id: 100, name: "Teleport", pp: 20) - Move.create(id: 99, name: "Rage", pp: 20) - Move.create(id: 98, name: "Quick Attack", pp: 30) - Move.create(id: 97, name: "Agility", pp: 30) - Move.create(id: 96, name: "Meditate", pp: 40) - Move.create(id: 95, name: "Hypnosis", pp: 20) - Move.create(id: 94, name: "Psychic", pp: 10) - Move.create(id: 93, name: "Confusion", pp: 25) - Move.create(id: 92, name: "Toxic", pp: 10) - Move.create(id: 91, name: "Dig", pp: 10) - Move.create(id: 90, name: "Fissure", pp: 5) - Move.create(id: 89, name: "Earthquake", pp: 10) - Move.create(id: 88, name: "Rock Throw", pp: 15) - Move.create(id: 87, name: "Thunder", pp: 10) - Move.create(id: 86, name: "Thunder Wave", pp: 20) - Move.create(id: 85, name: "Thunderbolt", pp: 15) - Move.create(id: 84, name: "Thunder Shock", pp: 30) - Move.create(id: 83, name: "Fire Spin", pp: 15) - Move.create(id: 82, name: "Dragon Rage", pp: 10) - Move.create(id: 81, name: "String Shot", pp: 40) - Move.create(id: 80, name: "Petal Dance", pp: 20) - Move.create(id: 79, name: "Sleep Powder", pp: 15) - Move.create(id: 78, name: "Stun Spore", pp: 30) - Move.create(id: 77, name: "Poison Powder", pp: 35) - Move.create(id: 76, name: "Solar Beam", pp: 10) - Move.create(id: 75, name: "Razor Leaf", pp: 25) - Move.create(id: 74, name: "Growth", pp: 20) - Move.create(id: 73, name: "Leech Seed", pp: 10) - Move.create(id: 72, name: "Mega Drain", pp: 10) - Move.create(id: 71, name: "Absorb", pp: 20) - Move.create(id: 70, name: "Strength", pp: 15) - Move.create(id: 69, name: "Seismic Toss", pp: 20) - Move.create(id: 68, name: "Counter", pp: 20) - Move.create(id: 67, name: "Low Kick", pp: 20) - Move.create(id: 66, name: "Submission", pp: 20) - Move.create(id: 65, name: "Drill Peck", pp: 20) - Move.create(id: 64, name: "Peck", pp: 35) - Move.create(id: 63, name: "Hyper Beam", pp: 5) - Move.create(id: 62, name: "Aurora Beam", pp: 20) - Move.create(id: 61, name: "Bubble Beam", pp: 20) - Move.create(id: 60, name: "Psybeam", pp: 20) - Move.create(id: 59, name: "Blizzard", pp: 5) - Move.create(id: 58, name: "Ice Beam", pp: 10) - Move.create(id: 57, name: "Surf", pp: 15) - Move.create(id: 56, name: "Hydro Pump", pp: 5) - Move.create(id: 55, name: "Water Gun", pp: 25) - Move.create(id: 54, name: "Mist", pp: 30) - Move.create(id: 53, name: "Flamethrower", pp: 15) - Move.create(id: 52, name: "Ember", pp: 25) - Move.create(id: 51, name: "Acid", pp: 30) - Move.create(id: 50, name: "Disable", pp: 20) - Move.create(id: 49, name: "Sonic Boom", pp: 20) - Move.create(id: 48, name: "Supersonic", pp: 20) - Move.create(id: 47, name: "Sing", pp: 15) - Move.create(id: 46, name: "Roar", pp: 20) - Move.create(id: 45, name: "Growl", pp: 40) - Move.create(id: 44, name: "Bite", pp: 25) - Move.create(id: 43, name: "Leer", pp: 30) - Move.create(id: 42, name: "Pin Missile", pp: 20) - Move.create(id: 41, name: "Twineedle", pp: 20) - Move.create(id: 40, name: "Poison Sting", pp: 35) - Move.create(id: 39, name: "Tail Whip", pp: 30) - Move.create(id: 38, name: "Double-Edge", pp: 15) - Move.create(id: 37, name: "Thrash", pp: 20) - Move.create(id: 36, name: "Take Down", pp: 20) - Move.create(id: 35, name: "Wrap", pp: 20) - Move.create(id: 34, name: "Body Slam", pp: 15) - Move.create(id: 33, name: "Tackle", pp: 35) - Move.create(id: 32, name: "Horn Drill", pp: 5) - Move.create(id: 31, name: "Fury Attack", pp: 20) - Move.create(id: 30, name: "Horn Attack", pp: 25) - Move.create(id: 29, name: "Headbutt", pp: 15) - Move.create(id: 28, name: "Sand Attack", pp: 15) - Move.create(id: 27, name: "Rolling Kick", pp: 15) - Move.create(id: 26, name: "Jump Kick", pp: 25) - Move.create(id: 25, name: "Mega Kick", pp: 5) - Move.create(id: 24, name: "Double Kick", pp: 30) - Move.create(id: 23, name: "Stomp", pp: 20) - Move.create(id: 22, name: "Vine Whip", pp: 10) - Move.create(id: 21, name: "Slam", pp: 20) - Move.create(id: 20, name: "Bind", pp: 20) - Move.create(id: 19, name: "Fly", pp: 15) - Move.create(id: 18, name: "Whirlwind", pp: 20) - Move.create(id: 17, name: "Wing Attack", pp: 35) - Move.create(id: 16, name: "Gust", pp: 35) - Move.create(id: 15, name: "Cut", pp: 30) - Move.create(id: 14, name: "Swords Dance", pp: 20) - Move.create(id: 13, name: "Razor Wind", pp: 10) - Move.create(id: 12, name: "Guillotine", pp: 5) - Move.create(id: 11, name: "Vice Grip", pp: 30) - Move.create(id: 10, name: "Scratch", pp: 35) - Move.create(id: 9, name: "Thunder Punch", pp: 15) - Move.create(id: 8, name: "Ice Punch", pp: 15) - Move.create(id: 7, name: "Fire Punch", pp: 15) - Move.create(id: 6, name: "Pay Day", pp: 20) - Move.create(id: 5, name: "Mega Punch", pp: 20) - Move.create(id: 4, name: "Comet Punch", pp: 15) - Move.create(id: 3, name: "Double Slap", pp: 10) - Move.create(id: 2, name: "Karate Chop", pp: 25) - Move.create(id: 1, name: "Pound", pp: 35) + Move.create(id: 354, name: "Psycho Boost", pp: 5, move_type: :psychic, + rs_description: "Allows a full-power attack, but sharply lowers SP. ATK.", + frlg_description: "An intense attack that also sharply reduces the user's SP. ATK stat.") + Move.create(id: 353, name: "Doom Desire", pp: 5, move_type: :steel, + rs_description: "Summons strong sunlight to attack 2 turns later.", + frlg_description: "A move that attacks the foe with a blast of light two turns after use.") + Move.create(id: 352, name: "Water Pulse", pp: 20, move_type: :water, + rs_description: "Attacks with ultrasonic waves. May confuse the foe.", + frlg_description: "An attack with a pulsing blast of water. It may also confuse the foe.") + Move.create(id: 351, name: "Shock Wave", pp: 20, move_type: :electric, + rs_description: "A fast and unavoidable electric attack.", + frlg_description: "A rapid jolt of electricity strikes the foe. It can't be evaded.") + Move.create(id: 350, name: "Rock Blast", pp: 10, move_type: :rock, + rs_description: "Hurls boulders at the foe 2 to 5 times in a row.", + frlg_description: "The user hurls two to five hard rocks at the foe to attack.") + Move.create(id: 349, name: "Dragon Dance", pp: 20, move_type: :dragon, + rs_description: "A mystical dance that ups ATTACK and SPEED.", + frlg_description: "A mystic, powerful dance that boosts the user's ATTACK and SPEED stats.") + Move.create(id: 348, name: "Leaf Blade", pp: 15, move_type: :grass, + rs_description: "Slashes with a sharp leaf. High critical-hit ratio.", + frlg_description: "The foe is slashed with a sharp leaf. It has a high critical-hit ratio.") + Move.create(id: 347, name: "Calm Mind", pp: 20, move_type: :psychic, + rs_description: "Raises SP. ATK and SP. DEF by focusing the mind.", + frlg_description: "The user focuses its mind to raise the SP. ATK and SP. DEF stats.") + Move.create(id: 346, name: "Water Sport", pp: 15, move_type: :water, + rs_description: "The user becomes soaked to raise resistance to fire.", + frlg_description: "Weakens FIRE-type attacks while the user is in the battle.") + Move.create(id: 345, name: "Magical Leaf", pp: 20, move_type: :grass, + rs_description: "Attacks with a strange leaf that cannot be evaded.", + frlg_description: "The foe is attacked with a strange leaf that cannot be evaded.") + Move.create(id: 344, name: "Volt Tackle", pp: 15, move_type: :electric, + rs_description: "A life-risking tackle that slightly hurts the user.", + frlg_description: "The user throws an electrified tackle. It hurts the user a little.") + Move.create(id: 343, name: "Covet", pp: 40, move_type: :normal, + rs_description: "Cutely begs to obtain an item held by the foe.", + frlg_description: "A cutely executed attack that also steals the foe's hold item.") + Move.create(id: 342, name: "Poison Tail", pp: 25, move_type: :poison, + rs_description: "Has a high critical-hit ratio. May also poison.", + frlg_description: "An attack with a high critical-hit ratio. It may also poison the foe.") + Move.create(id: 341, name: "Mud Shot", pp: 15, move_type: :ground, + rs_description: "Hurls mud at the foe and reduces SPEED.", + frlg_description: "The user attacks by hurling mud. It also reduces the foe's SPEED.") + Move.create(id: 340, name: "Bounce", pp: 5, move_type: :flying, + rs_description: "Bounces up, then down the next turn. May paralyze.", + frlg_description: "The user bounces on the foe on the 2nd turn. It may paralyze the foe.") + Move.create(id: 339, name: "Bulk Up", pp: 20, move_type: :fighting, + rs_description: "Bulks up the body to boost both ATTACK and DEFENSE.", + frlg_description: "The user bulks up its body to boost both its ATTACK and DEFENSE stats.") + Move.create(id: 338, name: "Frenzy Plant", pp: 5, move_type: :grass, + rs_description: "Powerful, but leaves the user immobile the next turn.", + frlg_description: "The foe is hit with an enormous branch. The user can't move on the next turn.") + Move.create(id: 337, name: "Dragon Claw", pp: 15, move_type: :dragon, + rs_description: "Slashes the foe with sharp claws.", + frlg_description: "Sharp, huge claws hook and slash the foe quickly and with great power.") + Move.create(id: 336, name: "Howl", pp: 40, move_type: :normal, + rs_description: "Howls to raise the spirit and boosts ATTACK.", + frlg_description: "The user howls to raise its spirit and boost its ATTACK stat.") + Move.create(id: 335, name: "Block", pp: 5, move_type: :normal, + rs_description: "Blocks the foe's way to prevent escape.", + frlg_description: "The user blocks the foe's way with arms spread wide to prevent escape.") + Move.create(id: 334, name: "Iron Defense", pp: 15, move_type: :steel, + rs_description: "Hardens the body's surface to sharply raise DEFENSE.", + frlg_description: "The user hardens its body's surface to sharply raise its DEFENSE stat.") + Move.create(id: 333, name: "Icicle Spear", pp: 30, move_type: :ice, + rs_description: "Attacks the foe by firing 2 to 5 icicles in a row.", + frlg_description: "Sharp icicles are fired at the foe. It strikes two to five times.") + Move.create(id: 332, name: "Aerial Ace", pp: 20, move_type: :flying, + rs_description: "An extremely speedy and unavoidable attack.", + frlg_description: "An extremely fast attack against one target. It can't be evaded.") + Move.create(id: 331, name: "Bullet Seed", pp: 30, move_type: :grass, + rs_description: "Shoots 2 to 5 seeds in a row to strike the foe.", + frlg_description: "The user shoots seeds at the foe. Two to five seeds are shot at once.") + Move.create(id: 330, name: "Muddy Water", pp: 10, move_type: :water, + rs_description: "Attacks with muddy water. May lower accuracy.", + frlg_description: "The user attacks with muddy water. It may also lower the foe's accuracy.") + Move.create(id: 329, name: "Sheer Cold", pp: 5, move_type: :ice, + rs_description: "A chilling attack that causes fainting if it hits.", + frlg_description: "The foe is attacked with ultimate cold that causes fainting if it hits.") + Move.create(id: 328, name: "Sand Tomb", pp: 15, move_type: :ground, + rs_description: "Traps and hurts the foe in quicksand for 2 to 5 turns.", + frlg_description: "The foe is trapped inside a painful sandstorm for two to five turns.") + Move.create(id: 327, name: "Sky Uppercut", pp: 15, move_type: :fighting, + rs_description: "An uppercut thrown as if leaping into the sky.", + frlg_description: "The user attacks with an uppercut thrown skywards with force.") + Move.create(id: 326, name: "Extrasensory", pp: 30, move_type: :psychic, + rs_description: "Attacks with a peculiar power. May cause flinching.", + frlg_description: "The user attacks with an odd power that may make the foe flinch.") + Move.create(id: 325, name: "Shadow Punch", pp: 20, move_type: :ghost, + rs_description: "An unavoidable punch that is thrown from shadows.", + frlg_description: "The user throws a punch from the shadows. It cannot be evaded.") + Move.create(id: 324, name: "Signal Beam", pp: 15, move_type: :bug, + rs_description: "A strange beam attack that may confuse the foe.", + frlg_description: "The foe is hit with a flashing beam that may also cause confusion.") + Move.create(id: 323, name: "Water Spout", pp: 5, move_type: :water, + rs_description: "Inflicts more damage if the user's HP is high.", + frlg_description: "The higher the user's HP, the more powerful this attack becomes.") + Move.create(id: 322, name: "Cosmic Power", pp: 20, move_type: :psychic, + rs_description: "Raises DEFENSE and SP. DEF with a mystic power.", + frlg_description: "The user absorbs a mystic power to raise its DEFENSE and SP. DEF.") + Move.create(id: 321, name: "Tickle", pp: 20, move_type: :normal, + rs_description: "Makes the foe laugh to lower ATTACK and DEFENSE.", + frlg_description: "The foe is made to laugh, reducing its ATTACK and DEFENSE stats.") + Move.create(id: 320, name: "Grass Whistle", pp: 15, move_type: :grass, + rs_description: "Lulls the foe into sleep with a pleasant melody.", + frlg_description: "A pleasant melody is played to lull the foe into a deep sleep.") + Move.create(id: 319, name: "Metal Sound", pp: 40, move_type: :steel, + rs_description: "Emits a horrible screech that sharply lowers SP. DEF.", + frlg_description: "A horrible metallic screech is used to sharply lower the foe's SP. DEF.") + Move.create(id: 318, name: "Silver Wind", pp: 5, move_type: :bug, + rs_description: "A powdery attack that may raise abilities.", + frlg_description: "The foe is attacked with a silver dust. It may raise all the user's stats.") + Move.create(id: 317, name: "Rock Tomb", pp: 10, move_type: :rock, + rs_description: "Stops the foe from moving with rocks and cuts SPEED.", + frlg_description: "Boulders are hurled at the foe. It also lowers the foe's SPEED if it hits.") + Move.create(id: 316, name: "Odor Sleuth", pp: 40, move_type: :normal, + rs_description: "Negates the foe's efforts to heighten evasiveness.", + frlg_description: "Completely negates the foe's efforts to heighten its ability to evade.") + Move.create(id: 315, name: "Overheat", pp: 5, move_type: :fire, + rs_description: "Allows a full-power attack, but sharply lowers SP. ATK.", + frlg_description: "An intense attack that also sharply reduces the user's SP. ATK stat.") + Move.create(id: 314, name: "Air Cutter", pp: 25, move_type: :flying, + rs_description: "Hacks with razorlike wind. High critical-hit ratio.", + frlg_description: "The foe is hit with razor-like wind. It has a high critical-hit ratio.") + Move.create(id: 313, name: "Fake Tears", pp: 20, move_type: :dark, + rs_description: "Feigns crying to sharply lower the foe's SP. DEF.", + frlg_description: "The user feigns crying to sharply lower the foe's SP. DEF stat.") + Move.create(id: 312, name: "Aromatherapy", pp: 5, move_type: :grass, + rs_description: "Heals all status problems with a soothing scent.", + frlg_description: "A soothing scent is released to heal all status problems in the user's party.") + Move.create(id: 311, name: "Weather Ball", pp: 10, move_type: :normal, + rs_description: "The move's type and power change with the weather.", + frlg_description: "An attack that varies in power and type depending on the weather.") + Move.create(id: 310, name: "Astonish", pp: 15, move_type: :ghost, + rs_description: "An attack that may shock the foe into flinching.", + frlg_description: "An attack using a startling shout. It also may make the foe flinch.") + Move.create(id: 309, name: "Meteor Mash", pp: 10, move_type: :steel, + rs_description: "Fires a meteor-like punch. May raise ATTACK.", + frlg_description: "The foe is hit with a hard, fast punch. It may also raise the user's ATTACK.") + Move.create(id: 308, name: "Hydro Cannon", pp: 5, move_type: :water, + rs_description: "Powerful, but leaves the user immobile the next turn.", + frlg_description: "The foe is hit with a watery cannon. The user can't move on the next turn.") + Move.create(id: 307, name: "Blast Burn", pp: 5, move_type: :fire, + rs_description: "Powerful, but leaves the user immobile the next turn.", + frlg_description: "The foe is hit with a huge explosion. The user can't move on the next turn.") + Move.create(id: 306, name: "Crush Claw", pp: 10, move_type: :normal, + rs_description: "Tears at the foe with sharp claws. May lower DEFENSE.", + frlg_description: "The foe is attacked with sharp claws. It may also lower the foe's DEFENSE.") + Move.create(id: 305, name: "Poison Fang", pp: 15, move_type: :poison, + rs_description: "A sharp-fanged attack. May badly poison the foe.", + frlg_description: "The foe is bitten with toxic fangs. It may also badly poison the foe.") + Move.create(id: 304, name: "Hyper Voice", pp: 10, move_type: :normal, + rs_description: "A loud attack that uses sound waves to injure.", + frlg_description: "The user lets loose a horribly loud shout with the power to damage.") + Move.create(id: 303, name: "Slack Off", pp: 10, move_type: :normal, + rs_description: "Slacks off and restores half the maximum HP.", + frlg_description: "The user slacks off and restores its HP by half its full HP.") + Move.create(id: 302, name: "Needle Arm", pp: 15, move_type: :grass, + rs_description: "Attacks with thorny arms. May cause flinching.", + frlg_description: "An attack using thorny arms. It may make the foe flinch.") + Move.create(id: 301, name: "Ice Ball", pp: 20, move_type: :ice, + rs_description: "A 5-turn attack that gains power on successive hits.", + frlg_description: "A 5-turn rolling attack that becomes stronger each time it rolls.") + Move.create(id: 300, name: "Mud Sport", pp: 15, move_type: :ground, + rs_description: "Covers the user in mud to raise electrical resistance.", + frlg_description: "Weakens ELECTRIC-type attacks while the user is in the battle.") + Move.create(id: 299, name: "Blaze Kick", pp: 10, move_type: :fire, + rs_description: "A kick with a high critical-hit ratio. May cause a burn.", + frlg_description: "A fiery kick with a high critical-hit ratio. It may also burn the foe.") + Move.create(id: 298, name: "Teeter Dance", pp: 20, move_type: :normal, + rs_description: "Confuses all POKéMON on the scene.", + frlg_description: "A wobbly dance that confuses all the POKéMON in battle.") + Move.create(id: 297, name: "Feather Dance", pp: 15, move_type: :flying, + rs_description: "Envelops the foe with down to sharply reduce ATTACK.", + frlg_description: "The foe is covered with a mass of down that sharply cuts the ATTACK stat.") + Move.create(id: 296, name: "Mist Ball", pp: 5, move_type: :psychic, + rs_description: "Attacks with a flurry of down. May lower SP. ATK.", + frlg_description: "A flurry of down hits the foe. It may also lower the foe's SP. ATK.") + Move.create(id: 295, name: "Luster Purge", pp: 5, move_type: :psychic, + rs_description: "Attacks with a burst of light. May lower SP. DEF.", + frlg_description: "A burst of light injures the foe. It may also lower the foe's SP. DEF.") + Move.create(id: 294, name: "Tail Glow", pp: 20, move_type: :bug, + rs_description: "Flashes a light that sharply raises SP. ATK.", + frlg_description: "The user flashes a light that sharply raises its SP. ATK stat.") + Move.create(id: 293, name: "Camouflage", pp: 20, move_type: :normal, + rs_description: "Alters the POKéMON's type depending on the location.", + frlg_description: "Alters the user's type depending on the location's terrain.") + Move.create(id: 292, name: "Arm Thrust", pp: 20, move_type: :fighting, + rs_description: "Straight-arm punches that strike the foe 2 to 5 times.", + frlg_description: "A quick flurry of straight-arm punches that hit two to five times.") + Move.create(id: 291, name: "Dive", pp: 10, move_type: :water, + rs_description: "Dives underwater the first turn and strikes next turn.", + frlg_description: "The user dives underwater on the first turn and strikes next turn.") + Move.create(id: 290, name: "Secret Power", pp: 20, move_type: :normal, + rs_description: "An attack with effects that vary by location.", + frlg_description: "An attack that may have an additional effect that varies with the terrain.") + Move.create(id: 289, name: "Snatch", pp: 10, move_type: :dark, + rs_description: "Steals the effects of the move the foe uses next.", + frlg_description: "Steals the effects of the foe's healing or status-changing move.", + emerald_description: "Steals the effects of the move the target uses next.") + Move.create(id: 288, name: "Grudge", pp: 5, move_type: :ghost, + rs_description: "If the user faints, deletes the PP of the final move.", + frlg_description: "If the user faints, this move deletes the PP of the move that finished it.", + emerald_description: "If the user faints, deletes all PP of foe's last move.") + Move.create(id: 287, name: "Refresh", pp: 20, move_type: :normal, + rs_description: "Heals poisoning, paralysis, or a burn.", + frlg_description: "A self-healing move that cures the user of a poisoning, burn, or paralysis.") + Move.create(id: 286, name: "Imprison", pp: 10, move_type: :psychic, + rs_description: "Prevents foes from using moves known by the user.", + frlg_description: "Prevents foes from using any move that is also known by the user.") + Move.create(id: 285, name: "Skill Swap", pp: 10, move_type: :psychic, + rs_description: "The user swaps special abilities with the target.", + frlg_description: "The user employs its psychic power to swap abilities with the foe.") + Move.create(id: 284, name: "Eruption", pp: 5, move_type: :fire, + rs_description: "The higher the user's HP, the more damage caused.", + frlg_description: "The higher the user's HP, the more powerful this attack becomes.") + Move.create(id: 283, name: "Endeavor", pp: 5, move_type: :normal, + rs_description: "Gains power if the user's HP is lower than the foe's HP.", + frlg_description: "Gains power the fewer HP the user has compared with the foe.") + Move.create(id: 282, name: "Knock Off", pp: 20, move_type: :dark, + rs_description: "Knocks down the foe's held item to prevent its use.", + frlg_description: "Knocks down the foe's held item to prevent its use during the battle.") + Move.create(id: 281, name: "Yawn", pp: 10, move_type: :normal, + rs_description: "Lulls the foe into yawning, then sleeping next turn.", + frlg_description: "A huge yawn lulls the foe into falling asleep on the next turn.") + Move.create(id: 280, name: "Brick Break", pp: 15, move_type: :fighting, + rs_description: "Destroys barriers such as REFLECT and causes damage.", + frlg_description: "An attack that also breaks any barrier like LIGHT SCREEN and REFLECT.") + Move.create(id: 279, name: "Revenge", pp: 10, move_type: :fighting, + rs_description: "An attack that gains power if injured by the foe.", + frlg_description: "An attack move that gains in intensity if the target has hurt the user.") + Move.create(id: 278, name: "Recycle", pp: 10, move_type: :normal, + rs_description: "Recycles a used item for one more use.", + frlg_description: "A move that recycles a used item for use once more.") + Move.create(id: 277, name: "Magic Coat", pp: 15, move_type: :psychic, + rs_description: "Reflects special effects back to the attacker.", + frlg_description: "Reflects back the foe's LEECH SEED and any status-damaging move.") + Move.create(id: 276, name: "Superpower", pp: 5, move_type: :fighting, + rs_description: "Boosts strength sharply, but lowers abilities.", + frlg_description: "A powerful attack, but it also lowers the user's ATTACK and DEFENSE stats.") + Move.create(id: 275, name: "Ingrain", pp: 20, move_type: :grass, + rs_description: "Lays roots that restore HP. The user can't switch out.", + frlg_description: "The user lays roots that restore HP on every turn. It can't switch out.") + Move.create(id: 274, name: "Assist", pp: 20, move_type: :normal, + rs_description: "Attacks randomly with one of the partner's moves.", + frlg_description: "The user randomly picks and uses a move of an allied POKéMON.") + Move.create(id: 273, name: "Wish", pp: 10, move_type: :normal, + rs_description: "A wish that restores HP. It takes time to work.", + frlg_description: "A self-healing move that restores half the full HP on the next turn.") + Move.create(id: 272, name: "Role Play", pp: 10, move_type: :psychic, + rs_description: "Mimics the target and copies its special ability.", + frlg_description: "The user mimics the foe completely and copies the foe's ability.") + Move.create(id: 271, name: "Trick", pp: 10, move_type: :psychic, + rs_description: "Tricks the foe into trading held items.", + frlg_description: "A move that tricks the foe into trading held items with the user.") + Move.create(id: 270, name: "Helping Hand", pp: 20, move_type: :normal, + rs_description: "Boosts the power of the recipient's moves.", + frlg_description: "A move that boosts the power of the ally's attack in a battle.") + Move.create(id: 269, name: "Taunt", pp: 20, move_type: :dark, + rs_description: "Taunts the foe into only using attack moves.", + frlg_description: "The foe is taunted into a rage that allows it to use only attack moves.") + Move.create(id: 268, name: "Charge", pp: 20, move_type: :electric, + rs_description: "Charges power to boost the electric move used next.", + frlg_description: "The user charges power to boost the ELECTRIC move it uses next.") + Move.create(id: 267, name: "Nature Power", pp: 20, move_type: :normal, + rs_description: "The type of attack varies depending on the location.", + frlg_description: "An attack that changes type depending on the user's location.") + Move.create(id: 266, name: "Follow Me", pp: 20, move_type: :normal, + rs_description: "Draws attention to make foes attack only the user.", + frlg_description: "The user draws attention to itself, making foes attack only the user.") + Move.create(id: 265, name: "Smelling Salts", pp: 10, move_type: :normal, + rs_description: "Powerful against paralyzed foes, but also heals them.", + frlg_description: "Doubly effective on a paralyzed foe, but it also cures the foe's paralysis.") + Move.create(id: 264, name: "Focus Punch", pp: 20, move_type: :fighting, + rs_description: "A powerful loyalty attack. The user flinches if hit.", + frlg_description: "An attack that is executed last. The user flinches if hit beforehand.") + Move.create(id: 263, name: "Facade", pp: 20, move_type: :normal, + rs_description: "Boosts ATTACK when burned, paralyzed, or poisoned.", + frlg_description: "An attack that is boosted if user is burned, poisoned, or paralyzed.") + Move.create(id: 262, name: "Memento", pp: 10, move_type: :dark, + rs_description: "The user faints and lowers the foe's abilities.", + frlg_description: "The user faints, but sharply lowers the foe's ATTACK and SP. ATK.") + Move.create(id: 261, name: "Will-O-Wisp", pp: 15, move_type: :fire, + rs_description: "Inflicts a burn on the foe with intense fire.", + frlg_description: "A sinister, bluish white flame is shot at the foe to inflict a burn.") + Move.create(id: 260, name: "Flatter", pp: 15, move_type: :dark, + rs_description: "Confuses the foe, but raises its SP. ATK.", + frlg_description: "Flattery is used to confuse the foe, but its SP. ATK also rises.") + Move.create(id: 259, name: "Torment", pp: 15, move_type: :dark, + rs_description: "Torments the foe and stops successive use of a move.", + frlg_description: "It enrages the foe, making it incapable of using the same move successively.") + Move.create(id: 258, name: "Hail", pp: 10, move_type: :ice, + rs_description: "Summons a hailstorm that strikes every turn.", + frlg_description: "A hailstorm lasting five turns damages all POKéMON except the ICE-type.") + Move.create(id: 257, name: "Heat Wave", pp: 10, move_type: :fire, + rs_description: "Exhales a hot breath on the foe. May inflict a burn.", + frlg_description: "The user exhales a heated breath to attack. It may also inflict a burn.") + Move.create(id: 256, name: "Swallow", pp: 10, move_type: :normal, + rs_description: "Absorbs stockpiled power and restores HP.", + frlg_description: "The energy it built using STOCKPILE is absorbed to restore HP.") + Move.create(id: 255, name: "Spit Up", pp: 10, move_type: :normal, + rs_description: "Releases stockpiled power (the more the better).", + frlg_description: "The power built using STOCKPILE is released at once for attack.") + Move.create(id: 254, name: "Stockpile", pp: 10, move_type: :normal, + rs_description: "Charges up power for up to 3 turns.", + frlg_description: "The user charges up power for use later. It can be used three times.") + Move.create(id: 253, name: "Uproar", pp: 10, move_type: :normal, + rs_description: "Causes an uproar for 2 to 5 turns and prevents sleep.", + frlg_description: "The user attacks in an uproar that prevents sleep for two to five turns.") + Move.create(id: 252, name: "Fake Out", pp: 10, move_type: :normal, + rs_description: "A 1st-turn, 1st-strike move that causes flinching.", + frlg_description: "An attack that hits first and causes flinching. Usable only on 1st turn.") + Move.create(id: 251, name: "Beat Up", pp: 10, move_type: :dark, + rs_description: "Summons party POKéMON to join in the attack.", + frlg_description: "All party POKéMON join in the attack. The more allies, the more damage.") + Move.create(id: 250, name: "Whirlpool", pp: 15, move_type: :water, + rs_description: "Traps and hurts the foe in a whirlpool for 2 to 5 turns.", + frlg_description: "The foe is trapped in a fast, vicious whirlpool for two to five turns.") + Move.create(id: 249, name: "Rock Smash", pp: 15, move_type: :fighting, + rs_description: "A rock-crushing attack that may lower DEFENSE.", + frlg_description: "An attack that may also cut DEFENSE. It can also smash cracked boulders.") + Move.create(id: 248, name: "Future Sight", pp: 15, move_type: :psychic, + rs_description: "Heightens inner power to strike 2 turns later.", + frlg_description: "Two turns after this move is used, the foe is attacked psychically.") + Move.create(id: 247, name: "Shadow Ball", pp: 15, move_type: :ghost, + rs_description: "Hurls a black blob that may lower the foe's SP. DEF.", + frlg_description: "A shadowy blob is hurled at the foe. May also lower the foe's SP. DEF.") + Move.create(id: 246, name: "Ancient Power", pp: 5, move_type: :rock, + rs_description: "An attack that may raise all stats.", + frlg_description: "An ancient power is used to attack. It may also raise all the user's stats.") + Move.create(id: 245, name: "Extreme Speed", pp: 5, move_type: :normal, + rs_description: "An extremely fast and powerful attack.", + frlg_description: "A blindingly speedy charge attack that always goes before any other.") + Move.create(id: 244, name: "Psych Up", pp: 10, move_type: :normal, + rs_description: "Copies the foe's effect(s) and gives to the user.", + frlg_description: "The user hypnotizes itself into copying any stat change made by the foe.") + Move.create(id: 243, name: "Mirror Coat", pp: 20, move_type: :psychic, + rs_description: "Counters the foe's special attack at double the power.", + frlg_description: "A retaliation move that pays back the foe's special attack double.") + Move.create(id: 242, name: "Crunch", pp: 15, move_type: :dark, + rs_description: "Crunches with sharp fangs. May lower SP. DEF.", + frlg_description: "The foe is crunched with sharp fangs. It may lower the foe's SP. DEF.") + Move.create(id: 241, name: "Sunny Day", pp: 5, move_type: :fire, + rs_description: "Boosts the power of FIRE-type moves for 5 turns.", + frlg_description: "The sun blazes for five turns, powering up FIRE-type moves.") + Move.create(id: 240, name: "Rain Dance", pp: 5, move_type: :water, + rs_description: "Boosts the power of WATER-type moves for 5 turns.", + frlg_description: "A heavy rain falls for five turns, powering up WATER-type moves.") + Move.create(id: 239, name: "Twister", pp: 20, move_type: :dragon, + rs_description: "Whips up a vicious twister to tear at the foe.", + frlg_description: "A vicious twister attacks the foe. It may make the foe flinch.") + Move.create(id: 238, name: "Cross Chop", pp: 5, move_type: :fighting, + rs_description: "A double-chopping attack. High critical-hit ratio.", + frlg_description: "The foe is hit with double chops. It has a high critical-hit ratio.") + Move.create(id: 237, name: "Hidden Power", pp: 15, move_type: :normal, + rs_description: "The effectiveness varies with the user.", + frlg_description: "An attack that varies in type and intensity depending on the user.") + Move.create(id: 236, name: "Moonlight", pp: 5, move_type: :normal, + rs_description: "Restores HP. The amount varies with the weather.", + frlg_description: "Restores the user's HP. The amount of HP regained varies with the weather.") + Move.create(id: 235, name: "Synthesis", pp: 5, move_type: :grass, + rs_description: "Restores HP. The amount varies with the weather.", + frlg_description: "Restores the user's HP. The amount of HP regained varies with the weather.") + Move.create(id: 234, name: "Morning Sun", pp: 5, move_type: :normal, + rs_description: "Restores HP. The amount varies with the weather.", + frlg_description: "Restores the user's HP. The amount of HP regained varies with the weather.") + Move.create(id: 233, name: "Vital Throw", pp: 10, move_type: :fighting, + rs_description: "Makes the user's move last, but it never misses.", + frlg_description: "Makes the user attack after the foe. In return, it will not miss.") + Move.create(id: 232, name: "Metal Claw", pp: 35, move_type: :steel, + rs_description: "A claw attack that may raise the user's ATTACK.", + frlg_description: "The foe is attacked with steel claws. It may also raise the user's ATTACK.") + Move.create(id: 231, name: "Iron Tail", pp: 15, move_type: :steel, + rs_description: "Attacks with a rock-hard tail. May lower DEFENSE.", + frlg_description: "An attack with a steel-hard tail. It may lower the foe's DEFENSE stat.") + Move.create(id: 230, name: "Sweet Scent", pp: 20, move_type: :normal, + rs_description: "Allures the foe to reduce evasiveness.", + frlg_description: "Allures the foe to reduce evasiveness. It also attracts wild POKéMON.") + Move.create(id: 229, name: "Rapid Spin", pp: 40, move_type: :normal, + rs_description: "Spins the body at high speed to strike the foe.", + frlg_description: "An attack that frees the user from BIND, WRAP, LEECH SEED, and SPIKES.") + Move.create(id: 228, name: "Pursuit", pp: 20, move_type: :dark, + rs_description: "Inflicts bad damage if used on a foe switching out.", + frlg_description: "An attack move that works especially well on a foe that is switching out.") + Move.create(id: 227, name: "Encore", pp: 5, move_type: :normal, + rs_description: "Makes the foe repeat its last move over 2 to 6 turns.", + frlg_description: "Makes the foe use the move it last used repeatedly for two to six turns.") + Move.create(id: 226, name: "Baton Pass", pp: 40, move_type: :normal, + rs_description: "Switches out the user while keeping effects in play.", + frlg_description: "The user switches out, passing along any stat changes to the new battler.") + Move.create(id: 225, name: "Dragon Breath", pp: 20, move_type: :dragon, + rs_description: "Strikes the foe with an incredible blast of breath.", + frlg_description: "The foe is hit with an incredible blast of breath that may also paralyze.") + Move.create(id: 224, name: "Megahorn", pp: 10, move_type: :bug, + rs_description: "A brutal ramming attack using out-thrust horns.", + frlg_description: "A brutal ramming attack delivered with a tough and impressive horn.") + Move.create(id: 223, name: "Dynamic Punch", pp: 5, move_type: :fighting, + rs_description: "Powerful and sure to cause confusion, but inaccurate.", + frlg_description: "The foe is punched with the user's full power. It confuses the foe if it hits.") + Move.create(id: 222, name: "Magnitude", pp: 30, move_type: :ground, + rs_description: "A ground-shaking attack of random intensity.", + frlg_description: "A ground-shaking attack against all standing POKéMON. Its power varies.") + Move.create(id: 221, name: "Sacred Fire", pp: 5, move_type: :fire, + rs_description: "A mystical fire attack that may inflict a burn.", + frlg_description: "A mystical and powerful fire attack that may inflict a burn.") + Move.create(id: 220, name: "Pain Split", pp: 20, move_type: :normal, + rs_description: "Adds the user and foe's HP, then shares them equally.", + frlg_description: "The user adds its HP to the foe's HP, then equally shares the total HP.") + Move.create(id: 219, name: "Safeguard", pp: 25, move_type: :normal, + rs_description: "A mystical force prevents all status problems.", + frlg_description: "It protects the user's party from all status problems for five turns.") + Move.create(id: 218, name: "Frustration", pp: 20, move_type: :normal, + rs_description: "An attack that is stronger if the TRAINER is disliked.", + frlg_description: "This attack move grows more powerful the less the user likes its TRAINER.") + Move.create(id: 217, name: "Present", pp: 15, move_type: :normal, + rs_description: "A gift in the form of a bomb. May restore HP.", + frlg_description: "The foe is given a booby-trapped gift. It restores HP sometimes, however.") + Move.create(id: 216, name: "Return", pp: 20, move_type: :normal, + rs_description: "An attack that increases in power with friendship.", + frlg_description: "This attack move grows more powerful the more the user likes its TRAINER.") + Move.create(id: 215, name: "Heal Bell", pp: 5, move_type: :normal, + rs_description: "Chimes soothingly to heal all status abnormalities.", + frlg_description: "A soothing bell chimes to heal the status problems of all allies.") + Move.create(id: 214, name: "Sleep Talk", pp: 10, move_type: :normal, + rs_description: "Uses an own move randomly while asleep.", + frlg_description: "While asleep, the user randomly uses one of the moves it knows.", + emerald_description: "Uses an available move randomly while asleep.") + Move.create(id: 213, name: "Attract", pp: 15, move_type: :normal, + rs_description: "Makes the opposite gender less likely to attack.", + frlg_description: "If it is the other gender, the foe is made infatuated and unlikely to attack.") + Move.create(id: 212, name: "Mean Look", pp: 5, move_type: :normal, + rs_description: "Fixes the foe with a mean look that prevents escape.", + frlg_description: "The foe is fixed with a mean look that prevents it from escaping.") + Move.create(id: 211, name: "Steel Wing", pp: 25, move_type: :steel, + rs_description: "Strikes the foe with hard wings spread wide.", + frlg_description: "The foe is hit with wings of steel. It may also raise the user's DEFENSE.") + Move.create(id: 210, name: "Fury Cutter", pp: 20, move_type: :bug, + rs_description: "An attack that intensifies on each successive hit.", + frlg_description: "An attack that grows stronger on each successive hit.") + Move.create(id: 209, name: "Spark", pp: 20, move_type: :electric, + rs_description: "An electrified tackle that may paralyze the foe.", + frlg_description: "An electrically charged tackle that may also paralyze the foe.") + Move.create(id: 208, name: "Milk Drink", pp: 10, move_type: :normal, + rs_description: "Recovers up to half the user's maximum HP.", + frlg_description: "Heals the user by up to half its full HP. It can be used to heal an ally.") + Move.create(id: 207, name: "Swagger", pp: 15, move_type: :normal, + rs_description: "Confuses the foe, but also sharply raises ATTACK.", + frlg_description: "A move that makes the foe confused, but also sharply raises its ATTACK.") + Move.create(id: 206, name: "False Swipe", pp: 40, move_type: :normal, + rs_description: "An attack that leaves the foe with at least 1 HP.", + frlg_description: "A restrained attack that always leaves the foe with at least 1 HP.") + Move.create(id: 205, name: "Rollout", pp: 20, move_type: :rock, + rs_description: "An attack lasting 5 turns with rising intensity.", + frlg_description: "A 5-turn rolling attack that becomes stronger each time it hits.") + Move.create(id: 204, name: "Charm", pp: 20, move_type: :normal, + rs_description: "Charms the foe and sharply reduces its ATTACK.", + frlg_description: "The foe is charmed by the user's cute appeals, sharply cutting its ATTACK.") + Move.create(id: 203, name: "Endure", pp: 10, move_type: :normal, + rs_description: "Endures any attack for 1 turn, leaving at least 1HP.", + frlg_description: "The user endures any hit with 1 HP left. It may fail if used in succession.") + Move.create(id: 202, name: "Giga Drain", pp: 5, move_type: :grass, + rs_description: "An attack that steals half the damage inflicted.", + frlg_description: "A harsh attack that absorbs half the damage it inflicted to restore HP.") + Move.create(id: 201, name: "Sandstorm", pp: 10, move_type: :rock, + rs_description: "Causes a sandstorm that rages for several turns.", + frlg_description: "A 5-turn sandstorm that damages all types except ROCK, GROUND, and STEEL.") + Move.create(id: 200, name: "Outrage", pp: 15, move_type: :dragon, + rs_description: "A rampage of 2 to 3 turns that confuses the user.", + frlg_description: "The user thrashes about for two to three turns, then becomes confused.") + Move.create(id: 199, name: "Lock-On", pp: 5, move_type: :normal, + rs_description: "Locks on to the foe to ensure the next move hits.", + frlg_description: "The user locks on to the foe, making the next move sure to hit.") + Move.create(id: 198, name: "Bone Rush", pp: 10, move_type: :ground, + rs_description: "Strikes the foe with a bone in hand 2 to 5 times.", + frlg_description: "The user strikes the foe with a bone in hand two to five times.") + Move.create(id: 197, name: "Detect", pp: 5, move_type: :fighting, + rs_description: "Evades attack, but may fail if used in succession.", + frlg_description: "Enables the user to evade all attacks. It may fail if used in succession.") + Move.create(id: 196, name: "Icy Wind", pp: 15, move_type: :ice, + rs_description: "A chilling attack that lowers the foe's SPEED.", + frlg_description: "A chilling wind is used to attack. It also lowers the SPEED stat.") + Move.create(id: 195, name: "Perish Song", pp: 5, move_type: :normal, + rs_description: "Any POKéMON hearing this song faints in 3 turns.", + frlg_description: "Any battler that hears this faints in three turns unless it switches.") + Move.create(id: 194, name: "Destiny Bond", pp: 5, move_type: :ghost, + rs_description: "If the user faints, the foe is also made to faint.", + frlg_description: "If the user faints, the foe delivering the final hit also faints.") + Move.create(id: 193, name: "Foresight", pp: 40, move_type: :normal, + rs_description: "Negates the foe's efforts to heighten evasiveness.", + frlg_description: "Completely negates the foe's efforts to heighten its ability to evade.") + Move.create(id: 192, name: "Zap Cannon", pp: 5, move_type: :electric, + rs_description: "Powerful and sure to cause paralysis, but inaccurate.", + frlg_description: "An electric blast is fired like a cannon to inflict damage and paralyze.") + Move.create(id: 191, name: "Spikes", pp: 20, move_type: :ground, + rs_description: "Sets spikes that hurt a foe switching out.", + frlg_description: "A trap of spikes is laid around the foe's party to hurt foes switching in.", + emerald_description: "Sets spikes that hurt a foe switching in.") + Move.create(id: 190, name: "Octazooka", pp: 10, move_type: :water, + rs_description: "Fires a lump of ink to damage and cut accuracy.", + frlg_description: "Ink is blasted in the foe's face or eyes to damage and lower accuracy.") + Move.create(id: 189, name: "Mud-Slap", pp: 10, move_type: :ground, + rs_description: "Hurls mud in the foe's face to reduce its accuracy.", + frlg_description: "Mud is hurled in the foe's face to inflict damage and lower its accuracy.") + Move.create(id: 188, name: "Sludge Bomb", pp: 10, move_type: :poison, + rs_description: "Sludge is hurled to inflict damage. May also poison.", + frlg_description: "Filthy sludge is hurled at the foe. It may poison the target.") + Move.create(id: 187, name: "Belly Drum", pp: 10, move_type: :normal, + rs_description: "Maximizes ATTACK while sacrificing HP.", + frlg_description: "The user maximizes its ATTACK stat at the cost of half its full HP.") + Move.create(id: 186, name: "Sweet Kiss", pp: 10, move_type: :normal, + rs_description: "Demands a kiss with a cute look. May cause confusion.", + frlg_description: "The user kisses the foe with sweet cuteness that causes confusion.") + Move.create(id: 185, name: "Feint Attack", pp: 20, move_type: :dark, + rs_description: "Draws the foe close, then strikes without fail.", + frlg_description: "The user draws up close to the foe disarmingly, then hits without fail.") + Move.create(id: 184, name: "Scary Face", pp: 10, move_type: :normal, + rs_description: "Frightens with a scary face to sharply reduce SPEED.", + frlg_description: "Frightens the foe with a scary face to sharply reduce its SPEED.") + Move.create(id: 183, name: "Mach Punch", pp: 30, move_type: :fighting, + rs_description: "A punch is thrown at wicked speed to strike first.", + frlg_description: "A punch thrown at blinding speed. It is certain to strike first.") + Move.create(id: 182, name: "Protect", pp: 10, move_type: :normal, + rs_description: "Evades attack, but may fail if used in succession.", + frlg_description: "Enables the user to evade all attacks. It may fail if used in succession.") + Move.create(id: 181, name: "Powder Snow", pp: 25, move_type: :ice, + rs_description: "Blasts the foe with a snowy gust. May cause freezing.", + frlg_description: "Blasts the foe with a snowy gust. It may cause freezing.") + Move.create(id: 180, name: "Spite", pp: 10, move_type: :ghost, + rs_description: "Spitefully cuts the PP of the foe's last move.", + frlg_description: "A move that cuts 2 to 5 PP from the move last used by the foe.") + Move.create(id: 179, name: "Reversal", pp: 15, move_type: :fighting, + rs_description: "Inflicts more damage when the user's HP is down.", + frlg_description: "An all-out attack that becomes more powerful the less HP the user has.") + Move.create(id: 178, name: "Cotton Spore", pp: 40, move_type: :grass, + rs_description: "Spores cling to the foe, sharply reducing SPEED.", + frlg_description: "Cotton-like spores cling to the foe, sharply reducing its SPEED stat.") + Move.create(id: 177, name: "Aeroblast", pp: 5, move_type: :flying, + rs_description: "Launches a vacuumed blast. High critical-hit ratio.", + frlg_description: "A vortex of air is shot at the foe. It has a high critical-hit ratio.") + Move.create(id: 176, name: "Conversion 2", pp: 30, move_type: :normal, + rs_description: "Makes the user resistant to the last attack's type.", + frlg_description: "The user changes type to make itself resistant to the last attack it took.") + Move.create(id: 175, name: "Flail", pp: 15, move_type: :normal, + rs_description: "Inflicts more damage when the user's HP is down.", + frlg_description: "A desperate attack that becomes more powerful the less HP the user has.") + Move.create(id: 174, name: "Curse", pp: 10, move_type: :mystery, + rs_description: "A move that functions differently for GHOSTS.", + frlg_description: "A move that works differently for the GHOST-type and all the other types.") + Move.create(id: 173, name: "Snore", pp: 15, move_type: :normal, + rs_description: "A loud attack that can be used only while asleep.", + frlg_description: "An attack that can be used only while asleep. It may cause flinching.") + Move.create(id: 172, name: "Flame Wheel", pp: 25, move_type: :fire, + rs_description: "A fiery charge attack that may inflict a burn.", + frlg_description: "The user makes a fiery charge at the foe. It may cause a burn.") + Move.create(id: 171, name: "Nightmare", pp: 15, move_type: :ghost, + rs_description: "Inflicts 1/4 damage on a sleeping foe every turn.", + frlg_description: "A sleeping foe is shown a nightmare that inflicts some damage every turn.") + Move.create(id: 170, name: "Mind Reader", pp: 40, move_type: :normal, + rs_description: "Senses the foe's action to ensure the next move's hit.", + frlg_description: "The user predicts the foe's action to ensure its next attack hits.") + Move.create(id: 169, name: "Spider Web", pp: 10, move_type: :bug, + rs_description: "Ensnares the foe to stop it from fleeing or switching.", + frlg_description: "Ensnares the foe with sticky string so it doesn't flee or switch out.") + Move.create(id: 168, name: "Thief", pp: 10, move_type: :dark, + rs_description: "While attacking, it may steal the foe's held item.", + frlg_description: "An attack that may take the foe's held item if the user isn't holding one.") + Move.create(id: 167, name: "Triple Kick", pp: 10, move_type: :fighting, + rs_description: "Kicks the foe 3 times in a row with rising intensity.", + frlg_description: "A 3-kick attack that becomes more powerful with each successive hit.") + Move.create(id: 166, name: "Sketch", pp: 1, move_type: :normal, + rs_description: "Copies the foe's last move permanently.", + frlg_description: "This move copies the move last used by the foe, then disappears.") + Move.create(id: 165, name: "Struggle", pp: 0, move_type: :normal, + rs_description: "Used only if all PP are gone. Also hurts the user a little.", + frlg_description: "An attack that is used only if there is no PP. It also hurts the user.") + Move.create(id: 164, name: "Substitute", pp: 10, move_type: :normal, + rs_description: "Creates a decoy using 1/4 of the user's maximum HP.", + frlg_description: "The user creates a decoy using one-quarter of its full HP.") + Move.create(id: 163, name: "Slash", pp: 20, move_type: :normal, + rs_description: "Slashes with claws, etc. Has a high critical-hit ratio.", + frlg_description: "The foe is slashed with claws, etc. It has a high critical-hit ratio.") + Move.create(id: 162, name: "Super Fang", pp: 10, move_type: :normal, + rs_description: "Attacks with sharp fangs and cuts half the foe's HP.", + frlg_description: "The user attacks with sharp fangs and halves the foe's HP.") + Move.create(id: 161, name: "Tri Attack", pp: 10, move_type: :normal, + rs_description: "Fires three types of beams at the same time.", + frlg_description: "A simultaneous 3-beam attack that may paralyze, burn, or freeze the foe.") + Move.create(id: 160, name: "Conversion", pp: 30, move_type: :normal, + rs_description: "Changes the user's type into an own move's type.", + frlg_description: "The user changes its type to match the type of one of its moves.", + emerald_description: "Changes the user's type into a known move's type.") + Move.create(id: 159, name: "Sharpen", pp: 30, move_type: :normal, + rs_description: "Reduces the polygon count and raises ATTACK.", + frlg_description: "The user reduces its polygon count to sharpen edges and raise ATTACK.") + Move.create(id: 158, name: "Hyper Fang", pp: 15, move_type: :normal, + rs_description: "Attacks with sharp fangs. May cause flinching.", + frlg_description: "The foe is attacked with sharp fangs. It may make the foe flinch.") + Move.create(id: 157, name: "Rock Slide", pp: 10, move_type: :rock, + rs_description: "Large boulders are hurled. May cause flinching.", + frlg_description: "Large boulders are hurled at the foe. It may make the foe flinch.") + Move.create(id: 156, name: "Rest", pp: 10, move_type: :psychic, + rs_description: "The user sleeps for 2 turns, restoring HP and status.", + frlg_description: "The user sleeps for two turns to fully restore HP and heal any status problem.") + Move.create(id: 155, name: "Bonemerang", pp: 10, move_type: :ground, + rs_description: "Throws a bone boomerang that strikes twice.", + frlg_description: "The user throws a bone that hits the foe once, then once again on return.") + Move.create(id: 154, name: "Fury Swipes", pp: 15, move_type: :normal, + rs_description: "Rakes the foe with sharp claws, etc., 2 to 5 times.", + frlg_description: "The foe is raked with sharp claws or scythes two to five times.") + Move.create(id: 153, name: "Explosion", pp: 5, move_type: :normal, + rs_description: "Inflicts severe damage but makes the user faint.", + frlg_description: "The user explodes to inflict terrible damage even while fainting itself.") + Move.create(id: 152, name: "Crabhammer", pp: 10, move_type: :water, + rs_description: "Hammers with a pincer. Has a high critical-hit ratio.", + frlg_description: "A large pincer is used to hammer the foe. It has a high critical-hit ratio.") + Move.create(id: 151, name: "Acid Armor", pp: 40, move_type: :poison, + rs_description: "Liquifies the user's body to sharply raise DEFENSE.", + frlg_description: "The user alters its cells to liquefy itself and sharply raise DEFENSE.") + Move.create(id: 150, name: "Splash", pp: 40, move_type: :normal, + rs_description: "It's just a splash... Has no effect whatsoever.", + frlg_description: "The user just flops and splashes around without having any effect.") + Move.create(id: 149, name: "Psywave", pp: 15, move_type: :psychic, + rs_description: "Attacks with a psychic wave of varying intensity.", + frlg_description: "The foe is attacked with an odd, hot energy wave that varies in intensity.") + Move.create(id: 148, name: "Flash", pp: 20, move_type: :normal, + rs_description: "Looses a powerful blast of light that cuts accuracy.", + frlg_description: "A blast of light that cuts the foe's accuracy. It also illuminates caves.") + Move.create(id: 147, name: "Spore", pp: 15, move_type: :grass, + rs_description: "Scatters a cloud of spores that always induce sleep.", + frlg_description: "The user scatters bursts of fine spores that induce sleep.") + Move.create(id: 146, name: "Dizzy Punch", pp: 10, move_type: :normal, + rs_description: "A rhythmic punch that may confuse the foe.", + frlg_description: "The foe is hit with a rhythmic punch that may leave it confused.") + Move.create(id: 145, name: "Bubble", pp: 30, move_type: :water, + rs_description: "An attack using bubbles. May lower the foe's SPEED.", + frlg_description: "A spray of bubbles hits the foe. It may lower the foe's SPEED stat.") + Move.create(id: 144, name: "Transform", pp: 10, move_type: :normal, + rs_description: "Alters the user's cells to become a copy of the foe.", + frlg_description: "The user transforms into a copy of the foe with even the same move set.") + Move.create(id: 143, name: "Sky Attack", pp: 5, move_type: :flying, + rs_description: "Searches out weak spots, then strikes the next turn.", + frlg_description: "A 2nd-turn attack move with a high critical-hit ratio. The foe may flinch.") + Move.create(id: 142, name: "Lovely Kiss", pp: 10, move_type: :normal, + rs_description: "Demands a kiss with a scary face that induces sleep.", + frlg_description: "The user forces a kiss on the foe with a scary face that induces sleep.") + Move.create(id: 141, name: "Leech Life", pp: 15, move_type: :bug, + rs_description: "An attack that steals half the damage inflicted.", + frlg_description: "An attack that absorbs half the damage it inflicted to restore HP.") + Move.create(id: 140, name: "Barrage", pp: 20, move_type: :normal, + rs_description: "Hurls round objects at the foe 2 to 5 times.", + frlg_description: "Round objects are hurled at the foe to strike two to five times.") + Move.create(id: 139, name: "Poison Gas", pp: 40, move_type: :poison, + rs_description: "Envelops the foe in a toxic gas that may poison.", + frlg_description: "The foe is sprayed with a cloud of toxic gas that may poison the foe.") + Move.create(id: 138, name: "Dream Eater", pp: 15, move_type: :psychic, + rs_description: "Takes one half the damage inflicted on a sleeping foe.", + frlg_description: "Absorbs half the damage it inflicted on a sleeping foe to restore HP.") + Move.create(id: 137, name: "Glare", pp: 30, move_type: :normal, + rs_description: "Intimidates and frightens the foe into paralysis.", + frlg_description: "The user intimidates the foe with the design on its belly to cause paralysis.") + Move.create(id: 136, name: "High Jump Kick", pp: 20, move_type: :fighting, + rs_description: "A jumping knee kick. If it misses, the user is hurt.", + frlg_description: "A strong jumping knee kick. If it misses, the user is hurt.") + Move.create(id: 135, name: "Soft-Boiled", pp: 10, move_type: :normal, + rs_description: "Recovers up to half the user's maximum HP.", + frlg_description: "Heals the user by up to half its full HP. It can be used to heal an ally.") + Move.create(id: 134, name: "Kinesis", pp: 15, move_type: :psychic, + rs_description: "Distracts the foe. May lower accuracy.", + frlg_description: "The user distracts the foe by bending a spoon. It may lower accuracy.") + Move.create(id: 133, name: "Amnesia", pp: 20, move_type: :psychic, + rs_description: "Forgets about something and sharply raises SP. DEF.", + frlg_description: "Forgets about something and sharply raises SP. DEF.") + Move.create(id: 132, name: "Constrict", pp: 35, move_type: :normal, + rs_description: "Constricts to inflict pain. May lower SPEED.", + frlg_description: "The foe is attacked with long tentacles or vines. It may lower SPEED.") + Move.create(id: 131, name: "Spike Cannon", pp: 15, move_type: :normal, + rs_description: "Launches sharp spikes that strike 2 to 5 times.", + frlg_description: "Sharp spikes are fired at the foe to strike two to five times.") + Move.create(id: 130, name: "Skull Bash", pp: 15, move_type: :normal, + rs_description: "Tucks in the head, then attacks on the next turn.", + frlg_description: "The user raises its DEFENSE in the 1st turn, then attacks in the 2nd turn.") + Move.create(id: 129, name: "Swift", pp: 20, move_type: :normal, + rs_description: "Sprays star-shaped rays that never miss.", + frlg_description: "Star-shaped rays that never miss are fired at all foes in battle.") + Move.create(id: 128, name: "Clamp", pp: 10, move_type: :water, + rs_description: "Traps and squeezes the foe for 2 to 5 turns.", + frlg_description: "The foe is clamped and squeezed by the user's shell for two to five turns.") + Move.create(id: 127, name: "Waterfall", pp: 15, move_type: :water, + rs_description: "Charges the foe with speed to climb waterfalls.", + frlg_description: "A powerful charge attack. It can also be used to climb a waterfall.") + Move.create(id: 126, name: "Fire Blast", pp: 5, move_type: :fire, + rs_description: "A fiery blast that scorches all. May cause a burn.", + frlg_description: "The foe is hit with an intense flame. It may leave the target with a burn.", + emerald_description: "Incinerates everything it strikes. May cause a burn.") + Move.create(id: 125, name: "Bone Club", pp: 20, move_type: :ground, + rs_description: "Clubs the foe with a bone. May cause flinching.", + frlg_description: "The foe is clubbed with a bone held in hand. It may make the foe flinch.") + Move.create(id: 124, name: "Sludge", pp: 20, move_type: :poison, + rs_description: "Sludge is hurled to inflict damage. May also poison.", + frlg_description: "Toxic sludge is hurled at the foe. It may poison the target.") + Move.create(id: 123, name: "Smog", pp: 20, move_type: :poison, + rs_description: "An exhaust-gas attack that may also poison.", + frlg_description: "The foe is attacked with exhaust gases. It may also poison the foe.") + Move.create(id: 122, name: "Lick", pp: 30, move_type: :ghost, + rs_description: "Licks with a long tongue to injure. May also paralyze.", + frlg_description: "The foe is licked and hit with a long tongue. It may also paralyze.") + Move.create(id: 121, name: "Egg Bomb", pp: 10, move_type: :normal, + rs_description: "An egg is forcibly hurled at the foe.", + frlg_description: "A large egg is hurled with great force at the foe to inflict damage.") + Move.create(id: 120, name: "Self-Destruct", pp: 5, move_type: :normal, + rs_description: "Inflicts severe damage but makes the user faint.", + frlg_description: "The user blows up to inflict severe damage, even making itself faint.") + Move.create(id: 119, name: "Mirror Move", pp: 20, move_type: :flying, + rs_description: "Counters the foe's attack with the same move.", + frlg_description: "The user counters the move last used by the foe with the same move.") + Move.create(id: 118, name: "Metronome", pp: 10, move_type: :normal, + rs_description: "Waggles a finger to use any POKéMON move at random.", + frlg_description: "Waggles a finger and stimulates the brain into using any move at random.") + Move.create(id: 117, name: "Bide", pp: 10, move_type: :normal, + rs_description: "Endures attack for 2 turns to retaliate double.", + frlg_description: "The user endures attacks for two turns, then strikes back double.") + Move.create(id: 116, name: "Focus Energy", pp: 30, move_type: :normal, + rs_description: "Focuses power to raise the critical-hit ratio.", + frlg_description: "The user takes a deep breath and focuses to raise its critical-hit ratio.") + Move.create(id: 115, name: "Reflect", pp: 20, move_type: :psychic, + rs_description: "Creates a wall of light that weakens physical attacks.", + frlg_description: "A wall of light cuts damage from physical attacks for five turns.") + Move.create(id: 114, name: "Haze", pp: 30, move_type: :ice, + rs_description: "Creates a black haze that eliminates all stat changes.", + frlg_description: "Eliminates all stat changes among all POKéMON engaged in battle.") + Move.create(id: 113, name: "Light Screen", pp: 30, move_type: :psychic, + rs_description: "Creates a wall of light that lowers SP. ATK damage.", + frlg_description: "A wall of light cuts damage from SP. ATK attacks for five turns.") + Move.create(id: 112, name: "Barrier", pp: 30, move_type: :psychic, + rs_description: "Creates a barrier that sharply raises DEFENSE.", + frlg_description: "The user creates a sturdy wall that sharply raises its DEFENSE stat.") + Move.create(id: 111, name: "Defense Curl", pp: 40, move_type: :normal, + rs_description: "Curls up to conceal weak spots and raise DEFENSE.", + frlg_description: "The user curls up to conceal weak spots and raise its DEFENSE stat.") + Move.create(id: 110, name: "Withdraw", pp: 40, move_type: :water, + rs_description: "Withdraws the body into its hard shell to raise DEFENSE.", + frlg_description: "The user withdraws its body in its hard shell, raising its DEFENSE stat.") + Move.create(id: 109, name: "Confuse Ray", pp: 10, move_type: :ghost, + rs_description: "A sinister ray that confuses the foe.", + frlg_description: "The foe is exposed to a sinister ray that triggers confusion.") + Move.create(id: 108, name: "Smokescreen", pp: 20, move_type: :normal, + rs_description: "Lowers the foe's accuracy using smoke, ink, etc.", + frlg_description: "An obscuring cloud of smoke or ink reduces the foe's accuracy.") + Move.create(id: 107, name: "Minimize", pp: 20, move_type: :normal, + rs_description: "Minimizes the user's size to raise evasiveness.", + frlg_description: "The user compresses all the cells in its body to raise its evasiveness.") + Move.create(id: 106, name: "Harden", pp: 30, move_type: :normal, + rs_description: "Stiffens the body's muscles to raise DEFENSE.", + frlg_description: "The user stiffens all the muscles in its body to raise its DEFENSE stat.") + Move.create(id: 105, name: "Recover", pp: 20, move_type: :normal, + rs_description: "Recovers up to half the user's maximum HP.", + frlg_description: "A self-healing move that restores HP by up to half of the user's maximum HP.") + Move.create(id: 104, name: "Double Team", pp: 15, move_type: :normal, + rs_description: "Creates illusory copies to raise evasiveness.", + frlg_description: "The user creates illusory copies of itself to raise its evasiveness.") + Move.create(id: 103, name: "Screech", pp: 40, move_type: :normal, + rs_description: "Emits a screech to sharply reduce the foe's DEFENSE.", + frlg_description: "An ear-splitting screech is emitted to sharply reduce the foe's DEFENSE.") + Move.create(id: 102, name: "Mimic", pp: 10, move_type: :normal, + rs_description: "Copies a move used by the foe during one battle.", + frlg_description: "The user copies the move last used by the foe for the rest of the battle.") + Move.create(id: 101, name: "Night Shade", pp: 15, move_type: :ghost, + rs_description: "Inflicts damage identical to the user's level.", + frlg_description: "An attack with a mirage that inflicts damage matching the user's level.") + Move.create(id: 100, name: "Teleport", pp: 20, move_type: :psychic, + rs_description: "A psychic move for fleeing from battle instantly.", + frlg_description: "Use it to flee from any wild POKéMON. Also warps to the last POKé CENTER.") + Move.create(id: 99, name: "Rage", pp: 20, move_type: :normal, + rs_description: "Raises the user's ATTACK every time it is hit.", + frlg_description: "An attack that becomes stronger each time the user is hit in battle.") + Move.create(id: 98, name: "Quick Attack", pp: 30, move_type: :normal, + rs_description: "An extremely fast attack that always strikes first.", + frlg_description: "An almost invisibly fast attack that is certain to strike first.") + Move.create(id: 97, name: "Agility", pp: 30, move_type: :psychic, + rs_description: "Relaxes the body to sharply boost SPEED.", + frlg_description: "The user relaxes and lightens its body to sharply boost its SPEED.") + Move.create(id: 96, name: "Meditate", pp: 40, move_type: :psychic, + rs_description: "Meditates in a peaceful fashion to raise ATTACK.", + frlg_description: "The user meditates to awaken its power and raise its ATTACK stat.") + Move.create(id: 95, name: "Hypnosis", pp: 20, move_type: :psychic, + rs_description: "A hypnotizing move that may induce sleep.", + frlg_description: "Hypnotic suggestion is used to make the foe fall into a deep sleep.") + Move.create(id: 94, name: "Psychic", pp: 10, move_type: :psychic, + rs_description: "A powerful psychic attack that may lower SP. DEF.", + frlg_description: "A strong telekinetic attack. It may also lower the foe's SP. DEF stat.") + Move.create(id: 93, name: "Confusion", pp: 25, move_type: :psychic, + rs_description: "A psychic attack that may cause confusion.", + frlg_description: "A weak telekinetic attack that may also leave the foe confused.") + Move.create(id: 92, name: "Toxic", pp: 10, move_type: :poison, + rs_description: "Poisons the foe with an intensifying toxin.", + frlg_description: "A move that badly poisons the foe. Its poison damage worsens every turn.") + Move.create(id: 91, name: "Dig", pp: 10, move_type: :ground, + rs_description: "Digs underground the first turn and strikes next turn.", + frlg_description: "An attack that hits on the 2nd turn. Can also be used to exit dungeons.") + Move.create(id: 90, name: "Fissure", pp: 5, move_type: :ground, + rs_description: "A one-hit KO move that drops the foe in a fissure.", + frlg_description: "The foe is dropped into a fissure. The foe faints if it hits.") + Move.create(id: 89, name: "Earthquake", pp: 10, move_type: :ground, + rs_description: "A powerful quake, but has no effect on flying foes.", + frlg_description: "An earthquake that strikes all POKéMON in battle excluding the user.") + Move.create(id: 88, name: "Rock Throw", pp: 15, move_type: :rock, + rs_description: "Throws small rocks to strike the foe.", + frlg_description: "The foe is attacked with a shower of small, easily thrown rocks.") + Move.create(id: 87, name: "Thunder", pp: 10, move_type: :electric, + rs_description: "A lightning attack that may cause paralysis.", + frlg_description: "A brutal lightning attack that may also leave the foe paralyzed.") + Move.create(id: 86, name: "Thunder Wave", pp: 20, move_type: :electric, + rs_description: "A weak jolt of electricity that paralyzes the foe.", + frlg_description: "A weak electric shock that is sure to cause paralysis if it hits.") + Move.create(id: 85, name: "Thunderbolt", pp: 15, move_type: :electric, + rs_description: "A strong electrical attack that may paralyze the foe.", + frlg_description: "A strong electrical attack that may also leave the foe paralyzed.") + Move.create(id: 84, name: "Thunder Shock", pp: 30, move_type: :electric, + rs_description: "An electrical attack that may paralyze the foe.", + frlg_description: "An electric shock attack that may also leave the foe paralyzed.") + Move.create(id: 83, name: "Fire Spin", pp: 15, move_type: :fire, + rs_description: "Traps the foe in a ring of fire for 2 to 5 turns.", + frlg_description: "The foe is trapped in an intense spiral of fire that rages two to five turns.") + Move.create(id: 82, name: "Dragon Rage", pp: 10, move_type: :dragon, + rs_description: "Launches shock waves that always inflict 40 HP damage.", + frlg_description: "The foe is hit with a shock wave that always inflicts 40-HP damage.") + Move.create(id: 81, name: "String Shot", pp: 40, move_type: :bug, + rs_description: "Binds the foe with string to reduce its SPEED.", + frlg_description: "The foe is bound with strings shot from the mouth to reduce its SPEED.") + Move.create(id: 80, name: "Petal Dance", pp: 20, move_type: :grass, + rs_description: "A rampage of 2 to 3 turns that confuses the user.", + frlg_description: "The user attacks with petals for two to three turns, then gets confused.") + Move.create(id: 79, name: "Sleep Powder", pp: 15, move_type: :grass, + rs_description: "Scatters a powder that may cause the foe to sleep.", + frlg_description: "A sleep-inducing dust is scattered in high volume around a foe.") + Move.create(id: 78, name: "Stun Spore", pp: 30, move_type: :grass, + rs_description: "Scatters a powder that may paralyze the foe.", + frlg_description: "Paralyzing dust is scattered wildly. It may paralyze the foe.") + Move.create(id: 77, name: "Poison Powder", pp: 35, move_type: :poison, + rs_description: "Scatters a toxic powder that may poison the foe.", + frlg_description: "A cloud of toxic dust is scattered. It may poison the foe.") + Move.create(id: 76, name: "Solar Beam", pp: 10, move_type: :grass, + rs_description: "Absorbs light in one turn, then attacks next turn.", + frlg_description: "A 2-turn move that blasts the foe with absorbed energy in the 2nd turn.") + Move.create(id: 75, name: "Razor Leaf", pp: 25, move_type: :grass, + rs_description: "Cuts the enemy with leaves. High critical-hit ratio.", + frlg_description: "The foe is hit with a cutting leaf. It has a high critical-hit ratio.") + Move.create(id: 74, name: "Growth", pp: 40, move_type: :normal, + rs_description: "Forces the body to grow and heightens SP. ATK.", + frlg_description: "The user's body is forced to grow, raising the SP. ATK stat.") + Move.create(id: 73, name: "Leech Seed", pp: 10, move_type: :grass, + rs_description: "Plants a seed on the foe to steal HP on every turn.", + frlg_description: "A seed is planted on the foe to steal some HP for the user on every turn.") + Move.create(id: 72, name: "Mega Drain", pp: 10, move_type: :grass, + rs_description: "An attack that absorbs half the damage inflicted.", + frlg_description: "A tough attack that drains half the damage it inflicted to restore HP.") + Move.create(id: 71, name: "Absorb", pp: 20, move_type: :grass, + rs_description: "An attack that absorbs half the damage inflicted.", + frlg_description: "An attack that absorbs half the damage it inflicted to restore HP.") + Move.create(id: 70, name: "Strength", pp: 15, move_type: :normal, + rs_description: "Builds enormous power, then slams the foe.", + frlg_description: "The foe is slugged at maximum power. Can also be used to move boulders.") + Move.create(id: 69, name: "Seismic Toss", pp: 20, move_type: :fighting, + rs_description: "Inflicts damage identical to the user's level.", + frlg_description: "A gravity-fed throw that causes damage matching the user's level.") + Move.create(id: 68, name: "Counter", pp: 20, move_type: :fighting, + rs_description: "Retaliates any physical hit with double the power.", + frlg_description: "A retaliation move that counters any physical hit with double the damage.") + Move.create(id: 67, name: "Low Kick", pp: 20, move_type: :fighting, + rs_description: "A kick that inflicts more damage on heavier foes.", + frlg_description: "A low, tripping kick that inflicts more damage on heavier foes.") + Move.create(id: 66, name: "Submission", pp: 25, move_type: :fighting, + rs_description: "A reckless body slam that also hurts the user.", + frlg_description: "A reckless, full-body throw attack that also hurts the user a little.") + Move.create(id: 65, name: "Drill Peck", pp: 20, move_type: :flying, + rs_description: "A corkscrewing attack with the beak acting as a drill.", + frlg_description: "A corkscrewing attack with the sharp beak acting as a drill.") + Move.create(id: 64, name: "Peck", pp: 35, move_type: :flying, + rs_description: "Attacks the foe with a jabbing beak, etc.", + frlg_description: "The foe is jabbed with a sharply pointed beak or horn.") + Move.create(id: 63, name: "Hyper Beam", pp: 5, move_type: :normal, + rs_description: "Powerful, but leaves the user immobile the next turn.", + frlg_description: "A severely damaging attack that makes the user rest on the next turn.") + Move.create(id: 62, name: "Aurora Beam", pp: 20, move_type: :ice, + rs_description: "Fires a rainbow-colored beam that may lower ATTACK.", + frlg_description: "A rainbow-colored attack beam. It may lower the foe's ATTACK stat.") + Move.create(id: 61, name: "Bubble Beam", pp: 20, move_type: :water, + rs_description: "Forcefully sprays bubbles that may lower SPEED.", + frlg_description: "A spray of bubbles strikes the foe. It may lower the foe's SPEED stat.") + Move.create(id: 60, name: "Psybeam", pp: 20, move_type: :psychic, + rs_description: "Fires a peculiar ray that may confuse the foe.", + frlg_description: "A peculiar ray is shot at the foe. It may leave the foe confused.") + Move.create(id: 59, name: "Blizzard", pp: 5, move_type: :ice, + rs_description: "Hits the foe with an icy storm that may freeze it.", + frlg_description: "The foe is blasted with a blizzard. It may freeze the foe solid.") + Move.create(id: 58, name: "Ice Beam", pp: 10, move_type: :ice, + rs_description: "Blasts the foe with an icy beam that may freeze it.", + frlg_description: "The foe is struck with an icy beam. It may freeze the foe solid.") + Move.create(id: 57, name: "Surf", pp: 15, move_type: :water, + rs_description: "Creates a huge wave, then crashes it down on the foe.", + frlg_description: "A big wave crashes down on the foe. Can also be used for crossing water.") + Move.create(id: 56, name: "Hydro Pump", pp: 5, move_type: :water, + rs_description: "Blasts water at high power to strike the foe.", + frlg_description: "A high volume of water is blasted at the foe under great pressure.") + Move.create(id: 55, name: "Water Gun", pp: 25, move_type: :water, + rs_description: "Squirts water to attack the foe.", + frlg_description: "The foe is struck with a lot of water expelled forcibly from the mouth.") + Move.create(id: 54, name: "Mist", pp: 30, move_type: :ice, + rs_description: "Creates a mist that stops reduction of abilities.", + frlg_description: "The ally party is protected by a mist that prevents stat reductions.") + Move.create(id: 53, name: "Flamethrower", pp: 15, move_type: :fire, + rs_description: "A powerful fire attack that may inflict a burn.", + frlg_description: "The foe is scorched with intense flames. The foe may suffer a burn.") + Move.create(id: 52, name: "Ember", pp: 25, move_type: :fire, + rs_description: "A weak fire attack that may inflict a burn.", + frlg_description: "The foe is attacked with small flames. The foe may suffer a burn.") + Move.create(id: 51, name: "Acid", pp: 30, move_type: :poison, + rs_description: "Sprays a hide-melting acid. May lower DEFENSE.", + frlg_description: "The foe is sprayed with a harsh, hide-melting acid that may lower DEFENSE.") + Move.create(id: 50, name: "Disable", pp: 20, move_type: :normal, + rs_description: "Psychically disables one of the foe's moves.", + frlg_description: "For a few turns, it prevents the foe from using the move it last used.") + Move.create(id: 49, name: "Sonic Boom", pp: 20, move_type: :normal, + rs_description: "Launches shock waves that always inflict 20 HP damage.", + frlg_description: "The foe is hit with a shock wave that always inflicts 20-HP damage.") + Move.create(id: 48, name: "Supersonic", pp: 20, move_type: :normal, + rs_description: "Emits bizarre sound waves that may confuse the foe.", + frlg_description: "The user generates odd sound waves. It may confuse the foe.") + Move.create(id: 47, name: "Sing", pp: 15, move_type: :normal, + rs_description: "A soothing song lulls the foe into a deep slumber.", + frlg_description: "A soothing song in a calming voice lulls the foe into a deep slumber.") + Move.create(id: 46, name: "Roar", pp: 20, move_type: :normal, + rs_description: "Makes the foe flee to end the battle.", + frlg_description: "The foe is made to switch out with an ally. In the wild, the battle ends.") + Move.create(id: 45, name: "Growl", pp: 40, move_type: :normal, + rs_description: "Growls cutely to reduce the foe's ATTACK.", + frlg_description: "The user growls in a cute way, making the foe lower its ATTACK stat.") + Move.create(id: 44, name: "Bite", pp: 25, move_type: :normal, + rs_description: "Bites with vicious fangs. May cause flinching.", + frlg_description: "The user bites with vicious fangs. It may make the foe flinch.") + Move.create(id: 43, name: "Leer", pp: 30, move_type: :normal, + rs_description: "Frightens the foe with a leer to lower DEFENSE.", + frlg_description: "The foe is given an intimidating look that lowers its DEFENSE stat.") + Move.create(id: 42, name: "Pin Missile", pp: 20, move_type: :bug, + rs_description: "Sharp pins are fired to strike 2 to 5 times.", + frlg_description: "Sharp pins are shot at the foe and hit two to five times at once.") + Move.create(id: 41, name: "Twineedle", pp: 20, move_type: :bug, + rs_description: "Stingers on the forelegs jab the foe twice.", + frlg_description: "The foe is stabbed twice with foreleg stingers. It may poison the foe.") + Move.create(id: 40, name: "Poison Sting", pp: 35, move_type: :poison, + rs_description: "A toxic attack with barbs, etc., that may poison.", + frlg_description: "The foe is stabbed with a toxic barb, etc. It may poison the foe.") + Move.create(id: 39, name: "Tail Whip", pp: 30, move_type: :normal, + rs_description: "Wags the tail to lower the foe's DEFENSE.", + frlg_description: "The user wags its tail cutely, making the foe lower its DEFENSE stat.") + Move.create(id: 38, name: "Double-Edge", pp: 15, move_type: :normal, + rs_description: "A life-risking tackle that also hurts the user.", + frlg_description: "A reckless, life-risking tackle that also hurts the user a little.") + Move.create(id: 37, name: "Thrash", pp: 20, move_type: :normal, + rs_description: "A rampage of 2 to 3 turns that confuses the user.", + frlg_description: "The user rampages about for two to three turns, then becomes confused.") + Move.create(id: 36, name: "Take Down", pp: 20, move_type: :normal, + rs_description: "A reckless charge attack that also hurts the user.", + frlg_description: "A reckless, full-body charge attack that also hurts the user a little.") + Move.create(id: 35, name: "Wrap", pp: 20, move_type: :normal, + rs_description: "Wraps and squeezes the foe 2 to 5 times with vines, etc.", + frlg_description: "A long body or vines are used to wrap the foe for two to five turns.") + Move.create(id: 34, name: "Body Slam", pp: 15, move_type: :normal, + rs_description: "A full-body slam that may cause paralysis.", + frlg_description: "The user drops its full body on the foe. It may leave the foe paralyzed.") + Move.create(id: 33, name: "Tackle", pp: 35, move_type: :normal, + rs_description: "Charges the foe with a full-body tackle.", + frlg_description: "A physical attack in which the user charges, full body, into the foe.") + Move.create(id: 32, name: "Horn Drill", pp: 5, move_type: :normal, + rs_description: "A one-hit KO attack that uses a horn like a drill.", + frlg_description: "The horn is rotated like a drill to ram. The foe will faint if it hits.") + Move.create(id: 31, name: "Fury Attack", pp: 20, move_type: :normal, + rs_description: "Jabs the foe 2 to 5 times with sharp horns, etc.", + frlg_description: "The foe is jabbed repeatedly with a horn or beak two to five times.") + Move.create(id: 30, name: "Horn Attack", pp: 25, move_type: :normal, + rs_description: "Jabs the foe with sharp horns.", + frlg_description: "The foe is jabbed with a sharply pointed horn to inflict damage.") + Move.create(id: 29, name: "Headbutt", pp: 15, move_type: :normal, + rs_description: "A ramming attack that may cause flinching.", + frlg_description: "The user sticks its head out and rams. It may make the foe flinch.") + Move.create(id: 28, name: "Sand Attack", pp: 15, move_type: :normal, + rs_description: "Reduces the foe's accuracy by hurling sand in its face.", + frlg_description: "A lot of sand is hurled in the foe's face, reducing its accuracy.") + Move.create(id: 27, name: "Rolling Kick", pp: 15, move_type: :fighting, + rs_description: "A fast kick delivered from a rapid spin.", + frlg_description: "A quick kick from a rolling spin. It may make the foe flinch.") + Move.create(id: 26, name: "Jump Kick", pp: 25, move_type: :fighting, + rs_description: "A strong jumping kick. May miss and hurt the kicker.", + frlg_description: "The user jumps up high, then kicks. If it misses, the user hurts itself.") + Move.create(id: 25, name: "Mega Kick", pp: 5, move_type: :normal, + rs_description: "An extremely powerful kick with intense force.", + frlg_description: "The foe is attacked by a kick fired with muscle-packed power.") + Move.create(id: 24, name: "Double Kick", pp: 30, move_type: :fighting, + rs_description: "A double-kicking attack that strikes the foe twice.", + frlg_description: "Two legs are used to quickly kick the foe twice in one turn.") + Move.create(id: 23, name: "Stomp", pp: 20, move_type: :normal, + rs_description: "Stomps the enemy with a big foot. May cause flinching.", + frlg_description: "The foe is stomped with a big foot. It may make the foe flinch.") + Move.create(id: 22, name: "Vine Whip", pp: 10, move_type: :grass, + rs_description: "Strikes the foe with slender, whiplike vines.", + frlg_description: "The foe is struck with slender, whip­ like vines.") + Move.create(id: 21, name: "Slam", pp: 20, move_type: :normal, + rs_description: "Slams the foe with a long tail, vine, etc.", + frlg_description: "The foe is struck with a long tail, vines, etc.") + Move.create(id: 20, name: "Bind", pp: 20, move_type: :normal, + rs_description: "Binds and squeezes the foe for 2 to 5 turns.", + frlg_description: "A long body or tentacles are used to bind the foe for two to five turns.") + Move.create(id: 19, name: "Fly", pp: 15, move_type: :flying, + rs_description: "Flies up on the first turn, then strikes the next turn.", + frlg_description: "A 2-turn move that hits on the 2nd turn. Use it to fly to any known town.") + Move.create(id: 18, name: "Whirlwind", pp: 20, move_type: :normal, + rs_description: "Blows away the foe with wind and ends the battle.", + frlg_description: "The foe is made to switch out with an ally. In the wild, the battle ends.") + Move.create(id: 17, name: "Wing Attack", pp: 35, move_type: :flying, + rs_description: "Strikes the foe with wings spread wide.", + frlg_description: "The foe is struck with large, imposing wings spread wide.") + Move.create(id: 16, name: "Gust", pp: 35, move_type: :normal, + rs_description: "Strikes the foe with a gust of wind whipped up by wings.", + frlg_description: "Strikes the foe with a gust of wind whipped up by wings.") + Move.create(id: 15, name: "Cut", pp: 30, move_type: :normal, + rs_description: "Cuts the foe with sharp scythes, claws, etc.", + frlg_description: "A basic attack. It can be used to cut down thin trees and grass.") + Move.create(id: 14, name: "Swords Dance", pp: 30, move_type: :normal, + rs_description: "A fighting dance that sharply raises ATTACK.", + frlg_description: "A frenetic dance of fighting. It sharply raises the ATTACK stat.") + Move.create(id: 13, name: "Razor Wind", pp: 10, move_type: :normal, + rs_description: "A 2-turn move that strikes the foe on the 2nd turn.", + frlg_description: "Blades of wind hit the foe on the 2nd turn. It has a high critical-hit ratio.") + Move.create(id: 12, name: "Guillotine", pp: 5, move_type: :normal, + rs_description: "A powerful pincer attack that may cause fainting.", + frlg_description: "A vicious tearing attack with pincers. The foe will faint if it hits.") + Move.create(id: 11, name: "Vice Grip", pp: 30, move_type: :normal, + rs_description: "Grips the foe with large and powerful pincers.", + frlg_description: "Huge, impressive pincers grip and squeeze the foe.") + Move.create(id: 10, name: "Scratch", pp: 35, move_type: :normal, + rs_description: "Scratches the foe with sharp claws.", + frlg_description: "Hard, pointed, and sharp claws rake the foe.") + Move.create(id: 9, name: "Thunder Punch", pp: 15, move_type: :electric, + rs_description: "An electrified punch that may paralyze the foe.", + frlg_description: "The foe is punched with an electrified fist. It may leave the foe paralyzed.") + Move.create(id: 8, name: "Ice Punch", pp: 15, move_type: :ice, + rs_description: "An icy punch that may freeze the foe.", + frlg_description: "The foe is punched with an icy fist. It may leave the foe frozen.") + Move.create(id: 7, name: "Fire Punch", pp: 15, move_type: :fire, + rs_description: "A fiery punch that may burn the foe.", + frlg_description: "The foe is punched with a fiery fist. It may leave the foe with a burn.") + Move.create(id: 6, name: "Pay Day", pp: 20, move_type: :normal, + rs_description: "Throws coins at the foe. Money is recovered after.", + frlg_description: "Numerous coins are hurled at the foe. Money is earned after battle.") + Move.create(id: 5, name: "Mega Punch", pp: 20, move_type: :normal, + rs_description: "A strong punch thrown with incredible power.", + frlg_description: "The foe is slugged by a punch thrown with muscle-packed power.") + Move.create(id: 4, name: "Comet Punch", pp: 15, move_type: :normal, + rs_description: "Repeatedly punches the foe 2 to 5 times.", + frlg_description: "The foe is hit with a flurry of punches that strike two to five times.") + Move.create(id: 3, name: "Double Slap", pp: 10, move_type: :normal, + rs_description: "Repeatedly slaps the foe 2 to 5 times.", + frlg_description: "The foe is slapped repeatedly, back and forth, two to five times.") + Move.create(id: 2, name: "Karate Chop", pp: 25, move_type: :normal, + rs_description: "A chopping attack with a high critical-hit ratio.", + frlg_description: "The foe is attacked with a sharp chop. It has a high critical-hit ratio.") + Move.create(id: 1, name: "Pound", pp: 35, move_type: :normal, + rs_description: "Pounds the foe with forelegs or tail.", + frlg_description: "A physical attack delivered with a long tail or a foreleg, etc.") Location.create(id: 0, name: "Littleroot Town") Location.create(id: 1, name: "Oldale Town") @@ -1019,4 +1733,703 @@ module Pokeviewer GiftRibbon.create(id: 62, description: "Full of Energy RIBBON") GiftRibbon.create(id: 63, description: "A commemorative RIBBON for a loved POKéMON.") GiftRibbon.create(id: 64, description: "RIBBON that shows love for POKéMON.") + + Item.create(id: 1, name: "Master Ball", + rs_description: "The best BALL that catches a POKéMON without fail.", + frlg_description: "The best BALL with the ultimate performance. It will catch any wild POKéMON without fail.") + Item.create(id: 2, name: "Ultra Ball", + rs_description: "A better BALL with a higher catch rate than a GREAT BALL.", + frlg_description: "A very high-grade BALL that offers a higher POKéMON catch rate than a GREAT BALL.") + Item.create(id: 3, name: "Great Ball", + rs_description: "A good BALL with a higher catch rate than a POKé BALL.", + frlg_description: "A good, quality BALL that offers a higher POKéMON catch rate than a standard POKé BALL.") + Item.create(id: 4, name: "Poké Ball", + rs_description: "A tool used for catching wild POKéMON.", + frlg_description: "A BALL thrown to catch a wild POKéMON. It is designed in a capsule style.") + Item.create(id: 6, name: "Net Ball", + rs_description: "A BALL that works well on WATER- and BUG-type POKéMON.", + frlg_description: "A somewhat different BALL that works especially well on WATER- and BUG-type POKéMON.") + Item.create(id: 7, name: "Dive Ball", + rs_description: "A BALL that works better on POKéMON on the ocean floor.", + frlg_description: "A somewhat different BALL that works especially well on POKéMON deep in the sea.") + Item.create(id: 8, name: "Nest Ball", + rs_description: "A BALL that works better on weaker POKéMON.", + frlg_description: "A somewhat different BALL that works especially well on weaker POKéMON.") + Item.create(id: 9, name: "Repeat Ball", + rs_description: "A BALL that works better on POKéMON caught before.", + frlg_description: "A somewhat different BALL that works especially well on POKéMON caught before.") + Item.create(id: 10, name: "Timer Ball", + rs_description: "More effective as more turns are taken in battle.", + frlg_description: "A somewhat different BALL that becomes progressively better the more turns there are in a battle.", + emerald_description: "A BALL that gains power in battles taking many turns.") + Item.create(id: 11, name: "Luxury Ball", + rs_description: "A cozy BALL that makes POKéMON more friendly.", + frlg_description: "A comfortable BALL that makes a captured wild POKéMON quickly grow friendly.") + Item.create(id: 12, name: "Premier Ball", + rs_description: "A rare BALL made in commemoration of some event.", + frlg_description: "A rare BALL that has been specially made to commemorate an event of some sort.") + Item.create(id: 13, name: "Potion", + rs_description: "Restores the HP of a POKéMON by 20 points.", + frlg_description: "A spray-type wound medicine. It restores the HP of one POKéMON by 20 points.") + Item.create(id: 14, name: "Antidote", + rs_description: "Heals a poisoned POKéMON.", + frlg_description: "A spray-type medicine. It heals one POKéMON from a poisoning.") + Item.create(id: 15, name: "Burn Heal", + rs_description: "Heals POKéMON of a burn.", + frlg_description: "A spray-type medicine. It heals one POKéMON of a burn.") + Item.create(id: 16, name: "Ice Heal", + rs_description: "Defrosts a frozen POKéMON.", + frlg_description: "A spray-type medicine. It defrosts a frozen POKéMON.") + Item.create(id: 17, name: "Awakening", + rs_description: "Awakens a sleeping POKéMON.", + frlg_description: "A spray-type medicine. It awakens a sleeping POKéMON.") + Item.create(id: 18, name: "Paralyz Heal", + rs_description: "Heals a paralyzed POKéMON.", + frlg_description: "A spray-type medicine. It heals one POKéMON from paralysis.") + Item.create(id: 19, name: "Full Restore", + rs_description: "Fully restores the HP and status of a POKéMON.", + frlg_description: "A medicine that fully restores the HP and heals any status problems of one POKéMON.") + Item.create(id: 20, name: "Max Potion", + rs_description: "Fully restores the HP of a POKéMON.", + frlg_description: "A spray-type wound medicine. It fully restores the HP of one POKéMON.") + Item.create(id: 21, name: "Hyper Potion", + rs_description: "Restores the HP of a POKéMON by 200 points.", + frlg_description: "A spray-type wound medicine. It restores the HP of one POKéMON by 200 points.") + Item.create(id: 22, name: "Super Potion", + rs_description: "Restores the HP of a POKéMON by 50 points.", + frlg_description: "A spray-type wound medicine. It restores the HP of one POKéMON by 50 points.") + Item.create(id: 23, name: "Full Heal", + rs_description: "Heals all the status problems of one POKéMON.", + frlg_description: "A spray-type medicine. It heals all the status problems of one POKéMON.") + Item.create(id: 24, name: "Revive", + rs_description: "Revives a fainted POKéMON with half its HP.", + frlg_description: "A medicine that revives a fainted POKéMON, restoring HP by half the maximum amount.") + Item.create(id: 25, name: "Max Revive", + rs_description: "Revives a fainted POKéMON with all its HP.", + frlg_description: "A medicine that revives a fainted POKéMON, restoring HP fully.") + Item.create(id: 26, name: "Fresh Water", + rs_description: "A mineral water that restores HP by 50 points.", + frlg_description: "Water with a high mineral content. It restores the HP of one POKéMON by 50 points.") + Item.create(id: 27, name: "Soda Pop", + rs_description: "A fizzy soda drink that restores HP by 60 points.", + frlg_description: "A fizzy soda drink. It restores the HP of one POKéMON by 60 points.") + Item.create(id: 28, name: "Lemonade", + rs_description: "A very sweet drink that restores HP by 80 points.", + frlg_description: "A very sweet drink. It restores the HP of one POKéMON by 80 points.") + Item.create(id: 29, name: "Moomoo Milk", + rs_description: "A nutritious milk that restores HP by 100 points.", + frlg_description: "Highly nutritious milk. It restores the HP of one POKéMON by 100 points.") + Item.create(id: 30, name: "EnergyPowder", + rs_description: "A bitter powder that restores HP by 50 points.", + frlg_description: "A very bitter medicine powder. It restores the HP of one POKéMON by 50 points.") + Item.create(id: 31, name: "Energy Root", + rs_description: "A bitter root that restores HP by 200 points.", + frlg_description: "A very bitter root. It restores the HP of one POKéMON by 200 points.") + Item.create(id: 32, name: "Heal Powder", + rs_description: "A bitter powder that heals all status problems.", + frlg_description: "A very bitter medicine powder. It heals all the status problems of one POKéMON.") + Item.create(id: 33, name: "Revival Herb", + rs_description: "A very bitter herb that revives a fainted POKéMON.", + frlg_description: "A very bitter medicinal herb. It revives a fainted POKéMON, restoring HP fully.") + Item.create(id: 34, name: "Ether", + rs_description: "Restores the PP of a selected move by 10.", + frlg_description: "Restores a selected move's PP by 10 points for one POKéMON.") + Item.create(id: 35, name: "Max Ether", + rs_description: "Fully restores the PP of a selected move.", + frlg_description: "Fully restores a selected move's PP for one POKéMON.") + Item.create(id: 36, name: "Elixir", + rs_description: "Restores the PP of all moves by 10.", + frlg_description: "Restores the PP of all moves for one POKéMON by 10 points each.") + Item.create(id: 37, name: "Max Elixir", + rs_description: "Fully restores the PP of a POKéMON's moves.", + frlg_description: "Fully restores the PP of all moves for one POKéMON.") + Item.create(id: 38, name: "Lava Cookie", + rs_description: "A local specialty that heals all status problems.", + frlg_description: "LAVARIDGE TOWN's local specialty. It heals all the status problems of one POKéMON.") + Item.create(id: 39, name: "Blue Flute", + rs_description: "A glass flute that awakens sleeping POKéMON.", + frlg_description: "A blue glass flute that awakens a sleeping POKéMON.") + Item.create(id: 40, name: "Yellow Flute", + rs_description: "A glass flute that snaps POKéMON out of confusion.", + frlg_description: "A yellow glass flute that snaps one POKéMON out of confusion.") + Item.create(id: 41, name: "Red Flute", + rs_description: "A glass flute that snaps POKéMON out of attraction.", + frlg_description: "A red glass flute that snaps one POKéMON out of infatuation.") + Item.create(id: 42, name: "Black Flute", + rs_description: "A glass flute that keeps away wild POKéMON.", + frlg_description: "A black glass flute. When blown, it makes wild POKéMON less likely to appear.") + Item.create(id: 43, name: "White Flute", + rs_description: "A glass flute that lures wild POKéMON.", + frlg_description: "A white glass flute. When blown, it makes wild POKéMON more likely to appear.") + Item.create(id: 44, name: "Berry Juice", + rs_description: "A 100% pure juice that restores HP by 20 points.", + frlg_description: "A 100% pure juice. It restores the HP of one POKéMON by 20 points.") + Item.create(id: 45, name: "Sacred Ash", + rs_description: "Fully revives and restores all fainted POKéMON.", + frlg_description: "Revives all fainted POKéMON, restoring HP fully.") + Item.create(id: 46, name: "Shoal Salt", + rs_description: "Salt obtained from deep inside the SHOAL CAVE.", + frlg_description: "Pure salt obtained from deep inside the SHOAL CAVE. It is extremely salty.") + Item.create(id: 47, name: "Shoal Shell", + rs_description: "A seashell found deep inside the SHOAL CAVE.", + frlg_description: "A pretty seashell found deep inside the SHOAL CAVE. It is striped in blue and white.") + Item.create(id: 48, name: "Red Shard", + rs_description: "A shard from an ancient item. Can be sold cheaply.", + frlg_description: "A small red shard. It appears to be from some sort of a tool made long ago.") + Item.create(id: 49, name: "Blue Shard", + rs_description: "A shard from an ancient item. Can be sold cheaply.", + frlg_description: "A small blue shard. It appears to be from some sort of a tool made long ago.") + Item.create(id: 50, name: "Yellow Shard", + rs_description: "A shard from an ancient item. Can be sold cheaply.", + frlg_description: "A small yellow shard. It appears to be from some sort of a tool made long ago.") + Item.create(id: 51, name: "Green Shard", + rs_description: "A shard from an ancient item. Can be sold cheaply.", + frlg_description: "A small green shard. It appears to be from some sort of a tool made long ago.") + Item.create(id: 63, name: "HP Up", + rs_description: "Raises the HP of one POKéMON.", + frlg_description: "A nutritious drink for POKéMON. It raises the base HP of one POKéMON.", + emerald_description: "Raises the base HP of one POKéMON.") + Item.create(id: 64, name: "Protein", + rs_description: "Raises the stat ATTACK of one POKéMON.", + frlg_description: "A nutritious drink for POKéMON. It raises the base ATTACK stat of one POKéMON.", + emerald_description: "Raises the base ATTACK stat of one POKéMON.") + Item.create(id: 65, name: "Iron", + rs_description: "Raises the stat DEFENSE of one POKéMON.", + frlg_description: "A nutritious drink for POKéMON. It raises the base DEFENSE stat of one POKéMON.", + emerald_description: "Raises the base DEFENSE stat of one POKéMON.") + Item.create(id: 66, name: "Carbos", + rs_description: "Raises the stat SPEED of one POKéMON.", + frlg_description: "A nutritious drink for POKéMON. It raises the base SPEED stat of one POKéMON.", + emerald_description: "Raises the base SPEED stat of one POKéMON.") + Item.create(id: 67, name: "Calcium", + rs_description: "Raises the stat SP. ATK of one POKéMON.", + frlg_description: "A nutritious drink for POKéMON. It raises the base SP. ATK stat of one POKéMON.", + emerald_description: "Raises the base SP. ATK stat of one POKéMON.") + Item.create(id: 68, name: "Rare Candy", + rs_description: "Raises the level of a POKéMON by one.", + frlg_description: "A candy that is packed with energy. It raises the level of a POKéMON by one.") + Item.create(id: 69, name: "PP Up", + rs_description: "Raises the maximum PP of a selected move.", + frlg_description: "Slightly raises the maximum PP of a selected move for one POKéMON.") + Item.create(id: 70, name: "Zinc", + rs_description: "Raises the stat SP. DEF of one POKéMON.", + frlg_description: "A nutritious drink for POKéMON. It raises the base SP. DEF stat of one POKéMON.", + emerald_description: "Raises the base SP. DEF stat of one POKéMON.") + Item.create(id: 71, name: "PP Max", + rs_description: "Raises the PP of a move to its maximum points.", + frlg_description: "Raises the PP of a selected move to its maximum level for one POKéMON.") + Item.create(id: 73, name: "Guard Spec.", + rs_description: "Prevents stat reduction when used in battle.", + frlg_description: "An item that prevents stat reduction among party POKéMON for five turns after use.") + Item.create(id: 74, name: "Dire Hit", + rs_description: "Raises the critical-hit ratio during one battle.", + frlg_description: "Raises the critical-hit ratio of POKéMON in battle. Wears off if the POKéMON is withdrawn.") + Item.create(id: 75, name: "X Attack", + rs_description: "Raises the stat ATTACK during one battle.", + frlg_description: "Raises the ATTACK stat of POKéMON in battle. Wears off if the POKéMON is withdrawn.") + Item.create(id: 76, name: "X Defend", + rs_description: "Raises the stat DEFENSE during one battle.", + frlg_description: "Raises the DEFENSE stat of POKéMON in battle. Wears off if the POKéMON is withdrawn.") + Item.create(id: 77, name: "X Speed", + rs_description: "Raises the stat SPEED during one battle.", + frlg_description: "Raises the SPEED stat of POKéMON in battle. Wears off if the POKéMON is withdrawn.") + Item.create(id: 78, name: "X Accuracy", + rs_description: "Raises accuracy of attack moves during one battle.", + frlg_description: "Raises the accuracy stat of POKéMON in battle. Wears off if the POKéMON is withdrawn.") + Item.create(id: 79, name: "X Special", + rs_description: "Raises the stat SP. ATK during one battle.", + frlg_description: "Raises the SP. ATK stat of POKéMON in battle. Wears off if the POKéMON is withdrawn.") + Item.create(id: 80, name: "Poké Doll", + rs_description: "Use to flee from any battle with a wild POKéMON.", + frlg_description: "An attractive doll. Use it to flee from any battle with a wild POKéMON.") + Item.create(id: 81, name: "Fluffy Tail", + rs_description: "Use to flee from any battle with a wild POKéMON.", + frlg_description: "An attractive item. Use it to flee from any battle with a wild POKéMON.") + Item.create(id: 83, name: "Super Repel", + rs_description: "Repels weak wild POKéMON for 200 steps.", + frlg_description: "Prevents weak wild POKéMON from appearing for 200 steps.") + Item.create(id: 84, name: "Max Repel", + rs_description: "Repels weak wild POKéMON for 250 steps.", + frlg_description: "Prevents weak wild POKéMON from appearing for 250 steps.") + Item.create(id: 85, name: "Escape Rope", + rs_description: "Use to escape instantly from a cave or a dungeon.", + frlg_description: "A long, durable rope. Use it to escape instantly from a cave or a dungeon.") + Item.create(id: 86, name: "Repel", + rs_description: "Repels weak wild POKéMON for 100 steps.", + frlg_description: "Prevents weak wild POKéMON from appearing for 100 steps.") + Item.create(id: 93, name: "Sun Stone", + rs_description: "Makes certain species of POKéMON evolve.", + frlg_description: "A peculiar stone that makes certain species of POKéMON evolve. It is as red as the sun.") + Item.create(id: 94, name: "Moon Stone", + rs_description: "Makes certain species of POKéMON evolve.", + frlg_description: "A peculiar stone that makes certain species of POKéMON evolve. It is as black as the night sky.") + Item.create(id: 95, name: "Fire Stone", + rs_description: "Makes certain species of POKéMON evolve.", + frlg_description: "A peculiar stone that makes certain species of POKéMON evolve. It is colored orange.") + Item.create(id: 96, name: "Thunderstone", + rs_description: "Makes certain species of POKéMON evolve.", + frlg_description: "A peculiar stone that makes certain species of POKéMON evolve. It has a thunderbolt pattern.") + Item.create(id: 97, name: "Water Stone", + rs_description: "Makes certain species of POKéMON evolve.", + frlg_description: "A peculiar stone that makes certain species of POKéMON evolve. It is a clear light blue.") + Item.create(id: 98, name: "Leaf Stone", + rs_description: "Makes certain species of POKéMON evolve.", + frlg_description: "A peculiar stone that makes certain species of POKéMON evolve. It has a leaf pattern.") + Item.create(id: 103, name: "TinyMushroom", + rs_description: "A plain, ordinary mushroom. Can be sold cheaply.", + frlg_description: "A small and rare mushroom. It is quite popular among certain people.", + emerald_description: "A plain mushroom that would sell at a cheap price.") + Item.create(id: 104, name: "Big Mushroom", + rs_description: "A rare mushroom that would sell at a high price.", + frlg_description: "A large and rare mushroom. It is very popular among certain people.") + Item.create(id: 106, name: "Pearl", + rs_description: "A pretty pearl. Can be sold cheaply.", + frlg_description: "A relatively small pearl that sparkles in a pretty silver color. It can be sold cheaply.", + emerald_description: "A pretty pearl that would sell at a cheap price.") + Item.create(id: 107, name: "Big Pearl", + rs_description: "A lovely large pearl that would sell at a high price.", + frlg_description: "A quite-large pearl that sparkles in a pretty silver color. It can be sold at a high price.") + Item.create(id: 108, name: "Stardust", + rs_description: "Beautiful red sand. Can be sold at a high price.", + frlg_description: "A pretty red sand with a loose, silky feel. It can be sold at a high price.") + Item.create(id: 109, name: "Star Piece", + rs_description: "A red gem shard. It would sell for a very high price.", + frlg_description: "A shard of a pretty gem that sparkles in a red color. It can be sold at a high price.") + Item.create(id: 110, name: "Nugget", + rs_description: "A nugget of pure gold. Can be sold at a high price.", + frlg_description: "A nugget of pure gold that gives off a lustrous gleam. It can be sold at a high price.") + Item.create(id: 111, name: "Heart Scale", + rs_description: "A lovely scale. It is coveted by collectors.", + frlg_description: "A pretty, heart-shaped scale that is extremely rare. It glows faintly in the colors of a rainbow.") + Item.create(id: 121, name: "Orange Mail", + rs_description: "A ZIGZAGOON-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute ZIGZAGOON print. It is to be held by a POKéMON.") + Item.create(id: 122, name: "Harbor Mail", + rs_description: "A WINGULL-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute WINGULL print. It is to be held by a POKéMON.") + Item.create(id: 123, name: "Glitter Mail", + rs_description: "A PIKACHU-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute PIKACHU print. It is to be held by a POKéMON.") + Item.create(id: 124, name: "Mech Mail", + rs_description: "A MAGNEMITE-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute MAGNEMITE print. It is to be held by a POKéMON.") + Item.create(id: 125, name: "Wood Mail", + rs_description: "A SLAKOTH-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute SLAKOTH print. It is to be held by a POKéMON.") + Item.create(id: 126, name: "Wave Mail", + rs_description: "A WAILMER-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute WAILMER print. It is to be held by a POKéMON.") + Item.create(id: 127, name: "Bead Mail", + rs_description: "MAIL featuring a sketch of the holding POKéMON.", + frlg_description: "A piece of MAIL to be held by a POKéMON. It will bear the print of the POKéMON holding it.") + Item.create(id: 128, name: "Shadow Mail", + rs_description: "A DUSKULL-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute DUSKULL print. It is to be held by a POKéMON.") + Item.create(id: 129, name: "Tropic Mail", + rs_description: "A BELLOSSOM-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a cute BELLOSSOM print. It is to be held by a POKéMON.") + Item.create(id: 130, name: "Dream Mail", + rs_description: "MAIL featuring a sketch of the holding POKéMON.", + frlg_description: "A piece of MAIL to be held by a POKéMON. It will bear the print of the POKéMON holding it.") + Item.create(id: 131, name: "Fab Mail", + rs_description: "A gorgeous-print MAIL to be held by a POKéMON.", + frlg_description: "A piece of MAIL featuring a gorgeous, extravagant print. It is to be held by a POKéMON.") + Item.create(id: 132, name: "Retro Mail", + rs_description: "MAIL featuring the drawings of three POKéMON.", + frlg_description: "A piece of MAIL featuring a print of three cute POKéMON. It is to be held by a POKéMON.") + Item.create(id: 133, name: "Cheri Berry", + rs_description: "A hold item that heals paralysis in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to heal paralysis.") + Item.create(id: 134, name: "Chesto Berry", + rs_description: "A hold item that awakens POKéMON in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to wake up.") + Item.create(id: 135, name: "Pecha Berry", + rs_description: "A hold item that heals poisoning in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to cure poison.") + Item.create(id: 136, name: "Rawst Berry", + rs_description: "A hold item that heals a burn in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to heal a burn.") + Item.create(id: 137, name: "Aspear Berry", + rs_description: "A hold item that defrosts POKéMON in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle for defrosting.") + Item.create(id: 138, name: "Leppa Berry", + rs_description: "A hold item that restores 10 PP in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to restore 10 PP.") + Item.create(id: 139, name: "Oran Berry", + rs_description: "A hold item that restores 10 HP in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to restore 10 HP.") + Item.create(id: 140, name: "Persim Berry", + rs_description: "A hold item that heals confusion in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to lift confusion.") + Item.create(id: 141, name: "Lum Berry", + rs_description: "A hold item that heals status in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to heal any problem.", + emerald_description: "A hold item that heals any status problem in battle.") + Item.create(id: 142, name: "Sitrus Berry", + rs_description: "A hold item that restores 30 HP in battle.", + frlg_description: "When held by a POKéMON, it will be used in battle to restore 30 HP.") + Item.create(id: 143, name: "Figy Berry", + rs_description: "A hold item that restores HP but may confuse.", + frlg_description: "A hold item that restores HP but may cause confusion when used.") + Item.create(id: 144, name: "Wiki Berry", + rs_description: "A hold item that restores HP but may confuse.", + frlg_description: "A hold item that restores HP but may cause confusion when used.") + Item.create(id: 145, name: "Mago Berry", + rs_description: "A hold item that restores HP but may confuse.", + frlg_description: "A hold item that restores HP but may cause confusion when used.") + Item.create(id: 146, name: "Aguav Berry", + rs_description: "A hold item that restores HP but may confuse.", + frlg_description: "A hold item that restores HP but may cause confusion when used.") + Item.create(id: 147, name: "Iapapa Berry", + rs_description: "A hold item that restores HP but may confuse.", + frlg_description: "A hold item that restores HP but may cause confusion when used.") + Item.create(id: 148, name: "Razz Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow RAZZ.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 149, name: "Bluk Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow BLUK.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 150, name: "Nanab Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow NANAB.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 151, name: "Wepear Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow WEPEAR.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 152, name: "Pinap Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow PINAP.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 153, name: "Pomeg Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow POMEG.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.", + emerald_description: "Makes a POKéMON friendly but lowers base HP.") + Item.create(id: 154, name: "Kelpsy Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow KELPSY.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.", + emerald_description: "Makes a POKéMON friendly but lowers base ATTACK.") + Item.create(id: 155, name: "Qualot Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow QUALOT.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.", + emerald_description: "Makes a POKéMON friendly but lowers base DEFENSE.") + Item.create(id: 156, name: "Hondew Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow HONDEW.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.", + emerald_description: "Makes a POKéMON friendly but lowers base SP. ATK.") + Item.create(id: 157, name: "Grepa Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow GREPA.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.", + emerald_description: "Makes a POKéMON friendly but lowers base SP. DEF.") + Item.create(id: 158, name: "Tamato Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow TAMATO.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.", + emerald_description: "Makes a POKéMON friendly but lowers base SPEED.") + Item.create(id: 159, name: "Cornn Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow CORNN.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 160, name: "Magost Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow MAGOST.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 161, name: "Rabuta Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow RABUTA.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 162, name: "Nomel Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow NOMEL.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 163, name: "Spelon Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow SPELON.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 164, name: "Pamtre Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow PAMTRE.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 165, name: "Watmel Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow WATMEL.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 166, name: "Durin Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow DURIN.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 167, name: "Belue Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow BELUE.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 168, name: "Liechi Berry", + rs_description: "A hold item that raises ATTACK in a pinch.", + frlg_description: "When held by a POKéMON, it raises the ATTACK stat in a pinch.") + Item.create(id: 169, name: "Ganlon Berry", + rs_description: "A hold item that raises DEFENSE in a pinch.", + frlg_description: "When held by a POKéMON, it raises the DEFENSE stat in a pinch.") + Item.create(id: 170, name: "Salac Berry", + rs_description: "A hold item that raises SPEED in a pinch.", + frlg_description: "When held by a POKéMON, it raises the SPEED stat in a pinch.") + Item.create(id: 171, name: "Petaya Berry", + rs_description: "A hold item that raises SP. ATK in a pinch.", + frlg_description: "When held by a POKéMON, it raises the SP. ATK stat in a pinch.") + Item.create(id: 172, name: "Apicot Berry", + rs_description: "A hold item that raises SP. DEF in a pinch.", + frlg_description: "When held by a POKéMON, it raises the SP. DEF stat in a pinch.") + Item.create(id: 173, name: "Lansat Berry", + rs_description: "A hold item that ups the critical- hit rate in a pinch.", + frlg_description: "When held by a POKéMON, it raises the critical-hit ratio in a pinch.") + Item.create(id: 174, name: "Starf Berry", + rs_description: "A hold item that sharply boosts a stat in a pinch.", + frlg_description: "When held by a POKéMON, it sharply raises one stat in a pinch.") + Item.create(id: 175, name: "Enigma Berry", + rs_description: "POKéBLOCK ingredient. Plant in loamy soil to grow a mystery.", + frlg_description: "Can be ground up into a powder as an ingredient for medicine.") + Item.create(id: 179, name: "BrightPowder", + rs_description: "A hold item that casts a glare to reduce accuracy.", + frlg_description: "An item to be held by a POKéMON. It casts a tricky glare that lowers the opponent's accuracy.") + Item.create(id: 180, name: "White Herb", + rs_description: "A hold item that restores any lowered stat.", + frlg_description: "An item to be held by a POKéMON. It restores any lowered stat in battle. It can be used only once.") + Item.create(id: 181, name: "Macho Brace", + rs_description: "A hold item that promotes growth, but reduces SPEED.", + frlg_description: "An item to be held by a POKéMON. It promotes strong growth but lowers SPEED while it is held.") + Item.create(id: 182, name: "Exp. Share", + rs_description: "A hold item that gets EXP. points from battles.", + frlg_description: "An item to be held by a POKéMON. The holder gets a share of EXP. points without having to battle.") + Item.create(id: 183, name: "Quick Claw", + rs_description: "A hold item that occasionally allows the first strike.", + frlg_description: "An item to be held by a POKéMON. A light and sharp claw. The holder may be able to strike first.") + Item.create(id: 184, name: "Soothe Bell", + rs_description: "A hold item that calms spirits and fosters friendship.", + frlg_description: "An item to be held by a POKéMON. A bell with a comforting chime that makes the holder calm and friendly.") + Item.create(id: 185, name: "Mental Herb", + rs_description: "A hold item that snaps POKéMON out of infatuation.", + frlg_description: "An item to be held by a POKéMON. It snaps the holder out of infatuation. It can be used once.") + Item.create(id: 186, name: "Choice Band", + rs_description: "Raises a move's power, but permits only that move.", + frlg_description: "An item to be held by a POKéMON. It powers up one move, which becomes the only usable one.") + Item.create(id: 187, name: "King’s Rock", + rs_description: "A hold item that may cause flinching when the foe is hit.", + frlg_description: "An item to be held by a POKéMON. It may cause the foe to flinch upon taking damage.") + Item.create(id: 188, name: "SilverPowder", + rs_description: "A hold item that raises the power of BUG-type moves.", + frlg_description: "An item to be held by a POKéMON. A shiny silver powder that boosts the power of BUG-type moves.") + Item.create(id: 189, name: "Amulet Coin", + rs_description: "Doubles money in battle if the holder takes part.", + frlg_description: "An item to be held by a POKéMON. It doubles the battle money if the holding POKéMON takes part.") + Item.create(id: 190, name: "Cleanse Tag", + rs_description: "A hold item that helps repel wild POKéMON.", + frlg_description: "An item to be held by a POKéMON. It repels wild POKéMON if the holder is first in the party.") + Item.create(id: 191, name: "Soul Dew", + rs_description: "Hold item: Raises SP. ATK & SP. DEF of LATIOS & LATIAS.", + frlg_description: "An orb to be held by a LATIOS or LATIAS. It raises the SP. ATK and SP. DEF stats.", + emerald_description: "Hold item: raises SP. ATK & SP. DEF of LATIOS & LATIAS.") + Item.create(id: 192, name: "DeepSeaTooth", + rs_description: "A hold item that raises the SP. ATK of CLAMPERL.", + frlg_description: "An item to be held by a POKéMON. A fang that gleams a sharp silver. It raises the SP. ATK stat.") + Item.create(id: 193, name: "DeepSeaScale", + rs_description: "A hold item that raises the SP. DEF of CLAMPERL.", + frlg_description: "An item to be held by a POKéMON. A scale that shines a faint pink. It raises the SP. DEF stat.") + Item.create(id: 194, name: "Smoke Ball", + rs_description: "A hold item that can be used to flee from a wild POKéMON.", + frlg_description: "An item to be held by a POKéMON. The holding POKéMON can flee from any wild POKéMON for sure.", + emerald_description: "A hold item that assures fleeing from wild POKéMON.") + Item.create(id: 195, name: "Everstone", + rs_description: "A wondrous stone & a hold item that prevents evolution.", + frlg_description: "An item to be held by a POKéMON. The holding POKéMON is prevented from evolving.", + emerald_description: "A wondrous hold item that prevents evolution.") + Item.create(id: 196, name: "Focus Band", + rs_description: "A hold item that occasionally prevents fainting.", + frlg_description: "An item to be held by a POKéMON. The holding POKéMON may endure an attack, leaving just 1 HP.") + Item.create(id: 197, name: "Lucky Egg", + rs_description: "A hold item that boosts EXP. points earned in battle.", + frlg_description: "An item to be held by a POKéMON. An egg filled with happiness that earns extra EXP. points in battle.") + Item.create(id: 198, name: "Scope Lens", + rs_description: "A hold item that raises the critical- hit rate.", + frlg_description: "An item to be held by a POKéMON. A lens that boosts the critical-hit ratio of the holding POKéMON.", + emerald_description: "A hold item that improves the critical-hit rate.") + Item.create(id: 199, name: "Metal Coat", + rs_description: "A hold item that raises the power of STEEL-type moves.", + frlg_description: "An item to be held by a POKéMON. A special metallic film that boosts the power of STEEL-type moves.") + Item.create(id: 200, name: "Leftovers", + rs_description: "A hold item that gradually restores HP in battle.", + frlg_description: "An item to be held by a POKéMON. The holding POKéMON gradually regains HP during battle.") + Item.create(id: 201, name: "Dragon Scale", + rs_description: "A strange scale held by DRAGON- type POKéMON.", + frlg_description: "A thick and tough scale. A DRAGON-type POKéMON may be holding it.") + Item.create(id: 202, name: "Light Ball", + rs_description: "A hold item that raises the SP. ATK of PIKACHU.", + frlg_description: "An orb to be held by a PIKACHU that raises the SP. ATK stat. Touching it may cause a shock.") + Item.create(id: 203, name: "Soft Sand", + rs_description: "A hold item that raises the power of GROUND-type moves.", + frlg_description: "An item to be held by a POKéMON. A loose, silky sand that boosts the power of GROUND-type moves.") + Item.create(id: 204, name: "Hard Stone", + rs_description: "A hold item that raises the power of ROCK-type moves.", + frlg_description: "An item to be held by a POKéMON. An unbreakable stone that boosts the power of ROCK-type moves.") + Item.create(id: 205, name: "Miracle Seed", + rs_description: "A hold item that raises the power of GRASS-type moves.", + frlg_description: "An item to be held by a POKéMON. A seed imbued with life that boosts the power of GRASS-type moves.") + Item.create(id: 206, name: "BlackGlasses", + rs_description: "A hold item that raises the power of DARK-type moves.", + frlg_description: "An item to be held by a POKéMON. A shady-looking pair of glasses that boosts DARK-type moves.") + Item.create(id: 207, name: "Black Belt", + rs_description: "A hold item that boosts FIGHTING- type moves.", + frlg_description: "An item to be held by a POKéMON. A belt that boosts determination and FIGHTING-type moves.") + Item.create(id: 208, name: "Magnet", + rs_description: "A hold item that boosts ELECTRIC- type moves.", + frlg_description: "An item to be held by a POKéMON. A powerful magnet that boosts the power of ELECTRIC-type moves.") + Item.create(id: 209, name: "Mystic Water", + rs_description: "A hold item that raises the power of WATER-type moves.", + frlg_description: "An item to be held by a POKéMON. A teardrop-shaped gem that boosts the power of WATER-type moves.") + Item.create(id: 210, name: "Sharp Beak", + rs_description: "A hold item that raises the power of FLYING-type moves.", + frlg_description: "An item to be held by a POKéMON. A long, sharp beak that boosts the power of FLYING-type moves.") + Item.create(id: 211, name: "Poison Barb", + rs_description: "A hold item that raises the power of POISON-type moves.", + frlg_description: "An item to be held by a POKéMON. A small, poisonous barb that boosts the power of POISON-type moves.") + Item.create(id: 212, name: "NeverMeltIce", + rs_description: "A hold item that raises the power of ICE-type moves.", + frlg_description: "An item to be held by a POKéMON. A piece of ice that repels heat and boosts ICE-type moves.") + Item.create(id: 213, name: "Spell Tag", + rs_description: "A hold item that raises the power of GHOST-type moves.", + frlg_description: "An item to be held by a POKéMON. A sinister, eerie tag that boosts GHOST-type moves.") + Item.create(id: 214, name: "TwistedSpoon", + rs_description: "A hold item that boosts PSYCHIC- type moves.", + frlg_description: "An item to be held by a POKéMON. A spoon imbued with telekinetic power boosts PSYCHIC-type moves.") + Item.create(id: 215, name: "Charcoal", + rs_description: "A hold item that raises the power of FIRE-type moves.", + frlg_description: "An item to be held by a POKéMON. A combustible fuel that boosts the power of FIRE-type moves.") + Item.create(id: 216, name: "Dragon Fang", + rs_description: "A hold item that raises the power of DRAGON-type moves.", + frlg_description: "An item to be held by a POKéMON. A hard and sharp fang that boosts the power of DRAGON-type moves.") + Item.create(id: 217, name: "Silk Scarf", + rs_description: "A hold item that raises the power of NORMAL-type moves.", + frlg_description: "An item to be held by a POKéMON. A sumptuous scarf that boosts the power of NORMAL-type moves.") + Item.create(id: 218, name: "Up-Grade", + rs_description: "A peculiar box made by SILPH CO.", + frlg_description: "A transparent device filled with all sorts of data. It is made by SILPH CO.") + Item.create(id: 219, name: "Shell Bell", + rs_description: "A hold item that restores HP upon striking the foe.", + frlg_description: "An item to be held by a POKéMON. The holding POKéMON regains some HP upon striking the foe.") + Item.create(id: 220, name: "Sea Incense", + rs_description: "A hold item that slightly boosts WATER-type moves.", + frlg_description: "An item to be held by a POKéMON. It slightly boosts the power of WATER-type moves.") + Item.create(id: 221, name: "Lax Incense", + rs_description: "A hold item that slightly lowers the foe's accuracy.", + frlg_description: "An item to be held by a POKéMON. Its tricky aroma slightly reduces the foe's accuracy.") + Item.create(id: 222, name: "Lucky Punch", + rs_description: "A hold item that raises CHANSEY's critical-hit rate.", + frlg_description: "A glove to be held by a CHANSEY. It raises CHANSEY's critical-hit ratio.") + Item.create(id: 223, name: "Metal Powder", + rs_description: "A hold item that raises DEFENSE.", + frlg_description: "A fine, hard powder to be held by a DITTO. It raises DITTO's DEFENSE stat.", + emerald_description: "A hold item that raises DITTO's DEFENSE.") + Item.create(id: 224, name: "Thick Club", + rs_description: "A bone of some sort. It can be sold cheaply.", + frlg_description: "A hard bone of some sort to be held by a CUBONE or MAROWAK. It raises the ATTACK stat.", + emerald_description: "A hold item that raises CUBONE or MAROWAK's ATTACK.") + Item.create(id: 225, name: "Stick", + rs_description: "A stick of leek. It can be sold cheaply.", + frlg_description: "A stick of leek to be held by a FARFETCH'D. It raises FARFETCH'D's critical-hit ratio.", + emerald_description: "A hold item that raises FARFETCH'D's critical-hit ratio.") + Item.create(id: 254, name: "Red Scarf", + rs_description: "A hold item that raises COOL in CONTESTS.", + frlg_description: "An item to be held by a POKéMON. It boosts the holding POKéMON's COOL condition in CONTESTS.") + Item.create(id: 255, name: "Blue Scarf", + rs_description: "A hold item that raises BEAUTY in CONTESTS.", + frlg_description: "An item to be held by a POKéMON. It boosts the holding POKéMON's BEAUTY condition in CONTESTS.") + Item.create(id: 256, name: "Pink Scarf", + rs_description: "A hold item that raises CUTE in CONTESTS.", + frlg_description: "An item to be held by a POKéMON. It boosts the holding POKéMON's CUTE condition in CONTESTS.") + Item.create(id: 257, name: "Green Scarf", + rs_description: "A hold item that raises SMART in CONTESTS.", + frlg_description: "An item to be held by a POKéMON. It boosts the holding POKéMON's SMART condition in CONTESTS.") + Item.create(id: 258, name: "Yellow Scarf", + rs_description: "A hold item that raises TOUGH in CONTESTS.", + frlg_description: "An item to be held by a POKéMON. It boosts the holding POKéMON's TOUGH condition in CONTESTS.") + Item.create(id: 289, name: "TM01", tm: true, move_id: 264, + rs_description: "Powerful, but makes the user flinch if hit by the foe.") + Item.create(id: 290, name: "TM02", tm: true, move_id: 337, + rs_description: "Hooks and slashes the foe with long, sharp claws.") + Item.create(id: 291, name: "TM03", tm: true, move_id: 352, + rs_description: "Generates an ultrasonic wave that may confuse.") + Item.create(id: 292, name: "TM04", tm: true, move_id: 347) + Item.create(id: 293, name: "TM05", tm: true, move_id: 46, + rs_description: "A savage roar that makes the foe flee to end the battle.") + Item.create(id: 294, name: "TM06", tm: true, move_id: 92, + rs_description: "Poisons the foe with a toxin that gradually worsens.") + Item.create(id: 295, name: "TM07", tm: true, move_id: 258, + rs_description: "Summons a hailstorm that hurts all types except ICE.", + emerald_description: "Creates a hailstorm that damages all types except ICE.") + Item.create(id: 296, name: "TM08", tm: true, move_id: 339, + rs_description: "Bulks up the body to boost both ATTACK & DEFENSE.") + Item.create(id: 297, name: "TM09", tm: true, move_id: 331) + Item.create(id: 298, name: "TM10", tm: true, move_id: 237, + rs_description: "The attack power varies among different POKéMON.") + Item.create(id: 299, name: "TM11", tm: true, move_id: 241, + rs_description: "Raises the power of FIRE-type moves for 5 turns.") + Item.create(id: 300, name: "TM12", tm: true, move_id: 269, + rs_description: "Enrages the foe so it can only use attack moves.") + Item.create(id: 301, name: "TM13", tm: true, move_id: 58, + rs_description: "Fires an icy cold beam that may freeze the foe.") + Item.create(id: 302, name: "TM14", tm: true, move_id: 59, + rs_description: "A vicious snow-and- wind attack that may freeze the foe.", + emerald_description: "A brutal snow-and- wind attack that may freeze the foe.") + Item.create(id: 303, name: "TM15", tm: true, move_id: 63, + rs_description: "Powerful, but needs recharging the next turn.") + Item.create(id: 304, name: "TM16", tm: true, move_id: 113) + Item.create(id: 305, name: "TM17", tm: true, move_id: 182, + rs_description: "Negates all damage, but may fail if used in succession.") + Item.create(id: 306, name: "TM18", tm: true, move_id: 240, + rs_description: "Raises the power of WATER-type moves for 5 turns.") + Item.create(id: 307, name: "TM19", tm: true, move_id: 202, + rs_description: "Recovers half the HP of the damage this move inflicts.") + Item.create(id: 308, name: "TM20", tm: true, move_id: 219, + rs_description: "Prevents status abnormality with a mystical power.") + Item.create(id: 309, name: "TM21", tm: true, move_id: 218, + rs_description: "The less the user likes you, the more powerful this move.") + Item.create(id: 310, name: "TM22", tm: true, move_id: 76, + rs_description: "Absorbs sunlight in the 1st turn, then attacks next turn.") + Item.create(id: 311, name: "TM23", tm: true, move_id: 231, + rs_description: "Slams the foe with a hard tail. It may lower DEFENSE.") + Item.create(id: 312, name: "TM24", tm: true, move_id: 85, + rs_description: "A powerful electric attack that may cause paralysis.") + Item.create(id: 313, name: "TM25", tm: true, move_id: 87, + rs_description: "Strikes the foe with a thunderbolt. It may paralyze.") + Item.create(id: 314, name: "TM26", tm: true, move_id: 89, + rs_description: "Causes a quake that has no effect on flying foes.") + Item.create(id: 315, name: "TM27", tm: true, move_id: 216, + rs_description: "The more the user likes you, the more powerful this move.") + Item.create(id: 316, name: "TM28", tm: true, move_id: 91, + rs_description: "Digs underground the 1st turn, then strikes next turn.") + Item.create(id: 317, name: "TM29", tm: true, move_id: 94) + Item.create(id: 318, name: "TM30", tm: true, move_id: 247, + rs_description: "Hurls a dark lump at the foe. It may lower SP. DEF.") + Item.create(id: 319, name: "TM31", tm: true, move_id: 280, + rs_description: "Destroys barriers like LIGHT SCREEN and causes damage.") + Item.create(id: 320, name: "TM32", tm: true, move_id: 104, + rs_description: "Creates illusory copies to enhance elusiveness.") + Item.create(id: 321, name: "TM33", tm: true, move_id: 115) + Item.create(id: 322, name: "TM34", tm: true, move_id: 351, + rs_description: "Zaps the foe with a jolt of electricity that never misses.") + Item.create(id: 323, name: "TM35", tm: true, move_id: 53, + rs_description: "Looses a stream of fire that may burn the foe.") + Item.create(id: 324, name: "TM36", tm: true, move_id: 188, + rs_description: "Hurls sludge at the foe. It may poison the foe.") + Item.create(id: 325, name: "TM37", tm: true, move_id: 201, + rs_description: "Causes a sandstorm that hits the foe over several turns.") + Item.create(id: 326, name: "TM38", tm: true, move_id: 126, + rs_description: "A powerful fire attack that may burn the foe.") + Item.create(id: 327, name: "TM39", tm: true, move_id: 317, + rs_description: "Stops the foe from moving with rocks. May lower SPEED.") + Item.create(id: 328, name: "TM40", tm: true, move_id: 332, + rs_description: "An extremely fast attack that can't be avoided.") + Item.create(id: 329, name: "TM41", tm: true, move_id: 259, + rs_description: "Prevents the foe from using the same move in a row.") + Item.create(id: 330, name: "TM42", tm: true, move_id: 263, + rs_description: "Raises ATTACK when poisoned, burned, or paralyzed.") + Item.create(id: 331, name: "TM43", tm: true, move_id: 290, + rs_description: "Adds an effect to attack depending on the location.") + Item.create(id: 332, name: "TM44", tm: true, move_id: 156, + rs_description: "The user sleeps for 2 turns to restore health and status.") + Item.create(id: 333, name: "TM45", tm: true, move_id: 213, + rs_description: "Makes it tough to attack a foe of the opposite gender.") + Item.create(id: 334, name: "TM46", tm: true, move_id: 168) + Item.create(id: 335, name: "TM47", tm: true, move_id: 211, + rs_description: "Spreads hard-edged wings and slams into the foe.") + Item.create(id: 336, name: "TM48", tm: true, move_id: 285, + rs_description: "Switches abilities with the foe on the turn this is used.") + Item.create(id: 337, name: "TM49", tm: true, move_id: 289, + rs_description: "Steals the effects of the move the foe is trying to use.") + Item.create(id: 338, name: "TM50", tm: true, move_id: 315, + rs_description: "Enables full-power attack, but sharply lowers SP. ATK.") end diff --git a/lib/pokeviewer/engine.rb b/lib/pokeviewer/engine.rb index ab04db5..e390c8b 100644 --- a/lib/pokeviewer/engine.rb +++ b/lib/pokeviewer/engine.rb @@ -18,9 +18,11 @@ module Pokeviewer %w(pokeviewer/icons/*.png pokeviewer/sprites/**/*.png pokeviewer/sprites/**/*.gif - pokeviewer/types/**.gif - pokeviewer/boxes/**.png - pokeviewer/ribbons/**.png) + pokeviewer/types/*.gif + pokeviewer/boxes/*.png + pokeviewer/ribbons/*.png + pokeviewer/items/*.png + pokeviewer/items/**/*.png) end end end diff --git a/test/dummy/db/schema.rb b/test/dummy/db/schema.rb index 9530010..84e15a3 100644 --- a/test/dummy/db/schema.rb +++ b/test/dummy/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170930021856) do +ActiveRecord::Schema.define(version: 20170930213633) do create_table "pokeviewer_boxes", force: :cascade do |t| t.integer "trainer_id", null: false @@ -28,6 +28,18 @@ ActiveRecord::Schema.define(version: 20170930021856) do t.datetime "updated_at", null: false end + create_table "pokeviewer_items", force: :cascade do |t| + t.string "name", null: false + t.boolean "tm", default: false, null: false + t.integer "move_id" + t.string "rs_description" + t.string "frlg_description" + t.string "emerald_description" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["move_id"], name: "index_pokeviewer_items_on_move_id" + end + create_table "pokeviewer_locations", force: :cascade do |t| t.string "name", null: false t.datetime "created_at", null: false @@ -39,6 +51,10 @@ ActiveRecord::Schema.define(version: 20170930021856) do t.integer "pp", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.string "move_type", null: false + t.string "rs_description", null: false + t.string "frlg_description", null: false + t.string "emerald_description" t.index ["name"], name: "index_pokeviewer_moves_on_name", unique: true end @@ -86,7 +102,7 @@ ActiveRecord::Schema.define(version: 20170930021856) do t.integer "smartness", null: false t.integer "toughness", null: false t.integer "sheen", null: false - t.integer "hold_item" + t.integer "item_id" t.integer "move_1_id", null: false t.integer "move_2_id" t.integer "move_3_id" -- cgit 1.4.1