morpheus562 Posted February 11, 2022 Share Posted February 11, 2022 5 minutes ago, subtledoctor said: I'll tell you... but you don't need it. The d5[ind]i.spl spells only use opcode 146 or 148 to cast the real spells. So you can set your spellstates in the regular spells and it will still take effect with my mod installed. No need for extra work here. Thank you and makes sense! No need for me to get weird with adding spellstates if you are already casting from the regular spell. Quote Link to comment
subtledoctor Posted February 11, 2022 Author Share Posted February 11, 2022 Thanks for helping me discover that bug Morpheus... if anyone installed v1.5.2 in the window before the bug fot fixed, you'll want to install this hotfix so that the mod behaves more like the fixed v1.5.3. Quote Link to comment
morpheus562 Posted February 11, 2022 Share Posted February 11, 2022 (edited) Happy to help! I am probably digging into your mod at more of a technical level and am looking forward to getting these scripts running. Just had a fun mini-problem to solve for since the spells all seem to go away once one spell is cast and then reset. This was causing my pre-buffing to see there was no more spells to cast so it ended prematurely. I was able to get a timing delay in there (for my scripts), so now it will cast appropriately, and my accelerated pre-buffing still casts at near instant speeds. Edited February 11, 2022 by morpheus562 Quote Link to comment
subtledoctor Posted February 12, 2022 Author Share Posted February 12, 2022 Not really a bug per se, but I just noticed that 5E casting doesn’t handle one new spell, it’s a 9th-level illusionist-only spell added by TnB, basically a “Simulacrum Other” letting your high-level illusionist make a clone of any ally instead of just themselves. Since it is illusionist-only, there is no scroll for it and sorcerers cannot pick it. So this mod misses it. I think I need to make an easily-accessible whitelist of files to add to the system so I, or anyone else, can easy add outlier spells like this. Quote Link to comment
morpheus562 Posted February 12, 2022 Share Posted February 12, 2022 Can you also add SI: Abjuration and Divination to your list? Base game does not have individual scrolls for these, but my scripts rely on the specific spell type to cast. Quote Link to comment
Gwaihir Posted February 12, 2022 Share Posted February 12, 2022 On 2/8/2022 at 12:43 AM, subtledoctor said: Also, more on the questionable compatibility front: now this can be installed alongside the Faiths & Powers component that lets priests choose to cast spells normally (Vancian) or like sorcerers (spontaneously). If that component is installed, the 5E casting will be installed for arcane casters only. So then you can make a cleric/mage that is: Component 30 of Faiths and powers still recommends to not install if planning to use 5e casting. Quote Link to comment
subtledoctor Posted February 12, 2022 Author Share Posted February 12, 2022 Oh good catch thanks. Should change the .tra file. Although, even though they are now technically compatible (probably), that component will still prevent priests from using 5E casting. So some kind of warning is still appropriate... Quote Link to comment
morpheus562 Posted February 14, 2022 Share Posted February 14, 2022 I am running into an issue with properly tracking and showing a spell is cast to update the overall number of spells available. Normally, for Spell Immunity, I check if the spell is memorized and the player has it, then I force cast SI: Abjuration using either ReallyForceSpell() or ForceSpell(), then I use RemoveSpell(WIZARD_SPELL_IMMUNITY) to remove one instance of the memorized spell. I am not able to do something similar with 5e since it will remove one instance from Spell Immunity but not the rest of the castable spells. Is there something else I should be updating instead? Quote Link to comment
subtledoctor Posted February 14, 2022 Author Share Posted February 14, 2022 On 2/11/2022 at 9:17 PM, morpheus562 said: Can you also add SI: Abjuration and Divination to your list? 2 hours ago, morpheus562 said: am running into an issue with properly tracking and showing a spell is cast to update the overall number of spells available. Normally, for Spell Immunity, I check if the spell is memorized and the player has it, then I force cast SI: Abjuration using either ReallyForceSpell() or ForceSpell(), then I use RemoveSpell(WIZARD_SPELL_IMMUNITY) to remove one instance of the memorized spell. I've been thinking about how to do this. I think the easiest way is to check for HaveSpellRES() to look for the 5E innate counterpart to Spell Immunity, which you already known how to do. Then, instead of casting it (since it will only bring up the subspell menu), you can force-cast: SI:Abj d5src-5.spl That will reduce the caster's 5th-level casting slots by one. Though it will not update their visible number of casting slots. If you want to update the UI as well (if this is the only spell cast, so another one doesn't do it), then you would force-cast (in this order): SI:Abj d5src-5.spl d5zz172.spl d5zspld.spl d5zspla.spl The 172 spell removes all of the 5E innates, and zspld/zspla add them back in numbers that reflect the change made by d5src-5.spl. Quote Link to comment
subtledoctor Posted February 15, 2022 Author Share Posted February 15, 2022 Some good stuff in the works. Minor, but good. I've figured out how to give players a choice about how bonus-spell-slot items should be handled with this system: 1) bonus memorization slots only (default behavior); 2) bonus memorization and casting slots (the current option); and 3) bonus casting slots only (soon to be added). Also have much better handling of spell-doubling items like Evermemory/Kontik's Ring/Edion's Ring: they are back to having their normal behavior for vanilla sorcerers and Vancian casters, while they get the "refresh spell slots once per day" item ability for 5E casters and multiclass sorcerers. Also have a way for new spells to be seamlessly added to the system (and to TnB's alternate sorcerer spell-learning system) that is install-order-agnostic, the spells can be added before or after. Not sure anyone will take advantage of it, but it is nice to have it working. Quote Link to comment
morpheus562 Posted February 15, 2022 Share Posted February 15, 2022 (edited) 12 hours ago, subtledoctor said: That will reduce the caster's 5th-level casting slots by one. Though it will not update their visible number of casting slots. If you want to update the UI as well (if this is the only spell cast, so another one doesn't do it), then you would force-cast (in this order): SI:Abj d5src-5.spl d5zz172.spl d5zspld.spl d5zspla.spl The 172 spell removes all of the 5E innates, and zspld/zspla add them back in numbers that reflect the change made by d5src-5.spl. So I added this in and it grey's out the casting button and I am unable to cast spells (of any level) until I rest again. Is there something else I am missing? My code looks like: ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_ABJURATION) // SPWI590.SPL (Immunity: Abjuration) SetGlobalTimer("MO_SpellCast","LOCALS",3) ReallyForceSpellRES("d5src-5",Myself) // No such index ReallyForceSpellRES("d5zz172",Myself) // No such index ReallyForceSpellRES("d5zspld",Myself) // No such index ReallyForceSpellRES("d5zspla",Myself) // No such index Interesting observation, if I do just the following code, then it will show 1 more level 5 spell than expected in the ui. If I attempt to cast a level 5 spell, it will work and then set lvl 5 spells to have 15 castings. ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_ABJURATION) // SPWI590.SPL (Immunity: Abjuration) SetGlobalTimer("MO_SpellCast","LOCALS",3) ReallyForceSpellRES("d5src-5",Myself) // No such index Edited February 15, 2022 by morpheus562 Quote Link to comment
subtledoctor Posted February 15, 2022 Author Share Posted February 15, 2022 I have this memory of something about scripts doing things in reverse order? You really want those to be in the right order - if zz172 happens after zspla/zspld, then you won’t have any more spellcasting until things reset with a rest. In normal usage, even though I have precise control over which gets cast when, I still put zspla/zspld on a 1-second delay, just in case. (That’s why you see the button blink off and on when you cast a spell.) Quote Link to comment
morpheus562 Posted February 15, 2022 Share Posted February 15, 2022 (edited) Order is always top to bottom in scripts. Adding a pause did the trick: ReallyForceSpell(Myself,WIZARD_SPELL_IMMUNITY_ABJURATION) // SPWI590.SPL (Immunity: Abjuration) SetGlobalTimer("MO_SpellCast","LOCALS",3) ReallyForceSpellRES("d5src-5",Myself) // No such index ReallyForceSpellRES("d5zz172",Myself) // No such index Wait(1) ReallyForceSpellRES("d5zspld",Myself) // No such index ReallyForceSpellRES("d5zspla",Myself) // No such index Thank you! Edited February 15, 2022 by morpheus562 Quote Link to comment
subtledoctor Posted February 15, 2022 Author Share Posted February 15, 2022 (edited) I'm thinking about having the converted Sequencer spells from Tome & Blood just be an integrated part of this, rather than a separate option. Also, the revised version of Identify. Just make those changes automatically, as part of this spellcasting system. Thoughts? EDIT - yeah the more I think about it, the more this sounds like a no-brainer. Just, if you install the 5E spellcasting system, those spells get changed to work with the new system. It amounts to an unasked-for bonus for the most part - the new Identify can identify up to four items instead of just one, and the new sequencers can be filled with any known spell, instead of memorized spells. Edited February 15, 2022 by subtledoctor Quote Link to comment
subtledoctor Posted February 16, 2022 Author Share Posted February 16, 2022 Updated to v1.6. This includes important changes to the underlying "semi-spontaneous casting" function library. Of note: -- Tome & Blood's "Revised Identify Spell" and 5E-compatible sequencers are now included in all mods with the semi-spont library. These tweaks will be installed automatically whenever the 5E casting method is applied to arcane spells. Happily, this version of 5E-compatible sequencers and contingencies is now compatible with the four "innate sequencers" options in Tome & Blood. -- You now have three choices as to how bonus spell-slot items like the Ring of Wizardry are handled with 5E casting: they only give bonus memorization slots (don't install anything) they give bonus memorization slots and bonus casting slots (the old option) they only give bonus casting slots (a new option) This now gives players the chance to use what I think is the best combination: bonus casting slots only from items (here), and bonus memorization slots only from high stats (in Scales of Balance). But between this and the recent SoB update, you now have full control over how to handle bonus slots from ability scores and items. 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.