Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Pathfinder Roleplaying Game

Notices

Reply
 
Thread Tools Display Modes
Zimrathon
Member
 
Join Date: May 2013
Posts: 43

Old December 29th, 2013, 02:54 PM
Hi,

Hoping this hasn't been answered before as I can't find it in the forums already, please feel free to flame me and point me at it if I've missed it.

I've created a new class which is a hybrid of a fighter and cleric class but with both parent classes significantly weakened so as not to create an OP new class.

I'm not even sure it is possible but I'm wishing to have the class be weapon focused, i.e. receive benefits from a specific type of weapon (Warhammer) which increases per number of levels, +1 for every six to be precise. i.e. As long as the character is wielding a warhammer he/she will receive an additional +1 to attack and damage at first level and for every six subsequent levels attained (7th, 13th, 19th). I cannot figure out how to do this from any tutorials or manuals I have studied.

Could anyone point me in the right direction? I'm not asking for it to be done for me, just for someone to suggest any previously designed classes, abilities etc that achieve something similar and maybe provide the .user file I can load to look at how it's been achieved, or otherwise guide me via advice on how to do it.

Thanks in advance,

Zim
Zimrathon is offline   #1 Reply With Quote
Silveras
Senior Member
 
Join Date: Aug 2010
Posts: 1,528

Old December 29th, 2013, 03:14 PM
This sounds very much like the new Warpriest class in the Advanced Class Guide playtest materials. You might want to see if that does what you want with no need to create your own class. At least, it may help with your question.
Silveras is offline   #2 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old December 29th, 2013, 03:22 PM
What kind of bonus to attack and damage is it? Does it stack with all other bonuses or is it typed?
Aaron is offline   #3 Reply With Quote
Zimrathon
Member
 
Join Date: May 2013
Posts: 43

Old December 29th, 2013, 03:35 PM
Silveras, Thanks, if the advanced class itself doesn't work for my needs, should I create a temp class from copy and look at the settings/scripts to see how it's done?
Zimrathon is offline   #4 Reply With Quote
Zimrathon
Member
 
Join Date: May 2013
Posts: 43

Old December 29th, 2013, 03:36 PM
Quote:
Originally Posted by Aaron View Post
What kind of bonus to attack and damage is it? Does it stack with all other bonuses or is it typed?
Just a simple +1 to attack and damage for each six levels stacking with strength bonus and any other bonus' currently active.
Zimrathon is offline   #5 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old December 29th, 2013, 05:13 PM
Then all you need to do is calculate the bonus, foreach through all warhammers on the hero, and apply the bonus

Post-Level 10000
Code:
~ Calculate our bonus, start off with 1
field[abValue].value += 1

~ Then at 7th and every 6 levels after, increase it by 1
var extrabonus as number
extrabonus = field[xAllLev].value - 1
extrabonus = round(bonus/6,0,-1)

field[abValue].value += extrabonus
Then apply it to all warhammers

Post-Attr 10000
Code:
doneif (tagis[Helper.SpcDisable] <> 0)

doneif (tagis[Helper.ShowSpec] = 0)

foreach pick in hero from BaseWep where "IsWeapon.wWarhammer"
  eachpick.field[Bonus].value += field[abValue].value
  nexteach
Aaron is offline   #6 Reply With Quote
Zimrathon
Member
 
Join Date: May 2013
Posts: 43

Old December 30th, 2013, 04:30 AM
Quote:
Originally Posted by Aaron View Post
Then all you need to do is calculate the bonus, foreach through all warhammers on the hero, and apply the bonus

Post-Level 10000
Code:
~ Calculate our bonus, start off with 1
field[abValue].value += 1

~ Then at 7th and every 6 levels after, increase it by 1
var extrabonus as number
extrabonus = field[xAllLev].value - 1
extrabonus = round(bonus/6,0,-1)

field[abValue].value += extrabonus
Then apply it to all warhammers

Post-Attr 10000
Code:
doneif (tagis[Helper.SpcDisable] <> 0)

doneif (tagis[Helper.ShowSpec] = 0)

foreach pick in hero from BaseWep where "IsWeapon.wWarhammer"
  eachpick.field[Bonus].value += field[abValue].value
  nexteach
Thanks, I'll give it a try.

Zim
Zimrathon is offline   #7 Reply With Quote
Zimrathon
Member
 
Join Date: May 2013
Posts: 43

Old December 30th, 2013, 03:58 PM
Quote:
Originally Posted by Aaron View Post
Then all you need to do is calculate the bonus, foreach through all warhammers on the hero, and apply the bonus

Post-Level 10000
Code:
~ Calculate our bonus, start off with 1
field[abValue].value += 1

~ Then at 7th and every 6 levels after, increase it by 1
var extrabonus as number
extrabonus = field[xAllLev].value - 1
extrabonus = round(bonus/6,0,-1)

...

foreach pick in hero from BaseWep where "IsWeapon.wWarhammer"
  eachpick.field[Bonus].value += field[abValue].value
  nexteach
ok, so i've inserted the code above and it compiles but isn't working and I can't tell why which has led me to another question, how does one debug this stuff? Are there techniques for inserting 'print' statements to indicate that you have arrived and are executing a block of code etc or anything similar. Another question which has arisen in doing this is, is there any documentation on the data structure and available commands to use in the proprietary language, such as the 'foreach pick, eachpick, nexteach' code block above, etc.

Thanks
Zimrathon is offline   #8 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old December 31st, 2013, 09:22 AM
Sorry for the slow reply, I'm currently taking a few days off. Happy new year!

First of all, are they in 2 separate eval scripts as I put them above? And what priorities did you set the eval scripts to run at?

You can use the debug command to output info during an eval script. For example, if you're calculating the value of abValue and want to check where things are going wrong, it might look something like this:

Code:
debug "At the start, our abValue is " & field[abValue].value

field[abValue].value += 5

debug "At point 1, our abValue is " & field[abValue].value

DO SOME WEIRD STUFF

debug "At point 2, our abValue is " & field[abValue].value

DO OTHER WEIRD STUFF

debug "At point 3, our abValue is " & field[abValue].value

field[abValue].value = round(field[abValue].value/2,0,-1)

debug "Our final abValue is " & field[abValue].value
To see the result, go to develop -> floating info windows -> Show debug output

If you, for example, see the total you expected at point 2, but then got the unexpected value at Point 3, then you know to look for something wrong in the OTHER WEIRD STUFF section of the code.
Aaron is offline   #9 Reply With Quote
Zimrathon
Member
 
Join Date: May 2013
Posts: 43

Old January 1st, 2014, 11:01 AM
Quote:
Originally Posted by Aaron View Post
Sorry for the slow reply, I'm currently taking a few days off. Happy new year!

First of all, are they in 2 separate eval scripts as I put them above? And what priorities did you set the eval scripts to run at?

You can use the debug command to output info during an eval script. For example, if you're calculating the value of abValue and want to check where things are going wrong, it might look something like this:

Code:
debug "At the start, our abValue is " & field[abValue].value

field[abValue].value += 5

debug "At point 1, our abValue is " & field[abValue].value

DO SOME WEIRD STUFF

debug "At point 2, our abValue is " & field[abValue].value

DO OTHER WEIRD STUFF

debug "At point 3, our abValue is " & field[abValue].value

field[abValue].value = round(field[abValue].value/2,0,-1)

debug "Our final abValue is " & field[abValue].value
To see the result, go to develop -> floating info windows -> Show debug output

If you, for example, see the total you expected at point 2, but then got the unexpected value at Point 3, then you know to look for something wrong in the OTHER WEIRD STUFF section of the code.
No worries about time bud, I'm on hols too and understand, I'm just glad you're taking the time out to help. I did put them in two eval scripts and set the priorities as you suggested. I'll use the debug command and see if I can figure it out and let you know.

Cheers
Zimrathon is offline   #10 Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 11:03 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.