From a967b787b7ff7bfdd483c4e601b425fc75ec80e4 Mon Sep 17 00:00:00 2001 From: Andrew Ekstedt Date: Sun, 25 Sep 2016 12:04:51 -0700 Subject: [PATCH] =?UTF-8?q?Add=20move=20changelogs=20for=20Gen=20V?= =?UTF-8?q?=E2=86=92VI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made by running a script to compare an old version of moves.csv[1] with the current version. [1]: https://github.com/veekun/pokedex/commit/cb5276773b2248a3ec2e71e34b31ed12fbd38000 Hidden power changed from variable power to 100. We can't represent NULLs in the changelog, so set the power to 1 instead. A few effect chances changed from NULL to 100. We can't represent this either, but i don't think it matters. leer: effect_chance changed from NULL to 100 hidden-power: power changed from 1 to 60 chatter: effect_chance changed from NULL to 100 v-create: effect_chance changed from NULL to 100 Here's the complete list of changes: swords-dance: pp changed from 30 to 20 whirlwind: accuracy changed from 100 to NULL vine-whip: power changed from 35 to 45 vine-whip: pp changed from 15 to 25 pin-missile: power changed from 14 to 25 pin-missile: accuracy changed from 85 to 95 roar: accuracy changed from 100 to NULL flamethrower: power changed from 95 to 90 hydro-pump: power changed from 120 to 110 surf: power changed from 95 to 90 ice-beam: power changed from 95 to 90 blizzard: power changed from 120 to 110 submission: pp changed from 25 to 20 growth: pp changed from 40 to 20 thunderbolt: power changed from 95 to 90 thunder: power changed from 120 to 110 minimize: pp changed from 20 to 10 barrier: pp changed from 30 to 20 lick: power changed from 20 to 30 smog: power changed from 20 to 30 fire-blast: power changed from 120 to 110 skull-bash: power changed from 100 to 130 skull-bash: pp changed from 15 to 10 glare: accuracy changed from 90 to 100 poison-gas: accuracy changed from 80 to 90 bubble: power changed from 20 to 40 psywave: accuracy changed from 80 to 100 acid-armor: pp changed from 40 to 20 crabhammer: power changed from 90 to 100 struggle: target_id changed from 10 to 8 thief: power changed from 40 to 60 thief: pp changed from 10 to 25 snore: power changed from 40 to 50 cotton-spore: target_id changed from 10 to 11 sweet-kiss: type_id changed from 1 to 18 perish-song: target_id changed from 12 to 14 charm: type_id changed from 1 to 18 fury-cutter: power changed from 20 to 40 heal-bell: target_id changed from 4 to 13 moonlight: type_id changed from 1 to 18 hidden-power: power changed from 1 to 60 future-sight: power changed from 100 to 120 heat-wave: power changed from 100 to 95 will-o-wisp: accuracy changed from 75 to 85 smellingsalt: power changed from 60 to 70 follow-me: priority changed from 3 to 2 nature-power: target_id changed from 1 to 10 knock-off: power changed from 20 to 65 poison-fang: effect_chance changed from 30 to 50 meteor-mash: power changed from 100 to 90 meteor-mash: accuracy changed from 85 to 90 aromatherapy: target_id changed from 4 to 13 air-cutter: power changed from 55 to 60 overheat: power changed from 140 to 130 rock-tomb: power changed from 50 to 60 rock-tomb: pp changed from 10 to 15 rock-tomb: accuracy changed from 80 to 95 extrasensory: pp changed from 30 to 20 muddy-water: power changed from 95 to 90 covet: pp changed from 40 to 25 wake-up-slap: power changed from 60 to 70 tailwind: pp changed from 30 to 15 assurance: power changed from 50 to 60 psycho-shift: accuracy changed from 90 to 100 aura-sphere: power changed from 90 to 80 air-slash: pp changed from 20 to 15 dragon-pulse: power changed from 90 to 85 power-gem: power changed from 70 to 80 energy-ball: power changed from 80 to 90 draco-meteor: power changed from 140 to 130 leaf-storm: power changed from 140 to 130 gunk-shot: accuracy changed from 70 to 80 chatter: power changed from 60 to 65 magma-storm: power changed from 120 to 100 wonder-room: priority changed from -7 to 0 rage-powder: priority changed from 3 to 2 magic-room: priority changed from -7 to 0 storm-throw: power changed from 40 to 60 synchronoise: power changed from 70 to 120 synchronoise: pp changed from 15 to 10 low-sweep: power changed from 60 to 65 hex: power changed from 50 to 65 incinerate: power changed from 30 to 60 water-pledge: power changed from 50 to 80 fire-pledge: power changed from 50 to 80 grass-pledge: power changed from 50 to 80 struggle-bug: power changed from 30 to 50 frost-breath: power changed from 40 to 60 sacred-sword: pp changed from 20 to 15 hurricane: power changed from 120 to 110 techno-blast: power changed from 85 to 120 Fixes #127 Fixes #136 --- pokedex/data/csv/move_changelog.csv | 83 +++++++++++++++++++++++++++++ scripts/update-move-changelogs.py | 58 ++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 scripts/update-move-changelogs.py diff --git a/pokedex/data/csv/move_changelog.csv b/pokedex/data/csv/move_changelog.csv index 10301d3..3295924 100644 --- a/pokedex/data/csv/move_changelog.csv +++ b/pokedex/data/csv/move_changelog.csv @@ -1,12 +1,15 @@ move_id,changed_in_version_group_id,type_id,power,pp,accuracy,priority,target_id,effect_id,effect_chance 2,3,1,,,,,,, 13,5,,,,75,,,, +14,15,,,30,,,,, 16,3,1,,,,,,1, 17,3,,35,,,,,, 18,3,,,,85,,,, +18,15,,,,100,,,, 19,8,,70,,,,,, 20,11,,,,75,,,, 22,8,,,10,,,,, +22,15,,35,15,,,,, 26,8,,70,,,,,, 26,11,,85,25,,,,, 28,3,1,,,,,,, @@ -15,18 +18,29 @@ move_id,changed_in_version_group_id,type_id,power,pp,accuracy,priority,target_id 37,11,,90,20,,,,, 38,3,,100,,,,,49, 40,3,,,,,,,,20 +42,15,,14,,85,,,, 44,3,1,,,,,,,10 +46,15,,,,100,,,, 50,8,,,,55,,,, 50,11,,,,80,,,, +53,15,,95,,,,,, +56,15,,120,,,,,, +57,15,,95,,,,,, +58,15,,95,,,,,, 59,3,,,,90,,,, +59,15,,120,,,,,, +66,15,,,25,,,,, 67,5,,50,,90,,,32,30 71,8,,,20,,,,, 72,8,,,10,,,,, 74,11,,,,,,,14, +74,15,,,40,,,,, 80,8,,70,,,,,, 80,11,,90,20,,,,, 83,11,,15,,70,,,, +85,15,,95,,,,,, 87,3,,,,,,,,10 +87,15,,120,,,,,, 88,3,,,,65,,,, 91,3,,100,,,,,, 91,8,,60,,,,,, @@ -35,49 +49,118 @@ move_id,changed_in_version_group_id,type_id,power,pp,accuracy,priority,target_id 95,8,,,,60,,,, 95,9,,,,70,,,, 105,8,,,20,,,,, +107,15,,,20,,,,, +112,15,,,30,,,,, 120,3,,130,,,,,, +122,15,,20,,,,,, +123,15,,20,,,,,, 126,3,,,,,,,,30 +126,15,,120,,,,,, 128,11,,,10,75,,,, +130,15,,100,15,,,,, 136,8,,85,,,,,, 136,11,,100,20,,,,, 137,11,,,,75,,,, +137,15,,,,90,,,, 139,11,,,,55,,,, +139,15,,,,80,,,, 143,3,,,,,,,,10 +145,15,,20,,,,,, 146,3,,,,,,,1,0 148,8,,,,70,,,, +149,15,,,,80,,,, +151,15,,,40,,,,, 152,11,,,,85,,,, +152,15,,90,,,,,, 153,3,,170,,,,,, 157,3,,,,,,,1,0 161,3,,,,,,,1,0 +165,15,,,,,,10,, +168,15,,40,10,,,,, 170,11,,,40,,,,, +173,15,,40,,,,,, 174,11,10001,,,,,,, 178,11,,,,85,,,, +178,15,,,,,,10,, 184,11,,,,90,,,, +186,15,1,,,,,,, 192,8,,100,,,,,, +195,15,,,,,,12,, 198,11,,,,80,,,, 200,8,,90,,,,,, 200,11,,,15,,,,, 202,8,,,5,,,,, 202,11,,60,,,,,, +204,15,1,,,,,,, 210,11,,10,,,,,, +210,15,,20,,,,,, +215,15,,,,,,4,, +236,15,1,,,,,,, +237,15,,1,,,,,, 248,11,,80,15,90,,,, +248,15,,100,,,,,, 249,8,,20,,,,,, 250,11,,15,,70,,,, 251,11,,10,,,,,, 253,11,,50,,,,,, 254,8,,,10,,,,, +257,15,,100,,,,,, +261,15,,,,75,,,, +265,15,,60,,,,,, +266,15,,,,,3,,, +267,15,,,,,,1,, +282,15,,20,,,,,, 291,8,,60,,,,,, 294,11,,,,,,,54, +305,15,,,,,,,,30 +309,15,,100,,85,,,, +312,15,,,,,,4,, +314,15,,55,,,,,, +315,15,,140,,,,,, +317,15,,50,10,80,,,, +326,15,,,30,,,,, 328,11,,15,,70,,,, +330,15,,95,,,,,, 331,11,,10,,,,,, 333,11,,10,,,,,, 343,11,,40,,,,,, +343,15,,,40,,,,, 348,8,,70,,,,,, 350,11,,,,80,,,, 353,11,,120,,85,,,, +358,15,,60,,,,,, 364,11,,50,,,,,, +366,15,,,30,,,,, +372,15,,50,,,,,, +375,15,,,,90,,,, 382,11,,0,,,,,, 386,11,,60,,,,,, 387,11,,130,,,,,, +396,15,,90,,,,,, +403,15,,,20,,,,, +406,15,,90,,,,,, +408,15,,70,,,,,, 409,11,,60,5,,,,, +412,15,,80,,,,,, +434,15,,140,,,,,, +437,15,,140,,,,,, +441,15,,,,70,,,, +448,15,,60,,,,,, 463,11,,,,70,,,, +463,15,,120,,,,,, +472,15,,,,,-7,,, +476,15,,,,,3,,, +478,15,,,,,-7,,, +480,15,,40,,,,,, +485,15,,70,15,,,,, +490,15,,60,,,,,, +506,15,,50,,,,,, +510,15,,30,,,,,, +518,15,,50,,,,,, +519,15,,50,,,,,, +520,15,,50,,,,,, +522,15,,30,,,,,, +524,15,,40,,,,,, +533,15,,,20,,,,, +542,15,,120,,,,,, +546,15,,85,,,,,, diff --git a/scripts/update-move-changelogs.py b/scripts/update-move-changelogs.py new file mode 100644 index 0000000..356113e --- /dev/null +++ b/scripts/update-move-changelogs.py @@ -0,0 +1,58 @@ +from __future__ import print_function + +import csv +import sys + +fields = ['type_id', 'power', 'pp', 'accuracy', 'priority', 'target_id', 'effect_id', 'effect_chance'] + +def main(): + old = csv.DictReader(open(sys.argv[1], 'rb')) + new = csv.DictReader(open(sys.argv[2], 'rb')) + version_group_id = int(sys.argv[3]) + + moves = {} + + for row in new: + moves[row['id']] = row + + for row in old: + if row['id'] not in moves: + print("move %d disappeared!", file=sys.stderr) + continue + + oldmove = row + newmove = moves[row['id']] + + if int(oldmove['id']) > 10000: + print("skipping shadow moves", file=sys.stderr) + continue + + changed_fields = [] + for field in fields: + if oldmove[field] == newmove[field]: + continue + if field == 'power' and oldmove['power'] in "01": + if newmove['power'] == "": + # expected + # we used to store variable-power moves as 0 or 1, + # now we store NULL + continue + else: + print("%s: %s changed from %s to %s" % (oldmove['identifier'], field, oldmove[field], newmove[field]), file=sys.stderr) + if oldmove[field] == '': + print("%s: %s changed from NULL to %s" % (oldmove['identifier'], field, newmove[field]), file=sys.stderr) + continue + #print("%s: %s changed from %s to %s" % (oldmove['identifier'], field, oldmove[field], sql_list([newmove[field]]))) + changed_fields.append(field) + + if changed_fields: + print("INSERT INTO move_changelog (move_id, changed_in_version_group_id, %s) VALUES (%s, %s, %s); -- %s (%s)" % + (sql_list(changed_fields), row['id'], version_group_id, + sql_list(map(oldmove.__getitem__, changed_fields)), + oldmove['identifier'], + sql_list(map(newmove.__getitem__, changed_fields)))) + +def sql_list(values): + return ", ".join(x if x != "" else "NULL" for x in values) + +main()