SJT_VY Posted May 16, 2021 Share Posted May 16, 2021 I'm looking at adding the ability to my Thief kit to be able use Arcane Scrolls at level 9... I just have no idea how to add the ability using NearInfinity. Any thoughts? Is this a simple thing to do? Thanks! Quote Link to comment
Jarno Mikkola Posted May 16, 2021 Share Posted May 16, 2021 It can be done... is it easy without a level, yes. Should you edit every item to allow this ? In your own game perhaps. Mine, nope. The technic discussed here is the same as the shamans use druid items and druids not allowed to use the specific items, namely the axes. Quote Link to comment
subtledoctor Posted May 16, 2021 Share Posted May 16, 2021 Allowing your thief kit to use them would mean allowing trueclass thieves to use them as well. "Allow this custom kit to use a narrower selection of items than the base class" is pretty easy to accomplish. "Allow this custom kit to use a broader selection of items than the base class" is complicated, and generally involves making compromises that some may find unpalatable. Quote Link to comment
SJT_VY Posted May 17, 2021 Author Share Posted May 17, 2021 On 5/16/2021 at 2:24 PM, subtledoctor said: Allowing your thief kit to use them would mean allowing trueclass thieves to use them as well. "Allow this custom kit to use a narrower selection of items than the base class" is pretty easy to accomplish. "Allow this custom kit to use a broader selection of items than the base class" is complicated, and generally involves making compromises that some may find unpalatable. So in Might and Guile I assume you accomplished this with 'Use Magic Device' by adding the ability to use scrolls/wands to *all* thieves, then disabling it for anyone who doesn't take the feat? Is this not a route I can take (I'm really just starting out with mods mind you...) only with slightly less complication because I'm not making it a feat you select upon level up, but one that is applied automatically and to only one kit? Quote Link to comment
subtledoctor Posted May 17, 2021 Share Posted May 17, 2021 4 hours ago, SJT_VY said: then disabling it for anyone who doesn't take the feat This is the rub. How do you disable the use of an item in a way that it can be enabled later? MnG does it with opcode 319 effects on items, and SPECIFIC values applied to thieves. But this is not extensible, unfortunately: a given creature can only have one SPECIFIC value at a time, so if you use the same method it will be incompatible. If that's okay with you, then of course that is one route you could take. Possibly better, if you are limiting this to scrolls which are a single item type: enable use on scrolls in the .ITM flags, and apply opcode 181 effects to all thieves preventing the use of that item type, and then use opcode 321 to cancel the 181 effect at level 9. (This would be EE-only.) I tried that, once upon a time. One problem I ran into there was that some scrolls are meant to be used by thieves, like certain green scrolls. And all blue divine scrolls are meant to be usable by cleric/thieves, but preventing trueclass thieves from using all scrolls will also prevent cleric/thieves from using them. And of course mage/thieves should be able to use arcane scrolls but not divine scrolls. You could go the way the original Refinements mod did: make two kits, which are identical except that one can use scrolls and the other cannot. At level 9, you script a kit-change and your character can suddenly use scrolls. Of course you still have the problem of which method to use to do it, and how to address trueclass thieves without screwing with multiclass thieves. And of course if you allow use of scrolls by thieves in the .ITM flags and then apply some effect from your mod that prevents all but your kit from using them, it would prevent my feat from working, and prevent the Refinements HLA from working. And likewise, is somebody installed MnG or Refinements along with you mod, it would prevent your kit ability from working. Because in those cases there would be two different effects suppressing scroll use, and each mod would only remove one. Realistically, the best way to make this work and be broadly compatible is to simply use the exact same code. That's how I make sure Refinements and MnG don't interfere with each other. If you simply grab the code from Refinements, and change the HLA into a spell that is auto-applied at level 9, then it should be fine. Of course adapting someone else's code is not always the easiest thing to do, I don't know if you're up for it. In in ideal world I would pull that code out and make it a portable function, so that anyone could use it by simply dropping a file into their mod folder and typing "LAUNCH_ACTION_FUNCTION ~subtled_umd~ END" or something like that. I've done that for a few other things, like custom HLA tables and 3E-style Evasion. But unfortunately I just don't have time to do that sort of thing right now. Quote Link to comment
SJT_VY Posted May 18, 2021 Author Share Posted May 18, 2021 22 hours ago, subtledoctor said: This is the rub. How do you disable the use of an item in a way that it can be enabled later? MnG does it with opcode 319 effects on items, and SPECIFIC values applied to thieves. But this is not extensible, unfortunately: a given creature can only have one SPECIFIC value at a time, so if you use the same method it will be incompatible. If that's okay with you, then of course that is one route you could take. Possibly better, if you are limiting this to scrolls which are a single item type: enable use on scrolls in the .ITM flags, and apply opcode 181 effects to all thieves preventing the use of that item type, and then use opcode 321 to cancel the 181 effect at level 9. (This would be EE-only.) I tried that, once upon a time. One problem I ran into there was that some scrolls are meant to be used by thieves, like certain green scrolls. And all blue divine scrolls are meant to be usable by cleric/thieves, but preventing trueclass thieves from using all scrolls will also prevent cleric/thieves from using them. And of course mage/thieves should be able to use arcane scrolls but not divine scrolls. You could go the way the original Refinements mod did: make two kits, which are identical except that one can use scrolls and the other cannot. At level 9, you script a kit-change and your character can suddenly use scrolls. Of course you still have the problem of which method to use to do it, and how to address trueclass thieves without screwing with multiclass thieves. And of course if you allow use of scrolls by thieves in the .ITM flags and then apply some effect from your mod that prevents all but your kit from using them, it would prevent my feat from working, and prevent the Refinements HLA from working. And likewise, is somebody installed MnG or Refinements along with you mod, it would prevent your kit ability from working. Because in those cases there would be two different effects suppressing scroll use, and each mod would only remove one. Realistically, the best way to make this work and be broadly compatible is to simply use the exact same code. That's how I make sure Refinements and MnG don't interfere with each other. If you simply grab the code from Refinements, and change the HLA into a spell that is auto-applied at level 9, then it should be fine. Of course adapting someone else's code is not always the easiest thing to do, I don't know if you're up for it. In in ideal world I would pull that code out and make it a portable function, so that anyone could use it by simply dropping a file into their mod folder and typing "LAUNCH_ACTION_FUNCTION ~subtled_umd~ END" or something like that. I've done that for a few other things, like custom HLA tables and 3E-style Evasion. But unfortunately I just don't have time to do that sort of thing right now. Very interesting stuff! No worries about not having time, this is all useful, so thank you. 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.