COMP3311 23T1 Assignment 2
Example Test Cases
Database Systems
Last updated: Thursday 6th April 9:00am
Most recent changes are shown in red ... older changes are shown in brown.
[Assignment Spec] [Database Design] [Examples] [Testing] [Submitting] [Fixes+Updates]
Introduction
This document contains examples of output from the various scripts that you are required to develop.
NOTE: When autotesting and marking, the autotester will ignore the indentation and alignment of the output
As long as the actual text of the output is correct, the autotester will accept it.
My Pokemon Example
Note that each level of indentation is represented by a single tab character.
following are a selection of example outputs from the my_pokemon script.
$ ./my_pokemon 11243 <<< $'1\n1\n1\n1\n1\n1\n1'
Select an option from the menu below by entering its number:
1) Sword
2) Ultra Moon
3) Diamond
4) Emerald
5) Omega Ruby
6) Violet
7) Fire Red
8) Scarlet
9) Silver
10) Gold
> Selection: 1
Select an option from the menu below by entering its number:
1) Ribombee
2) Mega Tyranitar
3) Milcery
4) Galarian Farfetch'd
5) Araquanid
6) Sigilyph
7) Duraludon
8) Mega Steelix
9) Sneasel
10) Toxel
> Selection: 1
Select an option from the menu below by entering its number:
1) Honey Gather
2) Shield Dust
3) Sweet Veil
> Selection: 1
Select an option from the menu below by entering its number:
1) Absorb
2) Aromatherapy
3) Bug Buzz
4) Covet
5) Dazzling Gleam
6) Draining Kiss
7) Fairy Wind
8) Pollen Puff
9) Quiver Dance
10) Struggle Bug
11) Stun Spore
12) Sweet Scent
13) Switcheroo
> Selection: 1
Select an option from the menu below by entering its number:
1) Aromatherapy
2) Bug Buzz
3) Covet
4) Dazzling Gleam
5) Draining Kiss
6) Fairy Wind
7) Pollen Puff
8) Quiver Dance
9) Struggle Bug
10) Stun Spore
11) Sweet Scent
12) Switcheroo
> Selection: 1
Select an option from the menu below by entering its number:
1) Bug Buzz
2) Covet
3) Dazzling Gleam
4) Draining Kiss
5) Fairy Wind
6) Pollen Puff
7) Quiver Dance
8) Struggle Bug
9) Stun Spore
10) Sweet Scent
11) Switcheroo
> Selection: 1
Select an option from the menu below by entering its number:
1) Covet
2) Dazzling Gleam
3) Draining Kiss
4) Fairy Wind
5) Pollen Puff
6) Quiver Dance
7) Struggle Bug
8) Stun Spore
9) Sweet Scent
10) Switcheroo
> Selection: 1
Here is your new Pokemon (from Pokemon Sword):
Name: Ribombee
Species: Bee Fly Pokémon
Type: Bug + Fairy
Pokedex Number: 188 (743)
Ability: Honey Gather
Moves:
Absorb [Grass] (Category: Special, Power: 20, Accuracy: 100)
Aromatherapy [Grass] (Category: Status, Power: None, Accuracy: None)
Bug Buzz [Bug] (Category: Special, Power: 90, Accuracy: 100)
Covet [Normal] (Category: Physical, Power: 60, Accuracy: 100)
$ ./my_pokemon 11243 <<< $'7\n3\n2\n5\n2\n5\n2'
Select an option from the menu below by entering its number:
1) Sword
2) Ultra Moon
3) Diamond
4) Emerald
5) Omega Ruby
6) Violet
7) Fire Red
8) Scarlet
9) Silver
10) Gold
> Selection: 7
Select an option from the menu below by entering its number:
1) Farfetch'd
2) Nidoqueen
3) Tentacool
4) Graveler
5) Tauros
6) Porygon
7) Alolan Vulpix
8) Butterfree
9) Mega Charizard Y
10) Ponyta
> Selection: 3
Select an option from the menu below by entering its number:
1) Clear Body
2) Liquid Ooze
3) Rain Dish
> Selection: 2
Select an option from the menu below by entering its number:
1) Acid
2) Barrier
3) Bubble Beam
4) Constrict
5) Hydro Pump
6) Poison Sting
7) Screech
8) Supersonic
9) Wrap
> Selection: 5
Select an option from the menu below by entering its number:
1) Acid
2) Barrier
3) Bubble Beam
4) Constrict
5) Poison Sting
6) Screech
7) Supersonic
8) Wrap
> Selection: 2
Select an option from the menu below by entering its number:
1) Acid
2) Bubble Beam
3) Constrict
4) Poison Sting
5) Screech
6) Supersonic
7) Wrap
> Selection: 5
Select an option from the menu below by entering its number:
1) Acid
2) Bubble Beam
3) Constrict
4) Poison Sting
5) Supersonic
6) Wrap
> Selection: 2
Here is your new Pokemon (from Pokemon Fire Red):
Name: Tentacool
Species: Jellyfish Pokémon
Type: Water + Poison
Pokedex Number: 72 (72)
Ability: Liquid Ooze
Moves:
Hydro Pump [Water] (Category: Special, Power: 110, Accuracy: 80)
Barrier [Psychic] (Category: Status, Power: None, Accuracy: None)
Screech [Normal] (Category: Status, Power: None, Accuracy: 85)
Bubble Beam [Water] (Category: Special, Power: 65, Accuracy: 100)
$ ./my_pokemon 2252 <<< $'4\n7\n3\n10\n5\n2\n4'
Select an option from the menu below by entering its number:
1) Soul Silver
2) Ultra Sun
3) The Crown Tundra
4) Platinum
5) Black 2
6) Shield
7) Scarlet
8) Emerald
9) The Isle of Armor
10) Fire Red
> Selection: 4
Select an option from the menu below by entering its number:
1) Octillery
2) Bronzor
3) Umbreon
4) Snorunt
5) Burmy - Trash Cloak
6) Duskull
7) Azumarill
8) Golbat
9) Graveler
10) Mega Gardevoir
> Selection: 7
Select an option from the menu below by entering its number:
1) Huge Power
2) Sap Sipper
3) Thick Fat
> Selection: 3
Select an option from the menu below by entering its number:
1) Aqua Ring
2) Aqua Tail
3) Bubble Beam
4) Defense Curl
5) Double-Edge
6) Hydro Pump
7) Rain Dance
8) Rollout
9) Tackle
10) Tail Whip
11) Water Gun
> Selection: 10
Select an option from the menu below by entering its number:
1) Aqua Ring
2) Aqua Tail
3) Bubble Beam
4) Defense Curl
5) Double-Edge
6) Hydro Pump
7) Rain Dance
8) Rollout
9) Tackle
10) Water Gun
> Selection: 5
Select an option from the menu below by entering its number:
1) Aqua Ring
2) Aqua Tail
3) Bubble Beam
4) Defense Curl
5) Hydro Pump
6) Rain Dance
7) Rollout
8) Tackle
9) Water Gun
> Selection: 2
Select an option from the menu below by entering its number:
1) Aqua Ring
2) Bubble Beam
3) Defense Curl
4) Hydro Pump
5) Rain Dance
6) Rollout
7) Tackle
8) Water Gun
> Selection: 4
Here is your new Pokemon (from Pokemon Platinum):
Name: Azumarill
Species: Aqua Rabbit Pokémon
Type: Water + Fairy
Pokedex Number: 126 (184)
Ability: Thick Fat
Moves:
Tail Whip [Normal] (Category: Status, Power: None, Accuracy: 100)
Double-Edge [Normal] (Category: Physical, Power: 120, Accuracy: 100)
Aqua Tail [Water] (Category: Physical, Power: 90, Accuracy: 90)
Hydro Pump [Water] (Category: Special, Power: 110, Accuracy: 80)
$ ./my_pokemon 17 <<< $'4\n5\n12\n9\n3\n7'
Select an option from the menu below by entering its number:
1) Let's Go, Pikachu
2) Omega Ruby
3) Brilliant Diamond
4) Violet
5) The Isle of Armor
6) Platinum
7) Black
8) The Crown Tundra
9) Sword
10) Y
> Selection: 4
Select an option from the menu below by entering its number:
1) Qwilfish
2) Heracross
3) Glaceon
4) Gholdengo
5) Tatsugiri - Droopy Form
6) Fomantis
7) Avalugg
8) Cubchoo
9) Chansey
10) Toxapex
> Selection: 5
Select an option from the menu below by entering its number:
1) Dragon Pulse
2) Harden
3) Helping Hand
4) Memento
5) Mirror Coat
6) Muddy Water
7) Nasty Plot
8) Soak
9) Splash
10) Taunt
11) Water Gun
12) Water Pulse
> Selection: 12
Select an option from the menu below by entering its number:
1) Dragon Pulse
2) Harden
3) Helping Hand
4) Memento
5) Mirror Coat
6) Muddy Water
7) Nasty Plot
8) Soak
9) Splash
10) Taunt
11) Water Gun
> Selection: 9
Select an option from the menu below by entering its number:
1) Dragon Pulse
2) Harden
3) Helping Hand
4) Memento
5) Mirror Coat
6) Muddy Water
7) Nasty Plot
8) Soak
9) Taunt
10) Water Gun
> Selection: 3
Select an option from the menu below by entering its number:
1) Dragon Pulse
2) Harden
3) Memento
4) Mirror Coat
5) Muddy Water
6) Nasty Plot
7) Soak
8) Taunt
9) Water Gun
> Selection: 7
Here is your new Pokemon (from Pokemon Violet):
Name: Tatsugiri - Droopy Form
Species: Mimicry Pokémon
Type: Dragon + Water
Pokedex Number: 375 (978)
Ability: None
Moves:
Water Pulse [Water] (Category: Special, Power: 60, Accuracy: 100)
Splash [Normal] (Category: Status, Power: None, Accuracy: None)
Helping Hand [Normal] (Category: Status, Power: None, Accuracy: None)
Soak [Water] (Category: Status, Power: None, Accuracy: 100)
$ ./my_pokemon 3 <<< $'4\n7\n2\n1'
Select an option from the menu below by entering its number:
1) Brilliant Diamond
2) Emerald
3) Pearl
4) Ultra Sun
5) Fire Red
6) Platinum
7) X
8) Omega Ruby
9) Shining Pearl
10) Sapphire
> Selection: 4
Select an option from the menu below by entering its number:
1) Corsola
2) Dawn Wings Necrozma
3) Mareep
4) Oricorio - Pom-Pom Style
5) Haunter
6) Komala
7) Smeargle
8) Florges
9) Hisuian Growlithe
10) Tauros - Aqua Breed
> Selection: 7
Select an option from the menu below by entering its number:
1) Moody
2) Own Tempo
3) Technician
> Selection: 2
Select an option from the menu below by entering its number:
1) Sketch
> Selection: 1
Here is your new Pokemon (from Pokemon Ultra Sun):
Name: Smeargle
Species: Painter Pokémon
Type: Normal
Pokedex Number: 70 (235)
Ability: Own Tempo
Moves:
Sketch [Normal] (Category: Status, Power: None, Accuracy: None)
Note that the games "The Crown Tundra" and "The Isle of Armor" will not be tested.
As they are not real games, they do not have move data associated with them.
Possible Evolutions Example
Note that each level of indentation is represented by a single tab character.
The evolution requirements emulate a (sideways) tree structure.
Note that a OR will never appear under an AND.
That is to say, the following is not possible:
Level: 14
OR
NOT Region: Hisui
AND
Level: 17
OR
Region: Hisui
There will also never be more than one layer of ANDs, and one layer of ORs.
That is to say, the following is not possible:
Level: 14
OR
NOT Region: Hisui
OR
Level: 17
OR
Region: Hisui
following are a selection of example outputs from the possible_evolutions script.
$ ./possible_evolutions Dreepy
'Dreepy' doesn't have any pre-evolutions.
'Dreepy' can evolve into:
'Drakloak' when the following requirements are satisfied:
Level: 50
$ ./possible_evolutions Monferno
'Monferno' can evolve from:
'Chimchar' when the following requirements are satisfied:
Level: 14
'Monferno' can evolve into:
'Infernape' when the following requirements are satisfied:
Level: 36
$ ./possible_evolutions Quilava
'Quilava' can evolve from:
'Cyndaquil' when the following requirements are satisfied:
Level: 14
AND
NOT Region: Hisui
OR
Level: 17
AND
Region: Hisui
'Quilava' can evolve into:
'Typhlosion' when the following requirements are satisfied:
Level: 36
AND
NOT Region: Hisui
'Hisuian Typhlosion' when the following requirements are satisfied:
Level: 36
AND
Region: Hisui
$ ./possible_evolutions Eevee
'Eevee' doesn't have any pre-evolutions.
'Eevee' can evolve into:
'Vaporeon' when the following requirements are satisfied:
Use Item: Water Stone
'Jolteon' when the following requirements are satisfied:
Use Item: Thunder Stone
'Flareon' when the following requirements are satisfied:
Use Item: Fire Stone
'Espeon' when the following requirements are satisfied:
High Friendship
AND
Time of Day: Day
'Umbreon' when the following requirements are satisfied:
High Friendship
AND
Time of Day: Night
'Leafeon' when the following requirements are satisfied:
Use Item: Leaf Stone
OR
Area: Mossy Rock
'Glaceon' when the following requirements are satisfied:
Use Item: Ice Stone
OR
Area: Icy Rock
'Sylveon' when the following requirements are satisfied:
High Friendship
AND
Know Move Type: Fairy
$ ./possible_evolutions Nincada
'Nincada' doesn't have any pre-evolutions.
'Nincada' can evolve into:
'Ninjask' when the following requirements are satisfied:
Level: 20
'Shedinja' when the following requirements are satisfied:
Level: 20
AND
Pokemon in Party: Empty
AND
Has Pokeballs
$ ./possible_evolutions Ursaluna
'Ursaluna' can evolve from:
'Ursaring' when the following requirements are satisfied:
Time of Day: Night
AND
Moon Phase: Full Moon
AND
Region: Hisui
AND
Use Item: Peat Block
'Ursaluna' doesn't have any post-evolutions.
$ ./possible_evolutions Porygon2
'Porygon2' can evolve from:
'Porygon' when the following requirements are satisfied:
Trade
AND
Hold Item: Upgrade
'Porygon2' can evolve into:
'Porygon-Z' when the following requirements are satisfied:
Trade
AND
Hold Item: Dubious Disc
$ ./possible_evolutions 'Basculin - White-Striped Form'
'Basculin - White-Striped Form' doesn't have any pre-evolutions.
'Basculin - White-Striped Form' can evolve into:
'Basculegion - Male' when the following requirements are satisfied:
Gender: Male
AND
Recoil Damage: 294
'Basculegion - Female' when the following requirements are satisfied:
Gender: Female
AND
Recoil Damage: 294
following are a selection of error conditions and their corresponding error messages that your script be able to handle:
$ ./possible_evolutions Fluffluff
'Fluffluff' isn't a Pokemon that exists.
Pokemon Density Example
Note that each level of indentation is represented by a single tab character.
following are a selection of example outputs from the pokemon_density script.
$ ./pokemon_density Kanto
The average density of Pokemon within each location in the 'Kanto' region:
Mt. Ember: 0.7893
Sevault Canyon: 0.4107
Mt. Moon: 0.3953
Seafoam Islands: 0.3657
Icefall Cave: 0.3556
Kindle Road: 0.3191
Cerulean Cave: 0.2819
Rock Tunnel: 0.2759
Safari Zone: 0.2742
Route 22: 0.2460
Ruin Valley: 0.2432
Route 21: 0.2370
Route 11: 0.2296
Route 10: 0.2204
Route 6: 0.2159
Route 12: 0.2087
Route 13: 0.2052
Route 4: 0.1988
Route 24: 0.1958
Route 23: 0.1923
Route 20: 0.1845
Route 2: 0.1801
Route 18: 0.1761
Route 25: 0.1757
Route 19: 0.1731
Treasure Beach: 0.1694
Five Island: 0.1624
One Island: 0.1594
Five Isle Meadow: 0.1590
Water Path: 0.1587
Bond Bridge: 0.1576
Power Plant: 0.1517
Tanoby Ruins: 0.1501
Route 17: 0.1471
Victory Road: 0.1442
Memorial Pillar: 0.1408
Pokémon Mansion: 0.1394
Resort Gorgeous: 0.1378
Water Labyrinth: 0.1378
Vermilion City: 0.1372
Route 9: 0.1359
Route 3: 0.1355
Trainer Tower: 0.1348
Outcast Island: 0.1348
Green Path: 0.1348
Cinnabar Island: 0.1313
Four Island: 0.1273
Route 5: 0.1214
Route 1: 0.1204
Pallet Town: 0.1182
Route 16: 0.1142
Route 7: 0.1108
Cerulean City: 0.1105
Route 8: 0.1074
Cape Brink: 0.1055
Berry Forest: 0.1041
Viridian Forest: 0.0955
Fuchsia City: 0.0953
Pewter City: 0.0926
Lavender Town: 0.0926
Viridian City: 0.0876
Diglett's Cave: 0.0786
Route 14: 0.0705
Route 15: 0.0661
Celadon City: 0.0549
Canyon Entrance: 0.0467
Pattern Bush: 0.0432
Pokémon Tower: 0.0165
Lost Cave: 0.0051
Three Isle Port: 0.0016
Roaming Kanto: 0.0000
The following locations in the 'Kanto' region have no wild Pokemon encounters:
Dotted Hole
Indigo Plateau
Navel Rock
Rocket Hideout
Rocket Warehouse
Route 26
Route 27
Route 28
SS Anne
Saffron City
Seven Island
Silph Co.
Six Island
Three Island
Three Isle Path
Tohjo Falls
Two Island
Underground Path 5-6
Underground Path 7-8
$ ./pokemon_density Galar
The average density of Pokemon within each location in the 'Galar' region:
Giant's Cap: 8.4165
Stony Wilderness: 6.2758
Snowslide Slope: 5.9417
South Lake Miloch: 5.7355
North Lake Miloch: 5.3855
West Lake Axewell: 4.9628
West Lake Axewell: 4.9628
Rolling Fields: 4.6979
Bridge Field: 4.5472
Ballimere Lake: 4.5200
Giant's Mirror: 4.4843
East Lake Axewell: 4.4634
Loop Lagoon: 3.9095
Giant's Seat: 3.4472
Three-Point Pass: 3.4203
Frigid Sea: 3.3557
Giant's Bed: 3.0825
Giant's Foot: 3.0704
Old Cemetery: 2.9589
Motostoke Riverbank: 2.9341
Dappled Grove: 2.8613
Slippery Slope: 2.7300
Challenge Beach: 2.6085
Lake of Outrage: 2.5923
Courageous Cavern: 2.5062
Fields of Honor: 2.1428
Hammerlocke Hills: 2.1057
Dusty Bowl: 1.9267
Soothing Wetlands: 1.9152
Challenge Road: 1.9104
Frostpoint Field: 1.8560
Workout Sea: 1.8496
Axew's Eye: 1.8461
Forest of Focus: 1.8182
Training Lowlands: 1.7634
Route 3: 1.6546
Watchtower Ruins: 1.6514
Honeycalm Island: 1.6382
Stepping-Stone Sea: 1.6101
Route 2: 1.5292
Insular Sea: 1.2348
Lakeside Cave: 0.9517
Galar Mine: 0.9459
Route 9: 0.9301
Route 4: 0.9170
Slumbering Weald: 0.8449
Galar Mine No. 2: 0.8210
Honeycalm Sea: 0.7811
Roaring-Sea Caves: 0.7486
Route 5: 0.6928
Route 6: 0.6064
Potbottom Desert: 0.5797
Route 8: 0.5494
Brawlers' Cave: 0.4643
Route 10: 0.4630
Route 7: 0.4526
Route 1: 0.4214
Warm-Up Tunnel: 0.3703
Path to the Peak: 0.3635
Motostoke Outskirts: 0.3357
Tunnel to the Top: 0.3095
Motostoke: 0.2593
Glimwood Tangle: 0.2275
Hulbury: 0.1415
The following locations in the 'Galar' region have no wild Pokemon encounters:
Ballonlea
Battle Tower
Circhester
Crown Shrine
Dyna Tree Hill
Freezington
Hammerlocke
Iceberg Ruins
Iron Ruins
Master Dojo
Max Lair
Postwick
Rock Peak Ruins
Spikemuth
Split-Decision Ruins
Steamdrift Way
Stow-on-Side
Tower of Darkness
Tower of Waters
Turffield
Wedgehurst
Wyndon
$ ./pokemon_density Sinnoh
The average density of Pokemon within each location in the 'Sinnoh' region:
Spacious Cave: 1.2393
Sunlit Cavern: 1.2304
Mt. Coronet: 1.1388
Still-Water Cavern: 1.1356
Riverbank Cave: 1.1356
Grassland Cave: 1.0866
Rocky Cave: 0.9427
Ruin Maniac Tunnel: 0.8617
Big Bluff Cavern: 0.7989
Whiteout Cave: 0.7948
Fountainspring Cave: 0.7495
Icy Cave: 0.7099
Glacial Cavern: 0.7033
Route 205: 0.7017
Route 212: 0.6601
Wayward Cave: 0.6375
Great Marsh: 0.6196
Route 204: 0.5927
Dazzling Cave: 0.5900
Stargleam Cavern: 0.5900
Fuego Ironworks: 0.5714
Iron Island: 0.5554
Route 207: 0.5161
Route 213: 0.5045
Route 210: 0.4876
Oreburgh Mine: 0.4854
Bogsunk Cavern: 0.4840
Swampy Cave: 0.4840
Valley Windworks: 0.4825
Route 206: 0.4764
Route 228: 0.4683
Typhlo Cavern: 0.4206
Route 214: 0.4059
Oreburgh Gate: 0.4051
Route 218: 0.3916
Stark Mountain: 0.3853
Route 221: 0.3847
Route 211: 0.3801
Route 202: 0.3798
Route 203: 0.3594
Route 215: 0.3569
Lake Verity: 0.3566
Volcanic Cave: 0.3375
Route 209: 0.3314
Eterna Forest: 0.3308
Sandsear Cave: 0.3185
Route 222: 0.3073
Route 224: 0.2977
Route 227: 0.2977
Route 208: 0.2797
Route 201: 0.2705
Route 226: 0.2635
Victory Road: 0.2334
Lake Acuity: 0.2269
Turnback Cave: 0.2168
Route 225: 0.2049
Lake Valor: 0.1982
Route 219: 0.1876
Route 220: 0.1824
Trophy Garden: 0.1772
Canalave City: 0.1678
Route 229: 0.1623
Ravaged Path: 0.1596
Route 230: 0.1596
Sendoff Spring: 0.1556
Pastoria City: 0.1503
Valor Lakefront: 0.1346
Route 217: 0.1233
Floaroma Meadow: 0.1209
Snowpoint Temple: 0.1076
Celestic Town: 0.1063
Twinleaf Town: 0.1047
Sunyshore City: 0.1043
Route 216: 0.0957
Pokémon League: 0.0940
Eterna City: 0.0922
Route 223: 0.0881
Acuity Lakefront: 0.0782
Resort Area: 0.0780
Lost Tower: 0.0772
Solaceon Ruins: 0.0397
Old Chateau: 0.0002
Roaming Sinnoh: 0.0000
The following locations in the 'Sinnoh' region have no wild Pokemon encounters:
Amity Square
Battle Frontier
Battle Park
Distortion World
Eterna Galactic Building
Fight Area
Floaroma Town
Flower Paradise
Fullmoon Island
Galactic Warehouse
Grand Lake Hotel
Grand Underground
Hall of Origin
Hearthome City
Jubilife City
Newmoon Island
Oreburgh City
Pal Park
Pokémon Mansion
Ramanas Park
Sandgem Town
Seabreak Path
Snowpoint City
Solaceon Town
Spear Pillar
Survival Area
Veilstone City
Veilstone Galactic Building
Verity Lakefront
following are a selection of error conditions and their corresponding error messages that your script be able to handle:
$ ./pokemon_density Aurorania
'Aurorania' isn't a region in the Pokemon series.
Encounter Summary Example
following are a selection of example outputs from the encounter_summary script.
$ ./encounter_summary "Route 201" "Diamond"
In 'Pokemon Diamond' at 'Route 201' the following Pokemon can be Encountered:
Bidoof:
Type: Normal
Rarity: 20%
Levels: min 2, max 3
Egg Groups: Field, Water 1
Abilities: Simple, Unaware
Encounter Requirements:
Walking
Doduo:
Type: Normal/Flying
Rarity: 20%
Levels: min 2, max 2
Egg Groups: Flying
Abilities: Early Bird, Run Away
Encounter Requirements:
Walking
Starly:
Type: Normal/Flying
Rarity: 20%
Levels: min 2, max 3
Egg Groups: Flying
Abilities: Keen Eye
Encounter Requirements:
Walking
Nidoran♀:
Type: Poison
Rarity: 5%
Levels: min 3, max 3
Egg Groups: Field, Monster
Abilities: Poison Point, Rivalry
Encounter Requirements:
PokeRadar
Growlithe:
Type: Fire
Rarity: 1%
Levels: min 2, max 2
Egg Groups: Field
Abilities: Flash Fire, Intimidate
Encounter Requirements:
Walking
Nidoran♂:
Type: Poison
Rarity: 1%
Levels: min 2, max 2
Egg Groups: Field, Monster
Abilities: Poison Point, Rivalry
Encounter Requirements:
PokeRadar
$ ./encounter_summary "Route 1" "Red"
In 'Pokemon Red' at 'Route 1' the following Pokemon can be Encountered:
Pidgey:
Type: Normal/Flying
Rarity: 20%
Levels: min 2, max 5
Egg Groups: Flying
Abilities: Keen Eye, Tangled Feet
Encounter Requirements:
Walking
Rattata:
Type: Normal
Rarity: 20%
Levels: min 2, max 4
Egg Groups: Field
Abilities: Guts, Run Away
Encounter Requirements:
Walking
$ ./encounter_summary "Route 22" "Fire Red"
In 'Pokemon Fire Red' at 'Route 22' the following Pokemon can be Encountered:
Magikarp:
Type: Water
Rarity: 20%
Levels: min 5, max 5
Egg Groups: Dragon, Water 2
Abilities: Swift Swim
Encounter Requirements:
Fishing: Old Rod
Mankey:
Type: Fighting
Rarity: 20%
Levels: min 2, max 5
Egg Groups: Field
Abilities: Anger Point, Vital Spirit
Encounter Requirements:
Walking
Poliwag:
Type: Water
Rarity: 20%
Levels: min 5, max 15
Egg Groups: Water 1
Abilities: Damp, Water Absorb
Encounter Requirements:
Fishing: Good Rod
Poliwag:
Type: Water
Rarity: 20%
Levels: min 15, max 25
Egg Groups: Water 1
Abilities: Damp, Water Absorb
Encounter Requirements:
Fishing: Super Rod
Poliwhirl:
Type: Water
Rarity: 20%
Levels: min 20, max 30
Egg Groups: Water 1
Abilities: Damp, Water Absorb
Encounter Requirements:
Fishing: Super Rod
Psyduck:
Type: Water
Rarity: 20%
Levels: min 20, max 40
Egg Groups: Field, Water 1
Abilities: Cloud Nine, Damp
Encounter Requirements:
Surfing
Rattata:
Type: Normal
Rarity: 20%
Levels: min 2, max 5
Egg Groups: Field
Abilities: Guts, Run Away
Encounter Requirements:
Walking
Goldeen:
Type: Water
Rarity: 5%
Levels: min 5, max 15
Egg Groups: Water 2
Abilities: Swift Swim, Water Veil
Encounter Requirements:
Fishing: Good Rod
Gyarados:
Type: Water/Flying
Rarity: 5%
Levels: min 15, max 25
Egg Groups: Dragon, Water 2
Abilities: Intimidate
Encounter Requirements:
Fishing: Super Rod
Magikarp:
Type: Water
Rarity: 5%
Levels: min 5, max 15
Egg Groups: Dragon, Water 2
Abilities: Swift Swim
Encounter Requirements:
Fishing: Good Rod
Spearow:
Type: Normal/Flying
Rarity: 5%
Levels: min 3, max 5
Egg Groups: Flying
Abilities: Keen Eye
Encounter Requirements:
Walking
Psyduck:
Type: Water
Rarity: 1%
Levels: min 15, max 35
Egg Groups: Field, Water 1
Abilities: Cloud Nine, Damp
Encounter Requirements:
Fishing: Super Rod
$ ./encounter_summary "Slateport City" "Omega Ruby"
In 'Pokemon Omega Ruby' at 'Slateport City' the following Pokemon can be Encountered:
Wailmer:
Type: Water
Rarity: 100%
Levels: min 30, max 40
Egg Groups: Field, Water 2
Abilities: Oblivious, Water Veil
Encounter Requirements:
Fishing: Super Rod
Magikarp:
Type: Water
Rarity: 65%
Levels: min 10, max 15
Egg Groups: Dragon, Water 2
Abilities: Swift Swim
Encounter Requirements:
Fishing: Old Rod
Tentacool:
Type: Water/Poison
Rarity: 65%
Levels: min 20, max 25
Egg Groups: Water 3
Abilities: Clear Body, Liquid Ooze
Encounter Requirements:
Surfing
Magikarp:
Type: Water
Rarity: 60%
Levels: min 25, max 25
Egg Groups: Dragon, Water 2
Abilities: Swift Swim
Encounter Requirements:
Fishing: Good Rod
Tentacool:
Type: Water/Poison
Rarity: 35%
Levels: min 5, max 5
Egg Groups: Water 3
Abilities: Clear Body, Liquid Ooze
Encounter Requirements:
Fishing: Old Rod
Tentacool:
Type: Water/Poison
Rarity: 35%
Levels: min 25, max 25
Egg Groups: Water 3
Abilities: Clear Body, Liquid Ooze
Encounter Requirements:
Fishing: Good Rod
Wingull:
Type: Water/Flying
Rarity: 30%
Levels: min 20, max 20
Egg Groups: Flying, Water 1
Abilities: Hydration, Keen Eye
Encounter Requirements:
Surfing
Pelipper:
Type: Water/Flying
Rarity: 5%
Levels: min 25, max 30
Egg Groups: Flying, Water 1
Abilities: Drizzle, Keen Eye
Encounter Requirements:
Surfing
Wailmer:
Type: Water
Rarity: 5%
Levels: min 25, max 25
Egg Groups: Field, Water 2
Abilities: Oblivious, Water Veil
Encounter Requirements:
Fishing: Good Rod
$ ./encounter_summary "Tunnel to the Top" "The Crown Tundra"
In 'Pokemon The Crown Tundra' at 'Tunnel To The Top' the following Pokemon can be Encountered:
Zubat:
Type: Poison/Flying
Rarity: 40%
Levels: min 60, max 65
Egg Groups: Flying
Abilities: Inner Focus
Encounter Requirements:
Walking
Carbink:
Type: Rock/Fairy
Rarity: 24%
Levels: min 60, max 65
Egg Groups: Fairy, Mineral
Abilities: Clear Body
Encounter Requirements:
Walking
Snorunt:
Type: Ice
Rarity: 20%
Levels: min 60, max 65
Egg Groups: Fairy, Mineral
Abilities: Ice Body, Inner Focus
Encounter Requirements:
Walking
Bagon:
Type: Dragon
Rarity: 10%
Levels: min 60, max 65
Egg Groups: Dragon
Abilities: Rock Head
Encounter Requirements:
Walking
Gible:
Type: Dragon/Ground
Rarity: 10%
Levels: min 60, max 65
Egg Groups: Dragon, Monster
Abilities: Sand Veil
Encounter Requirements:
Walking
Clefairy:
Type: Fairy
Rarity: 5%
Levels: min 60, max 65
Egg Groups: Fairy
Abilities: Cute Charm, Magic Guard
Encounter Requirements:
Walking
Audino:
Type: Normal
Rarity: 1%
Levels: min 60, max 65
Egg Groups: Fairy
Abilities: Healer, Regenerator
Encounter Requirements:
Walking
$ ./encounter_summary "Kala'e Bay" "Ultra Sun"
In 'Pokemon Ultra Sun' at 'Kala'E Bay' the following Pokemon can be Encountered:
Tentacool:
Type: Water/Poison
Rarity: 40%
Levels: min 15, max 18
Egg Groups: Water 3
Abilities: Clear Body, Liquid Ooze
Encounter Requirements:
Surfing
Wingull:
Type: Water/Flying
Rarity: 40%
Levels: min 15, max 18
Egg Groups: Flying, Water 1
Abilities: Hydration, Keen Eye
Encounter Requirements:
Walking
Magikarp:
Type: Water
Rarity: 35%
Levels: min 10, max 17
Egg Groups: Dragon, Water 2
Abilities: Swift Swim
Encounter Requirements:
Fishing: Super Rod
Shellder:
Type: Water
Rarity: 35%
Levels: min 10, max 22
Egg Groups: Water 3
Abilities: Shell Armor, Skill Link
Encounter Requirements:
Fishing: Super Rod
Wishiwashi - Solo Form:
Type: Water
Rarity: 35%
Levels: min 10, max 17
Egg Groups: Water 2
Abilities: Schooling
Encounter Requirements:
Fishing: Super Rod
Alolan Rattata:
Type: Dark
Rarity: 30%
Levels: min 15, max 18
Egg Groups: Field
Abilities: Gluttony, Hustle
Encounter Requirements:
Time of Day: Night
Walking
Yungoos:
Type: Normal
Rarity: 30%
Levels: min 15, max 18
Egg Groups: Field
Abilities: Stakeout, Strong Jaw
Encounter Requirements:
Time of Day: Day
Walking
Magikarp:
Type: Water
Rarity: 25%
Levels: min 10, max 22
Egg Groups: Dragon, Water 2
Abilities: Swift Swim
Encounter Requirements:
Fishing: Super Rod
Remoraid:
Type: Water
Rarity: 25%
Levels: min 10, max 17
Egg Groups: Water 1, Water 2
Abilities: Hustle, Sniper
Encounter Requirements:
Fishing: Super Rod
Wishiwashi - Solo Form:
Type: Water
Rarity: 25%
Levels: min 10, max 22
Egg Groups: Water 2
Abilities: Schooling
Encounter Requirements:
Fishing: Super Rod
Finneon:
Type: Water
Rarity: 20%
Levels: min 15, max 18
Egg Groups: Water 2
Abilities: Storm Drain, Swift Swim
Encounter Requirements:
Surfing
Mantyke:
Type: Water/Flying
Rarity: 20%
Levels: min 15, max 18
Egg Groups: Undiscovered
Abilities: Swift Swim, Water Absorb
Encounter Requirements:
Surfing
Slowpoke:
Type: Water/Psychic
Rarity: 20%
Levels: min 15, max 18
Egg Groups: Monster, Water 1
Abilities: Oblivious, Own Tempo
Encounter Requirements:
Walking
Wingull:
Type: Water/Flying
Rarity: 20%
Levels: min 15, max 18
Egg Groups: Flying, Water 1
Abilities: Hydration, Keen Eye
Encounter Requirements:
Surfing
Remoraid:
Type: Water
Rarity: 15%
Levels: min 10, max 22
Egg Groups: Water 1, Water 2
Abilities: Hustle, Sniper
Encounter Requirements:
Fishing: Super Rod
Bagon:
Type: Dragon
Rarity: 10%
Levels: min 15, max 18
Egg Groups: Dragon
Abilities: Rock Head
Encounter Requirements:
Walking
Gyarados:
Type: Water/Flying
Rarity: 5%
Levels: min 10, max 17
Egg Groups: Dragon, Water 2
Abilities: Intimidate
Encounter Requirements:
Fishing: Super Rod
Gyarados:
Type: Water/Flying
Rarity: 5%
Levels: min 10, max 22
Egg Groups: Dragon, Water 2
Abilities: Intimidate
Encounter Requirements:
Fishing: Super Rod
Octillery:
Type: Water
Rarity: 5%
Levels: min 10, max 17
Egg Groups: Water 1, Water 2
Abilities: Sniper, Suction Cups
Encounter Requirements:
Fishing: Super Rod
Octillery:
Type: Water
Rarity: 5%
Levels: min 10, max 22
Egg Groups: Water 1, Water 2
Abilities: Sniper, Suction Cups
Encounter Requirements:
Fishing: Super Rod
Remoraid:
Type: Water
Rarity: 5%
Levels: min 15, max 18
Egg Groups: Water 1, Water 2
Abilities: Hustle, Sniper
Encounter Requirements:
Surfing
Shelgon:
Type: Dragon
Rarity: 5%
Levels: min 15, max 18
Egg Groups: Dragon
Abilities: Rock Head
Abilities: Rock Head
Encounter Requirements:
Walking
Shellder:
Type: Water
Rarity: 5%
Levels: min 10, max 17
Egg Groups: Water 3
Abilities: Shell Armor, Skill Link
Encounter Requirements:
Fishing: Super Rod
Slowbro:
Type: Water/Psychic
Rarity: 5%
Levels: min 15, max 18
Egg Groups: Monster, Water 1
Abilities: Oblivious, Own Tempo
Encounter Requirements:
Walking
Slowking:
Type: Water/Psychic
Rarity: 5%
Levels: min 15, max 18
Egg Groups: Monster, Water 1
Abilities: Oblivious, Own Tempo
Encounter Requirements:
Walking
Horsea:
Type: Water
Rarity: 0%
Levels: min 18, max 18
Egg Groups: Dragon, Water 1
Abilities: Sniper, Swift Swim
Encounter Requirements:
Day of the Week: Wednesday
Walking
Attack Damage Example
following are a selection of example outputs from the attack_damage script.
Note that each row of output (except the first (and blank lines)) is indented with a single tab character.
The move names are left-aligned, and the damage values are right-aligned.
following are a selection of error conditions and their corresponding error messages that your script be able to handle:
$ ./attack_damage Aipom Fluffluff 'Heart Gold'
'Fluffluff' isn't a Pokemon that exists.
$ ./attack_damage Grumpig Grumpig 'Glass'
'Pokemon Glass' isn't a game in the Pokemon series.
$ ./attack_damage Cacturne Grumpig 'Red'
'Cacturne' doesn't appear in 'Pokemon Red'.
# Either the attacking pokemon doesn't learn any moves or all moves deal 0 damage
$ ./attack_damage Smeargle Passimian 'Ultra Moon'
In 'Pokemon Ultra Moon', 'Smeargle' can't attack 'Passimian'.
Arguments should be checked in the order shown above.
ie.
First check that the first pokemon exsits, then check that the second
pokemon exists, then check that the game exists, then check that the
first pokemon appears in the game, then check that
the second pokemon appears in the game.
$ ./attack_damage Bulbasaur Squirtle 'Fire Red'
In 'Pokemon Fire Red', When 'Bulbasaur' attacks 'Squirtle', 'Bulbasaur' can use the following moves:
'Rock Smash' for a minimum of 2 damage and a maximum of 27 damage to 'Squirtle'.
'Tackle' for a minimum of 2 damage and a maximum of 27 damage to 'Squirtle'.
'Cut' for a minimum of 3 damage and a maximum of 33 damage to 'Squirtle'.
'Facade' for a minimum of 3 damage and a maximum of 46 damage to 'Squirtle'.
'Secret Power' for a minimum of 3 damage and a maximum of 46 damage to 'Squirtle'.
'Strength' for a minimum of 4 damage and a maximum of 52 damage to 'Squirtle'.
'Hidden Power' for a minimum of 4 damage and a maximum of 53 damage to 'Squirtle'.
'Bullet Seed' for a minimum of 7 damage and a maximum of 53 damage to 'Squirtle'.
'Body Slam' for a minimum of 4 damage and a maximum of 55 damage to 'Squirtle'.
'Double-Edge' for a minimum of 5 damage and a maximum of 78 damage to 'Squirtle'.
'Skull Bash' for a minimum of 5 damage and a maximum of 84 damage to 'Squirtle'.
'Vine Whip' for a minimum of 9 damage and a maximum of 91 damage to 'Squirtle'.
'Razor Leaf' for a minimum of 10 damage and a maximum of 110 damage to 'Squirtle'.
'Sludge Bomb' for a minimum of 8 damage and a maximum of 118 damage to 'Squirtle'.
'Magical Leaf' for a minimum of 12 damage and a maximum of 159 damage to 'Squirtle'.
'Giga Drain' for a minimum of 14 damage and a maximum of 198 damage to 'Squirtle'.
'Petal Dance' for a minimum of 20 damage and a maximum of 313 damage to 'Squirtle'.
'Solar Beam' for a minimum of 20 damage and a maximum of 313 damage to 'Squirtle'.
$ ./attack_damage Pikachu Tentacruel 'Yellow'
In 'Pokemon Yellow', When 'Pikachu' attacks 'Tentacruel', 'Pikachu' can use the following moves:
'Rage' for a minimum of 2 damage and a maximum of 16 damage to 'Tentacruel'.
'Swift' for a minimum of 2 damage and a maximum of 23 damage to 'Tentacruel'.
'Submission' for a minimum of 2 damage and a maximum of 29 damage to 'Tentacruel'.
'Pay Day' for a minimum of 3 damage and a maximum of 30 damage to 'Tentacruel'.
'Quick Attack' for a minimum of 3 damage and a maximum of 30 damage to 'Tentacruel'.
'Thunder Shock' for a minimum of 7 damage and a maximum of 48 damage to 'Tentacruel'.
'Mega Punch' for a minimum of 4 damage and a maximum of 58 damage to 'Tentacruel'.
'Slam' for a minimum of 4 damage and a maximum of 58 damage to 'Tentacruel'.
'Body Slam' for a minimum of 4 damage and a maximum of 62 damage to 'Tentacruel'.
'Take Down' for a minimum of 4 damage and a maximum of 66 damage to 'Tentacruel'.
'Double-Edge' for a minimum of 5 damage and a maximum of 87 damage to 'Tentacruel'.
'Mega Kick' for a minimum of 5 damage and a maximum of 87 damage to 'Tentacruel'.
'Skull Bash' for a minimum of 6 damage and a maximum of 94 damage to 'Tentacruel'.
'Thunderbolt' for a minimum of 9 damage and a maximum of 100 damage to 'Tentacruel'.
'Thunder' for a minimum of 10 damage and a maximum of 121 damage to 'Tentacruel'.
$ ./attack_damage Pikachu Klinklang 'Shield'
In 'Pokemon Shield', When 'Pikachu' attacks 'Klinklang', 'Pikachu' can use the following moves:
'Feint' for a minimum of 1 damage and a maximum of 7 damage to 'Klinklang'.
'Fake Out' for a minimum of 1 damage and a maximum of 9 damage to 'Klinklang'.
'Pay Day' for a minimum of 1 damage and a maximum of 9 damage to 'Klinklang'.
'Quick Attack' for a minimum of 1 damage and a maximum of 9 damage to 'Klinklang'.
'Disarming Voice' for a minimum of 1 damage and a maximum of 10 damage to 'Klinklang'.
'Draining Kiss' for a minimum of 1 damage and a maximum of 13 damage to 'Klinklang'.
'Snore' for a minimum of 1 damage and a maximum of 13 damage to 'Klinklang'.
'Facade' for a minimum of 1 damage and a maximum of 15 damage to 'Klinklang'.
'Round' for a minimum of 1 damage and a maximum of 15 damage to 'Klinklang'.
'Swift' for a minimum of 1 damage and a maximum of 15 damage to 'Klinklang'.
'Nuzzle' for a minimum of 3 damage and a maximum of 15 damage to 'Klinklang'.
'Mega Punch' for a minimum of 1 damage and a maximum of 17 damage to 'Klinklang'.
'Slam' for a minimum of 1 damage and a maximum of 17 damage to 'Klinklang'.
'Body Slam' for a minimum of 1 damage and a maximum of 18 damage to 'Klinklang'.
'Play Rough' for a minimum of 1 damage and a maximum of 19 damage to 'Klinklang'.
'Iron Tail' for a minimum of 1 damage and a maximum of 21 damage to 'Klinklang'.
'Uproar' for a minimum of 1 damage and a maximum of 23 damage to 'Klinklang'.
'Mega Kick' for a minimum of 2 damage and a maximum of 25 damage to 'Klinklang'.
'Thief' for a minimum of 2 damage and a maximum of 26 damage to 'Klinklang'.
'Thunder Shock' for a minimum of 4 damage and a maximum of 32 damage to 'Klinklang'.
'Spark' for a minimum of 4 damage and a maximum of 42 damage to 'Klinklang'.
'Electroweb' for a minimum of 4 damage and a maximum of 43 damage to 'Klinklang'.
'Surf' for a minimum of 3 damage and a maximum of 46 damage to 'Klinklang'.
'Thunder Punch' for a minimum of 4 damage and a maximum of 48 damage to 'Klinklang'.
'Rising Voltage' for a minimum of 5 damage and a maximum of 54 damage to 'Klinklang'.
'Volt Switch' for a minimum of 5 damage and a maximum of 54 damage to 'Klinklang'.
'Wild Charge' for a minimum of 5 damage and a maximum of 57 damage to 'Klinklang'.
'Discharge' for a minimum of 5 damage and a maximum of 62 damage to 'Klinklang'.
'Brick Break' for a minimum of 6 damage and a maximum of 64 damage to 'Klinklang'.
'Dig' for a minimum of 6 damage and a maximum of 68 damage to 'Klinklang'.
'Thunderbolt' for a minimum of 5 damage and a maximum of 69 damage to 'Klinklang'.
'Thunder' for a minimum of 6 damage and a maximum of 84 damage to 'Klinklang'.
$ ./attack_damage Palkia Overqwil 'Legends: Arceus'
In 'Pokemon Legends: Arceus', When 'Palkia' attacks 'Overqwil', 'Palkia' can use the following moves:
'Shadow Claw' for a minimum of 2 damage and a maximum of 38 damage to 'Overqwil'.
'Rock Smash' for a minimum of 3 damage and a maximum of 44 damage to 'Overqwil'.
'Aerial Ace' for a minimum of 4 damage and a maximum of 65 damage to 'Overqwil'.
'Slash' for a minimum of 5 damage and a maximum of 76 damage to 'Overqwil'.
'Rock Slide' for a minimum of 5 damage and a maximum of 81 damage to 'Overqwil'.
'Stone Edge' for a minimum of 6 damage and a maximum of 108 damage to 'Overqwil'.
'Ancient Power' for a minimum of 7 damage and a maximum of 118 damage to 'Overqwil'.
'Swift' for a minimum of 7 damage and a maximum of 118 damage to 'Overqwil'.
'Twister' for a minimum of 8 damage and a maximum of 119 damage to 'Overqwil'.
'Dragon Claw' for a minimum of 8 damage and a maximum of 130 damage to 'Overqwil'.
'Bulldoze' for a minimum of 9 damage and a maximum of 131 damage to 'Overqwil'.
'Aqua Tail' for a minimum of 9 damage and a maximum of 146 damage to 'Overqwil'.
'Power Gem' for a minimum of 9 damage and a maximum of 157 damage to 'Overqwil'.
'Giga Impact' for a minimum of 9 damage and a maximum of 161 damage to 'Overqwil'.
'Flamethrower' for a minimum of 10 damage and a maximum of 176 damage to 'Overqwil'.
'Ice Beam' for a minimum of 10 damage and a maximum of 176 damage to 'Overqwil'.
'Thunderbolt' for a minimum of 10 damage and a maximum of 176 damage to 'Overqwil'.
'Water Pulse' for a minimum of 11 damage and a maximum of 177 damage to 'Overqwil'.
'Outrage' for a minimum of 11 damage and a maximum of 194 damage to 'Overqwil'.
'Dragon Pulse' for a minimum of 14 damage and a maximum of 250 damage to 'Overqwil'.
'Hyper Beam' for a minimum of 15 damage and a maximum of 292 damage to 'Overqwil'.
'Spacial Rend' for a minimum of 16 damage and a maximum of 293 damage to 'Overqwil'.
'Hydro Pump' for a minimum of 18 damage and a maximum of 322 damage to 'Overqwil'.
'Earth Power' for a minimum of 20 damage and a maximum of 352 damage to 'Overqwil'.
'Draco Meteor' for a minimum of 20 damage and a maximum of 381 damage to 'Overqwil'.
$ ./attack_damage Dragapult Riolu 'Violet'
In 'Pokemon Violet', When 'Dragapult' attacks 'Riolu', 'Dragapult' can use the following moves:
'Infestation' for a minimum of 1 damage and a maximum of 22 damage to 'Riolu'.
'Pounce' for a minimum of 3 damage and a maximum of 64 damage to 'Riolu'.
'Assurance' for a minimum of 4 damage and a maximum of 76 damage to 'Riolu'.
'Bite' for a minimum of 4 damage and a maximum of 76 damage to 'Riolu'.
'Thief' for a minimum of 4 damage and a maximum of 76 damage to 'Riolu'.
'Sucker Punch' for a minimum of 5 damage and a maximum of 89 damage to 'Riolu'.
'U-turn' for a minimum of 5 damage and a maximum of 89 damage to 'Riolu'.
'Double Hit' for a minimum of 6 damage and a maximum of 90 damage to 'Riolu'.
'Quick Attack' for a minimum of 6 damage and a maximum of 102 damage to 'Riolu'.
'Astonish' for a minimum of 8 damage and a maximum of 116 damage to 'Riolu'.
'Swift' for a minimum of 7 damage and a maximum of 128 damage to 'Riolu'.
'Tera Blast' for a minimum of 9 damage and a maximum of 170 damage to 'Riolu'.
'Facade' for a minimum of 10 damage and a maximum of 178 damage to 'Riolu'.
'Flamethrower' for a minimum of 10 damage and a maximum of 191 damage to 'Riolu'.
'Surf' for a minimum of 10 damage and a maximum of 191 damage to 'Riolu'.
'Thunderbolt' for a minimum of 10 damage and a maximum of 191 damage to 'Riolu'.
'Dragon Breath' for a minimum of 11 damage and a maximum of 192 damage to 'Riolu'.
'Dragon Darts' for a minimum of 11 damage and a maximum of 192 damage to 'Riolu'.
'Hex' for a minimum of 12 damage and a maximum of 207 damage to 'Riolu'.
'Body Slam' for a minimum of 12 damage and a maximum of 216 damage to 'Riolu'.
'Take Down' for a minimum of 12 damage and a maximum of 228 damage to 'Riolu'.
'Dragon Tail' for a minimum of 13 damage and a maximum of 229 damage to 'Riolu'.
'Fire Blast' for a minimum of 12 damage and a maximum of 233 damage to 'Riolu'.
'Hydro Pump' for a minimum of 12 damage and a maximum of 233 damage to 'Riolu'.
'Thunder' for a minimum of 12 damage and a maximum of 233 damage to 'Riolu'.
'Solar Beam' for a minimum of 13 damage and a maximum of 254 damage to 'Riolu'.
'Shadow Ball' for a minimum of 14 damage and a maximum of 255 damage to 'Riolu'.
'Dragon Pulse' for a minimum of 15 damage and a maximum of 270 damage to 'Riolu'.
'Acrobatics' for a minimum of 16 damage and a maximum of 281 damage to 'Riolu'.
'Double-Edge' for a minimum of 16 damage and a maximum of 304 damage to 'Riolu'.
'Dragon Claw' for a minimum of 17 damage and a maximum of 305 damage to 'Riolu'.
'Hyper Beam' for a minimum of 17 damage and a maximum of 317 damage to 'Riolu'.
'Phantom Force' for a minimum of 19 damage and a maximum of 343 damage to 'Riolu'.
'Last Resort' for a minimum of 18 damage and a maximum of 354 damage to 'Riolu'.
'Giga Impact' for a minimum of 20 damage and a maximum of 380 damage to 'Riolu'.
'Dragon Rush' for a minimum of 20 damage and a maximum of 381 damage to 'Riolu'.
'Draco Meteor' for a minimum of 22 damage and a maximum of 412 damage to 'Riolu'.
'Psychic Fangs' for a minimum of 24 damage and a maximum of 432 damage to 'Riolu'.
'Outrage' for a minimum of 24 damage and a maximum of 456 damage to 'Riolu'.
'Fly' for a minimum of 25 damage and a maximum of 457 damage to 'Riolu'.
$ ./attack_damage Goodra Comfey 'Sun'
In 'Pokemon Sun', When 'Goodra' attacks 'Comfey', 'Goodra' can use the following moves:
'Infestation' for a minimum of 1 damage and a maximum of 9 damage to 'Comfey'.
'Absorb' for a minimum of 2 damage and a maximum of 18 damage to 'Comfey'.
'Brutal Swing' for a minimum of 2 damage and a maximum of 29 damage to 'Comfey'.
'Feint' for a minimum of 3 damage and a maximum of 30 damage to 'Comfey'.
'Bubble' for a minimum of 3 damage and a maximum of 35 damage to 'Comfey'.
'Tackle' for a minimum of 3 damage and a maximum of 39 damage to 'Comfey'.
'Focus Blast' for a minimum of 3 damage and a maximum of 51 damage to 'Comfey'.
'Hidden Power' for a minimum of 4 damage and a maximum of 52 damage to 'Comfey'.
'Round' for a minimum of 4 damage and a maximum of 52 damage to 'Comfey'.
'Bulldoze' for a minimum of 4 damage and a maximum of 58 damage to 'Comfey'.
'Facade' for a minimum of 4 damage and a maximum of 67 damage to 'Comfey'.
'Rock Slide' for a minimum of 5 damage and a maximum of 72 damage to 'Comfey'.
'Flamethrower' for a minimum of 5 damage and a maximum of 77 damage to 'Comfey'.
'Ice Beam' for a minimum of 5 damage and a maximum of 77 damage to 'Comfey'.
'Muddy Water' for a minimum of 5 damage and a maximum of 77 damage to 'Comfey'.
'Thunderbolt' for a minimum of 5 damage and a maximum of 77 damage to 'Comfey'.
'Body Slam' for a minimum of 5 damage and a maximum of 81 damage to 'Comfey'.
'Aqua Tail' for a minimum of 5 damage and a maximum of 86 damage to 'Comfey'.
'Blizzard' for a minimum of 6 damage and a maximum of 94 damage to 'Comfey'.
'Fire Blast' for a minimum of 6 damage and a maximum of 94 damage to 'Comfey'.
'Thunder' for a minimum of 6 damage and a maximum of 94 damage to 'Comfey'.
'Earthquake' for a minimum of 6 damage and a maximum of 95 damage to 'Comfey'.
'Poison Tail' for a minimum of 7 damage and a maximum of 97 damage to 'Comfey'.
'Power Whip' for a minimum of 7 damage and a maximum of 114 damage to 'Comfey'.
'Hyper Beam' for a minimum of 7 damage and a maximum of 128 damage to 'Comfey'.
'Giga Impact' for a minimum of 8 damage and a maximum of 142 damage to 'Comfey'.
'Sludge Bomb' for a minimum of 10 damage and a maximum of 155 damage to 'Comfey'.
'Sludge Wave' for a minimum of 11 damage and a maximum of 163 damage to 'Comfey'.
'Iron Tail' for a minimum of 12 damage and a maximum of 190 damage to 'Comfey'.
$ ./attack_damage 'Hisuian Avalugg' Gliscor 'Legends: Arceus'
In 'Pokemon Legends: Arceus', When 'Hisuian Avalugg' attacks 'Gliscor', 'Hisuian Avalugg' can use the following moves:
'Rock Smash' for a minimum of 1 damage and a maximum of 18 damage to 'Gliscor'.
'Flash Cannon' for a minimum of 3 damage and a maximum of 32 damage to 'Gliscor'.
'Tackle' for a minimum of 3 damage and a maximum of 36 damage to 'Gliscor'.
'Water Pulse' for a minimum of 5 damage and a maximum of 49 damage to 'Gliscor'.
'Bite' for a minimum of 4 damage and a maximum of 53 damage to 'Gliscor'.
'Hyper Beam' for a minimum of 4 damage and a maximum of 59 damage to 'Gliscor'.
'Crunch' for a minimum of 5 damage and a maximum of 70 damage to 'Gliscor'.
'Iron Head' for a minimum of 5 damage and a maximum of 70 damage to 'Gliscor'.
'Rock Slide' for a minimum of 7 damage and a maximum of 99 damage to 'Gliscor'.
'Powder Snow' for a minimum of 14 damage and a maximum of 103 damage to 'Gliscor'.
'Double-Edge' for a minimum of 6 damage and a maximum of 104 damage to 'Gliscor'.
'Giga Impact' for a minimum of 7 damage and a maximum of 130 damage to 'Gliscor'.
'Stone Edge' for a minimum of 8 damage and a maximum of 131 damage to 'Gliscor'.
'Icy Wind' for a minimum of 16 damage and a maximum of 137 damage to 'Gliscor'.
'Ice Ball' for a minimum of 17 damage and a maximum of 165 damage to 'Gliscor'.
'Ice Shard' for a minimum of 20 damage and a maximum of 216 damage to 'Gliscor'.
'Ice Beam' for a minimum of 20 damage and a maximum of 217 damage to 'Gliscor'.
'Blizzard' for a minimum of 22 damage and a maximum of 263 damage to 'Gliscor'.
'Ice Fang' for a minimum of 26 damage and a maximum of 344 damage to 'Gliscor'.
'Mountain Gale' for a minimum of 35 damage and a maximum of 524 damage to 'Gliscor'.
$ ./attack_damage 'Darmanitan - Galarian Zen Mode' 'Darmanitan - Galarian Standard Mode' 'Black 2'
In 'Pokemon Black 2', When 'Darmanitan - Galarian Zen Mode' attacks 'Darmanitan - Galarian Standard Mode', 'Darmanitan - Galarian Zen Mode' can use the following moves:
'Snore' for a minimum of 2 damage and a maximum of 24 damage to 'Darmanitan - Galarian Standard Mode'.
'Hidden Power' for a minimum of 3 damage and a maximum of 29 damage to 'Darmanitan - Galarian Standard Mode'.
'Round' for a minimum of 3 damage and a maximum of 29 damage to 'Darmanitan - Galarian Standard Mode'.
'Psychic' for a minimum of 3 damage and a maximum of 43 damage to 'Darmanitan - Galarian Standard Mode'.
'Uproar' for a minimum of 3 damage and a maximum of 43 damage to 'Darmanitan - Galarian Standard Mode'.
'Rage' for a minimum of 4 damage and a maximum of 50 damage to 'Darmanitan - Galarian Standard Mode'.
'Solar Beam' for a minimum of 4 damage and a maximum of 57 damage to 'Darmanitan - Galarian Standard Mode'.
'Hyper Beam' for a minimum of 5 damage and a maximum of 70 damage to 'Darmanitan - Galarian Standard Mode'.
'Incinerate' for a minimum of 9 damage and a maximum of 88 damage to 'Darmanitan - Galarian Standard Mode'.
'Tackle' for a minimum of 6 damage and a maximum of 99 damage to 'Darmanitan - Galarian Standard Mode'.
'Focus Blast' for a minimum of 8 damage and a maximum of 114 damage to 'Darmanitan - Galarian Standard Mode'.
'Payback' for a minimum of 7 damage and a maximum of 124 damage to 'Darmanitan - Galarian Standard Mode'.
'Flamethrower' for a minimum of 11 damage and a maximum of 129 damage to 'Darmanitan - Galarian Standard Mode'.
'Heat Wave' for a minimum of 11 damage and a maximum of 136 damage to 'Darmanitan - Galarian Standard Mode'.
'Bulldoze' for a minimum of 8 damage and a maximum of 148 damage to 'Darmanitan - Galarian Standard Mode'.
'Thief' for a minimum of 8 damage and a maximum of 148 damage to 'Darmanitan - Galarian Standard Mode'.
'Rollout' for a minimum of 10 damage and a maximum of 150 damage to 'Darmanitan - Galarian Standard Mode'.
'Fire Blast' for a minimum of 12 damage and a maximum of 157 damage to 'Darmanitan - Galarian Standard Mode'.
'Facade' for a minimum of 10 damage and a maximum of 173 damage to 'Darmanitan - Galarian Standard Mode'.
'Headbutt' for a minimum of 10 damage and a maximum of 173 damage to 'Darmanitan - Galarian Standard Mode'.
'U-turn' for a minimum of 10 damage and a maximum of 173 damage to 'Darmanitan - Galarian Standard Mode'.
'Overheat' for a minimum of 13 damage and a maximum of 184 damage to 'Darmanitan - Galarian Standard Mode'.
'Dig' for a minimum of 11 damage and a maximum of 197 damage to 'Darmanitan - Galarian Standard Mode'.
'Strength' for a minimum of 11 damage and a maximum of 197 damage to 'Darmanitan - Galarian Standard Mode'.
'Zen Headbutt' for a minimum of 11 damage and a maximum of 197 damage to 'Darmanitan - Galarian Standard Mode'.
'Rock Smash' for a minimum of 12 damage and a maximum of 199 damage to 'Darmanitan - Galarian Standard Mode'.
'Take Down' for a minimum of 12 damage and a maximum of 221 damage to 'Darmanitan - Galarian Standard Mode'.
'Earthquake' for a minimum of 13 damage and a maximum of 246 damage to 'Darmanitan - Galarian Standard Mode'.
'Smack Down' for a minimum of 15 damage and a maximum of 248 damage to 'Darmanitan - Galarian Standard Mode'.
'Thrash' for a minimum of 15 damage and a maximum of 295 damage to 'Darmanitan - Galarian Standard Mode'.
'Rock Tomb' for a minimum of 17 damage and a maximum of 297 damage to 'Darmanitan - Galarian Standard Mode'.
'Giga Impact' for a minimum of 19 damage and a maximum of 368 damage to 'Darmanitan - Galarian Standard Mode'.
'Brick Break' for a minimum of 21 damage and a maximum of 370 damage to 'Darmanitan - Galarian Standard Mode'.
'Rock Slide' for a minimum of 21 damage and a maximum of 370 damage to 'Darmanitan - Galarian Standard Mode'.
'Flame Charge' for a minimum of 22 damage and a maximum of 372 damage to 'Darmanitan - Galarian Standard Mode'.
'Flame Wheel' for a minimum of 26 damage and a maximum of 445 damage to 'Darmanitan - Galarian Standard Mode'.
'Fire Fang' for a minimum of 28 damage and a maximum of 482 damage to 'Darmanitan - Galarian Standard Mode'.
'Hammer Arm' for a minimum of 27 damage and a maximum of 492 damage to 'Darmanitan - Galarian Standard Mode'.
'Stone Edge' for a minimum of 27 damage and a maximum of 492 damage to 'Darmanitan - Galarian Standard Mode'.
'Fire Punch' for a minimum of 31 damage and a maximum of 555 damage to 'Darmanitan - Galarian Standard Mode'.
'Superpower' for a minimum of 31 damage and a maximum of 590 damage to 'Darmanitan - Galarian Standard Mode'.
'Focus Punch' for a minimum of 39 damage and a maximum of 737 damage to 'Darmanitan - Galarian Standard Mode'.
'Flare Blitz' for a minimum of 47 damage and a maximum of 885 damage to 'Darmanitan - Galarian Standard Mode'.