Dungeons and Dragons Engine/D&D Damage Formulas

From HimeWorks
< Dungeons and Dragons Engine
Revision as of 18:05, 18 February 2016 by Hime (Talk | contribs) (Hime moved page D&D Damage Formulas to Dungeons and Dragons Engine/D&D Damage Formulas)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Dungeons and Dragons Damage Formulas

Dungeons and Dragons is first and foremost a tabletop game. Damage is calculated via dice rolls, with weapons having a range of attack damage rather than a set attack damage. Generally, a weapons damage will read as xdy, with x representing the number of dice to roll and y representing the size of the dice to roll. This can be easily replicated in RMMV with Javascript.

((Math.random() * y) + x)

As with the earlier formula, x represents the dice number and y represents the dice size. A quick note to remember would be that if the dice number is more than 1, make sure you multiply the dice size by x. So if the weapon does 2d4 worth of damage, your y would be 8 and your x would be 2. You can be creative with this formula and gain all sorts of magical bonuses.


Basic Weapon Formulas

Here is a list of all the base weapons from the PHB for 3.5 edition. State 3 refers to a passive state "small" that you can use to denote if the enemy is small or normal sized. Use Hime's Weapon Damage plugin for these to work. You will also need a Passive States plugin (like the one Yanfly has here.

Gauntlet
a.isStateAffected(3) ? ((Math.random() * 2) + 1) : ((Math.random() * 3) + 1)

Unarmed Strike
a.isStateAffected(3) ? ((Math.random() * 2) + 1) : ((Math.random() * 3) + 1)

Dagger
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Dagger, punching
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Gauntlet, spiked
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Mace, light
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Sickle
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Club
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Mace, heavy
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Morningstar
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

shortspear
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Longspear
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Quarterstaff
a.isStateAffected(3) ? ((Math.random() * 4) + 1) ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1) + ((Math.random() * 6) + 1)

Spear
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Crossbow, heavy
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Crossbow, light
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Dart
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Javelin
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

sling
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Axe, throwing
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Hammer, light
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Handaxe
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Kukri
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Pick, light
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Sap
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Shield, light
a.isStateAffected(3) ? ((Math.random() * 2) + 1) : ((Math.random() * 3) + 1)

Spiked Armor
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Spiked Shield, light
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Sword, short
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Battleaxe
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Flail
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Longsword
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Pick, heavy
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Rapier
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Scimitar
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Shield, Heavy
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Spiked Shield, heavy
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Trident
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Warhammer
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Falchion
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 2)

Glaive
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Greataxe
a.isStateAffected(3) ? ((Math.random() * 10) + 1) : ((Math.random() * 12) + 1)

Greatclub
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Flail, heavy
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Greatsword
a.isStateAffected(3) ? ((Math.random() * 10) + 1) : ((Math.random() * 12) + 2)

Guisarme
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 2)

Halberd
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Lance
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Ranseur
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 2)

Scythe
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 2)

Longbow
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Longbow, Composite
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Shortbow
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Shortbow, composite
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Kama
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Nunchaku
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1) Sai
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Siangham
a.isStateAffected(3) ? ((Math.random() * 4) + 1) : ((Math.random() * 6) + 1)

Sword, Bastard
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Waraxe, Dwarven
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Whip
a.isStateAffected(3) ? ((Math.random() * 2) + 1) : ((Math.random() * 3) + 1)

Axe, orc double
a.isStateAffected(3) ? ((Math.random() * 6) + 1) + ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1) + ((Math.random() * 8) + 1)

Chain, spiked
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 2) Flail, dire
a.isStateAffected(3) ? ((Math.random() * 6) + 1) + ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1) + ((Math.random() * 8) + 1)

Hammer, gnome hooked
a.isStateAffected(3) ? ((Math.random() * 6) + 1) + ((Math.random() * 4) + 1) : ((Math.random() * 8) + 1) + ((Math.random() * 6) + 1) Sword, two bladed
a.isStateAffected(3) ? ((Math.random() * 6) + 1) + ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1) + ((Math.random() * 8) + 1)

Urgrosh, dwarven
a.isStateAffected(3) ? ((Math.random() * 6) + 1) + ((Math.random() * 4) + 1) : ((Math.random() * 8) + 1) + ((Math.random() * 6) + 1)

Bolas
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1)

Crossbow, hand
a.isStateAffected(3) ? ((Math.random() * 3) + 1) : ((Math.random() * 4) + 1) Crossbow, repeating heavy
a.isStateAffected(3) ? ((Math.random() * 8) + 1) : ((Math.random() * 10) + 1)

Crossbow, repeating light
a.isStateAffected(3) ? ((Math.random() * 6) + 1) : ((Math.random() * 8) + 1)

Shuriken
((Math.random() * 2) + 1)