Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System

Notices

Reply
 
Thread Tools Display Modes
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old January 14th, 2011, 12:57 PM
I have two main things in 3.5 that I wish to modify, but for the life of me I can't find where the original things are. So, I'm asking the community for some help. Here goes.

I want to modify the attack bonuses from attributes so that they are one-half what they currently are. For example, an 18 Strength normally gives a +4 to your attack, but in my homebrew it only supplies +2 (half as much). My rule is thus, all bonuses to attack values are halved, rounded down, but at least providing a +1 if you have a bonus (so that 12-13 range still gives +1). Notice this has no effect on penalties, only the bonuses. So I need to 1) code a conditional into the attack bonus calculations, and 2) adjust those bonuses appropriately. Any help for where (or if) I can do that would be appreciated.

Secondly, I have a modified skills so that base classes have class skills, cross-class skills, and general skills. The class skills and cross-class skills work normally, but my general skills are bought like class skills, but are limited to the max ranks of a cross-class skill. Any clues how I can implement that would be appreciated. I know I can define general skills in the base classes, just not sure how to implement them code wise (again, I seem to have trouble finding where exactly the system code does its thing).

I'm familiar with XML, but not fluent (I only just learned the basics this past fall). I am a programmer, so any help won't be too far over my head. Lay it on me. Thanks.
Kendall-DM is offline   #1 Reply With Quote
Lawful_g
Senior Member
Volunteer Data File Contributor
 
Join Date: Mar 2007
Posts: 1,245

Old January 14th, 2011, 02:18 PM
For #1 you could either recreate each of the classes with a special to do this, or and I just thought of this so I don't know that it will work, make a single adjustment for the in play tab.

For this adjustment, if it is clicked, its script:
A - detects the hero.child[aSTR].field[aModBonus].value
B - If negative, do nothing, done
C - If positive, subtract that value from the hero.child[Attack].field[tAtkMelee].value
D - Halve and round down the aModBonus value, minimum 1
E - Add that number back into the tAtkMelee field

For general skills, it sounds like you want to do something similar to the Jack of All Trades gnome racial special I made. Look at this forum post http://forums.wolflair.com/showpost....6&postcount=52 . Obviously not the exact same thing, the relevant parts are giving 1 rank for cross class skills and enforcing an error if more than CC ranks are applied.
Lawful_g is offline   #2 Reply With Quote
Lawful_g
Senior Member
Volunteer Data File Contributor
 
Join Date: Mar 2007
Posts: 1,245

Old January 14th, 2011, 02:25 PM
Something to keep in mind is phase and priority is paramount. #1 should either be late in the Attributes phase or more likely, early in the Post Attributes phase.

For the linked forum post Colen set the limit as "if we have more than 5 ranks", but you'll have to define what the current CC max rank is in the script and set that value in place of the 5.
Lawful_g is offline   #3 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old January 14th, 2011, 03:01 PM
Quote:
Originally Posted by Lawful_g View Post
For #1 you could either recreate each of the classes with a special to do this, or and I just thought of this so I don't know that it will work, make a single adjustment for the in play tab.

For this adjustment, if it is clicked, its script:
A - detects the hero.child[aSTR].field[aModBonus].value
B - If negative, do nothing, done
C - If positive, subtract that value from the hero.child[Attack].field[tAtkMelee].value
D - Halve and round down the aModBonus value, minimum 1
E - Add that number back into the tAtkMelee field

For general skills, it sounds like you want to do something similar to the Jack of All Trades gnome racial special I made. Look at this forum post http://forums.wolflair.com/showpost....6&postcount=52 . Obviously not the exact same thing, the relevant parts are giving 1 rank for cross class skills and enforcing an error if more than CC ranks are applied.
Not sure it is possible to do this in the In Play tab, since I don't see any way I can alter or even create a script. Where, exactly, is it calculating the attack values, from the classes? I have to go through and alter most of the classes anyhow, due to the skill system I have (all classes get a minimum of 4 skill points plus Int mod per level).

If I do redo the classes, is it possible to remove the old classes or overwrite them? Or does it matter, since mine will have the same names with different unique ids?
Kendall-DM is offline   #4 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old January 14th, 2011, 03:41 PM
Just thought of another complication. Well, not a complication, something I'd like to do that I can do manually if necessary. Armors are house ruled in my game based on a percentage of the character's Dexterity. *grumble grumble*

I've been delving into the d20 XML files, and I can see places where I can make simple changes. However, the calculated changes are nowhere to be found there, so I'm wondering where that's being done at. If it's internal, then I can't do anything about that, but being that Hero Lab is highly modifiable, as it shows with its Savage World example of a whole new game system, I don't see why it should be internal. Something in the d20 files has to be scripting the calculation, I just can't find it. I would like to do what Savage World is doing, as there is a specific example of calculating the attack values, but where that is located in the d20 files is a mystery.
Kendall-DM is offline   #5 Reply With Quote
Lawful_g
Senior Member
Volunteer Data File Contributor
 
Join Date: Mar 2007
Posts: 1,245

Old January 14th, 2011, 03:51 PM
Sorry, I misspoke. While I said In Play, I meant the Adjustment Tab. You can add a new Condition in the editor that when checked would do the things I listed.

If you are doing all classes anyway then you can just put the script into a Unique Special bootstrapped to each class.

Yes, you can have your new classes replace the old ones. Look to the right side of the editor and you can see the "Replaces Thing ID" field. Enter the replaced things unique ID there to have your new one supercede the old.

Answer your other questions later. Late for a meeting.
Lawful_g is offline   #6 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old January 14th, 2011, 04:49 PM
Ok, I shall try that. Not too keen on the character class adjustment, but if worst comes to worst, I'll try that as well. My script comes out something like:

if (hero.child[aSTR].field[aModBonus].value > 0) then
hero.child[Attack].field[tAtkMelee].value -= hero.child[aSTR].field[aModBonus].value
var temp_mod as number
temp_mod = round (hero.child[aSTR].field[aModBonus].value / 2, 0, -1)
temp_mod = maximum (temp_mod, 1)
hero.child[Attack].field[tAtkMelee].value += temp_mod
endif

With another script to cover Dexterity and Ranged attacks. I set it Post Attribute, but I haven't yet tested it. Again, I feel that there should be an easier way to do this right inside the XML code.

Last edited by Kendall-DM; January 14th, 2011 at 09:33 PM.
Kendall-DM is offline   #7 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old January 15th, 2011, 10:48 AM
Bah, seems in order to change what I want in the d20 files, I would have to do a whole recreation. I certainly don't want to do that. But without the skeleton files, which according to the documentation is where you set up all the internal calculations, I can't seem to change the things I want (I'm actually editing the XML files directly and compiling them). Unfortunately, some things are defined in ways I can't access (such as tAtk and tAttack), as they are not present in any of the XML files as a calculated field (which is what it is). *grumble*
Kendall-DM is offline   #8 Reply With Quote
Lawful_g
Senior Member
Volunteer Data File Contributor
 
Join Date: Mar 2007
Posts: 1,245

Old January 15th, 2011, 03:16 PM
You can do a lot through the editor if you know how to work it, but I don't know if you can do enough for what you want. I have no experience working directly with the XML code, so I can't help you there.
Lawful_g is offline   #9 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old January 18th, 2011, 03:49 PM
I'm making progress on my changes. Found out there is a HeroLab file that actually does some things behind the scenes for different game systems, which is annoying, since it is already a compiled file and I can't delve into its contents. One thing that bugs me though, I changed some things in the XML file, but I can't see any of those changes unless I load that particular file into the Editor and test it. For example, I went directly into the Fighter XML file and changed its 2 skill points to 4 skill points. But when I load the d20 file into HeroLab and create a Fighter, no changes are present, and I have to go into the Editor and load the Fighter and test it. I'm not editing anything at all in the Editor, but I still have to compile it with the Editor, even if I change the actual XML files to new skill point values and load up HeroLab. Seems that when I choose the d20 file, it should be recognizing the changes I made, but it doesn't. Perplexes me.
Kendall-DM 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 05:59 PM.


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