mucked with encounter parsing. it is really close! I can taste it. found all the encounters, locations, map ids, etc from base game

This commit is contained in:
nicksnax 2026-03-19 01:15:33 +09:00
parent 0555c0a5af
commit 9c87680360
6 changed files with 75 additions and 1 deletions

View File

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

Binary file not shown.

View File

@ -0,0 +1,75 @@
#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.utils import get_column_letter
from openpyxl.workbook import Workbook
from openpyxl import load_workbook
#Globals for making header, opening data, debug prints, etc
Debug = 0
WriteOrAdd = 'w'
FileName = "encounter-data-fix.xlsx"
GenName = "PkmnEvolved"
PkmnData = load_workbook('encounter-data-evolved.xlsx')
SheetName = "encounter-data-low-level-parse"
#SheetName = "next-data"
if SheetName in PkmnData.sheetnames:
PkmnDataFile = PkmnData[SheetName]
else:
print(f"No sheet found")
print(f"{PkmnData.sheetnames}")
whatFix = "encounter-data"
#whatFix = "next-data"
if Debug:
print(f"First row for species {PkmnDataFile.min_row}")
print(f"Last row for species {PkmnDataFile.max_row}")
print(f"First column of species-data {PkmnDataFile.min_column}")
print(f"Last column of species-data {PkmnDataFile.max_column}")
print(f"First column of tutor-data #{PkmnDataFile.min_column}, Letter:{get_column_letter(PkmnDataFile.min_column)}")
print(f"Last column of tutor-data #{PkmnDataFile.max_column}, Letter:{get_column_letter(PkmnDataFile.max_column)}")
if whatFix == "encounter-data":
for row in PkmnDataFile.iter_rows(min_row=PkmnDataFile.min_row, max_row=PkmnDataFile.max_row, min_col=PkmnDataFile.min_column, max_col=PkmnDataFile.max_column):
#for row in PkmnDataFile.iter_rows(min_row=PkmnDataFile.min_row, max_row=5, min_col=PkmnDataFile.min_column, max_col=PkmnDataFile.max_column):
data = str(row[0].value)
if "@{" in data and "@}" in data:
row[0].value = data[:data.find("@}")]
print(data[:data.find("@}")])
if Debug: print(row[0].value)
PkmnDataFile.insert_rows(row[0].row + 1, amount = 1)
PkmnDataFile.cell(row[0].row + 1, 1).value = data[data.find("@{"):]
PkmnDataFile.cell(row[0].row + 1, 1).value = data.replace("@{","")
PkmnDataFile.cell(row[0].row + 1, 1).value = data.replace("@}","")
elif "@{" in data:
row[0].value = data[:data.find("@{")]
print(data[:data.find("@{")])
if Debug: print(row[0].value)
PkmnDataFile.insert_rows(row[0].row + 1, amount = 1)
PkmnDataFile.cell(row[0].row + 1, 1).value = data[data.find("@{"):]
PkmnDataFile.cell(row[0].row + 1, 1).value = data.replace("@{","")
# if "%" in data:
# PkmnDataFile.cell(row[0].row + 1 , 1).value = data[data.find("%")-2:]
if whatFix == "next-data":
for row in PkmnDataFile.iter_rows(min_row=PkmnDataFile.min_row, max_row=PkmnDataFile.max_row, min_col=PkmnDataFile.min_column, max_col=PkmnDataFile.max_column):
data = str(row[0].value)
if "{" in data:
row[0].value = data[:data.find("{")]
if Debug: print(row[0].value)
PkmnDataFile.insert_rows(row[0].row + 1, amount = 1)
PkmnDataFile.cell(row[0].row + 1, 1).value = data.replace("{","")
PkmnDataFile.cell(row[0].row + 1 , 1).value = data[data.find("%")-2:]
PkmnData.save(FileName)
PkmnData.close()
print("Program completed")

Binary file not shown.

Binary file not shown.