Jump to content

Pen and Paper style Dual-Classing


Ishad Nha

Recommended Posts

Where no existing spell gives the desired property I can indeed use DLTCEP.

A list of the spells might be handy anyway. Modders won't need to clutter up the Override folder with their own custom versions of a spell that already exists.

Link to comment

I have now made a list of the spells found in the mainstream CLAB**##.2DA files, sorted first by name and then sorted by effect. Contents of the relevant 2DA files are also included. After that I will be looking at the other SPCL files. Then I will be going on to SPIN varieties.

Edit:

Version 2 of spreadsheet is updated to include the SPCL spells that seem not to be listed in the CLAB**##.2DA files. Some of these are High Level Abilities. Others seem to describe the effects of the powers granted by the relevant 2DA files, like the effect of a trap going off...

 

SPCL915: Use Any Item, this is very useful in dual/multi classing, a bit broad for my taste but I don't know how to limit its effect to only one class.

Link to comment

Spreadsheet now includes the name list from the Spell Browser of ShadowKeeper. That leaves unnamed a few hundred of the 1,377-odd basic spells.

 

Notional classes, spells can be added in one hit:

ActionOverride(Player6,AddSpecialAbility("SPPR101"))

ActionOverride(Player6,AddSpecialAbility("SPPR102"))

ActionOverride(Player6,AddSpecialAbility("SPPR102"))

ActionOverride(Player6,AddSpecialAbility("SPPR103"))

ActionOverride(Player6,AddSpecialAbility("SPPR104"))

ActionOverride(Player6,AddSpecialAbility("SPPR105"))

ActionOverride(Player6,AddSpecialAbility("SPPR106"))

ActionOverride(Player6,AddSpecialAbility("SPPR108"))

ActionOverride(Player6,AddSpecialAbility("SPPR109"))

 

For Divine Remix kits, this code is easy to prepare from the relevant Clab.2DA file. It requires use of Word and Excel but is straightforward.

 

If in Word a piece of data is found between two tab stops, it will occur in a cell of its own if pasted into an Excel spreadsheet.

(1) Copy and paste into a Word document.

(2) Use the Replace function to change groups of four spaces into one space, stop when most groups of white spaces are less than four spaces in length.

(3) Then use the Replace function to change groups of two spaces into one space, then continue till all spaces occur only by themselves, in groups of one only.

(4) Then use the function to replace all white spaces with tab stops, the code for a tab is ^t.

(5) Now the data is ready to be pasted into an Excel spreadsheet.

 

Once in the spreadsheet, what you can do is shown on the Selune page.

Link to comment

I am going to turn Imoen into a level 7 Barbarian, level 8 Lorekeeper of Oghma, level 12 Sorceror. She will be created as a Sorceror and then the other two classes will be added notionally. I am deliberately choosing an ambitious project for dual-classing.

Level 1 NPCs mod was used to turn Anomen into a Holy Strategist of the Red Knight and Jaheira into a Silverstar of Selûne. Existing versions of these were removed from the party. Then I used the console to create new versions of them with the new classes.

Link to comment

Okay, I have had some success, but there is still an issue with using the Priest spellbook. It seems that you can't access the Priest spellbook unless you are currently a person who has a class that uses Priest spells. But you can cast the spells anyway.

Adding the spells and abilities to Imoen was a breeze, I did it in one hit with a script:

" ActionOverride(Player6,AddSpecialAbility("SPCL152")) // Barbarian Rage

ActionOverride(Player6,ApplySpellRES("SPCL151",Player6)) // No such index" &&&&

You can dictate which spells are memorized, they are the first N spells gained at each spell level, where N is the number of available slots. Mercifully, it does allow repetition of instances of the same spell. If you want three instances of the same spell memorized you give the PC the same spell three times. Just make sure that the spells you want her to memorize are found at the top of the list.

Immunity to Backstab is something that I don't know how to add, short of a new spell.

Number of attacks was increased in the Cre file but it seems not to be in effect. I can always use the console.

Here, explicit innate abilities means abilities that must be used before they take effect, like those found in the Innate Abilities menu. Implicit abilities are always in effect.

AddSpecialAbility is for spells and explicit innate abilities.

ApplySpellRES is for implicit abilities.

Link to comment

Latest version of spreadsheet includes a PnP page that shows the allowable spells for a given selection of allowable Priest spell spheres. It is based upon the Tome of Magic listings. This page will eventually be re-worked as an aid to the Divine Remix mod.

 

Edit:

The PnP page is now found in the DivineRemix.zip file found in the topic "Creating More Priest Kits", this topic is at the Divine Remix forum. Hence this page has been removed from the CLAB&#2DA.zip.

CLAB&#2DA.zip

Link to comment

I thought GemRB was already capable of this. IIRC lynx made a sorc/monk mod (dont remember if it affects dual classing tho) for GemRB. if i'm correct one could use that mod to figure out how to make other combinations.

Yes, it is moddable, but it is not trivial for someone with less than master degrees of IESDP :)

Lynx's mod is a good template and should be checked before someone tries something similar.

Wouldn't it be possible to add all the combinations are multi-class options and then use Lynx's witchcraft to extend those to dual-classes? (I haven't looked at the dual-class part of the mod)

I played around with that mod and was able to create classes such as a Druid/Mage with some success. I recall that I couldn't add more than one class at once (because the class list has no scrollbar and I can't Python even enough to add one - I should perhaps learn it sometime) and there were one or two issues like item use and scribing scrolls, but it's certainly doable.

Link to comment

Sure, it's even mentioned as an idea on our potential-mod list. Extending the class window with a scrollbar is simple and we already do it for the kit list and some others.

 

Usability is much harder to change. As you know, all the classes and kits already take up all the assigned space, so we'd have to change the structure PLUS someone would have to create an appropriate mod to fix the original data.

 

As for the dualclassing part, that just means modifying more tables. I didn't do it, since I proved my point and didn't need a dualclassable character. I documented most, if not all, the tables one would need to modify though.

Link to comment

Unfortunately my Python abilities were not quite enough even to add a scrollbar (well, I added one, but I don't think it worked properly, I can't remember). I've been meaning to learn Python, though (it's somewhere on my long list of things to do), so I might do that and then take another look at it. In principle it's a minor hurdle, though.

 

Usability is more of a problem for the Druid/Mage than it would be for a lot of combinations, because you either have Druid restrictions, or you can't use Wands etc. If you were going for, say, Fighter/Ranger (I don't know why) you'd have no issues, and things like Paladin/Druid (an odd combo) would work too because one is strictly more restrictive than the other.

 

I fancy trying something like Paladin/Mage (Paladin of Mystra, maybe?) which you could probably do because it works like Fighter/Mage.

 

The only way I can see to make it work would be for a dual-class to be able to count as its component single-classes for items, but even then you'd need an either/or thing because some classes ban things (like Druid) whereas others allow them (like Mage).

Link to comment

We use trivial python, so it's not something you have to learn separately if you're already familiar with programming. It's more about getting to know the way gemrb works, in this case how we manually do 1-by-1 scrolling in the scripts and communicate it back to core (that's why the scrollbar has an associated variable).

 

For individual games, you can have nice usability, you just have to sacrifice one original one (let's say jester's). A good choice would be something that npcs don't use. And then of course modify all the items' flags.

Link to comment

Yeah, I seem to remember I managed to make the scrollbar and all, I just couldn't make it link to the box properly. It's probably, as you say, pretty trivial (and Python is so much simpler than many things), but I didn't really have time too mess about with it too much then (and I don't really now, but if I can find some I may).

Link to comment

Now I am attempting a Thief -> Sorceror dual class. Game plan is to create the PC as a Sorceror. Now he won't have access to the Thieving buttons unless you can rewrite the button toolbar, I don't know how to do that. Buttons may be hard-coded.

What can be done is to alter Keymap.ini to give hot keys to the abilities concerned:

Thieving=K

Stealth=S

Trap Detection=N

I tested this and it works in actual practice.*

Set Snare ability can be added as: SPCL412 Set Snare.

Backstabbing will be problematic, it must remain static and not increase with Sorceror level. Could be added as an ability.

 

Some ability to use Thief items can be given by SPCL915 HLA: Use Any Item. I have not tested this yet.

 

*(This can be extended to other classes too:

Turn Undead=T

Battle Song=B)

Link to comment

We will need to find the relevant file if your idea is to be viable.

I prefer my own approach for several reasons:

(1) It is valid for both the original game and Gem.

(2) Currently the number of toolbar buttons is limited to 12, you can easily run out of them.

(3) It is generally valid for any class combination.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...