Switch back to single-character identifier prefixes

This commit is contained in:
Eevee (Lexy Munroe) 2017-06-18 00:16:31 -07:00
parent a08095f326
commit ffd888011e

View file

@ -101,364 +101,364 @@ GAME_RELEASE_MD5SUM_INDEX = {
GROWTH_RATES = { GROWTH_RATES = {
0: 'growth-rate.medium', 0: 'gr.medium',
3: 'growth-rate.medium-slow', 3: 'gr.medium-slow',
4: 'growth-rate.fast', 4: 'gr.fast',
5: 'growth-rate.slow', 5: 'gr.slow',
} }
EVOLUTION_TRIGGERS = { EVOLUTION_TRIGGERS = {
1: 'evolution-trigger.level-up', 1: 'ev.level-up',
2: 'evolution-trigger.use-item', 2: 'ev.use-item',
3: 'evolution-trigger.trade', 3: 'ev.trade',
} }
# TODO these are loci, not enums, so hardcoding all their identifiers here # TODO these are loci, not enums, so hardcoding all their identifiers here
# makes me nonspecifically uncomfortable # makes me nonspecifically uncomfortable
POKEMON_IDENTIFIERS = { POKEMON_IDENTIFIERS = {
1: 'pokemon.bulbasaur', 1: 'p.bulbasaur',
2: 'pokemon.ivysaur', 2: 'p.ivysaur',
3: 'pokemon.venusaur', 3: 'p.venusaur',
4: 'pokemon.charmander', 4: 'p.charmander',
5: 'pokemon.charmeleon', 5: 'p.charmeleon',
6: 'pokemon.charizard', 6: 'p.charizard',
7: 'pokemon.squirtle', 7: 'p.squirtle',
8: 'pokemon.wartortle', 8: 'p.wartortle',
9: 'pokemon.blastoise', 9: 'p.blastoise',
10: 'pokemon.caterpie', 10: 'p.caterpie',
11: 'pokemon.metapod', 11: 'p.metapod',
12: 'pokemon.butterfree', 12: 'p.butterfree',
13: 'pokemon.weedle', 13: 'p.weedle',
14: 'pokemon.kakuna', 14: 'p.kakuna',
15: 'pokemon.beedrill', 15: 'p.beedrill',
16: 'pokemon.pidgey', 16: 'p.pidgey',
17: 'pokemon.pidgeotto', 17: 'p.pidgeotto',
18: 'pokemon.pidgeot', 18: 'p.pidgeot',
19: 'pokemon.rattata', 19: 'p.rattata',
20: 'pokemon.raticate', 20: 'p.raticate',
21: 'pokemon.spearow', 21: 'p.spearow',
22: 'pokemon.fearow', 22: 'p.fearow',
23: 'pokemon.ekans', 23: 'p.ekans',
24: 'pokemon.arbok', 24: 'p.arbok',
25: 'pokemon.pikachu', 25: 'p.pikachu',
26: 'pokemon.raichu', 26: 'p.raichu',
27: 'pokemon.sandshrew', 27: 'p.sandshrew',
28: 'pokemon.sandslash', 28: 'p.sandslash',
29: 'pokemon.nidoran-f', 29: 'p.nidoran-f',
30: 'pokemon.nidorina', 30: 'p.nidorina',
31: 'pokemon.nidoqueen', 31: 'p.nidoqueen',
32: 'pokemon.nidoran-m', 32: 'p.nidoran-m',
33: 'pokemon.nidorino', 33: 'p.nidorino',
34: 'pokemon.nidoking', 34: 'p.nidoking',
35: 'pokemon.clefairy', 35: 'p.clefairy',
36: 'pokemon.clefable', 36: 'p.clefable',
37: 'pokemon.vulpix', 37: 'p.vulpix',
38: 'pokemon.ninetales', 38: 'p.ninetales',
39: 'pokemon.jigglypuff', 39: 'p.jigglypuff',
40: 'pokemon.wigglytuff', 40: 'p.wigglytuff',
41: 'pokemon.zubat', 41: 'p.zubat',
42: 'pokemon.golbat', 42: 'p.golbat',
43: 'pokemon.oddish', 43: 'p.oddish',
44: 'pokemon.gloom', 44: 'p.gloom',
45: 'pokemon.vileplume', 45: 'p.vileplume',
46: 'pokemon.paras', 46: 'p.paras',
47: 'pokemon.parasect', 47: 'p.parasect',
48: 'pokemon.venonat', 48: 'p.venonat',
49: 'pokemon.venomoth', 49: 'p.venomoth',
50: 'pokemon.diglett', 50: 'p.diglett',
51: 'pokemon.dugtrio', 51: 'p.dugtrio',
52: 'pokemon.meowth', 52: 'p.meowth',
53: 'pokemon.persian', 53: 'p.persian',
54: 'pokemon.psyduck', 54: 'p.psyduck',
55: 'pokemon.golduck', 55: 'p.golduck',
56: 'pokemon.mankey', 56: 'p.mankey',
57: 'pokemon.primeape', 57: 'p.primeape',
58: 'pokemon.growlithe', 58: 'p.growlithe',
59: 'pokemon.arcanine', 59: 'p.arcanine',
60: 'pokemon.poliwag', 60: 'p.poliwag',
61: 'pokemon.poliwhirl', 61: 'p.poliwhirl',
62: 'pokemon.poliwrath', 62: 'p.poliwrath',
63: 'pokemon.abra', 63: 'p.abra',
64: 'pokemon.kadabra', 64: 'p.kadabra',
65: 'pokemon.alakazam', 65: 'p.alakazam',
66: 'pokemon.machop', 66: 'p.machop',
67: 'pokemon.machoke', 67: 'p.machoke',
68: 'pokemon.machamp', 68: 'p.machamp',
69: 'pokemon.bellsprout', 69: 'p.bellsprout',
70: 'pokemon.weepinbell', 70: 'p.weepinbell',
71: 'pokemon.victreebel', 71: 'p.victreebel',
72: 'pokemon.tentacool', 72: 'p.tentacool',
73: 'pokemon.tentacruel', 73: 'p.tentacruel',
74: 'pokemon.geodude', 74: 'p.geodude',
75: 'pokemon.graveler', 75: 'p.graveler',
76: 'pokemon.golem', 76: 'p.golem',
77: 'pokemon.ponyta', 77: 'p.ponyta',
78: 'pokemon.rapidash', 78: 'p.rapidash',
79: 'pokemon.slowpoke', 79: 'p.slowpoke',
80: 'pokemon.slowbro', 80: 'p.slowbro',
81: 'pokemon.magnemite', 81: 'p.magnemite',
82: 'pokemon.magneton', 82: 'p.magneton',
83: 'pokemon.farfetchd', 83: 'p.farfetchd',
84: 'pokemon.doduo', 84: 'p.doduo',
85: 'pokemon.dodrio', 85: 'p.dodrio',
86: 'pokemon.seel', 86: 'p.seel',
87: 'pokemon.dewgong', 87: 'p.dewgong',
88: 'pokemon.grimer', 88: 'p.grimer',
89: 'pokemon.muk', 89: 'p.muk',
90: 'pokemon.shellder', 90: 'p.shellder',
91: 'pokemon.cloyster', 91: 'p.cloyster',
92: 'pokemon.gastly', 92: 'p.gastly',
93: 'pokemon.haunter', 93: 'p.haunter',
94: 'pokemon.gengar', 94: 'p.gengar',
95: 'pokemon.onix', 95: 'p.onix',
96: 'pokemon.drowzee', 96: 'p.drowzee',
97: 'pokemon.hypno', 97: 'p.hypno',
98: 'pokemon.krabby', 98: 'p.krabby',
99: 'pokemon.kingler', 99: 'p.kingler',
100: 'pokemon.voltorb', 100: 'p.voltorb',
101: 'pokemon.electrode', 101: 'p.electrode',
102: 'pokemon.exeggcute', 102: 'p.exeggcute',
103: 'pokemon.exeggutor', 103: 'p.exeggutor',
104: 'pokemon.cubone', 104: 'p.cubone',
105: 'pokemon.marowak', 105: 'p.marowak',
106: 'pokemon.hitmonlee', 106: 'p.hitmonlee',
107: 'pokemon.hitmonchan', 107: 'p.hitmonchan',
108: 'pokemon.lickitung', 108: 'p.lickitung',
109: 'pokemon.koffing', 109: 'p.koffing',
110: 'pokemon.weezing', 110: 'p.weezing',
111: 'pokemon.rhyhorn', 111: 'p.rhyhorn',
112: 'pokemon.rhydon', 112: 'p.rhydon',
113: 'pokemon.chansey', 113: 'p.chansey',
114: 'pokemon.tangela', 114: 'p.tangela',
115: 'pokemon.kangaskhan', 115: 'p.kangaskhan',
116: 'pokemon.horsea', 116: 'p.horsea',
117: 'pokemon.seadra', 117: 'p.seadra',
118: 'pokemon.goldeen', 118: 'p.goldeen',
119: 'pokemon.seaking', 119: 'p.seaking',
120: 'pokemon.staryu', 120: 'p.staryu',
121: 'pokemon.starmie', 121: 'p.starmie',
122: 'pokemon.mr-mime', 122: 'p.mr-mime',
123: 'pokemon.scyther', 123: 'p.scyther',
124: 'pokemon.jynx', 124: 'p.jynx',
125: 'pokemon.electabuzz', 125: 'p.electabuzz',
126: 'pokemon.magmar', 126: 'p.magmar',
127: 'pokemon.pinsir', 127: 'p.pinsir',
128: 'pokemon.tauros', 128: 'p.tauros',
129: 'pokemon.magikarp', 129: 'p.magikarp',
130: 'pokemon.gyarados', 130: 'p.gyarados',
131: 'pokemon.lapras', 131: 'p.lapras',
132: 'pokemon.ditto', 132: 'p.ditto',
133: 'pokemon.eevee', 133: 'p.eevee',
134: 'pokemon.vaporeon', 134: 'p.vaporeon',
135: 'pokemon.jolteon', 135: 'p.jolteon',
136: 'pokemon.flareon', 136: 'p.flareon',
137: 'pokemon.porygon', 137: 'p.porygon',
138: 'pokemon.omanyte', 138: 'p.omanyte',
139: 'pokemon.omastar', 139: 'p.omastar',
140: 'pokemon.kabuto', 140: 'p.kabuto',
141: 'pokemon.kabutops', 141: 'p.kabutops',
142: 'pokemon.aerodactyl', 142: 'p.aerodactyl',
143: 'pokemon.snorlax', 143: 'p.snorlax',
144: 'pokemon.articuno', 144: 'p.articuno',
145: 'pokemon.zapdos', 145: 'p.zapdos',
146: 'pokemon.moltres', 146: 'p.moltres',
147: 'pokemon.dratini', 147: 'p.dratini',
148: 'pokemon.dragonair', 148: 'p.dragonair',
149: 'pokemon.dragonite', 149: 'p.dragonite',
150: 'pokemon.mewtwo', 150: 'p.mewtwo',
151: 'pokemon.mew', 151: 'p.mew',
} }
TYPE_IDENTIFIERS = { TYPE_IDENTIFIERS = {
0: 'type.normal', 0: 't.normal',
1: 'type.fighting', 1: 't.fighting',
2: 'type.flying', 2: 't.flying',
3: 'type.poison', 3: 't.poison',
4: 'type.ground', 4: 't.ground',
5: 'type.rock', 5: 't.rock',
#6: 'type.bird', #6: 't.bird',
7: 'type.bug', 7: 't.bug',
8: 'type.ghost', 8: 't.ghost',
9: 'type.steel', 9: 't.steel',
20: 'type.fire', 20: 't.fire',
21: 'type.water', 21: 't.water',
22: 'type.grass', 22: 't.grass',
23: 'type.electric', 23: 't.electric',
24: 'type.psychic', 24: 't.psychic',
25: 'type.ice', 25: 't.ice',
26: 'type.dragon', 26: 't.dragon',
27: 'type.dark', 27: 't.dark',
} }
MOVE_IDENTIFIERS = { MOVE_IDENTIFIERS = {
# TODO stupid hack for initial moveset # TODO stupid hack for initial moveset
0: '--', 0: '--',
1: 'move.pound', 1: 'm.pound',
2: 'move.karate-chop', 2: 'm.karate-chop',
3: 'move.double-slap', 3: 'm.double-slap',
4: 'move.comet-punch', 4: 'm.comet-punch',
5: 'move.mega-punch', 5: 'm.mega-punch',
6: 'move.pay-day', 6: 'm.pay-day',
7: 'move.fire-punch', 7: 'm.fire-punch',
8: 'move.ice-punch', 8: 'm.ice-punch',
9: 'move.thunder-punch', 9: 'm.thunder-punch',
10: 'move.scratch', 10: 'm.scratch',
11: 'move.vice-grip', 11: 'm.vice-grip',
12: 'move.guillotine', 12: 'm.guillotine',
13: 'move.razor-wind', 13: 'm.razor-wind',
14: 'move.swords-dance', 14: 'm.swords-dance',
15: 'move.cut', 15: 'm.cut',
16: 'move.gust', 16: 'm.gust',
17: 'move.wing-attack', 17: 'm.wing-attack',
18: 'move.whirlwind', 18: 'm.whirlwind',
19: 'move.fly', 19: 'm.fly',
20: 'move.bind', 20: 'm.bind',
21: 'move.slam', 21: 'm.slam',
22: 'move.vine-whip', 22: 'm.vine-whip',
23: 'move.stomp', 23: 'm.stomp',
24: 'move.double-kick', 24: 'm.double-kick',
25: 'move.mega-kick', 25: 'm.mega-kick',
26: 'move.jump-kick', 26: 'm.jump-kick',
27: 'move.rolling-kick', 27: 'm.rolling-kick',
28: 'move.sand-attack', 28: 'm.sand-attack',
29: 'move.headbutt', 29: 'm.headbutt',
30: 'move.horn-attack', 30: 'm.horn-attack',
31: 'move.fury-attack', 31: 'm.fury-attack',
32: 'move.horn-drill', 32: 'm.horn-drill',
33: 'move.tackle', 33: 'm.tackle',
34: 'move.body-slam', 34: 'm.body-slam',
35: 'move.wrap', 35: 'm.wrap',
36: 'move.take-down', 36: 'm.take-down',
37: 'move.thrash', 37: 'm.thrash',
38: 'move.double-edge', 38: 'm.double-edge',
39: 'move.tail-whip', 39: 'm.tail-whip',
40: 'move.poison-sting', 40: 'm.poison-sting',
41: 'move.twineedle', 41: 'm.twineedle',
42: 'move.pin-missile', 42: 'm.pin-missile',
43: 'move.leer', 43: 'm.leer',
44: 'move.bite', 44: 'm.bite',
45: 'move.growl', 45: 'm.growl',
46: 'move.roar', 46: 'm.roar',
47: 'move.sing', 47: 'm.sing',
48: 'move.supersonic', 48: 'm.supersonic',
49: 'move.sonic-boom', 49: 'm.sonic-boom',
50: 'move.disable', 50: 'm.disable',
51: 'move.acid', 51: 'm.acid',
52: 'move.ember', 52: 'm.ember',
53: 'move.flamethrower', 53: 'm.flamethrower',
54: 'move.mist', 54: 'm.mist',
55: 'move.water-gun', 55: 'm.water-gun',
56: 'move.hydro-pump', 56: 'm.hydro-pump',
57: 'move.surf', 57: 'm.surf',
58: 'move.ice-beam', 58: 'm.ice-beam',
59: 'move.blizzard', 59: 'm.blizzard',
60: 'move.psybeam', 60: 'm.psybeam',
61: 'move.bubble-beam', 61: 'm.bubble-beam',
62: 'move.aurora-beam', 62: 'm.aurora-beam',
63: 'move.hyper-beam', 63: 'm.hyper-beam',
64: 'move.peck', 64: 'm.peck',
65: 'move.drill-peck', 65: 'm.drill-peck',
66: 'move.submission', 66: 'm.submission',
67: 'move.low-kick', 67: 'm.low-kick',
68: 'move.counter', 68: 'm.counter',
69: 'move.seismic-toss', 69: 'm.seismic-toss',
70: 'move.strength', 70: 'm.strength',
71: 'move.absorb', 71: 'm.absorb',
72: 'move.mega-drain', 72: 'm.mega-drain',
73: 'move.leech-seed', 73: 'm.leech-seed',
74: 'move.growth', 74: 'm.growth',
75: 'move.razor-leaf', 75: 'm.razor-leaf',
76: 'move.solar-beam', 76: 'm.solar-beam',
77: 'move.poison-powder', 77: 'm.poison-powder',
78: 'move.stun-spore', 78: 'm.stun-spore',
79: 'move.sleep-powder', 79: 'm.sleep-powder',
80: 'move.petal-dance', 80: 'm.petal-dance',
81: 'move.string-shot', 81: 'm.string-shot',
82: 'move.dragon-rage', 82: 'm.dragon-rage',
83: 'move.fire-spin', 83: 'm.fire-spin',
84: 'move.thunder-shock', 84: 'm.thunder-shock',
85: 'move.thunderbolt', 85: 'm.thunderbolt',
86: 'move.thunder-wave', 86: 'm.thunder-wave',
87: 'move.thunder', 87: 'm.thunder',
88: 'move.rock-throw', 88: 'm.rock-throw',
89: 'move.earthquake', 89: 'm.earthquake',
90: 'move.fissure', 90: 'm.fissure',
91: 'move.dig', 91: 'm.dig',
92: 'move.toxic', 92: 'm.toxic',
93: 'move.confusion', 93: 'm.confusion',
94: 'move.psychic', 94: 'm.psychic',
95: 'move.hypnosis', 95: 'm.hypnosis',
96: 'move.meditate', 96: 'm.meditate',
97: 'move.agility', 97: 'm.agility',
98: 'move.quick-attack', 98: 'm.quick-attack',
99: 'move.rage', 99: 'm.rage',
100: 'move.teleport', 100: 'm.teleport',
101: 'move.night-shade', 101: 'm.night-shade',
102: 'move.mimic', 102: 'm.mimic',
103: 'move.screech', 103: 'm.screech',
104: 'move.double-team', 104: 'm.double-team',
105: 'move.recover', 105: 'm.recover',
106: 'move.harden', 106: 'm.harden',
107: 'move.minimize', 107: 'm.minimize',
108: 'move.smokescreen', 108: 'm.smokescreen',
109: 'move.confuse-ray', 109: 'm.confuse-ray',
110: 'move.withdraw', 110: 'm.withdraw',
111: 'move.defense-curl', 111: 'm.defense-curl',
112: 'move.barrier', 112: 'm.barrier',
113: 'move.light-screen', 113: 'm.light-screen',
114: 'move.haze', 114: 'm.haze',
115: 'move.reflect', 115: 'm.reflect',
116: 'move.focus-energy', 116: 'm.focus-energy',
117: 'move.bide', 117: 'm.bide',
118: 'move.metronome', 118: 'm.metronome',
119: 'move.mirror-move', 119: 'm.mirror-move',
120: 'move.self-destruct', 120: 'm.self-destruct',
121: 'move.egg-bomb', 121: 'm.egg-bomb',
122: 'move.lick', 122: 'm.lick',
123: 'move.smog', 123: 'm.smog',
124: 'move.sludge', 124: 'm.sludge',
125: 'move.bone-club', 125: 'm.bone-club',
126: 'move.fire-blast', 126: 'm.fire-blast',
127: 'move.waterfall', 127: 'm.waterfall',
128: 'move.clamp', 128: 'm.clamp',
129: 'move.swift', 129: 'm.swift',
130: 'move.skull-bash', 130: 'm.skull-bash',
131: 'move.spike-cannon', 131: 'm.spike-cannon',
132: 'move.constrict', 132: 'm.constrict',
133: 'move.amnesia', 133: 'm.amnesia',
134: 'move.kinesis', 134: 'm.kinesis',
135: 'move.soft-boiled', 135: 'm.soft-boiled',
136: 'move.high-jump-kick', 136: 'm.high-jump-kick',
137: 'move.glare', 137: 'm.glare',
138: 'move.dream-eater', 138: 'm.dream-eater',
139: 'move.poison-gas', 139: 'm.poison-gas',
140: 'move.barrage', 140: 'm.barrage',
141: 'move.leech-life', 141: 'm.leech-life',
142: 'move.lovely-kiss', 142: 'm.lovely-kiss',
143: 'move.sky-attack', 143: 'm.sky-attack',
144: 'move.transform', 144: 'm.transform',
145: 'move.bubble', 145: 'm.bubble',
146: 'move.dizzy-punch', 146: 'm.dizzy-punch',
147: 'move.spore', 147: 'm.spore',
148: 'move.flash', 148: 'm.flash',
149: 'move.psywave', 149: 'm.psywave',
150: 'move.splash', 150: 'm.splash',
151: 'move.acid-armor', 151: 'm.acid-armor',
152: 'move.crabhammer', 152: 'm.crabhammer',
153: 'move.explosion', 153: 'm.explosion',
154: 'move.fury-swipes', 154: 'm.fury-swipes',
155: 'move.bonemerang', 155: 'm.bonemerang',
156: 'move.rest', 156: 'm.rest',
157: 'move.rock-slide', 157: 'm.rock-slide',
158: 'move.hyper-fang', 158: 'm.hyper-fang',
159: 'move.sharpen', 159: 'm.sharpen',
160: 'move.conversion', 160: 'm.conversion',
161: 'move.tri-attack', 161: 'm.tri-attack',
162: 'move.super-fang', 162: 'm.super-fang',
163: 'move.slash', 163: 'm.slash',
164: 'move.substitute', 164: 'm.substitute',
165: 'move.struggle', 165: 'm.struggle',
} }
@ -886,17 +886,17 @@ evos_moves_struct = Struct(
'evo_trigger' / IdentEnum(Byte, EVOLUTION_TRIGGERS), 'evo_trigger' / IdentEnum(Byte, EVOLUTION_TRIGGERS),
'evo_arguments' / Embedded(Switch( 'evo_arguments' / Embedded(Switch(
lambda ctx: ctx.evo_trigger, { lambda ctx: ctx.evo_trigger, {
'evolution-trigger.level-up': Struct( 'ev.level-up': Struct(
'evo_level' / Byte, 'evo_level' / Byte,
), ),
'evolution-trigger.use-item': Struct( 'ev.use-item': Struct(
# TODO item enum too wow! # TODO item enum too wow!
'evo_item' / Byte, 'evo_item' / Byte,
# TODO ??? always seems to be 1 # TODO ??? always seems to be 1
'evo_level' / Byte, 'evo_level' / Byte,
), ),
# TODO ??? always seems to be 1 here too # TODO ??? always seems to be 1 here too
'evolution-trigger.trade': Struct( 'ev.trade': Struct(
'evo_level' / Byte, 'evo_level' / Byte,
), ),
}, },