Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-29-2008, 03:38 AM
narcberry
Sarnak
 
Join Date: Mar 2005
Location: Idaho, USA
Posts: 94
Default Damage Caps.

I've noticed there are damage caps at low levels, like live. I'm unsure if this is new, but I have two problems with this.

1) The caps are calculated correctly, but average swing damages are not. If my swing should be doing 45/60 (average/max) damage then after the cap is applied, it should be doing something like 19/20. However, what the cap does is convert x/60 into 10/20. All the uberest of uber weapons at low levels will do 20 dmg cap and 10 on average. So this is not accurate with live.

2) I want to remove this cap. Is there a setting/variable or will I need to remove code?
__________________
Thanks for answering my questions.
My Website
Reply With Quote
  #2  
Old 01-29-2008, 04:35 AM
narcberry
Sarnak
 
Join Date: Mar 2005
Location: Idaho, USA
Posts: 94
Default

Found it here:

zone/attack.cpp:936
Code:
                if(GetLevel() < 10 && max_hit > 20)
                        max_hit = 20;
                else if(GetLevel() < 20 && max_hit > 40)
                        max_hit = 40;
__________________
Thanks for answering my questions.
My Website
Reply With Quote
  #3  
Old 01-29-2008, 05:00 AM
narcberry
Sarnak
 
Join Date: Mar 2005
Location: Idaho, USA
Posts: 94
Default

I think the calc is wrong because the level max dmg calculation is done too early. The average hit is based on the min and max, and reducing the max to 20 before the average is calculated yields an avg hit of 10. The level cap on dmg should not apply directly to the max damage but should be forced on the damage after the damage calculation is done with the higher numbers. ie, somewhere around line 1533 if I'm understanding the code right. This way the damage is calculated with a higher max damage, resulting in a higher average damage which is then forced to a max of 20 or 40. This would bring the numbers to the 19/20 scenario in the op.
__________________
Thanks for answering my questions.
My Website
Reply With Quote
  #4  
Old 01-29-2008, 05:10 AM
narcberry
Sarnak
 
Join Date: Mar 2005
Location: Idaho, USA
Posts: 94
Default

This should fix the level caps affecting avg damages at low level:

Code:
936,940d935
<               if(GetLevel() < 10 && max_hit > 20)
<                       max_hit = 20;
<               else if(GetLevel() < 20 && max_hit > 40)
<                       max_hit = 40;
<
1532a1528,1533
>
>               //Narcberry: moved the damage caps to keep them from affecting average damages
>                 if(GetLevel() < 10 && damage > 20)
>                       damage = 20;
>                 else if(GetLevel() < 20 && damage > 40)
>                      damage = 40;
__________________
Thanks for answering my questions.
My Website
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:33 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3