Skip to content

Commit bb714cb

Browse files
committed
Fixed save issues and attempted to rectify backwards compat with older saves
1 parent 9dc2764 commit bb714cb

11 files changed

Lines changed: 1055 additions & 957 deletions

File tree

palworld_pal_edit/PalEdit.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1143,6 +1143,9 @@ def updateDisplay(self):
11431143
elif p.isLucky:
11441144
self.listdisplay.itemconfig(tk.constants.END, {'fg': 'blue'})
11451145

1146+
if p.isBossRush:
1147+
self.listdisplay.itemconfig(tk.constants.END, {'bg': 'yellow'})
1148+
11461149
self.refresh()
11471150

11481151
def logerror(self, msg):
@@ -1791,6 +1794,11 @@ def changespeciestype(self, evt):
17911794

17921795
def _apply_species(self, pal, code):
17931796
"""Change a pal's species and refresh the display around it."""
1797+
if code == "KingWhale_otomo":
1798+
self.alphavar.set(1)
1799+
self.togglealpha()
1800+
#pal.SetBoss(True if self.alphavar.get() == 1 else False)
1801+
17941802
self.speciesvar.set(code)
17951803
self.speciesvar_name.set(PalInfo.PalSpecies[code].GetName())
17961804
pal.SetType(code)
@@ -2289,13 +2297,18 @@ def replaceitem(self, i, pal):
22892297
elif pal.isLucky:
22902298
self.listdisplay.itemconfig(i, {'fg': 'blue'})
22912299

2300+
if pal.isBossRush:
2301+
self.listdisplay.itemconfig(i, {'bg': 'yellow'})
2302+
22922303
def togglelucky(self):
22932304
if not self.isPalSelected():
22942305
return
22952306
i = int(self.listdisplay.curselection()[0])
22962307
pal = self.FilteredPals()[i]
2297-
2298-
if self.luckyvar.get() == 1 and self.alphavar.get() == 1:
2308+
if pal.GetCodeName() == "KingWhale_otomo":
2309+
self.luckyvar.set(0)
2310+
self.alphavar.set(1)
2311+
elif self.luckyvar.get() == 1 and self.alphavar.get() == 1:
22992312
self.alphavar.set(0)
23002313

23012314
pal.SetLucky(True if self.luckyvar.get() == 1 else False)
@@ -2307,8 +2320,10 @@ def togglealpha(self):
23072320
return
23082321
i = int(self.listdisplay.curselection()[0])
23092322
pal = self.FilteredPals()[i]
2310-
2311-
if self.luckyvar.get() == 1 and self.alphavar.get() == 1:
2323+
if pal.GetCodeName() == "KingWhale_otomo":
2324+
self.luckyvar.set(0)
2325+
self.alphavar.set(1)
2326+
elif self.luckyvar.get() == 1 and self.alphavar.get() == 1:
23122327
self.luckyvar.set(0)
23132328

23142329
pal.SetBoss(True if self.alphavar.get() == 1 else False)

palworld_pal_edit/PalInfo.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def GetImage(self):
174174
else:
175175

176176
n = "PlantSlime" if "PlantSlime" in self.GetCodeName() else n
177-
n = n.replace("RAID_", "").replace("_2","")
177+
n = n.replace("RAID_", "").replace("_2","").replace("_otomo","")
178178
# self._img = ImageTk.PhotoImage(Image.open(module_dir+f'/resources/{n}.png').resize((240,240)))
179179
try:
180180
print(f"T_{n}_icon_normal.png")
@@ -192,6 +192,9 @@ def GetSecondary(self):
192192
def GetScaling(self):
193193
return self._scaling
194194

195+
def IsHuman(self):
196+
return self._human
197+
195198

196199
class PalEntity:
197200

@@ -240,6 +243,11 @@ def __init__(self, data):
240243
if typename not in PalSpecies and typename.lower() in PalSpeciesLower:
241244
typename = PalSpeciesLower[typename.lower()]
242245

246+
self.isBossRush = False
247+
if "_BossRush" in typename:
248+
typename = typename.replace("_BossRush", "")
249+
self.isBossRush = True
250+
243251
self._type = PalSpecies[typename]
244252
if self.IsHuman() and ogtypename[:5].lower() == "boss_":
245253
if ogtypename in PalSpecies:
@@ -517,6 +525,8 @@ def GetMaxHP(self):
517525
#return self._obj['MaxHP']['value']['Value']['value']
518526

519527
def CalculateIngameStats(self, baseline=False):
528+
if self.GetObject().IsHuman():
529+
return {"HP": 1, "PHY": 0, "MAG": 0, "DEF": 0}
520530
"""Computed in-game stats. With baseline=True, use the level-only
521531
values (IV 0, souls 0, condensation rank 1) — the 'standard' stats for
522532
this species at this level, for comparing against the pal's actual."""
@@ -531,6 +541,8 @@ def CalculateIngameStats(self, baseline=False):
531541
soul_df = 0 if baseline else self.GetRankDefence()
532542
rank = 1 if baseline else self.GetRank()
533543

544+
if SCALING == None:
545+
print(self.GetObject().GetName())
534546
HP_SCALE = SCALING["HP"]
535547
if self.isBoss and "HP_BOSS" in SCALING:
536548
HP_SCALE = SCALING["HP_BOSS"]
@@ -787,7 +799,7 @@ def SetNickname(self, value):
787799

788800
def GetFullName(self):
789801
return self.GetObject().GetName() + (" 💀" if self.isBoss else "") + (
790-
" ✨" if self.isLucky else "") + (f" - '{self._nickname}'" if not self._nickname == "" else "")
802+
" ✨" if self.isLucky else "") + (" (Boss Rush)" if self.isBossRush else "") + (f" - '{self._nickname}'" if not self._nickname == "" else "")
791803

792804
def SetLucky(self, v=True):
793805
self._obj["IsRarePal"]['value'] = self.isLucky = v

0 commit comments

Comments
 (0)