[MOD] Classic Spellbook for BG:EE, SoD and BG2:EE
Kilivitz
Member Posts: 1,459
This mod restores the functionality of the Mage and Priest screens to their classic pre-2.0 behavior.
- Compatible with BG:EE (with or without SoD) and BG2:EE- Download link at the end of this post
It works exactly like in the original games:
- Left-click on a known spell memorizes it.
- Right-click on a known spell opens a new window with its description (and Erase button, if you're a Mage or Bard)
- Left-click on a memorized spell unmemorizes it.
- Right-click on a memorized spell also opens their spell description window.
This is for players who like me, were too used to the way spellbooks worked before the 2.0 patch. There is also a very good argument for the consistency of how screens work and what left or right-clicking on things do put forth by Adul in this post.
More Screenshots:
BG:EE:SoD:
BG2:EE
How to Install:
1a) Download and extract the file attached to this post.1b) Open the "Graphics" folder corresponding to the game you'll be modding. Copy those files to the "Override" folder of your game.
2a) Open the "Code" txt file corresponding to the game you'll be modding.
2b) Also open the UI.MENU file on the "Override" folder of your game. If you're new to messing with your game's UI and this step didn't make any sense, take a look at this thread.
3a) On your UI.MENU, find these lines:
3b) Select everything from the lines above (including them) to these lines (including them, too):
`
function magePageInfo()
createPriestMemorizationSparkle(2, 0, 40, 40, 'bookListPriest', -1)3c) Paste the contents of Code.txt over the selected code on UI.MENU.
showPriestMemorizationFlash = true
priestScreen:MemorizeSpell( characters[id].priestSpells[currentSpellLevel][currentBookSpell].level, characters[id].priestSpells[currentSpellLevel][currentBookSpell].index )
"
}
}
Final Notes:
This mod was built upon the Mage/Priest spells screen component of Lefreut's Enhanced UI and would not get made anytime soon (not by me, at least) without the help of his code.Let me know if you find any bugs.
12
Comments
I've noticed that your mod asks confirmation for unmemorizing a memorized spell as well as for deleting a known spell, even when the "More confirmation prompts" feedback option is turned off. Is there any way to incorporate that setting for those of us who prefer less prompts?
One more thing: I personally prefer the original (1.3 and earlier) behavior of memorization slots where you had full control over which slot you want to memorize and unmemorize spells from. In contrast, the 2.0+ UI forces your spells into your memorization slots in alphabetical order (instead of letting you set the memorization order), and forces you to unmemorize spells that aren't fully memorized before it lets you remove actual memorized spells of the same type.
Do you think it would be possible to restore the original behavior of the memorization slots?
However, if you'd like to remove the prompt from your game, what you can do is find this line and replace it with That's for the Mage Book. For the Priest Scroll, replace this with this I haven't tested it extensively, but it seems to be working. Let me know if there are any problems. I've been searching around for a function related to this behavior but so far I have yet to find anything.
Thanks for the solution, I'll try it. Now that I think about it, I'd be surprised if that behavior could be altered from UI.menu. Sadly, lower level functions like that are usually hardcoded, in my experience.
FYI, for BG1:EE 2.5.17, 3b is out of date. This mod still works perfectly on it though, but 3b's quoted text block doesn't exist as is. You can find its 2.5 analogue by searching for priestScreen:MemorizeSpell, but crucially you need to replace a *lot* of lines after it, until you get to the final end-block bracket ("}").
This corresponds to lines 7477 - 9716, or 7294 - 9533 for Lefreut's BG1 UI or UI_25.menu.
I'm not actually sure what the difference is between the two .menu files, as Lefreut's mod installs both of them on 2.5, but I modified both with Kilivitz's BG1:EE code and it worked.
@lefreut
When talking to an NPC with the modded spellbook installed on top of @lefreut's BG1:EE UI mod, the top of the dialogue window is always scrolled up 2 lines when NPC text is printed there in dialogue. That includes their text when you first start conversation, and all subsequent text when you select dialogue options. Like this:
When it should be this:
This is with lefreut's UI_25.menu, in his mod's folder (LeUI-BG1EE\copy\) prior to being installed, modified with the classic spellbook code. To modify UI_25.menu, I:
Performing a --change-log on UI.menu after modding BG1 shows that in addition to lefreut's mod, only A7's hidden gameplay options modifies it.
I've diff'd UI.menu, after installing all my mods, between the modified one and the regular one, and don't see any code differences that would impact the dialogue screen. I'm out of ideas, do any of you have one?
UI.menu.lefreutOrig
UI.menu.classicSB
UI.menu.diff
Lefreut, Kilivitz's code was written pre 2.5, around Feb 2017, which makes it based on a pretty old version of your UI mod. Did any of your releases ever have the bug that I described? What block of the .menu file controls text in the dialogue window and what lines it displays?
edit: I'm using BG1:EE v2.5.17 (Steam).
EDIT: nvm I think I've figured it out