diff --git a/Gen5 Distribution Creator/Common.vb b/Gen5 Distribution Creator/Common.vb index 4af65f0..6632ddd 100644 --- a/Gen5 Distribution Creator/Common.vb +++ b/Gen5 Distribution Creator/Common.vb @@ -1,4 +1,6 @@ -Module Common +Imports System.Text + +Module Common 'Custom MsgBox Public Function MsgB(ByVal mes As String, Optional ByVal numB As Integer = 1, Optional ByVal but1 As String = "OK", Optional ByVal but2 As String = "Cancel", Optional ByVal but3 As String = "", Optional ByVal head As String = "") Dim msg As New CustomMessageBox(mes, numB, but1, but2, but3, head) @@ -77,4 +79,15 @@ Next Return txtTemp.ToString() End Function + Public Function GetString(data As Byte(), offset As Byte, count As Byte) + Return Encoding.Unicode.GetString(data, offset, count).Replace(ChrW(&HFFFF), "").Replace(ChrW(&H0), "") + End Function + Public Function SetString(ByVal value As String, ByVal maxLength As Integer) + If value.Length > maxLength Then value = value.Substring(0, maxLength) + Do While value.Length < maxLength + value &= ChrW(&HFFFF) + Loop + Dim temp As String = value & ChrW(&HFFFF) + Return Encoding.Unicode.GetBytes(temp) + End Function End Module diff --git a/Gen5 Distribution Creator/Database.vb b/Gen5 Distribution Creator/Database.vb index a03a21a..4293d1c 100644 --- a/Gen5 Distribution Creator/Database.vb +++ b/Gen5 Distribution Creator/Database.vb @@ -13,7 +13,7 @@ End Class Public Class Moves Public Property ID As Integer Public Property Name As String - Public Property mType As String + Public Property Move_Type As String End Class Public Class Ability @@ -1328,565 +1328,565 @@ New Items With {.ID = 638, .Name = “Reveal Glass (B2W2)”, .IsBall = False} #Region "Moves" Public Function MoveList() As List(Of Moves) Return New List(Of Moves) From { - New Moves With {.ID = 1, .Name = “Pound”, .mType = “Normal”}, -New Moves With {.ID = 2, .Name = “Karate Chop”, .mType = “Fighting”}, -New Moves With {.ID = 3, .Name = “Double Slap”, .mType = “Normal”}, -New Moves With {.ID = 4, .Name = “Comet Punch”, .mType = “Normal”}, -New Moves With {.ID = 5, .Name = “Mega Punch”, .mType = “Normal”}, -New Moves With {.ID = 6, .Name = “Pay Day”, .mType = “Normal”}, -New Moves With {.ID = 7, .Name = “Fire Punch”, .mType = “Fire”}, -New Moves With {.ID = 8, .Name = “Ice Punch”, .mType = “Ice”}, -New Moves With {.ID = 9, .Name = “Thunder Punch”, .mType = “Electric”}, -New Moves With {.ID = 10, .Name = “Scratch”, .mType = “Normal”}, -New Moves With {.ID = 11, .Name = “Vise Grip”, .mType = “Normal”}, -New Moves With {.ID = 12, .Name = “Guillotine”, .mType = “Normal”}, -New Moves With {.ID = 13, .Name = “Razor Wind”, .mType = “Normal”}, -New Moves With {.ID = 14, .Name = “Swords Dance”, .mType = “Normal”}, -New Moves With {.ID = 15, .Name = “Cut”, .mType = “Normal”}, -New Moves With {.ID = 16, .Name = “Gust”, .mType = “Flying”}, -New Moves With {.ID = 17, .Name = “Wing Attack”, .mType = “Flying”}, -New Moves With {.ID = 18, .Name = “Whirlwind”, .mType = “Normal”}, -New Moves With {.ID = 19, .Name = “Fly”, .mType = “Flying”}, -New Moves With {.ID = 20, .Name = “Bind”, .mType = “Normal”}, -New Moves With {.ID = 21, .Name = “Slam”, .mType = “Normal”}, -New Moves With {.ID = 22, .Name = “Vine Whip”, .mType = “Grass”}, -New Moves With {.ID = 23, .Name = “Stomp”, .mType = “Normal”}, -New Moves With {.ID = 24, .Name = “Double Kick”, .mType = “Fighting”}, -New Moves With {.ID = 25, .Name = “Mega Kick”, .mType = “Normal”}, -New Moves With {.ID = 26, .Name = “Jump Kick”, .mType = “Fighting”}, -New Moves With {.ID = 27, .Name = “Rolling Kick”, .mType = “Fighting”}, -New Moves With {.ID = 28, .Name = “Sand Attack”, .mType = “Ground”}, -New Moves With {.ID = 29, .Name = “Headbutt”, .mType = “Normal”}, -New Moves With {.ID = 30, .Name = “Horn Attack”, .mType = “Normal”}, -New Moves With {.ID = 31, .Name = “Fury Attack”, .mType = “Normal”}, -New Moves With {.ID = 32, .Name = “Horn Drill”, .mType = “Normal”}, -New Moves With {.ID = 33, .Name = “Tackle”, .mType = “Normal”}, -New Moves With {.ID = 34, .Name = “Body Slam”, .mType = “Normal”}, -New Moves With {.ID = 35, .Name = “Wrap”, .mType = “Normal”}, -New Moves With {.ID = 36, .Name = “Take Down”, .mType = “Normal”}, -New Moves With {.ID = 37, .Name = “Thrash”, .mType = “Normal”}, -New Moves With {.ID = 38, .Name = “Double-Edge”, .mType = “Normal”}, -New Moves With {.ID = 39, .Name = “Tail Whip”, .mType = “Normal”}, -New Moves With {.ID = 40, .Name = “Poison Sting”, .mType = “Poison”}, -New Moves With {.ID = 41, .Name = “Twineedle”, .mType = “Bug”}, -New Moves With {.ID = 42, .Name = “Pin Missile”, .mType = “Bug”}, -New Moves With {.ID = 43, .Name = “Leer”, .mType = “Normal”}, -New Moves With {.ID = 44, .Name = “Bite”, .mType = “Dark”}, -New Moves With {.ID = 45, .Name = “Growl”, .mType = “Normal”}, -New Moves With {.ID = 46, .Name = “Roar”, .mType = “Normal”}, -New Moves With {.ID = 47, .Name = “Sing”, .mType = “Normal”}, -New Moves With {.ID = 48, .Name = “Supersonic”, .mType = “Normal”}, -New Moves With {.ID = 49, .Name = “Sonic Boom”, .mType = “Normal”}, -New Moves With {.ID = 50, .Name = “Disable”, .mType = “Normal”}, -New Moves With {.ID = 51, .Name = “Acid”, .mType = “Poison”}, -New Moves With {.ID = 52, .Name = “Ember”, .mType = “Fire”}, -New Moves With {.ID = 53, .Name = “Flamethrower”, .mType = “Fire”}, -New Moves With {.ID = 54, .Name = “Mist”, .mType = “Ice”}, -New Moves With {.ID = 55, .Name = “Water Gun”, .mType = “Water”}, -New Moves With {.ID = 56, .Name = “Hydro Pump”, .mType = “Water”}, -New Moves With {.ID = 57, .Name = “Surf”, .mType = “Water”}, -New Moves With {.ID = 58, .Name = “Ice Beam”, .mType = “Ice”}, -New Moves With {.ID = 59, .Name = “Blizzard”, .mType = “Ice”}, -New Moves With {.ID = 60, .Name = “Psybeam”, .mType = “Psychic”}, -New Moves With {.ID = 61, .Name = “Bubble Beam”, .mType = “Water”}, -New Moves With {.ID = 62, .Name = “Aurora Beam”, .mType = “Ice”}, -New Moves With {.ID = 63, .Name = “Hyper Beam”, .mType = “Normal”}, -New Moves With {.ID = 64, .Name = “Peck”, .mType = “Flying”}, -New Moves With {.ID = 65, .Name = “Drill Peck”, .mType = “Flying”}, -New Moves With {.ID = 66, .Name = “Submission”, .mType = “Fighting”}, -New Moves With {.ID = 67, .Name = “Low Kick”, .mType = “Fighting”}, -New Moves With {.ID = 68, .Name = “Counter”, .mType = “Fighting”}, -New Moves With {.ID = 69, .Name = “Seismic Toss”, .mType = “Fighting”}, -New Moves With {.ID = 70, .Name = “Strength”, .mType = “Normal”}, -New Moves With {.ID = 71, .Name = “Absorb”, .mType = “Grass”}, -New Moves With {.ID = 72, .Name = “Mega Drain”, .mType = “Grass”}, -New Moves With {.ID = 73, .Name = “Leech Seed”, .mType = “Grass”}, -New Moves With {.ID = 74, .Name = “Growth”, .mType = “Normal”}, -New Moves With {.ID = 75, .Name = “Razor Leaf”, .mType = “Grass”}, -New Moves With {.ID = 76, .Name = “Solar Beam”, .mType = “Grass”}, -New Moves With {.ID = 77, .Name = “Poison Powder”, .mType = “Poison”}, -New Moves With {.ID = 78, .Name = “Stun Spore”, .mType = “Grass”}, -New Moves With {.ID = 79, .Name = “Sleep Powder”, .mType = “Grass”}, -New Moves With {.ID = 80, .Name = “Petal Dance”, .mType = “Grass”}, -New Moves With {.ID = 81, .Name = “String Shot”, .mType = “Bug”}, -New Moves With {.ID = 82, .Name = “Dragon Rage”, .mType = “Dragon”}, -New Moves With {.ID = 83, .Name = “Fire Spin”, .mType = “Fire”}, -New Moves With {.ID = 84, .Name = “Thunder Shock”, .mType = “Electric”}, -New Moves With {.ID = 85, .Name = “Thunderbolt”, .mType = “Electric”}, -New Moves With {.ID = 86, .Name = “Thunder Wave”, .mType = “Electric”}, -New Moves With {.ID = 87, .Name = “Thunder”, .mType = “Electric”}, -New Moves With {.ID = 88, .Name = “Rock Throw”, .mType = “Rock”}, -New Moves With {.ID = 89, .Name = “Earthquake”, .mType = “Ground”}, -New Moves With {.ID = 90, .Name = “Fissure”, .mType = “Ground”}, -New Moves With {.ID = 91, .Name = “Dig”, .mType = “Ground”}, -New Moves With {.ID = 92, .Name = “Toxic”, .mType = “Poison”}, -New Moves With {.ID = 93, .Name = “Confusion”, .mType = “Psychic”}, -New Moves With {.ID = 94, .Name = “Psychic”, .mType = “Psychic”}, -New Moves With {.ID = 95, .Name = “Hypnosis”, .mType = “Psychic”}, -New Moves With {.ID = 96, .Name = “Meditate”, .mType = “Psychic”}, -New Moves With {.ID = 97, .Name = “Agility”, .mType = “Psychic”}, -New Moves With {.ID = 98, .Name = “Quick Attack”, .mType = “Normal”}, -New Moves With {.ID = 99, .Name = “Rage”, .mType = “Normal”}, -New Moves With {.ID = 100, .Name = “Teleport”, .mType = “Psychic”}, -New Moves With {.ID = 101, .Name = “Night Shade”, .mType = “Ghost”}, -New Moves With {.ID = 102, .Name = “Mimic”, .mType = “Normal”}, -New Moves With {.ID = 103, .Name = “Screech”, .mType = “Normal”}, -New Moves With {.ID = 104, .Name = “Double Team”, .mType = “Normal”}, -New Moves With {.ID = 105, .Name = “Recover”, .mType = “Normal”}, -New Moves With {.ID = 106, .Name = “Harden”, .mType = “Normal”}, -New Moves With {.ID = 107, .Name = “Minimize”, .mType = “Normal”}, -New Moves With {.ID = 108, .Name = “Smokescreen”, .mType = “Normal”}, -New Moves With {.ID = 109, .Name = “Confuse Ray”, .mType = “Ghost”}, -New Moves With {.ID = 110, .Name = “Withdraw”, .mType = “Water”}, -New Moves With {.ID = 111, .Name = “Defense Curl”, .mType = “Normal”}, -New Moves With {.ID = 112, .Name = “Barrier”, .mType = “Psychic”}, -New Moves With {.ID = 113, .Name = “Light Screen”, .mType = “Psychic”}, -New Moves With {.ID = 114, .Name = “Haze”, .mType = “Ice”}, -New Moves With {.ID = 115, .Name = “Reflect”, .mType = “Psychic”}, -New Moves With {.ID = 116, .Name = “Focus Energy”, .mType = “Normal”}, -New Moves With {.ID = 117, .Name = “Bide”, .mType = “Normal”}, -New Moves With {.ID = 118, .Name = “Metronome”, .mType = “Normal”}, -New Moves With {.ID = 119, .Name = “Mirror Move”, .mType = “Flying”}, -New Moves With {.ID = 120, .Name = “Self-Destruct”, .mType = “Normal”}, -New Moves With {.ID = 121, .Name = “Egg Bomb”, .mType = “Normal”}, -New Moves With {.ID = 122, .Name = “Lick”, .mType = “Ghost”}, -New Moves With {.ID = 123, .Name = “Smog”, .mType = “Poison”}, -New Moves With {.ID = 124, .Name = “Sludge”, .mType = “Poison”}, -New Moves With {.ID = 125, .Name = “Bone Club”, .mType = “Ground”}, -New Moves With {.ID = 126, .Name = “Fire Blast”, .mType = “Fire”}, -New Moves With {.ID = 127, .Name = “Waterfall”, .mType = “Water”}, -New Moves With {.ID = 128, .Name = “Clamp”, .mType = “Water”}, -New Moves With {.ID = 129, .Name = “Swift”, .mType = “Normal”}, -New Moves With {.ID = 130, .Name = “Skull Bash”, .mType = “Normal”}, -New Moves With {.ID = 131, .Name = “Spike Cannon”, .mType = “Normal”}, -New Moves With {.ID = 132, .Name = “Constrict”, .mType = “Normal”}, -New Moves With {.ID = 133, .Name = “Amnesia”, .mType = “Psychic”}, -New Moves With {.ID = 134, .Name = “Kinesis”, .mType = “Psychic”}, -New Moves With {.ID = 135, .Name = “Soft-Boiled”, .mType = “Normal”}, -New Moves With {.ID = 136, .Name = “High Jump Kick”, .mType = “Fighting”}, -New Moves With {.ID = 137, .Name = “Glare”, .mType = “Normal”}, -New Moves With {.ID = 138, .Name = “Dream Eater”, .mType = “Psychic”}, -New Moves With {.ID = 139, .Name = “Poison Gas”, .mType = “Poison”}, -New Moves With {.ID = 140, .Name = “Barrage”, .mType = “Normal”}, -New Moves With {.ID = 141, .Name = “Leech Life”, .mType = “Bug”}, -New Moves With {.ID = 142, .Name = “Lovely Kiss”, .mType = “Normal”}, -New Moves With {.ID = 143, .Name = “Sky Attack”, .mType = “Flying”}, -New Moves With {.ID = 144, .Name = “Transform”, .mType = “Normal”}, -New Moves With {.ID = 145, .Name = “Bubble”, .mType = “Water”}, -New Moves With {.ID = 146, .Name = “Dizzy Punch”, .mType = “Normal”}, -New Moves With {.ID = 147, .Name = “Spore”, .mType = “Grass”}, -New Moves With {.ID = 148, .Name = “Flash”, .mType = “Normal”}, -New Moves With {.ID = 149, .Name = “Psywave”, .mType = “Psychic”}, -New Moves With {.ID = 150, .Name = “Splash”, .mType = “Normal”}, -New Moves With {.ID = 151, .Name = “Acid Armor”, .mType = “Poison”}, -New Moves With {.ID = 152, .Name = “Crabhammer”, .mType = “Water”}, -New Moves With {.ID = 153, .Name = “Explosion”, .mType = “Normal”}, -New Moves With {.ID = 154, .Name = “Fury Swipes”, .mType = “Normal”}, -New Moves With {.ID = 155, .Name = “Bonemerang”, .mType = “Ground”}, -New Moves With {.ID = 156, .Name = “Rest”, .mType = “Psychic”}, -New Moves With {.ID = 157, .Name = “Rock Slide”, .mType = “Rock”}, -New Moves With {.ID = 158, .Name = “Hyper Fang”, .mType = “Normal”}, -New Moves With {.ID = 159, .Name = “Sharpen”, .mType = “Normal”}, -New Moves With {.ID = 160, .Name = “Conversion”, .mType = “Normal”}, -New Moves With {.ID = 161, .Name = “Tri Attack”, .mType = “Normal”}, -New Moves With {.ID = 162, .Name = “Super Fang”, .mType = “Normal”}, -New Moves With {.ID = 163, .Name = “Slash”, .mType = “Normal”}, -New Moves With {.ID = 164, .Name = “Substitute”, .mType = “Normal”}, -New Moves With {.ID = 165, .Name = “Struggle”, .mType = “Normal”}, -New Moves With {.ID = 166, .Name = “Sketch”, .mType = “Normal”}, -New Moves With {.ID = 167, .Name = “Triple Kick”, .mType = “Fighting”}, -New Moves With {.ID = 168, .Name = “Thief”, .mType = “Dark”}, -New Moves With {.ID = 169, .Name = “Spider Web”, .mType = “Bug”}, -New Moves With {.ID = 170, .Name = “Mind Reader”, .mType = “Normal”}, -New Moves With {.ID = 171, .Name = “Nightmare”, .mType = “Ghost”}, -New Moves With {.ID = 172, .Name = “Flame Wheel”, .mType = “Fire”}, -New Moves With {.ID = 173, .Name = “Snore”, .mType = “Normal”}, -New Moves With {.ID = 174, .Name = “Curse”, .mType = “???”}, -New Moves With {.ID = 175, .Name = “Flail”, .mType = “Normal”}, -New Moves With {.ID = 176, .Name = “Conversion 2”, .mType = “Normal”}, -New Moves With {.ID = 177, .Name = “Aeroblast”, .mType = “Flying”}, -New Moves With {.ID = 178, .Name = “Cotton Spore”, .mType = “Grass”}, -New Moves With {.ID = 179, .Name = “Reversal”, .mType = “Fighting”}, -New Moves With {.ID = 180, .Name = “Spite”, .mType = “Ghost”}, -New Moves With {.ID = 181, .Name = “Powder Snow”, .mType = “Ice”}, -New Moves With {.ID = 182, .Name = “Protect”, .mType = “Normal”}, -New Moves With {.ID = 183, .Name = “Mach Punch”, .mType = “Fighting”}, -New Moves With {.ID = 184, .Name = “Scary Face”, .mType = “Normal”}, -New Moves With {.ID = 185, .Name = “Feint Attack”, .mType = “Dark”}, -New Moves With {.ID = 186, .Name = “Sweet Kiss”, .mType = “Normal”}, -New Moves With {.ID = 187, .Name = “Belly Drum”, .mType = “Normal”}, -New Moves With {.ID = 188, .Name = “Sludge Bomb”, .mType = “Poison”}, -New Moves With {.ID = 189, .Name = “Mud-Slap”, .mType = “Ground”}, -New Moves With {.ID = 190, .Name = “Octazooka”, .mType = “Water”}, -New Moves With {.ID = 191, .Name = “Spikes”, .mType = “Ground”}, -New Moves With {.ID = 192, .Name = “Zap Cannon”, .mType = “Electric”}, -New Moves With {.ID = 193, .Name = “Foresight”, .mType = “Normal”}, -New Moves With {.ID = 194, .Name = “Destiny Bond”, .mType = “Ghost”}, -New Moves With {.ID = 195, .Name = “Perish Song”, .mType = “Normal”}, -New Moves With {.ID = 196, .Name = “Icy Wind”, .mType = “Ice”}, -New Moves With {.ID = 197, .Name = “Detect”, .mType = “Fighting”}, -New Moves With {.ID = 198, .Name = “Bone Rush”, .mType = “Ground”}, -New Moves With {.ID = 199, .Name = “Lock-On”, .mType = “Normal”}, -New Moves With {.ID = 200, .Name = “Outrage”, .mType = “Dragon”}, -New Moves With {.ID = 201, .Name = “Sandstorm”, .mType = “Rock”}, -New Moves With {.ID = 202, .Name = “Giga Drain”, .mType = “Grass”}, -New Moves With {.ID = 203, .Name = “Endure”, .mType = “Normal”}, -New Moves With {.ID = 204, .Name = “Charm”, .mType = “Normal”}, -New Moves With {.ID = 205, .Name = “Rollout”, .mType = “Rock”}, -New Moves With {.ID = 206, .Name = “False Swipe”, .mType = “Normal”}, -New Moves With {.ID = 207, .Name = “Swagger”, .mType = “Normal”}, -New Moves With {.ID = 208, .Name = “Milk Drink”, .mType = “Normal”}, -New Moves With {.ID = 209, .Name = “Spark”, .mType = “Electric”}, -New Moves With {.ID = 210, .Name = “Fury Cutter”, .mType = “Bug”}, -New Moves With {.ID = 211, .Name = “Steel Wing”, .mType = “Steel”}, -New Moves With {.ID = 212, .Name = “Mean Look”, .mType = “Normal”}, -New Moves With {.ID = 213, .Name = “Attract”, .mType = “Normal”}, -New Moves With {.ID = 214, .Name = “Sleep Talk”, .mType = “Normal”}, -New Moves With {.ID = 215, .Name = “Heal Bell”, .mType = “Normal”}, -New Moves With {.ID = 216, .Name = “Return”, .mType = “Normal”}, -New Moves With {.ID = 217, .Name = “Present”, .mType = “Normal”}, -New Moves With {.ID = 218, .Name = “Frustration”, .mType = “Normal”}, -New Moves With {.ID = 219, .Name = “Safeguard”, .mType = “Normal”}, -New Moves With {.ID = 220, .Name = “Pain Split”, .mType = “Normal”}, -New Moves With {.ID = 221, .Name = “Sacred Fire”, .mType = “Fire”}, -New Moves With {.ID = 222, .Name = “Magnitude”, .mType = “Ground”}, -New Moves With {.ID = 223, .Name = “Dynamic Punch”, .mType = “Fighting”}, -New Moves With {.ID = 224, .Name = “Megahorn”, .mType = “Bug”}, -New Moves With {.ID = 225, .Name = “Dragon Breath”, .mType = “Dragon”}, -New Moves With {.ID = 226, .Name = “Baton Pass”, .mType = “Normal”}, -New Moves With {.ID = 227, .Name = “Encore”, .mType = “Normal”}, -New Moves With {.ID = 228, .Name = “Pursuit”, .mType = “Dark”}, -New Moves With {.ID = 229, .Name = “Rapid Spin”, .mType = “Normal”}, -New Moves With {.ID = 230, .Name = “Sweet Scent”, .mType = “Normal”}, -New Moves With {.ID = 231, .Name = “Iron Tail”, .mType = “Steel”}, -New Moves With {.ID = 232, .Name = “Metal Claw”, .mType = “Steel”}, -New Moves With {.ID = 233, .Name = “Vital Throw”, .mType = “Fighting”}, -New Moves With {.ID = 234, .Name = “Morning Sun”, .mType = “Normal”}, -New Moves With {.ID = 235, .Name = “Synthesis”, .mType = “Grass”}, -New Moves With {.ID = 236, .Name = “Moonlight”, .mType = “Normal”}, -New Moves With {.ID = 237, .Name = “Hidden Power”, .mType = “Normal”}, -New Moves With {.ID = 238, .Name = “Cross Chop”, .mType = “Fighting”}, -New Moves With {.ID = 239, .Name = “Twister”, .mType = “Dragon”}, -New Moves With {.ID = 240, .Name = “Rain Dance”, .mType = “Water”}, -New Moves With {.ID = 241, .Name = “Sunny Day”, .mType = “Fire”}, -New Moves With {.ID = 242, .Name = “Crunch”, .mType = “Dark”}, -New Moves With {.ID = 243, .Name = “Mirror Coat”, .mType = “Psychic”}, -New Moves With {.ID = 244, .Name = “Psych Up”, .mType = “Normal”}, -New Moves With {.ID = 245, .Name = “Extreme Speed”, .mType = “Normal”}, -New Moves With {.ID = 246, .Name = “Ancient Power”, .mType = “Rock”}, -New Moves With {.ID = 247, .Name = “Shadow Ball”, .mType = “Ghost”}, -New Moves With {.ID = 248, .Name = “Future Sight”, .mType = “Psychic”}, -New Moves With {.ID = 249, .Name = “Rock Smash”, .mType = “Fighting”}, -New Moves With {.ID = 250, .Name = “Whirlpool”, .mType = “Water”}, -New Moves With {.ID = 251, .Name = “Beat Up”, .mType = “Dark”}, -New Moves With {.ID = 252, .Name = “Fake Out”, .mType = “Normal”}, -New Moves With {.ID = 253, .Name = “Uproar”, .mType = “Normal”}, -New Moves With {.ID = 254, .Name = “Stockpile”, .mType = “Normal”}, -New Moves With {.ID = 255, .Name = “Spit Up”, .mType = “Normal”}, -New Moves With {.ID = 256, .Name = “Swallow”, .mType = “Normal”}, -New Moves With {.ID = 257, .Name = “Heat Wave”, .mType = “Fire”}, -New Moves With {.ID = 258, .Name = “Hail”, .mType = “Ice”}, -New Moves With {.ID = 259, .Name = “Torment”, .mType = “Dark”}, -New Moves With {.ID = 260, .Name = “Flatter”, .mType = “Dark”}, -New Moves With {.ID = 261, .Name = “Will-O-Wisp”, .mType = “Fire”}, -New Moves With {.ID = 262, .Name = “Memento”, .mType = “Dark”}, -New Moves With {.ID = 263, .Name = “Facade”, .mType = “Normal”}, -New Moves With {.ID = 264, .Name = “Focus Punch”, .mType = “Fighting”}, -New Moves With {.ID = 265, .Name = “Smelling Salts”, .mType = “Normal”}, -New Moves With {.ID = 266, .Name = “Follow Me”, .mType = “Normal”}, -New Moves With {.ID = 267, .Name = “Nature Power”, .mType = “Normal”}, -New Moves With {.ID = 268, .Name = “Charge”, .mType = “Electric”}, -New Moves With {.ID = 269, .Name = “Taunt”, .mType = “Dark”}, -New Moves With {.ID = 270, .Name = “Helping Hand”, .mType = “Normal”}, -New Moves With {.ID = 271, .Name = “Trick”, .mType = “Psychic”}, -New Moves With {.ID = 272, .Name = “Role Play”, .mType = “Psychic”}, -New Moves With {.ID = 273, .Name = “Wish”, .mType = “Normal”}, -New Moves With {.ID = 274, .Name = “Assist”, .mType = “Normal”}, -New Moves With {.ID = 275, .Name = “Ingrain”, .mType = “Grass”}, -New Moves With {.ID = 276, .Name = “Superpower”, .mType = “Fighting”}, -New Moves With {.ID = 277, .Name = “Magic Coat”, .mType = “Psychic”}, -New Moves With {.ID = 278, .Name = “Recycle”, .mType = “Normal”}, -New Moves With {.ID = 279, .Name = “Revenge”, .mType = “Fighting”}, -New Moves With {.ID = 280, .Name = “Brick Break”, .mType = “Fighting”}, -New Moves With {.ID = 281, .Name = “Yawn”, .mType = “Normal”}, -New Moves With {.ID = 282, .Name = “Knock Off”, .mType = “Dark”}, -New Moves With {.ID = 283, .Name = “Endeavor”, .mType = “Normal”}, -New Moves With {.ID = 284, .Name = “Eruption”, .mType = “Fire”}, -New Moves With {.ID = 285, .Name = “Skill Swap”, .mType = “Psychic”}, -New Moves With {.ID = 286, .Name = “Imprison”, .mType = “Psychic”}, -New Moves With {.ID = 287, .Name = “Refresh”, .mType = “Normal”}, -New Moves With {.ID = 288, .Name = “Grudge”, .mType = “Ghost”}, -New Moves With {.ID = 289, .Name = “Snatch”, .mType = “Dark”}, -New Moves With {.ID = 290, .Name = “Secret Power”, .mType = “Normal”}, -New Moves With {.ID = 291, .Name = “Dive”, .mType = “Water”}, -New Moves With {.ID = 292, .Name = “Arm Thrust”, .mType = “Fighting”}, -New Moves With {.ID = 293, .Name = “Camouflage”, .mType = “Normal”}, -New Moves With {.ID = 294, .Name = “Tail Glow”, .mType = “Bug”}, -New Moves With {.ID = 295, .Name = “Luster Purge”, .mType = “Psychic”}, -New Moves With {.ID = 296, .Name = “Mist Ball”, .mType = “Psychic”}, -New Moves With {.ID = 297, .Name = “Feather Dance”, .mType = “Flying”}, -New Moves With {.ID = 298, .Name = “Teeter Dance”, .mType = “Normal”}, -New Moves With {.ID = 299, .Name = “Blaze Kick”, .mType = “Fire”}, -New Moves With {.ID = 300, .Name = “Mud Sport”, .mType = “Ground”}, -New Moves With {.ID = 301, .Name = “Ice Ball”, .mType = “Ice”}, -New Moves With {.ID = 302, .Name = “Needle Arm”, .mType = “Grass”}, -New Moves With {.ID = 303, .Name = “Slack Off”, .mType = “Normal”}, -New Moves With {.ID = 304, .Name = “Hyper Voice”, .mType = “Normal”}, -New Moves With {.ID = 305, .Name = “Poison Fang”, .mType = “Poison”}, -New Moves With {.ID = 306, .Name = “Crush Claw”, .mType = “Normal”}, -New Moves With {.ID = 307, .Name = “Blast Burn”, .mType = “Fire”}, -New Moves With {.ID = 308, .Name = “Hydro Cannon”, .mType = “Water”}, -New Moves With {.ID = 309, .Name = “Meteor Mash”, .mType = “Steel”}, -New Moves With {.ID = 310, .Name = “Astonish”, .mType = “Ghost”}, -New Moves With {.ID = 311, .Name = “Weather Ball”, .mType = “Normal”}, -New Moves With {.ID = 312, .Name = “Aromatherapy”, .mType = “Grass”}, -New Moves With {.ID = 313, .Name = “Fake Tears”, .mType = “Dark”}, -New Moves With {.ID = 314, .Name = “Air Cutter”, .mType = “Flying”}, -New Moves With {.ID = 315, .Name = “Overheat”, .mType = “Fire”}, -New Moves With {.ID = 316, .Name = “Odor Sleuth”, .mType = “Normal”}, -New Moves With {.ID = 317, .Name = “Rock Tomb”, .mType = “Rock”}, -New Moves With {.ID = 318, .Name = “Silver Wind”, .mType = “Bug”}, -New Moves With {.ID = 319, .Name = “Metal Sound”, .mType = “Steel”}, -New Moves With {.ID = 320, .Name = “Grass Whistle”, .mType = “Grass”}, -New Moves With {.ID = 321, .Name = “Tickle”, .mType = “Normal”}, -New Moves With {.ID = 322, .Name = “Cosmic Power”, .mType = “Psychic”}, -New Moves With {.ID = 323, .Name = “Water Spout”, .mType = “Water”}, -New Moves With {.ID = 324, .Name = “Signal Beam”, .mType = “Bug”}, -New Moves With {.ID = 325, .Name = “Shadow Punch”, .mType = “Ghost”}, -New Moves With {.ID = 326, .Name = “Extrasensory”, .mType = “Psychic”}, -New Moves With {.ID = 327, .Name = “Sky Uppercut”, .mType = “Fighting”}, -New Moves With {.ID = 328, .Name = “Sand Tomb”, .mType = “Ground”}, -New Moves With {.ID = 329, .Name = “Sheer Cold”, .mType = “Ice”}, -New Moves With {.ID = 330, .Name = “Muddy Water”, .mType = “Water”}, -New Moves With {.ID = 331, .Name = “Bullet Seed”, .mType = “Grass”}, -New Moves With {.ID = 332, .Name = “Aerial Ace”, .mType = “Flying”}, -New Moves With {.ID = 333, .Name = “Icicle Spear”, .mType = “Ice”}, -New Moves With {.ID = 334, .Name = “Iron Defense”, .mType = “Steel”}, -New Moves With {.ID = 335, .Name = “Block”, .mType = “Normal”}, -New Moves With {.ID = 336, .Name = “Howl”, .mType = “Normal”}, -New Moves With {.ID = 337, .Name = “Dragon Claw”, .mType = “Dragon”}, -New Moves With {.ID = 338, .Name = “Frenzy Plant”, .mType = “Grass”}, -New Moves With {.ID = 339, .Name = “Bulk Up”, .mType = “Fighting”}, -New Moves With {.ID = 340, .Name = “Bounce”, .mType = “Flying”}, -New Moves With {.ID = 341, .Name = “Mud Shot”, .mType = “Ground”}, -New Moves With {.ID = 342, .Name = “Poison Tail”, .mType = “Poison”}, -New Moves With {.ID = 343, .Name = “Covet”, .mType = “Normal”}, -New Moves With {.ID = 344, .Name = “Volt Tackle”, .mType = “Electric”}, -New Moves With {.ID = 345, .Name = “Magical Leaf”, .mType = “Grass”}, -New Moves With {.ID = 346, .Name = “Water Sport”, .mType = “Water”}, -New Moves With {.ID = 347, .Name = “Calm Mind”, .mType = “Psychic”}, -New Moves With {.ID = 348, .Name = “Leaf Blade”, .mType = “Grass”}, -New Moves With {.ID = 349, .Name = “Dragon Dance”, .mType = “Dragon”}, -New Moves With {.ID = 350, .Name = “Rock Blast”, .mType = “Rock”}, -New Moves With {.ID = 351, .Name = “Shock Wave”, .mType = “Electric”}, -New Moves With {.ID = 352, .Name = “Water Pulse”, .mType = “Water”}, -New Moves With {.ID = 353, .Name = “Doom Desire”, .mType = “Steel”}, -New Moves With {.ID = 354, .Name = “Psycho Boost”, .mType = “Psychic”}, -New Moves With {.ID = 355, .Name = “Roost”, .mType = “Flying”}, -New Moves With {.ID = 356, .Name = “Gravity”, .mType = “Psychic”}, -New Moves With {.ID = 357, .Name = “Miracle Eye”, .mType = “Psychic”}, -New Moves With {.ID = 358, .Name = “Wake-Up Slap”, .mType = “Fighting”}, -New Moves With {.ID = 359, .Name = “Hammer Arm”, .mType = “Fighting”}, -New Moves With {.ID = 360, .Name = “Gyro Ball”, .mType = “Steel”}, -New Moves With {.ID = 361, .Name = “Healing Wish”, .mType = “Psychic”}, -New Moves With {.ID = 362, .Name = “Brine”, .mType = “Water”}, -New Moves With {.ID = 363, .Name = “Natural Gift”, .mType = “Normal”}, -New Moves With {.ID = 364, .Name = “Feint”, .mType = “Normal”}, -New Moves With {.ID = 365, .Name = “Pluck”, .mType = “Flying”}, -New Moves With {.ID = 366, .Name = “Tailwind”, .mType = “Flying”}, -New Moves With {.ID = 367, .Name = “Acupressure”, .mType = “Normal”}, -New Moves With {.ID = 368, .Name = “Metal Burst”, .mType = “Steel”}, -New Moves With {.ID = 369, .Name = “U-turn”, .mType = “Bug”}, -New Moves With {.ID = 370, .Name = “Close Combat”, .mType = “Fighting”}, -New Moves With {.ID = 371, .Name = “Payback”, .mType = “Dark”}, -New Moves With {.ID = 372, .Name = “Assurance”, .mType = “Dark”}, -New Moves With {.ID = 373, .Name = “Embargo”, .mType = “Dark”}, -New Moves With {.ID = 374, .Name = “Fling”, .mType = “Dark”}, -New Moves With {.ID = 375, .Name = “Psycho Shift”, .mType = “Psychic”}, -New Moves With {.ID = 376, .Name = “Trump Card”, .mType = “Normal”}, -New Moves With {.ID = 377, .Name = “Heal Block”, .mType = “Psychic”}, -New Moves With {.ID = 378, .Name = “Wring Out”, .mType = “Normal”}, -New Moves With {.ID = 379, .Name = “Power Trick”, .mType = “Psychic”}, -New Moves With {.ID = 380, .Name = “Gastro Acid”, .mType = “Poison”}, -New Moves With {.ID = 381, .Name = “Lucky Chant”, .mType = “Normal”}, -New Moves With {.ID = 382, .Name = “Me First”, .mType = “Normal”}, -New Moves With {.ID = 383, .Name = “Copycat”, .mType = “Normal”}, -New Moves With {.ID = 384, .Name = “Power Swap”, .mType = “Psychic”}, -New Moves With {.ID = 385, .Name = “Guard Swap”, .mType = “Psychic”}, -New Moves With {.ID = 386, .Name = “Punishment”, .mType = “Dark”}, -New Moves With {.ID = 387, .Name = “Last Resort”, .mType = “Normal”}, -New Moves With {.ID = 388, .Name = “Worry Seed”, .mType = “Grass”}, -New Moves With {.ID = 389, .Name = “Sucker Punch”, .mType = “Dark”}, -New Moves With {.ID = 390, .Name = “Toxic Spikes”, .mType = “Poison”}, -New Moves With {.ID = 391, .Name = “Heart Swap”, .mType = “Psychic”}, -New Moves With {.ID = 392, .Name = “Aqua Ring”, .mType = “Water”}, -New Moves With {.ID = 393, .Name = “Magnet Rise”, .mType = “Electric”}, -New Moves With {.ID = 394, .Name = “Flare Blitz”, .mType = “Fire”}, -New Moves With {.ID = 395, .Name = “Force Palm”, .mType = “Fighting”}, -New Moves With {.ID = 396, .Name = “Aura Sphere”, .mType = “Fighting”}, -New Moves With {.ID = 397, .Name = “Rock Polish”, .mType = “Rock”}, -New Moves With {.ID = 398, .Name = “Poison Jab”, .mType = “Poison”}, -New Moves With {.ID = 399, .Name = “Dark Pulse”, .mType = “Dark”}, -New Moves With {.ID = 400, .Name = “Night Slash”, .mType = “Dark”}, -New Moves With {.ID = 401, .Name = “Aqua Tail”, .mType = “Water”}, -New Moves With {.ID = 402, .Name = “Seed Bomb”, .mType = “Grass”}, -New Moves With {.ID = 403, .Name = “Air Slash”, .mType = “Flying”}, -New Moves With {.ID = 404, .Name = “X-Scissor”, .mType = “Bug”}, -New Moves With {.ID = 405, .Name = “Bug Buzz”, .mType = “Bug”}, -New Moves With {.ID = 406, .Name = “Dragon Pulse”, .mType = “Dragon”}, -New Moves With {.ID = 407, .Name = “Dragon Rush”, .mType = “Dragon”}, -New Moves With {.ID = 408, .Name = “Power Gem”, .mType = “Rock”}, -New Moves With {.ID = 409, .Name = “Drain Punch”, .mType = “Fighting”}, -New Moves With {.ID = 410, .Name = “Vacuum Wave”, .mType = “Fighting”}, -New Moves With {.ID = 411, .Name = “Focus Blast”, .mType = “Fighting”}, -New Moves With {.ID = 412, .Name = “Energy Ball”, .mType = “Grass”}, -New Moves With {.ID = 413, .Name = “Brave Bird”, .mType = “Flying”}, -New Moves With {.ID = 414, .Name = “Earth Power”, .mType = “Ground”}, -New Moves With {.ID = 415, .Name = “Switcheroo”, .mType = “Dark”}, -New Moves With {.ID = 416, .Name = “Giga Impact”, .mType = “Normal”}, -New Moves With {.ID = 417, .Name = “Nasty Plot”, .mType = “Dark”}, -New Moves With {.ID = 418, .Name = “Bullet Punch”, .mType = “Steel”}, -New Moves With {.ID = 419, .Name = “Avalanche”, .mType = “Ice”}, -New Moves With {.ID = 420, .Name = “Ice Shard”, .mType = “Ice”}, -New Moves With {.ID = 421, .Name = “Shadow Claw”, .mType = “Ghost”}, -New Moves With {.ID = 422, .Name = “Thunder Fang”, .mType = “Electric”}, -New Moves With {.ID = 423, .Name = “Ice Fang”, .mType = “Ice”}, -New Moves With {.ID = 424, .Name = “Fire Fang”, .mType = “Fire”}, -New Moves With {.ID = 425, .Name = “Shadow Sneak”, .mType = “Ghost”}, -New Moves With {.ID = 426, .Name = “Mud Bomb”, .mType = “Ground”}, -New Moves With {.ID = 427, .Name = “Psycho Cut”, .mType = “Psychic”}, -New Moves With {.ID = 428, .Name = “Zen Headbutt”, .mType = “Psychic”}, -New Moves With {.ID = 429, .Name = “Mirror Shot”, .mType = “Steel”}, -New Moves With {.ID = 430, .Name = “Flash Cannon”, .mType = “Steel”}, -New Moves With {.ID = 431, .Name = “Rock Climb”, .mType = “Normal”}, -New Moves With {.ID = 432, .Name = “Defog”, .mType = “Flying”}, -New Moves With {.ID = 433, .Name = “Trick Room”, .mType = “Psychic”}, -New Moves With {.ID = 434, .Name = “Draco Meteor”, .mType = “Dragon”}, -New Moves With {.ID = 435, .Name = “Discharge”, .mType = “Electric”}, -New Moves With {.ID = 436, .Name = “Lava Plume”, .mType = “Fire”}, -New Moves With {.ID = 437, .Name = “Leaf Storm”, .mType = “Grass”}, -New Moves With {.ID = 438, .Name = “Power Whip”, .mType = “Grass”}, -New Moves With {.ID = 439, .Name = “Rock Wrecker”, .mType = “Rock”}, -New Moves With {.ID = 440, .Name = “Cross Poison”, .mType = “Poison”}, -New Moves With {.ID = 441, .Name = “Gunk Shot”, .mType = “Poison”}, -New Moves With {.ID = 442, .Name = “Iron Head”, .mType = “Steel”}, -New Moves With {.ID = 443, .Name = “Magnet Bomb”, .mType = “Steel”}, -New Moves With {.ID = 444, .Name = “Stone Edge”, .mType = “Rock”}, -New Moves With {.ID = 445, .Name = “Captivate”, .mType = “Normal”}, -New Moves With {.ID = 446, .Name = “Stealth Rock”, .mType = “Rock”}, -New Moves With {.ID = 447, .Name = “Grass Knot”, .mType = “Grass”}, -New Moves With {.ID = 448, .Name = “Chatter”, .mType = “Flying”}, -New Moves With {.ID = 449, .Name = “Judgment”, .mType = “Normal”}, -New Moves With {.ID = 450, .Name = “Bug Bite”, .mType = “Bug”}, -New Moves With {.ID = 451, .Name = “Charge Beam”, .mType = “Electric”}, -New Moves With {.ID = 452, .Name = “Wood Hammer”, .mType = “Grass”}, -New Moves With {.ID = 453, .Name = “Aqua Jet”, .mType = “Water”}, -New Moves With {.ID = 454, .Name = “Attack Order”, .mType = “Bug”}, -New Moves With {.ID = 455, .Name = “Defend Order”, .mType = “Bug”}, -New Moves With {.ID = 456, .Name = “Heal Order”, .mType = “Bug”}, -New Moves With {.ID = 457, .Name = “Head Smash”, .mType = “Rock”}, -New Moves With {.ID = 458, .Name = “Double Hit”, .mType = “Normal”}, -New Moves With {.ID = 459, .Name = “Roar of Time”, .mType = “Dragon”}, -New Moves With {.ID = 460, .Name = “Spacial Rend”, .mType = “Dragon”}, -New Moves With {.ID = 461, .Name = “Lunar Dance”, .mType = “Psychic”}, -New Moves With {.ID = 462, .Name = “Crush Grip”, .mType = “Normal”}, -New Moves With {.ID = 463, .Name = “Magma Storm”, .mType = “Fire”}, -New Moves With {.ID = 464, .Name = “Dark Void”, .mType = “Dark”}, -New Moves With {.ID = 465, .Name = “Seed Flare”, .mType = “Grass”}, -New Moves With {.ID = 466, .Name = “Ominous Wind”, .mType = “Ghost”}, -New Moves With {.ID = 467, .Name = “Shadow Force”, .mType = “Ghost”}, -New Moves With {.ID = 468, .Name = “Hone Claws”, .mType = “Dark”}, -New Moves With {.ID = 469, .Name = “Wide Guard”, .mType = “Rock”}, -New Moves With {.ID = 470, .Name = “Guard Split”, .mType = “Psychic”}, -New Moves With {.ID = 471, .Name = “Power Split”, .mType = “Psychic”}, -New Moves With {.ID = 472, .Name = “Wonder Room”, .mType = “Psychic”}, -New Moves With {.ID = 473, .Name = “Psyshock”, .mType = “Psychic”}, -New Moves With {.ID = 474, .Name = “Venoshock”, .mType = “Poison”}, -New Moves With {.ID = 475, .Name = “Autotomize”, .mType = “Steel”}, -New Moves With {.ID = 476, .Name = “Rage Powder”, .mType = “Bug”}, -New Moves With {.ID = 477, .Name = “Telekinesis”, .mType = “Psychic”}, -New Moves With {.ID = 478, .Name = “Magic Room”, .mType = “Psychic”}, -New Moves With {.ID = 479, .Name = “Smack Down”, .mType = “Rock”}, -New Moves With {.ID = 480, .Name = “Storm Throw”, .mType = “Fighting”}, -New Moves With {.ID = 481, .Name = “Flame Burst”, .mType = “Fire”}, -New Moves With {.ID = 482, .Name = “Sludge Wave”, .mType = “Poison”}, -New Moves With {.ID = 483, .Name = “Quiver Dance”, .mType = “Bug”}, -New Moves With {.ID = 484, .Name = “Heavy Slam”, .mType = “Steel”}, -New Moves With {.ID = 485, .Name = “Synchronoise”, .mType = “Psychic”}, -New Moves With {.ID = 486, .Name = “Electro Ball”, .mType = “Electric”}, -New Moves With {.ID = 487, .Name = “Soak”, .mType = “Water”}, -New Moves With {.ID = 488, .Name = “Flame Charge”, .mType = “Fire”}, -New Moves With {.ID = 489, .Name = “Coil”, .mType = “Poison”}, -New Moves With {.ID = 490, .Name = “Low Sweep”, .mType = “Fighting”}, -New Moves With {.ID = 491, .Name = “Acid Spray”, .mType = “Poison”}, -New Moves With {.ID = 492, .Name = “Foul Play”, .mType = “Dark”}, -New Moves With {.ID = 493, .Name = “Simple Beam”, .mType = “Normal”}, -New Moves With {.ID = 494, .Name = “Entrainment”, .mType = “Normal”}, -New Moves With {.ID = 495, .Name = “After You”, .mType = “Normal”}, -New Moves With {.ID = 496, .Name = “Round”, .mType = “Normal”}, -New Moves With {.ID = 497, .Name = “Echoed Voice”, .mType = “Normal”}, -New Moves With {.ID = 498, .Name = “Chip Away”, .mType = “Normal”}, -New Moves With {.ID = 499, .Name = “Clear Smog”, .mType = “Poison”}, -New Moves With {.ID = 500, .Name = “Stored Power”, .mType = “Psychic”}, -New Moves With {.ID = 501, .Name = “Quick Guard”, .mType = “Fighting”}, -New Moves With {.ID = 502, .Name = “Ally Switch”, .mType = “Psychic”}, -New Moves With {.ID = 503, .Name = “Scald”, .mType = “Water”}, -New Moves With {.ID = 504, .Name = “Shell Smash”, .mType = “Normal”}, -New Moves With {.ID = 505, .Name = “Heal Pulse”, .mType = “Psychic”}, -New Moves With {.ID = 506, .Name = “Hex”, .mType = “Ghost”}, -New Moves With {.ID = 507, .Name = “Sky Drop”, .mType = “Flying”}, -New Moves With {.ID = 508, .Name = “Shift Gear”, .mType = “Steel”}, -New Moves With {.ID = 509, .Name = “Circle Throw”, .mType = “Fighting”}, -New Moves With {.ID = 510, .Name = “Incinerate”, .mType = “Fire”}, -New Moves With {.ID = 511, .Name = “Quash”, .mType = “Dark”}, -New Moves With {.ID = 512, .Name = “Acrobatics”, .mType = “Flying”}, -New Moves With {.ID = 513, .Name = “Reflect Type”, .mType = “Normal”}, -New Moves With {.ID = 514, .Name = “Retaliate”, .mType = “Normal”}, -New Moves With {.ID = 515, .Name = “Final Gambit”, .mType = “Fighting”}, -New Moves With {.ID = 516, .Name = “Bestow”, .mType = “Normal”}, -New Moves With {.ID = 517, .Name = “Inferno”, .mType = “Fire”}, -New Moves With {.ID = 518, .Name = “Water Pledge”, .mType = “Water”}, -New Moves With {.ID = 519, .Name = “Fire Pledge”, .mType = “Fire”}, -New Moves With {.ID = 520, .Name = “Grass Pledge”, .mType = “Grass”}, -New Moves With {.ID = 521, .Name = “Volt Switch”, .mType = “Electric”}, -New Moves With {.ID = 522, .Name = “Struggle Bug”, .mType = “Bug”}, -New Moves With {.ID = 523, .Name = “Bulldoze”, .mType = “Ground”}, -New Moves With {.ID = 524, .Name = “Frost Breath”, .mType = “Ice”}, -New Moves With {.ID = 525, .Name = “Dragon Tail”, .mType = “Dragon”}, -New Moves With {.ID = 526, .Name = “Work Up”, .mType = “Normal”}, -New Moves With {.ID = 527, .Name = “Electroweb”, .mType = “Electric”}, -New Moves With {.ID = 528, .Name = “Wild Charge”, .mType = “Electric”}, -New Moves With {.ID = 529, .Name = “Drill Run”, .mType = “Ground”}, -New Moves With {.ID = 530, .Name = “Dual Chop”, .mType = “Dragon”}, -New Moves With {.ID = 531, .Name = “Heart Stamp”, .mType = “Psychic”}, -New Moves With {.ID = 532, .Name = “Horn Leech”, .mType = “Grass”}, -New Moves With {.ID = 533, .Name = “Sacred Sword”, .mType = “Fighting”}, -New Moves With {.ID = 534, .Name = “Razor Shell”, .mType = “Water”}, -New Moves With {.ID = 535, .Name = “Heat Crash”, .mType = “Fire”}, -New Moves With {.ID = 536, .Name = “Leaf Tornado”, .mType = “Grass”}, -New Moves With {.ID = 537, .Name = “Steamroller”, .mType = “Bug”}, -New Moves With {.ID = 538, .Name = “Cotton Guard”, .mType = “Grass”}, -New Moves With {.ID = 539, .Name = “Night Daze”, .mType = “Dark”}, -New Moves With {.ID = 540, .Name = “Psystrike”, .mType = “Psychic”}, -New Moves With {.ID = 541, .Name = “Tail Slap”, .mType = “Normal”}, -New Moves With {.ID = 542, .Name = “Hurricane”, .mType = “Flying”}, -New Moves With {.ID = 543, .Name = “Head Charge”, .mType = “Normal”}, -New Moves With {.ID = 544, .Name = “Gear Grind”, .mType = “Steel”}, -New Moves With {.ID = 545, .Name = “Searing Shot”, .mType = “Fire”}, -New Moves With {.ID = 546, .Name = “Techno Blast”, .mType = “Normal”}, -New Moves With {.ID = 547, .Name = “Relic Song”, .mType = “Normal”}, -New Moves With {.ID = 548, .Name = “Secret Sword”, .mType = “Fighting”}, -New Moves With {.ID = 549, .Name = “Glaciate”, .mType = “Ice”}, -New Moves With {.ID = 550, .Name = “Bolt Strike”, .mType = “Electric”}, -New Moves With {.ID = 551, .Name = “Blue Flare”, .mType = “Fire”}, -New Moves With {.ID = 552, .Name = “Fiery Dance”, .mType = “Fire”}, -New Moves With {.ID = 553, .Name = “Freeze Shock”, .mType = “Ice”}, -New Moves With {.ID = 554, .Name = “Ice Burn”, .mType = “Ice”}, -New Moves With {.ID = 555, .Name = “Snarl”, .mType = “Dark”}, -New Moves With {.ID = 556, .Name = “Icicle Crash”, .mType = “Ice”}, -New Moves With {.ID = 557, .Name = “V-create”, .mType = “Fire”}, -New Moves With {.ID = 558, .Name = “Fusion Flare”, .mType = “Fire”}, -New Moves With {.ID = 559, .Name = “Fusion Bolt”, .mType = “Electric”} + New Moves With {.ID = 1, .Name = “Pound”, .Move_Type = “Normal”}, +New Moves With {.ID = 2, .Name = “Karate Chop”, .Move_Type = “Fighting”}, +New Moves With {.ID = 3, .Name = “Double Slap”, .Move_Type = “Normal”}, +New Moves With {.ID = 4, .Name = “Comet Punch”, .Move_Type = “Normal”}, +New Moves With {.ID = 5, .Name = “Mega Punch”, .Move_Type = “Normal”}, +New Moves With {.ID = 6, .Name = “Pay Day”, .Move_Type = “Normal”}, +New Moves With {.ID = 7, .Name = “Fire Punch”, .Move_Type = “Fire”}, +New Moves With {.ID = 8, .Name = “Ice Punch”, .Move_Type = “Ice”}, +New Moves With {.ID = 9, .Name = “Thunder Punch”, .Move_Type = “Electric”}, +New Moves With {.ID = 10, .Name = “Scratch”, .Move_Type = “Normal”}, +New Moves With {.ID = 11, .Name = “Vise Grip”, .Move_Type = “Normal”}, +New Moves With {.ID = 12, .Name = “Guillotine”, .Move_Type = “Normal”}, +New Moves With {.ID = 13, .Name = “Razor Wind”, .Move_Type = “Normal”}, +New Moves With {.ID = 14, .Name = “Swords Dance”, .Move_Type = “Normal”}, +New Moves With {.ID = 15, .Name = “Cut”, .Move_Type = “Normal”}, +New Moves With {.ID = 16, .Name = “Gust”, .Move_Type = “Flying”}, +New Moves With {.ID = 17, .Name = “Wing Attack”, .Move_Type = “Flying”}, +New Moves With {.ID = 18, .Name = “Whirlwind”, .Move_Type = “Normal”}, +New Moves With {.ID = 19, .Name = “Fly”, .Move_Type = “Flying”}, +New Moves With {.ID = 20, .Name = “Bind”, .Move_Type = “Normal”}, +New Moves With {.ID = 21, .Name = “Slam”, .Move_Type = “Normal”}, +New Moves With {.ID = 22, .Name = “Vine Whip”, .Move_Type = “Grass”}, +New Moves With {.ID = 23, .Name = “Stomp”, .Move_Type = “Normal”}, +New Moves With {.ID = 24, .Name = “Double Kick”, .Move_Type = “Fighting”}, +New Moves With {.ID = 25, .Name = “Mega Kick”, .Move_Type = “Normal”}, +New Moves With {.ID = 26, .Name = “Jump Kick”, .Move_Type = “Fighting”}, +New Moves With {.ID = 27, .Name = “Rolling Kick”, .Move_Type = “Fighting”}, +New Moves With {.ID = 28, .Name = “Sand Attack”, .Move_Type = “Ground”}, +New Moves With {.ID = 29, .Name = “Headbutt”, .Move_Type = “Normal”}, +New Moves With {.ID = 30, .Name = “Horn Attack”, .Move_Type = “Normal”}, +New Moves With {.ID = 31, .Name = “Fury Attack”, .Move_Type = “Normal”}, +New Moves With {.ID = 32, .Name = “Horn Drill”, .Move_Type = “Normal”}, +New Moves With {.ID = 33, .Name = “Tackle”, .Move_Type = “Normal”}, +New Moves With {.ID = 34, .Name = “Body Slam”, .Move_Type = “Normal”}, +New Moves With {.ID = 35, .Name = “Wrap”, .Move_Type = “Normal”}, +New Moves With {.ID = 36, .Name = “Take Down”, .Move_Type = “Normal”}, +New Moves With {.ID = 37, .Name = “Thrash”, .Move_Type = “Normal”}, +New Moves With {.ID = 38, .Name = “Double-Edge”, .Move_Type = “Normal”}, +New Moves With {.ID = 39, .Name = “Tail Whip”, .Move_Type = “Normal”}, +New Moves With {.ID = 40, .Name = “Poison Sting”, .Move_Type = “Poison”}, +New Moves With {.ID = 41, .Name = “Twineedle”, .Move_Type = “Bug”}, +New Moves With {.ID = 42, .Name = “Pin Missile”, .Move_Type = “Bug”}, +New Moves With {.ID = 43, .Name = “Leer”, .Move_Type = “Normal”}, +New Moves With {.ID = 44, .Name = “Bite”, .Move_Type = “Dark”}, +New Moves With {.ID = 45, .Name = “Growl”, .Move_Type = “Normal”}, +New Moves With {.ID = 46, .Name = “Roar”, .Move_Type = “Normal”}, +New Moves With {.ID = 47, .Name = “Sing”, .Move_Type = “Normal”}, +New Moves With {.ID = 48, .Name = “Supersonic”, .Move_Type = “Normal”}, +New Moves With {.ID = 49, .Name = “Sonic Boom”, .Move_Type = “Normal”}, +New Moves With {.ID = 50, .Name = “Disable”, .Move_Type = “Normal”}, +New Moves With {.ID = 51, .Name = “Acid”, .Move_Type = “Poison”}, +New Moves With {.ID = 52, .Name = “Ember”, .Move_Type = “Fire”}, +New Moves With {.ID = 53, .Name = “Flamethrower”, .Move_Type = “Fire”}, +New Moves With {.ID = 54, .Name = “Mist”, .Move_Type = “Ice”}, +New Moves With {.ID = 55, .Name = “Water Gun”, .Move_Type = “Water”}, +New Moves With {.ID = 56, .Name = “Hydro Pump”, .Move_Type = “Water”}, +New Moves With {.ID = 57, .Name = “Surf”, .Move_Type = “Water”}, +New Moves With {.ID = 58, .Name = “Ice Beam”, .Move_Type = “Ice”}, +New Moves With {.ID = 59, .Name = “Blizzard”, .Move_Type = “Ice”}, +New Moves With {.ID = 60, .Name = “Psybeam”, .Move_Type = “Psychic”}, +New Moves With {.ID = 61, .Name = “Bubble Beam”, .Move_Type = “Water”}, +New Moves With {.ID = 62, .Name = “Aurora Beam”, .Move_Type = “Ice”}, +New Moves With {.ID = 63, .Name = “Hyper Beam”, .Move_Type = “Normal”}, +New Moves With {.ID = 64, .Name = “Peck”, .Move_Type = “Flying”}, +New Moves With {.ID = 65, .Name = “Drill Peck”, .Move_Type = “Flying”}, +New Moves With {.ID = 66, .Name = “Submission”, .Move_Type = “Fighting”}, +New Moves With {.ID = 67, .Name = “Low Kick”, .Move_Type = “Fighting”}, +New Moves With {.ID = 68, .Name = “Counter”, .Move_Type = “Fighting”}, +New Moves With {.ID = 69, .Name = “Seismic Toss”, .Move_Type = “Fighting”}, +New Moves With {.ID = 70, .Name = “Strength”, .Move_Type = “Normal”}, +New Moves With {.ID = 71, .Name = “Absorb”, .Move_Type = “Grass”}, +New Moves With {.ID = 72, .Name = “Mega Drain”, .Move_Type = “Grass”}, +New Moves With {.ID = 73, .Name = “Leech Seed”, .Move_Type = “Grass”}, +New Moves With {.ID = 74, .Name = “Growth”, .Move_Type = “Normal”}, +New Moves With {.ID = 75, .Name = “Razor Leaf”, .Move_Type = “Grass”}, +New Moves With {.ID = 76, .Name = “Solar Beam”, .Move_Type = “Grass”}, +New Moves With {.ID = 77, .Name = “Poison Powder”, .Move_Type = “Poison”}, +New Moves With {.ID = 78, .Name = “Stun Spore”, .Move_Type = “Grass”}, +New Moves With {.ID = 79, .Name = “Sleep Powder”, .Move_Type = “Grass”}, +New Moves With {.ID = 80, .Name = “Petal Dance”, .Move_Type = “Grass”}, +New Moves With {.ID = 81, .Name = “String Shot”, .Move_Type = “Bug”}, +New Moves With {.ID = 82, .Name = “Dragon Rage”, .Move_Type = “Dragon”}, +New Moves With {.ID = 83, .Name = “Fire Spin”, .Move_Type = “Fire”}, +New Moves With {.ID = 84, .Name = “Thunder Shock”, .Move_Type = “Electric”}, +New Moves With {.ID = 85, .Name = “Thunderbolt”, .Move_Type = “Electric”}, +New Moves With {.ID = 86, .Name = “Thunder Wave”, .Move_Type = “Electric”}, +New Moves With {.ID = 87, .Name = “Thunder”, .Move_Type = “Electric”}, +New Moves With {.ID = 88, .Name = “Rock Throw”, .Move_Type = “Rock”}, +New Moves With {.ID = 89, .Name = “Earthquake”, .Move_Type = “Ground”}, +New Moves With {.ID = 90, .Name = “Fissure”, .Move_Type = “Ground”}, +New Moves With {.ID = 91, .Name = “Dig”, .Move_Type = “Ground”}, +New Moves With {.ID = 92, .Name = “Toxic”, .Move_Type = “Poison”}, +New Moves With {.ID = 93, .Name = “Confusion”, .Move_Type = “Psychic”}, +New Moves With {.ID = 94, .Name = “Psychic”, .Move_Type = “Psychic”}, +New Moves With {.ID = 95, .Name = “Hypnosis”, .Move_Type = “Psychic”}, +New Moves With {.ID = 96, .Name = “Meditate”, .Move_Type = “Psychic”}, +New Moves With {.ID = 97, .Name = “Agility”, .Move_Type = “Psychic”}, +New Moves With {.ID = 98, .Name = “Quick Attack”, .Move_Type = “Normal”}, +New Moves With {.ID = 99, .Name = “Rage”, .Move_Type = “Normal”}, +New Moves With {.ID = 100, .Name = “Teleport”, .Move_Type = “Psychic”}, +New Moves With {.ID = 101, .Name = “Night Shade”, .Move_Type = “Ghost”}, +New Moves With {.ID = 102, .Name = “Mimic”, .Move_Type = “Normal”}, +New Moves With {.ID = 103, .Name = “Screech”, .Move_Type = “Normal”}, +New Moves With {.ID = 104, .Name = “Double Team”, .Move_Type = “Normal”}, +New Moves With {.ID = 105, .Name = “Recover”, .Move_Type = “Normal”}, +New Moves With {.ID = 106, .Name = “Harden”, .Move_Type = “Normal”}, +New Moves With {.ID = 107, .Name = “Minimize”, .Move_Type = “Normal”}, +New Moves With {.ID = 108, .Name = “Smokescreen”, .Move_Type = “Normal”}, +New Moves With {.ID = 109, .Name = “Confuse Ray”, .Move_Type = “Ghost”}, +New Moves With {.ID = 110, .Name = “Withdraw”, .Move_Type = “Water”}, +New Moves With {.ID = 111, .Name = “Defense Curl”, .Move_Type = “Normal”}, +New Moves With {.ID = 112, .Name = “Barrier”, .Move_Type = “Psychic”}, +New Moves With {.ID = 113, .Name = “Light Screen”, .Move_Type = “Psychic”}, +New Moves With {.ID = 114, .Name = “Haze”, .Move_Type = “Ice”}, +New Moves With {.ID = 115, .Name = “Reflect”, .Move_Type = “Psychic”}, +New Moves With {.ID = 116, .Name = “Focus Energy”, .Move_Type = “Normal”}, +New Moves With {.ID = 117, .Name = “Bide”, .Move_Type = “Normal”}, +New Moves With {.ID = 118, .Name = “Metronome”, .Move_Type = “Normal”}, +New Moves With {.ID = 119, .Name = “Mirror Move”, .Move_Type = “Flying”}, +New Moves With {.ID = 120, .Name = “Self-Destruct”, .Move_Type = “Normal”}, +New Moves With {.ID = 121, .Name = “Egg Bomb”, .Move_Type = “Normal”}, +New Moves With {.ID = 122, .Name = “Lick”, .Move_Type = “Ghost”}, +New Moves With {.ID = 123, .Name = “Smog”, .Move_Type = “Poison”}, +New Moves With {.ID = 124, .Name = “Sludge”, .Move_Type = “Poison”}, +New Moves With {.ID = 125, .Name = “Bone Club”, .Move_Type = “Ground”}, +New Moves With {.ID = 126, .Name = “Fire Blast”, .Move_Type = “Fire”}, +New Moves With {.ID = 127, .Name = “Waterfall”, .Move_Type = “Water”}, +New Moves With {.ID = 128, .Name = “Clamp”, .Move_Type = “Water”}, +New Moves With {.ID = 129, .Name = “Swift”, .Move_Type = “Normal”}, +New Moves With {.ID = 130, .Name = “Skull Bash”, .Move_Type = “Normal”}, +New Moves With {.ID = 131, .Name = “Spike Cannon”, .Move_Type = “Normal”}, +New Moves With {.ID = 132, .Name = “Constrict”, .Move_Type = “Normal”}, +New Moves With {.ID = 133, .Name = “Amnesia”, .Move_Type = “Psychic”}, +New Moves With {.ID = 134, .Name = “Kinesis”, .Move_Type = “Psychic”}, +New Moves With {.ID = 135, .Name = “Soft-Boiled”, .Move_Type = “Normal”}, +New Moves With {.ID = 136, .Name = “High Jump Kick”, .Move_Type = “Fighting”}, +New Moves With {.ID = 137, .Name = “Glare”, .Move_Type = “Normal”}, +New Moves With {.ID = 138, .Name = “Dream Eater”, .Move_Type = “Psychic”}, +New Moves With {.ID = 139, .Name = “Poison Gas”, .Move_Type = “Poison”}, +New Moves With {.ID = 140, .Name = “Barrage”, .Move_Type = “Normal”}, +New Moves With {.ID = 141, .Name = “Leech Life”, .Move_Type = “Bug”}, +New Moves With {.ID = 142, .Name = “Lovely Kiss”, .Move_Type = “Normal”}, +New Moves With {.ID = 143, .Name = “Sky Attack”, .Move_Type = “Flying”}, +New Moves With {.ID = 144, .Name = “Transform”, .Move_Type = “Normal”}, +New Moves With {.ID = 145, .Name = “Bubble”, .Move_Type = “Water”}, +New Moves With {.ID = 146, .Name = “Dizzy Punch”, .Move_Type = “Normal”}, +New Moves With {.ID = 147, .Name = “Spore”, .Move_Type = “Grass”}, +New Moves With {.ID = 148, .Name = “Flash”, .Move_Type = “Normal”}, +New Moves With {.ID = 149, .Name = “Psywave”, .Move_Type = “Psychic”}, +New Moves With {.ID = 150, .Name = “Splash”, .Move_Type = “Normal”}, +New Moves With {.ID = 151, .Name = “Acid Armor”, .Move_Type = “Poison”}, +New Moves With {.ID = 152, .Name = “Crabhammer”, .Move_Type = “Water”}, +New Moves With {.ID = 153, .Name = “Explosion”, .Move_Type = “Normal”}, +New Moves With {.ID = 154, .Name = “Fury Swipes”, .Move_Type = “Normal”}, +New Moves With {.ID = 155, .Name = “Bonemerang”, .Move_Type = “Ground”}, +New Moves With {.ID = 156, .Name = “Rest”, .Move_Type = “Psychic”}, +New Moves With {.ID = 157, .Name = “Rock Slide”, .Move_Type = “Rock”}, +New Moves With {.ID = 158, .Name = “Hyper Fang”, .Move_Type = “Normal”}, +New Moves With {.ID = 159, .Name = “Sharpen”, .Move_Type = “Normal”}, +New Moves With {.ID = 160, .Name = “Conversion”, .Move_Type = “Normal”}, +New Moves With {.ID = 161, .Name = “Tri Attack”, .Move_Type = “Normal”}, +New Moves With {.ID = 162, .Name = “Super Fang”, .Move_Type = “Normal”}, +New Moves With {.ID = 163, .Name = “Slash”, .Move_Type = “Normal”}, +New Moves With {.ID = 164, .Name = “Substitute”, .Move_Type = “Normal”}, +New Moves With {.ID = 165, .Name = “Struggle”, .Move_Type = “Normal”}, +New Moves With {.ID = 166, .Name = “Sketch”, .Move_Type = “Normal”}, +New Moves With {.ID = 167, .Name = “Triple Kick”, .Move_Type = “Fighting”}, +New Moves With {.ID = 168, .Name = “Thief”, .Move_Type = “Dark”}, +New Moves With {.ID = 169, .Name = “Spider Web”, .Move_Type = “Bug”}, +New Moves With {.ID = 170, .Name = “Mind Reader”, .Move_Type = “Normal”}, +New Moves With {.ID = 171, .Name = “Nightmare”, .Move_Type = “Ghost”}, +New Moves With {.ID = 172, .Name = “Flame Wheel”, .Move_Type = “Fire”}, +New Moves With {.ID = 173, .Name = “Snore”, .Move_Type = “Normal”}, +New Moves With {.ID = 174, .Name = “Curse”, .Move_Type = “???”}, +New Moves With {.ID = 175, .Name = “Flail”, .Move_Type = “Normal”}, +New Moves With {.ID = 176, .Name = “Conversion 2”, .Move_Type = “Normal”}, +New Moves With {.ID = 177, .Name = “Aeroblast”, .Move_Type = “Flying”}, +New Moves With {.ID = 178, .Name = “Cotton Spore”, .Move_Type = “Grass”}, +New Moves With {.ID = 179, .Name = “Reversal”, .Move_Type = “Fighting”}, +New Moves With {.ID = 180, .Name = “Spite”, .Move_Type = “Ghost”}, +New Moves With {.ID = 181, .Name = “Powder Snow”, .Move_Type = “Ice”}, +New Moves With {.ID = 182, .Name = “Protect”, .Move_Type = “Normal”}, +New Moves With {.ID = 183, .Name = “Mach Punch”, .Move_Type = “Fighting”}, +New Moves With {.ID = 184, .Name = “Scary Face”, .Move_Type = “Normal”}, +New Moves With {.ID = 185, .Name = “Feint Attack”, .Move_Type = “Dark”}, +New Moves With {.ID = 186, .Name = “Sweet Kiss”, .Move_Type = “Normal”}, +New Moves With {.ID = 187, .Name = “Belly Drum”, .Move_Type = “Normal”}, +New Moves With {.ID = 188, .Name = “Sludge Bomb”, .Move_Type = “Poison”}, +New Moves With {.ID = 189, .Name = “Mud-Slap”, .Move_Type = “Ground”}, +New Moves With {.ID = 190, .Name = “Octazooka”, .Move_Type = “Water”}, +New Moves With {.ID = 191, .Name = “Spikes”, .Move_Type = “Ground”}, +New Moves With {.ID = 192, .Name = “Zap Cannon”, .Move_Type = “Electric”}, +New Moves With {.ID = 193, .Name = “Foresight”, .Move_Type = “Normal”}, +New Moves With {.ID = 194, .Name = “Destiny Bond”, .Move_Type = “Ghost”}, +New Moves With {.ID = 195, .Name = “Perish Song”, .Move_Type = “Normal”}, +New Moves With {.ID = 196, .Name = “Icy Wind”, .Move_Type = “Ice”}, +New Moves With {.ID = 197, .Name = “Detect”, .Move_Type = “Fighting”}, +New Moves With {.ID = 198, .Name = “Bone Rush”, .Move_Type = “Ground”}, +New Moves With {.ID = 199, .Name = “Lock-On”, .Move_Type = “Normal”}, +New Moves With {.ID = 200, .Name = “Outrage”, .Move_Type = “Dragon”}, +New Moves With {.ID = 201, .Name = “Sandstorm”, .Move_Type = “Rock”}, +New Moves With {.ID = 202, .Name = “Giga Drain”, .Move_Type = “Grass”}, +New Moves With {.ID = 203, .Name = “Endure”, .Move_Type = “Normal”}, +New Moves With {.ID = 204, .Name = “Charm”, .Move_Type = “Normal”}, +New Moves With {.ID = 205, .Name = “Rollout”, .Move_Type = “Rock”}, +New Moves With {.ID = 206, .Name = “False Swipe”, .Move_Type = “Normal”}, +New Moves With {.ID = 207, .Name = “Swagger”, .Move_Type = “Normal”}, +New Moves With {.ID = 208, .Name = “Milk Drink”, .Move_Type = “Normal”}, +New Moves With {.ID = 209, .Name = “Spark”, .Move_Type = “Electric”}, +New Moves With {.ID = 210, .Name = “Fury Cutter”, .Move_Type = “Bug”}, +New Moves With {.ID = 211, .Name = “Steel Wing”, .Move_Type = “Steel”}, +New Moves With {.ID = 212, .Name = “Mean Look”, .Move_Type = “Normal”}, +New Moves With {.ID = 213, .Name = “Attract”, .Move_Type = “Normal”}, +New Moves With {.ID = 214, .Name = “Sleep Talk”, .Move_Type = “Normal”}, +New Moves With {.ID = 215, .Name = “Heal Bell”, .Move_Type = “Normal”}, +New Moves With {.ID = 216, .Name = “Return”, .Move_Type = “Normal”}, +New Moves With {.ID = 217, .Name = “Present”, .Move_Type = “Normal”}, +New Moves With {.ID = 218, .Name = “Frustration”, .Move_Type = “Normal”}, +New Moves With {.ID = 219, .Name = “Safeguard”, .Move_Type = “Normal”}, +New Moves With {.ID = 220, .Name = “Pain Split”, .Move_Type = “Normal”}, +New Moves With {.ID = 221, .Name = “Sacred Fire”, .Move_Type = “Fire”}, +New Moves With {.ID = 222, .Name = “Magnitude”, .Move_Type = “Ground”}, +New Moves With {.ID = 223, .Name = “Dynamic Punch”, .Move_Type = “Fighting”}, +New Moves With {.ID = 224, .Name = “Megahorn”, .Move_Type = “Bug”}, +New Moves With {.ID = 225, .Name = “Dragon Breath”, .Move_Type = “Dragon”}, +New Moves With {.ID = 226, .Name = “Baton Pass”, .Move_Type = “Normal”}, +New Moves With {.ID = 227, .Name = “Encore”, .Move_Type = “Normal”}, +New Moves With {.ID = 228, .Name = “Pursuit”, .Move_Type = “Dark”}, +New Moves With {.ID = 229, .Name = “Rapid Spin”, .Move_Type = “Normal”}, +New Moves With {.ID = 230, .Name = “Sweet Scent”, .Move_Type = “Normal”}, +New Moves With {.ID = 231, .Name = “Iron Tail”, .Move_Type = “Steel”}, +New Moves With {.ID = 232, .Name = “Metal Claw”, .Move_Type = “Steel”}, +New Moves With {.ID = 233, .Name = “Vital Throw”, .Move_Type = “Fighting”}, +New Moves With {.ID = 234, .Name = “Morning Sun”, .Move_Type = “Normal”}, +New Moves With {.ID = 235, .Name = “Synthesis”, .Move_Type = “Grass”}, +New Moves With {.ID = 236, .Name = “Moonlight”, .Move_Type = “Normal”}, +New Moves With {.ID = 237, .Name = “Hidden Power”, .Move_Type = “Normal”}, +New Moves With {.ID = 238, .Name = “Cross Chop”, .Move_Type = “Fighting”}, +New Moves With {.ID = 239, .Name = “Twister”, .Move_Type = “Dragon”}, +New Moves With {.ID = 240, .Name = “Rain Dance”, .Move_Type = “Water”}, +New Moves With {.ID = 241, .Name = “Sunny Day”, .Move_Type = “Fire”}, +New Moves With {.ID = 242, .Name = “Crunch”, .Move_Type = “Dark”}, +New Moves With {.ID = 243, .Name = “Mirror Coat”, .Move_Type = “Psychic”}, +New Moves With {.ID = 244, .Name = “Psych Up”, .Move_Type = “Normal”}, +New Moves With {.ID = 245, .Name = “Extreme Speed”, .Move_Type = “Normal”}, +New Moves With {.ID = 246, .Name = “Ancient Power”, .Move_Type = “Rock”}, +New Moves With {.ID = 247, .Name = “Shadow Ball”, .Move_Type = “Ghost”}, +New Moves With {.ID = 248, .Name = “Future Sight”, .Move_Type = “Psychic”}, +New Moves With {.ID = 249, .Name = “Rock Smash”, .Move_Type = “Fighting”}, +New Moves With {.ID = 250, .Name = “Whirlpool”, .Move_Type = “Water”}, +New Moves With {.ID = 251, .Name = “Beat Up”, .Move_Type = “Dark”}, +New Moves With {.ID = 252, .Name = “Fake Out”, .Move_Type = “Normal”}, +New Moves With {.ID = 253, .Name = “Uproar”, .Move_Type = “Normal”}, +New Moves With {.ID = 254, .Name = “Stockpile”, .Move_Type = “Normal”}, +New Moves With {.ID = 255, .Name = “Spit Up”, .Move_Type = “Normal”}, +New Moves With {.ID = 256, .Name = “Swallow”, .Move_Type = “Normal”}, +New Moves With {.ID = 257, .Name = “Heat Wave”, .Move_Type = “Fire”}, +New Moves With {.ID = 258, .Name = “Hail”, .Move_Type = “Ice”}, +New Moves With {.ID = 259, .Name = “Torment”, .Move_Type = “Dark”}, +New Moves With {.ID = 260, .Name = “Flatter”, .Move_Type = “Dark”}, +New Moves With {.ID = 261, .Name = “Will-O-Wisp”, .Move_Type = “Fire”}, +New Moves With {.ID = 262, .Name = “Memento”, .Move_Type = “Dark”}, +New Moves With {.ID = 263, .Name = “Facade”, .Move_Type = “Normal”}, +New Moves With {.ID = 264, .Name = “Focus Punch”, .Move_Type = “Fighting”}, +New Moves With {.ID = 265, .Name = “Smelling Salts”, .Move_Type = “Normal”}, +New Moves With {.ID = 266, .Name = “Follow Me”, .Move_Type = “Normal”}, +New Moves With {.ID = 267, .Name = “Nature Power”, .Move_Type = “Normal”}, +New Moves With {.ID = 268, .Name = “Charge”, .Move_Type = “Electric”}, +New Moves With {.ID = 269, .Name = “Taunt”, .Move_Type = “Dark”}, +New Moves With {.ID = 270, .Name = “Helping Hand”, .Move_Type = “Normal”}, +New Moves With {.ID = 271, .Name = “Trick”, .Move_Type = “Psychic”}, +New Moves With {.ID = 272, .Name = “Role Play”, .Move_Type = “Psychic”}, +New Moves With {.ID = 273, .Name = “Wish”, .Move_Type = “Normal”}, +New Moves With {.ID = 274, .Name = “Assist”, .Move_Type = “Normal”}, +New Moves With {.ID = 275, .Name = “Ingrain”, .Move_Type = “Grass”}, +New Moves With {.ID = 276, .Name = “Superpower”, .Move_Type = “Fighting”}, +New Moves With {.ID = 277, .Name = “Magic Coat”, .Move_Type = “Psychic”}, +New Moves With {.ID = 278, .Name = “Recycle”, .Move_Type = “Normal”}, +New Moves With {.ID = 279, .Name = “Revenge”, .Move_Type = “Fighting”}, +New Moves With {.ID = 280, .Name = “Brick Break”, .Move_Type = “Fighting”}, +New Moves With {.ID = 281, .Name = “Yawn”, .Move_Type = “Normal”}, +New Moves With {.ID = 282, .Name = “Knock Off”, .Move_Type = “Dark”}, +New Moves With {.ID = 283, .Name = “Endeavor”, .Move_Type = “Normal”}, +New Moves With {.ID = 284, .Name = “Eruption”, .Move_Type = “Fire”}, +New Moves With {.ID = 285, .Name = “Skill Swap”, .Move_Type = “Psychic”}, +New Moves With {.ID = 286, .Name = “Imprison”, .Move_Type = “Psychic”}, +New Moves With {.ID = 287, .Name = “Refresh”, .Move_Type = “Normal”}, +New Moves With {.ID = 288, .Name = “Grudge”, .Move_Type = “Ghost”}, +New Moves With {.ID = 289, .Name = “Snatch”, .Move_Type = “Dark”}, +New Moves With {.ID = 290, .Name = “Secret Power”, .Move_Type = “Normal”}, +New Moves With {.ID = 291, .Name = “Dive”, .Move_Type = “Water”}, +New Moves With {.ID = 292, .Name = “Arm Thrust”, .Move_Type = “Fighting”}, +New Moves With {.ID = 293, .Name = “Camouflage”, .Move_Type = “Normal”}, +New Moves With {.ID = 294, .Name = “Tail Glow”, .Move_Type = “Bug”}, +New Moves With {.ID = 295, .Name = “Luster Purge”, .Move_Type = “Psychic”}, +New Moves With {.ID = 296, .Name = “Mist Ball”, .Move_Type = “Psychic”}, +New Moves With {.ID = 297, .Name = “Feather Dance”, .Move_Type = “Flying”}, +New Moves With {.ID = 298, .Name = “Teeter Dance”, .Move_Type = “Normal”}, +New Moves With {.ID = 299, .Name = “Blaze Kick”, .Move_Type = “Fire”}, +New Moves With {.ID = 300, .Name = “Mud Sport”, .Move_Type = “Ground”}, +New Moves With {.ID = 301, .Name = “Ice Ball”, .Move_Type = “Ice”}, +New Moves With {.ID = 302, .Name = “Needle Arm”, .Move_Type = “Grass”}, +New Moves With {.ID = 303, .Name = “Slack Off”, .Move_Type = “Normal”}, +New Moves With {.ID = 304, .Name = “Hyper Voice”, .Move_Type = “Normal”}, +New Moves With {.ID = 305, .Name = “Poison Fang”, .Move_Type = “Poison”}, +New Moves With {.ID = 306, .Name = “Crush Claw”, .Move_Type = “Normal”}, +New Moves With {.ID = 307, .Name = “Blast Burn”, .Move_Type = “Fire”}, +New Moves With {.ID = 308, .Name = “Hydro Cannon”, .Move_Type = “Water”}, +New Moves With {.ID = 309, .Name = “Meteor Mash”, .Move_Type = “Steel”}, +New Moves With {.ID = 310, .Name = “Astonish”, .Move_Type = “Ghost”}, +New Moves With {.ID = 311, .Name = “Weather Ball”, .Move_Type = “Normal”}, +New Moves With {.ID = 312, .Name = “Aromatherapy”, .Move_Type = “Grass”}, +New Moves With {.ID = 313, .Name = “Fake Tears”, .Move_Type = “Dark”}, +New Moves With {.ID = 314, .Name = “Air Cutter”, .Move_Type = “Flying”}, +New Moves With {.ID = 315, .Name = “Overheat”, .Move_Type = “Fire”}, +New Moves With {.ID = 316, .Name = “Odor Sleuth”, .Move_Type = “Normal”}, +New Moves With {.ID = 317, .Name = “Rock Tomb”, .Move_Type = “Rock”}, +New Moves With {.ID = 318, .Name = “Silver Wind”, .Move_Type = “Bug”}, +New Moves With {.ID = 319, .Name = “Metal Sound”, .Move_Type = “Steel”}, +New Moves With {.ID = 320, .Name = “Grass Whistle”, .Move_Type = “Grass”}, +New Moves With {.ID = 321, .Name = “Tickle”, .Move_Type = “Normal”}, +New Moves With {.ID = 322, .Name = “Cosmic Power”, .Move_Type = “Psychic”}, +New Moves With {.ID = 323, .Name = “Water Spout”, .Move_Type = “Water”}, +New Moves With {.ID = 324, .Name = “Signal Beam”, .Move_Type = “Bug”}, +New Moves With {.ID = 325, .Name = “Shadow Punch”, .Move_Type = “Ghost”}, +New Moves With {.ID = 326, .Name = “Extrasensory”, .Move_Type = “Psychic”}, +New Moves With {.ID = 327, .Name = “Sky Uppercut”, .Move_Type = “Fighting”}, +New Moves With {.ID = 328, .Name = “Sand Tomb”, .Move_Type = “Ground”}, +New Moves With {.ID = 329, .Name = “Sheer Cold”, .Move_Type = “Ice”}, +New Moves With {.ID = 330, .Name = “Muddy Water”, .Move_Type = “Water”}, +New Moves With {.ID = 331, .Name = “Bullet Seed”, .Move_Type = “Grass”}, +New Moves With {.ID = 332, .Name = “Aerial Ace”, .Move_Type = “Flying”}, +New Moves With {.ID = 333, .Name = “Icicle Spear”, .Move_Type = “Ice”}, +New Moves With {.ID = 334, .Name = “Iron Defense”, .Move_Type = “Steel”}, +New Moves With {.ID = 335, .Name = “Block”, .Move_Type = “Normal”}, +New Moves With {.ID = 336, .Name = “Howl”, .Move_Type = “Normal”}, +New Moves With {.ID = 337, .Name = “Dragon Claw”, .Move_Type = “Dragon”}, +New Moves With {.ID = 338, .Name = “Frenzy Plant”, .Move_Type = “Grass”}, +New Moves With {.ID = 339, .Name = “Bulk Up”, .Move_Type = “Fighting”}, +New Moves With {.ID = 340, .Name = “Bounce”, .Move_Type = “Flying”}, +New Moves With {.ID = 341, .Name = “Mud Shot”, .Move_Type = “Ground”}, +New Moves With {.ID = 342, .Name = “Poison Tail”, .Move_Type = “Poison”}, +New Moves With {.ID = 343, .Name = “Covet”, .Move_Type = “Normal”}, +New Moves With {.ID = 344, .Name = “Volt Tackle”, .Move_Type = “Electric”}, +New Moves With {.ID = 345, .Name = “Magical Leaf”, .Move_Type = “Grass”}, +New Moves With {.ID = 346, .Name = “Water Sport”, .Move_Type = “Water”}, +New Moves With {.ID = 347, .Name = “Calm Mind”, .Move_Type = “Psychic”}, +New Moves With {.ID = 348, .Name = “Leaf Blade”, .Move_Type = “Grass”}, +New Moves With {.ID = 349, .Name = “Dragon Dance”, .Move_Type = “Dragon”}, +New Moves With {.ID = 350, .Name = “Rock Blast”, .Move_Type = “Rock”}, +New Moves With {.ID = 351, .Name = “Shock Wave”, .Move_Type = “Electric”}, +New Moves With {.ID = 352, .Name = “Water Pulse”, .Move_Type = “Water”}, +New Moves With {.ID = 353, .Name = “Doom Desire”, .Move_Type = “Steel”}, +New Moves With {.ID = 354, .Name = “Psycho Boost”, .Move_Type = “Psychic”}, +New Moves With {.ID = 355, .Name = “Roost”, .Move_Type = “Flying”}, +New Moves With {.ID = 356, .Name = “Gravity”, .Move_Type = “Psychic”}, +New Moves With {.ID = 357, .Name = “Miracle Eye”, .Move_Type = “Psychic”}, +New Moves With {.ID = 358, .Name = “Wake-Up Slap”, .Move_Type = “Fighting”}, +New Moves With {.ID = 359, .Name = “Hammer Arm”, .Move_Type = “Fighting”}, +New Moves With {.ID = 360, .Name = “Gyro Ball”, .Move_Type = “Steel”}, +New Moves With {.ID = 361, .Name = “Healing Wish”, .Move_Type = “Psychic”}, +New Moves With {.ID = 362, .Name = “Brine”, .Move_Type = “Water”}, +New Moves With {.ID = 363, .Name = “Natural Gift”, .Move_Type = “Normal”}, +New Moves With {.ID = 364, .Name = “Feint”, .Move_Type = “Normal”}, +New Moves With {.ID = 365, .Name = “Pluck”, .Move_Type = “Flying”}, +New Moves With {.ID = 366, .Name = “Tailwind”, .Move_Type = “Flying”}, +New Moves With {.ID = 367, .Name = “Acupressure”, .Move_Type = “Normal”}, +New Moves With {.ID = 368, .Name = “Metal Burst”, .Move_Type = “Steel”}, +New Moves With {.ID = 369, .Name = “U-turn”, .Move_Type = “Bug”}, +New Moves With {.ID = 370, .Name = “Close Combat”, .Move_Type = “Fighting”}, +New Moves With {.ID = 371, .Name = “Payback”, .Move_Type = “Dark”}, +New Moves With {.ID = 372, .Name = “Assurance”, .Move_Type = “Dark”}, +New Moves With {.ID = 373, .Name = “Embargo”, .Move_Type = “Dark”}, +New Moves With {.ID = 374, .Name = “Fling”, .Move_Type = “Dark”}, +New Moves With {.ID = 375, .Name = “Psycho Shift”, .Move_Type = “Psychic”}, +New Moves With {.ID = 376, .Name = “Trump Card”, .Move_Type = “Normal”}, +New Moves With {.ID = 377, .Name = “Heal Block”, .Move_Type = “Psychic”}, +New Moves With {.ID = 378, .Name = “Wring Out”, .Move_Type = “Normal”}, +New Moves With {.ID = 379, .Name = “Power Trick”, .Move_Type = “Psychic”}, +New Moves With {.ID = 380, .Name = “Gastro Acid”, .Move_Type = “Poison”}, +New Moves With {.ID = 381, .Name = “Lucky Chant”, .Move_Type = “Normal”}, +New Moves With {.ID = 382, .Name = “Me First”, .Move_Type = “Normal”}, +New Moves With {.ID = 383, .Name = “Copycat”, .Move_Type = “Normal”}, +New Moves With {.ID = 384, .Name = “Power Swap”, .Move_Type = “Psychic”}, +New Moves With {.ID = 385, .Name = “Guard Swap”, .Move_Type = “Psychic”}, +New Moves With {.ID = 386, .Name = “Punishment”, .Move_Type = “Dark”}, +New Moves With {.ID = 387, .Name = “Last Resort”, .Move_Type = “Normal”}, +New Moves With {.ID = 388, .Name = “Worry Seed”, .Move_Type = “Grass”}, +New Moves With {.ID = 389, .Name = “Sucker Punch”, .Move_Type = “Dark”}, +New Moves With {.ID = 390, .Name = “Toxic Spikes”, .Move_Type = “Poison”}, +New Moves With {.ID = 391, .Name = “Heart Swap”, .Move_Type = “Psychic”}, +New Moves With {.ID = 392, .Name = “Aqua Ring”, .Move_Type = “Water”}, +New Moves With {.ID = 393, .Name = “Magnet Rise”, .Move_Type = “Electric”}, +New Moves With {.ID = 394, .Name = “Flare Blitz”, .Move_Type = “Fire”}, +New Moves With {.ID = 395, .Name = “Force Palm”, .Move_Type = “Fighting”}, +New Moves With {.ID = 396, .Name = “Aura Sphere”, .Move_Type = “Fighting”}, +New Moves With {.ID = 397, .Name = “Rock Polish”, .Move_Type = “Rock”}, +New Moves With {.ID = 398, .Name = “Poison Jab”, .Move_Type = “Poison”}, +New Moves With {.ID = 399, .Name = “Dark Pulse”, .Move_Type = “Dark”}, +New Moves With {.ID = 400, .Name = “Night Slash”, .Move_Type = “Dark”}, +New Moves With {.ID = 401, .Name = “Aqua Tail”, .Move_Type = “Water”}, +New Moves With {.ID = 402, .Name = “Seed Bomb”, .Move_Type = “Grass”}, +New Moves With {.ID = 403, .Name = “Air Slash”, .Move_Type = “Flying”}, +New Moves With {.ID = 404, .Name = “X-Scissor”, .Move_Type = “Bug”}, +New Moves With {.ID = 405, .Name = “Bug Buzz”, .Move_Type = “Bug”}, +New Moves With {.ID = 406, .Name = “Dragon Pulse”, .Move_Type = “Dragon”}, +New Moves With {.ID = 407, .Name = “Dragon Rush”, .Move_Type = “Dragon”}, +New Moves With {.ID = 408, .Name = “Power Gem”, .Move_Type = “Rock”}, +New Moves With {.ID = 409, .Name = “Drain Punch”, .Move_Type = “Fighting”}, +New Moves With {.ID = 410, .Name = “Vacuum Wave”, .Move_Type = “Fighting”}, +New Moves With {.ID = 411, .Name = “Focus Blast”, .Move_Type = “Fighting”}, +New Moves With {.ID = 412, .Name = “Energy Ball”, .Move_Type = “Grass”}, +New Moves With {.ID = 413, .Name = “Brave Bird”, .Move_Type = “Flying”}, +New Moves With {.ID = 414, .Name = “Earth Power”, .Move_Type = “Ground”}, +New Moves With {.ID = 415, .Name = “Switcheroo”, .Move_Type = “Dark”}, +New Moves With {.ID = 416, .Name = “Giga Impact”, .Move_Type = “Normal”}, +New Moves With {.ID = 417, .Name = “Nasty Plot”, .Move_Type = “Dark”}, +New Moves With {.ID = 418, .Name = “Bullet Punch”, .Move_Type = “Steel”}, +New Moves With {.ID = 419, .Name = “Avalanche”, .Move_Type = “Ice”}, +New Moves With {.ID = 420, .Name = “Ice Shard”, .Move_Type = “Ice”}, +New Moves With {.ID = 421, .Name = “Shadow Claw”, .Move_Type = “Ghost”}, +New Moves With {.ID = 422, .Name = “Thunder Fang”, .Move_Type = “Electric”}, +New Moves With {.ID = 423, .Name = “Ice Fang”, .Move_Type = “Ice”}, +New Moves With {.ID = 424, .Name = “Fire Fang”, .Move_Type = “Fire”}, +New Moves With {.ID = 425, .Name = “Shadow Sneak”, .Move_Type = “Ghost”}, +New Moves With {.ID = 426, .Name = “Mud Bomb”, .Move_Type = “Ground”}, +New Moves With {.ID = 427, .Name = “Psycho Cut”, .Move_Type = “Psychic”}, +New Moves With {.ID = 428, .Name = “Zen Headbutt”, .Move_Type = “Psychic”}, +New Moves With {.ID = 429, .Name = “Mirror Shot”, .Move_Type = “Steel”}, +New Moves With {.ID = 430, .Name = “Flash Cannon”, .Move_Type = “Steel”}, +New Moves With {.ID = 431, .Name = “Rock Climb”, .Move_Type = “Normal”}, +New Moves With {.ID = 432, .Name = “Defog”, .Move_Type = “Flying”}, +New Moves With {.ID = 433, .Name = “Trick Room”, .Move_Type = “Psychic”}, +New Moves With {.ID = 434, .Name = “Draco Meteor”, .Move_Type = “Dragon”}, +New Moves With {.ID = 435, .Name = “Discharge”, .Move_Type = “Electric”}, +New Moves With {.ID = 436, .Name = “Lava Plume”, .Move_Type = “Fire”}, +New Moves With {.ID = 437, .Name = “Leaf Storm”, .Move_Type = “Grass”}, +New Moves With {.ID = 438, .Name = “Power Whip”, .Move_Type = “Grass”}, +New Moves With {.ID = 439, .Name = “Rock Wrecker”, .Move_Type = “Rock”}, +New Moves With {.ID = 440, .Name = “Cross Poison”, .Move_Type = “Poison”}, +New Moves With {.ID = 441, .Name = “Gunk Shot”, .Move_Type = “Poison”}, +New Moves With {.ID = 442, .Name = “Iron Head”, .Move_Type = “Steel”}, +New Moves With {.ID = 443, .Name = “Magnet Bomb”, .Move_Type = “Steel”}, +New Moves With {.ID = 444, .Name = “Stone Edge”, .Move_Type = “Rock”}, +New Moves With {.ID = 445, .Name = “Captivate”, .Move_Type = “Normal”}, +New Moves With {.ID = 446, .Name = “Stealth Rock”, .Move_Type = “Rock”}, +New Moves With {.ID = 447, .Name = “Grass Knot”, .Move_Type = “Grass”}, +New Moves With {.ID = 448, .Name = “Chatter”, .Move_Type = “Flying”}, +New Moves With {.ID = 449, .Name = “Judgment”, .Move_Type = “Normal”}, +New Moves With {.ID = 450, .Name = “Bug Bite”, .Move_Type = “Bug”}, +New Moves With {.ID = 451, .Name = “Charge Beam”, .Move_Type = “Electric”}, +New Moves With {.ID = 452, .Name = “Wood Hammer”, .Move_Type = “Grass”}, +New Moves With {.ID = 453, .Name = “Aqua Jet”, .Move_Type = “Water”}, +New Moves With {.ID = 454, .Name = “Attack Order”, .Move_Type = “Bug”}, +New Moves With {.ID = 455, .Name = “Defend Order”, .Move_Type = “Bug”}, +New Moves With {.ID = 456, .Name = “Heal Order”, .Move_Type = “Bug”}, +New Moves With {.ID = 457, .Name = “Head Smash”, .Move_Type = “Rock”}, +New Moves With {.ID = 458, .Name = “Double Hit”, .Move_Type = “Normal”}, +New Moves With {.ID = 459, .Name = “Roar of Time”, .Move_Type = “Dragon”}, +New Moves With {.ID = 460, .Name = “Spacial Rend”, .Move_Type = “Dragon”}, +New Moves With {.ID = 461, .Name = “Lunar Dance”, .Move_Type = “Psychic”}, +New Moves With {.ID = 462, .Name = “Crush Grip”, .Move_Type = “Normal”}, +New Moves With {.ID = 463, .Name = “Magma Storm”, .Move_Type = “Fire”}, +New Moves With {.ID = 464, .Name = “Dark Void”, .Move_Type = “Dark”}, +New Moves With {.ID = 465, .Name = “Seed Flare”, .Move_Type = “Grass”}, +New Moves With {.ID = 466, .Name = “Ominous Wind”, .Move_Type = “Ghost”}, +New Moves With {.ID = 467, .Name = “Shadow Force”, .Move_Type = “Ghost”}, +New Moves With {.ID = 468, .Name = “Hone Claws”, .Move_Type = “Dark”}, +New Moves With {.ID = 469, .Name = “Wide Guard”, .Move_Type = “Rock”}, +New Moves With {.ID = 470, .Name = “Guard Split”, .Move_Type = “Psychic”}, +New Moves With {.ID = 471, .Name = “Power Split”, .Move_Type = “Psychic”}, +New Moves With {.ID = 472, .Name = “Wonder Room”, .Move_Type = “Psychic”}, +New Moves With {.ID = 473, .Name = “Psyshock”, .Move_Type = “Psychic”}, +New Moves With {.ID = 474, .Name = “Venoshock”, .Move_Type = “Poison”}, +New Moves With {.ID = 475, .Name = “Autotomize”, .Move_Type = “Steel”}, +New Moves With {.ID = 476, .Name = “Rage Powder”, .Move_Type = “Bug”}, +New Moves With {.ID = 477, .Name = “Telekinesis”, .Move_Type = “Psychic”}, +New Moves With {.ID = 478, .Name = “Magic Room”, .Move_Type = “Psychic”}, +New Moves With {.ID = 479, .Name = “Smack Down”, .Move_Type = “Rock”}, +New Moves With {.ID = 480, .Name = “Storm Throw”, .Move_Type = “Fighting”}, +New Moves With {.ID = 481, .Name = “Flame Burst”, .Move_Type = “Fire”}, +New Moves With {.ID = 482, .Name = “Sludge Wave”, .Move_Type = “Poison”}, +New Moves With {.ID = 483, .Name = “Quiver Dance”, .Move_Type = “Bug”}, +New Moves With {.ID = 484, .Name = “Heavy Slam”, .Move_Type = “Steel”}, +New Moves With {.ID = 485, .Name = “Synchronoise”, .Move_Type = “Psychic”}, +New Moves With {.ID = 486, .Name = “Electro Ball”, .Move_Type = “Electric”}, +New Moves With {.ID = 487, .Name = “Soak”, .Move_Type = “Water”}, +New Moves With {.ID = 488, .Name = “Flame Charge”, .Move_Type = “Fire”}, +New Moves With {.ID = 489, .Name = “Coil”, .Move_Type = “Poison”}, +New Moves With {.ID = 490, .Name = “Low Sweep”, .Move_Type = “Fighting”}, +New Moves With {.ID = 491, .Name = “Acid Spray”, .Move_Type = “Poison”}, +New Moves With {.ID = 492, .Name = “Foul Play”, .Move_Type = “Dark”}, +New Moves With {.ID = 493, .Name = “Simple Beam”, .Move_Type = “Normal”}, +New Moves With {.ID = 494, .Name = “Entrainment”, .Move_Type = “Normal”}, +New Moves With {.ID = 495, .Name = “After You”, .Move_Type = “Normal”}, +New Moves With {.ID = 496, .Name = “Round”, .Move_Type = “Normal”}, +New Moves With {.ID = 497, .Name = “Echoed Voice”, .Move_Type = “Normal”}, +New Moves With {.ID = 498, .Name = “Chip Away”, .Move_Type = “Normal”}, +New Moves With {.ID = 499, .Name = “Clear Smog”, .Move_Type = “Poison”}, +New Moves With {.ID = 500, .Name = “Stored Power”, .Move_Type = “Psychic”}, +New Moves With {.ID = 501, .Name = “Quick Guard”, .Move_Type = “Fighting”}, +New Moves With {.ID = 502, .Name = “Ally Switch”, .Move_Type = “Psychic”}, +New Moves With {.ID = 503, .Name = “Scald”, .Move_Type = “Water”}, +New Moves With {.ID = 504, .Name = “Shell Smash”, .Move_Type = “Normal”}, +New Moves With {.ID = 505, .Name = “Heal Pulse”, .Move_Type = “Psychic”}, +New Moves With {.ID = 506, .Name = “Hex”, .Move_Type = “Ghost”}, +New Moves With {.ID = 507, .Name = “Sky Drop”, .Move_Type = “Flying”}, +New Moves With {.ID = 508, .Name = “Shift Gear”, .Move_Type = “Steel”}, +New Moves With {.ID = 509, .Name = “Circle Throw”, .Move_Type = “Fighting”}, +New Moves With {.ID = 510, .Name = “Incinerate”, .Move_Type = “Fire”}, +New Moves With {.ID = 511, .Name = “Quash”, .Move_Type = “Dark”}, +New Moves With {.ID = 512, .Name = “Acrobatics”, .Move_Type = “Flying”}, +New Moves With {.ID = 513, .Name = “Reflect Type”, .Move_Type = “Normal”}, +New Moves With {.ID = 514, .Name = “Retaliate”, .Move_Type = “Normal”}, +New Moves With {.ID = 515, .Name = “Final Gambit”, .Move_Type = “Fighting”}, +New Moves With {.ID = 516, .Name = “Bestow”, .Move_Type = “Normal”}, +New Moves With {.ID = 517, .Name = “Inferno”, .Move_Type = “Fire”}, +New Moves With {.ID = 518, .Name = “Water Pledge”, .Move_Type = “Water”}, +New Moves With {.ID = 519, .Name = “Fire Pledge”, .Move_Type = “Fire”}, +New Moves With {.ID = 520, .Name = “Grass Pledge”, .Move_Type = “Grass”}, +New Moves With {.ID = 521, .Name = “Volt Switch”, .Move_Type = “Electric”}, +New Moves With {.ID = 522, .Name = “Struggle Bug”, .Move_Type = “Bug”}, +New Moves With {.ID = 523, .Name = “Bulldoze”, .Move_Type = “Ground”}, +New Moves With {.ID = 524, .Name = “Frost Breath”, .Move_Type = “Ice”}, +New Moves With {.ID = 525, .Name = “Dragon Tail”, .Move_Type = “Dragon”}, +New Moves With {.ID = 526, .Name = “Work Up”, .Move_Type = “Normal”}, +New Moves With {.ID = 527, .Name = “Electroweb”, .Move_Type = “Electric”}, +New Moves With {.ID = 528, .Name = “Wild Charge”, .Move_Type = “Electric”}, +New Moves With {.ID = 529, .Name = “Drill Run”, .Move_Type = “Ground”}, +New Moves With {.ID = 530, .Name = “Dual Chop”, .Move_Type = “Dragon”}, +New Moves With {.ID = 531, .Name = “Heart Stamp”, .Move_Type = “Psychic”}, +New Moves With {.ID = 532, .Name = “Horn Leech”, .Move_Type = “Grass”}, +New Moves With {.ID = 533, .Name = “Sacred Sword”, .Move_Type = “Fighting”}, +New Moves With {.ID = 534, .Name = “Razor Shell”, .Move_Type = “Water”}, +New Moves With {.ID = 535, .Name = “Heat Crash”, .Move_Type = “Fire”}, +New Moves With {.ID = 536, .Name = “Leaf Tornado”, .Move_Type = “Grass”}, +New Moves With {.ID = 537, .Name = “Steamroller”, .Move_Type = “Bug”}, +New Moves With {.ID = 538, .Name = “Cotton Guard”, .Move_Type = “Grass”}, +New Moves With {.ID = 539, .Name = “Night Daze”, .Move_Type = “Dark”}, +New Moves With {.ID = 540, .Name = “Psystrike”, .Move_Type = “Psychic”}, +New Moves With {.ID = 541, .Name = “Tail Slap”, .Move_Type = “Normal”}, +New Moves With {.ID = 542, .Name = “Hurricane”, .Move_Type = “Flying”}, +New Moves With {.ID = 543, .Name = “Head Charge”, .Move_Type = “Normal”}, +New Moves With {.ID = 544, .Name = “Gear Grind”, .Move_Type = “Steel”}, +New Moves With {.ID = 545, .Name = “Searing Shot”, .Move_Type = “Fire”}, +New Moves With {.ID = 546, .Name = “Techno Blast”, .Move_Type = “Normal”}, +New Moves With {.ID = 547, .Name = “Relic Song”, .Move_Type = “Normal”}, +New Moves With {.ID = 548, .Name = “Secret Sword”, .Move_Type = “Fighting”}, +New Moves With {.ID = 549, .Name = “Glaciate”, .Move_Type = “Ice”}, +New Moves With {.ID = 550, .Name = “Bolt Strike”, .Move_Type = “Electric”}, +New Moves With {.ID = 551, .Name = “Blue Flare”, .Move_Type = “Fire”}, +New Moves With {.ID = 552, .Name = “Fiery Dance”, .Move_Type = “Fire”}, +New Moves With {.ID = 553, .Name = “Freeze Shock”, .Move_Type = “Ice”}, +New Moves With {.ID = 554, .Name = “Ice Burn”, .Move_Type = “Ice”}, +New Moves With {.ID = 555, .Name = “Snarl”, .Move_Type = “Dark”}, +New Moves With {.ID = 556, .Name = “Icicle Crash”, .Move_Type = “Ice”}, +New Moves With {.ID = 557, .Name = “V-create”, .Move_Type = “Fire”}, +New Moves With {.ID = 558, .Name = “Fusion Flare”, .Move_Type = “Fire”}, +New Moves With {.ID = 559, .Name = “Fusion Bolt”, .Move_Type = “Electric”} } End Function #End Region @@ -2143,7 +2143,7 @@ New Ability With {.ID = 164, .Name = “Teravolt”} Dim list As List(Of Moves) = MoveList() For Each i As Moves In list If i.Name = MoveName Then - Select Case i.mType + Select Case i.Move_Type Case "Bug" Control.ForeColor = Color.FromArgb(&HA8, &HB8, &H20) Case "Dark" diff --git a/Gen5 Distribution Creator/Main.vb b/Gen5 Distribution Creator/Main.vb index 041119a..e776cf2 100644 --- a/Gen5 Distribution Creator/Main.vb +++ b/Gen5 Distribution Creator/Main.vb @@ -7,7 +7,7 @@ Public Class Main Dim apppath As String = My.Application.Info.DirectoryPath 'Path to .exe directory Dim res As String = Path.GetFullPath(Application.StartupPath & "\..\..\Resources\") 'Path to Project Resources Dim TempPath As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Temp" 'Path to Temp - Dim Local As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Regnum\PKMG5DC" 'Path to Local folder + Public Shared Local As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Regnum\PKMG5DC" 'Path to Local folder Dim Gen As Byte = 5 Dim card1 As New Card5 Dim langCksm As UShort() = {&H83BC, &H9D36, &H39AA, &H4418, &HE061, &HF57A} diff --git a/Gen5 Distribution Creator/PGF.vb b/Gen5 Distribution Creator/PGF.vb index eca8c5c..cb6f978 100644 --- a/Gen5 Distribution Creator/PGF.vb +++ b/Gen5 Distribution Creator/PGF.vb @@ -1,45 +1,430 @@ Public Class PGF - Public TID As UShort - Public SID As UShort - Public Origin As Byte + Public Data(&HCB) As Byte + Public Property TID As UShort + Get + Return BitConverter.ToUInt16(Data, &H0) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H0) + End Set + End Property + Public Property SID As UShort + Get + Return BitConverter.ToUInt16(Data, &H2) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H2) + End Set + End Property + Public Property Origin As Byte + Get + Return Data(&H4) + End Get + Set(ByVal value As Byte) + Data(&H4) = CByte(value) + End Set + End Property '00 00 00 - Public PID As UInteger - Public Ribbons(1) As Byte - Public Ball As Byte + Public Property PID As UInteger + Get + Return BitConverter.ToUInt32(Data, &H8) + End Get + Set(ByVal value As UInteger) + BitConverter.GetBytes(value).CopyTo(Data, &H8) + End Set + End Property + Public Property Ribbons1 As Byte + Get + Return Data(&HC) + End Get + Set(ByVal value As Byte) + Data(&HC) = value + End Set + End Property + Public Property Ribbons2 As Byte + Get + Return Data(&HD) + End Get + Set(ByVal value As Byte) + Data(&HD) = value + End Set + End Property +#Region "Ribbons" + Public Property RibbonCountry As Boolean + Get + Return (Ribbons1 And (1 << 0)) = (1 << 0) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 0)) Or If(value, 1 << 0, 0)) + End Set + End Property + Public Property RibbonNational As Boolean + Get + Return (Ribbons1 And (1 << 1)) = (1 << 1) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 1)) Or If(value, 1 << 1, 0)) + End Set + End Property + Public Property RibbonEarth As Boolean + Get + Return (Ribbons1 And (1 << 2)) = (1 << 2) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 2)) Or If(value, 1 << 2, 0)) + End Set + End Property + Public Property RibbonWorld As Boolean + Get + Return (Ribbons1 And (1 << 3)) = (1 << 3) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 3)) Or If(value, 1 << 3, 0)) + End Set + End Property + Public Property RibbonClassic As Boolean + Get + Return (Ribbons1 And (1 << 4)) = (1 << 4) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 4)) Or If(value, 1 << 4, 0)) + End Set + End Property + Public Property RibbonPremier As Boolean + Get + Return (Ribbons1 And (1 << 5)) = (1 << 5) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 5)) Or If(value, 1 << 5, 0)) + End Set + End Property + Public Property RibbonEvent As Boolean + Get + Return (Ribbons1 And (1 << 6)) = (1 << 6) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 6)) Or If(value, 1 << 6, 0)) + End Set + End Property + Public Property RibbonBirthday As Boolean + Get + Return (Ribbons1 And (1 << 7)) = (1 << 7) + End Get + Set(value As Boolean) + Ribbons1 = CByte((Ribbons1 And Not (1 << 7)) Or If(value, 1 << 7, 0)) + End Set + End Property + Public Property RibbonSpecial As Boolean + Get + Return (Ribbons2 And (1 << 0)) = (1 << 0) + End Get + Set(value As Boolean) + Ribbons2 = CByte((Ribbons2 And Not (1 << 0)) Or If(value, 1 << 0, 0)) + End Set + End Property + Public Property RibbonSouvenir As Boolean + Get + Return (Ribbons2 And (1 << 1)) = (1 << 1) + End Get + Set(value As Boolean) + Ribbons2 = CByte((Ribbons2 And Not (1 << 1)) Or If(value, 1 << 1, 0)) + End Set + End Property + Public Property RibbonWishing As Boolean + Get + Return (Ribbons2 And (1 << 2)) = (1 << 2) + End Get + Set(value As Boolean) + Ribbons2 = CByte((Ribbons2 And Not (1 << 2)) Or If(value, 1 << 2, 0)) + End Set + End Property + Public Property RibbonChampionBattle As Boolean + Get + Return (Ribbons2 And (1 << 3)) = (1 << 3) + End Get + Set(value As Boolean) + Ribbons2 = CByte((Ribbons2 And Not (1 << 3)) Or If(value, 1 << 3, 0)) + End Set + End Property + Public Property RibbonChampionRegional As Boolean + Get + Return (Ribbons2 And (1 << 4)) = (1 << 4) + End Get + Set(value As Boolean) + Ribbons2 = CByte((Ribbons2 And Not (1 << 4)) Or If(value, 1 << 4, 0)) + End Set + End Property + Public Property RibbonChampionNational As Boolean + Get + Return (Ribbons2 And (1 << 5)) = (1 << 5) + End Get + Set(value As Boolean) + Ribbons2 = CByte((Ribbons2 And Not (1 << 5)) Or If(value, 1 << 5, 0)) + End Set + End Property + Public Property RibbonChampionWorld As Boolean + Get + Return (Ribbons2 And (1 << 6)) = (1 << 6) + End Get + Set(value As Boolean) + Ribbons2 = CByte((Ribbons2 And Not (1 << 6)) Or If(value, 1 << 6, 0)) + End Set + End Property +#End Region + Public Property Ball As Byte + Get + Return Data(&HE) + End Get + Set(ByVal value As Byte) + Data(&HE) = CByte(value) + End Set + End Property '00 - Public Item As UShort - Public Moves(3) As UShort - Public Dex As UShort + Public Property Item As UShort + Get + Return BitConverter.ToUInt16(Data, &H10) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H10) + End Set + End Property + Public Property Move1 As UShort + Get + Return BitConverter.ToUInt16(Data, &H12) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H12) + End Set + End Property + Public Property Move2 As UShort + Get + Return BitConverter.ToUInt16(Data, &H14) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H14) + End Set + End Property + Public Property Move3 As UShort + Get + Return BitConverter.ToUInt16(Data, &H16) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H16) + End Set + End Property + Public Property Move4 As UShort + Get + Return BitConverter.ToUInt16(Data, &H18) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H18) + End Set + End Property + Public Property Dex As UShort + Get + Return BitConverter.ToUInt16(Data, &H1A) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &H1A) + End Set + End Property '00 - Public Language As Byte - Public Nickname As String '0x14 + Public Property Language As Byte + Get + Return Data(&H1D) + End Get + Set(ByVal value As Byte) + Data(&H1D) = value + End Set + End Property + Public Property Nickname As String '0x14 + Get + Return GetString(Data, &H1E, 20) + End Get + Set(ByVal value As String) + SetString(value, 10).CopyTo(Data, &H1E) + End Set + End Property 'FF FF - Public Nature As Byte - Public Gender As Byte - Public Ability As Byte - Public Shiny As Byte - Public EggMet As UShort - Public Met As UShort - Public Level As Byte - Public ContestStats As String '0x5 - Public Sheen As Byte - Public IVs(5) As Byte '{HP, ATK, DEF, SPE, SpA, SpD} + Public Property Nature As Byte + Get + Return Data(&H34) + End Get + Set(value As Byte) + Data(&H34) = CByte(value) + End Set + End Property + Public Property Gender As Byte + Get + Return Data(&H35) + End Get + Set(value As Byte) + Data(&H35) = CByte(value) + End Set + End Property + Public Property Ability As Byte + Get + Return Data(&H36) + End Get + Set(ByVal value As Byte) + Data(&H36) = value + End Set + End Property + Public Property Shiny As Byte + Get + Return Data(&H37) + End Get + Set(ByVal value As Byte) + Data(&H37) = value + End Set + End Property + Public Property EggMet As UShort + Get + Return BitConverter.ToUInt16(Data, &H38) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(CUShort(value)).CopyTo(Data, &H38) + End Set + End Property + Public Property Met As UShort + Get + Return BitConverter.ToUInt16(Data, &H3A) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(CUShort(value)).CopyTo(Data, &H3A) + End Set + End Property + Public Property Level As Byte + Get + Return Data(&H5B) + End Get + Set(ByVal value As Byte) + Data(&H3C) = CByte(value) + Data(&H5B) = CByte(value) + End Set + End Property + Public Property ContestStats As String '0x5 + Public Property Sheen As Byte + Public Property IV_HP As Byte + Get + Return Data(&H43) + End Get + Set(ByVal value As Byte) + Data(&H43) = value + End Set + End Property + Public Property IV_ATK As Byte + Get + Return Data(&H44) + End Get + Set(ByVal value As Byte) + Data(&H44) = value + End Set + End Property + Public Property IV_DEF As Byte + Get + Return Data(&H45) + End Get + Set(ByVal value As Byte) + Data(&H45) = value + End Set + End Property + Public Property IV_SPE As Byte + Get + Return Data(&H46) + End Get + Set(ByVal value As Byte) + Data(&H46) = value + End Set + End Property + Public Property IV_SPA As Byte + Get + Return Data(&H47) + End Get + Set(ByVal value As Byte) + Data(&H47) = value + End Set + End Property + Public Property IV_SPD As Byte + Get + Return Data(&H48) + End Get + Set(ByVal value As Byte) + Data(&H48) = value + End Set + End Property '00 - Public OT_Name As String '0xE + Public Property OT_Name As String '0xE + Get + Return GetString(Data, &H4A, &HE) + End Get + Set(ByVal value As String) + SetString(value, 7).CopyTo(Data, &H4A) + End Set + End Property 'FF FF - Public OT_Gender As Byte + Public Property OT_Gender As Byte + Get + Return Data(&H5A) + End Get + Set(ByVal value As Byte) + Data(&H5A) = value + End Set + End Property 'Level - Public Egg As Byte + Public Property Egg As Byte + Get + Return Data(&H5C) + End Get + Set(ByVal value As Byte) + Data(&H5C) = value + End Set + End Property '00 00 00 - Public EventTitle As String '0x48 + Public Property EventTitle As String '0x48 + Get + Return GetString(Data, &H60, &H48) + End Get + Set(ByVal value As String) + SetString(value, 36).CopyTo(Data, &H60) + End Set + End Property 'FF FF '00 00 - Public RecieveDay As Byte = 0 - Public RecieveMonth As Byte = 0 - Public RecieveYear As UShort = 0 - Public CardID As UShort - Public CardFrom As Byte = &H44 - Public CardType As Byte - Public Status As Byte = 1 + Public Property RecieveDay As Byte = 0 + Public Property RecieveMonth As Byte = 0 + Public Property RecieveYear As UShort = 0 + Public Property CardID As UShort + Get + Return BitConverter.ToUInt16(Data, &HB0) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(value).CopyTo(Data, &HB0) + End Set + End Property + Public Property CardFrom As Byte + Get + Return Data(&HB2) + End Get + Set(ByVal value As Byte) + Data(&HB2) = value + End Set + End Property + Public Property CardType As Byte + Get + Return Data(&HB3) + End Get + Set(ByVal value As Byte) + Data(&HB3) = value + End Set + End Property + Public Property Status As Byte + Get + Return Data(&HB4) + End Get + Set(ByVal value As Byte) + Data(&HB4) = value + End Set + End Property '00 for 0x17 End Class diff --git a/Gen5 Distribution Creator/PGFCreator.Designer.vb b/Gen5 Distribution Creator/PGFCreator.Designer.vb index 25b04e1..0fc2b80 100644 --- a/Gen5 Distribution Creator/PGFCreator.Designer.vb +++ b/Gen5 Distribution Creator/PGFCreator.Designer.vb @@ -36,14 +36,24 @@ Partial Class PGFCreator Me.lbl_Species = New System.Windows.Forms.Label() Me.ComboBox2 = New System.Windows.Forms.ComboBox() Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.ComboBox1 = New System.Windows.Forms.ComboBox() + Me.Label3 = New System.Windows.Forms.Label() + Me.nud_CardID = New System.Windows.Forms.NumericUpDown() + Me.Label1 = New System.Windows.Forms.Label() + Me.Button1 = New System.Windows.Forms.Button() Me.GroupBox1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox3.SuspendLayout() + CType(Me.nud_CardID, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'PK5Name ' Me.PK5Name.AutoEllipsis = True Me.PK5Name.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.PK5Name.Location = New System.Drawing.Point(35, 55) + Me.PK5Name.Location = New System.Drawing.Point(6, 28) Me.PK5Name.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0) Me.PK5Name.Name = "PK5Name" Me.PK5Name.Size = New System.Drawing.Size(330, 17) @@ -53,7 +63,7 @@ Partial Class PGFCreator ' 'OpenPK5 ' - Me.OpenPK5.Location = New System.Drawing.Point(367, 51) + Me.OpenPK5.Location = New System.Drawing.Point(338, 24) Me.OpenPK5.Name = "OpenPK5" Me.OpenPK5.Size = New System.Drawing.Size(75, 23) Me.OpenPK5.TabIndex = 9 @@ -154,25 +164,98 @@ Partial Class PGFCreator ' Me.ComboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox2.FormattingEnabled = True - Me.ComboBox2.Location = New System.Drawing.Point(71, 233) + Me.ComboBox2.Items.AddRange(New Object() {"Pokémon", "Item"}) + Me.ComboBox2.Location = New System.Drawing.Point(28, 47) Me.ComboBox2.Name = "ComboBox2" - Me.ComboBox2.Size = New System.Drawing.Size(189, 21) + Me.ComboBox2.Size = New System.Drawing.Size(94, 21) Me.ComboBox2.TabIndex = 13 ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.PK5Name) + Me.GroupBox2.Controls.Add(Me.OpenPK5) + Me.GroupBox2.Location = New System.Drawing.Point(12, 96) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(423, 71) + Me.GroupBox2.TabIndex = 14 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Pokemon" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.ComboBox1) + Me.GroupBox3.Location = New System.Drawing.Point(18, 174) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(417, 78) + Me.GroupBox3.TabIndex = 15 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Item" + ' + 'ComboBox1 + ' + Me.ComboBox1.FormattingEnabled = True + Me.ComboBox1.Location = New System.Drawing.Point(25, 35) + Me.ComboBox1.Name = "ComboBox1" + Me.ComboBox1.Size = New System.Drawing.Size(260, 21) + Me.ComboBox1.TabIndex = 0 + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(128, 33) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(46, 13) + Me.Label3.TabIndex = 17 + Me.Label3.Text = "Card ID:" + ' + 'nud_CardID + ' + Me.nud_CardID.Location = New System.Drawing.Point(128, 46) + Me.nud_CardID.Maximum = New Decimal(New Integer() {65535, 0, 0, 0}) + Me.nud_CardID.Name = "nud_CardID" + Me.nud_CardID.Size = New System.Drawing.Size(60, 20) + Me.nud_CardID.TabIndex = 16 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(25, 33) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(59, 13) + Me.Label1.TabIndex = 18 + Me.Label1.Text = "Card Type:" + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(227, 295) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 19 + Me.Button1.Text = "Button1" + Me.Button1.UseVisualStyleBackColor = True + ' 'PGFCreator ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.nud_CardID) + Me.Controls.Add(Me.GroupBox3) + Me.Controls.Add(Me.GroupBox2) Me.Controls.Add(Me.ComboBox2) Me.Controls.Add(Me.GroupBox1) - Me.Controls.Add(Me.PK5Name) - Me.Controls.Add(Me.OpenPK5) Me.Name = "PGFCreator" Me.Text = "PGFCreator" Me.GroupBox1.ResumeLayout(False) Me.GroupBox1.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox3.ResumeLayout(False) + CType(Me.nud_CardID, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) + Me.PerformLayout() End Sub @@ -189,4 +272,11 @@ Partial Class PGFCreator Friend WithEvents lbl_Nature As Label Friend WithEvents lbl_Ability As Label Friend WithEvents ToolTip1 As ToolTip + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents ComboBox1 As ComboBox + Friend WithEvents Label3 As Label + Friend WithEvents nud_CardID As NumericUpDown + Friend WithEvents Label1 As Label + Friend WithEvents Button1 As Button End Class diff --git a/Gen5 Distribution Creator/PGFCreator.resx b/Gen5 Distribution Creator/PGFCreator.resx index beae4c1..e733a2d 100644 --- a/Gen5 Distribution Creator/PGFCreator.resx +++ b/Gen5 Distribution Creator/PGFCreator.resx @@ -120,4 +120,7 @@ 17, 17 + + 17, 17 + \ No newline at end of file diff --git a/Gen5 Distribution Creator/PGFCreator.vb b/Gen5 Distribution Creator/PGFCreator.vb index 14626c1..c05cb07 100644 --- a/Gen5 Distribution Creator/PGFCreator.vb +++ b/Gen5 Distribution Creator/PGFCreator.vb @@ -2,21 +2,23 @@ Public Class PGFCreator Dim WC As New PGF - Dim InputPK5 As String - Dim a As New List(Of Items) + Dim InputPK5 As New PK5 Private Sub PGFCreator_Load(sender As Object, e As EventArgs) Handles MyBase.Load - PopulateMoves(ComboBox2) + PopulateItems(ComboBox1) + ComboBox2.SelectedIndex = 0 + ComboBox1.SelectedIndex = 0 End Sub Private Sub OpenPK5_Click(sender As Object, e As EventArgs) Handles OpenPK5.Click - Dim OpenFile As New OpenFileDialog - OpenFile.Filter = "Gen 5 PKM (*.pk5)|*.pk5|All files (*.*)|*.*" + Dim OpenFile As New OpenFileDialog With { + .Filter = "Gen 5 PKM (*.pk5)|*.pk5|All files (*.*)|*.*" + } Dim res As DialogResult = OpenFile.ShowDialog() If res <> Windows.Forms.DialogResult.Cancel Then Dim myFile As String = Path.GetFileName(OpenFile.FileName) PK5Name.Text = myFile - InputPK5 = ByteArrayToHexString(OpenFile.FileName) + InputPK5.Data = File.ReadAllBytes(OpenFile.FileName) GrabValues() End If End Sub @@ -24,60 +26,83 @@ Public Class PGFCreator Private Sub GrabValues() Try With WC - .TID = Convert.ToUInt16(Little_Endian(InputPK5.Remove(28).ToArray().Skip(24).ToArray(), 4), 16) - .SID = Convert.ToUInt16(Little_Endian(InputPK5.Remove(32).ToArray().Skip(28).ToArray(), 4), 16) - .Origin = Convert.ToUInt16(InputPK5.Remove(192).ToArray().Skip(190).ToArray(), 16) - .Ribbons(0) = Convert.ToUInt16(InputPK5.Remove(78).ToArray().Skip(76).ToArray(), 16) - .Ribbons(1) = Convert.ToUInt16(InputPK5.Remove(80).ToArray().Skip(78).ToArray(), 16) - .Ball = Convert.ToUInt16(InputPK5.Remove(264).ToArray().Skip(262).ToArray(), 16) - .Item = Convert.ToUInt16(Little_Endian(InputPK5.Remove(24).ToArray().Skip(20).ToArray(), 4), 16) - .Moves(0) = Convert.ToUInt16(Little_Endian(InputPK5.Remove(84).ToArray().Skip(80).ToArray(), 4), 16) - .Moves(1) = Convert.ToUInt16(Little_Endian(InputPK5.Remove(88).ToArray().Skip(84).ToArray(), 4), 16) - .Moves(2) = Convert.ToUInt16(Little_Endian(InputPK5.Remove(92).ToArray().Skip(88).ToArray(), 4), 16) - .Moves(3) = Convert.ToUInt16(Little_Endian(InputPK5.Remove(96).ToArray().Skip(92).ToArray(), 4), 16) - .Dex = Convert.ToUInt16(Little_Endian(InputPK5.Remove(20).ToArray().Skip(16).ToArray(), 4), 16) - .Language = Convert.ToUInt16(InputPK5.Remove(48).ToArray().Skip(46).ToArray(), 16) - .Nickname = InputPK5.Remove(188).ToArray().Skip(144).ToArray() - .Nature = Convert.ToUInt16(InputPK5.Remove(132).ToArray().Skip(130).ToArray(), 16) - .EggMet = Convert.ToUInt16(Little_Endian(InputPK5.Remove(256).ToArray().Skip(252).ToArray(), 4), 16) - .Met = Convert.ToUInt16(Little_Endian(InputPK5.Remove(260).ToArray().Skip(256).ToArray(), 4), 16) - Dim bloc As String = Hex_Zeros(Convert.ToString(Convert.ToUInt32(Little_Endian(InputPK5.Remove(120).ToArray().Skip(112).ToArray(), 8), 16), 2), 32) - .IVs(0) = Convert.ToInt32(bloc.Skip(27).ToArray(), 2) - .IVs(1) = Convert.ToInt32(bloc.Remove(27).ToArray().Skip(22).ToArray(), 2) - .IVs(2) = Convert.ToInt32(bloc.Remove(22).ToArray().Skip(17).ToArray(), 2) - .IVs(3) = Convert.ToInt32(bloc.Remove(17).ToArray().Skip(12).ToArray(), 2) - .IVs(4) = Convert.ToInt32(bloc.Remove(12).ToArray().Skip(7).ToArray(), 2) - .IVs(5) = Convert.ToInt32(bloc.Remove(7).ToArray().Skip(2).ToArray(), 2) - .Egg = Convert.ToUInt16(bloc.Remove(3).ToArray().Skip(1).ToArray(), 2) - .OT_Name = InputPK5.Remove(240).ToArray().Skip(208).ToArray() - .OT_Gender = Convert.ToUInt16(Hex_Zeros(Convert.ToString(Convert.ToUInt16(InputPK5.Remove(266).ToArray().Skip(264).ToArray(), 16), 2), 8).ToString.Remove(1), 2) - .Gender = Convert.ToUInt16(Hex_Zeros(Convert.ToString(Convert.ToUInt16(InputPK5.Remove(130).ToArray().Skip(128).ToArray(), 16), 2), 8).ToString.Remove(7).ToArray().Skip(6).ToArray(), 2) + Select Case WC.CardType + Case 1 + .TID = InputPK5.TID + .SID = InputPK5.SID + .Origin = InputPK5.Origin + .PID = InputPK5.PID + .Ball = InputPK5.Ball + .Item = InputPK5.Item + .Move1 = InputPK5.Move1 + .Move2 = InputPK5.Move2 + .Move3 = InputPK5.Move3 + .Move4 = InputPK5.Move4 + .Dex = InputPK5.Dex + .Language = InputPK5.Language + .Nickname = InputPK5.Nickname + .Nature = InputPK5.Nature + .EggMet = InputPK5.EggMet + .Met = InputPK5.Met + .IV_HP = InputPK5.IV_HP + .IV_ATK = InputPK5.IV_ATK + .IV_DEF = InputPK5.IV_DEF + .IV_SPE = InputPK5.IV_SPE + .IV_SPA = InputPK5.IV_SPA + .IV_SPD = InputPK5.IV_SPD + .Egg = InputPK5.IsEgg + .OT_Name = InputPK5.OT_Name + .OT_Gender = InputPK5.OT_Gender + .Gender = InputPK5.Gender + .Level = InputPK5.Level + ConvertValues() + Desc() + Case 2 + .TID = GetItemID(ComboBox1.Text) + Case 3 + End Select + .EventTitle = "A special Zoroark!" + .CardID = CUShort(nud_CardID.Value) + .CardFrom = &H44 + .Status = 1 + 'ability, shiny, event title, cardID, cardType End With - ConvertValues() - Desc() + Catch ex As Exception End Try End Sub Private Sub ConvertValues() 'Ribbons - Dim hr As Char() = Hex_Zeros(Convert.ToString(Convert.ToUInt16(InputPK5.Remove(128).ToArray().Skip(126).ToArray(), 16), 2), 8).ToString.ToCharArray() - Dim bits As Char() = Hex_Zeros(Convert.ToString(WC.Ribbons(0), 2), 8).ToString.ToCharArray - Dim bits2 As Char() = Hex_Zeros(Convert.ToString(WC.Ribbons(1), 2), 8).ToString.ToCharArray - WC.Ribbons(0) = Convert.ToUInt16(bits(1) & bits(4) & bits2(4) & bits2(5) & hr(0) & hr(1) & hr(2) & hr(3), 2) - WC.Ribbons(1) = Convert.ToUInt16("0" & bits(2) & hr(4) & hr(5) & hr(6) & bits2(6) & bits2(7) & bits(0), 2) + With WC + .RibbonBirthday = InputPK5.RibbonBirthday + .RibbonEvent = InputPK5.RibbonEvent + .RibbonPremier = InputPK5.RibbonPremier + .RibbonClassic = InputPK5.RibbonClassic + .RibbonWorld = InputPK5.RibbonWorld + .RibbonEarth = InputPK5.RibbonEarth + .RibbonNational = InputPK5.RibbonNational + .RibbonCountry = InputPK5.RibbonCountry + .RibbonChampionWorld = InputPK5.RibbonChampionWorld + .RibbonChampionNational = InputPK5.RibbonChampionNational + .RibbonChampionRegional = InputPK5.RibbonChampionRegional + .RibbonChampionBattle = InputPK5.RibbonChampionBattle + .RibbonWishing = InputPK5.RibbonWishing + .RibbonSouvenir = InputPK5.RibbonSouvenir + .RibbonSpecial = InputPK5.RibbonSpecial + End With + End Sub Private Sub Desc() - With WC + With InputPK5 lbl_Species.Text = GetPokeName(.Dex) & " @ " & GetItemName(.Item) - lbl_IVs.Text = "IVs: " & .IVs(0) & "/" & .IVs(1) & "/" & .IVs(2) & "/" & .IVs(4) & "/" & .IVs(5) & "/" & .IVs(3) - Dim abl As UShort = Convert.ToUInt16(InputPK5.Remove(44).ToArray().Skip(42).ToArray(), 16) - lbl_Ability.Text = "Ability: " & GetAbilityName(abl) + lbl_IVs.Text = "IVs: " & .IV_HP & "/" & .IV_ATK & "/" & .IV_DEF & "/" & .IV_SPA & "/" & .IV_SPD & "/" & .IV_SPE + lbl_Ability.Text = "Ability: " & GetAbilityName(.Ability) lbl_Nature.Text = "Nature: " & GetNature(.Nature) - lbl_Move1.Text = GetMoveName(.Moves(0)) - lbl_Move2.Text = GetMoveName(.Moves(1)) - lbl_Move3.Text = GetMoveName(.Moves(2)) - lbl_Move4.Text = GetMoveName(.Moves(3)) + lbl_Move1.Text = GetMoveName(.Move1) + lbl_Move2.Text = GetMoveName(.Move2) + lbl_Move3.Text = GetMoveName(.Move3) + lbl_Move4.Text = GetMoveName(.Move4) TypeMove(lbl_Move1, lbl_Move1.Text) TypeMove(lbl_Move2, lbl_Move2.Text) TypeMove(lbl_Move3, lbl_Move3.Text) @@ -91,8 +116,38 @@ Public Class PGFCreator Return Natures(Num) End Function - 'Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged - ' Debug.Print(GetMoveID(ComboBox2.SelectedItem.ToString)) - ' TypeMove(lbl_Species, ComboBox2.SelectedItem.ToString) - 'End Sub + Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged + Select Case ComboBox2.Text + Case "Pokémon" + GroupBox3.Enabled = False + GroupBox2.Enabled = True + Array.Clear(WC.Data, 0, &H5F) + WC.CardType = 1 + Case "Item" + GroupBox3.Enabled = True + GroupBox2.Enabled = False + Array.Clear(WC.Data, 0, &H5F) + WC.CardType = 2 + Case "Power" + GroupBox3.Enabled = True + GroupBox2.Enabled = False + Array.Clear(WC.Data, 0, &H5F) + WC.CardType = 3 + End Select + GrabValues() + 'Debug.Print(GetMoveID(ComboBox2.SelectedItem.ToString)) + 'TypeMove(lbl_Species, ComboBox2.SelectedItem.ToString) + End Sub + + Private Sub Nud_CardID_ValueChanged(sender As Object, e As EventArgs) Handles nud_CardID.ValueChanged + WC.CardID = nud_CardID.Value + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + My.Computer.FileSystem.WriteAllBytes(Main.Local & "\output.pgf", WC.Data, False) + End Sub + + Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged + WC.TID = GetItemID(ComboBox1.Text) + End Sub End Class \ No newline at end of file diff --git a/Gen5 Distribution Creator/PK5.vb b/Gen5 Distribution Creator/PK5.vb index 6966926..633de71 100644 --- a/Gen5 Distribution Creator/PK5.vb +++ b/Gen5 Distribution Creator/PK5.vb @@ -1,221 +1,221 @@ Public Class PK5 - Public InputPK5 As Byte() + Public Data As Byte() 'Private Shared ReadOnly Unused As UShort() = {&H87, &H42, &H43, &H44, &H45, &H46, &H47, &H5E, &H63, &H64, &H65, &H66, &H67, &H86} Public Property PID As UInteger Get - Return BitConverter.ToUInt32(InputPK5, &H0) + Return BitConverter.ToUInt32(Data, &H0) End Get Set(ByVal value As UInteger) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H0) + BitConverter.GetBytes(value).CopyTo(Data, &H0) End Set End Property '00 00 Public Property Checksum As UShort Get - Return BitConverter.ToUInt16(InputPK5, &H6) + Return BitConverter.ToUInt16(Data, &H6) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H6) + BitConverter.GetBytes(value).CopyTo(Data, &H6) End Set End Property Public Property Dex As UShort Get - Return BitConverter.ToUInt16(InputPK5, &H8) + Return BitConverter.ToUInt16(Data, &H8) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H8) + BitConverter.GetBytes(value).CopyTo(Data, &H8) End Set End Property Public Property Item As UShort Get - Return BitConverter.ToUInt16(InputPK5, &HA) + Return BitConverter.ToUInt16(Data, &HA) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &HA) + BitConverter.GetBytes(value).CopyTo(Data, &HA) End Set End Property Public Property TID As UShort Get - Return BitConverter.ToUInt16(InputPK5, &HC) + Return BitConverter.ToUInt16(Data, &HC) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &HC) + BitConverter.GetBytes(value).CopyTo(Data, &HC) End Set End Property Public Property SID As UShort Get - Return BitConverter.ToUInt16(InputPK5, &HE) + Return BitConverter.ToUInt16(Data, &HE) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &HE) + BitConverter.GetBytes(value).CopyTo(Data, &HE) End Set End Property Public Property Exp As UInteger Get - Return BitConverter.ToUInt32(InputPK5, &H10) + Return BitConverter.ToUInt32(Data, &H10) End Get Set(ByVal value As UInteger) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H10) + BitConverter.GetBytes(value).CopyTo(Data, &H10) End Set End Property Public Property Friendship As Byte 'Egg Steps Get - Return InputPK5(&H14) + Return Data(&H14) End Get Set(ByVal value As Byte) - InputPK5(&H14) = value + Data(&H14) = value End Set End Property Public Property Ability As Byte Get - Return InputPK5(&H15) + Return Data(&H15) End Get Set(ByVal value As Byte) - InputPK5(&H15) = value + Data(&H15) = value End Set End Property Public Property Markings As Byte Get - Return InputPK5(&H16) + Return Data(&H16) End Get Set(ByVal value As Byte) - InputPK5(&H16) = value + Data(&H16) = value End Set End Property Public Property Language As Byte Get - Return InputPK5(&H17) + Return Data(&H17) End Get Set(ByVal value As Byte) - InputPK5(&H17) = value + Data(&H17) = value End Set End Property Public Property EV_HP As Byte Get - Return InputPK5(&H18) + Return Data(&H18) End Get Set(ByVal value As Byte) - InputPK5(&H18) = value + Data(&H18) = value End Set End Property Public Property EV_ATK As Byte Get - Return InputPK5(&H19) + Return Data(&H19) End Get Set(ByVal value As Byte) - InputPK5(&H19) = value + Data(&H19) = value End Set End Property Public Property EV_DEF As Byte Get - Return InputPK5(&H1A) + Return Data(&H1A) End Get Set(ByVal value As Byte) - InputPK5(&H1A) = value + Data(&H1A) = value End Set End Property Public Property EV_SPE As Byte Get - Return InputPK5(&H1B) + Return Data(&H1B) End Get Set(ByVal value As Byte) - InputPK5(&H1B) = value + Data(&H1B) = value End Set End Property Public Property EV_SPA As Byte Get - Return InputPK5(&H1C) + Return Data(&H1C) End Get Set(ByVal value As Byte) - InputPK5(&H1C) = value + Data(&H1C) = value End Set End Property Public Property EV_SPD As Byte Get - Return InputPK5(&H1D) + Return Data(&H1D) End Get Set(ByVal value As Byte) - InputPK5(&H1D) = value + Data(&H1D) = value End Set End Property Public Property CV_Cool As Byte Get - Return InputPK5(&H1E) + Return Data(&H1E) End Get Set(ByVal value As Byte) - InputPK5(&H18) = value + Data(&H18) = value End Set End Property Public Property CV_Beauty As Byte Get - Return InputPK5(&H1F) + Return Data(&H1F) End Get Set(ByVal value As Byte) - InputPK5(&H19) = value + Data(&H19) = value End Set End Property Public Property CV_Cute As Byte Get - Return InputPK5(&H20) + Return Data(&H20) End Get Set(ByVal value As Byte) - InputPK5(&H20) = value + Data(&H20) = value End Set End Property Public Property CV_Smart As Byte Get - Return InputPK5(&H21) + Return Data(&H21) End Get Set(ByVal value As Byte) - InputPK5(&H21) = value + Data(&H21) = value End Set End Property Public Property CV_Tough As Byte Get - Return InputPK5(&H22) + Return Data(&H22) End Get Set(ByVal value As Byte) - InputPK5(&H22) = value + Data(&H22) = value End Set End Property Public Property CV_Sheen As Byte Get - Return InputPK5(&H23) + Return Data(&H23) End Get Set(ByVal value As Byte) - InputPK5(&H23) = value + Data(&H23) = value End Set End Property Public Property Sinnoh1_Ribbons1 As Byte Get - Return InputPK5(&H24) + Return Data(&H24) End Get Set(ByVal value As Byte) - InputPK5(&H24) = value + Data(&H24) = value End Set End Property Public Property Sinnoh1_Ribbons2 As Byte Get - Return InputPK5(&H25) + Return Data(&H25) End Get Set(ByVal value As Byte) - InputPK5(&H25) = value + Data(&H25) = value End Set End Property Public Property Unova_Ribbons1 As Byte Get - Return InputPK5(&H26) + Return Data(&H26) End Get Set(ByVal value As Byte) - InputPK5(&H26) = value + Data(&H26) = value End Set End Property Public Property Unova_Ribbons2 As Byte Get - Return InputPK5(&H27) + Return Data(&H27) End Get Set(ByVal value As Byte) - InputPK5(&H27) = value + Data(&H27) = value End Set End Property #Region "Ribbons" @@ -446,106 +446,106 @@ #End Region Public Property Move1 As UShort Get - Return BitConverter.ToUInt16(InputPK5, &H28) + Return BitConverter.ToUInt16(Data, &H28) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H28) + BitConverter.GetBytes(value).CopyTo(Data, &H28) End Set End Property Public Property Move2 As UShort Get - Return BitConverter.ToUInt16(InputPK5, &H2A) + Return BitConverter.ToUInt16(Data, &H2A) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H2A) + BitConverter.GetBytes(value).CopyTo(Data, &H2A) End Set End Property Public Property Move3 As UShort Get - Return BitConverter.ToUInt16(InputPK5, &H2C) + Return BitConverter.ToUInt16(Data, &H2C) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H2C) + BitConverter.GetBytes(value).CopyTo(Data, &H2C) End Set End Property Public Property Move4 As UShort Get - Return BitConverter.ToUInt16(InputPK5, &H2E) + Return BitConverter.ToUInt16(Data, &H2E) End Get Set(ByVal value As UShort) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H2E) + BitConverter.GetBytes(value).CopyTo(Data, &H2E) End Set End Property Public Property Move1_PP As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H30) + Return BitConverter.ToUInt16(Data, &H30) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H30) + BitConverter.GetBytes(value).CopyTo(Data, &H30) End Set End Property Public Property Move2_PP As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H31) + Return BitConverter.ToUInt16(Data, &H31) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H31) + BitConverter.GetBytes(value).CopyTo(Data, &H31) End Set End Property Public Property Move3_PP As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H32) + Return BitConverter.ToUInt16(Data, &H32) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H32) + BitConverter.GetBytes(value).CopyTo(Data, &H32) End Set End Property Public Property Move4_PP As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H33) + Return BitConverter.ToUInt16(Data, &H33) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H33) + BitConverter.GetBytes(value).CopyTo(Data, &H33) End Set End Property Public Property Move1_PPUps As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H34) + Return BitConverter.ToUInt16(Data, &H34) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H34) + BitConverter.GetBytes(value).CopyTo(Data, &H34) End Set End Property Public Property Move2_PPUps As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H35) + Return BitConverter.ToUInt16(Data, &H35) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H35) + BitConverter.GetBytes(value).CopyTo(Data, &H35) End Set End Property Public Property Move3_PPUps As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H36) + Return BitConverter.ToUInt16(Data, &H36) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H36) + BitConverter.GetBytes(value).CopyTo(Data, &H36) End Set End Property Public Property Move4_PPUps As Byte Get - Return BitConverter.ToUInt16(InputPK5, &H37) + Return BitConverter.ToUInt16(Data, &H37) End Get Set(ByVal value As Byte) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H37) + BitConverter.GetBytes(value).CopyTo(Data, &H37) End Set End Property Public Property BlocIV As UInteger Get - Return BitConverter.ToUInt32(InputPK5, &H38) + Return BitConverter.ToUInt32(Data, &H38) End Get Set(ByVal value As UInteger) - BitConverter.GetBytes(value).CopyTo(InputPK5, &H38) + BitConverter.GetBytes(value).CopyTo(Data, &H38) End Set End Property Public Property IV_HP As Byte @@ -614,34 +614,34 @@ End Property Public Property Hoenn1_Ribbons1 As Byte Get - Return InputPK5(&H3C) + Return Data(&H3C) End Get Set(ByVal value As Byte) - InputPK5(&H3C) = value + Data(&H3C) = value End Set End Property Public Property Hoenn1_Ribbons2 As Byte Get - Return InputPK5(&H3D) + Return Data(&H3D) End Get Set(ByVal value As Byte) - InputPK5(&H3D) = value + Data(&H3D) = value End Set End Property Public Property Hoenn2_Ribbons1 As Byte Get - Return InputPK5(&H3E) + Return Data(&H3E) End Get Set(ByVal value As Byte) - InputPK5(&H3E) = value + Data(&H3E) = value End Set End Property Public Property Hoenn2_Ribbons2 As Byte Get - Return InputPK5(&H3F) + Return Data(&H3F) End Get Set(ByVal value As Byte) - InputPK5(&H3F) = value + Data(&H3F) = value End Set End Property #Region "Hoenn Ribbons" @@ -904,82 +904,411 @@ #End Region Public Property FatefulEncounter As Boolean Get - Return (InputPK5(&H40) And 1) = 1 + Return (Data(&H40) And 1) = 1 End Get Set(value As Boolean) - InputPK5(&H40) = CByte((InputPK5(&H40) And Not (&H1)) Or If(value, 1, 0)) + Data(&H40) = CByte((Data(&H40) And Not (&H1)) Or If(value, 1, 0)) End Set End Property Public Property Gender As Byte Get - Return (InputPK5(&H40) >> 1) And &H3 + Return (Data(&H40) >> 1) And &H3 End Get Set(value As Byte) - InputPK5(&H40) = CByte((InputPK5(&H40) And Not (&H6)) Or (value << 1)) + Data(&H40) = CByte((Data(&H40) And Not (&H6)) Or (value << 1)) End Set End Property Public Property Forms As Byte '{ set => Data[0x40] = (byte)((Data[0x40] & 0x07) | (value << 3)); } Get - Return (InputPK5(&H40) >> 3) + Return (Data(&H40) >> 3) End Get Set(value As Byte) - InputPK5(&H40) = CByte((InputPK5(&H40) And (&H7)) Or (value << 3)) + Data(&H40) = CByte((Data(&H40) And (&H7)) Or (value << 3)) End Set End Property Public Property Nature As Byte Get - Return InputPK5(&H41) + Return Data(&H41) End Get Set(value As Byte) - InputPK5(&H41) = CByte(value) + Data(&H41) = CByte(value) End Set End Property Public Property HA As Boolean Get - Return (InputPK5(&H42) And 1) = 1 + Return (Data(&H42) And 1) = 1 End Get Set(value As Boolean) - InputPK5(&H42) = CByte((InputPK5(&H40) And Not (&H1)) Or If(value, 1, 0)) + Data(&H42) = CByte((Data(&H40) And Not (&H1)) Or If(value, 1, 0)) End Set End Property Public Property N As Boolean Get - Return (InputPK5(&H42) And 2) = 2 + Return (Data(&H42) And 2) = 2 End Get Set(value As Boolean) - InputPK5(&H42) = CByte((InputPK5(&H40) And Not (&H2)) Or If(value, 2, 0)) + Data(&H42) = CByte((Data(&H40) And Not (&H2)) Or If(value, 2, 0)) End Set End Property '00 '00 00 00 00 Public Property Nickname As String '0x14 + Get + Return GetString(Data, &H48, 20) + End Get + Set(ByVal value As String) + SetString(value, 10).CopyTo(Data, &H48) + End Set + End Property 'FF FF '00 Public Property Origin As Byte - Public Property SinnohRibbons3(1) As Byte - Public Property SinnohRibbons4(1) As Byte + Get + Return Data(&H5F) + End Get + Set(ByVal value As Byte) + Data(&H5F) = CByte(value) + End Set + End Property + Public Property Sinnoh3_Ribbons1 As Byte + Get + Return Data(&H60) + End Get + Set(ByVal value As Byte) + Data(&H60) = value + End Set + End Property + Public Property Sinnoh3_Ribbons2 As Byte + Get + Return Data(&H61) + End Get + Set(ByVal value As Byte) + Data(&H61) = value + End Set + End Property + Public Property Sinnoh4_Ribbons1 As Byte + Get + Return Data(&H62) + End Get + Set(ByVal value As Byte) + Data(&H62) = value + End Set + End Property + Public Property Sinnoh4_Ribbons2 As Byte + Get + Return Data(&H63) + End Get + Set(ByVal value As Byte) + Data(&H63) = value + End Set + End Property +#Region "Sinnoh Ribbons" + Public Property RibbonG4Cool As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 0)) = (1 << 0) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 0)) Or If(value, 1 << 0, 0)) + End Set + End Property + Public Property RibbonG4CoolGreat As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 1)) = (1 << 1) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 1)) Or If(value, 1 << 1, 0)) + End Set + End Property + Public Property RibbonG4CoolUltra As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 2)) = (1 << 2) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 2)) Or If(value, 1 << 2, 0)) + End Set + End Property + Public Property RibbonG4CoolMaster As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 3)) = (1 << 3) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 3)) Or If(value, 1 << 3, 0)) + End Set + End Property + Public Property RibbonG4Beauty As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 4)) = (1 << 4) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 4)) Or If(value, 1 << 4, 0)) + End Set + End Property + Public Property RibbonG4BeautyGreat As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 5)) = (1 << 5) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 5)) Or If(value, 1 << 5, 0)) + End Set + End Property + Public Property RibbonG4BeautyUltra As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 6)) = (1 << 6) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 6)) Or If(value, 1 << 6, 0)) + End Set + End Property + Public Property RibbonG4BeautyMaster As Boolean + Get + Return (Sinnoh3_Ribbons1 And (1 << 7)) = (1 << 7) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons1 = CByte((Sinnoh3_Ribbons1 And Not (1 << 7)) Or If(value, 1 << 7, 0)) + End Set + End Property + Public Property RibbonG4Cute As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 0)) = (1 << 0) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 0)) Or If(value, 1 << 0, 0)) + End Set + End Property + Public Property RibbonG4CuteGreat As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 1)) = (1 << 1) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 1)) Or If(value, 1 << 1, 0)) + End Set + End Property + Public Property RibbonG4CuteUltra As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 2)) = (1 << 2) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 2)) Or If(value, 1 << 2, 0)) + End Set + End Property + Public Property RibbonG4CuteMaster As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 3)) = (1 << 3) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 3)) Or If(value, 1 << 3, 0)) + End Set + End Property + Public Property RibbonG4Smart As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 4)) = (1 << 4) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 4)) Or If(value, 1 << 4, 0)) + End Set + End Property + Public Property RibbonG4SmartGreat As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 5)) = (1 << 5) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 5)) Or If(value, 1 << 5, 0)) + End Set + End Property + Public Property RibbonG4SmartUltra As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 6)) = (1 << 6) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 6)) Or If(value, 1 << 6, 0)) + End Set + End Property + Public Property RibbonG4SmartMaster As Boolean + Get + Return (Sinnoh3_Ribbons2 And (1 << 7)) = (1 << 7) + End Get + Set(value As Boolean) + Sinnoh3_Ribbons2 = CByte((Sinnoh3_Ribbons2 And Not (1 << 7)) Or If(value, 1 << 7, 0)) + End Set + End Property + Public Property RibbonG4Tough As Boolean + Get + Return (Sinnoh4_Ribbons1 And (1 << 0)) = (1 << 0) + End Get + Set(value As Boolean) + Sinnoh4_Ribbons1 = CByte((Sinnoh4_Ribbons1 And Not (1 << 0)) Or If(value, 1 << 0, 0)) + End Set + End Property + Public Property RibbonG4ToughGreat As Boolean + Get + Return (Sinnoh4_Ribbons1 And (1 << 1)) = (1 << 1) + End Get + Set(value As Boolean) + Sinnoh4_Ribbons1 = CByte((Sinnoh4_Ribbons1 And Not (1 << 1)) Or If(value, 1 << 1, 0)) + End Set + End Property + Public Property RibbonG4ToughUltra As Boolean + Get + Return (Sinnoh4_Ribbons1 And (1 << 2)) = (1 << 2) + End Get + Set(value As Boolean) + Sinnoh4_Ribbons1 = CByte((Sinnoh4_Ribbons1 And Not (1 << 2)) Or If(value, 1 << 2, 0)) + End Set + End Property + Public Property RibbonG4ToughMaster As Boolean + Get + Return (Sinnoh4_Ribbons1 And (1 << 3)) = (1 << 3) + End Get + Set(value As Boolean) + Sinnoh4_Ribbons1 = CByte((Sinnoh4_Ribbons1 And Not (1 << 3)) Or If(value, 1 << 3, 0)) + End Set + End Property +#End Region '00 00 00 00 Public Property OT_Name As String '0xE + Get + Return GetString(Data, &H68, &HE) + End Get + Set(ByVal value As String) + SetString(value, 7).CopyTo(Data, &H68) + End Set + End Property 'FF FF Public Property EggYear As Byte + Get + Return Data(&H78) + End Get + Set(ByVal value As Byte) + Data(&H78) = CByte(value) + End Set + End Property Public Property EggMonth As Byte + Get + Return Data(&H79) + End Get + Set(ByVal value As Byte) + Data(&H79) = CByte(value) + End Set + End Property Public Property EggDay As Byte + Get + Return Data(&H7A) + End Get + Set(ByVal value As Byte) + Data(&H7A) = CByte(value) + End Set + End Property Public Property MetYear As Byte + Get + Return Data(&H7B) + End Get + Set(ByVal value As Byte) + Data(&H7B) = CByte(value) + End Set + End Property Public Property MetMonth As Byte + Get + Return Data(&H7C) + End Get + Set(ByVal value As Byte) + Data(&H7C) = CByte(value) + End Set + End Property Public Property MetDay As Byte + Get + Return Data(&H7D) + End Get + Set(ByVal value As Byte) + Data(&H7D) = CByte(value) + End Set + End Property Public Property EggMet As UShort + Get + Return BitConverter.ToUInt16(Data, &H7E) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(CUShort(value)).CopyTo(Data, &H7E) + End Set + End Property Public Property Met As UShort - Public Property Pokerus As Boolean + Get + Return BitConverter.ToUInt16(Data, &H80) + End Get + Set(ByVal value As UShort) + BitConverter.GetBytes(CUShort(value)).CopyTo(Data, &H80) + End Set + End Property + Public Property Pokerus As Byte + Get + Return Data(&H82) + End Get + Set(ByVal value As Byte) + Data(&H82) = CByte(value) + End Set + End Property + Public Property Pokerus_Strain As Byte + Get + Return Pokerus >> 4 + End Get + Set(ByVal value As Byte) + Pokerus = CByte((Pokerus And &HF) Or (value << 4)) + End Set + End Property + Public Property Pokerus_Days As Byte + Get + Return (Pokerus And &HF) + End Get + Set(ByVal value As Byte) + Pokerus = CByte((Pokerus And Not (&HF)) And value) + End Set + End Property + Public Property Ball As Byte - Public Property BlocOTG As Byte + Get + Return Data(&H83) + End Get + Set(ByVal value As Byte) + Data(&H83) = CByte(value) + End Set + End Property + Public Property OT_Gender As Byte + Get + Return Data(&H84) >> 7 + End Get + Set(ByVal value As Byte) + Data(&H84) = CByte((Data(&H84) And Not &H80) Or (value << 7)) + End Set + End Property + Public Property Met_Level As Byte + Get + Return Data(&H84) And Not (&H80) + End Get + Set(ByVal value As Byte) + Data(&H84) = CByte((Data(&H84) And &H80) Or value) + End Set + End Property Public Property EncounterType As Byte + Get + Return Data(&H85) + End Get + Set(ByVal value As Byte) + Data(&H85) = CByte(value) + End Set + End Property '00 00 - Public Property Status As Byte - '00 - '00 00 + 'Public Property Status As Byte + ''00 + ''00 00 Public Property Level As Byte - Public Property Seals As Byte - Public Property CurrentStats(5) As UShort '{Current HP, Max HP, Atk, Def, Spe, SpA, SpD} - Public Property Mail As String '0x2A + OT_Name - '00 00 00 00 00 00 00 00 + Get + Return Data(&H8C) + End Get + Set(ByVal value As Byte) + Data(&H8C) = CByte(value) + End Set + End Property + 'Public Property Seals As Byte + 'Public Property CurrentStats(5) As UShort '{Current HP, Max HP, Atk, Def, Spe, SpA, SpD} + 'Public Property Mail As String '0x2A + OT_Name + ''00 00 00 00 00 00 00 00 End Class diff --git a/Gen5 Distribution Creator/bin/Debug/PKMG5DC.exe b/Gen5 Distribution Creator/bin/Debug/PKMG5DC.exe index dc65131..a802cd9 100644 Binary files a/Gen5 Distribution Creator/bin/Debug/PKMG5DC.exe and b/Gen5 Distribution Creator/bin/Debug/PKMG5DC.exe differ diff --git a/Gen5 Distribution Creator/bin/Debug/PKMG5DC.pdb b/Gen5 Distribution Creator/bin/Debug/PKMG5DC.pdb index 07f7c4e..db9abd7 100644 Binary files a/Gen5 Distribution Creator/bin/Debug/PKMG5DC.pdb and b/Gen5 Distribution Creator/bin/Debug/PKMG5DC.pdb differ diff --git a/Gen5 Distribution Creator/obj/Debug/PKMG5DC.vbproj.FileListAbsolute.txt b/Gen5 Distribution Creator/obj/Debug/PKMG5DC.vbproj.FileListAbsolute.txt index 918cbcf..0c7ea1b 100644 --- a/Gen5 Distribution Creator/obj/Debug/PKMG5DC.vbproj.FileListAbsolute.txt +++ b/Gen5 Distribution Creator/obj/Debug/PKMG5DC.vbproj.FileListAbsolute.txt @@ -10,3 +10,4 @@ C:\Users\Kochen Family\source\repos\New folder\PKMG5DC\Gen5 Distribution Creator C:\Users\Kochen Family\source\repos\New folder\PKMG5DC\Gen5 Distribution Creator\obj\Debug\PKMG5DC.vbproj.CoreCompileInputs.cache C:\Users\Kochen Family\source\repos\New folder\PKMG5DC\Gen5 Distribution Creator\obj\Debug\PKMG5DC.exe C:\Users\Kochen Family\source\repos\New folder\PKMG5DC\Gen5 Distribution Creator\obj\Debug\PKMG5DC.pdb +C:\Users\Kochen Family\source\repos\New folder\PKMG5DC\Gen5 Distribution Creator\obj\Debug\PKMG5DC.vbprojAssemblyReference.cache diff --git a/Gen5 Distribution Creator/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/Gen5 Distribution Creator/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll index 21c8d89..10e3d22 100644 Binary files a/Gen5 Distribution Creator/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll and b/Gen5 Distribution Creator/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ