Senior Member
Join Date: Apr 2013
Location: Poughkeepsie, NY
Posts: 102
|
So I know this is a problem with a great amount of history but the wMain.xdy_z tags are tricky (at least for me), and authoring custom dice seems to me to be out of my reach (unless you can show me how to in a straightforward manner - doesn't have to be easy just straightforward).
A little background on what I'm doing, I'm almost done implementing the Revised Core Rulebook for Star Wars d20 in the standard d20 setting (I made a copy of the 3.5 game system so I could completely screw with it without worry while I was building). A sticking point is the Martial Arts, Improved Martial Arts, and Advanced Martial Arts feat progression. Specifically, the damage progression. Long story short MA->IMA->AMA gives Medium characters unarmed strike damage of 1d4->2d4->3d4 (Small get 1d3->2d3->3d3 and Large get 1d6->2d6->3d6). Now if you've messed around with d20 sizes, monk class in Hero Lab, or any other sort of natural attack fiasco then you know a) those aren't the typical size progressions b) there are no system tags for 2d3, 3d3, 3d4, and 3d6. I can circumvent a) but b) is a real pisser. Anyone know how to write my own damage tags? This is the logic behind my script that is in the Martial Arts Feat: Post-Levels 5000 ~ Get our unarmed strike pick, delete the damage tag from it, and assign ~a new damage tag. var result as number var dice as string result = hero.child[wUnarmed].delete[wMain.?] ~need to find out which feats are on, namely look for HasFeat.fImMA and .fAdMA and what size we are! if (hero.tagcount[Size.Medium]<>0) then if (hero.tagcount[HasFeat.fAdMA]<>0) then ~commented because these break. ~perform hero.child[wUnarmed].assign[wMain.3d4_X] ~dice = "3d4" elseif (hero.tagcount[HasFeat.fImMA]<>0) then perform hero.child[wUnarmed].assign[wMain.2d4_6] dice = "2d4" else perform hero.child[wUnarmed].assign[wMain.1d4_4] dice = "1d4" endif elseif (hero.tagcount[Size.Small]<>0) then BLAH BLAH BLAH endif field[livename].text = field[name].text & " (" & dice & ")" |
#1 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
I think what needs to happen here is the wMain tag group needs to be set as dynamic, so you can make a dummy item with your new tags. Main problem is that the existing logic for "what happens when damage is bumped up by size or other effect" might not react well to seeing tags it doesn't recognize. Either it will do nothing (so size changes and similar have no effect), or it will shove the result into an existing advancement track (in which case you'd have to create special scripts to counteract that somehow). I believe there is a tag for "weapon damage does not change with size", and that might be helpful. In any case, it's a matter which requires further study, and I'll point ShadowChemosh at this thread for hopefully an update in the next release.
|
#2 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729
|
Why I can make the change to wMain very easily the issue comes in that the change must be tested. Will it break anything else and will d20 toss any component errors when it finds "randomly" made wMain tags. Which takes time to do because if any "errors" happen because of these Dynamic tags it will be expected that it gets fixed. That is all time that I could be using to fix or add still missing features of d20 D&D. To support support something that d20 is not really configured at this time to support. I am not sure Sendric and many others would agree with me doing that actually. I know many still want to see "Gods" in d20.
As a volunteer my time is very limited and I have to weigh changes and fixes against how many will benefit. I know that sucks right now but its where we are at. I will add this to the "to-do" list along with the ability to maybe support d20 modern and stuff. Its just going to be down the road a little. If you want to be able to take total control of the value displayed I recommend looking at wFixDamage field. That is text field that whatever you put in it will get displayed for damage. But it does mean you will also have logic to add in other values like Str and Magic bonuses. But you can then display "any" value you fill like. 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. |
#3 |
Senior Member
Join Date: Apr 2013
Location: Poughkeepsie, NY
Posts: 102
|
Quote:
|
|
#4 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729
|
Quote:
Along that same thinking when I am in that "area" of weapons making the above change. I will look at how hard it will be to break the "dice" values of the "main" weapon down into two Variables. Variables that can be changed at say "Final/100+" or something. So in example for a Greatsword 2d6 we would have "wNumDice" holding 2 and "wDiceSize" holding 6. I should be able to allow a script timing "window" where those values can be changed before I display them in the UI. Please note that "Soon" means many months still but needing to add the "extra damage" logic is bubbling to the top of the list. 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. |
|
#5 |
Senior Member
Join Date: Apr 2013
Location: Poughkeepsie, NY
Posts: 102
|
Quote:
1d2 -> 1d3 1d3 -> 1d4 1d4 -> 1d6 1d6 -> 1d8 1d8 -> 2d6 1d10 ->2d8 The dumb arises from 2d6 -> 3d6 2d8 -> 3d8 So how would we do 2d3? Or 5d6? Are the obvious answers 2d4 and 5d8 (what about 3d6+3d8 or 6d6+1d8)? Tricky dicky. I can help author the logic behind die changes not covered in the srd20 (I'm a PhD Mathematician) in such a way as to preserve the probabilistic ideas contained within the known charts. |
|
#6 |
Junior Member
Join Date: Apr 2018
Posts: 17
|
I know this is an old thread, but I'm currently trying to make a custom small weapon to match something from our campaign. Unfortunately it deals 2d3 + str damage, so I'm hitting the same problem as the OP.
|
#7 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Quote:
Alternatively, if you do need to worry about adjusting for size or don't want to worry about scripting, you could just give it the 1d6 tag and make a note in the weapon description or summary that it's really 2d3. |
|
#8 |
Junior Member
Join Date: Apr 2018
Posts: 17
|
Thanks Sendric. I guess I'll just keep it in the description for now.
|
#9 |
Junior Member
Join Date: Apr 2018
Posts: 17
|
Hi Sendric
I've been playing around with Hero Lab a bit since last post, but coming back to this I'd like to do better than my "note to myself". With the wFixDamage field, is there any way I can get the current value and modify it? Eg. it currently says 1d6 + 8 so I take that, use some scripting to get 2d3 + 8. The reason I ask is that not only do I have to make the script add any magic damage etc. but we have some custom feats (a dex-to-damage one for starters) and I'm not confident I'll catch every edge case. If I could just "read" the current value and then build from there it would help a lot. Even if it is just a hacky "remove the first three characters" it will do for now (though could obviously have its own issues too). |
#10 |
|
|