Looking into Optimizing Lightning Mace [Style] (CW)

Post/Author/DateTimePost
#1

muertog

Oct 21, 2008 18:52:55
Just looking into a way to optimize the lightning mace style. I saw Mighty Wallop, Greater (RoD, p115), which is more than interesting @ 20th caster level. Increases the damage from 1d6 to 6d6.

Now how do you increase the threat range as much as possible? I am not so concerned about increasing the critical multiplier, but that is also something to think about.

Earth Hammer (RoS, p162) is another interesting spell that could work in conjunction... makes the damage 8d6 instead...
#2

spectre3541

Oct 21, 2008 19:23:47
You should have a look at this thread.

http://forums.gleemax.com/showthread.php?p=15764409

It pretty much maximizes EVERYTHING having to do with Lightning Maces. It's a great place to get ideas to incorporate. Granted, the actual build is more of a theoretical exercise than something actually playable.
#3

jaronk

Oct 21, 2008 19:45:12
Heh, massive overkill, but yes, you could take elements of that thread and make something more reasonable. Simply going straight class Warblade should result in something potent but balanced.

JaronK
#4

muertog

Oct 21, 2008 22:53:35
Blah. Interesting logical exercise, but it is a 1-trick pony, relying upon the DM to allow you to use "a pair of Aptitude Kukris" to satisfy the requirements of Lightning Maces. Just wondering if anyone else had ideas on methods of increasing the crit range on light maces.
#5

Wyvernhand

Oct 21, 2008 23:40:46
That ability doesn't really work like that. It only allows you to apply your weapon general feats that require you to pick a weapon at the time of selection (like Weapon Focus, or Improved Critical) and apply them to weapon with the enhancement. It does not work like everyone first thought in that thread, allowing you to mix and match weapons and specific feats like lightning maces or three mountains, or whatever. Yea, bummer, its not obscene....
#6

natenate

Oct 21, 2008 23:48:47
Improved Critical with Psychic Weapon Master 7+ gives you a 17-20 threat range, no better than a Keen Longsword, and available no sooner than level 14.

Use the spell Choose Destiny (RoD) and you'll get to roll two d20s per attack and take the better of the two, which with a 17-20 should come out to a 36% chance of scoring a threat, which is equal to a 14-20 threat range without Choose Destiny. You could get Divine Metamagic: Persistent Spell with a Major Ring of Spell Storing and have an NPC, cohort, or other party member put Choose Destiny into the ring so you can cast/persist it each day.

For a high level character, there are much better tricks to work toward. Without Aptitude Kukris, Lightning Maces isn't even worth optimizing.
#7

muertog

Oct 21, 2008 23:58:24
Thanks. Wasn't sure if there was a special weapon material that would add a +1 to the crit range somewhere. There's always brilliant weapon spell to take care of the actual hitting, but was trying to max the threat range.
#8

jaronk

Oct 22, 2008 0:50:59
That ability doesn't really work like that. It only allows you to apply your weapon general feats that require you to pick a weapon at the time of selection (like Weapon Focus, or Improved Critical) and apply them to weapon with the enhancement. It does not work like everyone first thought in that thread, allowing you to mix and match weapons and specific feats like lightning maces or three mountains, or whatever. Yea, bummer, its not obscene....

What makes you say that Wyvernhand? The rules in ToB say nothing of the sort. Was there a later errata, or are you thinking of the Warblade's Aptitude ability, which does say that?

In that thread, I'm talking about the Aptitude enchantment, which says nothing like what you're suggesting.

Also, if the worry is that you can't get Aptitude weapons, take the Ancestral Relic feat and a one level dip into UA Samurai, which will in fact give you two custom weapons to work with. Nothing to it.

JaronK
#9

Wyvernhand

Oct 22, 2008 2:22:48
What makes you say that Wyvernhand? The rules in ToB say nothing of the sort. Was there a later errata, or are you thinking of the Warblade's Aptitude ability, which does say that?


JaronK

Looking at the text, it specifies that that they are feats that "affect the use of a particular type of weapon" and go on to list Weapon Focus, Greater Weapon Focus, and Weapon Spec. These feats are all like I mentioned, you chose a weapon when you take the feat, and its benefits only apply to that particular weapon.

Plus, wouldn't you think its a strange coincidence that the weapon enhancement has the same name as the warblade ability, which are remarkably similar? Warblades can change their weapon specific feats (like Weapon Focus) out daily, while an aptitude weapon allows you to apply those feats to the weapon you are wielding, effectively changing out what the choice you made for your weapon specific feats for one that matches the weapon you are holding. It doesn't work with the various weapon style feats like Lightning Maces, since LM only works with light maces. A warblade can't change his LM feat to Spinning Halberd the next day, simply because he found a new toy. Similarly, an aptitude weapon can't change you Lightning Mace feat to "Lightning Kukiri", because that feat does not allow you to choose kukiris, greatswords, arquebuses, or broken beer bottles, but instead functions only for the weapon specified, namedly light maces in this case. I hope this makes sense.

I've pointed this out before, but everyone just says "ZOMGINFINITEATTACKSBBQ!" and skoffs me. Its not that I think its wrong from a balance point of view, I think its wrong from an intent point of view, and a manipulation of the english language point of view.

EDIT: Reading through your other thread, while the mechanics don't work (see above), the engineer in me started kicking and wondering what the numbers would look like if it did. If I can find the copy of MatLab I "aquired" when I was in college, I'd think about crafting up a script to add up the damage, provided I don't end up in some freaky infinite loop as y'all hinted that I might. Would a RNG create a string of numbers "random" enough to give results? Or would you have to work it all in terms of recursed probabilities? Cause that would be a pain in the ass. The easier route would be a series of loops running a couple of counters that record the quanities "attacks remaining" "hits" and "crits" into an array that could be processed afterwards. Granted, I'm not a programer by any definition of the word, but I did enjoy dabbling extensively with MatLab in college. MatLab is the kind of computational software that would probably be best suited to capturing this, provided using a RNG would be valid. The script could even be run multiple times to see if there is any trending IF the data does prove to be finite, which I think it should. I'll get back to this.

Now, where did I put that install file....
#10

jaronk

Oct 22, 2008 3:09:57
Looking at the text, it specifies that that they are feats that "affect the use of a particular type of weapon" and go on to list Weapon Focus, Greater Weapon Focus, and Weapon Spec. These feats are all like I mentioned, you chose a weapon when you take the feat, and its benefits only apply to that particular weapon.

Yes, but those are just examples, and part of a non exhaustive list. The part you quoted is the actual rule, and that part would indeed apply to Lightning Mace, Hand Crossbow Focus, Short Haft, and other such single weapon feats.

Plus, wouldn't you think its a strange coincidence that the weapon enhancement has the same name as the warblade ability, which are remarkably similar? Warblades can change their weapon specific feats (like Weapon Focus) out daily, while an aptitude weapon allows you to apply those feats to the weapon you are wielding, effectively changing out what the choice you made for your weapon specific feats for one that matches the weapon you are holding. It doesn't work with the various weapon style feats like Lightning Maces, since LM only works with light maces. A warblade can't change his LM feat to Spinning Halberd the next day, simply because he found a new toy. Similarly, an aptitude weapon can't change you Lightning Mace feat to "Lightning Kukiri", because that feat does not allow you to choose kukiris, greatswords, arquebuses, or broken beer bottles, but instead functions only for the weapon specified, namedly light maces in this case. I hope this makes sense.

Using that same logic, wouldn't it make sense that since the Warblade ability only works with weapons where the feat can actually normally apply to, the enchantment would be worded the same way so as to make it work the same? The fact that the wording is different indicates that perhaps a different meaning was intended. After all, it's the same book.

Also, just because the names are the same doesn't mean the effects are intended to be the same. Genesis, for example, is the name of three different spells, one Arcane, one Divine, and one Psionic. All three have different effects, with the Divine one being the Arcane one but with a restriction on temporal adjustments, and the Psionic spell having far more restrictions. So why if that's the case is it necessary that Aptitude (the Warblade ability) be the same as Aptitude (the enchantment) especially since they're not worded the same at all?

I've pointed this out before, but everyone just says "ZOMGINFINITEATTACKSBBQ!" and skoffs me. Its not that I think its wrong from a balance point of view, I think its wrong from an intent point of view, and a manipulation of the english language point of view.

I don't think it's that people necessarily want infinite attacks. It's that the Aptitude enchantment is actually clearly worded, whether they intended that wording or not. Did they intend for it to only apply to Weapon Focus and the like? Probably. Is it written that way? No. And RAI being probably is not enough to overrule RAW being definite.

EDIT: Reading through your other thread, while the mechanics don't work (see above), the engineer in me started kicking and wondering what the numbers would look like if it did. If I can find the copy of MatLab I "aquired" when I was in college, I'd think about crafting up a script to add up the damage, provided I don't end up in some freaky infinite loop as y'all hinted that I might. Would a RNG create a string of numbers "random" enough to give results? Or would you have to work it all in terms of recursed probabilities? Cause that would be a pain in the ass. The easier route would be a series of loops running a couple of counters that record the quanities "attacks remaining" "hits" and "crits" into an array that could be processed afterwards. Granted, I'm not a programer by any definition of the word, but I did enjoy dabbling extensively with MatLab in college. MatLab is the kind of computational software that would probably be best suited to capturing this, provided using a RNG would be valid. The script could even be run multiple times to see if there is any trending IF the data does prove to be finite, which I think it should. I'll get back to this.

Now, where did I put that install file....

Sure, go for it, I'd be curious. Some mathmatical solutions to it resulted in infinite most of the time, while others (Random Walk especially) claimed it never goes infinite. But don't use the Warmind version, as that's much more likely to explode... use the original build and see where it gets you.

I always meant to write a program for it but never had enough computer power to bother.

JaronK
#11

natenate

Oct 22, 2008 3:14:40
Similarly, an aptitude weapon can't change you Lightning Mace feat to "Lightning Kukiri", because that feat does not allow you to choose kukiris, greatswords, arquebuses, or broken beer bottles, but instead functions only for the weapon specified, namedly light maces in this case. I hope this makes sense.

Weapon Focus: Longsword functions only for the weapon specified, namely Longswords in this case. But any Aptitude weapon can be substituted for Longsword in that feat. Just the same, any Aptitude weapon can be substituted for the name of any weapon in any feat. Lightning Maces equals Lightning [aptitude weapon].

"Anyone can wield an aptitude weapon, but to gain any benefit from it, a wielder must have feats that are tied to the use of a particular weapon type."

"A wielder who has feats that affect the use of a particular type of weapon, such as Weapon Focus, Greater Weapon Focus, Weapon Specialization, or the like, can apply the benefits of those feats to any weapon that has the aptitude quality. In addition, if any of the wielder's weapon use feats are specifically keyed to the aptitude weapon's type, he gains a +1 bonus on attack and damage rolls."

First of all, each book is published assuming you only have the three Core rulebooks plus that book, therefore the specific examples given for this property would only be feats from the PHB. The fact that the only applicable feats in the PHB/Core are ones for which you could apply the Warblade's Aptitude ability should not be taken as a limiting factor.

Lightning Maces is a feat that affects the use of a particular type of weapon. Therefore, he can apply the benefits of Lightning Maces to any weapon that has the aptitude quality. This effect is not limited to the three example feats listed, it is not limited to feats for which a particular type of weapon must be specified upon taking the feat, it applies to any feat in the game that affects the use of a particular type of weapon, just like it says.

If they'd intended for its use to be more limited than this, then they should have made that clear; if this is just an oversight then it would have been corrected in an errata or the FAQ. The fact that this is not the case is enough proof that the Aptitude property works exactly as it is printed. There is nothing printed in the property's description to suggest that it does not work with every feat in the game for which a specific type of weapon is given.

You have committed a fallacy common to reading religious texts: You decided before even reading it what you thought it should say, and upon reading it, you decided that it did in fact say what you thought it should, simply because you found some tiny part that could possibly have agreed with your predetermined translation, even though that one tiny part could not possibly lead anyone else to that same conclusion unless they committed the same fallacy. You decided what it would say before even reading it, and emphasized only the parts that supported your conclusion regardless of how unimportant they were. You now wonder why nobody else has come to this same conclusion, it is because not everybody has committed this same fallacy that you have.
#12

Wyvernhand

Oct 22, 2008 3:15:52
I probably don't have the computer power either. I'll freely post any script I write though, in case some random stranger that frequents this forum happens to have access to NASA computers or something....

A closer inspection of this hard drive turns out that I don't have the install file for MatLab. Good thing you can code in a text editor! I'll just have to wait to debug till I get gome from Alaska.
#13

jaronk

Oct 22, 2008 3:18:29
You have committed a fallacy common to reading religious texts: You decided before even reading it what you thought it should say, and upon reading it, you decided that it did in fact say what you thought it should, simply because you found some tiny part that could possibly have agreed with your predetermined translation, even though that one tiny part could not possibly lead anyone else to that same conclusion unless they committed the same fallacy. You decided what it would say before even reading it, and emphasized only the parts that supported your conclusion regardless of how unimportant they were. You now wonder why nobody else has come to this same conclusion, it is because not everybody has committed this same fallacy that you have.

Out of curiosity, does that one have a name?

And by the way, that fallacy is particularly common to game designers. That's why playtesters and editors are so necessary.

JaronK
#14

natenate

Oct 22, 2008 3:27:05
Out of curiosity, does that one have a name?

And by the way, that fallacy is particularly common to game designers. That's why playtesters and editors are so necessary.

JaronK

It's been so long, the only thing I can remember is that it's included in Hermeneutics. It would be awesome if I could find it, get a link to a summary of the fallacy, and then just point people to the link whenever they commit it. I think it would quickly become the most posted link on CO.
#15

jaronk

Oct 22, 2008 3:37:42
Heh, it does come up a lot, that's why I asked.

I find that Ad Hominems and Strawmen are the most common, but that one is clearly common too. Been seeing a few too many Appeals to Authority of late, but not from that many people.

JaronK
#16

atomickitkat

Oct 22, 2008 5:22:01
Apart from Aptitude, the only other way that comes to mind is to get a whole bunch of arms(Deepspawn, which requires a total of 3 Feats, on top of the 3 you already used to get Lightning Mace ) to wield those Light Maces, and go to town. Every arm adds another chance to get more attacks.
#17

reis

Oct 22, 2008 23:08:40
about the most convincing argument you can make regarding this feat is that wizards of the coast devs have a problem with writing succintly.
#18

jaronk

Oct 23, 2008 0:03:04
There's also more in that thread than just Aptitude of course. Warblades get lots of extra attacks, and a single Barbarian dip for Lion Totem helps anyone trying to maximize attacks.

JaronK
#19

Wyvernhand

Oct 25, 2008 22:23:45
ok, this is what I got so far for script. Should just be able to copy and paste it into a matlab .m script file. It won't quite work yet, since I can't get the random number generator to work. n=rand(x) returns a value between 0 and 1, but I can't figure out how to translate that to 1-20 and still keep a proportionate equivalent. I sent an email to my old CSE prof and he's gonna get back to me soon...hopefully.

Show

[totdmg,totswing]=function(numatt,avgdmg)
p=0;
while numatt > 0;
numatt = numatt - 1; % reduces # of attacks each iteration
p = p + 1;
roll = RNG;
if roll > 8;
roll = RNG;
if roll > 1;
swing(p) = 2; % Change 2 to 3 or 4 if using higher crit multipliers
numatt = numatt + 2; % Generate 2 attacks per crit
else
swing(p) = 1; % Noncrit
end
else
roll = RNG;
if roll > 1;
swing(p) = 1;
else
swing(p) = 0;
end
end

% This creates an array of 0s, 1s, and 2s, which corresponds to misses, hits, and crits respectively.
totswing = length(swing);
% The length of the variable swing gives the total number of attack rolls made
% as the counter p increases at every iteration.
totdmg = sum(swing) * avgdmg;
% Summing swing will give us the total number of effective hits
% Hits count a 1 effective hit, crits count as 2 effective hits
% Multiplying avgdmg by the sum of hits will give total damage for the run
#20

tsuyoshikentsu

Oct 26, 2008 2:16:56
ok, this is what I got so far for script. Should just be able to copy and paste it into a matlab .m script file. It won't quite work yet, since I can't get the random number generator to work. n=rand(x) returns a value between 0 and 1, but I can't figure out how to translate that to 1-20 and still keep a proportionate equivalent. I sent an email to my old CSE prof and he's gonna get back to me soon...hopefully.

I'm completely unfamiliar with scripting, but can you tell it to multiply by 20, round to the nearest whole number, and reroll on a result of 0?
#21

jaronk

Oct 26, 2008 4:09:49
It's very easy. Multiple the result of the randomization by 20, then add 1, then round down (truncate, really). Any result that actually hits 21 is discarded.

JaronK
#22

brainpiercing

Oct 26, 2008 9:11:04
It's very easy. Multiple the result of the randomization by 20, then add 1, then round down (truncate, really). Any result that actually hits 21 is discarded.

JaronK

Rather, round UP 20*random number between 0 and 1 .
#23

Wyvernhand

Oct 26, 2008 13:23:17
The only problem with this is in order to disregard a roll of 0, you need a loop or something to check, and this adds another bulky step to an already bulky program. I don't have matlab on this computer atm, but I'm concerned that its gonna bog down to the point where it will crash. I was trying to keep it simple, but if I can't figure out an alternative, I'll do that.

20 [0 1] will still have an even probablilty of any number between 0 and 20, right?
#24

muertog

Oct 26, 2008 13:43:43
It's very easy. Multiple the result of the randomization by 20, then add 1, then round down (truncate, really). Any result that actually hits 21 is discarded.

JaronK

If that is a reference to the excel code I dropped in the other thread (http://forums.gleemax.com/showpost.php?p=17098609&postcount=122), that only works because excel's RAND() function:
"Returns a random number greater than or equal to 0 and less than 1, even distributed (changes on recalculation)."
Thus, there is no possibility of a value of 1, which means:
"=TRUNC(RAND()*20)+1" has no possibility of returning a value other than between 1 and 20.

Kind of odd that the value for this other code gives random results inclusive of [0-1] instead of [0-1), but I don't know too much on specific coding.
#25

Wyvernhand

Oct 26, 2008 21:33:27
ok, I figured it out. Got some info back from my prof and he's pretty sure that what I have here will return a pseudo-random number with equal probability between 1 and 20. The only thing left to work out is how to factor in Blood in the Water, but that shouldn't be hard with another loop + counter. I hate using that many loops, as they tend to bog down when you are running something like 100,000 iterations, but I can't figure out how to do it otherwise.

Now, to find someone with MatLab to save this as a .m file and give it a run. My prof is checking all the syntax on my code, but I couldn't find anything wrong with it, so it SHOULD work. Unless, of course, it is infinite, and then you'll probably get a "divide by fhtagn error, please reboot universe" message.

Show

[totdmg,totswing]=function(numatt,avgdmg)
p=0;
while numatt > 0;
numatt = numatt - 1; % reduces # of attacks each iteration
p = p + 1;
roll = 1+floor(rand*20);
if roll > 8;
roll = 1+floor(rand*20);
if roll > 1;
swing(p) = 2; % Change 2 to 3 or 4 if using higher crit multipliers
numatt = numatt + 2; % Generate 2 attacks per crit
else
swing(p) = 1; % Noncrit
end
else
roll = 1+floor(rand*20);
if roll > 1;
swing(p) = 1;
else
swing(p) = 0;
end
end

% This creates an array of 0s, 1s, and 2s, which corresponds to misses, hits, and crits respectively.

totswing = length(swing);
% The length of the variable swing gives the total number of attack rolls made
% as the counter p increases at every iteration.

totdmg = sum(swing) * avgdmg;
% Summing swing will give us the total number of effective hits
% Hits count a 1 effective hit, crits count as 2 effective hits
% Multiplying avgdmg by the sum of hits will give total damage for the run
#26

Wyvernhand

Oct 29, 2008 1:24:44
Bump. Anyone with MatLab out there willing to run this script? Come on! You know you want to!
#27

muertog

Oct 29, 2008 1:35:11
Sorry, don't have MatLab, otherwise would try it.

Why not have an escape clause in the code? Say, sanity check every 1000 turns, and have a user interface to continue or kill program. Should only take one for/else statement to encompass the code...

if sanity < 1000
do {code}
sanity = sanity +1
if sanity = 1000
continue?
yes? sanity = 1
no? end
else
end
#28

drakir_nosslin

Oct 29, 2008 16:03:13
I'm trying to get hold of a version of matlab right now, a friend of mine has it, just so that I can try this out. However, I suspect that my laptop will start crying quite loud when I run this program. If it does, and crash, as I think it will, I'll have to wait until Christmas when I move back to Sweden and my PC. That one should be able to do it. I think...
#29

Wyvernhand

Oct 29, 2008 21:32:44
Sorry, don't have MatLab, otherwise would try it.

Why not have an escape clause in the code? Say, sanity check every 1000 turns, and have a user interface to continue or kill program. Should only take one for/else statement to encompass the code...

if sanity < 1000
do {code}
sanity = sanity +1
if sanity = 1000
continue?
yes? sanity = 1
no? end
else
end

That would be nice, but I don't know how to program a prompt in a script. As its written, its just a script, which is a single command that acccepts inputs, carries out a set of steps and returns an output. I'm not a C++ guru, MatLab is the only programing language that I remotely know. All things considered, however, its one of the most powerful pieces of computational software, if that's what you are going for.