Mob damage

A place where you can talk about anything Dawn of Light or DAOC related

Moderators: Project Admin, Support Team

Mob damage

Postby Tolakram » Thu Jul 27, 2006 4:04 am

EDIT:

THIS IS BUNK!

Level 45 mobs are hitting way way too hard with this formula. Not sure where I went wrong, but this post is total nonsense. Please ignore :)

-------------------------------------------------


snip, just leaving DAOC logs

Some limited logs taken from chat_buffer.tmp

17,You hit the drakoran plunderer for 66 damage!
30,The drakoran plunderer attacks you and misses!
29,The drakoran plunderer hits your torso for 66 (-2) damage!
29,The drakoran plunderer hits your head for 60 (-2) damage!
30,The drakoran plunderer attacks you and misses!
29,The drakoran plunderer hits your leg for 78 (-2) damage!
0,You prepare to sprint!
29,The drakoran plunderer hits your torso for 65 (-2) damage!
28,The forces of Hibernia have captured Hlidskialf Faste Spire!
29,The drakoran plunderer hits your leg for 59 (-2) damage!
29,The drakoran plunderer hits your arm for 64 (-2) damage!
21,Furt was just killed by a drakoran plunderer!
21,You have died. Type /release to return to your last bind point.

0,Your Rejuvenation skill has decreased.
29,The giant rooter hits your torso for 159 damage!
29,The giant rooter hits your torso for 159 damage!
29,The giant rooter hits your torso for 159 damage!
0,You prepare to sprint!
29,The giant rooter hits your leg for 159 damage!
30,The giant rooter attacks you and misses!
29,The giant rooter hits your head for 159 damage!
21,Greyfred was just killed by a giant rooter!
21,You have died. Type /release to return to your last bind point.
21,You lost some experience!
Last edited by Tolakram on Tue Aug 01, 2006 5:10 pm, edited 2 times in total.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Postby nor » Sat Jul 29, 2006 8:22 am

The first problem I see with your test is that giant rooter's damage is capped, which makes it less usefull. Also, I highly suggest that you use char's with the same level as mob's level, to avoid con factor for now (at least keep it about the same in all tests); more tests should be done to make a decent guess about the way con influence final damage.

Then there's another thing - weapon speed - which should be equal to be able to directly compare live and dol damage, else DPS should be used.

I still have mob damage cap tests, made couple years ago. Main idea here is that damage cap is 3 times higher than "normal" damage. Can get approximate DPS from those numbers. It is supposed to be a base for further tests, a constant that never changes. This guess can be wrong of course, then we need another base well known factor.

Hope it helps if someone is willing to improve mob's damage - find missing factors and fix currently wrong factors - based on tests. Although have to dream a bit first to make a proper test, I know how tiresome it can be.

dmgCap=spd*dps*3*(1+(spd-2)*0.03)
dps=(100/3)*dmgCap/(spd*(94+3*spd))

SPD is taken from some mobs page, or calculalted from logs in some cases.
Attachments
mob-caps.zip
Open in excel or copy/paste anywhere. Can also replace ';' with tabs or anything.
(1.09 KiB) Downloaded 38 times
nor
Inactive Staff Member
 
Posts: 1584
Joined: Wed Mar 03, 2004 3:56 am

Postby Tolakram » Sat Jul 29, 2006 5:30 pm

edit - see post below, my original idea was incorrect
Last edited by Tolakram on Wed Aug 02, 2006 12:08 am, edited 1 time in total.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Postby opik » Sat Jul 29, 2006 5:59 pm

I see why you think the rooter damage was capped. I was curious as to why it was the same value every time. Can damage cap on same con mobs if the player isn't wearing any armor?
it can. but i think only on special mobs. nearly every mob doesn't
make cap damage the hole time - even if you wear armor
edit: the mob has to have the same level of course ;)
opik
DOL Novice
 
Posts: 57
Joined: Sat Jul 29, 2006 5:20 pm
Location: Germany

Postby Tolakram » Mon Jul 31, 2006 1:13 am

FYI

I edited the original post. My formula is horribly wrong, as nor suspected. level 45 mobs are killing me in 4 hits. If I change the divisor to where 45 mobs hit right then level 15-35 mobs don't hit hard enough.

So I'm still clueless at so what is wrong, all I know is unmodified level 45 mobs hit me for 35 damage, depending on speed, but these were lesser telemons swinging at average speed.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Postby Tolakram » Mon Jul 31, 2006 11:28 pm

Ok, let's do some math and some comparisons.


First off I'm taking 5 example mobs from nor's damage cap spreadsheet:
Code: Select all
name level damage-cap spd dps dol-dps

boulderling 10 56 4.1 4.28 4.27
giant ant 25 138 3.8 11.49 11.33
black badger 37 217 3.6 19.17 18.82
daughter of medb 44 281 3.5 25.61 23.96
levian 60 459 3.8 38.20 37.79
In the DOL code the equation for damage is

double damage = (1.0 + Level / 3.7 + Level * Level / 175.0) * AttackSpeed(weapon) * 0.001;

Mob weapon speed (in DOL) is always 3400, so for each of those mobs the calculated damage is:
Code: Select all
Attack Damage:

(10)bouldering: 5.7
(25)giant ant: 19.8
(37)black badger: 37.5
(44)daughter of medb: 50.5
(60)levian: 87.2
Those numbers are horribly low in my opinion (no suprise).

Now, we also have the DPS equation for a weapon of a specific level and speed, so let's say the mob is a weapon of the mobs level with a fixed speed of 3.4 (3400).

DPS = (item.Level * 0.3) + 1.2);
Code: Select all
Attack DPS

(10)bouldering: 4.2
(25)giant ant: 8.7
(37)black badger: 12.3
(44)daughter of medb: 14.4
(60)levian: 19.2
ok, so if we know the DOL mob swings every 3.4 seconds, and we know the DPS for the mob we should be able to calculate the damage per swing.

First, weapon damage should be simply Weapon DPS * weapon speed.
Code: Select all
Attack Damage

(10)bouldering: 14.3
(25)giant ant: 29.6
(37)black badger: 41.8
(44)daughter of medb: 48.5
(60)levian: 65.3
It's worse than DOL!

The damage cap for a weapon is defined as follows:


Damage Cap = DPS * SPD * 3 * (1 + (SPD
Last edited by Tolakram on Tue Aug 01, 2006 4:27 am, edited 16 times in total.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Postby erevlydeux » Tue Aug 01, 2006 1:04 am

Why not just calculate the equivalent DPS as if the mob were using weapons made for that level (like a level 50 gets 16.5 dps weapons because they are yellow and a lvl 35 gets 12.5 dps weapons or whatever) and then multiply it up or down by the con of the mob to the player. You could assign point values to each increasing con "tier", which should multiply the damage according. Since anything grey/purple would be effectively capped that way, you could then factor in the level itself, using something like a quadratic equation (a curve that slopes upwards) which would give considerably more damage as the level goes up, rather than a linear addition. Those values could then be subtracted for "negative" con mobs.

That, as far as I can forsee without actually doing all the little math, would provide fairly high damages for higher level mobs, fairly even damage for similar con mobs, and low damage for lower level mobs. The methodology in itself is pretty flexible since you define the point-to-con values and the quadratic equation for level additions.

EDIT: figured I'd give a little example.

Level 50 mob - Roger

Roger has a 16.5 dps slasher, wee! He swings at 3.4 seconds, per DOL's static speed value.

Roger has an effective 56.1 damage per second.

We pit Roger against our lovely level 35 Berserker, Tobz.

Roger is purple to Tobz, which means he is 3 levels above him (yellow is 0, orange is 1, red is 2, purple is 3)

So, Roger should off the bat do 3x more damage.

Roger now has an effective 168.3 damage per second.

Now, for our damage-to-level curve, I've included the formula notes from CL when I implemented this kind of damage curve fitting.

// For quadratic drop-off: we define our formula as f(x) = V - Ax
Last edited by erevlydeux on Tue Aug 01, 2006 2:16 am, edited 1 time in total.
CamelLight Developer
Currently working on CL 3.0, a completely rewritten DAOC emulator

DOL/CL Know-It-Most 8)
erevlydeux
DOL Follower
 
Posts: 475
Joined: Mon Jan 10, 2005 12:58 am
ICQ: 307566082
Location: Rhode Island, United States

Postby Tolakram » Tue Aug 01, 2006 1:28 am

Hey,

I'm not done editing my post :p


While I was concerned with mob damage based on con levels I first want to fix damage when levels are the same.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Postby opik » Tue Aug 01, 2006 1:51 pm

Here are my logs.
If you need more or if you need a better translation just post here :)

edit: ahhh the armor had a EXTRA 5 % absorption-bonus for pvm
Attachments
logs.rar
(360.74 KiB) Downloaded 21 times
opik
DOL Novice
 
Posts: 57
Joined: Sat Jul 29, 2006 5:20 pm
Location: Germany

Postby Tolakram » Tue Aug 01, 2006 7:50 pm

Thanks opic, I'll take a look when I get the chance.

rej posted in another thread:
If you buff a pet (necro pet for example) and let a mob beat it, it gets hit for much lower damage than without buffs (AF+Cons buffs).

This is also tested on my necromancer, a fullbuffed pet with Spec AF, Con, Str/Con buff lowers mob damage by 30, so a red pet which would do around 60-80 damage now only takes 30-40 damage max.

There is a rumor also that each buff other than AF, Con will raise the absorb of the pet also, but im unsure about this.
That's all well and good, but I don't see how it has anything to do with mob armor and or damage. Where mobs are concerned, and these are mobs not owned or buffed by a player, absorb and damage should be constant for each level. There are a very few exceptions (mobs that style and or proc some sort of damage) but generally a level xx mob will have a predictable dps and you hitting a mob will have a predictable result after factoring in the various resists.

If you look at my logs above you'll notice that DOL mobs all assume a fixed ABS of 27% and an AF that scales as expected with level. IMO DOL is working exactly as it should except for a few wacky calculations that need to be fixed.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Postby Tolakram » Wed Aug 02, 2006 12:22 am

Ok, now I'm looking at mob stats.

The attribute stat calculator is stat calculator.cs and inside it has the following code for adjusting mob strength:
Code: Select all
//str for mobs
int statBase = 50;
if (property == eProperty.Strength)
{
statBase += living.Level*3 + (living.Level*3*living.Level/50);
}
else //TODO: other stats
{
}
return (int)((statBase +
+living.BuffBonusCategory1[(int)property]
+living.BuffBonusCategory2[(int)property]
-living.BuffBonusCategory3[(int)property]
+living.BuffBonusCategory4[(int)property])
*living.BuffBonusMultCategory1.Get((int)property));
In my opinion mob stats should mimic tank stats, and should start out at a reasonable value.

statbase, in my opinion, should be around 70, and then the stat should increase at 1 point per level.

So my equation is going to be:

int iStatBase = 70;
if (property == eProperty.Strength)
{
statBase += living.Level;
}
else //TODO: other stats
{
}


I'm also going to change the weapon skill calculation so that it mimics a players weaponskill.

public virtual double GetWeaponSkill(InventoryItem weapon)
{
const double dBaseWeaponSkill = 400;

return (Level * dBaseWeaponSkill * 0.02 * (1 + (GetWeaponStat(weapon) - 50) * 0.005));
}


With these changes in place, and the previous changes I made to calculate a mobs weapon spec, mobs should have damage potential equal to an average player without buffs and item bonuses.

I'll be logging the numbers and posting them as soon as I get the chance.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Postby rej » Wed Aug 02, 2006 5:56 am

Thanks opic, I'll take a look when I get the chance.

rej posted in another thread:
If you buff a pet (necro pet for example) and let a mob beat it, it gets hit for much lower damage than without buffs (AF+Cons buffs).

This is also tested on my necromancer, a fullbuffed pet with Spec AF, Con, Str/Con buff lowers mob damage by 30, so a red pet which would do around 60-80 damage now only takes 30-40 damage max.

There is a rumor also that each buff other than AF, Con will raise the absorb of the pet also, but im unsure about this.
That's all well and good, but I don't see how it has anything to do with mob armor and or damage. Where mobs are concerned, and these are mobs not owned or buffed by a player, absorb and damage should be constant for each level. There are a very few exceptions (mobs that style and or proc some sort of damage) but generally a level xx mob will have a predictable dps and you hitting a mob will have a predictable result after factoring in the various resists.

If you look at my logs above you'll notice that DOL mobs all assume a fixed ABS of 27% and an AF that scales as expected with level. IMO DOL is working exactly as it should except for a few wacky calculations that need to be fixed.
Well there are mobs which buff themselves and thus hit much harder and take less damage (notice, they dont get more hp with con buffs, their abs raises.)
Instant PvP: RIP '2005
new project coming soon.
User avatar
rej
DOL Experienced
 
Posts: 188
Joined: Tue Jan 18, 2005 10:34 am
Website: http://www.netzdesigner.net

Postby opik » Wed Aug 02, 2006 1:43 pm

Thanks opic, I'll take a look when I get the chance.

rej posted in another thread:
If you buff a pet (necro pet for example) and let a mob beat it, it gets hit for much lower damage than without buffs (AF+Cons buffs).

This is also tested on my necromancer, a fullbuffed pet with Spec AF, Con, Str/Con buff lowers mob damage by 30, so a red pet which would do around 60-80 damage now only takes 30-40 damage max.

There is a rumor also that each buff other than AF, Con will raise the absorb of the pet also, but im unsure about this.
That's all well and good, but I don't see how it has anything to do with mob armor and or damage. Where mobs are concerned, and these are mobs not owned or buffed by a player, absorb and damage should be constant for each level. There are a very few exceptions (mobs that style and or proc some sort of damage) but generally a level xx mob will have a predictable dps and you hitting a mob will have a predictable result after factoring in the various resists.

If you look at my logs above you'll notice that DOL mobs all assume a fixed ABS of 27% and an AF that scales as expected with level. IMO DOL is working exactly as it should except for a few wacky calculations that need to be fixed.
Well there are mobs which buff themselves and thus hit much harder and take less damage (notice, they dont get more hp with con buffs, their abs raises.)
it's the same as when I'm playing and buffing my pet sm ;)
opik
DOL Novice
 
Posts: 57
Joined: Sat Jul 29, 2006 5:20 pm
Location: Germany

Postby nor » Sat Aug 05, 2006 9:15 pm

Always nice to see long, argumented and detailed replys.
In DOL the damage increase from WeaponSkill is calculated as

damage *= (GetWeaponSkill(weapon) + 90.68) / (ad.Target.GetArmorAF(ad.ArmorHitLocation) + 20*4.67);


.. where in the world do all these magic numbers come from? 90.68 and 93.4 (20*4.67) ??? anyway ...
That is the best fit based on tons of tests on level 5, 20, 40 and 50. The main goal was to find complete damage model and it works well. Constants still can be fine-tuned using more specific tests. Probably can get even better results from old data exploiting the now-known model.


Another very usefull tool to explore damage is max/min damage ratio.

Based on this assumption:
Code: Select all
varianceMin = 75 + (weaponSpec-1)/(level+1)*50
varianceMax = varianceMin + 50
dmgMax/dmgMin = varianceMax/varianceMin
We get this:
Code: Select all
weaponSpec =
(3*dmgMax*level + dmgMax - 5*dmgMin*level - 3*dmgMin)/
(dmgMax-dmgMin)/
-2

Then I used logs from this test:
http://www.silicondragon.com/Gaming/DAo ... ocking.htm
(links are broken but I'll attach them for those interested)

There's a message "You are surrounded by a protective aura!" after which damage is much lower, simply exluded those numbers.

This is what I get:
Code: Select all
mob:
level = 50 (not in the log, but doesn't really matter - has no influence with spec 0)
minDmg = 71 (with resisted damage added back)
maxDmg = 120 (with resisted damage added back)
spec = 0
spd = 3.3
dps = 29

player:
af = 102
abs = 27%
resist = 0%
In this model mobs' spec is fixed 0, else variance is wrong. Two unknown variables left:
- WS base
- stat

If I assume that defender had spec af buff (55*1.25) then WS base 400 and stat 250 fits, more or less. Stat can be 50+level*4.

If it is also "ok" for other levels (including naked level 1) then we can use it.

Can get even better results if someone knows other tests with mob attacker and more details about defender. Maybe necro pets are well tested.
Attachments
Test_Dex_Minstrel_Blocking_logs.zip
Minstrel block chance test logs
(25.04 KiB) Downloaded 16 times
nor
Inactive Staff Member
 
Posts: 1584
Joined: Wed Mar 03, 2004 3:56 am

Postby Tolakram » Sun Aug 06, 2006 1:31 pm

Hi nor.
if I assume that defender had spec af buff (55*1.25) then WS base 400 and stat 250 fits, more or less. Stat can be 50+level*4.

If it is also "ok" for other levels (including naked level 1) then we can use it.
Why was weaponskill for mobs set so low, instead of 400? There's a comment that it should not be 400, but no explanation.

const double bs = 128.0 / 50.0; // base factor (not 400)


I have gone back to the original DOL equations for everything except weaponskill, but I haven;t had time to test it yet. My DPS equations did not work at all, mob damage at the lower levels was too high.

So basically I've taken all this time to prove that the equations in DOL where pretty much correct! :)

Now' it's down to:

What should WS base be. I say 400.
Should the mob have a style skill, which I am setting to be 2/3 mob level.
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA


Return to “%s” General

Who is online

Users browsing this forum: No registered users and 0 guests