View Single Post
Fuzzy
Senior Member
 
Join Date: Jul 2012
Posts: 416

Old April 24th, 2014, 08:08 AM
well, I've only worked with trying to implement keen so far, and it seems like the script on the weapon is still running, just not by adding the pick. If, however, i assign Helper.Keen to the weapon with my ability, It does properly modify the threat range properly - though I couldn't find where in the the timing it does so. My test script is running at Pre-Attributes 10000, and it seems to be working so far. Can't really complete it though, as I can't choose the weapon AND the bonus type because of the above mentioned bug where usrChosen2 is not visible in the UI.

so far what I've done:
- I created a replacement for the cMagArPool Class Special that is identical to original, but Bootstraps in my new Custom Ability.
- The new ability (currently) assigns Helper.Keen to the selected weapon. Ideally, it would go through usrChosen2 to choose how to assign the weapon, but that's not possible yet.

This is my ability currently working 'add keen to selected weapon' script:
Code:
  <thing id="cFUZMagWE" name="Arcane Weapon Enhancement" description="Test of Arcane Pool Weapon Enhancement" compset="CustomSpec" summary="Add Enhancing trait to a held weapon" uniqueness="unique">
    <fieldval field="shortname" value="Arcane Enhancement"/>
    <tag group="SpecSource" tag="arHdMagus"/>
    <tag group="User" tag="Activation"/>
    <tag group="AbilType" tag="Super"/>
    <tag group="fShowWhat" tag="WeaponsMel"/>
    <tag group="ChooseSrc1" tag="Hero"/>
    <eval phase="PreAttr" priority="10000">doneif (field[abilActive].value = 0)
doneif (field[usrChosen1].ischosen = 0)

perform field[usrChosen1].chosen.assign[Helper.Keen]</eval>
    </thing>
  <thing id="cFUZArPool" name="Arcane Pool (new)" description="At 1st level, the magus gains a reservoir of mystical arcane energy that he can draw upon to fuel his powers and enhance his weapon. This arcane pool has a number of points equal to 1/2 his magus level (minimum 1) + his Intelligence modifier. The pool refreshes once per day when the magus prepares his spells.\n\nAt 1st level, a magus can expend 1 point from his arcane pool as a swift action to grant any weapon he is holding a +1 enhancement bonus for 1 minute. For every four levels beyond 1st, the weapon gains another +1 enhancement bonus, to a maximum of +5 at 17th level. These bonuses can be added to the weapon, stacking with existing weapon enhancement to a maximum of +5. Multiple uses of this ability do not stack with themselves.\n\nAt 5th level, these bonuses can be used to add any of the following weapon properties: {i}dancing{/i}, {i}flaming{/i}, {i}flaming burst{/i}, {i}frost{/i}, {i}icy burst{/i}, {i}keen{/i}, {i}shock{/i}, {i}shocking burst{/i}, {i}speed{/i}, or {i}vorpal{/i}. Adding these properties consumes an amount of bonus equal to the property&apos;s base price modifier (see Table 15-9 on page 469 of the {i}Core Rulebook{/i}). These properties are added to any the weapon already has, but duplicates do not stack. If the weapon is not magical, at least a +1 enhancement bonus must be added before any other properties can be added. These bonuses and properties are decided when the arcane pool point is spent and cannot be changed until the next time the magus uses this ability. These bonuses do not function if the weapon is wielded by anyone other than the magus.\n\nA magus can only enhance one weapon in this way at one time. If he uses this ability again, the first use immediately ends." compset="ClSpecial" summary="New Arcane Pool" replaces="cMagArPool">
    <tag group="User" tag="Tracker" name="Modern Action Points" abbrev="Modern Action Points"/>
    <tag group="AbilType" tag="Super" name="Supernatural Ability" abbrev="(Su)"/>
    <tag group="Usage" tag="Day" name="/day" abbrev="/day"/>
    <bootstrap thing="cFUZMagWE"></bootstrap>
    <eval phase="PreAttr" priority="10000"><![CDATA[
      field[listname].text = field[thingname].text & " (+" & field[xIndex].value & ")"

      ~only run the rest for the first copy
      doneif (tagis[Helper.FirstCopy] = 0)

      ~ If we're not shown, just get out now
      doneif (tagis[Helper.ShowSpec] = 0)

      ~we count as having the arcane strike feat for the purpose of prereqs
      perform hero.assign[HasFeat.fArcStrike]

      field[trkMax].value += maximum(round(field[xAllLev].value/2,0,-1),1) + #attrmod[aINT]

      field[abValue].value += field[xCount].value

      field[livename].text = field[thingname].text & " (+" & field[abValue].value & ")"]]></eval>
    </thing>

Last edited by Fuzzy; April 24th, 2014 at 08:31 AM.
Fuzzy is offline   #10 Reply With Quote