Jump to content

No sorcerer spells to choose on level-up - Ascension error?


Guest eryrwyn

Recommended Posts

Guest eryrwyn

I'm trying out a modded GemRB BGT install and I've encountered a bug where the spell selection for sorcerers after a level-up is completely empty.

By trial and error (install/reinstall and checking after every mod) I narrowed the bug down to Ascension. It happens even on the install with only BG2 Fixpack & Ascension. The moment it's installed it ruins the sorcerers' spells known table and none can be selected on level-up and I get the following bug.

https://imgur.com/a/rYEIDNc

Quote

[GUIScript/ERROR]: Runtime Error:
[Python/ERROR]: Traceback (most recent call last):
[Python/ERROR]:   File "D:\GOG Galaxy\Games\GemRB\GUIScripts\LevelUp.py", line 305, in OpenLevelUpWindow
[Python/ERROR]:     LUSpellSelection.OpenSpellsWindow (pc, "SPLSRCKN", Level[c], LevelDiff[c])
[Python/ERROR]:   File "D:\GOG Galaxy\Games\GemRB\GUIScripts\LUSpellSelection.py", line 155, in OpenSpellsWindow
[Python/ERROR]:     SpellsWindow.CreateButton (24, 231, 345, 42, 42)
[Python/ERROR]:   File "D:\GOG Galaxy\Games\GemRB\GUIScripts\GUIClasses.py", line 182, in CreateButton
[Python/ERROR]:     return self.CreateControl(control, IE_GUI_BUTTON, args[0], args[1], args[2], args[3], args[4:])
[Python/ERROR]:   File "D:\GOG Galaxy\Games\GemRB\GUIScripts\GUIClasses.py", line 152, in CreateControl
[Python/ERROR]:     return self.CreateSubview(newID, ctype, frame, *args)
[Python/ERROR]:   File "D:\GOG Galaxy\Games\GemRB\GUIScripts\GUIClasses.py", line 165, in CreateSubview
[Python/ERROR]:     created = self.AddSubview(view) # this will move the reference into the our window's group
[Python/ERROR]:   File "D:\GOG Galaxy\Games\GemRB\GUIScripts\MetaClasses.py", line 61, in handler
[Python/ERROR]:

 

Link to comment
Guest eryrwyn

Sorry if I did -- I pasted from the first Python/Error line. I can distribute proficiencies normally and accept the level-up and only after I do that, the empty window with the spell selection appears. I can't choose anything as there's nothing but I can still continue by clicking ESC and closing it. Here's what happens before and after I level up (I'm also attaching the whole log:  https://file.io/OoznA3ezz1rQ )

 

Quote

[GameScript/ERROR]: Target for dialog couldn't be found (Sender: none, Type: 0).
[Actor/DEBUG]: Debugdump of Actor Imoen (Imoen, Imoen):
Scripts: bgimoen <none> waithstl <none> <none> <none> <none> wtrunsgt
Area:       ar0015 ([2922.1980])
Dialog:     imoen    TalkCount:  0
Global ID:  10078   PartySlot: 0
Script name:none    Current action: 8    Total: 0
Int. Flags: 0x50a00    MC Flags: 0x0    Allegiance: 128   current allegiance:128
Class:      4   current class:4    Kit: 0 (base: 0)
Race:       1   current race:1
Gender:     2   current gender:2
Specifics:  0   current specifics:0
Alignment:  21   current alignment:21
Morale:     10   current morale:10
Moralebreak:5   Morale recovery:60
Visualrange:28 (Explorer: 0)
Fatigue: 0 (current: 0)   Luck: 0
Movement rate: 10 (current: 10)

Levels (average: 1):
THIEF: 1    
current HP:8
Mod[IE_ANIMATION_ID]: 0x6310 ResRef:chfb1 Stance: 1
TURNUNDEADLEVEL: 0 current: 0
Colors:       421075225   1027423549   757935405   218959117   387389207   370546198   67372036
WaitCounter: 0
LastTarget: 0 <NULL>    LastSpellTarget: 0 <NULL>
LastTalked: 0 <NULL>
INVENTORY:
10:     FIST - (1 0 0) Fl:0x2029 Wt: 0 x 0Lb
35:    bow05 - (1 0 0) Fl:0xae21 Wt: 0 x 2Lb
Equipped: 1000       EquippedHeader: 0
Total weight: 2
SPELLBOOK:
EFFECT QUEUE:
  0: 0xe9: Proficiency (1, 91) S:
  1: 0xe9: Proficiency (1, 105) S:

[GameScript/ERROR]: Target object: IDS Targeting: 2 0 0 0 0 0 0 0 0 0 
Filters: 0 0 0 0 0 

[FindPath/DEBUG]: s = (1110, 600), d = (1153, 685), caller = Test, dist = 0, size = 2
[KeyMap/]: Looking up key:  ( ) 
[ResourceManager/]: Found 'guirec.chu' in 'Override'.
[ResourceManager/]: Searching for 'guirecbg'...
[ResourceManager/]: Found 'guirecbg.mos' in 'chitin.key'.
[ResourceManager/]: Found 'newbutt.bam' in 'chitin.key'.
[ResourceManager/]: Found 'bigbutt.bam' in 'chitin.key'.
[Python/]:     Single classed
[Python/]:         Class (Level): SORCERER (1)
[ResourceManager/]: Found 'statdesc.2da' in 'chitin.key'.
[Python/]: (222, '')
[ResourceManager/]: Found 'reptxt.2da' in 'chitin.key'.
[Python/]:     Single classed
[Python/]:         Class (Level): SORCERER (1)
[Python/]: (222, '')
[ResourceManager/]: Searching for 'guilupb'...
[ResourceManager/]: Found 'guilupb.mos' in 'chitin.key'.
[ResourceManager/]: Found 'guiscrc.bam' in 'chitin.key'.
[ResourceManager/]: Found 'guistmsc.bam' in 'chitin.key'.
[Python/]: Title: Czarownik    Actor Title: Czarownik
[Python/]: Class: 19    Actor Class: 19
[Python/]: Kit: 0    Actor Kit: 0
[Python/]: ClassName: SORCERER    Actor ClassNames: ['SORCERER']
[Python/]: NumClasses: 1    Actor NumClasses: 1
[Python/]: Classes: [19]    Actor Classes: [19]
[Python/]: IsDual: False    Actor IsDual: 0
[ResourceManager/]: Found 'SPLSRCKN.2da' in 'chitin.key'.
[Python/]: Actor CurrentLevels:[1]
[Python/]: Levels: [8, 0, 0]    Actor NextLevels: [8]
[Python/]: LevelDiffs: [7, 0, 0]    Actor LevelDiffs: [7]
[ResourceManager/]: Found 'lunumab.2da' in 'Override'.
[Python/]: Actor HLA Names: ['SORCERER']
[ResourceManager/]: Searching for 'guihsbs'...
[ResourceManager/]: Found 'guihsbs.mos' in 'chitin.key'.
[GUIScript/ERROR]: Runtime Error:
[Python/ERROR]: Traceback (most recent call last):
[Python/ERROR]:   File ".\GUIScripts\LevelUp.py", line 305, in OpenLevelUpWindow
[Python/ERROR]:     LUSpellSelection.OpenSpellsWindow (pc, "SPLSRCKN", Level[c], LevelDiff[c])
[Python/ERROR]:   File ".\GUIScripts\LUSpellSelection.py", line 155, in OpenSpellsWindow
[Python/ERROR]:     SpellsWindow.CreateButton (24, 231, 345, 42, 42)
[Python/ERROR]:   File ".\GUIScripts\GUIClasses.py", line 182, in CreateButton
[Python/ERROR]:     return self.CreateControl(control, IE_GUI_BUTTON, args[0], args[1], args[2], args[3], args[4:])
[Python/ERROR]:   File ".\GUIScripts\GUIClasses.py", line 152, in CreateControl
[Python/ERROR]:     return self.CreateSubview(newID, ctype, frame, *args)
[Python/ERROR]:   File ".\GUIScripts\GUIClasses.py", line 165, in CreateSubview
[Python/ERROR]:     created = self.AddSubview(view) # this will move the reference into the our window's group
[Python/ERROR]:   File ".\GUIScripts\MetaClasses.py", line 61, in handler
[Python/ERROR]:     raise type(e)(str(e) + "\nMethod Docs:\n" + str(f.__doc__))
[Python/ERROR]: RuntimeError: Cannot construct object with null ref.
Method Docs:
===== View_AddSubview =====

**Prototype:** View_AddSubview (GView, subview [,siblingView=None, id=-1])

**Metaclass Prototype:** AddSubview (subview[, siblingView=None, id=-1])

**Description:** Adds a view to a new superview in front of siblingView (or the back if None), removing it from its previous superview (if any).

**Parameters:**
  * GView - the control's (superview's) reference
  * subview - View to add
  * siblingView - View to add
  * id - assign this numeric ID to the new view (useful if it's already taken)

**Example:**
  RaceWindow.AddSubview (ScrollBarControl)

**Return value:** the new View
[ResourceManager/]: Searching for 'paper'...
[ResourceManager/]: Found 'paper.wav' in 'chitin.key'.
[Actor/DEBUG]: GetIWD2KitIndex: didn't find kit 16384 at expected class 2, recalculating!
[Actor/ERROR]: GetIWD2KitIndex: didn't find kit 16384 for any class, ignoring!
[Python/]: ('Levels:', 8, '/', 0, '/', 0)
[Python/]:     Single classed
[Python/]:         Class (Level): SORCERER (8)
[Python/]: (222, '')
[Python/]: pause state True
[Python/]: pause state True

 

Link to comment
Guest eryrwyn
2 hours ago, lynx said:

Hmm, you can try commenting out the line 155 in GUIScripts\LUSpellSelection.py (in wherever you unpacked gemrb). I suspect the data — what resolution are you playing at?

Thank you so much, it works! :) 

I just tested with more XP and exactly the same problem appeared with the HLA table (except it doesn't pop out at all and I can't continue the level-up) but I commented out the offending line 86 in LUHLASelection.py and it works fine now.

I'm currently playing in 1280x960.

Link to comment

I don't see what goes wrong and I also forgot this window is the same regardless of resolution.

This should fix the wrong table being used (first python warning)

diff --git a/gemrb/GUIScripts/LUSpellSelection.py b/gemrb/GUIScripts/LUSpellSelection.py
index f24600afb..5340abc54 100644
--- a/gemrb/GUIScripts/LUSpellSelection.py
+++ b/gemrb/GUIScripts/LUSpellSelection.py
@@ -174,7 +174,7 @@ def OpenSpellsWindow (actor, table, level, diff, kit=0, gen=0, recommend=True, b
 
        # adjust the table for the amount of spells available for learning for free
        # bg2 had SPLSRCKN, iwd2 also SPLBRDKN, but all the others lacked the tables
-       if SpellLearnTable == "MXSPLSOR":
+       if SpellLearnTable == "MXSPLSOR" or SpellLearnTable == "MXSPLSRC":
                SpellLearnTable = "SPLSRCKN"
        elif SpellLearnTable == "MXSPLBRD":
                SpellLearnTable = "SPLBRDKN"

So you get the correct new spells amount on levelup. I doubt it will affect your gui error though.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...