Graion Dilach Posted April 27, 2022 Share Posted April 27, 2022 This will be a bit complicated one. At this point, if a player rebuilds the same spell mod changes between BG1EE and BG2EE, they can continue characters between the games without problems. However, SoD adds a few additional spells (and even hide a few in hidespl.2da) which don't overlap with IWDification, and only partially overlap with SR, partially breaking the spell incdices between the two games. This can lead to an unsuspecting player exporting his say, SoD+IWD spells druid from the game with, just for example, two Sunscorches memorized, import it to BG2EE (which also only has the IWDification spells installed as additional ones) and end up with dummy spells because the SoD-added Fairie Fire is missing among the L1 priest spells and the Sunscorch (which is supposed to be last spell added IIRC) ends up having a smaller index and the imported character ends up with two spell slots occupied with spells they can't unmemorize. IMO the issue belongs to the Fixpack somewhat because modders cannot assume things here reliably and I would suggest to just install and hide the SoD spells to ensure consistency in SPELL.IDS among the games, but I am also interested in how others see this problem. (This is fairly commonplace, Bubb cleared out a savegame last month and this morning someone ran into this on Reddit as well). Quote Link to comment
argent77 Posted April 28, 2022 Share Posted April 28, 2022 Another somewhat related issue are multiple symbolic names for the same spell resource, which can be a source of bugs or compatibility issues. One example is Nahal's Reckless Dweomer (SPWI124), which can be referenced as WIZARD_ALARM in all games, but also as WIZARD_NAHALS_RECKLESS_DWEOMER in BG2EE. Depending on the tool you're using to (de-)compile or check scripts, or the current order of file entries, you might end up with one name or the other. List of duplicate entries in SPELL.IDS: Spoiler BGEE (with or without SoD): 2924 BERESH_CHANGE 2924 WIZARD_SUMMON_PLANATAR_EVIL 2925 KAISHAS_CHANGE 2925 WIZARD_COMET 3899 RED_EFFECT 3899 ZOMBIE_SICKNESS BG2EE: 2124 WIZARD_ALARM 2124 WIZARD_NAHALS_RECKLESS_DWEOMER 2302 WIZARD_DISPEL_MAGIC 2302 WIZARD_REMOVE_MAGIC 2705 WIZARD_KHELBENS_WARDING_WHIP 2705 WIZARD_WARDING_WHIP 2921 WIZARD_IMPROVED_ALACRITY 2921 WIZARD_IMPROVED_ALUCRITY 2924 BERESH_CHANGE 2924 WIZARD_SUMMON_PLANATAR_EVIL 2925 KAISHAS_CHANGE 2925 WIZARD_COMET 3123 DRUID_HUMAN_FORM 3123 DRUID_SHAPESHIFT_FROM_BLACKBEAR 3899 RED_EFFECT 3899 ZOMBIE_SICKNESS 4321 BERSERKER_ENRAGE 4321 BERSERKER_RAGE 4412 SET_SNARE_TRAP 4412 THIEF_SET_SNARE 4414 SET_SPECIAL_SNARE_TRAP 4414 THIEF_SET_SPECIAL_SNARE IWDEE: 4103 AURA_OF_DESPAIR 4103 BLACKGUARD_AURA_OF_DESPAIR Quote Link to comment
Luke Posted April 28, 2022 Share Posted April 28, 2022 (edited) 1 hour ago, argent77 said: List of duplicate entries in SPELL.IDS: Reveal hidden contents BGEE (with or without SoD 2924 BERESH_CHANGE 2924 WIZARD_SUMMON_PLANATAR_EVIL 2925 KAISHAS_CHANGE 2925 WIZARD_COMET 3899 RED_EFFECT 3899 ZOMBIE_SICKNESS BG2EE: 2124 WIZARD_ALARM 2124 WIZARD_NAHALS_RECKLESS_DWEOMER 2302 WIZARD_DISPEL_MAGIC 2302 WIZARD_REMOVE_MAGIC 2705 WIZARD_KHELBENS_WARDING_WHIP 2705 WIZARD_WARDING_WHIP 2921 WIZARD_IMPROVED_ALACRITY 2921 WIZARD_IMPROVED_ALUCRITY 2924 BERESH_CHANGE 2924 WIZARD_SUMMON_PLANATAR_EVIL 2925 KAISHAS_CHANGE 2925 WIZARD_COMET 3123 DRUID_HUMAN_FORM 3123 DRUID_SHAPESHIFT_FROM_BLACKBEAR 3899 RED_EFFECT 3899 ZOMBIE_SICKNESS 4321 BERSERKER_ENRAGE 4321 BERSERKER_RAGE 4412 SET_SNARE_TRAP 4412 THIEF_SET_SNARE 4414 SET_SPECIAL_SNARE_TRAP 4414 THIEF_SET_SPECIAL_SNARE IWDEE: 4103 AURA_OF_DESPAIR 4103 BLACKGUARD_AURA_OF_DESPAIR Guess that the goal is to have the same human-friendly identifiers across all games, right...? I'm not sure though... I mean, on BG:EE I'd delete WIZARD_SUMMON_PLANATAR_EVIL and keep BERESH_CHANGE, whereas on BG2:EE I'd do the opposite (since the HLA is actually available there...) Edited April 28, 2022 by Luke Quote Link to comment
argent77 Posted April 28, 2022 Share Posted April 28, 2022 1 hour ago, Luke said: Guess that the goal is to have the same human-friendly identifiers across all games, right...? I'm not sure though... I mean, on BG:EE I'd delete WIZARD_SUMMON_PLANATAR_EVIL and keep BERESH_CHANGE, whereas on BG2:EE I'd do the opposite (since the HLA is actually available there...) Yes, one approach could be to keep the same identifiers across the games. Another option could be to prefer the name that describes the referenced spell more accurately. For example, KAISHAS_CHANGE in BG1 and WIZARD_COMET in BG2. Since WeiDU resolves a value to the last instance found in the referenced IDS file, a simple reordering should fix it. Quote Link to comment
CamDawg Posted November 2, 2022 Share Posted November 2, 2022 So two issues here: On 4/27/2022 at 1:46 PM, Graion Dilach said: IMO the issue belongs to the Fixpack somewhat because modders cannot assume things here reliably and I would suggest to just install and hide the SoD spells to ensure consistency in SPELL.IDS among the games, but I am also interested in how others see this problem. I think this is worth addressing. It's a problem that players can conceivably run into with only a mod or two, and especially since it can conceivably be fixed with a little IDS padding. On 4/28/2022 at 1:38 AM, argent77 said: Another somewhat related issue are multiple symbolic names for the same spell resource, which can be a source of bugs or compatibility issues. I'm not as sold on this. Stated at its simplest: modders already work around this, and we risk forcing them to change existing workarounds, so that future mods don't have to use workarounds. Whether we're adding, removing, and/or re-ordering, we're introducing a non-zero chance of breaking a mod--not for a bug fix, but better organized IDS files. Quote Link to comment
Angel Posted November 3, 2022 Share Posted November 3, 2022 On 11/2/2022 at 7:29 PM, CamDawg said: I think this is worth addressing. It's a problem that players can conceivably run into with only a mod or two, and especially since it can conceivably be fixed with a little IDS padding. Yep, I have ran into it multiple times. That's how I discovered Faerie Fire and Dancing Lights even exist in SoD. ^^ On 11/2/2022 at 7:29 PM, CamDawg said: I'm not as sold on this. Stated at its simplest: modders already work around this, and we risk forcing them to change existing workarounds, so that future mods don't have to use workarounds. Whether we're adding, removing, and/or re-ordering, we're introducing a non-zero chance of breaking a mod--not for a bug fix, but better organized IDS files. Just as a note, both EET and MiH: F&R contain code to automatically remove unused or duplicated entries from spell.ids. Doing so has the advantage of freeing up several slots for new spells without hitting the 50+ spells per level bug. Quote Link to comment
Recommended Posts
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.