I've been working a script, and come across some discrepancies with the weapon proficiency feat constants. Basically, the script is for an NPC that gives the PC ammo, either arrows, bolts, or throwing axes. The script looks at the PC and tries to determine what kind of ammo is most appropriate for them. One section of the script looks at the PC's weapon proficiency feats, to make sure the PC is only given ammo that they could actually use.*
Elves, Gray Orcs, and Rogues seem to have their weapon proficiency feats properly listed as constants, but Bards and Spirit Shamans don't have their weapon proficiency feats listed. I've fixed it by just checking for class level instead, but I'm wondering if there's something screwed up with the constants, or how the proficiencies are implemented.
*In the module, Druids have more 'natural' sources of darts and bullets, but as far as I can tell, they're the only base class that is SOL for the ammo giveaway. Can anybody think of another?
Weapon Proficiencies
Débuté par
Lugaid of the Red Stripes
, janv. 02 2014 09:53
#1
Posté 02 janvier 2014 - 09:53
#2
Posté 02 janvier 2014 - 11:20
While checking something else, I found that the skill focus feats have armor proficiency: medium as their master feat. So there's a good chance weapon feats (as well as focus/specialization) are having issues with this as well.
If one of my spells checks for a stock feat, I tend to use the number instead of the constant. Have you tried that yet?
If one of my spells checks for a stock feat, I tend to use the number instead of the constant. Have you tried that yet?
#3
Posté 03 janvier 2014 - 01:39
Are the numbers the same as the 2DA line numbers?
#4
Posté 03 janvier 2014 - 01:01
Yessir. Now you have me curious...
The proficiency feats do not have a master feat. They are DM feats though. Not sure what that does to a feat.
They are correctly defined in nwscript, but nothing is using the const int that modders use to define spells and feats. Could mean nothing.
Here's the lines that those feats use:
exotic= 44
martail= 45
simple= 46
The proficiency feats do not have a master feat. They are DM feats though. Not sure what that does to a feat.
They are correctly defined in nwscript, but nothing is using the const int that modders use to define spells and feats. Could mean nothing.
Here's the lines that those feats use:
exotic= 44
martail= 45
simple= 46
#5
Posté 03 janvier 2014 - 04:36
The bard feat is 1763, and the Spirit Shaman is 2015. In the 2DA, those two have different looking names than the others (WeapProfDruid vs FEAT_WEAPON_PROFICIENCY_BARD), so I guess the toolset constant definitions must have been built by looking for specific prefixes or something. Odd thing is that they put the Gray Orc in right, but not the bard.
#6
Posté 03 janvier 2014 - 07:44
It doesn't matter what the "name" of the feat is, that's more for finding it later for editing/reference. For example, I could put MinkyBoodle as the name and keep the constant as FEAT_WEAPON_PROFICIENCY_BARD with no ill effects.
Looks like the gray orc is the only one that was done that way. Perhaps whoever was writing the SoZ feats didn't feel like messing with the constant twice.
Looks like the gray orc is the only one that was done that way. Perhaps whoever was writing the SoZ feats didn't feel like messing with the constant twice.
#7
Posté 05 janvier 2014 - 10:55
Always take the script constants with a grain of salt. They're sometimes incomplete, or using NWN1 values.
I tend to bypass constants and use the 2DA line numbers directly. The only downside is that it's not immediately apparent what the number represents when you look at the script again at a later date. I tend to annotate those script lines with comments to remind me what the numbers mean.
I tend to bypass constants and use the 2DA line numbers directly. The only downside is that it's not immediately apparent what the number represents when you look at the script again at a later date. I tend to annotate those script lines with comments to remind me what the numbers mean.





Retour en haut







