EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Ac? (https://www.eqemulator.org/forums/showthread.php?t=24391)

valcree 02-13-2008 02:18 AM

Ac?
 
I was playing around with my parser last night and ac didn't seem to be making any difference no matter how high I upped the ac of the char I was using.

I was just poking around a bit in zone/attack.cpp Mob::MeleeMitigation and I found this.

int acfail=1000;
char tmp[10];

if (database.GetVariable("ACfail", tmp, 9)) {
acfail = (int) (atof(tmp) * 100);
if (acfail>100) acfail=100;
}

if (acfail<=0 || rand%101>acfail) {
..reduces damage according to the ac of whoever is being hit and whateva acrandom is set to....
}

So if I'm reading that right no matter what ACFail is set to in the database the AC check has a 99% chance to fail, and damage will almost always be applied as if the mob/char being hit is not weiring any armor. Of course that section of code may not be being used, or I could just be off my head. Anyways, I've changed mine. Just thought you might wanna take a look...?

cavedude 02-13-2008 03:48 AM

The AC variables are NOT used if the rule Combat:UseIntervalAC is set to true. By default, if the rule is not set, that value is false. I recommend using that system as it is newer and works very well. Changing AC makes a huge difference, just ask the players on TGC ;)

valcree 02-13-2008 04:12 AM

Thanks a ton cavedude! I'll get that rule added, and check out ac with the new method.

By the way, I tested the fix of the old system. Kinda pointless I know, but it seem to work just fine once I quit multiplying acfail by 100.

acfail = (int) (atof(tmp) * 100);

Davood 02-13-2008 05:36 AM

to confirm.. we should be using useinterval ac set to TRUE for the new system right?

cavedude 02-13-2008 05:50 AM

Yes, that's correct.

ChaosSlayer 02-13-2008 06:46 AM

Quote:

Originally Posted by cavedude (Post 143171)
Yes, that's correct.

I am stil VERY lost of on how the Ac variables affect the final output...
Could you please explain excatly (in as much details as posible) how AC improves combat survival?
And how does 3 Ac variables modify default formulas?
And what excatly is "ac interval"???

Much thanks =)


Oh another thing - with the new system - exctaly HOW the stats affects mobs final damage output? STR? DEX? mindmg, maxdmg?

I been doing test runs around the server and lev 20 mobs were hiting on my lev 200 bard for FULL damage wihout a single miss

cavedude 02-13-2008 06:58 AM

I can't tell you exactly how it works, KLS wrote the system.

Those 3 variables are not used when Combat:UseIntervalAC is set to true. I'm really going to try to free up some time to convert the last remaining variables to rules so we can drop that ancient table. All it does is cause confusion *sigh* With it set to false, odds are the default AC system is broken anyway.

IntervalAC is just the name of the current AC system.

Using a level 200 toon is an unfair test really, as that is WAY higher than what even Live EQ supports. The results can be unexpected. However did you remember to set your skills? If your defense is 0, for example they're going to whack you, and whack you hard regardless of anything else. Likewise, if your skills are too high (level 1 player with 400 skills) you're going to be hitting for full every time.


All times are GMT -4. The time now is 04:32 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.