Home Privacy

DDO Damage Simulator

Information:

This is a tool designed to calculate the damage done over time by almost any non-caster build. Once you enter in all the information for your build, the tool should be able to calculate the damage you will do with a reasonable degree of accuracy. The tool is still a WIP project, but it should be functional. Damage formulas are also a WIP, and I have no way to determine if my math is correct or not. I will update/fix the tool when I can, but once school starts, I may not get much time to work on it.


Download and Installation:

Download Link (using google drive)

The download is a .zip file containing a .jar file, a .exe file, and the presets folder. Either the .jar file or the .exe file can be used to run the tool. If any of the files are moved, my presets will not load, but the tool should run normally (untested).

Naming:
The download file will be named DDODamageSimulatorX.Y.Z. X is the major version, Y is the DDO update it works for, and Z is the minor version. For now, the tool should work with any version of ddo, but that will change once I get a few features working.


Changelog:
1.29.0: Basic version working.


Usage:
Should be fairly self-explanatory. Working on a feature to load builds from Character Planner saves, but that might take a while.



Tips and Tricks:
To add a custom effect/weapon/buff/attack to the presets list, simply save it inside the appropriate preset folder:

Weapons --> presets/weapons
Mainhand only weapons (greatswords, etc.) --> presets/mainhand only weapons
Effects --> presets/effects

You get the idea.


Bugs, things that don't work properly, and things to watch out for
Selecting a Fighting Style assumes that all of the fighting style feats for that fighting style are take. E.g. the Fighting Style TWF assumes the user has TWF, iTWF, and gTWF. Also, none of the fighting styles grant melee power.

There is no way to add a Enhancement bonus from the player side. To get around this, add Ability Modifier instead (it's calculated the same).

Everything stacks.


Things I need help with:
Feedback of all kinds.

Weapon attack speed formulas. This is the biggest part of the tool where I have no idea what I am doing. Attack speeds for TWF and THF are taken from this post, but I don't know if it is still accurate.

Attack speeds I need:
SWFAll other weapons (crossbows, bows, quarterstaves, etc.)

Presets. If someone has a particular weapon/effect/buff/attack they would like added to the preset folder (for everyone), PM me with the save file and I'll put it in next update.

Someone (or multiple someones) to check my Damage Formula.
Damage Formula (there are 3 relevant methods, written in Java):
Code:
        public double getAverageDmgForFS(int mins){
       
                System.out.println("Starting Sim with FS " + f);
       
                double damage = 0;
       
                int totalAttacks = 0;
       
                switch(f){
                case SWF:totalAttacks = (int) (  86.50 * ( 100d + 1*(getStat(null, Atribute.AttackSpeed) + 30) )/100d  );
                break;
                case THF: totalAttacks = (int) (  86.50 * ( 100d + 1.0327 * getStat(null, Atribute.AttackSpeed) )/100d  );
                break;
                case TWF: totalAttacks = (int)(  86.66 * ( 100d + 1.1965 * getStat(null, Atribute.AttackSpeed) )/100d  );
                break;
                case None: totalAttacks = (int) (  86.50 * (100d + 1*(getStat(null, Atribute.AttackSpeed)) ) /100d  );
                default:
                        break;
       
                }
       
                totalAttacks *= mins;
       
                totalAttacks *= (  (100+getStat(null, Atribute.Doublestrike))/100  );
       
                int basicAttacks = totalAttacks;
       
                // find how many basic attacks are used
                for(Attack a : player.attacks){
                        basicAttacks -= a.getUsesInMins(mins);
                }
       
                System.out.println("BasicAttacks: " + basicAttacks);
                // adds the damage for that many basic attacks
                damage += basicAttacks*getDamageForAttackInFS(Attack.BasicAttack, f);
       
                System.out.println("Damage for 1 Basic Attack: " + getDamageForAttackInFS(Attack.BasicAttack, f));
       
                for(Attack a : player.attacks){
                        damage += a.getUsesInMins(mins)*getDamageForAttackInFS(a, f);
                }
       
       
       
                damage *= 1+Math.max(getStat(mh, Atribute.Vulnerable), getStat(oh, Atribute.Vulnerable));
       
       
       
                return damage;
       
        }
        public double getDamageForAttackInFS(Attack a, FightingStyle f){
                double damage = 0;
                if(f == FightingStyle.TWF){

                        damage += getDamageForAttack(mh, a, AttackStyle.TWFMH);
                        damage += getDamageForAttack(oh, a, AttackStyle.TWFOH)*( 0.80 + getStat(a, null, Atribute.AddedOffhandAttackRate) )*(  (100+getStat(null, Atribute.OffhandDoublestrike))/100d  );

                } else if (f == FightingStyle.THF){
                        damage += getDamageForAttack(mh, a, AttackStyle.THF);
                } else if (f == FightingStyle.SWF){
                        damage += getDamageForAttack(mh, a, AttackStyle.SWF);
                } else{
                        damage += getDamageForAttack(mh, a, AttackStyle.None);
                }
                return damage;
        }

        public double getDamageForAttack(Weapon w, Attack a, AttackStyle f){

                double abilityMult = 1;

                switch(f){
                case SWF: abilityMult = 1.5;
                break;
                case THF: abilityMult = 1.5;
                break;
                case TWFMH: abilityMult = 1;
                break;
                case TWFOH: abilityMult = 0.5 + getStat(null, Atribute.OffhandAbilityMultiplier);
                break;
                case None:
                        break;
                default:
                        break;


                }



                double dmgNoCrit =
                                getStat(a, w, Atribute.Dice)
                                *getStat(a, w, Atribute.Multiplier)
                                + getStat(a, w, Atribute.Enhancement)
                                + getStat(a, w, Atribute.AbilityModifier)*abilityMult;

                double critChance = ((getStat(a, w, Atribute.CritRange))/20d)
                                *(getStat(a, w, Atribute.Seeker)/20d);

                double critMult = getStat(a, w, Atribute.CritMult);

                double vorpalChance = (getStat(a, w, Atribute.AddedVorpalRange) + 1)/20;

                System.out.println("CritChance: " + critChance + ", CritMult: " + critMult + ", VorpalChance: " + vorpalChance);

                double dmg;

                dmg = (1d-critChance)*dmgNoCrit +
                                (critChance-0.1)*critMult*( dmgNoCrit + getStat(a, w, Atribute.DamageBeforeCrit) ) +
                                (0.1)*(critMult + getStat(a, w, Atribute.CritMult1920))*(dmgNoCrit + getStat(a, w, Atribute.DamageBeforeCrit));

                // dmg now equals your base weapon damage, multiplying by Melee Power
                double MPMod = (100d + getStat(a, w, Atribute.MeleePower))/100d;
                dmg *= MPMod;


                dmg += getStat(a, w, Atribute.DamageOnHit);
                dmg += critChance*(getStat(a, w, Atribute.DamageOnCrit));
                dmg += vorpalChance*(getStat(a, w, Atribute.DamageOnVorpal));

                dmg += MPMod*getStat(a, w, Atribute.DamageOnHitMP);
                dmg += MPMod*critChance*getStat(a, w, Atribute.DamageOnCritMP);
                dmg += MPMod*vorpalChance*getStat(a, w, Atribute.DamageOnVorpalMP);

                double SAMod = (100 + 1.5*getStat(a, w, Atribute.MeleePower))/100;
                dmg += SAMod*getStat(a, w, Atribute.SneakAttack);

                //dmg now includes misc damage effects on weapon and player, and sneak attack

                return dmg;

        }

Other Posts in Guides & Strategies

Low-Mid Reaper Baba Raid Guide

I wish to make it clear before I start that this isn't a definitive guide for running Baba. This guide is to build on existing guides for Baba and assumes you know the basics of the raid, its progression and have a few runs under your belt already. T..

My personal monk build

I have been requested to post my build so here it is. Level 30 Lawful Neutral Halfling Female (20 Monk / 10 Epic) Hit Points: 512 Spell Points: 114 BAB: 15/15/20/25/25 Fortitude: 22 Reflex: 23 Will: 31 Starting End..

12th Anniversary tips and tricks, questions and answers

Heyo! I've been running the Kobolds in the 12th Anniversary (a lot) and have been able to do it very very reliably with a Rogue X / Barb 1 / Wiz 1 using very high stealth and a Quickened Invis spell-like ability. I don't kill anything along the way ..

Reaper Melee Weapon Golf Bag

Reaper Melee Weapon Golf Bag Any monster type champion can have: possible 2 of: resist blunt/pierce/slashing Ghostly skeleton (lvl 5 quest)/abishai (lvl 5 quest)/some demons/scourge champions: DR Good + possible 2 of: resist blunt/pierce/slashing Va..

A Possible Past Life Guide

DDO has so many facets, it can seem impossible to figure it out. After build options, I think figuring out past lives may be next most complex given the heroics, iconics, racials, epics, destinies, passive, stances...you get my point. And while I kno..

1-20 Quest guide for efficient TR'ing (No Sov pots edition)

There are several decent TR'ing quest guides out there but so far all of them have shared the requirement that you down Sov pots non-stop, they run with a perma-group or they're wicked out of date making them sometimes hard to follow/keep pace with. ..

Ice flenser help

I am having issues with Ice flenser's polar rays at mid levels at the moment. I barely scraped through invaders and the first archon quest, but am now having trouble with demon assault. They do so much damage, and as a mele I basically can't avoid th..

DDO Puzzles App

I've finally released the first incarnation of my DDO Puzzles app on the Microsoft store. This means players with Windows 10 (desktop & phone) can download and install the app for free. The app is meant to bring together solutions for the variou..

Quest Compendium Spreadsheet

A while back, someone had posted a spreadsheet that had all of the quests listed out that included some nice details for tracking progress. I took that sheet & built upon it, adding in some additional fields & organization to suit my needs, a..

Tip for stealthing Resurrection Chamber

For a stealthy toon, most of the mob fights in Resurrection Chamber may be avoided. The key to this is in the opening of the Mysterious Packages.First, open dialog box to open package. This forces your toon to leave stealth modeReenter stealth modeFi..

The Ultimate TR Levelling Guide!

Howdy all. Have you ever gotten tired struggling with trying to get to Level 20 for TR? Are you always finding a lack of Groups on the LFM that run the right quests for a max load of XP? Well look no further. This fun and easy TR levelling guide will..

Ideas for running favor farmers

I thought I would share some experiences from some recent runs I did while getting 100 favor in the servers I have never played on. One of the reasons I did this was a I got a little bored trying to level my gnome illusionist (deep gnome), could be ..

Mobile Puzzle Solvers - Back in the App Store

I just realized the iOS version of the puzzle solver was no longer available as of iOS 11. I updated the code to be compatible and also adjusted it so it will work more nicely on iPads and in landscape mode for those who care. (I also made a new ico..

Quests By XP and Effective Difficulty

I took the quests by xp from the ddowiki and broke them out by effective level based on difficulty. Raids have been removed. Solo only quests have been removed. Quest duration is not included. Bravery Bonus is not taken into account. Difficulty prere..

Solo Cleric Leveling Build (War Priest), need advice

I'm new to the game. I started up a few years ago and quit because soloing the class I wanted (1 thief/7 mage) was really hard to level without hirelings (I didn't want to use them....) I am certain this is not an end-game build but I do need some ad..

Saga spreadsheet

I've been meaning to post this for a while now. EllisDee37's https://www.ddo.com/forums/showthrea...ompendium-Lite and the talk of adding a saga planner to it is what finally got me moving. I already don't know how I ever got along without it :).http..

Compendium Lite

I wrote a compendium to take the place of the spreadsheet I've been using ever since I started playing. That spreadsheet has evolved to be quite advanced over the years, but it was still lacking in some key areas. Compendium answers the call. The cor..

DDO Character Planner

Hey Peeps, I have been developing a DDO character planner for some time now and it has reached a stage where I would like the community to start to provide feedback and ideally some bug reports. It is currently an early Alpha release on offer for ..

Barbarian Tank build??

I'm playing around on my competition from 2 years ago and with all the gear upgrades and items i'm currently baffled on the gear to get too many options out there and wanted to see what y'all recommend... Ok my build is Barbarian my goal for this bui..

The "MT OLYMPUS" Build

"Mt OLYMPUS" Build 10 Paladin / 8 Fighter / 2 Warlock [2 Handed Weapon DPS PDK Pally] ------------------------------------------------------------------------------------------- ( +2 +1 +3 +1 +1 +1 ) L1 - Pu..

The "GAS GIANT" Build

The "GAS GIANT" Build -------------------------------------------------------------------------------------------- 10 Druid / 7 Warlock / 3 Fighter [Huge HP Bear Tank, Warlock Aura Blaster] --------------------------------------------------------..

Barbarian Build?

I just returned back to the game after 3 years. I need some Advice on the build as well as gear to get. I m currently a Barbarian lvl 28 TR from Human Fighter . Looking to go DPS but want survivalbity as well..

DDO Quest Sheet (full list)

Note: This is hosted on Google Sheets. You will need to copy it to your own account for full functionality. Hi all, Been using this myself for some time, saw a request for a quest list so thought I'd share. There are 2 tabs, Heroic and Epic, use t..

20-30 Fastest level guide

So I know that people who power game and never see the sun etc. etc., can do a TR in 3 days and all this. But I've noticed a large number of players, not people I'd call elitists by any means, can crunch through the epic levels pretty quickly. What i..

Riding the Storm Out - Spoiler Warning

Warning: Spoilers! Credits to my guildies Tone, Tes, Eth and all the others who helped with feedback. This is just a refreshed guide that we had from Lamannia. Hope you all enjoy it and help you understand the raid better! And off course, many thanks..

The Max Anything At All Levels Reference Guide (DCs, Skills, PRR, HP, etc.)

-----THINGS I WOULD LIKE TO KNOW WHICH IS WHY THEY'RE AT THE TOP (SCREENSHOTS/LINKS REQUIRED)-----Does +4 Insightful DC item exist for Necromancy, Transmutation, and/or Illusion? Do +8 Insightful stat items actually exist? I heard they do, but I hav..

Iconic TR Question

So I plan on using Iconics for a bit to get a few heroic past lives out of the way. So you still have to take the majority of your levels in the heroics past life you want or do you get to "pick" one during the iconic TR Process. Thanks...

Tips for Healing

I've been playing a healer quite a bit for years now, and decided I'd post some of my tips and insights. I'll try and separate this out into several titles, that way it's easy to tell different sections apart...

Charater TR Data Spreadsheet

After 100+ TR ETR ITR on multiple toons I finally lost my tomes on one.... I created this online spreadsheet to track what each of my toons has acquired. While some of it may not be as important to everyone it gave me the ability to quickly see what ..

(Excel Sheet) EPICS - 1st time completions bonus XP tracker

I've been playing multiple toons for a long time now and sometimes it is a headache to keep track of quest completions. More importantly... 1st time completion bonus XP! Here is a simple Google Doc - Excel sheet - to keep track of your 1st time com..

Dungeons & Dragons Online
Dungeons & Dragons Online is a massively multiplayer online role-playing game developed by Turbine, Inc.