update to parsing tool for typing splits

This commit is contained in:
nicksnax 2026-03-08 16:25:22 +09:00
parent e2af594f79
commit 5a610752c0
7 changed files with 245 additions and 17 deletions

View File

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

View File

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

View File

@ -8,7 +8,7 @@ from openpyxl import load_workbook
#Globals for making header, opening data, debug prints, etc
Debug = 1
WriteOrAdd = 'w'
GenName = "pkmnevolved"
GenName = "PkmnEvolved"
PkmnData = load_workbook('pkmndata.xlsx')
PkmnDataFile = PkmnData.active
@ -39,16 +39,28 @@ with open('test.h', WriteOrAdd) as file:
#Begin writing species information to .h file
if Debug == 1:
for species in PkmnDataFile.iter_rows(min_row=2, max_row=5, min_col=1, max_col=PkmnDataFile.max_column):
#for species in PkmnDataFile.iter_rows(min_row=1, max_row=PkmnDataFile.max_row, min_col=1, max_col=PkmnDataFile.max_column):
#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):
#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:
file.write("\t\t" + SpeciesStructAttributes[data.column-1] + " = " + str(data.value) + ",\n")
#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":
types = data.value.split(',')
type1 = types[0]
type2 = types[1]
if type1 == type2:
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)

View File

@ -0,0 +1,57 @@
#Tool for creating new gen.h files for emerald expansion
#Takes information from excel sheet and prepares .h file for custom pokemon
import openpyxl as pyxl
from openpyxl.workbook import Workbook
from openpyxl import load_workbook
#Globals for making header, opening data, debug prints, etc
Debug = 1
WriteOrAdd = 'w'
GenName = "PkmnEvolved"
PkmnData = load_workbook('pkmndata.xlsx')
PkmnDataFile = PkmnData.active
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"
PkmnData.save("pkmndata-fix.xlsx")
PkmnData.close()

Binary file not shown.

Binary file not shown.

View File

@ -1,19 +1,19 @@
//gen file for pkmnevolved
//gen file for PkmnEvolved
#ifdef __INTELLISENSE__
const struct SpeciesInfo gSpeciesInfopkmnevolved[] =
const struct SpeciesInfo gSpeciesInfoPkmnEvolved[] =
{
#endif
#if P_FAMILY_BULBASAUR
[SPECIES_BULBASAUR] =
{
.speciesName = BULBASAUR,
.baseHP = 45,
.baseAttack = 49,
.baseDefense = 49,
.baseSpeed = 45,
.baseSpAttack = 65,
.baseSpDefense = 65,
.types1 = 12,
.types2 = 3,
.types = MON_TYPES(TYPE_GRASS, TYPE_POISON),
.catchRate = 45,
.expYield = 60,
.evYield_HP = 0,
@ -38,14 +38,14 @@ const struct SpeciesInfo gSpeciesInfopkmnevolved[] =
newspecies = 1,
[SPECIES_IVYSAUR] =
{
.speciesName = IVYSAUR,
.baseHP = 60,
.baseAttack = 62,
.baseDefense = 63,
.baseSpeed = 60,
.baseSpAttack = 80,
.baseSpDefense = 80,
.types1 = 12,
.types2 = 3,
.types = MON_TYPES(TYPE_GRASS, TYPE_POISON),
.catchRate = 45,
.expYield = 121,
.evYield_HP = 0,
@ -70,14 +70,14 @@ const struct SpeciesInfo gSpeciesInfopkmnevolved[] =
newspecies = None,
[SPECIES_VENUSAUR] =
{
.speciesName = VENUSAUR,
.baseHP = 80,
.baseAttack = 82,
.baseDefense = 83,
.baseSpeed = 80,
.baseSpAttack = 100,
.baseSpDefense = 100,
.types1 = 12,
.types2 = 3,
.types = MON_TYPES(TYPE_GRASS, TYPE_POISON),
.catchRate = 45,
.expYield = 185,
.evYield_HP = 0,
@ -102,14 +102,14 @@ const struct SpeciesInfo gSpeciesInfopkmnevolved[] =
newspecies = None,
[SPECIES_ECOSAUR] =
{
.speciesName = ECOSAUR,
.baseHP = 84,
.baseAttack = 90,
.baseDefense = 85,
.baseSpeed = 80,
.baseSpAttack = 118,
.baseSpDefense = 118,
.types1 = 12,
.types2 = 3,
.types = MON_TYPES(TYPE_GRASS, TYPE_POISON),
.catchRate = 45,
.expYield = 204,
.evYield_HP = 0,
@ -132,4 +132,165 @@ const struct SpeciesInfo gSpeciesInfopkmnevolved[] =
dex = (Green false),
padding = 0,
newspecies = None,
[SPECIES_TERARISAUR] =
{
.speciesName = TERARISAUR,
.baseHP = 90,
.baseAttack = 106,
.baseDefense = 91,
.baseSpeed = 80,
.baseSpAttack = 129,
.baseSpDefense = 129,
.types = MON_TYPES(TYPE_GRASS, TYPE_POISON),
.catchRate = 45,
.expYield = 215,
.evYield_HP = 0,
.evYield_Attack = 0,
.evYield_Defense = 0,
.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 = -------,
runrate = 0,
dex = (Green false),
padding = 0,
newspecies = None,
[SPECIES_SYMBISAUR] =
{
.speciesName = SYMBISAUR,
.baseHP = 98,
.baseAttack = 119,
.baseDefense = 93,
.baseSpeed = 74,
.baseSpAttack = 138,
.baseSpDefense = 138,
.types = MON_TYPES(TYPE_GRASS, TYPE_POISON),
.catchRate = 45,
.expYield = 230,
.evYield_HP = 0,
.evYield_Attack = 0,
.evYield_Defense = 0,
.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 = -------,
runrate = 0,
dex = (Green false),
padding = 0,
newspecies = None,
#if P_FAMILY_CHARMANDER
[SPECIES_CHARMANDER] =
{
.speciesName = CHARMANDER,
.baseHP = 39,
.baseAttack = 52,
.baseDefense = 43,
.baseSpeed = 65,
.baseSpAttack = 60,
.baseSpDefense = 50,
.types = MON_TYPES(TYPE_FIRE),
.catchRate = 45,
.expYield = 58,
.evYield_HP = 0,
.evYield_Attack = 0,
.evYield_Defense = 0,
.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 = -------,
runrate = 0,
dex = (Red false),
padding = 0,
newspecies = 1,
[SPECIES_CHARMELEON] =
{
.speciesName = CHARMELEON,
.baseHP = 58,
.baseAttack = 64,
.baseDefense = 58,
.baseSpeed = 80,
.baseSpAttack = 80,
.baseSpDefense = 65,
.types = MON_TYPES(TYPE_FIRE),
.catchRate = 45,
.expYield = 115,
.evYield_HP = 0,
.evYield_Attack = 0,
.evYield_Defense = 0,
.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 = -------,
runrate = 0,
dex = (Red false),
padding = 0,
newspecies = None,
[SPECIES_CHARIZARD] =
{
.speciesName = CHARIZARD,
.baseHP = 78,
.baseAttack = 84,
.baseDefense = 78,
.baseSpeed = 100,
.baseSpAttack = 109,
.baseSpDefense = 85,
.types = MON_TYPES(TYPE_FIRE, TYPE_FLYING),
.catchRate = 45,
.expYield = 179,
.evYield_HP = 0,
.evYield_Attack = 0,
.evYield_Defense = 0,
.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 = -------,
runrate = 0,
dex = (Red false),
padding = 0,
newspecies = None,
//end of program