Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 03-03-2014, 09:50 PM
wtbmacestun
Fire Beetle
 
Join Date: Mar 2010
Posts: 16
Default

The exact line you want to look at in the attack.cpp is 1866. This is under the void npc::attack. The void mod::meleemitigation does nothing to actually mitigate dmg being done. If you want to test this out like we did. Change the min and max to static numbers for all mobs and youll see just that.
Reply With Quote
  #2  
Old 03-03-2014, 09:54 PM
Yummy
Sarnak
 
Join Date: Feb 2014
Posts: 71
Default

Thank you. I will.
Reply With Quote
  #3  
Old 04-17-2014, 06:34 AM
wtbmacestun
Fire Beetle
 
Join Date: Mar 2010
Posts: 16
Default

I recently revised this code a bit if anyone is interested I thought i would share.

Code:
if(RuleB(Combat, UseIntervalAC)) {
			damage = ((max_dmg+eleBane);
		}
		else {
			damage = MakeRandomInt((min_dmg+eleBane) - (otherac * acdiv/100.0f),(max_dmg+eleBane) - (otherac * acdiv/100.0f));
		}		

		//check if we're hitting above our max or below it.
		if((min_dmg+eleBane) != 0 && damage < (min_dmg+eleBane)) {
			mlog(COMBAT__DAMAGE, "Damage (%d) is below min (%d). Setting to min.", damage, (min_dmg+eleBane));
			damage = ((min_dmg+eleBane) - (otherac * acdiv/100.0f));
		}
		if((max_dmg+eleBane) != 0 && damage > (max_dmg+eleBane)) {
			mlog(COMBAT__DAMAGE, "Damage (%d) is above max (%d). Setting to max.", damage, (max_dmg+eleBane));
			damage = (max_dmg+eleBane);
		}
NOTE: This code makes it so that if a mob rolls max hit it would land and anything below max hit would be mitigated. Now for raid targets since they are multiple levels
above the tank they would hit for max like normal keeping the dmg high and the encounters hard. But for none raid targets as long as they arent red it would allow
ac to do what it needs to do to.

What this does is take a % of your ac and reduces each hit by that percent. So if you have it set at 2 it would be dmg = max dmg - the persons ac who is being hit * 2/100

or for example

dmg=20-100*2/100
dmg=20-200/100
dmg=20-2
dmg=18
Reply With Quote
  #4  
Old 04-17-2014, 09:00 AM
moofta
Sarnak
 
Join Date: Jan 2014
Location: United Kingdom
Posts: 53
Default

Some interesting points on AC from a Sony dev in this post http://www.eqemulator.org/forums/sho...624#post229624

I realise it doesn't cover all of the different checks in combat, but I though it pertinent to this discussion.
Reply With Quote
  #5  
Old 05-01-2014, 01:43 PM
wtbmacestun
Fire Beetle
 
Join Date: Mar 2010
Posts: 16
Default

Yes, that is good information. Thank you.
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 01:55 PM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3