Lone Wolf Development Forums  

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

Notices

Reply
 
Thread Tools Display Modes
Paris.Crenshaw
Senior Member
 
Join Date: Jul 2010
Posts: 178

Old March 9th, 2015, 03:45 PM
Hi, All.

I'm trying to help out a friend who wants to use the subject creature for a different game.

First: Is there a helper that will force Hero Lab to ignore any strength bonuses on a melee attack's damage? If not, what script or tag could I use?

I'm trying to set up a monster with an incorporeal touch ability that deals 1d6 Cold damage plus 1d6 Charisma damage. I can get the incorporeal touch to show up, but the incorporeal creature curiously has a +3 strength bonus. And when I select 1d6 for the damage and use the wDamExtra tag to apply the " cold plus 1d6 Charisma damage" description, it applies that bonus to the 1d6. If I select "None" for the "incorporeal touch" damage, then the wDamExtra info doesn't even show up.

Second: The creature becomes corporeal after dealing Charisma damage to a creature. It gains a Strength score equal to its Charisma score, its deflection bonus to AC becomes a natural armor bonus, and its incorporeal touch attack is replaced with two slam attacks. It loses its fly speed and replaces it with a land speed. I had planned on doing this with an In-Play check box similar to the hybrid form modifications applied for a lycanthrope. I'd appreciate any suggestions you might have for the scripting to change the relevant aspects of the creature when the box is checked.

Thanks for your help.
Paris.Crenshaw is offline   #1 Reply With Quote
bodrin
Senior Member
 
Join Date: Feb 2007
Location: Nottinghamshire, United Kingdom
Posts: 1,265

Old March 9th, 2015, 03:59 PM
Quote:
Originally Posted by Paris.Crenshaw View Post
Hi, All.

I'm trying to help out a friend who wants to use the subject creature for a different game.

First: Is there a helper that will force Hero Lab to ignore any strength bonuses on a melee attack's damage? If not, what script or tag could I use?

I'm trying to set up a monster with an incorporeal touch ability that deals 1d6 Cold damage plus 1d6 Charisma damage. I can get the incorporeal touch to show up, but the incorporeal creature curiously has a +3 strength bonus. And when I select 1d6 for the damage and use the wDamExtra tag to apply the " cold plus 1d6 Charisma damage" description, it applies that bonus to the 1d6. If I select "None" for the "incorporeal touch" damage, then the wDamExtra info doesn't even show up.

Second: The creature becomes corporeal after dealing Charisma damage to a creature. It gains a Strength score equal to its Charisma score, its deflection bonus to AC becomes a natural armor bonus, and its incorporeal touch attack is replaced with two slam attacks. It loses its fly speed and replaces it with a land speed. I had planned on doing this with an In-Play check box similar to the hybrid form modifications applied for a lycanthrope. I'd appreciate any suggestions you might have for the scripting to change the relevant aspects of the creature when the box is checked.

Thanks for your help.
Off the top of my head, I think there is a "wOverDMG" tag that can be used to override the ability used for Attacks.
So in this case wOverDMG.CHA would use charisma, instead of Strength.

Dormio Forte Somnio


Community Created Resources :
Data Package Repositories :
d20pfsrd
Custom Character Sheets
Community Server Setup (Packs)

Hero Lab Help- Video Tutorials and Pathfinder FAQ

Created by the community for the community
bodrin is offline   #2 Reply With Quote
Paris.Crenshaw
Senior Member
 
Join Date: Jul 2010
Posts: 178

Old March 9th, 2015, 04:13 PM
Quote:
Originally Posted by bodrin View Post
Off the top of my head, I think there is a "wOverDMG" tag that can be used to override the ability used for Attacks.
So in this case wOverDMG.CHA would use charisma, instead of Strength.
Cool. So, is there an option to use the wOverDMG tag and not apply any ability score at all?
Paris.Crenshaw is offline   #3 Reply With Quote
Paris.Crenshaw
Senior Member
 
Join Date: Jul 2010
Posts: 178

Old March 9th, 2015, 04:32 PM
Quote:
Originally Posted by Paris.Crenshaw View Post
Cool. So, is there an option to use the wOverDMG tag and not apply any ability score at all?
So, this was actually pretty easy. I was able to use the wMaxStrBon.0 tag to eliminate the strength bonus on that attack. Since the creature won't have this attack when it's corporeal, there's no reason to remove the bonus from other attacks.

I was going to use the following code:

Code:
hero.child[Damage].field[tDamStr].value = 0
But that turned out to be unnecessary.

Last edited by Paris.Crenshaw; March 9th, 2015 at 04:37 PM. Reason: Found a better solution.
Paris.Crenshaw is offline   #4 Reply With Quote
bodrin
Senior Member
 
Join Date: Feb 2007
Location: Nottinghamshire, United Kingdom
Posts: 1,265

Old March 10th, 2015, 02:27 AM
Quote:
Originally Posted by Paris.Crenshaw View Post
So, this was actually pretty easy. I was able to use the wMaxStrBon.0 tag to eliminate the strength bonus on that attack. Since the creature won't have this attack when it's corporeal, there's no reason to remove the bonus from other attacks.

I was going to use the following code:

Code:
hero.child[Damage].field[tDamStr].value = 0
But that turned out to be unnecessary.
Sorry I didn't reply sooner, real life work took over again!

Glad you got it sorted

Dormio Forte Somnio


Community Created Resources :
Data Package Repositories :
d20pfsrd
Custom Character Sheets
Community Server Setup (Packs)

Hero Lab Help- Video Tutorials and Pathfinder FAQ

Created by the community for the community
bodrin is offline   #5 Reply With Quote
ShadowChemosh
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2010
Location: Chicago, IL (USA)
Posts: 10,729

Old March 10th, 2015, 10:48 AM
Quote:
Originally Posted by Paris.Crenshaw
These abilities are based on the creature dealing Charisma damage to another creature. When it does, it's Corporeal Form ability kicks in for 1d4 rounds (or longer). It loses the incorporeal subtype, changes its deflection bonus to a natural armor bonus, trades its fly speed for a land speed of equal value, gains a Strength score equal to its Charisma score, and replaces its incorporeal touch with 2 slam attacks.
So the main thing you need to do is disable the incorporeal subtype. Lucky Aaron added easy logic for this. Though I would also make this ability activatable on the In-Play tab so the DM can turn it on/off as needed.

Run this script at First/510:
Code:
~ If ability not active get out now!
doneif (field[abilActive].value = 0)

~ Remove the incorporeal subtype
perform hero.assign[NoTypeAbil.stIncorpor]
Then we need to set Str to be same as Cha:
Pre-Attributes/100:
Code:
~ If ability not active get out now!
doneif (field[abilActive].value = 0)

~ Set the starting Str modifier to the same as the Cha score
hero.child[aSTR].field[aStartMod].value = hero.child[aCHA].field[aStartMod].value
Now then we have a tag on the "hero" that now tells us if we are incorporeal or not. So lets use that to our advantage.

I assume you set the Incorporeal Touch Attack as an "Other Melee Weapon" on the race. So add a bootstrap condition to it:
First/600
Code:
!NoTypeAbil.stIncorpor
Add the above logic to the "xFly" helper also so we lose fly when not incorporeal.

Then add Two Slam Attacks with the following bootstrap condition:
First/600
Code:
NoTypeAbil.stIncorpor
Quote:
Originally Posted by Paris.Crenshaw
Additionally, its Stolen Power ability grants it a +2 profane bonus on attack attack rolls, damage rolls, saving throws, skill checks, and ability checks until the end of its next turn. The echo also gains 5 temporary hit points that last for 1 hour.
So these can be added to the same Racial Special of "Stolen Power". You can now easily add typed bonuses to the character for attack and damage:
Code:
      ~ If ability not active get out now!
      doneif (field[abilActive].value = 0)

      hero.child[Attack].field[BonProfane].value += field[abValue].value
      hero.child[Damage].field[BonProfane].value += field[abValue].value
In this example I preset the field abValue to be 2. This way if ever needed its easy to adjust this value up or down using an Adjustment.

I had to write a little of this so if I can I will finish out this module to be added to the GM Pack. Or happy to take other stuff you have done. Attached is an example source of this monster.
Attached Files
File Type: email COM_GMPack_ModulePaizo - Tears at Bitter Manor.user (5.3 KB, 1 views)

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   #6 Reply With Quote
Paris.Crenshaw
Senior Member
 
Join Date: Jul 2010
Posts: 178

Old March 10th, 2015, 10:53 AM
Wow. Amazing. I don't have my laptop handy (and I'm at work ), so I can't try this out, right now, but I can't wait to sit down and get back to work.

Thank you very much for your help, Shadow! I'll let you know how it works out!
Paris.Crenshaw is offline   #7 Reply With Quote
Paris.Crenshaw
Senior Member
 
Join Date: Jul 2010
Posts: 178

Old March 11th, 2015, 07:03 PM
Hey, ShadowChemosh. Thanks, again, for the help. I'm attaching the version of Ephemeral Echo that I finally developed. The one thing I'm not as happy about is the way the stat block output works. Setting up the race so that the slam attacks are only present when the monster is corporeal means that when the Corporeal Form ability is not active, the slam attack isn't included in the stat block; and conversely, when the ability is active, the incorporeal touch is left out. So, the monster works great within the program, but isn't complete when printed out for use elsewhere. I'd almost rather just have the slam attacks always show up, but always use the character's Charisma bonus as the damage bonus on the attack. Other than that, this ended up working perfectly.

Now, looking further into the module, there's a piece of magical equipment that modifies a character based on its corporeality. I think I can figure out how to modify the item's behavior based on the presence or absence of the incorporeal subtype. But I'm unclear on how to implement the actual modifications.

1) If the character is corporeal, it applies a special property to "her
natural attacks and weapons she wields (even thrown weapons and projectiles)."

I can figure out how to assign the special property in question to a single item, but I'm not sure what I would use to apply it to every type of attack a corporeal creature would have.

2) If the character is incorporeal, "it can interact with [its] surroundings. Any item in its possession becomes incorporeal."

Similarly, for incorporeal creatures, I would effectively have to have the item make the weight of each carried item equal to 0 and give all items the ghost touch special ability. Is there a single field or tag that encompasses every piece of gear that a character possesses?
Attached Files
File Type: email Ephemeral Echo.user (7.5 KB, 0 views)
Paris.Crenshaw is offline   #8 Reply With Quote
Paris.Crenshaw
Senior Member
 
Join Date: Jul 2010
Posts: 178

Old March 11th, 2015, 11:23 PM
Back again. So, I've managed to get the basics of the amulet working. When equipped, the amulet applies the ghost touch property to everything the creature is carrying. My problem is that I only want it to reduce the equipment's weight to zero when the wearer is incorporeal. I'm having problems with the requirement in the if/then statement. What I have so far is as follows:

Code:
    if (field[gIsEquip].value <> 0) then
      foreach pick in hero from MyGear
      perform eachpick.assign[Ability.iGhostTch]
      nexteach
      if (#hasability[raIncorpor] <> 0) then
        foreach pick in hero from MyGear
        eachpick.field[gWeight].value = 0
        nexteach
      endif
    endif
That *should* work, but for some reason it doesn't. It should be setting the weight of equipment to 0 for an incorporeal creature, but it doesn't. I'm not sure what I did wrong in the second "if/then" statement. I don't know what the proper condition should be to tell the script to look at whether the hero has the incorporeal ability.

Thoughts? Thanks!
Paris.Crenshaw 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 March 12th, 2015, 02:49 PM
Quote:
Originally Posted by Paris.Crenshaw View Post
Back again. So, I've managed to get the basics of the amulet working. When equipped, the amulet applies the ghost touch property to everything the creature is carrying. My problem is that I only want it to reduce the equipment's weight to zero when the wearer is incorporeal. I'm having problems with the requirement in the if/then statement. What I have so far is as follows:
Yea I started looking at this item also to script. Pretty much you have the same concept I would go with. The big issue when dealing with weight is its a very specific set of timing to get it change the value and still affect the total weight on the hero.

Quote:
Originally Posted by Paris.Crenshaw View Post
Code:
    if (field[gIsEquip].value <> 0) then
      foreach pick in hero from MyGear
      perform eachpick.assign[Ability.iGhostTch]
      nexteach
      if (#hasability[raIncorpor] <> 0) then
        foreach pick in hero from MyGear
        eachpick.field[gWeight].value = 0
        nexteach
      endif
    endif
So applying Ghost Touch Weapon Item Power to all gear items is not really going to do anything. It is meant to only work if at all on magic weapons.

So timing I would need to look up from my Spellbooks equipment addon. The other thing is be careful with adding foreach loops they are CPU intensive.
Code:
~ If not equipped get out now!
doneif (field[gIsEquip].value = 0)
~ Only process if we are incorporeal
doneif (#hasability[raIncorpor] = 1)

~ Find all gear items and set weight to zero
foreach pick in hero from MyGear
   ~ Apply Ghost Touch tag to all weapons
   if (eachpick.tagis[component.BaseWep] = 1) then
     perform eachpick.assign[Ability.iGhostTch]
   endif

   ~ Set the item weight to zero
  eachpick.field[gWeight].value = 0
  eachpick.field[gearWeight].value = 0

nexteach
My spellbook stuff runs at PreLevel/10500.

The only last thing I would change is to look for the Incorporeal Subtype on the hero instead of a Racial Special. But I am not near HL and don't remember the unique id for that subtype.

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

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 04:26 AM.


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