Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - Pathfinder Roleplaying Game (http://forums.wolflair.com/forumdisplay.php?f=62)
-   -   Doubling a weapon's damage dice (http://forums.wolflair.com/showthread.php?t=48722)

Matt Droz March 28th, 2014 12:14 PM

Doubling a weapon's damage dice
 
I'm looking to add a weapon power that would double the weapon's damage dice (like the Vital Strike feat). For instance, a dagger with the ability would go from 1d4 -> 2d4 for Medium creatures and from 3d6 -> 6d6 for Colossal creatures. I've looked through the fields and tags, but there's a lot of computation that goes on behind the scenes from what's tagged on the weapon.

Also, I'd be happy to show the damage as 1d4+1d4 (or 3d6+3d6), just would like to be able to display it on the weapon stats.

Mathias March 28th, 2014 01:01 PM

Here's an existing thread on the subject: http://forums.wolflair.com/showthrea...ht=damage+dice

ShadowChemosh March 28th, 2014 01:13 PM

So I have a version of the Vital Strike feat that has an activation ability. The code in it is very similar to what your asking as it doubles the base dice value. Also note it needs some fixes because of recent changes in HL. :D

But its really not super simple. It took awhile to get it to generate the values correctly. That is the best help I can give right now.

Matt Droz March 28th, 2014 04:45 PM

Mathias, that's not going to work since it changes the base damage dice of the weapon. So when it upsizes to Colossal, instead of it going from 3d6 to 6d6, it just increases along the 3d4 path.

ShadowChemosh - That is SUPER-complicated. Congrats on it! I'll have to see if I can't tweek it for my purposes.

Matt Droz March 29th, 2014 09:42 AM

Since I was looking at this for a specific Magic Weapon (Manyfang dagger, Serpent Kingdoms, p. 152), I was able to take your code ShadowChemosh and tweak it below to add as Extra Damage on the weapon.

Code:

var sDice as string
var nDice as number
var nDieSize as number
var dBreak as string

  ~ Pull out the number of dice
  nDice = mid(field[wDamageTbl].arraytext[1],0,1)
  ~ Pull out the die size
  nDieSize = mid(field[wDamageTbl].arraytext[1],2,2)
  ~ Check for d in damage code
  dBreak = mid(field[wDamageTbl].arraytext[1],1,1)

  ~ Increase the number of dice
  nDice *= 3
  if (compare(dBreak,"d")=0) then
    sDice = nDice & "d" & nDieSize
  else
    sDice = nDice
  endif

  if (nDice <> 0) then
    field[wDamExtra].text = "+" & sDice
  endif


ShadowChemosh March 29th, 2014 10:26 AM

Cool. Glad it got you pointed in the right direction. :)

Necros99 April 13th, 2014 11:39 AM

Quote:

Originally Posted by Mathias (Post 159912)
Damage dice currently can't be multiplied. It's a known limitation that we do intend to solve.

I am curious, has this limitation been solved yet?

A house rule my group intends to use is that base weapon damage increases at levels 8, 15, 22 and 29. This affects all melee (including unarmed) and ranged weapons, but not spells, or classes who have pre-defined damage, such as the monk or brawler.

At each of these levels, the base damage die of the weapon is doubled. Two examples:

longsword
1st level - 1d8
8th level - 2d8
15th level - 3d8
22nd level - 4d8
29th level - 5d8

falchion
1st level - 2d4
8th level - 4d4
15th level - 6d4
22nd level - 8d4
29th level - 10d4

Of course, size affecting damage die type would also need to apply.

I spent the last 5 years playing 4e (using and modifying Hero Labs), but for the life of me I can't see a way to accomplish this.

If this can be done as some sort of general mechanic, that would be great. Next preferred method would be creating single weapons that were cognizant of the character level to determine damage. Coming up with 5 discrete weapons (one for each level class) seems more work than worth the effort.

ShadowChemosh April 13th, 2014 06:55 PM

Matt listed a working script above and the Vital Steike addon would provide another working script example to accomplish this.

Necros99 April 14th, 2014 06:22 AM

Quote:

Originally Posted by ShadowChemosh (Post 180598)
Matt listed a working script above and the Vital Steike addon would provide another working script example to accomplish this.

Perhaps I have done something wrong in attempting to apply the script. Here is what I did:

<thing id="wmLongswor" name="Longsword (modified)" description="This sword is about 3-1/2 feet in length." compset="Weapon">
<fieldval field="gWeight" value="4"/>
<fieldval field="gSizeCost" value="15"/>
<tag group="wClass" tag="OneHanded" name="One-Handed" abbrev="One-Handed"/>
<tag group="wCritMin" tag="19" name="19" abbrev="19"/>
<tag group="wCritMult" tag="2" name="2" abbrev="2"/>
<tag group="wFtrGroup" tag="BladeHeavy" name="Blades, Heavy" abbrev="Blades, Heavy"/>
<tag group="wMain" tag="1d8_6" name="1d8" abbrev="1d8"/>
<tag group="wProfReq" tag="Simple"/>
<tag group="wType" tag="S" name="Slashing" abbrev="S"/>
<tag group="EquipType" tag="Metal" name="Metal" abbrev="Metal"/>
<tag group="wCategory" tag="Melee" name="Melee Weapon" abbrev="Melee"/>
<eval phase="UserFinal"><![CDATA[var sDice as string
var nDice as number
var nDieSize as number
var dBreak as string

~ Pull out the number of dice
nDice = mid(field[wDamageTbl].arraytext[1],0,1)
~ Pull out the die size
nDieSize = mid(field[wDamageTbl].arraytext[1],2,2)
~ Check for d in damage code
dBreak = mid(field[wDamageTbl].arraytext[1],1,1)

~ Increase the number of dice
nDice *= 3
if (compare(dBreak,"d")=0) then
sDice = nDice & "d" & nDieSize
else
sDice = nDice
endif

if (nDice <> 0) then
field[wDamExtra].text = "+" & sDice
endif]]></eval>
</thing>

Yet when the weapon is displayed, it only shows damage as "1d8"

ShadowChemosh April 14th, 2014 10:14 AM

I am not seeing any reason it its not showing triple dice damage. I will have to wait until I get home to try it out in HL to see why its not working...


All times are GMT -8. The time now is 11:47 PM.

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