WoTMUD Archives

A player-run forum for the Wheel of Time MUD
It is currently Fri Apr 19, 2019 2:47 am

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 9 posts ] 
Author Message
 Post subject: request: damage formula
PostPosted: Fri Mar 17, 2017 9:08 am 
Offline

Joined: Fri Mar 17, 2017 9:02 am
Posts: 7
Hey,
could one of you write an easy to understand damage formula that can be used at anydice?
With the base numbers from hress raw data it should be doable i think?
Please add things for str/ward/riding/master etc

Thank you. And just for the record, the studies you guys do is pure awesomeness


Top
 Profile  
 
PostPosted: Fri Mar 17, 2017 12:37 pm 
Offline
Site Admin

Joined: Mon May 07, 2012 8:55 pm
Posts: 19
I'll try to summarize, though much more of this is Hress's work than mine so he may have some corrections or a better way to show this (very likely).

xdy - base damage of a weapon rolls x number of dice, each die has y number of sides, so 3d4 rolls 3 4-sided dice.
Hands - 1.5-handed weapons add 1 die roll if wielded 2-handed, so a 1.5-hand weapon with 3d4 dmg becomes 4d4 wielded 2-handed.
Ride - Spears and lance weapons add 1 die roll if mounted, same as above. Does not stack with 2-hand bonus above.
Class - Hunters gain a 50% dmg bonus vs Tree-type mobs, so dmg output (subject to any bonus above) is multiplied by 1.5 rounded down.
Hone - Honed weapons add 2d4 to dmg output
Master - Masters add 2d5 dmg to output
Str - Chars with 15 Str or above add a bonus equal to 2dx-8, where x = Str-10. Only resultant values >0 are added to dmg.

Str bonus addition formula (enter below on first line of anydice)

function: above NUMBER:n{
if NUMBER < 0 { result: 0 }
result: NUMBER
}

Examples
Code:
Normal:

output xdy

Code:
Mounted w/ Spear/lance:

output (x+1)dy

Code:
1.5-h weapon wielded 2-handed:

output (x+1)dy

Code:
Hunter vs Tree:

output 3*(xdy)/2

Code:
Honed:

output xdy + 2d4

Code:
Master:

output xdy + 2d5

Code:
Str > 14:

function: above NUMBER:n{
if NUMBER < 0 { result: 0 }
result: NUMBER
}

output xdy + [above xd(Str-10) -8]

Code:
19-Str Master Hunter vs Tree, 4d7 honed spear, mounted:

function: above NUMBER:n{
if NUMBER < 0 { result: 0 }
result: NUMBER
}

output 3*(5d7)/2 + 2d4 + 2d5 + [above 2d9-8]


I suppose my next job is to add this to the EQ Trainer...


Top
 Profile  
 
PostPosted: Fri Mar 17, 2017 3:03 pm 
Offline

Joined: Fri Mar 17, 2017 9:02 am
Posts: 7
adding to eq trainer would be great, but seems like helluva job

Can you paste in the function etc, or just the output things?


Top
 Profile  
 
PostPosted: Fri Mar 17, 2017 3:05 pm 
Offline

Joined: Fri Mar 17, 2017 9:02 am
Posts: 7
nvm, i figured out you could. Hmm, i just struggle to understand the function bit and why you put above in front of some of the calculations


Top
 Profile  
 
PostPosted: Fri Mar 17, 2017 3:14 pm 
Offline

Joined: Fri Mar 17, 2017 9:02 am
Posts: 7
so:

function: above NUMBER:n{
if NUMBER < 0 { result: 0 }
result: NUMBER
}

output 6d6 + 2d4 + [above 2d9-8]

is what i get for a 19 str warrior with a wickedly. I think i got it, and its pretty fun :)


Top
 Profile  
 
PostPosted: Fri Mar 17, 2017 3:20 pm 
Offline

Joined: Fri Mar 17, 2017 9:02 am
Posts: 7
assuming thats the correct way to do it, how do bodyparts and % hits figure into the calculation, as well as abs mitigation


Top
 Profile  
 
PostPosted: Fri Mar 17, 2017 3:25 pm 
Offline
Site Admin

Joined: Mon May 07, 2012 8:55 pm
Posts: 19
Sorry if I did not explain it so well. Technically, you can keep that "above" function in every time, since the "above" function basically means it will only return some output if it is above a number, 0 in this case.

So a 13-Str char will have some xdy + [above 2d3-8]

2d3-8 always evaluates as negative, so the "above" function just returns 0 every time. a 15-Str char, however, has 2d5-8, which has a 2/25 chance of ouputting 1 and a 1/25 chance of outputting 2.

The example you gave should actually be for a 19-Str warrior with a honed wickedly, btw.


Top
 Profile  
 
PostPosted: Fri Mar 17, 2017 3:45 pm 
Offline
Site Admin

Joined: Mon May 07, 2012 8:55 pm
Posts: 19
Body parts are simple enough. Assuming the melee comparison between OB and Def succeeds for the attacker, a body part is selected from a distribution based on the hit%. So the body will have a 50% chance of taking the hit, and so on for each part.

Abs then comes in. Your total abs% shown on screen is a rounded number corresponding to the sum of each part's hit% multiplied by its absorption%. As an example, if you're wearing just a breastplate that displays "25%", the piece itself absorbs 50% of dmg taken.

Example Steps:
1. Attack succeeds
2. Attacker rolls whatever modified xdy + z from rules previously laid out...let's say he rolls a 9 in this case
3. Body part chosen...chest takes hit, wearing a shining steel breastplate
4. The shiner needs mending, its new abs% of 87% is down to 79%
5. DMG = (1-0.79) * 9 = 1.89
6. At this point, testing hasn't been conducted to see just what sort of rounding occurs, but dmg taken is going to be 1 or 2 (barely tickle)

Warding vs Damage does something similar, though whether it adds to or multiplies the abs% is as yet unknown. Various other forms of attacks ignore abs.


Top
 Profile  
 
PostPosted: Thu Apr 11, 2019 6:57 am 
Offline

Joined: Mon Jan 14, 2019 9:04 am
Posts: 1
adding to eq trainer would be great, but seems like helluva job

Can you paste in the function etc, or just the output things?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group