• 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

Two-weapon fighting penalty adjustment

BloodAngel099

Well-known member
I am going to be running a game this Sunday and have given each of my players some candy so to speak. One of the players is a two-weapon fighting barbarian and I plan to give him a set of swords (bastard and short) that when wielded together reduce the penalty for two-weapon fighting by 1, very much like the Fighter Two-Weapon Warrior archetype Improved Balance. Is there an eval script I can use to achieve this? I have tried coping the eval scrip from the Improved Balance class ability with no luck.
 
I'm sure you can do just about anything with a script.
That's beyond my abilities.

However, with the Pathfinder Pack and specifically Shadow's adjustments...
You can give weapon specific attack bonuses.
And manually adjust the weapons in question, until the penalties are reduced to whatever amount you would like.

If a script is not found in time, you can still achieve your end goal.
 
If you've looked at the eval script for Improved Balance, what script did you try and how was it not working?
 
Post-levels 10000
if (field[xIndex].value >= 2) then
field[listname].text = "Perfect Balance"
endif

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

~ If we're disabled, just get out now
doneif (tagis[Helper.SpcDisable] <> 0)

~ If we're not the first copy, just get out now
doneif (tagis[Helper.FirstCopy] = 0)

field[abValue].value += field[xCount].value

if (field[xCount].value >= 2) then
field[livename].text = "Perfect Balance -" & field[abValue].value
else
field[livename].text = field[thingname].text & " -" & field[abValue].value
endif

~if the other script didn't change the weapon from one-handed to light
~we'll tell the hero to subtract something from the
~dual-wielding penalties
if (field[abValue2].value = 0) then
perform hero.assign[Hero.ImpBalance]
if (field[xCount].value > 1) then
perform hero.assign[Hero.ImpBalance]
endif
endif
Pre-levels 4000

~ If we're disabled, just get out now
doneif (tagis[Helper.SpcDisable] <> 0)

~wClass is checked at Pre-Levels/5000, so we're before then

~ we're too early for the normal Helper.ShowSpec mechanism, so count
~ the fighter levels directly
doneif (#levelcount[Fighter] < 11)

perform hero.findchild[BaseWep,"(fieldval:wIs2nd <> 0 & fieldval:gIsEquip = 0) | (wCategory.Double & fieldval:wIs2nd <> 0)"].setfocus

~if we don't have an equipped two-weapon, there's nothing we can do
doneif (state.isfocus = 0)

if (focus.tagis[wClass.OneHanded] <> 0) then
perform focus.delete[wClass.OneHanded]
perform focus.assign[wClass.Light]

~abValue2 <> 0 will be the communication between our scripts that
~we've changed the weapon from one-handed to light
field[abValue2].value = 1
endif

I tried just using the 2nd one by its self but nothing happens when the weapons are equipped, it doesn't change the penalty. I removed the line "doneif (#levelcount[Fighter] < 11)" because a fighter won't be using the weapons.
 
Well, look at the last part of the 2nd script. That refers to "communication between our scripts" so obviously there is partly something which needs to happen from the first script, or there wouldn't be a need for communication, yes?

So looking at what the signal is, abValue2. Where is that used in the 1st script? Ah looks like if abValue2 is zero, then one or more tags are applied to the hero. Perhaps those tags are doing the heavy work?
 
Well, look at the last part of the 2nd script. That refers to "communication between our scripts" so obviously there is partly something which needs to happen from the first script, or there wouldn't be a need for communication, yes?

So looking at what the signal is, abValue2. Where is that used in the 1st script? Ah looks like if abValue2 is zero, then one or more tags are applied to the hero. Perhaps those tags are doing the heavy work?

Okay, so though I have, and continue to, improve my understanding of the editor I am still pretty bad at it. :( Am I understanding you in that you believe that these two scripts are dependent on one another and are actually using some other resources to create the effect (a 3rd script or something to that nature). If so how do I track it down? If not, could you please explain what you mean in a little more detail?

Sorry and thank you.
 
The important part is in this script:
Code:
Post-levels 10000
if (field[xIndex].value >= 2) then
field[listname].text = "Perfect Balance"
endif

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

~ If we're disabled, just get out now
doneif (tagis[Helper.SpcDisable] <> 0)

~ If we're not the first copy, just get out now
doneif (tagis[Helper.FirstCopy] = 0)

field[abValue].value += field[xCount].value

if (field[xCount].value >= 2) then
field[livename].text = "Perfect Balance -" & field[abValue].value
else
field[livename].text = field[thingname].text & " -" & field[abValue].value
endif

~if the other script didn't change the weapon from one-handed to light
[B]~we'll tell the hero to subtract something from the
~dual-wielding penalties
[/B]if (field[abValue2].value = 0) then
    perform hero.assign[Hero.ImpBalance]
    if (field[xCount].value > 1) then
    perform hero.assign[Hero.ImpBalance]
  endif
endif
Just based on the comments in the bolded section I would assume its what you need. Then it appears to just be setting one or two tags onto the hero.

If this was me I would build a very simple adjustment that assigned the same tag to the hero and see what happened.

Post-Levels/10000
Code:
perform hero.assign[Hero.ImpBalance]
If you just do this code on an adjustment and add it to a character with twf feat and say two short swords. Does the attack bonus change when adding the adjustment?
 
The important part is in this script:
Code:
Post-levels 10000
if (field[xIndex].value >= 2) then
field[listname].text = "Perfect Balance"
endif

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

~ If we're disabled, just get out now
doneif (tagis[Helper.SpcDisable] <> 0)

~ If we're not the first copy, just get out now
doneif (tagis[Helper.FirstCopy] = 0)

field[abValue].value += field[xCount].value

if (field[xCount].value >= 2) then
field[livename].text = "Perfect Balance -" & field[abValue].value
else
field[livename].text = field[thingname].text & " -" & field[abValue].value
endif

~if the other script didn't change the weapon from one-handed to light
[B]~we'll tell the hero to subtract something from the
~dual-wielding penalties
[/B]if (field[abValue2].value = 0) then
    perform hero.assign[Hero.ImpBalance]
    if (field[xCount].value > 1) then
    perform hero.assign[Hero.ImpBalance]
  endif
endif
Just based on the comments in the bolded section I would assume its what you need. Then it appears to just be setting one or two tags onto the hero.

If this was me I would build a very simple adjustment that assigned the same tag to the hero and see what happened.

Post-Levels/10000
Code:
perform hero.assign[Hero.ImpBalance]
If you just do this code on an adjustment and add it to a character with twf feat and say two short swords. Does the attack bonus change when adding the adjustment?

That did the trick, thank you! I am curious though, if that one line is all that's needed to apply the effect, whats with all the other lines? Are they conditions for when the effect should/should not be applied?
 
That did the trick, thank you! I am curious though, if that one line is all that's needed to apply the effect, whats with all the other lines? Are they conditions for when the effect should/should not be applied?
For the most part yes. They are setting the livename/listname so the bonus value is displayed on the Class Tab and printed character sheet. It appears to be changing a one-handed weapon to a light weapon. In addition its checking that the class ability logic only runs at the correct character level.

But the specific logic of lowering TWF penalties is just a simple tag on the hero. :D
 
For the most part yes. They are setting the livename/listname so the bonus value is displayed on the Class Tab and printed character sheet. It appears to be changing a one-handed weapon to a light weapon. In addition its checking that the class ability logic only runs at the correct character level.

But the specific logic of lowering TWF penalties is just a simple tag on the hero. :D

Thanks again! I swear the best part of this program is its forums! You guys kick ass!
 
Back
Top