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)
-   -   Spell and Conferred Ability Adjustments - I'd appreciate help from the community (http://forums.wolflair.com/showthread.php?t=11561)

Mathias October 26th, 2010 02:46 PM

Spell and Conferred Ability Adjustments - I'd appreciate help from the community
 
Now that I have tables for spell and conferred ability adjustments, I'd appreciate help from the community entering those into Hero Lab.

I added this thread to help users coordinate their efforts, so that 5 people don't turn in the Bless spell within a few days of each other.

I'd recommend telling people what you intend to work on, so that we don't get two people working on the same things at the same time. I'd also recommend not biting off more than you know you can chew - saying you'll add every core rulebook spell from A-M this weekend is just asking for real life to get in the way of your plans. Just go for a letter or two of the alphabet at a time. More advanced users may wish to start in the middle of the alphabet, or in a book other than the Core Rulebook, and less experienced users in the first half of the Core Rulebook's spells - just a thought for organizing the work.

Categories of spells I'm looking for:
For now, I'm going to leave [Polymorph] subschool spells off the list - I have plans to add the capability for a spell to select a race, then figure out what abilities and stat adjustments it should make, based on that, but that's a very large project, and I'm afraid I won't be able to schedule enough time to implement that in the near future. In the meantime, I'm afraid polymorph spell adjustments would need to be for a specific spell and a specific race - and that's a huge list of spells. So, feel free to enter those specific race spell adjustments and share them with others, but I won't be incorporating them into HL.

If a spell has multiple versions - greater/lesser/mass for example, or person/animal/monster, there's no need for multiple adjustments that have identical effects.

If a spell imposes a condition - for example, the Cause Fear spell imposes either the frightened or shaken conditions, those are already available on the status tab, and we don't need a separate spell for that.

I'm calling Resist Energy, Protection from Energy, and Magic Weapon/Fang - I'll handle those, and I'm sorry I didn't have the time to add them before this update went out.

I'd also appreciate conferred abilities - if a class, or a race, or something else has an ability that affects those around it, but isn't a spell, adding those would be great, too.

ShadowChemosh October 26th, 2010 03:17 PM

Stupid question maybe, but should we email these too you or just post the xml source here in a post?

For example I have Ant Haul from the APG done already as my group needed that so should I just post the XML here after fixing to show on the Spell section or should I email that too you? Then just leave a post that I did it here?

Otherwise I love this new addition to HL by the way. :)

Mathias October 26th, 2010 03:35 PM

Go ahead and post it here - that way others can make use of it between now and the next HL update (although I believe the one you're mentioning is already available at d20pfsrd). Once I start getting a few of them, I'll try to maintain a single file of the finished material available for people to grab, and update it as more come in.

Correction - go ahead and post the .user files here (you'll have to zip them or use the HLExport program that's in Hero Lab's folder to pack them into a .hl file in order to attach them to a post here, I believe).

(for more than one spell, the XML will probably be too long)

ShadowChemosh October 26th, 2010 08:06 PM

Spell: Ant Haul(from APG)
Code:

  <thing id="pS2AntHaul" name="Ant Haul" description="The target&apos;s carrying capacity triples (see Table 7-4: Carrying Capacity on page 171 of the Core Rulebook). This does not affect the creature&apos;s actual Strength  in any way, merely the amount of material it can carry while benefiting from this spell. It also has no effect on encumbrance due to armor. If the creature wears armor it still takes the normal penalties for doing so regardless of how much weight the spell allows it to carry." compset="InPlay">
    <tag group="Helper" tag="AdjSpell"/>
    <tag group="Helper" tag="NoIncr"/>
    <eval phase="PostAttr" priority="1950"><![CDATA[~if we're active
if (field[pIsOn].value <> 0) then
  ~multiply our carrying capacities by 3
  herofield[tEncumLgt].value *= 3
  herofield[tEncumMed].value *= 3
  herofield[tEncumHvy].value *= 3
  endif]]></eval>
    </thing>

Quote:

Originally Posted by Mathias (Post 46396)
(although I believe the one you're mentioning is already available at d20pfsrd)

Yep it is because I am the one that did it. ;)

Nikmal October 26th, 2010 10:53 PM

Ok not to sound TOO foolish.. but where do we add these for the spell adjustments tab?

Do we cut and paste this in to the eval script area??

Could you let us know exactly which tab to use for this. and how to add them?

Mathias October 27th, 2010 11:37 AM

For that one, follow the d20pfsrd link in ShadowChemosh's sig - that'll lead you to a proper HL input file for that spell. What he posted is only useful to me or another advanced user.

JMD031 October 27th, 2010 05:09 PM

It would be nice to have any of the spells a Summoner can cast on his Eidolon as apart of this. Most of them are already on there such as Mage Armor and Haste. But it would be nice to have all of the other spells as well such as Magic Fang, etc.

ShadowChemosh October 27th, 2010 08:53 PM

Spell: Arcane Concordance

Code:

  <thing id="pS2ArcaCon" name="Arcane Concordance" description="A shimmering, blue and gold radiance surrounds you, enhancing arcane spells cast by your allies within its area. Any arcane spell cast by a creature within the area gains a +1 enhancement bonus to the DC of any saving throws against the spell, and can be cast as if one of the following metamagic feats was applied to it (without increasing the spell level or casting time): Enlarge Spell, Extend Spell, Silent Spell, or Still Spell (you choose the metamagic feat when you cast arcane concordance)." compset="InPlay">
    <fieldval field="pMinimum" value="1"/>
    <fieldval field="pMaximum" value="1"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell"/>
    <eval phase="PreLevel" priority="5000"><![CDATA[~if we're not active, just get out now
doneif (field[pIsOn].value = 0)
~Increase all Arcane spells DC by 1
foreach pick in hero from BaseSpell where "sClass.cHelpWiz|sClass.cHelpBrd"
  eachpick.field[sDC].value += 1
  nexteach]]></eval>
    </thing>


ShadowChemosh October 28th, 2010 09:13 PM

Spell: Aspect of the Bear(APG)
Code:

  <thing id="pS2AspBear" name="Aspect of the Bear" description="You take on an aspect of a bear. You gain a +2 enhancement bonus to natural armor and a +2 enhancement bonus on CMB rolls. You can also perform bull rush, grapple, and overrun combat maneuvers without provoking attacks of opportunity." compset="InPlay">
    <fieldval field="pMinimum" value="2"/>
    <fieldval field="pMaximum" value="2"/>
    <fieldval field="pDuration" value="1 min/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="10000"><![CDATA[~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Add to our CMB
hero.child[Maneuver].field[tCMB].value += field[pAdjust].value
~ Add to our natural armor class
hero.child[ArmorClass].field[tACNatural].value += field[pAdjust].value]]></eval>
    </thing>


ShadowChemosh October 30th, 2010 11:41 AM

Spell: Aspect of the Falcon
Code:

  <thing id="pS2AspFalc" name="Aspect of the Falcon" description="You take on an aspect of a falcon. Your eyes become wide and raptor-like, and you grow feathers on the sides of your head. You gain a +3 competence bonus on Perception checks, a +1 competence bonus on ranged attacks, and the critical multiplier for your bows and crossbows becomes 19-20/x3. This effect does not stack with any other effect that expands the threat range of a weapon, such as the Improved Critical feat or a {i}keen{/i} weapon." compset="InPlay">
    <fieldval field="pDuration" value="1 min/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="NoIncr"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="5000"><![CDATA[~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ +3 competence bonus on Perception checks
#applybonus[BonComp,hero.child[skPercep],3]

~ Modify all the bows and ranged attacks
foreach pick in hero from BaseWep where "wCategory.RangeProj"
  ~All ranged attacks are at +1 to hit
  eachpick.field[wAttBonus].value += 1
  ~Makes bows 19-20/x3
  if (eachpick.tagis[wFtrGroup.Bows] <> 0) then
    perform eachpick.assign[Broadcast.ImpCrit]
  endif
  ~Makes bows 19-20/x3
  if (eachpick.tagis[wFtrGroup.Crossbows] <> 0) then
    perform eachpick.delete[wCritMult.2]
    perform eachpick.assign[wCritMult.3]
  endif
nexteach]]></eval>
    </thing>


Cutter October 30th, 2010 06:49 PM

Quote:

For that one, follow the d20pfsrd link in ShadowChemosh's sig - that'll lead you to a proper HL input file for that spell. What he posted is only useful to me or another advanced user.
Okay I may be thick but I have been there and I can't find it.

ShadowChemosh October 30th, 2010 09:23 PM

Quote:

Originally Posted by Cutter (Post 46604)
Okay I may be thick but I have been there and I can't find it.

Actually I just recently removed it. Most of everything it did is now official anyways so no real reason for that old .user file. Plus it caused duplicate Thing errors also. So no reason to support an add-on that is basically the same as what the official HL does.

Nikmal October 30th, 2010 09:25 PM

Edited.. already answered

ShadowChemosh October 31st, 2010 10:29 AM

Spell: Aspect of the Stag
Code:

  <thing id="pS2AspStag" name="Aspect of the Stag" description="When you cast this spell, you take on an aspect of a stag, including some of its physical characteristics. Your features become elongated and sinewy, and you grow a set of antlers you can use for defense. You gain a +2 dodge bonus to AC against attacks of opportunity, your base speed increases by 20 ft., you can move through any undergrowth (including magically manipulated undergrowth) at your normal speed, and can even make a 5-foot step within such terrain. Furthermore, when you are hit with an attack of opportunity, you can make a single attack with your antlers against the opponent that hit you as an immediate action. This attack uses your highest base attack bonus plus your Strength or Dexterity bonus (your choice) and deals 1d8 points of piercing damage (if you are Medium; 1d6 points of damage if Small) plus your Strength modifier on a successful hit. The antlers have a critical multiplier of 19-20/×2." compset="InPlay">
    <fieldval field="pMinimum" value=" "/>
    <fieldval field="pMaximum" value=" "/>
    <fieldval field="pDuration" value="1 min/level"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <tag group="Helper" tag="NoIncr"/>
    <bootstrap thing="wGore">
      <autotag group="wMain" tag="1d8_6"/>
      <autotag group="Value" tag="1"/>
      <assignval field="livename" value="Antlers"/>
      </bootstrap>
    <eval phase="Final" priority="9900"><![CDATA[~Final Phase 9900
~if we're not active, just get out now
doneif (field[pIsOn].value = 0)

hero.child[Speed].field[tSpeedMod].value += 20]]></eval>
    <eval phase="PreLevel" priority="5000" index="2"><![CDATA[~ Modify the antler attack crit range
~ I have to assume that Pathfinder races don't have gore attacks so
~ only this spells bootstrapped wGore will be modified.
foreach pick in hero from BaseWep where "thingid.wGore"
  ~Make the horns 19-20/x2
  perform eachpick.assign[Broadcast.ImpCrit]
  ~Adjust antlers size based on hero
  if (herofield[tSize].value = -1) then
    Perform eachpick.assign[Helper.DamageDown]
  endif
nexteach]]></eval>
    </thing>

For this one the only thing I can't seem to get to work is how to stop the bootstrap of the wGore if the condition is not check marked. Hopefully that is something easy for you to add. The other thing is I am having a problem trying to figure out how to modify only the wGore that was added by the above.

So this is really close, but not perfect. :(

Mathias October 31st, 2010 12:17 PM

Code:


  <thing id="pS2AspStag" name="Aspect of the Stag" description="When you cast this spell, you take on an aspect of a stag, including some of its physical characteristics. Your features become elongated and sinewy, and you grow a set of antlers you can use for defense. You gain a +2 dodge bonus to AC against attacks of opportunity, your base speed increases by 20 ft., you can move through any undergrowth (including magically manipulated undergrowth) at your normal speed, and can even make a 5-foot step within such terrain. Furthermore, when you are hit with an attack of opportunity, you can make a single attack with your antlers against the opponent that hit you as an immediate action. This attack uses your highest base attack bonus plus your Strength or Dexterity bonus (your choice) and deals 1d8 points of piercing damage (if you are Medium; 1d6 points of damage if Small) plus your Strength modifier on a successful hit. The antlers have a critical multiplier of 19-20/×2." compset="InPlay">
    <fieldval field="pDuration" value="1 min/level"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <tag group="Helper" tag="NoIncr"/>
    <bootstrap thing="wGore">
      <containerreq phase="First" priority="500"><![CDATA[
        fieldval:pIsOn <> 0]]></containerreq>
      <autotag group="wMain" tag="1d8_6"/>
      <autotag group="Helper" tag="NatSizeDmg"/>
      <autotag group="Broadcast" tag="ImpCrit"/>
      <assignval field="livename" value="Antlers"/>
      </bootstrap>
    <eval phase="Final" priority="9900"><![CDATA[~Final Phase 9900
~if we're not active, just get out now
doneif (field[pIsOn].value = 0)
hero.child[Speed].field[tSpeedMod].value += 20]]></eval>
    </thing>

The Helper.NatSizeDmg mechanic on a natural attack means to add or subtract as many damage steps from the damage of the weapon as the hero is from size M - presumably, a size L character getting this spell would get a 2d6 gore attack, and a Tiny character would get a 1d4 - not just the small/medium cases described in the spell.

Tags can be attached directly to a bootstrap - that way, you can avoid altering the spell with an Eval script. The tags button in the editor can be used to add any tag that exists.

The contanierreq I've added is how to make a bootstrap only be live while the adjustment is active. In the editor, while editing the bootstrap, enter:

Code:


fieldval:pIsOn <> 0

In the Condition button, at phase: First, Priority: 500.

Since this is an APG spell, I've also assigned it to the APG source.

I had a question - the minimum and maximum - your code had spaces for the values there - did you enter spaces in the editor to remove the text that was there? If so, delete the text instead - those fields are numerical fields, so it's best not to have text (like " "), even if HL can deal with it properly.

ShadowChemosh October 31st, 2010 01:55 PM

Quote:

Originally Posted by Mathias (Post 46633)
[CODE]
I had a question - the minimum and maximum - your code had spaces for the values there - did you enter spaces in the editor to remove the text that was there? If so, delete the text instead - those fields are numerical fields, so it's best not to have text (like " "), even if HL can deal with it properly.

I duplicated and started from the Aspect of the Bear thing and I used the editor to simply remove the min/max values. I didn't notice that the Fields still stayed. Will watch that from now on.

Thanks for the rest also that will help with future stuff. The bootstrap condition I kept using field[pIsOn].value instead of just pIsOn.

Thanks

ShadowChemosh October 31st, 2010 02:37 PM

Spell: Aspect of the Wolf
Code:

  <thing id="pS2AspWolf" name="Aspect of the Wolf" description="When you cast this spell, you take on an aspect of a wolf, including some of its physical characteristics. You become more rugged, your ears become elongated, and you sprout sharp fangs and fur. You gain a +4 enhancement bonus to Strength and Dexterity, the scent ability, a +2 enhancement bonus on trip attacks, and can make a trip combat maneuver as a swift action. This trip attack does not provoke attacks of opportunity." compset="InPlay">
    <fieldval field="pMinimum" value="4"/>
    <fieldval field="pMaximum" value="4"/>
    <fieldval field="pDuration" value="1 min/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <bootstrap thing="xScent">
      <containerreq phase="First" priority="500"><![CDATA[fieldval:pIsOn <> 0]]></containerreq>
      </bootstrap>
    <eval phase="PreAttr" priority="10000"><![CDATA[
~if we're not active, just get out now
doneif (field[pIsOn].value = 0)
      ~Give a +4 enhancment bonus to Str and Dex
      #enhancementbonus[hero.child[aSTR], field[pAdjust].value]
      #enhancementbonus[hero.child[aDEX], field[pAdjust].value]

      ~add a +2 bonus to the CMB Trip only
      ~REMINDER: this should be a enhancement bonus
      hero.child[manTrip].field[manCMB].value += 2]]></eval>
    </thing>

Hopefully this one should be better. :)

ShadowChemosh November 1st, 2010 08:39 PM

Spell: Bestow Grace
Code:

  <thing id="pS2BestGra" name="Bestow Grace" description="With this spell you can bestow your divine grace on another good creature for a short amount of time, infusing that creature with a portion of your holy virtue. When you touch the subject, you grant that creature a sacred bonus to its saving throws equal to its Charisma bonus (if any) on all saving throws." compset="InPlay">
    <fieldval field="pDuration" value="1 min/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <tag group="Helper" tag="NoIncr"/>
    <eval phase="PostAttr" priority="5000"><![CDATA[
~if we're not active, just get out now
doneif (field[pIsOn].value = 0)
~apply the characters Cha Modifier as a Sacred bonus to saves
#applybonus[BonSacred,hero.child[svFort],hero.child[aCHA].field[aModBonus].value]
#applybonus[BonSacred,hero.child[svRef],hero.child[aCHA].field[aModBonus].value]
#applybonus[BonSacred,hero.child[svWill],hero.child[aCHA].field[aModBonus].value]]]></eval>
    </thing>


ShadowChemosh November 2nd, 2010 08:51 PM

Spell: Blessing of Fervor
This spells has several different versions of itself but only two that can apply different buffs. I made it be two separate Things as I think that is easier to just select the one you want then to figure out some drop down box to select from after you select the spell. At least my thought anyways.

Code:

  <thing id="pS2BleFer1" name="Blessing of Fervor: Movement" description="With this blessing, you call your allies to move forth and empower them to conquer and become victorious. Each round for the duration of this spell, each of your allies can choose one of the following bonuses for that round at the beginning of its turn (their choice).\n\nIncrease its speed by 30 feet." compset="InPlay">
    <fieldval field="pDuration" value="1 round/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <tag group="Helper" tag="NoIncr"/>
    <eval phase="PostAttr" priority="5000"><![CDATA[
~if we're not active, just get out now
doneif (field[pIsOn].value = 0)

~Increase our speed by 30ft
hero.child[Speed].field[Bonus].value += 30]]></eval>
    </thing>
  <thing id="pS2BleFer2" name="Blessing of Fervor: Bonus" description="With this blessing, you call your allies to move forth and empower them to conquer and become victorious. Each round for the duration of this spell, each of your allies can choose one of the following bonuses for that round at the beginning of its turn (their choice).\n\nGain a +2 bonus on attack rolls and a +2 dodge bonus to AC and Reflex saves." compset="InPlay">
    <fieldval field="pDuration" value="1 round/level"/>
    <fieldval field="pMinimum" value="2"/>
    <fieldval field="pMaximum" value="2"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="10000"><![CDATA[
~if we're not active, just get out now
doneif (field[pIsOn].value = 0)

~ Add to our armor class
hero.child[ArmorClass].field[tACDodge].value += field[pAdjust].value
~ Add to our attack bonus
hero.child[Attack].field[Bonus].value += field[pAdjust].value
~ Add to our Reflex save
#applybonus[Bonus,hero.child[svRef],field[pAdjust].value]]]></eval>
    </thing>


ShadowChemosh November 3rd, 2010 08:26 PM

Spell: Blessing of the Salamander
Code:

  <thing id="pS2BleSala" name="Blessing of the Salamander" description="When you cast this on a creature, its skin turns slick and clammy and it is able to regenerate damage each round. While under the effects of the spell, the creature gains fast healing 5, fire resistance 20 and a +2 competence bonus to its Combat Maneuver Defense." compset="InPlay">
    <fieldval field="pDuration" value="1 round/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <tag group="Helper" tag="NoIncr"/>
    <bootstrap thing="xDamRsFire"></bootstrap>
    <bootstrap thing="xFastHeal"></bootstrap>
    <eval phase="First" priority="10000"><![CDATA[
~if we're not active, just get out now
doneif (field[pIsOn].value = 0)

~Give 20 Fire Resistance
#applyresist[xDamRsFire, 20]
~Give fast healing 5
#applyvalue[xFastHeal, 5]
~ Add to our CMD
hero.child[Maneuver].field[tCMD].value += 2]]></eval>
    </thing>


ShadowChemosh November 4th, 2010 09:07 PM

Spell: Bloodhound
Code:

  <thing id="pS2Bloodho" name="Bloodhound" description="You gain the scent special quality, including the ability to track by scent. You receive a +8 competence bonus on Perception checks involving smell and a +4 competence bonus on Survival checks to track using scent. You take a -4 penalty on saving throws against odor-related effects such as the stench ability and {I}stinking cloud{/i}. A creature under the effects of {I}bloodhound{/i} can detect poison by scent with a DC 20 Perception check." compset="InPlay">
    <fieldval field="pDuration" value="1 hour/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <tag group="Helper" tag="NoIncr"/>
    <bootstrap thing="xDogTrack">
      <containerreq phase="First" priority="500"><![CDATA[fieldval:pIsOn <> 0]]></containerreq>
      </bootstrap>
    </thing>

Spell: Bomber's Eye
Code:

  <thing id="pS2BombEye" name="Bomber’s Eye" description="This extract allows you to throw weapons farther and more accurately. While this extract is in effect, increase the range of any thrown weapon by 10 feet. In addition, you receive a +1 insight bonus on attack rolls made with thrown weapons." compset="InPlay">
    <fieldval field="pDuration" value="1 round/level"/>
    <fieldval field="pMinimum" value="1"/>
    <fieldval field="pMaximum" value="1"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="5000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Modify all the thrown weapons
foreach pick in hero from BaseWep where "wCategory.RangeThrow"
  ~ give a +1 Insight bonus on attack rolls
    eachpick.field[wAttBonus].value += field[pAdjust].value
  ~Increase Range Increment by 10feet
  eachpick.field[wRangeInc].value += 10
nexteach]]></eval>
    </thing>


ShadowChemosh November 5th, 2010 10:44 PM

Spell: Bristle
Code:

  <thing id="pS2Bristle" name="Bristle" description="You give a creature the ability to redirect a portion of its innate toughness away from its own defense and toward the amount of damage it deals with natural attacks. Each round, as a swift action at the start of its turn, the creature can choose to reduce some or all of its natural armor bonus to AC and gain an enhancement bonus on all damage rolls for natural attacks equal to that amount. The reduction to natural armor, and thus the enhancement bonus on damage rolls, cannot exceed 1 point per 3 caster levels, to a maximum penalty/bonus of -5/+5 at 15th level. A creature cannot reduce its natural armor bonus to less than 0 with this spell. All attacks directed against the creature use its adjusted AC until the start of its next turn, at which time it can choose to modify its AC again or keep it at its current level. Creatures make this decision without any need for conscious thought or reflection; even creatures with no Intelligence score can benefit from this spell, although they always opt for the maximum possible reduction and bonus, regardless of any tactical advantage they might lose." compset="InPlay">
    <fieldval field="pMinimum" value="0"/>
    <fieldval field="pMaximum" value="5"/>
    <fieldval field="pDuration" value="1 min/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="Final" priority="10000"><![CDATA[~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)
~ Only take the minimum between the Adjust value or the Natural AC
field[abValue].value = minimum(field[pAdjust].value,hero.child[ArmorClass].field[tACNatural].value)

~ Add/Subtrack to our natural armor class
hero.child[ArmorClass].field[tACNatural].value -= field[abValue].value

~ Modify all natural attack damage
foreach pick in hero from BaseWep where "wGroup.Natural"
  ~ give a +1 Enhancment bonus on damage
    eachpick.field[wDamBonus].value += field[abValue].value
nexteach]]></eval>
    </thing>


ShadowChemosh November 7th, 2010 10:07 PM

Spell: Challenge Evil
Code:

  <thing id="pS2ChalEvi" name="Challenge Evil" description="You challenge an evil creature to bring the fight to you, or suffer the consequences. You gain a +2 sacred bonus on all melee attacks against the subject of the spell. At the end of its turn, if the target has not made at least one attack on you, it becomes sickened. If you move away from the target, the spell ends." compset="InPlay">
    <fieldval field="pDuration" value="1 min/level"/>
    <fieldval field="pMinimum" value="2"/>
    <fieldval field="pMaximum" value="2"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="5000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Modify all melee attacks
foreach pick in hero from BaseWep where "wCategory.Melee"
  ~ All melee attacks are at +2 sacred bonus to hit
  eachpick.field[wAttBonus].value += field[pAdjust].value
nexteach]]></eval>
    </thing>


ShadowChemosh November 8th, 2010 07:52 PM

Spell: Chameleon Stride
Code:

  <thing id="pS2ChamStr" name="Chameleon Stride" description="You fade into the background, and while you are not truly invisible, you are hard to pinpoint due to your translucent state. While under the effects of this spell, you gain a +4 bonus on Stealth checks and have concealment from creatures more than 5 feet away (attacks have a 20% miss chance)." compset="InPlay">
    <fieldval field="pDuration" value="1 min/level"/>
    <fieldval field="pMinimum" value="4"/>
    <fieldval field="pMaximum" value="4"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="5000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)
~Give bonus to stealth skill
#skillbonus[skStealth] += field[pAdjust].value]]></eval>
    </thing>


ShadowChemosh November 16th, 2010 08:30 PM

Spell: Coward’s Lament
Code:

  <thing id="pS2CowaLam" name="Coward’s Lament" description="You compel an opponent to face you in combat, or suffer for its cowardice. Each round that the target fails to attack you in melee, it receives a cumulative -1 penalty to its Armor Class, attack rolls, and saving throws (maximum penalty -5). Each round at the end of its turn, the target may attempt a Will saving throw to prevent the penalties from increasing for that round. All penalties reset to zero when the target attacks you in melee, but increase again if it stops attacking. If the target is prevented from attacking you by physical restraint, magic, or impassable terrain, the penalties do not increase. If you move away from the target, the spell ends." compset="InPlay">
    <fieldval field="pMinimum" value="-5"/>
    <fieldval field="pMaximum" value="0"/>
    <fieldval field="pDuration" value="1 round/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give a penalty to all saves
hero.child[svFort].field[Penalty].value += field[pAdjust].value
hero.child[svRef].field[Penalty].value += field[pAdjust].value
hero.child[svWill].field[Penalty].value += field[pAdjust].value

~ Give a penalty to AC
hero.child[ArmorClass].field[Penalty].value += field[pAdjust].value

~ Give a penalty to hit to all weapons
hero.child[Attack].field[Penalty].value += field[pAdjust].value]]></eval>
    </thing>


ShadowChemosh November 17th, 2010 11:24 PM

Spells: Crafter's Curse; Crafter's Fortune
Code:

  <thing id="pS2CraftCu" name="Crafter’s Curse" description="The target of {I}crafter’s curse{/i} takes a -5 penalty on all Craft skill checks while the spell lasts." compset="InPlay">
    <fieldval field="pMinimum" value="-5"/>
    <fieldval field="pMaximum" value="-5"/>
    <fieldval field="pDuration" value="1 day/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PostLevel" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give a penalty to all Craft Skills
foreach pick in hero from BaseSkill where "Helper.SkCatCraft"
    eachpick.field[Penalty].value += field[pAdjust].value
nexteach]]></eval>
    </thing>
  <thing id="pS2CraftFo" name="Crafter’s Fortune" description="The target is struck by inspiration and gains a +5 luck bonus on its next Craft skill check." compset="InPlay">
    <fieldval field="pMinimum" value="5"/>
    <fieldval field="pMaximum" value="5"/>
    <fieldval field="pDuration" value="1 day/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PostLevel" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give a Luck bonus to all Craft Skills
foreach pick in hero from BaseSkill where "Helper.SkCatCraft"
    #applybonus[BonLuck,eachpick,field[pAdjust].value]
nexteach]]></eval>
    </thing>


Mathias November 18th, 2010 08:30 AM

All of ShadowChemosh's contributions up to Chameleon Stride (everything before 11/15) are incorporated into the new update.

ShadowChemosh November 19th, 2010 01:15 PM

Spell: Prayer
-These are two that originally done by huntercc I did a few small tweaks and changed them to match the new standards for actual spells. Their are two versions of the same spell one to apply if you are an ally and one if you are a foe.
Code:

  <thing id="pPrayerAll" name="Prayer: Ally" description="You bring special favor upon yourself and your allies while bringing disfavor to your enemies. You and each of your allies gain a +1 luck bonus on attack rolls, weapon damage rolls, saves, and skill checks, while each of your foes takes a -1 penalty on such rolls." compset="InPlay">
    <fieldval field="pMinimum" value="1"/>
    <fieldval field="pMaximum" value="1"/>
    <fieldval field="pDuration" value="1 round/level"/>
    <tag group="Helper" tag="AdjSpell"/>
    <eval phase="PreLevel" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give a Luck Bonus to all weapons
#applybonus[BonLuck,hero.child[Attack],field[pAdjust].value]
hero.child[Damage].field[tDamBonus].value += field[pAdjust].value

~Give bonus to saves
#applybonus[BonLuck, hero.child[svFort], field[pAdjust].value]
#applybonus[BonLuck, hero.child[svRef], field[pAdjust].value]
#applybonus[BonLuck, hero.child[svWill], field[pAdjust].value]

~Give bonus to all skills
#applybonus[BonLuck, hero.child[AllSkills], field[pAdjust].value]]]></eval>
    </thing>
  <thing id="pPrayerFoe" name="Prayer: Foe" description="You bring special favor upon yourself and your allies while bringing disfavor to your enemies. You and each of your allies gain a +1 luck bonus on attack rolls, weapon damage rolls, saves, and skill checks, while each of your foes takes a -1 penalty on such rolls." compset="InPlay">
    <fieldval field="pMinimum" value="-1"/>
    <fieldval field="pMaximum" value="-1"/>
    <fieldval field="pDuration" value="1 round/level"/>
    <tag group="Helper" tag="AdjSpell"/>
    <eval phase="PreLevel" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give a Penalty to all weapons
hero.child[Attack].field[Penalty].value += field[pAdjust].value
hero.child[Damage].field[tDamBonus].value += field[pAdjust].value

~ Give penalty to all saves
hero.child[svFort].field[Penalty].value += field[pAdjust].value
hero.child[svRef].field[Penalty].value += field[pAdjust].value
hero.child[svWill].field[Penalty].value += field[pAdjust].value

~ Give penalty to all skills
hero.child[AllSkills].field[Penalty].value += field[pAdjust].value]]></eval>
    </thing>


ShadowChemosh November 21st, 2010 09:19 AM

Spell: Bless
-Needed this for my own games currently so figured I should add it quick.
Code:

  <thing id="pBless" name="Bless" description="Bless fills your allies with courage. Each ally gains a +1 morale bonus on attack rolls and on saving throws against fear effects.\n\nBless counters and dispels bane." compset="InPlay">
    <fieldval field="pMinimum" value="1"/>
    <fieldval field="pMaximum" value="1"/>
    <fieldval field="pDuration" value="1 min./level"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="PreLevel" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give a MORALE bonus to hit to all weapons
#applybonus[BonMorale,hero.child[Attack],field[pAdjust].value]]]></eval>
    </thing>


Steev42 November 23rd, 2010 04:01 AM

Well, I did it for myself, so I may as well share.

Code:

  <thing id="pExpRet" name="Expeditious Retreat" description="Your speed increases by 30 ft." compset="InPlay">
    <fieldval field="pMinimum" value="30"/>
    <fieldval field="pMaximum" value="30"/>
    <fieldval field="pDuration" value="1 minute/level (D)"/>
    <tag group="Helper" tag="AdjSpell"/>
    <tag group="Helper" tag="NoIncr"/>
    <tag group="Helper" tag="AdjNoPlus"/>
    <eval phase="First" priority="1000"><![CDATA[
      ~ If we're not enabled, get out now
      doneif (field[pIsOn].value = 0)

      ~ Add to speed
      hero.child[Speed].field[Bonus].value += 30]]></eval>
    </thing>


ShadowChemosh November 23rd, 2010 09:50 PM

Spell: Aid
Code:

  <thing id="pAid" name="Aid" description="Aid grants the target a +1 morale bonus on attack rolls and saves against fear effects, plus temporary hit points equal to 1d8 + caster level (to a maximum of 1d8+10 temporary hit points at caster level 10th).\n\n{B}Note:{/b} Use the counter to set the number of temporary hit points and as you take damage lower the counter to show losing the temporary hit points first." compset="InPlay">
    <fieldval field="pMinimum" value="0"/>
    <fieldval field="pMaximum" value="18"/>
    <fieldval field="pDuration" value="1 min./level"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <eval phase="Final" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give Bonus HP
herofield[tCurrentHP].value += field[pAdjust].value]]></eval>
    <eval phase="PreLevel" priority="10000" index="2"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Give a MORALE bonus to hit to all weapons
#applybonus[BonMorale,hero.child[Attack],1]]]></eval>
    </thing>


ShadowChemosh November 23rd, 2010 09:55 PM

Spell: Cloak of Shade
Code:

  <thing id="pCloakOfSh" name="Cloak of Shade" description="This spell provides the subject with some degree of protection from the harmful effects of the sun. The cloaked subject treats environmental heat due to sun exposure as one level less: severe heat is considered very hot conditions, while very hot is considered average temperature (see page 444 of the {I}Core Rulebook{/i} for heat dangers). The cloak of shade also reduces any penalties from sunlight by 1. The spell does not, however, eliminate the effects of direct sunlight on creatures vulnerable to sunlight. {i}Cloak of shade{/I} has no effect on environmental heat from sources other than the sun." compset="InPlay">
    <fieldval field="pDuration" value="1 hour/level (D)"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <tag group="Helper" tag="NoIncr"/>
    </thing>


ShadowChemosh November 23rd, 2010 09:57 PM

Quote:

Originally Posted by Steev42 (Post 47952)
Well, I did it for myself, so I may as well share.

Awesome job. Have to say that if each person just did one spell the CORE book would be done in no time. ;) :)

Steev42 November 24th, 2010 12:11 PM

That they would.

Out of curiosity, I was working on Aid (thinking much the same as you) before I saw yours. I'm still new at this, so I want to ask--why did you separate ranged and melee attacks instead of just using Attack Bonus? Also, does HeroLab currently watch bonus types to prevent invalid stacking? And finally, why did you put Aid in the Final phase?

ShadowChemosh November 24th, 2010 01:24 PM

Quote:

Originally Posted by Steev42 (Post 47998)
That they would.

Out of curiosity, I was working on Aid (thinking much the same as you) before I saw yours

Hmm I needed this for my own games so figured I would do it quick. If you have plans to do stuff for the CORE book I will stay out of those then.

Quote:

Originally Posted by Steev42 (Post 47998)
I'm still new at this, so I want to ask--why did you separate ranged and melee attacks instead of just using Attack Bonus?

In my test changing Attack Bonus actually changed the character sheet from the point of view of BAB(Base Attack Bonus). So in example a level 1 cleric with Aid or Bless would suddenly show that they had a BAB of +1 which is not correct. By giving it to Melee/Ranged separately I didn't run into that issue. Hmm I have a this feeling Mathias is going to correct me here, but that is my logic.

Quote:

Originally Posted by Steev42 (Post 47998)
Also, does HeroLab currently watch bonus types to prevent invalid stacking?

No you have to do that yourself using the Maximum function. In the above cases their is no Specific type of bonuses to track when using Melee/Ranged so no way to use it, but if their is for other Things and then the script would look something like this:
Code:

field[LuckBonus].value = Maximum(field[LuckBonus].value,NewBonus)
This way either the existing bonus or the new bonus value would get used instead of stacking them together.

Quote:

Originally Posted by Steev42 (Post 47998)
And finally, why did you put Aid in the Final phase?

I did that as in testing it was the only phase where adding to tCurrentHP would actually adjust it. Seemed using any phase before then would cause the value I placed in tCurrentHP to simply be over written with zero.

Mathias November 24th, 2010 04:31 PM

Quote:

Originally Posted by ShadowChemosh (Post 48000)
In my test changing Attack Bonus actually changed the character sheet from the point of view of BAB(Base Attack Bonus). So in example a level 1 cleric with Aid or Bless would suddenly show that they had a BAB of +1 which is not correct. By giving it to Melee/Ranged separately I didn't run into that issue. Hmm I have a this feeling Mathias is going to correct me here, but that is my logic.

The Attack bonus displayed on the Basics summary is not the BAB - it's the modified attack bonus - it includes things like size modifiers to hit and attack bonuses to all weapons, so I'd say use a generic Bonus here (or rather, BonMorale, since the spell adds a Morale bonus).


Quote:

Originally Posted by ShadowChemosh (Post 48000)
No you have to do that yourself using the Maximum function. In the above cases their is no Specific type of bonuses to track when using Melee/Ranged so no way to use it, but if their is for other Things and then the script would look something like this:
Code:

field[LuckBonus].value = Maximum(field[LuckBonus].value,NewBonus)
This way either the existing bonus or the new bonus value would get used instead of stacking them together.

Remember that the #applybonus[] and #applypenalty[] macros are here to help you with this:

Code:


#applybonus[BonMorale, hero.child[Attack], 1]

will give you a +1 morale bonus to all attacks that will stack correctly with other morale bonuses to attack. (There's a maximum function inside the macro)

Mathias November 24th, 2010 04:36 PM

Steev42, a note about Expeditious retreat - the speed bonus is actually an enhancement bonus, so instead of adding a flat value:

Code:


#applybonus[BonEnhance, hero.child[Speed], field[pAdjust].value]

(or this - there's a specific macro for enhancement bonuses):

Code:


#enhancement[hero.child[Speed], field]pAdjust].value]

In the editor, select the help menu, "Help on Using the Editor", then find the "Reference Information" link in the page that pops up - that's where this sort of thing is discussed.

Thank you both for adding these spells.

ShadowChemosh November 24th, 2010 09:43 PM

Quote:

Originally Posted by Mathias (Post 48013)
(There's a maximum function inside the macro)

I didn't actually know that. That makes that macro REALLY useful then.

Spell: Defile Armor
Code:

  <thing id="pDefileArm" name="Defile Armor" description="As {I}sanctify armor{/i}, except you gain DR 5/good when using your judgment or smite ability." compset="InPlay">
    <fieldval field="pMinimum" value="5"/>
    <fieldval field="pMaximum" value="5"/>
    <fieldval field="pDuration" value="1 minute/level"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <bootstrap thing="xDamRdGood"></bootstrap>
    <eval phase="PreLevel" priority="10000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Apply DR 5/good to the hero
#applydr[xDamRdGood,field[pAdjust].value]]]></eval>
    </thing>


ShadowChemosh November 24th, 2010 10:52 PM

Spell: Divine Vessel: Anarchic aspect
-Going to break this spell up into 4 pieces.
Code:

  <thing id="pDivVesAna" name="Divine Vessel: Anarchic aspect" description="You accept otherworldly energies into your body and transform. Your height doubles and your weight increases by a factor of eight. Your features shift into those of a cold and alien being of logic, a creature of primal chaos, an angelic presence, or a fiendish monster, as chosen by you. You gain a +6 size bonus to Strength and Constitution, a +3 natural armor bonus, darkvision 60 ft., and SR of 12 + your caster level{I}(Use Counter to set your CL){/i}. These modifiers replace the normal modifiers for increasing your size. The size modifier for AC, attacks, CMB, and CMD changes as appropriate for your new size category. This spell doesn’t change your base speed. Determine space and reach as appropriate for your new size.\n\nIf insufficient room is available for the desired growth, you attain the maximum possible size and may make a Strength check (using your increased Strength) to burst any enclosures in the process (see page 175 of the Core Rulebook for rules on breaking objects). If you fail, you are constrained without harm by the materials enclosing you--the spell cannot crush you by increasing your size.\n\nAll equipment you wear or carry is similarly enlarged by this spell. Melee weapons deal more damage. Other magical properties are not affected by this spell. Any enlarged item that leaves your possession (including a projectile or thrown weapon) instantly returns to its normal size. This means that thrown and projectile weapons deal their normal damage. Magical effects that increase size do not stack.\n\n{B}Anarchic aspect:{/b} You gain the following abilities: an additional +2 bonus to Constitution, DR 10/lawful, resist acid 10, electricity 10, and sonic 10, a +4 bonus on saves against poison, blindsense 30 feet, and a fly speed of 60 feet (good maneuverability). You gain a bite attack dealing 2d6 points of damage. Your natural weapons and any weapons you wield are considered chaotic-aligned for the purpose of overcoming damage resistance." compset="InPlay">
    <fieldval field="pDuration" value="1 round/level (D)"/>
    <fieldval field="pMinimum" value="16"/>
    <fieldval field="pMaximum" value="20"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    <bootstrap thing="xDamRsElec"></bootstrap>
    <bootstrap thing="xFly">
      <autotag group="Maneuver" tag="Good"/>
      </bootstrap>
    <bootstrap thing="wBite">
      <containerreq phase="First" priority="500"><![CDATA[fieldval:pIsOn <> 0]]></containerreq>
      <autotag group="wMain" tag="1d8_6"/>
      <autotag group="Helper" tag="NatSizeDmg"/>
      </bootstrap>
    <bootstrap thing="rBlindsen"></bootstrap>
    <bootstrap thing="xDamRdLaw"></bootstrap>
    <bootstrap thing="xDamRsAcid"></bootstrap>
    <bootstrap thing="xDamRsSoni"></bootstrap>
    <bootstrap thing="xSplRs"></bootstrap>
    <bootstrap thing="raDarkVis">
      <containerreq phase="First" priority="500"><![CDATA[fieldval:pIsOn <> 0]]></containerreq>
      </bootstrap>
    <eval phase="First" priority="20000"><![CDATA[
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Apply DR 10/lawful to the hero
#applydr[xDamRdLaw,10]
~ Apply Energy Resistance
#applyresist[xDamRsAcid, 10]
#applyresist[xDamRsSoni, 10]
#applyresist[xDamRsElec, 10]
~ Apply Spell Resistance
field[abValue].value = 12 + field[pAdjust].value
#applysr[field[abValue].value]

~ Add to size - must come after race and template size set
herofield[tSize].value += 1

~ Increase the size of all our equipment by 1 apart from
~ unarmed strike, which changes automatically
foreach pick in hero from MyGear where "!wCategory.Unarmed"
  eachpick.field[gSizeMod].value += 1
nexteach

~change the size of our natural weapons
foreach pick in hero from BaseNatWep where "!Helper.NatSizeDmg"
  perform eachpick.assign[Helper.DamageUp]
nexteach
     
~ Bonus to Str and Con
hero.child[aSTR].field[Bonus].value += 6
hero.child[aCON].field[Bonus].value += 8
~ Increase Natural AC by 3
hero.child[ArmorClass].field[tACNatural].value += 3
~ Give Fly speed
#applyvalue[xFly, 60]
~ Set Blindsense distance
#applyvalue[rBlindsen, 30]]]></eval>
    </thing>


ShadowChemosh November 24th, 2010 11:14 PM

Spell: Blessing of Courage and Life
Code:

  <thing id="pBlessCoLi" name="Blessing of Courage and Life" description="With this prayer you provide long-lasting succor to a wounded creature. For as long as the effect lasts, the target receives a +2 morale bonus on saving throws against fear and death effects. At any time while the spell is in effect, the target can choose to end the spell as a swift action for a burst of healing energy. The target loses the saving throw bonus, but is healed of 1d8 points of damage +1 point per caster level (maximum +10)." compset="InPlay">
    <fieldval field="pDuration" value="1 minute/level (see text)"/>
    <fieldval field="pMinimum" value="2"/>
    <fieldval field="pMaximum" value="2"/>
    <usesource source="APG"/>
    <tag group="Helper" tag="AdjSpell" name="Spell Adjustment" abbrev="Spell Adjustment"/>
    </thing>



All times are GMT -8. The time now is 01:33 PM.

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