diff --git a/pokeemerald-tools/.~lock.pkmndata.xlsx# b/pokeemerald-tools/.~lock.pkmndata.xlsx# new file mode 100644 index 0000000000..9d31b23b64 --- /dev/null +++ b/pokeemerald-tools/.~lock.pkmndata.xlsx# @@ -0,0 +1 @@ +,nicksnax,bazzite,08.03.2026 19:19,file:///var/home/nicksnax/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4; \ No newline at end of file diff --git a/pokeemerald-tools/create-new-gen-files.py b/pokeemerald-tools/create-new-gen-files.py index cb5c1e36b2..1a93ba9641 100644 --- a/pokeemerald-tools/create-new-gen-files.py +++ b/pokeemerald-tools/create-new-gen-files.py @@ -41,29 +41,32 @@ with open('test.h', WriteOrAdd) as file: if Debug == 1: #Start from second row so you do not grab data headers for species in PkmnDataFile.iter_rows(min_row=2, max_row=10, min_col=1, max_col=PkmnDataFile.max_column): + #for species in PkmnDataFile.iter_rows(min_row=2, max_row=350, min_col=1, max_col=PkmnDataFile.max_column): + #Check if new species if species[PkmnDataFile.max_column-1].value == 1: print("New Species Found") file.write("#if P_FAMILY_" + species[PkmnDataFile.min_column-1].value + "\n") file.write("\t[SPECIES_" + species[PkmnDataFile.min_column - 1].value + "] =\n") file.write("\t{\n") + #step through each element of the species for data in species: #types are stupid and need to be handled like this to deal with indexing issues - if PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == ".types": + if PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == ".speciesName": + fixCase = data.value + fixCase = fixCase[0] + fixCase[1:len(fixCase)].lower() + file.write("\t\t" + SpeciesStructAttributes[data.column-1] + " = _(\"" + fixCase + "\"),\n") + elif PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == ".types": types = data.value.split(',') type1 = types[0] type2 = types[1] - if type1 == type2: + if type1 == type2: #Check for single typing file.write("\t\t.types = MON_TYPES(TYPE_" + type1 + "),\n") else: file.write("\t\t.types = MON_TYPES(TYPE_" + type1 + ", TYPE_"+ type2 + "),\n") else: file.write("\t\t" + SpeciesStructAttributes[data.column-1] + " = " + str(data.value) + ",\n") - - - #for data in species: - #print(data.value) elif Debug == 0: for species in PkmnDataFile.rows: @@ -72,5 +75,6 @@ with open('test.h', WriteOrAdd) as file: print("New Species Found") print(data.value) + if Debug: file.write("//end of program") diff --git a/pokeemerald-tools/data-fixer.py b/pokeemerald-tools/data-fixer.py index 1b764ba805..f297136e64 100644 --- a/pokeemerald-tools/data-fixer.py +++ b/pokeemerald-tools/data-fixer.py @@ -11,47 +11,90 @@ WriteOrAdd = 'w' GenName = "PkmnEvolved" PkmnData = load_workbook('pkmndata.xlsx') PkmnDataFile = PkmnData.active +whatFix = "egg" -for row in PkmnDataFile.iter_rows(min_row=1, max_row=PkmnDataFile.max_row, min_col=1, max_col=PkmnDataFile.max_column): - for data in row: - if data.column == 8 or data.column == 9: - match data.value: - case 0: - data.value = "NORMAL" - case 1: - data.value = "FIGHTING" - case 2: - data.value = "FLYING" - case 3: - data.value = "POISON" - case 4: - data.value = "GROUND" - case 5: - data.value = "ROCK" - case 6: - data.value = "BUG" - case 7: - data.value = "GHOST" - case 8: - data.value = "STEEL" - case 9: - data.value = "?????" - case 10: - data.value = "FIRE" - case 11: - data.value = "WATER" - case 12: - data.value = "GRASS" - case 13: - data.value = "ELECTRIC" - case 14: - data.value = "PSYCHIC" - case 15: - data.value = "ICE" - case 16: - data.value = "DRAGON" - case 17: - data.value = "DARK" - +if whatFix == "types": + for row in PkmnDataFile.iter_rows(min_row=1, max_row=PkmnDataFile.max_row, min_col=1, max_col=PkmnDataFile.max_column): + for data in row: + if PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == "type1" or PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == "type2": + match data.value: + case 0: + data.value = "NORMAL" + case 1: + data.value = "FIGHTING" + case 2: + data.value = "FLYING" + case 3: + data.value = "POISON" + case 4: + data.value = "GROUND" + case 5: + data.value = "ROCK" + case 6: + data.value = "BUG" + case 7: + data.value = "GHOST" + case 8: + data.value = "STEEL" + case 9: + data.value = "?????" + case 10: + data.value = "FIRE" + case 11: + data.value = "WATER" + case 12: + data.value = "GRASS" + case 13: + data.value = "ELECTRIC" + case 14: + data.value = "PSYCHIC" + case 15: + data.value = "ICE" + case 16: + data.value = "DRAGON" + case 17: + data.value = "DARK" + +elif whatFix == "gender": + for row in PkmnDataFile.iter_rows(min_row=1, max_row=PkmnDataFile.max_row, min_col=1, max_col=PkmnDataFile.max_column): + for data in row: + if PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == ".genderRatio": + if data.value == "Genderless": + data.value = "MON_GENDERLESS" + elif data.value == "100% Male": + data.value = "MON_MALE" + elif data.value == "100% Female": + data.value = "MON_FEMALE" + elif data.value == "50% Male & 50% Female": + data.value = "PERCENT_FEMALE(50)" + elif data.value == "75% Female": + data.value = "PERCENT_FEMALE(75)" + elif data.value == "75% Male": + data.value = "PERCENT_FEMALE(25)" + elif data.value == "87% Male": + data.value = "PERCENT_FEMALE(12.5)" + +elif whatFix == "xpRate": + for row in PkmnDataFile.iter_rows(min_row=1, max_row=PkmnDataFile.max_row, min_col=1, max_col=PkmnDataFile.max_column): + for data in row: + if PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == ".growthRate": + if data.value == "Fast": + data.value = "FAST" + elif data.value == "Medium Fast": + data.value = "MEDIUM_FAST" + elif data.value == "Medium Slow": + data.value = "MEDIUM_SLOW" + elif data.value == "Slow": + data.value = "SLOW" +#doesn't work, idk why, dumb +elif whatFix == "egg": + for row in PkmnDataFile.iter_rows(min_row=1, max_row=PkmnDataFile.max_row, min_col=1, max_col=PkmnDataFile.max_column): + for data in row: + if PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == "egg1" or PkmnDataFile.cell(row = PkmnDataFile.min_row, column = data.column).value == "egg2": + print(data.value) + if data.value != "egg1" or data.value!= "egg2": + data.value = "EGG_GROUP_" + data.value.capitalize() + print(data.value) PkmnData.save("pkmndata-fix.xlsx") -PkmnData.close() \ No newline at end of file +PkmnData.close() +print("Program completed") \ No newline at end of file diff --git a/pokeemerald-tools/pkmndata-fix.xlsx b/pokeemerald-tools/pkmndata-fix.xlsx index 6c656ca572..3e11e2c758 100644 Binary files a/pokeemerald-tools/pkmndata-fix.xlsx and b/pokeemerald-tools/pkmndata-fix.xlsx differ diff --git a/pokeemerald-tools/pkmndata.xlsx b/pokeemerald-tools/pkmndata.xlsx index ff3cb8fd67..7b41e6dd97 100644 Binary files a/pokeemerald-tools/pkmndata.xlsx and b/pokeemerald-tools/pkmndata.xlsx differ diff --git a/pokeemerald-tools/test.h b/pokeemerald-tools/test.h index 764223a28e..58d62c7d86 100644 --- a/pokeemerald-tools/test.h +++ b/pokeemerald-tools/test.h @@ -6,7 +6,7 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = #if P_FAMILY_BULBASAUR [SPECIES_BULBASAUR] = { - .speciesName = BULBASAUR, + .speciesName = _("Bulbasaur"), .baseHP = 45, .baseAttack = 49, .baseDefense = 49, @@ -22,23 +22,23 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 0, .evYield_SpAttack = 1, .evYield_SpDefense = 0, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Grass, - ability1 = OVERGROW, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Grass, + ability1 = OVERGROW, + ability2 = -------, runrate = 0, dex = (Green false), padding = 0, newspecies = 1, [SPECIES_IVYSAUR] = { - .speciesName = IVYSAUR, + .speciesName = _("Ivysaur"), .baseHP = 60, .baseAttack = 62, .baseDefense = 63, @@ -54,23 +54,23 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 0, .evYield_SpAttack = 1, .evYield_SpDefense = 1, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Grass, - ability1 = OVERGROW, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Grass, + ability1 = OVERGROW, + ability2 = -------, runrate = 0, dex = (Green false), padding = 0, newspecies = None, [SPECIES_VENUSAUR] = { - .speciesName = VENUSAUR, + .speciesName = _("Venusaur"), .baseHP = 80, .baseAttack = 82, .baseDefense = 83, @@ -86,23 +86,23 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 0, .evYield_SpAttack = 2, .evYield_SpDefense = 1, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Grass, - ability1 = OVERGROW, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Grass, + ability1 = OVERGROW, + ability2 = -------, runrate = 0, dex = (Green false), padding = 0, newspecies = None, [SPECIES_ECOSAUR] = { - .speciesName = ECOSAUR, + .speciesName = _("Ecosaur"), .baseHP = 84, .baseAttack = 90, .baseDefense = 85, @@ -118,23 +118,23 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 0, .evYield_SpAttack = 2, .evYield_SpDefense = 1, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Grass, - ability1 = CHLOROPHYLL, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Grass, + ability1 = CHLOROPHYLL, + ability2 = -------, runrate = 0, dex = (Green false), padding = 0, newspecies = None, [SPECIES_TERARISAUR] = { - .speciesName = TERARISAUR, + .speciesName = _("Terarisaur"), .baseHP = 90, .baseAttack = 106, .baseDefense = 91, @@ -150,23 +150,23 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 0, .evYield_SpAttack = 2, .evYield_SpDefense = 1, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Grass, - ability1 = CHLOROPHYLL, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Grass, + ability1 = CHLOROPHYLL, + ability2 = -------, runrate = 0, dex = (Green false), padding = 0, newspecies = None, [SPECIES_SYMBISAUR] = { - .speciesName = SYMBISAUR, + .speciesName = _("Symbisaur"), .baseHP = 98, .baseAttack = 119, .baseDefense = 93, @@ -182,16 +182,16 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 0, .evYield_SpAttack = 2, .evYield_SpDefense = 1, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Grass, - ability1 = CHLOROPHYLL, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Dragon, + ability1 = CHLOROPHYLL, + ability2 = -------, runrate = 0, dex = (Green false), padding = 0, @@ -199,7 +199,7 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = #if P_FAMILY_CHARMANDER [SPECIES_CHARMANDER] = { - .speciesName = CHARMANDER, + .speciesName = _("Charmander"), .baseHP = 39, .baseAttack = 52, .baseDefense = 43, @@ -215,23 +215,23 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 1, .evYield_SpAttack = 0, .evYield_SpDefense = 0, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Dragon, - ability1 = BLAZE, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Dragon, + ability1 = BLAZE, + ability2 = -------, runrate = 0, dex = (Red false), padding = 0, newspecies = 1, [SPECIES_CHARMELEON] = { - .speciesName = CHARMELEON, + .speciesName = _("Charmeleon"), .baseHP = 58, .baseAttack = 64, .baseDefense = 58, @@ -247,23 +247,23 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 1, .evYield_SpAttack = 1, .evYield_SpDefense = 0, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Dragon, - ability1 = BLAZE, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Dragon, + ability1 = BLAZE, + ability2 = -------, runrate = 0, dex = (Red false), padding = 0, newspecies = None, [SPECIES_CHARIZARD] = { - .speciesName = CHARIZARD, + .speciesName = _("Charizard"), .baseHP = 78, .baseAttack = 84, .baseDefense = 78, @@ -279,16 +279,16 @@ const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] = .evYield_Speed = 0, .evYield_SpAttack = 3, .evYield_SpDefense = 0, - item1 = ????????, - item2 = ????????, - genderratio = "87% Male", - steps2hatch = 20, - basehappiness = 70, - growthrate = "Medium Fast", - egg1 = Monster, - egg2 = Dragon, - ability1 = BLAZE, - ability2 = -------, + .itemCommon = ????????, + .itemRare = ????????, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + basehappiness = STANDARD_FRIENDSHIP, + .growthRate = MEDIUM_FAST, + egg1 = Monster, + egg2 = Dragon, + ability1 = BLAZE, + ability2 = -------, runrate = 0, dex = (Red false), padding = 0,