Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
ErinRigh
Senior Member
 
Join Date: Oct 2016
Posts: 621

Old November 19th, 2016, 11:27 AM
Hey, its me again.

I am trying to add a new skill that adds a synergy bonus to heal checks, but I am running into a snag.

The only way I know to add synergy is to edit the skill it is being assigned to.

In otherwords, I have to add;


if (#skillranks[kKnowAnat] >= 5) then
field[Bonus].value = field[Bonus].value + 2
endif

to the Heal skill.

If I do that, it is just going to erase it next update.

So what I am asking is; How do I create an extension of code that will add the +2 Synergy bonus to heal without having to alter the heal skill?

Also good to know for my Epic project as Epic characters gain even higher synergy bonuses for 25 ranks, 45 ranks, 65 ranks etc that I could therefore add to take those into account!
ErinRigh is offline   #1 Reply With Quote
Dark Lord Galen
Senior Member
 
Join Date: Jul 2012
Location: Texas
Posts: 707

Old November 19th, 2016, 06:23 PM
One approach could be to replace the default "Heal" with your own "myheal" and in your Knowledge: Anatomy (I assume) have it reference the unique id "myheal" for your synergy.
You will also have to utilize the field in your version of heal by entering "kHeal" in the replaces Thing ID to the far right of your new "heal" (ie myheal).

I did this with the "Common" language that defaults in the D20 version... IMC I define the origins of "Common" language and it gives a situational bonus because of root languages that make up "Common" in our world.

IMPORTANT, be sure to also set the {b}Phase and the Priority{/b} in the Eval Script. I use Pre-levels and 10000 myself (seems to work for me Shadow or others may have more input on the timing nuances)
See Slides below





This approach leaves the "heal" skill intact but simply substitutes it for yours. So not exactly a "change" but an addition. And as long as you save it in your own *.user file the updates will not affect it unless Shadow suddenly desides heal is called something else by modifying its Unique ID
Attached Images
File Type: jpg skillsinEditor1.JPG (156.9 KB, 23 views)
File Type: jpg skillsinEditor2.JPG (132.5 KB, 23 views)

D&D> Pre 1e White Box Edition, 1e, 2e, 3.5 Currently, Set in the World of Greyhawk (The first, longest running and Best Campaign Setting)
Software>Extensive use of all forms of MS Products, Visual Studio 2012, DAZ 3d, AutoCAD, Adobe Products.
Gaming Specific>Campaign Cartographer, D20 Pro Alpha & BattleGrounds Beta Tester, World Builder, Dungeon Crafter, LWD Hero Lab, Realm Works, Inkwell Ideas Citybuilder & Dungeon Builder, Auto-Realm, Dundjinni
Contributing Writer for TSR, WOC, & Canonfire

Last edited by Dark Lord Galen; November 19th, 2016 at 06:29 PM. Reason: Clarified with slides
Dark Lord Galen is offline   #2 Reply With Quote
ErinRigh
Senior Member
 
Join Date: Oct 2016
Posts: 621

Old November 19th, 2016, 06:54 PM
Thanks mate, that is exactly what I was looking for
ErinRigh is offline   #3 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old November 20th, 2016, 10:21 AM
Quote:
Originally Posted by ErinRigh View Post
Code:
      if (#skillranks[kKnowAnat] >= 5) then
        field[Bonus].value = field[Bonus].value + 2
        endif
I would recommend not doing a "replace thing id" as this can cause issues in the future. Plus any future enhancements I make to the Heal skill you will no longer see.

Instead I recommend reversing the logic of the script. So we run a script on your "new" skill (which I assume is kKnowAnat) that gives a bonus to the heal skill. Like this:

Pre-Level/10000
Code:
~ If we have 5+ ranks give a synergy bonus to the heal skill
if (field[kUserRanks].value >= 5) then
   hero.childfound[kHeal].field[Bonus].value += 2
endif

Hero Lab Resources:
Pathfinder - d20pfsrd and Pathfinder Pack Setup
3.5 D&D (d20) - Community Server Setup
5E D&D - Community Server Setup
Hero Lab Help - Hero Lab FAQ, Editor Tutorials and Videos, Editor & Scripting Resources.
Created by the community for the community
- Realm Works kickstarter backer (Alpha Wolf) and Beta tester.
- d20 HL package volunteer editor.

Last edited by ShadowChemosh; November 20th, 2016 at 12:43 PM. Reason: Fixed copy/paste issue in the script. =)
ShadowChemosh is offline   #4 Reply With Quote
ErinRigh
Senior Member
 
Join Date: Oct 2016
Posts: 621

Old November 20th, 2016, 11:16 AM
AWESOME SC, thanks, that will help with other skills I have too
ErinRigh is offline   #5 Reply With Quote
Dark Lord Galen
Senior Member
 
Join Date: Jul 2012
Location: Texas
Posts: 707

Old November 20th, 2016, 11:58 AM
Quote:
Originally Posted by ShadowChemosh View Post
I would recommend not doing a "replace thing id" as this can cause issues in the future. Plus any future enhancements I make to the Heal skill you will no longer see.

Instead I recommend reversing the logic of the script. So we run a script on your "new" skill (which I assume is kKnowAnat) that gives a bonus to the heal skill. Like this:
Code:
~ If we have 5+ ranks give a synergy bonus to the heal skill
if (field[kUserRanks].value].value >= 5) then
   hero.childfound[kHeal].field[Bonus].value += 2
endif
Point taken SC.. had a bit of tunnel vision, but must confess my own application probably skewed that thought process...
Not to derail the thread, but similar concern of application... I used the replace field to substitute for the D20 Game Generic "Common Language" issued to most PCs when created. As noted above, IMC "common" is a modern version of combined older dialects (which are also created, but limited to scholars, bards etc).

Since the common language is a "core element" within Herolab, should I be taking the same approach? And if so, how would I make the background of "common" available to all that get "Common" with the defined origins? Though modifying the HML code?
See Slide for clarity...


Best Regards
DLG
Attached Images
File Type: jpg Common Lang GH.JPG (169.4 KB, 21 views)

D&D> Pre 1e White Box Edition, 1e, 2e, 3.5 Currently, Set in the World of Greyhawk (The first, longest running and Best Campaign Setting)
Software>Extensive use of all forms of MS Products, Visual Studio 2012, DAZ 3d, AutoCAD, Adobe Products.
Gaming Specific>Campaign Cartographer, D20 Pro Alpha & BattleGrounds Beta Tester, World Builder, Dungeon Crafter, LWD Hero Lab, Realm Works, Inkwell Ideas Citybuilder & Dungeon Builder, Auto-Realm, Dundjinni
Contributing Writer for TSR, WOC, & Canonfire
Dark Lord Galen is offline   #6 Reply With Quote
ErinRigh
Senior Member
 
Join Date: Oct 2016
Posts: 621

Old November 20th, 2016, 11:58 AM
Sorry to be a PITA, but, I am not sure what I am doing wrong?? Using this code and setting timing to Post-Attributes/10000 It has no effect on the heal skill, and I am far too thick to easily see what is wrong. Please help me!!!
ErinRigh is offline   #7 Reply With Quote
Dark Lord Galen
Senior Member
 
Join Date: Jul 2012
Location: Texas
Posts: 707

Old November 20th, 2016, 12:36 PM
I would look at the timing... would think this would be set to Prelevel.. but SC is certainly the expert

D&D> Pre 1e White Box Edition, 1e, 2e, 3.5 Currently, Set in the World of Greyhawk (The first, longest running and Best Campaign Setting)
Software>Extensive use of all forms of MS Products, Visual Studio 2012, DAZ 3d, AutoCAD, Adobe Products.
Gaming Specific>Campaign Cartographer, D20 Pro Alpha & BattleGrounds Beta Tester, World Builder, Dungeon Crafter, LWD Hero Lab, Realm Works, Inkwell Ideas Citybuilder & Dungeon Builder, Auto-Realm, Dundjinni
Contributing Writer for TSR, WOC, & Canonfire
Dark Lord Galen is offline   #8 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old November 20th, 2016, 12:42 PM
Quote:
Originally Posted by Dark Lord Galen View Post
I would look at the timing... would think this would be set to Prelevel.. but SC is certainly the expert
Correct. I think ErinRigh mixed up a couple of my posts. In another thread using attributes I said "Post-Attributes". I actually didn't list a timing this time which is bad.

Pre-Level/10000 would be a good timing because your looking at "Ranks" which are calculated very early.

Just did a quick test and Pre-Level/10000 works and actually so does Post-Attributes.

@ErinRigh are you getting any error messages or anything when you do Test Now! ???

Hero Lab Resources:
Pathfinder - d20pfsrd and Pathfinder Pack Setup
3.5 D&D (d20) - Community Server Setup
5E D&D - Community Server Setup
Hero Lab Help - Hero Lab FAQ, Editor Tutorials and Videos, Editor & Scripting Resources.
Created by the community for the community
- Realm Works kickstarter backer (Alpha Wolf) and Beta tester.
- d20 HL package volunteer editor.
ShadowChemosh is offline   #9 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old November 20th, 2016, 12:53 PM
Quote:
Originally Posted by Dark Lord Galen View Post
Not to derail the thread, but similar concern of application... I used the replace field to substitute for the D20 Game Generic "Common Language" issued to most PCs when created. As noted above, IMC "common" is a modern version of combined older dialects (which are also created, but limited to scholars, bards etc).

Since the common language is a "core element" within Herolab, should I be taking the same approach? And if so, how would I make the background of "common" available to all that get "Common" with the defined origins? Though modifying the HML code?
See Slide for clarity...
For "Common" Language he easiest approach is what you did. Which "most" likely won't cause issues down the road. And actually changing it now would cause issues for your players with characters made with your data set.

Another "approach" is using a script to add the extra "text" that you needed.
Code:
perform state.thing[lCommon].amendthing[description,"Whatever you wanted to say"]

perform state.thing[lCommon].amendthing[name,"new name with your color green."]
Now don't go crazy with this logic. Its a bit CPU intensive and will happen/fire each time anything is changed on the character. But you can change text/name without doing a replace thing id or the underlying logic.

Sense ErinRigh was starting "new" its better to do not replace thing id if he can help it. Sense you already did removing the replace thing id right "now" could cause more issues than fixes. Just be on the alert if I do any "language" changes in the future it could cause you issues.

Hero Lab Resources:
Pathfinder - d20pfsrd and Pathfinder Pack Setup
3.5 D&D (d20) - Community Server Setup
5E D&D - Community Server Setup
Hero Lab Help - Hero Lab FAQ, Editor Tutorials and Videos, Editor & Scripting Resources.
Created by the community for the community
- Realm Works kickstarter backer (Alpha Wolf) and Beta tester.
- d20 HL package volunteer editor.
ShadowChemosh is offline   #10 Reply With Quote
Reply


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 03: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.