• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Alternate Channel Energy

AndrewD2

Well-known member
A class I'm working on gains the cleric's channel energy ability with a couple caveats, first it increases faster (up to 12 dice at 20th level) and at 20th level its damage dice increases to d8s.

I created a new Class Special copied from the cleric's ability and then utilized the alchemist tutorial and created the changes like the bombs were done.

I then discovered that this gave me two entries for channel energy (one set up like the cleric and one setup like I coded). So I removed the bootstrap of the xChannel ability. I then discovered that the xChannel ability is needed for things like feats (ie. Extra Channeling).

So my big question is: Is there a way to override the xChannel damage dice progression without having to re-create feats just to work with this class?

Or is there a way to make what I currently have be considered xChannel for the purpose of the feats?

And finally, assuming I have to re-create the ability, how do I get it to say that it's channeling positive or negative energy?

Thanks,
Andrew
 
I've been exploring and trying to figure more and more out and I've figured out that (I think) in my Class Special I need to modify the [abValue2].value of xChannel in this class.

I've tried an if statement that would check character level and changed hero.child[xChannel].field[abValue2].value to the appropriate value, but this just seemed to add that value and the value I passed together (for example if I did hero.child[xChannel].field[abValue2].value = 12 for level 20 it would come up as 22d6 of damage).

I think I'm moving more in the right direction, but i'm just not completely sure.
 
phase & priority?

It sounds like you're setting it = 12 before the normal script runs - the normal script then comes in and adds +10, which is the usual bonus for 20th level.

Oh, and there's a macro available to condense that whole hero.child thing:

#value2[xChannel] = 12
 
Alright, I think I have it working. Not sure it's the most elegant, but it works. If anyone has any suggestions for cleaning it up that'd be great.

Thanks for pointing out the macro, it did make it a lot easier.

Code:
Phase: Post-Levels (User)
Priority: 25000

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

if (#levelcount[DivineCha] >= 20) then
	#value2[xChannel] = 12
elseif (#levelcount[DivineCha] >= 18) then
	#value2[xChannel] = 11
elseif (#levelcount[DivineCha] >= 16) then
	#value2[xChannel] = 10	
elseif (#levelcount[DivineCha] >= 14) then
	#value2[xChannel] = 9
elseif (#levelcount[DivineCha] >= 12) then
	#value2[xChannel] = 8
elseif (#levelcount[DivineCha] >= 11) then
	#value2[xChannel] = 7
elseif (#levelcount[DivineCha] >= 10) then
	#value2[xChannel] = 6
elseif (#levelcount[DivineCha] >= 8) then
	#value2[xChannel] = 5
elseif (#levelcount[DivineCha] >= 6) then
	#value2[xChannel] = 4
elseif (#levelcount[DivineCha] >= 4) then
	#value2[xChannel] = 3
elseif (#levelcount[DivineCha] >= 2) then
	#value2[xChannel] = 2
else
	#value2[xChannel] = 1
endif


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

~Set our name properly
      var v_turnname as string
      call cClrTurnNm
      hero.child[xChannel].field[livename].text = v_turnname 


~append the damage to the name
if (#levelcount[DivineCha] >= 20) then
  hero.child[xChannel].field[livename].text &= " " & #value2[xChannel] & "d8"
else
  hero.child[xChannel].field[livename].text &= " " & #value2[xChannel] & "d6"
endif
 
It would save a tiny bit of processing if you moved the doneif to before you set the value2 of xChannel. Then you can change the "#value2[xChannel]" to a "+=" instead of an "=".

Because you are using an = anything changing the value before this script runs will be overwritten.
 
Back
Top