I hope that others will find this helpful and/or tweak it to make it a better.
pre-levels 10000
~ if we're not active, just get out now
doneif (field[pIsOn].value = 0)
hero.child[ArmorClass].field[tACDodge].value += 2
timing Haste AC
Second script
~ if we're not active, just get out now
doneif (field[pIsOn].value = 0)
~we move at +30 speed, to a maximum of x2
field[abValue].value += hero.child[Speed].field[tSpeed].value * 2
field[abValue2].value +=2
~ This procedure detects if we have a special speed (like swim) and then
~ increases it by double.
call HasteMove1
timing Haste Speed
Procedure reads as follows, basically copied from the pathfinder haste procedure. I'm sure there are tweaks that can be made to the procedure but it currently does what I want it to which is doubling all forms of movement speed.
var multlimit as number
multlimit = field[abValue2].value - 1
var walk as number
walk = minimum(field[abValue].value, hero.child[Speed].field[tSpeed].value * multlimit)
#enhancementbonus[hero.child[Speed], walk]
~start by calculating the swim speed
#value[xSwim] = maximum(#value[xSwim], hero.childfound[xSwim].tagmax[Value.?])
~then add 30 (or the current value)
#value[xSwim] += minimum(field[abValue].value, #value[xSwim] * multlimit)
~start by calculating the burrow speed
#value[xBurrow] = maximum(#value[xBurrow], hero.childfound[xBurrow].tagmax[Value.?])
~then add 30 (or the current value)
#value[xBurrow] += minimum(field[abValue].value, #value[xBurrow] * multlimit)
~start by calculating the fly speed
#value[xFly] = maximum(#value[xFly], hero.childfound[xFly].tagmax[Value.?])
~then add 30 (or the current value)
#value[xFly] += minimum(field[abValue].value, #value[xFly] * multlimit)
~start by calculating the climb speed
#value[xClimb] = maximum(#value[xClimb], hero.childfound[xClimb].tagmax[Value.?])
~then add 30 (or the current value)
#value[xClimb] += minimum(field[abValue].value, #value[xClimb] * multlimit)
J
pre-levels 10000
~ if we're not active, just get out now
doneif (field[pIsOn].value = 0)
hero.child[ArmorClass].field[tACDodge].value += 2
timing Haste AC
Second script
~ if we're not active, just get out now
doneif (field[pIsOn].value = 0)
~we move at +30 speed, to a maximum of x2
field[abValue].value += hero.child[Speed].field[tSpeed].value * 2
field[abValue2].value +=2
~ This procedure detects if we have a special speed (like swim) and then
~ increases it by double.
call HasteMove1
timing Haste Speed
Procedure reads as follows, basically copied from the pathfinder haste procedure. I'm sure there are tweaks that can be made to the procedure but it currently does what I want it to which is doubling all forms of movement speed.
var multlimit as number
multlimit = field[abValue2].value - 1
var walk as number
walk = minimum(field[abValue].value, hero.child[Speed].field[tSpeed].value * multlimit)
#enhancementbonus[hero.child[Speed], walk]
~start by calculating the swim speed
#value[xSwim] = maximum(#value[xSwim], hero.childfound[xSwim].tagmax[Value.?])
~then add 30 (or the current value)
#value[xSwim] += minimum(field[abValue].value, #value[xSwim] * multlimit)
~start by calculating the burrow speed
#value[xBurrow] = maximum(#value[xBurrow], hero.childfound[xBurrow].tagmax[Value.?])
~then add 30 (or the current value)
#value[xBurrow] += minimum(field[abValue].value, #value[xBurrow] * multlimit)
~start by calculating the fly speed
#value[xFly] = maximum(#value[xFly], hero.childfound[xFly].tagmax[Value.?])
~then add 30 (or the current value)
#value[xFly] += minimum(field[abValue].value, #value[xFly] * multlimit)
~start by calculating the climb speed
#value[xClimb] = maximum(#value[xClimb], hero.childfound[xClimb].tagmax[Value.?])
~then add 30 (or the current value)
#value[xClimb] += minimum(field[abValue].value, #value[xClimb] * multlimit)
J