Friday, September 11, 2009

School Happened

I apologize for the lack of timely updates, school has interfered with the large quantity of time it requires to update the program. A simple update is underway, though unfinished, which will include a minor fix to the Vorpal Crit checkbox, changing the min/max damage for Vorpal, and showing hopefully helpful hints in the bar at the bottom for when you mouse-over each component.
Because of the huge number of components I have, naturally this last step takes a long time to write.

Current Program Suggestions:
Make a much better GUI, currently it is huge, crowded, and ugly. (very hard)
Make a reroll pool for such things as Elven Accuracy. (also very difficult)
Add more attacks, which may get it closer to dealing with nova territory. (would take forever)
Add better attack dependencies, including recursive damage calculation for Rampage, and multiple attack dependencies such as from Quick-hit Bracers.(most difficult thing here)

Essentially, these additions will take weeks of work. Time I don't really have at the moment, taking a full load of engineering classes.
I think all of those additions would be great for the program, however, and eventually I want to get around to implementing them. For now, accept the program as it is, and don't hold your breath for an update that will solve all your problems.

Friday, July 31, 2009

Version 1.17b

Download (Mirror)

Changes in this revision:
  • Now asks if you want to save when you exit
  • Added Holy Ardor checkboxes for the Avenger-inclined
  • Added Infobar (actual information not implemented yet)
  • Added Min/Max Damage tab
  • Packaged a few example text files
  • Open is now backwards-compatible with 1.14b

Thursday, July 30, 2009

Planned Updates Thread

FYI comments do not require an account (but do require a CAPTCHA) and are appreciated.
Post suggestions for new additions to the program here. I will reference other threads where this is posted and update with some of your suggestions, but posting them in the comments here makes this easier.
  • Add support for Storm of Blades, w/ reroll pool. Will be in a separate, special form.
  • Either force the program to pretend blank fields are zero, or auto update blank fields with zero.
  • Add support for Holy Ardor; new Avenger PP feature in Divine Power
  • Add min/max damage view
  • Add information bar to supplement Help
  • Package some example text files with new program (Re: Populate suggestion)

Past Versions

A look at the changes its gone through during its development.
As you may be able to tell, I'm not a professional coder, designer, or anything other than a beginning student who has had a class in VB (also C and Java). I wanted to see if I could make a useful tool despite my relative inexperience.

Monday, July 27, 2009

New Build! Several suggestions implemented.

Version 1.14b is out.
Download (Mirror)

New in this version:
IMPORTANT: Old saves will probably not work with the new program, due to the addition of several fields. Old save files no longer have enough data to satiate the lust for input my program now has.

  • Damage Workspace has been REJIGGERED (I believe that is the technical term), and now has tabs for main, crit, and miss damage
  • Enemy Defenses now has an HP field, allowing you to test your attacks against a specific monster
  • Bloodiron checkboxes added, allowing you to double the crits and double the fun
  • In addition to Enemy HP %, I added a basic fraction section, to make it more evident just how effective your attack really is. I think you'll like it.
  • Old DPR saving and comparison. You can now check the box to save your current DPR, change a bunch of things, and see the difference between the old DPR and new DPR, both as a percentage and as a DPR value. NOTE: You can also type in an Old DPR value manually if you desire, once the checkmark has been checked.
  • Help has been slightly updated
  • About window now has a link to this blog
  • Added a Frequency box to OPR damage, which allows you to reduce (or if you type a percentage in, increase) the damage of your OPR effect, based on how often you think you'll receive it.
  • Changed Crit Dice multiplier default value list, so that it includes numbers bigger than 6, for the crazy-critical-minded.
  • Added Unconditional Damage section, for the Stormwardens who want their static damage added to DPR unconditionally. Hopefully what that box does is clear enough
And that's about it for new things. Of course, I ended up breaking at least 3 other things, which I had to fix manually. First the Saving/Opening, then the File menu disappeared for no reason, then the Clear button went to hell. Well, I manually refreshed what Clear did; now there is no hidden text file that contains values for the program, like I had before. I thought it would be a simple matter to replace that text file, only Visual Studio had a decoy.....
I replaced the old "clear.txt" file within my project, only to find that it did nothing. There was still an internal reference to some hidden file going by the same name. Hidden file searching ensued, and I found the culprit. "AHA" I thought to myself, "This will be a simple matter of replacing the file now that I've found the real one!" I was mistaken, for the hidden file had weaved secret tendrils into my program, that could not be undone. Now nothing worked for clear, and my menustrip had just disowned all its buttons.

LONG STORY SHORT, I rewrote the entire Clear menu item's code, for every. single. control. and manually typed in what its original value was. I had to go into the program loading area and reassociate the menu items with the menu as well. Still unsure of why it failed, but now everything should work.

Let me know what things don't work anymore, I'm sure there's a good chance I broke something else by adding so much.

That was a LOT for one night! Well, for me its no longer night (8am) but it's a coder's life.

Saturday, July 25, 2009

First Public Beta vs 1.09b

Free google hosting later, my program is up on teh interwebs.
Free for download and useage.
(Program is 7zipped. Download 7zip to open)
Download (Mirror)

DnD 4E Damage Calculator is a program designed and coded in VisualBasic .NET for the purpose of providing a (hopefully) useful tool in deciding which attacks to use in 4E Dungeons and Dragons. It allows you to input your attacks in a given round, and provides a DPR value based on your input monster level and type, which determines the defenses of the given monster, and therefore your attack's effectiveness vs given monster.


Damage Per Round is an average, and therefore will not generally reflect your actual damage given in any round. It is close what your damage would be if you repeated the attack against the same monster, with the same defenses for several thousand iterations and averaged it, taking into account the misses and crits. It is a good benchmark for determining the power of an attack, especially relative to other attacks. You could use it to test a maxim of 4E: an attack bonus is superior to a damage bonus of the same value. You could determine just how good an increased critical range is relative to a static damage bonus.

DPR is not the only deciding factor for the utility of a power. Accuracy, while also a component which decides DPR, is crucial to the effectiveness of a character. A character who deals infinite damage on a roll of 20 will have an infinite DPR, yet he will be ineffective on 95% of his rounds. An extreme example, but the point is that accuracy is reliability, and without a moderate accuracy your character's attacks are unreliable. Against monsters of your level, your % To Hit should be 50% or more.

A note on Combat Advantage

Combat Advantage provides a +2 bonus to attack rolls; a +10% increase in the average character's accuracy, even more for Avengers. If a character only had a 50% accuracy before, its new relative accuracy with combat advantage is 20% higher than before. So keep in mind that a simple +2 bonus can make your character that much better. Assuming your character's accuracy lies around the 50% range, you can view each +1 to hit as approximately a 10% relative increase in hitting, and therefore around a 10% increase in damage.

Friday, July 24, 2009

New Blog Acquired

Well, another step of the programming process is completed: a way of distributing and updating information about it. This blog is to deliver updates about my program, as well as (hopefully) the program itself.