mirror of
https://github.com/pret/pokeemerald.git
synced 2026-03-21 17:54:57 -05:00
major updates to data sets and parsing function
This commit is contained in:
parent
5a610752c0
commit
47f225b584
1
pokeemerald-tools/.~lock.pkmndata.xlsx#
Normal file
1
pokeemerald-tools/.~lock.pkmndata.xlsx#
Normal file
|
|
@ -0,0 +1 @@
|
|||
,nicksnax,bazzite,08.03.2026 19:19,file:///var/home/nicksnax/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;
|
||||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
PkmnData.close()
|
||||
print("Program completed")
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user