Subradial Feat Howto
This artcile explains how to create sub radials like wildshape. It was originally posted to the BioWare forums in this thread.
With HotU, we move the handling of subradial feats from hardcoded to 2da. This is a short tutorial on how to do a subradial feat, as it is not as trivial as adding just a normal feat.
Steps needed:
- Enter the feat in the class feat 2DA as normal.
- Create the master feat in Feats.2da. Set the SPELLID to be the spell number of the master spell.
- Create the master spell in Spells.2da. Set the SubRadSpell1-5 numbers to point to the sub spells for the feat.
- Set the FEATID on each of the subspells as follows: (65536 * subfeat) + feat ID. The top 16 bits is used for subfeat, the bottom for feat.
Basically any feat that uses a spell that has subspells listed will be turned into a radial menu.
Subfeat number selection is up to you, I would suggest starting around 5000 or so and going up from there. Current internal subfeat numbers go from 1000 to about 1012, avoid those.
BioWare used subfeat IDs
| Spell | Label | SubfeatID | Calculation |
|---|---|---|---|
| 658 | Wild_Shape_Wyrmling_Red | 327746434 | 5001 * 65536 + 898 |
| 659 | Wild_Shape_Wyrmling_Blue | 327811970 | 5002 * 65536 + 898 |
| 660 | Wild_Shape_Wyrmling_Black | 327877506 | 5003 * 65536 + 898 |
| 661 | Wild_Shape_Wyrmling_White | 327943042 | 5004 * 65536 + 898 |
| 662 | Wild_Shape_Wyrmling_Green | 328008578 | 5005 * 65536 + 898 |
| 670 | Greater_Wild_Shape_Basilisk | 328139653 | 5007 * 65536 + 901 (greater wildshape III) |
| 671 | Greater_Wild_Shape_Beholder | 328074119 | 5006 * 65536 + 903 (greater wildshape IV) |
| 672 | Greater_Wild_Shape_Harpy | 328205188 | 5008 * 65536 + 900 (greater wildshape II) |
| 673 | Greater_Wild_Shape_Drider | 328270725 | 5009 * 65536 + 901 (greater wildshape III) |
| 674 | Greater_Wild_Shape_Manticore | 328336261 | 5010 * 65536 + 901 (greater wildshape III) |
| 678 | Greater_Wild_Shape_Gargoyle | 328401796 | 5011 * 65536 + 900 (greater wildshape II) |
| 679 | Greater_Wild_Shape_Medusa | 328467335 | 5012 * 65536 + 903 (greater wildshape IV) |
| 680 | Greater_Wild_Shape_Minotaur | 328532868 | 5013 * 65536 + 900 (greater wildshape II) |
| 682 | Humanoid_Shape_Drow | 328598406 | 5014 * 65536 + 902 (Humanoid Shape) |
| 682 | Greater_Wild_Shape_Mindflayer | 328663943 | 5015 * 65536 + 903 (greater Wildshape IV) |
| 693 | Greater_Wild_Shape_DireTiger | 328729479 | 5016 * 65536 + 903 (greater Wildshape IV) |
| 683 | Humanoid_Shape_Hobgoblin | 328795014 | 5017 * 65536 +902 (Humanoid Shape) |
| 704 | Undead_Shape_lich | 328860520 | 5018 * 65536 + 872 (Undead Shape) |
| 705 | Undead_Shape_vampire | 328926056 | 5019 * 65536 + 872 (Undead Shape) |
| 706 | Undead_Shape_spectre | 328991592 | 5020 * 65536 + 872 (Undead Shape) |
| 707 | Dragon_Type_Red | 329057129 | 5021 * 65536 + 873 (Dragon Shape) |
| 708 | Dragon_Type_blue | 329122665 | 5022 * 65536 + 873 (Dragon Shape) |
| 709 | Dragon_Type_Green | 329188201 | 5023 * 65536 + 873 (Dragon Shape) |
| 684 | KoboldCommando | 329253766 | 5024 * 65536 + 902 |
| 733 | Outsider 1 | 329319460 | 5025 * 65536 + 1060 (outsider shape) |
| 734 | Outsider 2 | 329384996 | 5026 * 65536 + 1060 (outsider shape) |
| 735 | Outsider 3 | 329450532 | 5027 * 65536 + 1060 (outsider shape) |
| 733 | Construct 1 | 329516069 | 5028 * 65536 + 1061 (outsider shape) |
| 734 | Construct 2 | 329581605 | 5029 * 65536 + 1061 (outsider shape) |
| 735 | Construct 3 | 329647141 | 5030 * 65536 + 1061 (outsider shape) |
Notes
Original NWN subradial feats
The older polymorph/shapeshift feats are still hardcoded, so they can not be changed to use this system- but they could probably be reimplemented with new feats.
Subfeat ID Advisory
I would suggest the community should use subfeat numbers starting above 2999 for their projects. Consider anything below that number Bioware reserved space.
Potential uses
Subradial feats are a nice way of implementing feats that offer multiple choises (like wildshape) or just grouping similar abilities (i.e. if you would create feats that allow you to give commands to your henchmen, you could use a subradial menu to group them)