Feat Sub Radials

Some time ago, I successfully updated the Charm Person spell to accommodate a “friendly” option to charm vendors to giving cheaper prices at their store. i.e. The Charm Person now has a “Friendly” and a “Hostile” version to choose from.

It recently came to light, that the RACIAL FEAT version does not successfully update the radial names when selecting the feat to use.

THE PROBLEM

See the image below …

image

I did a search and found this post by @kevL_s regarding something Kaedrin posted on the matter, but was unable to successfully change anything.

NOTE:

The official Charm Person feat is on LINE 2174, which directs to the SPELL ID 16 (Charm Person).

I have edited the LINE 16 to point towards sub-radials LINES 1278 (HOSTILE) and 1279 (FRIENDLY). These two lines point back to the “Master” 16 correctly. Now, the post above mentions that the FeatID needs to be calculated as follows (part quoted from the above link):

Now for the tricky part: the FeatId column needs to be (65536 * Subradial_Number + FeatId). The Subradial_Number needs to be greater than 5000 and successive (so 5000 for the first option, 5001 for the second, 5002 for the third, 5003 for the fourth, and 5004 for the fifth). EG: 65536 * 5000 (Subradial Option #1) + 3000 (FeatId) = 327683000

Therefore, I had assumed for my feat (2174) it calculated to:

WRONG CALCULATIONS:

(65536 * 5000 + 2174 = 327,682,174
(65536 * 5001) + 2174 = 327,747,710

CORRECT CALCULATIONS (SHOULD BE BASED ON MY OWN SPELLS.2DA ROWS)
(And should NOT have any commas!)

(65536 * 1728) + 2174 = 113248382
(65536 * 1729) + 2174 = 113313918

Basically, I believe we can ignore the part in the example that says, “The Subradial_Number needs to be greater than 5000” as that is not correct.

I then added these two figures to my own two sub-spell FeatID’s, but the change made no difference.

There is more information in the above link that suggests this is for when creating our own feats with sub-radials, but I am not sure if that distinction has any bearing?

Interestingly, I switched these values to the TLK values I have for the two option differences, and both descriptions always come back with the “HOSTILE” description … Changing these TLK values with various values I tried made no difference and it always returns these values … And, they both seem to be casting the HOSTILE version, as even the second “Hostile” entry does not allow a friendly to be targeted.

image

So, basically, does anyone know what I am missing regarding setting up sub-radials for feats?

1 Like

A lot of that is not entirely accurate, though seemingly useable.

You may want to double check your values though, and make sure they’re in the right column, the only way I can reproduce something even slightly like that is with incorrect values. In particular, check the subradial spells are correct.

1 Like

@Akhacha

Can you be more specific? :slightly_smiling_face:

  1. What do you believe the values should be? (Please show your calculation so I can see where I have gone wrong.)

  2. Which column do you think these values should be in?

Thanks!

Here is my spells.2da showing the specific rows … I have removed the FeatID values now (in this screenshot) as they did not work. However, they were in the last column shown here. Values entered as my previous post calculated.

(65536 * 5000) + 2174 = 327,682,174
(65536 * 5001) + 2174 = 327,747,710

Try SpellID * 65536 + FeatID and see if that works.

1 Like

@Akhacha

OK, I am trying the following values and will report back …

(1728 * 65536) + 2174 = 113,248,382
(1729 * 65536) + 2174 = 113,313,918

This calculation did not even bring up any radial options at all.

Remove the commas.

@Akhacha

Ah! Copy and paste … However, even after removing the commas, the same result …

However, I will just double check that I did not include commas in my previous testing.

EDIT: I going to retest your calculations again as well, as at the moment, the 2da editing is playing up. I am now closing toolset and trying completely afresh… back in a bit.

SUCCESS!

Your values worked!

1 Like

Here’s one of the versions that worked for me (added as a general feat you can choose on levelup):

Feat.2da:

2881	Charm_Person	505	6094	ife_DR_eleshape	****	****	****	****	****	****	****	****	****	****	****	****	****	****	****	****	****	0	0	1	10	1	1743	****	0.5	5	****	****	0	****	****	****	****	****	****	****	****	****	****	****	****	FEAT_ELEMENTAL_SHAPE	6	0	****	****	****	****	0	GENERAL_FT_CAT	1	0	****	****	0	0	****	****	****

Spells.2da:

1743	Charm_Person	767	is_charmperson	V	P	s	0x00	0x09	NW_S0_CharmPer	****	****	****	****	****	****	****	1	1500	****	sp_evocation_conjure.sef	sp_magic_conjure.sef	****	****	****	****	****	****	****	****	sp_evocation_cast.sef	sp_evocation_cast.sef	****	****	****	****	****	****	****	****	****	****	****	****	****	****	0	1744	1745	****	****	****	****	****	3	****	0	0	0	53217	0	2881	****	****	0	****	0	0	0
1744	Charm_Person	765	is_charmperson	E	S	vs	0x3a	0x2A	NW_S0_CharmPer	1	****	****	****	****	1	****	1	1500	hand	sp_enchantment_conjure.sef	sp_magic_conjure.sef	****	****	****	vs_chant_ench_lm	vs_chant_ench_lf	****	general	1000	sp_enchantment_cast.sef	sp_enchantment_cast.sef	****	****	****	1	****	sp_enchantment_travel.sef	sp_enchantment_travel.sef	accelerating	rhand	****	path	****	****	Mind_Affecting	1	****	****	****	****	****	2	1743	3	6112	1	0	0	****	0	68417	****	****	1	****	0	0	0
1745	Charm_Person	767	is_charmperson	E	S	vs	0x3a	0x2A	NW_S0_CharmPer	1	****	****	****	****	1	****	1	1500	hand	sp_enchantment_conjure.sef	sp_magic_conjure.sef	****	****	****	vs_chant_ench_lm	vs_chant_ench_lf	****	general	1000	sp_enchantment_cast.sef	sp_enchantment_cast.sef	****	****	****	1	****	sp_enchantment_travel.sef	sp_enchantment_travel.sef	accelerating	rhand	****	path	****	****	Mind_Affecting	1	****	****	****	****	****	2	1743	3	6112	1	0	0	****	1	133953	****	****	1	****	0	0	0

It’s accurately showing both spells on the menu, allowing it to cast on friendly or hostile as appropriate, and reporting SpellID / SpellFeatID:
SpellFeat

You can try using that either as a base or to try to figure out what’s going wrong.

4 Likes

@Akhacha

Yes, your calculations worked! Thank you!

My initial problem (in the test of your figures) was that I had removed the altered feat.2da pointing to the original spell 16 in my previous testing. Once I had reinstated that and put your values in without commas, everything worked!

Well, they said the right thing, and I assume the rest will work too now. :slightly_smiling_face:

Thank you for pursuing this with me …

SO, assuming all else is setup correctly, the actual calculation for adding radials to feats is this:-

(SpellID of the added subradial * 65536) + FeatID.

Where SpellID is the new RADIAL SPELL spellID value row added, and …
FeatID is the original FEAT ID.

In my example:

Original altered feat was CHARM PERSON (2174) and the new radials were…
1728 and 1729 that had been added to the spells.2da and whose FeatID column uses these figures.

END RESULT:

image

1 Like

Even that much isn’t quite correct, if you took a look at the one I posted.

It’s not quite clear to me exactly what they were trying to encode there (probably not Spell ID in fact, since they’d already have it if they were accessing the row), but a few things: The value has to be 65536 or greater, you can’t have the same value twice, and Feat ID is derived by this value % 65536. There’s plenty of variance allowed however, and some of the already existing feats don’t have values that make much sense (and some of them have values that end up returning the wrong SpellFeatID).

Still, it seems functional enough, so hopefully it won’t end up being a problem.

1 Like

@Akhacha

Yes, it is a little confusing. :slightly_smiling_face: I am still not quite sure I follow what was said there, but after reading again (and knowing the solution now), it seems close.

The main thing is that you helped me get to the bottom of it, and I hope this will also make things a little clearer for others looking to do the same thing in the future.

Again, you have my thanks for your time and patience. :rabbit:

2 Likes

Only answer as to why only the first tlk reference of 2 is dispatched is very basic :frowning:

They don’t !!

Somewhere you are calling twice for the same thing.

nice

@Shallina that was my first thought too, but it looks like Akhacha puzzled it out …