igi Posted October 20, 2004 Share Posted October 20, 2004 I have read this thread. I will update the IESDP. Work sucks. Link to comment
Smoketest Posted October 20, 2004 Author Share Posted October 20, 2004 Okay, here are my IWD2 SPL 2.0 observations for this particular variable (0x001E) and others. 1. I can't verify from observation that priest spells use this variable. While a few "good-only" and "evil-only" priest spells did have the proper bits set, other priest spells that were denoted (good), (evil), or (lawful) did not have any alignment bits set. (There were spurious mage school bits, including Wild Magic, in a few priest (SPPR) spells, but none in the wizard (SPWI) spells.) I suspect the alignment bits are superceded by LISTDOMN.2DA. 2. Wizard spells (SPWI) did not use this variable at all; In all wizard spells, this variable's bits were set to zero. 3. For both the priest spells (SPPR) and the wizard spells (SPWI), the casting graphics variable at 0x0022 was being set to the proper value and the Primary Type (Spell School) variable at 0x0025 was being set to the appropriate value. The Secondary Type variable at 0x0027 wasn't being used at all (always zero.) 4. The Priest Type variable at 0x0020 seems to be superceded by the 2DA files also, specifically LISTSPLL and LISTDOMN.2DA. Except for two spurious odd values (1 and 2) in as many spells, this variable was set to zero for every other spell the player can learn. 5. If the bits work at all, it is likely they follow the functionality of HoW. Here are the 2DAs I mentioned, and what they appear to do. - LISTDOMN.2DA determines which clerics, according to domain or diety, can use which spells, and at what level they gain access to those spells. - LISTMAGE.2DA determines which wizard specialists (not including sorcerers and generalists) can use which spells, and at what level they gain access to those spells. - LISTSPLL.2DA determines which spellcasters can use which spells, and at what level they gain access to those spells. The line between "wizard spells" and "priest spells" is greyed in IWD2. While traditional wizard spells are still mostly used by wizards, bards and sorcerers, some of them are also used by priests. Likewise with traditional priest spells. So you'll see SPWI and SPPR spells being assigned to all sorts of spellcasters rather than being limited to one particular group. In support of my points above, Weimer's IWD2 EoU mod incorporates fixes/tweaks for druid spell accessibility. To make the changes, it modifies LISTSPLL.2DA, not the spell files. Since I'm not modding or fixing bugs for IWD2 at the moment (I'm busy with BG1,) I'm posting these observations in the event someone else wants to take a stab at setting values and observing the results. Things to test are: Do the bits still work? If so, do they override 2DA settings? I also updated the first post with the new info. Link to comment
NiGHTMARE Posted April 9, 2005 Share Posted April 9, 2005 Here's some code to institute the pnp school exclusions. I'm no WeiDU ninja, so I'm sure it could probably be improved somehow. COPY_EXISTING_REGEXP ~^SPWI[1-7].+\.spl$~ ~override~ READ_SHORT 0x1e "exclusion_school" PATCH_IF ("%exclusion_school%" = 256) THEN BEGIN // Conjuration/Summoning, exclude Diviners WRITE_SHORT 0x1e 2304 // Exclude Diviners & Invokers END PATCH_IF ("%exclusion_school%" = 512) THEN BEGIN // Invocation/Evocation, exclude Enchanters WRITE_SHORT 0x1e 1664 // Exclude Encanters, Conjurers & Illusionists END PATCH_IF ("%exclusion_school%" = 1024) THEN BEGIN // Necromancy, exclude Illusionists WRITE_SHORT 0x1e 9728 // Exclude Illusionists, Enchanters & Transmuters END PATCH_IF ("%exclusion_school%" = 2048) THEN BEGIN // Enchantment/Charm, exclude Invokers WRITE_SHORT 0x1e 6144 // Exclude Invokers & Necromancers END PATCH_IF ("%exclusion_school%" = 4096) THEN BEGIN // Illusion/Phantasm, exclude Necromancers WRITE_SHORT 0x1e 4160 // Exclude Necromancers & Abjurers END PATCH_IF ("%exclusion_school%" = 8192) THEN BEGIN // Abjuration, exclude Transmuters WRITE_SHORT 0x1e 9216 // Exclude Transmuters & Illusionists END BUT_ONLY_IF_IT_CHANGES BTW anyone else noticed that NI lists 9216 as the flag for necromancy, and 2304 as the flag for conjuration? Link to comment
Smoketest Posted April 9, 2005 Author Share Posted April 9, 2005 BTW anyone else noticed that NI lists 9216 as the flag for necromancy, and 2304 as the flag for conjuration? <{POST_SNAPBACK}> Yes, I had those values in my draft writeup. They represent the setting of two exclusion bits for those schools, part of Bioware's loose compliance with pnp exclusion schools (for balancing with the learnable spell library). Most specialists only block one opposing school in the BG games, but the two you mention block two opposing schools. Thus the combined bit values. NI's a little behind the times, since Jon Olav hasn't updated his beta in some time and hasn't been responding to e-mails. Link to comment
NiGHTMARE Posted April 10, 2005 Share Posted April 10, 2005 According to DLTCEP, 0x4000 / 16384 excludes Generalists. I don't suppose there's any chance of this actually being true, is there? Link to comment
Smoketest Posted April 10, 2005 Author Share Posted April 10, 2005 It's true, as my first post states just below the listed extra bits for BG2. The reason all other exclusion school bits are set for Wild Magic is because the wild magic bit won't exclude anything but generalist magi. So Bioware set all other exclusion bits as well, so that Wild Magic spells can only be learned and used by Wild Magi. (This could be changed by a mod.) Alas, the current version of IESDP doesn't accurately represent my data. I think something was lost in the translation. I think I'll re-edit my initial post just in case something's confusing. (Update: edited the initial post. Hopefully it's much clearer.) Link to comment
NiGHTMARE Posted April 10, 2005 Share Posted April 10, 2005 Nice. I wanted some necromancer-only and illusionist-only spells, and now I can! Link to comment
NiGHTMARE Posted April 12, 2005 Share Posted April 12, 2005 It might be worth mentioning that 0x4000 / 16384 also makes a spell unselectable by bards and sorcerers (though it still shows up on their list of spells). Link to comment
Smoketest Posted April 13, 2005 Author Share Posted April 13, 2005 That makes sense, since they are treated as generalists by the game. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.