[HELP] Making Favored Enemy Work With New Races

Hey all,

I’ve been working on an SP module and, rather than use the SetSubRace() function, I have made a bunch of subraces that can be chosen during Character Gen just like normal races.

I’ve got the work 90% complete but hit a snag with Favored Enemy. I’ve coded a workaround for the damage bonus but I’m a little stumped as to the best way to implement the +1 Listen, Spot, and Taunt checks vs. the new races. I’ve been thinking of the following:

  1. Make an invisible AOE that moves with the PC ranger.
  2. Have the AOE apply a -1 penalty to the Hide, Move Silently, and Concentration skills of any creatures within the AOE that match the PC ranger’s Favored Enemy race.

I’m just not sure how big to make the AOE. Also, would using such an AOE bog down the engine too much?

I’ve made an invisible VFX (copied line 37 CUSTOM_VFX in vfx_persistent.2da) and set its radius to 15m. To simulate the Ranger bonus, I do a feat check combined with a racial check then apply a penalty to the Hide and Move Silently skills equal to whatever the Ranger’s FE bonus is supposed to be.

I had to eliminate the Taunt bonus as the inverse skill is Concentration and applying a Concentration penalty to enemies within 15m would have affected spellcasters even if Taunt wasn’t being used by the Ranger.

All in all, I don’t think its a bad trade-off for having the Subraces actually be selectable at Character Creation. I hate token items or conversations that require breaking immersion to do things such as select a subrace, deity, etc. I’d rather have such selections made in Character Generation where they belong.

I was just thinking about this like $%$%!!!## Favored Enemy is hardcoded! Favored Enemy (Fey) is not going to work against my Dynamic Satyr! I was thinking maybe overwriting the regular Fey race might do the trick and changing the string ref if that works. You can always change the “appearance” or race of a creature, but not of a player race. Thanks for posting this. It’s definitely the last thing I thought of when it comes to custom races.

But why did you have to make a custom VFX?

The AOE is was just a hack to apply the effects of the favored enemy ability to enemies as a way of simulating the ranger bonuses. If I just given the bonuses to the ranger, they would have applied against all enemies. Using the AOE I can specify the enemies the bonuses apply against by applying the inverse penalty.

Right but why did you have to change a 2DA at all; why not just do 100% scripting? I just realized overwriting the Fey racialtype won’t work for me because I have two custom dynamic fey races (dryad and satyr).

Because with the 2DA edit, I can specify parameters that you can’t with 100% scripting.