Jump to content

SR Revised V1.3.900 (2022 August 8th)


Recommended Posts

Thanks. SR doesn't set its name or description to begin with, and I always use atweaks' Bhaalspawn powers, so probably why I never noticed. I would imagine it's my own fault from when I updated the spell and probably does not apply to base SR.

 

V1.0.2 released:

  1. Gray Ooze's weapon's name was incorrectly set (from Mace +1 to Pseudopod).
  2. Bhaalspawn powers get named (and descripped, though you won't ever see it) by SR.
  3. The innate form of Simbul's Spell Matrix, that you use to actually trigger the sequencer, had the old name of the spell.
  4. Project Image and Simulacrum will now remove a number of innate abilities (such as Slayer Change...though currently not HLAs due to the problem that they're not innate in SR, which may unfortunately not be the case for all installs using SCS's innate HLAs and such - if you use this spell and that component, I suggest simply not using the HLAs if you should not have them, since it's clearly an exploit, but everyone's free to play as they like).
  5. Simulacrum (but not Project Image, at least not for now) gets magical resting upon casting, which means you can use it mid-encounter after having cast many spells and it will receive its full library of spells rather than a pre-depleted library of spells. I'm not sure that PI should receive this...yet. Thanks to subtledoctor for the idea.

 

For SD: I think #3 applies to SR. The naming field says "NAME2" instead of "NAME1".

Edited by Bartimaeus
Link to comment

Simulacrum (but not Project Image, at least not for now) gets magical resting upon casting, which means you can use it mid-encounter after having cast many spells and it will receive its full library of spells rather than a pre-depleted library of spells. I'm not sure that PI should receive this...yet. Thanks to subtledoctor for the idea.

Sorry, don't think I responded to this. Given the current form of the spells, I think this is the way to go. Allowing the level-drained simulacrum to cast any spells you had memorized that day is, at its heart, a convenience tweak. I always found it annoying to try to hoard good spells, using them from the clone first, but also trying to hold off using the clone until a fight really called for it... the vanilla spell is in awkward tension with itself.

 

OTOH, giving this to Project Image would be fairly outrageous. PI itself is outrageous. My mod replaces PI with a "lesser simulacrum" that is just like the normal one, but can only cast up to 4th-level spells. In that case sure, I refresh its spells. But vanilla PI is already so cheesy, it really doesn't need such extra bonuses. Simularcum is supposed to be a noticeably more powerful spell. (Compare other 7th/8th level spells... PI vs. Simulacrum should be analogous to Delayed Fireball vs. ADHW.) This is a nice way to really make it more powerful.

 

For SD: I think #3 applies to SR. The naming field says "NAME2" instead of "NAME1".

Thx, fixed locally. I've been doing some more fixes as well, I'll post my next update soon.

Link to comment

Thanks for the input: I felt Project Image would be much too powerful as well (and I also didn't think it worked well with the idea of the spell - PI is supposed to be just an illusion, which means it shouldn't have its own doubled library of spells to begin with but instead should use the caster's spellbook...whereas Simulacrum is supposed to be an actual quasi-real clone of the caster.).

 

Yeah, it's going be fun to (presumably) backport some of your fixes/changes, :p.

Link to comment

So you guys remember how I found a pile of wrong school stuff from SR a while back? ...I decided I'd randomly go through each type of specialist wizard to check that favored and opposition schools were correct. Oh boy, I really should've done this earlier. So far, I have noticed the following issues:

1. Mage Armor says Conjuration, is actually Enchantment.

2. Simbul's Spell Matrix says Universal, but is actually Invoker, though it does not exclude Enchanters. Should be set to none for school proper (but stay Invoker for casting graphics) in order to avoid being a "favored" spell by Invokers during character creation - same as the Wish spells.

3. Melf's Minute Meteors says Evocation, but is actually Conjuration. I assume it's supposed to be Conjuration.

4. Cloudkill says Conjuration, but is actually Evocation. Believe it should be Conjuration.

5. Contingency - same case as Spell Matrix.

6. Chaos says Enchantment, but does not disallow Invokers.

7. Simbul's Spell Sequencer - same as Spell Matrix.

8. Simbul's Spell Trigger - yep.

9. Chain Contingency - yep.

10. Larloch's Minor Drain is correctly Necromancy, but its disallowed school is incorrectly Alteration.

11. Horror is correctly Necromancy, but its disallowed school is incorrectly Alteration.

12. Spirit Armor is correctly Necromancer, but its disallowed school is incorrectly Alteration.

13. Moment of Prescience is correctly Divination, but its disallowed is not anything at all - it should be Conjuration.

14. Neither Summon Planetar or Summon Dark Planetar are actually set to Conjuration.

 

That should be it. 1.0.3 will be released whenever this crap is done. Subtledoctor...I imagine all of these apply to SR as well. Good thing is, I don't think any of the scrolls are wrong.

Edited by Bartimaeus
Link to comment

Here again I advocate having the mod patch at install time rather than fine-tune each spell by hand. 1) There is way less chance of overlooking something. 2) It is way easier to fix something that is (inevitably?) wrong or overlooked. 3) It operates from a human-readable text file so players could, if they feel like it, tweak things to their own liking before they install.

 

I already have code that does exactly this. Honestly it's going to take a lot to convince me to spend hours of my life tooling around in NI when I can spend 5 minutes copying and pasting and then add

INCLUDE spell_school_array
LAF spell_school_function
...to the end of main_component.tpa Edited by subtledoctor
Link to comment

I'd probably stick it in an external file under /lib/ called "spell_school_list" or something, but that seems fine. Ideally, there'd also be a way of setting disabled spells (e.g. level 4 copy of Mestil's) to PST Mage priest type as well to make it work with the arcane spellbook fixer, but I can add that myself if necessary.

 

Also, the Larloch's Minor Drain (e: actually all the necromancy bugs) one is really weird. Its exclusionary school is 0x2400, which is not actually the standard exclude transmuter (0x2000), and DLTCEP reports it as a correct exclude illusionist, but it's not, as that would be 0x0400. I would guess it's a combination of both (0x2000 + 0x0400 = 0x2400), which is very interesting to know that that even works.

 

(edit): Also, that doesn't solve the problem of scrolls, but I guess you can deal with those as people notice them, which, by the state of things, will be never. :p

Edited by Bartimaeus
Link to comment

I'd probably stick it in an external file under /lib/ called "spell_school_list" or something, but that seems fine. Ideally, there'd also be a way of setting disabled spells (e.g. level 4 copy of Mestil's) to PST Mage priest type as well to make it work with the arcane spellbook fixer, but I can add that myself if necessary.

That's exactly how it works.

 

It could probably be extended to handle excluded spells (I assume you mean for non-EE/non-ToBEx where hidespl isn't an option?)... I only don't know what that "PST mage priest type" is. Can you point me to the hex offset in the .SPL file where that is?

 

(edit): Also, that doesn't solve the problem of scrolls, but I guess you can deal with those as people notice them, which, by the state of things, will be never. :p

My code handles scrolls automatically. ;)

 

Also, the Larloch's Minor Drain (e: actually all the necromancy bugs) one is really weird. Its exclusionary school is 0x2400, which is not actually the standard exclude transmuter (0x2000), and DLTCEP reports it as a correct exclude illusionist, but it's not, as that would be 0x0400. I would guess it's a combination of both (0x2000 + 0x0400 = 0x2400), which is very interesting to know that that even works.

Yep, you can combine hex values to specify more than one exclusion school.
Link to comment

No, I mean for spells that get hard removed from playable characters' spellbooks via the fix spellbooks component. SR doesn't currently do this at all for arcane spells (disabled spells like Mestil's stay in spellbooks like Edwin's - SR makes no attempt to remove them), but SRR does via the fix_spellbooks_arcane.tpa in spell_rev/components. You're welcome to take it and integrate it into SR, but how it works is similar to the divine part of the component (and indeed, mostly cannibalized from exactly that) - if a spell has the PST Mage priest type, it's marked as a "bogus" spell and removed. It also removes spells of the wrong school type from playable specialist mages - so if Edwin had a (now) Divination spell memorized for some reason, it should remove that as well.

 

Here it is if you wanted to look at it: https://dl.dropboxusercontent.com/s/48748442srres0a/fix_spellbooks_arcane.tpa

 

Relevant lines for your coding:

READ_SHORT 0x20 priest_type

ELSE PATCH_IF (priest_type == 0xe07f) BEGIN // disabled

 

So if a spell (e.g. the supposed-to-be disabled level 4 version of Mestil's) is supposed to be disabled, your coding should WRITE_SHORT at 0x20 to 0xe07f. That'll mark it for removal.

Edited by Bartimaeus
Link to comment

Fireburst is not blocked by Spell Deflection.

Sometime, apparently at random, Dispelling Screen doesn't work for some characters (e.g. enemy mage casts remove magic, on charname and jaheira dispelling screen works, on aerie both dispelling screen and active buffs are dispelled).

Link to comment

@Bartimeus if you can fill out version of this text file with the proper school designations for SR:

https://github.com/subtledoctor/TomeAndBlood/blob/master/TomeAndBlood/data/core/spell_list_sr.tpa

 

...I can add the code to set spells and scrolls properly. IDS names or filenames, either one works.

 

You can add another category, like "remove," instead of a school, and I'll set those spells to be removed from spellbooks.

Link to comment

Fireburst is not blocked by Spell Deflection.

Sometime, apparently at random, Dispelling Screen doesn't work for some characters (e.g. enemy mage casts remove magic, on charname and jaheira dispelling screen works, on aerie both dispelling screen and active buffs are dispelled).

 

Yeah, it's actually enabled in the AoE Spell Deflection component UNLESS you have Spell Revisions' base component installed, where it is then disabled. This is how it was already set in SR, and the reason for this is because it's similar to some of the other spells that can't currently be enabled to be deflected (like Gust of Wind) - it has some effects that self-target. In this case, trying to enable AoE Spell Deflection would make it so that you would blow yourself up when you cast the spell, too. What I might try doing is for special cases, just introduce a specially prefixed subspell with the AoE effects so that it can be handled by this subcomponent, unless Subtledoctor has come up with a solution already.

 

I'll test Dispelling Screen out some more, but I'm fairly certain it has nothing to do with SRR, and probably just unfortunately how the spell works. It might be a case of what order you cast spells in.

 

@Subtledoctor: Ah, I see that your method of "avoiding tooling around in NI for hours" is made possible by me tooling around in a text file for hours to actually make your method work. Nicely done, :p.

 

https://dl.dropboxusercontent.com/s/lcxj4fl9g2y8x24/spell_list_sr.tpa

Edited by Bartimaeus
Link to comment

Prismatic Mantle doesn't seem to be showing any of its effects other than protection from weapons. I'm using v1.0.1, although I don't think there were any changes to Prismatic Mantle afterward.

 

Chain Lightning also appears to only be doing 10d6 damage instead of 20d6 at max level.

Edited by HuoYuhao
Link to comment

PSA: It can often be helpful if you give the exact scenario where it seems a spell is not working. I'll describe an example of Prismatic Mantle (not!) working as an example:

 

1. Made and unequipped a fresh ToB mage whose only spell is Prismatic Mantle.

2. Cast Prismatic Mantle.

3. Created a hostile ogre berserker ("CLUAConsole:CreateCreature("ogreberz").

4. Got hit by the Ogre Berserker, it says "weapon ineffective", but no other apparent effect.

5. CTRL+Q-ed it into my party, and gave it Daystar +4 to see if the issue was the lack of an actual hit preventing the effect from firing.

6. Removed him from my party and then attacked him with my fists to re-trigger hostility (since the prismatic effect only triggers on hostile creatures).

7. It murdered me, and still no prismatic effect.

8. Blimey.

 

Guess the first thing to test is that Fire Shield and Mestil's still work correctly. Fire Shield...successful! Mestil's Acid Sheath...successful! Although note for later, Mestil's could use an acid hit animation, since acid damage for some reason lacks an animation. So it's something specifically with Prismatic Mantle. Prismatic Mantle shares effects with Prismatic Spray, so let's try that...and it straight up murders the Ogre Berserker on first try. Alright. And then I notice that the effect the subspell filters through to only affect enemies is referencing SPWI730E instead of SPWI708, no idea why, but changing it to SPWI708 fixes the problem. Yay! Thanks. It's amazing how so many little things can go wrong.

Edited by Bartimaeus
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...