• 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

Feat help

Brolthemighty

Well-known member
So work on the Spell-less ranger continues, including the feats that are included in the pdf. Right now I'm working on this:

Coordinated Companion: Your animal companion is considered to have any teamwork feat you possess. Your animal companion must remain within 30ft. of you and must be able to see you, hear you, or otherwise be aware of your position in order to be treated as having your teamwork feats. Your animal companion can only coordinate with you in this way.

What I've got so far is to search the hero and find all feats with the teamwork tag and then assign those to your Animal Companion, skipping prereq's. Here's the jumble I've been able to put together:

Travel to hero and search/find all feats with teamwork tag.
tagis[fCategory.Teamwork]

Assign/copy all found to Animal Companion
assign[fCategory.Teamwork] hero.childfound[cAnimComp].minion.child

But I can't figure out how to finish it...
 
You'll need foreach loop through the feats on the hero to do this.

I don't know if this will work, but it should give you an idea of where to go:

Code:
foreach pick in hero from BaseFeat where "fCategory.Teamwork"
  perform hero.childfound[cAnimComp].minion.assign[HasFeat.eachpick]
  nexteach

I don't know that this will work but its where I'd start and tweak it from there.
 
Yeah, I had just found that loop (well, parts of it that was being used for a reduction in Ranged Attack) just got caught up with work. Thanks for the info, I'll try it and see if it works and let you know (go from there.)

Edit: Huh...gives me a invalid unique ID error.

Lol...nvm. Forgot to delete my copy of Rapid Shot.

Edit: Okay, here's the error report..

Hero Lab was forced to stop compilation after the following errors were detected:

Hero Lab was forced to stop compilation after the following errors were detected:

Syntax error in 'eval' script for Thing 'fKQCordAC' (Eval Script '#1') on line 2
-> Tag 'HasFeat.eachpick' not defined
One or more timing errors were identified. Please review the timing report and correct the errors. You can access the report under the 'Develop' menu or by clicking this link.
 
Last edited:
If it was me I would do no script. The tags your trying to push to the minion are just tags that HL tests for Pre-Req only. The HasFeat.? tags do not actually give the feat to the character and that is not what is suppose to happen anyways.

The ability allows your minion to be treated as having the teamwork feat it does not actually give them the feat. So just like their is no script for the Cavalier ability or the Inquisitor ability regarding teamwork feats you don't need one here either.

Those are my thoughts...
 
Last edited:
I just realized you're working on this. I ended up redoing a lot of the file that comes with the PDF for my game because a lot didn't work. I have the Companion Bound Ranger done as well as the main class and I think all the feats that can be scripted.
 
Yeah, searching the various threads, I've found quite a bit of chatter for people working on it...but nothing really final. You and TC were the most active on it. I just figured I'd get a complete working file. If you don't mind sending me the file, I'll incorporate the rest in to a single file. Then it can go up on Weasel's site as a complete work up for the community to share and enjoy.
 
Actually, this may not be doable with scripts. You might be able to do it with bootstraps and conditions. You'd need to forward a tag with the foreach loop to the minion, and have the condition look for that tag, which would activate the bootstrapped feat.

You'd have to do this for every feat though, and you'd have to update everytime new teamwork feats emerge to add the new feats to the bootstraps.
 
Andrew, looking at your file/scripting, it looks like we were going about it in completely different ways. It's going to take a little longer to get it all compiled.

Raven, so you're saying that a foreach loop to search the hero for teamwork feats, and then assign them to the animal companion won't work. I definitely don't know enough then....cause it SOUNDS like it should, lol. What about a Teamwork feat count, that assigns a number of bonus feats to the animal comp?

Here's the newest problem. I'm working on getting the Dual style Ranger's Favored Enemy to upgrade properly. I've modified the scripting you used for the Favored Terrain coding Andrew, but I'm getting an error. Here's the script...

if (#levelcount[Spellless] >= 20 then
hero.child[resEnemUpg].field[resMax].value += 4
elseif (#levelcount[Spellless] >= 15) then
hero.child[resEnemUpg].field[resMax].value += 3
elseif (#levelcount[Spellless] >= 10) then
hero.child[resEnemUpg].field[resMax].value += 2
elseif (#levelcount[Spellless] >= 5) then
hero.child[resEnemUpg].field[resMax].value += 1

endif

Here's the error:
Syntax error in 'eval' script for Thing 'arODDualSR' (Eval Script '#1') on line 1
-> Error parsing right-side expression in relational comparison
One or more timing errors were identified. Please review the timing report and correct the errors. You can access the report under the 'Develop' menu or by clicking this link.
 
Last edited:
In your script above the error is you forgot ).
Code:
if (#levelcount[Spellless] >= 20[B][SIZE="5"])[/SIZE][/B] then
   hero.child[resEnemUpg].field[resMax].value += 4
elseif (#levelcount[Spellless] >= 15) then
   hero.child[resEnemUpg].field[resMax].value += 3
elseif (#levelcount[Spellless] >= 10) then
   hero.child[resEnemUpg].field[resMax].value += 2
elseif (#levelcount[Spellless] >= 5) then
  hero.child[resEnemUpg].field[resMax].value += 1
endif
Also I would advise not "editing" your previous posts with this much information. As the boards don't flag the thread as being New. So I only just happened to notice you updated the post....
 
Raven, so you're saying that a foreach loop to search the hero for teamwork feats, and then assign them to the animal companion won't work. I definitely don't know enough then....cause it SOUNDS like it should, lol. What about a Teamwork feat count, that assigns a number of bonus feats to the animal comp?
You can not assign feats through a script. Also as I mentioned above your trying to give the animal companion something they don't actually get. They don't get the feats they just get treated as if they do for their master.

So no real reason to actually give a feat that the companion does not really get. The issue being if you actually give the feat to the companion that will allow them to meet the pre-requestest for other feats.

If really want to. Then I would simply do a "tagcount[fCatagory.Teamwork]" and use that to increase the number of feats that the animal companion gets and then select the Teamwork feats.
 
You see I would have to disagree slightly. The companion doesn't get the actual feats, but they DO gain the effects of the feats while within 30 ft. of their master. So I was going to make Coordinated Companion able to be activated, so that the teamwork feats activate. The wording of the feats makes me think it works this way, as opposed to the Inquisitor's Solo Tactics ability "allies are treated as if they possessed the same teamwork feats as the inquisitor for the purpose of determining whether the inquisitor receives a bonus from her teamwork feats."

So although I know that they don't actually GET those feats, it would be good to have a way for their effects to show on the sheet.
 
Andrew, I'm hoping you can help me out. I'm working on getting everything done on your files, getting it all compiled with the other work done, but I noticed something on your base class.....you're missing all of the combat styles except Archery! Now, I'm trying to get that fixed, by adapting the code used by the original file in order to get all the combat styles working, but I'm needing help translating it a bit. Here's what I'm looking at using...


var lvlRgr as number
var lvlRsl as number
var lvl as number
var iX as number

~ Get count of levels
lvlRgr = hero.child[kqRangerSL].tagcount[Classes.Ranger]
lvlRsl = hero.tagcount[Classes.RangerSL]

~ Remove all ranger levels
perform hero.delete[Classes.Ranger]

~ If ranger levels not equal to Spellless then reset ranger levels
if (lvlRgr <> lvlRsl) Then
lvl = lvlRsl - lvlRgr
~ we want only the positive value
If (lvl < 0) Then
lvl *= -1
Endif
~ assign the real ranger levels back
while (iX < lvl)
iX += 1
perform hero.assign[Classes.Ranger]
loop
endif
I'm pretty sure this is the script that gets the combat style working...but it's using identifiers that are different in your user file. I'm just having a hard time finding what each identifier actually is. These:

kqRangerSL
Classes.RangerSL
lvlRsl

I think that if I can substitute in your unique ID's for them, it'll get all combat styles to work on your file...which would be a good bit faster than trying to transition the work you had done that I didn't, over to the file I had.

Also, I was noticing in your configurable for the Teamwork class ability, you also made teamwork feats eligible. Was this to aid with Coordinated Companion?
 
Last edited:
Alright, I realzied this belonged in the proper thread for the Spell-less ranger...not the one dealing with the Coordinated Companion feat (which I'm still working on as well)
 
Last edited:
So I have almost every feat that needs some form of scripting done, only two types of feats are eluding me now. The feats Improved Nature's Healing, Increased Devotion, Invulnerable Animal Companion, and Natural Tracker, all give their bonuses based on 1/2 ranger level. I'm not really sure the best way to do this.

I'm tackling these feats first before moving on to the more troublesome Favored Terrain feats. So, anyone have some good input on how to calculate a bonus based on half-level of a class? Here's an example of what I'm currently trying to do:

Your animal companion's increased devotion to you gives it even greater resistance to unwanted mental control.

Prerequisites: Improved Animal Companion, Ranger level 6.

Benefit: Your animal companion's Devotion bonus is equal to 4 + 1/2 your ranger level.

Normal: An animal companion's Devotion bonus is +4.
 
Last edited:
Would these feats be calculating off of their master's Ranger level, or the Ranger level of the animal companion? If the former, then you'd need to use the master transition and then do a tagcount of the Classes.Ranger tags, like so:

master.tagcount[Classes.Ranger]

And if the latter, then the animal companion has no ranger levels, so no coding needed!
 
It'd calculate based on Master's ranger level, since it's a feat fort he hero, not AC. So it'd be an AbValue=tag count! then the assigned bonus to the AC's ability=AbValue?

Thanks for the help Aaron!
 
Alright, so here's the mockup of the script for the described feat. But I'm getting an error:

~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] = 0)

tagcount[Classes.Ranger]=field[abValue].value
hero.childfound[cAnimComp].minion.child[cAnimDevo].field.value +=field[abValue].value

But here's the error I'm getting. I'm still trying to learn how to decipher these error messages.

Hero Lab was forced to stop compilation after the following errors were detected:

Syntax error in 'eval' script for Thing 'fKQIncrDev' (Eval Script '#1') on line 5
-> Invalid use of a reserved word in script
 
Back
Top