Jump to content

Is there a good way to prevent a shaman kit from getting spells on lvl?


Ulb

Recommended Posts

As the title says, is there a good way to prevent a shaman kit from getting to select spells during the level up (and character creation if possible)?

I know the two common ways are to either remove spells after the level up via clab file or flag all spells cleric/druid exclusive and then patch all kits to gain appropriate spells but I find neither of those solutions satisfactory.

The first solution would keep the spell selection process during the level up and the second way seems tedious and prone to compatibility issues, so I'm hoping against all odds there might a better solution..

Edited by Ulb
Link to comment

The engine is hard-coded to give druids, rangers, clerics, paladins, and shamans, access to every spell that is legally available to them*, every time they level up. (Access meaning shamans can learn them, everyone else already knows them and can now memorize them.)

 

* That means every spell 1) which is not flagged with the druid or cleric exclusion flag (whichever is appropriate); 2) which is not flagged with an alignment exclusion flag that bars it from the class or kit; and 3) which can be cast at your current level.

 

There is no way to get around that behavior. You can only account for it and avoid it if necessary. That's why giving extra spells to divine casters is super easy, but taking spells away is super annoying. You have to short-circuit one of those 3 mechanisms with regard to the spell (really just one of the first two) and then deal with how your changes affect other classes/kits.

Edited by subtledoctor
Link to comment

Okay, that's what I expected.

I was hoping there was a new 2da file that would maybe let me set spell slots per level for each kit individually or something like that but I guess I'm out of luck.

 

Thanks anyway. :)

Edited by Ulb
Link to comment

Wait do you mean spell slots? Or known spells?

 

The former can be reduced now. That latter is a whole complex thing.

 

EDIT - or, maybe you mean spell learning, a 3rd category specific to sorcerers and shamans. For this, the best answer I know of is to replace the whole system with a dialogue-based one. Then you can tailor dialogues for each kit.

Edited by subtledoctor
Link to comment

EDIT - or, maybe you mean spell learning, a 3rd category specific to sorcerers and shamans. For this, the best answer I know of is to replace the whole system with a dialogue-based one. Then you can tailor dialogues for each kit.

It's not. "The Best" is to leave the vanilla class & kits as is, and then just add kit specific spells/abilities. You can definitely do that via a dialog... but that doesn't need to touch the vanilla ones at all.
Link to comment

 

EDIT - or, maybe you mean spell learning, a 3rd category specific to sorcerers and shamans. For this, the best answer I know of is to replace the whole system with a dialogue-based one. Then you can tailor dialogues for each kit.

It's not. "The Best" is to leave the vanilla class & kits as is, and then just add kit specific spells/abilities. You can definitely do that via a dialog... but that doesn't need to touch the vanilla ones at all.

Ah, no.

Link to comment

Meaning ?

Can't be done. If you disagree feel free to explain how it might be done. How do you stop a shaman kit from going to the "learn spell" screen when levelling up like a normal unkitted shaman? How do you fill that screen with spells other than all the normal spells available to shamans? It can't be done. If you change the way spells are deemed available, or the number of spells that can be learned, or whatever, it applies equally to both the pure-class shaman and any kits. There's no way to exempt the vanilla shaman from those changes. If you give your kit a special dialogue and whatever, it will still also have the normal mechanism that the vanilla shaman has, and there is no way to exempt your kit from that.

 

Same applies to sorcerers.

 

In other words you are wrong. Thus: "ah, no."

Link to comment

Hm, actually,now that I think about it, there is an option - not that the imp knows anything about it. Slightly hacky, but it could work.

 

1) Make duplicates of whatever spells you want available to the kit and set those duplicates to spell type = 1 (wizard). Then make another set of duplicates and set those ones to type = 4 (innate). Then you need an .EFF file with opcode 171 corresponding to each of those innate duplicates. And finally another .SPL file with opcode 206 corresponding to each of those .EFF files. The necessary solution here is to have a modder-prefix-based name substitution scheme to keep everything straight. (This is part of my sorcerer code, linked below.)

 

2) Make your kit a Bard kit instead of a Shaman kit.

 

3) Set your shaman dance as a bard song. (They work the same way - AFAICT shaman dance is simple bard song with a different icon on the button.

 

4) Apply the code for my multiclass sorcerers to your bard kit. The code is designed for a wizard kit but could be easily adapted to work for a bard kit. The same necessary components (accessible wizard spellbook, 'cast spell' button).

 

You would end up with a kit that casts spontaneously, just like a sorcerer or shaman; has access to a custom list of spells defined by you, the contents of which are basically totally arbitrary, which it can learn by dialogue; and has a shaman dance. It would have the thac0, hit dice, and saving throws of a bard, which you could deal with fairly easily; and, the biggest downside, it would appear in character generation menus under bard kits instead of shaman kits. (I guess you keep the new kit out of the kit menus altogether, and make an empty shaman kit that only does a class-change to bard and kit-change to your bard kit... that would probably deal with this.)

Edited by subtledoctor
Link to comment

Hm, actually,now that I think about it, there is an option - not that the imp knows anything about it.

Right, so there's never been a mage kit that gains custom spells... not true, see my Divine Wizard.

Combine that approach with a dialog solution you have set up; but do so only on when an summon effect is applied, which summons a creature that starts the dialog, and apply that via the kits own .2da file, and bingo. You have a kit that can choose their own spells on level up. And it doesn't mess with the regular vanilla kits.

Link to comment

Yesh but he was talking about a Shaman kit. As I said, shamans are hard-coded to go to the "learn spell screen" for as many spells as determined by SPLSHMKN.2DA, every time they level up. And the available spells are any spells that are legal for druids. And there's no way to exempt your custom kit from doing that. And Ulb is interested in excluding some druid spells from the kit - not giving it new spells. (Letting a sorcerer cast Cure Wounds is easy, that's not the point here.) If you are claiming that can be done, then again, I invite you to describe how.

Edited by subtledoctor
Link to comment

 

I suspect you could probably do it by editing menu.UI, but that gets hideous pretty quickly.

The UI modding is beyond my ken, but there are some smart people playing with it and I haven't seen anyone come up with a satisfactory solution for this kind of thing.

 

I *suspect* you could probably

 

- change the UI so that shamans auto-select some fixed spell(s) on levelling without the player noticing;

- take those spells away again via CLAB.

Link to comment

That's an interesting idea! But I'm pretty sure going to the screen to select spells happens before any 171 or GA_ effects are applied... that's the way it is with character generation, at least. Never tested level-up, but my presumption is that it works similarly.

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