major updates to data sets and parsing function

This commit is contained in:
nicksnax 2026-03-08 19:20:25 +09:00
parent 5a610752c0
commit 47f225b584
6 changed files with 195 additions and 147 deletions

View File

@ -0,0 +1 @@
,nicksnax,bazzite,08.03.2026 19:19,file:///var/home/nicksnax/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;

View File

@ -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")

View File

@ -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.

View File

@ -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,