• 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

Help with Feat

willuwontu

Well-known member
Code:
Knowledge Devotion

( Complete Champion, p. 60) 

[Domain] 

You can use your knowledge to exploit your foes' weaknesses and overcome their strengths.
Prerequisite
Knowledge (any) 5 ranks,
Benefit
Upon selecting this feat, you immediately add one Knowledge skill of your choice to your list of class skills. Thereafter, you treat that skill as a class skill, regardless of which class you are advancing in. Whenever you fight a creature, you can make a Knowledge check based on its type, as described on page 78 of the Player's Handbook, provided that you have at least one rank in the appropriate Knowledge skill.
You then receive an insight bonus on attack rolls and damage rolls against that creature type for the remainder of the combat. The amount of the bonus depends on your Knowledge check result, as given on the following table.

Check Result	Bonus Granted
15 or below	+1
16—25	+2
26—30	+3
31—35	+4
36—41      +5
etc

You can make only one Knowledge check per creature type per combat. If you fight creatures of multiple types during the same combat, you can make one Knowledge check per type, thereby possibly gaining different bonuses against different opponents.
Example: Alhandra faces a black dragon, a vampire, and a beholder. She has the Knowledge Devotion feat and ranks in both Knowledge (arcana) and Knowledge (religion). At the beginning of the battle, she makes checks to gain bonuses against the dragon and the vampire, but since she possess no ranks in Knowledge (dungeoneering), she has no chance to gain a bonus against the beholder (an aberration). Alhandra's Knowledge (arcana) check grants her a +3 insight bonus on attack rolls and damage rolls against the black dragon. Later, a half-dragon enters the fray. Alhandra cannot make another check since she has already checked for the dragon type this combat, but she can apply the +3 insight bonus to her attack rolls and damage rolls against the half-dragon as well.
This benefit is an extraordinary ability.

I'm trying to recreate this feat (Initially from 3.5) into hero lab with a minor change (+1att/dam per 5 above 15 on knowledge check).

I want to turn it into an activated ability that will modify the attack bonus/damage by an amount the player would enter into the field (they would enter the check). I also haven't set up any custom fields yet so I don't know if this is possible.

Also the prereq is a bit trickier for me. How do I check for 5 ranks in any knowledge. And finally adding a knowledge skill of their choice as a class skill.

So far my Eval Script is
Code:
     hero.child[Attack].field[BonInsight].value += field[abvalue].value

      hero.child[Damage].field[BonInsight].value += field[abValue].value
Which is pretty lame I know.
 
Last edited:
SO far for the prereq I've been trying to set it for 5 ranks in any knowledge by
Code:
(#skillranks[skKnowArca] | #skillranks[skKnowDun] | #skillranks[skKnowEng] | #skillranks[skKnowGeog] | #skillranks[skKnowHist] | #skillranks[skKnowNat] | #skillranks[skKnowNobl] | #skillranks[skKnowRel] | #skillranks[skKnowPlan] | #skillranks[skKnowOth]) >= 5

How do I get this to work dammit....

on the other hand I got the second field working to choose what knowledge becomes a class skill for them

Code:
thingid.skKnowArca | thingid.skKnowDun | thingid.skKnowEng | thingid.skKnowGeog | thingid.skKnowHist | thingid.skKnowNat | thingid.skKnowNobl | thingid.skKnowRel | thingid.skKnowPlan | thingid.skKnowOth

Now I just have to figure out how to reference the id in an eval script

Code:
	  #makeclassskill[field[usrCandid2].chosen.]

That's what I've figured out so far.
 
You've got to use a foreach loop on a pre-req (not and expr-req), something like

Code:
   foreach pick in hero from BaseSkill where "Helper.SkCatKnow"
      if (eachpick.field[SkillRanks].value >= 5) then
        @valid = 1
      endif
    nexteach

additionally for your candidate expression for the selector it would be better to go:

Code:
      component.BaseSkill & Helper.SkCatKnow

instead of listing all the individual skills.
 
Thank man that helps a lot.

You wouldn't happen to know how I can reference the ID of the skill selected with the dropdown or how to reference the user text would you?

I know the drop down reference would be selected with something similar to this I just can't figure out what to add on the end.

#makeclassskill[field[usrCandid2].chosen.]
 
Hmm so far i've been trying a couple things to get the eval script to make it a class skill

Code:
      ~set our focus to the selected pick
      call fTargetFoc
      doneif (state.isfocus = 0)

#makeclassskill[focus.field[thingid].text]


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

Syntax error in 'eval' script for Thing 'fKnldgDvtn' (Eval Script '#1') on line 5
  -> Non-existent thing 'focus' used by script

I thought that fTargetFoc focused whatever the user selected? Any idea what else i'm screwing up on here.
 
Class skills with selectors don't work with the #makeclassskill[] macro, you'll need to do something like

Code:
  perform field[usrChosen2].chosen.assign[Helper.ClassSkill]
 
Code:
  perform field[usrChosen1].chosen.assign[Helper.ClassSkill]

Code:
[B]Error:[/B] Attempt to access pick information or behaviors for read-only thing 'skKnowDun'

Any idea on what is causing this error?

Edit: happens when I select any knowledges, in this case knowledge dungeoneering.
 
You have your drop down set to "All Things" you need to change it to "All Picks on Hero", it'll mean that the skill will have to be added before it's available in the drop down, but you'll be doing that anyways, so it shouldn't be a big deal.
 
Woo that worked!! Yay 2 out of three things done.

Now for home base.

Any Idea on how to convert text to integers in this? That way I can convert what they enter into the user text field into number to use for bonuses?

Edit: If not any idea on how to run a number loop in this(say from 15-100)?
 
Last edited:
I don't think you can convert string to number. There are ways to do loops, but I don't know that one off the top of my head, check the Eldrith Knight Fighter Training ability I know that uses a loop
 
I don't think you can convert string to number. There are ways to do loops, but I don't know that one off the top of my head, check the Eldrith Knight Fighter Training ability I know that uses a loop

I don't think converting text to numbers is the best way to do this, although I think you could. Isn't there an incrementer available you could use in this case though? I think that might be better.
 
I don't think converting text to numbers is the best way to do this, although I think you could. Isn't there an incrementer available you could use in this case though? I think that might be better.

Can you put an incrementer on a feat?

If you could tell me how to add one I would gladly do so as it would be a heck of a lot easier than what I'm doing now.
 
Look around the editor options on the feats tab - In the Activation Information grouping, read the ? buttons for those options.
 
Ok that is cool. I always thought that choose amount of activation meant I could choose how many time the player could activate it. Now I know better.

Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, ....
 
Ok so I have

Code:
      doneif (field[abilActive].value = 0)

var bonus as number

bonus = field.[actUser].value


      hero.child[Attack].field[BonInsight].value += bonus

      hero.child[Damage].field[BonInsight].value += bonus


and it brings up this error.

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

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

Any idea on what brings up this error?
 
Back
Top