• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Favored Terrain

Rev Haus 235

Well-known member
So after kind of hijacking a thread about the Ranger classes Favored Enemy ability, I thought that I should probably just start this one off on a new thread all on its own.

The Ranger Variant that I am making has a Favored Terrain ability, it works kind of like the Favored Enemy ability, but its for terrain that they are really good at working in.

As I am told by the guy who's playing the ranger in our group, there is something like this in Pathfinder for Rangers.

Is it possible to make something like this work in d20?

The text for the rules in the game system are as follows:
At 2nd Level, IK Rangers choose a type of terrain from the list below as a favored terrain, representing specialized training and familiarity in that environment. The ranger gains a +2 competency bonus to Hide, Move Silently, Spot, and Survival checks in his favored terrain and this ability also reduces movement penalties in the favored terrain to the next highest fraction. At 9th and 17th levels, rangers select new favored terrains. In addition, at each such interval the bonus in any one favored terrain (including the one just selected, if so desired) increases by 2. Available favored terrains are: arctic, desert, forest, hills, jungle, mountains, plains, scrub, and swamp.
 
Perhaps you could make the favored terrains Custom Special Abilities added by the class, and then have the class variant bootstrap class abilities at each level you gain a favored terrain. Each class ability could have a selector which could choose among the existing Favored Terrains, and adds +2 to the value of the one chosen. That's how I'd handle it, anyway.
 
I thought about trying to make copies of the Ranger Favored Enemy Class Abilities, but I'm not sure how I would go about establishing the list of terrains to choose from the way that the Favored Enemy ability has a list to choose from.
 
I thought about trying to make copies of the Ranger Favored Enemy Class Abilities, but I'm not sure how I would go about establishing the list of terrains to choose from the way that the Favored Enemy ability has a list to choose from.

You can't copy the Favored Enemy Class Abilities. That's one of the things Kendall and I have run across in our work. What you can do is as Aaron suggested. What you'll need to do is set up a secondary custom ability on your class variant then populate the list by making custom abilities and checking the "Secondary Custom Ability?" checkbox. This is because the Ranger already has a custom ability in the form of Combat Styles, and you don't want to populate that list with terrains.
 
Are Favored Terrain in lieu of Favored Enemies? If so, you can set it up as a secondary class ability as mentioned by Sendric. If it is in addition to Favored Enemies, it won't work that way because Favored Enemies uses up the secondary ability slot (and there is no tertiary ability). You would then have to create the Favored Terrain types under the Custom Ability tab if it is used as a secondary ability instead of Favored Enemy.
 
Are Favored Terrain in lieu of Favored Enemies? If so, you can set it up as a secondary class ability as mentioned by Sendric. If it is in addition to Favored Enemies, it won't work that way because Favored Enemies uses up the secondary ability slot (and there is no tertiary ability). You would then have to create the Favored Terrain types under the Custom Ability tab if it is used as a secondary ability instead of Favored Enemy.

Favored Enemies is separate from custom abilities unless you had to add new ones. In which case, I would just suggest adding the terrains as secondary abilities. The users will just have to make sure they take a terrain or an enemy as appropriate.
 
... I iz confuzzled.

I think Sendric is grasping what I intended most closely.

Let me try and re-state. Rangers have Favored Enemies, and those aren't easily modifiable to change them into terrains. So don't do that.

Have your archetype run an eval script that adds Secondary Custom Abilities slots at the appropriate levels, and create the Favored Terrains as secondary Custom Abilities, so they will appear in a new table right below where Combat Styles are currently. You'd have about a dozen different Custom Abilities, one for each terrain, but you'll want to mark them all with a certain Custom or User tag.

Now make 1 Class ability, and have it bootstrapped by your Class variant at each level you'd get a +2 to one of your favored terrains. Give it a selector which chooses among Secondary Custom Abilities that are marked with the Custom/User tag you made. Have an eval script that says, if we've picked something, add +2 to it's value field.

That's how I'd do it anyhow. Was that helpful?
 
And if the Favored Terrains DO count as one of your favored enemy selections, you could add a script to the Secondary Custom Abilities to subtract 1 favored enemy slot when added.
 
And if the Favored Terrains DO count as one of your favored enemy selections, you could add a script to the Secondary Custom Abilities to subtract 1 favored enemy slot when added.

If I caused any confusion, maybe I can clarify. I didn't mean to say that Favored Terrains would count as Favored Enemies. However, if there was a need to add to the list of Favored Enemies (or even to change it), we would have to use the secondary custom ability since we can't modify the list directly. In that case, I was suggesting that you could add Favored Terrains as additional secondary custom abilities, and the user would just have to know when to add a terrain and when to add an enemy. Your suggestion above would alleviate that problem I think (though it took me a while to wrap my thick head around it).
 
... I iz confuzzled.

I think Sendric is grasping what I intended most closely.

Let me try and re-state. Rangers have Favored Enemies, and those aren't easily modifiable to change them into terrains. So don't do that.

Have your archetype run an eval script that adds Secondary Custom Abilities slots at the appropriate levels, and create the Favored Terrains as secondary Custom Abilities, so they will appear in a new table right below where Combat Styles are currently. You'd have about a dozen different Custom Abilities, one for each terrain, but you'll want to mark them all with a certain Custom or User tag.

Now make 1 Class ability, and have it bootstrapped by your Class variant at each level you'd get a +2 to one of your favored terrains. Give it a selector which chooses among Secondary Custom Abilities that are marked with the Custom/User tag you made. Have an eval script that says, if we've picked something, add +2 to it's value field.

That's how I'd do it anyhow. Was that helpful?


Ok, I get what you're all saying... I think.
Favored enemies is separate from favored terrains.
Do not try to copy favored enemies and alter it, got it.
This Ranger Variant does not have the Combat Styles.

I really have no idea what the "Eval Script" would be to add Secondary Custom Abilities slots. I am totally lost on the scripting stuff.
I'm also not sure how I would represent the additional +2 that they get to add at the levels where they get a new terrain (the way 3.5 Rangers can add a +2 at later levels for their favored enemies).
 
I really have no idea what the "Eval Script" would be to add Secondary Custom Abilities slots. I am totally lost on the scripting stuff.

There are a few different ways to play around with the secondary custom ability totals. Here are some examples:

Code:
hero.child[cHelpRgr].field[cGiveSp2nd].value += ??

This changes the current maximum of Secondary Abilities that can be taken.

Code:
hero.child[cHelpRgr].field[cUsedSp2nd].value += ??

This changes the current total of Secondary Abilities already taken (ie if you wanted HL to think you had taken more than 1 secondary ability, you can use this code).

Code:
hero.child[cHelpRgr].field[cCustScTot].arrayvalue[0] += ??

This code allows you to alter the amount of secondary abilities allowed at a given level where 0 is first level, 1 is second level, 2 is third level, etc.

The timing of when the script should be executed depends on a number of factors, but if you just strictly adding a number you can probably do it somewhere in post-levels and be fine. Of course, if that's all your doing, you don't really need an eval script since you can do that in the class variant tab with the "Modified Secondary Ability" button. That allows you to increase or decrease total secondary custom abilities at each level.

I'm also not sure how I would represent the additional +2 that they get to add at the levels where they get a new terrain (the way 3.5 Rangers can add a +2 at later levels for their favored enemies).

I had a similar problem with the Arcane Hunter variant from Complete Mage. I only had one favored enemy to update which made it a little easier, but here's what I did. First, I created a class special to represent the new Favored Enemy (Arcanists). I then created a secondary ability called "Upgrade Favored Enemey: Arcanists". Through scripts, I then increased the number of upgrades taken like so:

Code:
hero.child[cFavEnemy].field[feUpgrades].value += 1

This tells HL that an upgrade has been taken for Favored Enemy. Its necessary because its not being done the traditional way, and of course you don't want to allow extra upgrades.

To actually indicate the upgrade, I used the custom ability to assign a user tag, like so:

Code:
 perform hero.assign[User.UpArcFE]

Then, in the class special, I used this code to show the increase:

Code:
var bonus as number

bonus = 2
bonus += hero.tagcount[User.UpArcFE] * 2

field[livename].text = field[name].text & " (+" & bonus & " bonus)"

field[livename] changes the name of the special as you see it in the portfolio.

Since you are going to have multiple secondary abilities, my suggestion would be to add one more secondary ability as an upgrade choice. Under the "Item Selection" section in the editor, go to Custom Expression, and enter this:

Code:
component.BaseCustSp & portal.ClsSecAbil

Then select All Picks on Hero from the "Restrict First List To..." menu. You may have to play around with the custom expression a little bit to narrow the choices to what you want (you can right-click on a secondary ability after you've chosen it and click Show Debug Fields to get a good idea of what you can use here).

Then you can create a script that takes the chosen field and upgrades the livename. You can get a feel for how that sort of script works by copying just about any Adjustment and checking the code. If you get stuck, of course, feel free to post.

Hope this helps.

One more thing. A good way to see the fields I've mentioned above is go to your portfolio, and in the menu do:

Develop -> Floating Info Windows -> Show Selection Fields -> Ranger, Class Variant (cHelpRgr)

You can select more than one thing at a time, but this will show you all the custom ability fields plus most of everything else as well.
 
Last edited:
Back
Top