EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Warriors/Zerkers cripping too much(almost always) (https://www.eqemulator.org/forums/showthread.php?t=35777)

Irreverent 09-20-2012 10:50 PM

Warriors/Zerkers cripping too much(almost always)
 
Something in the code, I think, is causing the zerks/warriors to crip most if not all of the time.

I have looked at the rules, but any zerks/warriors with cleave5 and AAs seem to be doing it too much.

But, regardless of rules...warriors/zerks shouldn't be able to do crips unless under 30% health right?(or aa)

Irreverent 09-20-2012 10:53 PM

also of note, any class with high enough cleave can land crips at anytime.

Kayen 09-21-2012 01:33 AM

I fixed up this code not to long ago when revising critical hit function so I will explain how it works.

- Under 30% for warriors and berserker critical hits are automatically converted to crippling blows.

- If you have any +CripplingBlowChance modifiers item/spell/aa, you are given an innate chance to crippling blow from critical hits.

The percent value of the effect is applied to the your Chance to Critical. (ie You have 10% chance to critical and you have a 200% Chance to Critical Blow effect, therefore you have a 20% Chance to Critical Blow from a critical hit.

This has been implemented for a while now, if there was really a problem it would have shown up on PEQ.

However, the one problem I do see is for some reason it appears to be doubling your crippling blow chance from mods. So if you must have some custom effects with relatively higher crippling blow chance, and high critical hit chance then you would be seeing a lot of cripples.

Code:

sint16 Mob::GetCrippBlowChance()
{
        int crip_chance = 0;

        crip_chance += this->itembonuses.CrippBlowChance + this->spellbonuses.CrippBlowChance +
                                        this->itembonuses.CrippBlowChance + this->spellbonuses.CrippBlowChance;
       
        if(IsClient())
                crip_chance += this->aabonuses.CrippBlowChance + this->aabonuses.CrippBlowChance;
                                       
        if(crip_chance < 0)
                crip_chance = 0;

        return crip_chance;
}

Anyways that is the story. Find out what crippling blow mod your character has and that might help solve why its so high.

Irreverent 09-21-2012 08:03 AM

This actually appeared last weekend with the update/patch to all of the AAs and the way they work. So I'm guessing it was a change to the AA system.

If no one else it getting the issue, the obviously its something I did or didn't do. I do use the CVS for the DB, so it clears/reloads the AAs so I would assume it would of been fine.

But its not.

Any hints on where to start?

lerxst2112 09-21-2012 08:15 AM

I would add some logging in the Mob::TryCriticalHit function so you can see what the numbers look like and go from there. There are some rules that affect the chance as well as the different bonuses. If you logged them out you could see which seem out of whack.

Kayen 09-21-2012 08:54 AM

There are actually no AA that use SE_CrippBlowChance in the dbase.

I would check your aa_effects table, see if there are any entries that use effectid 171.

Otherwise the only way your players are getting this is via a spell or item effect.

There are very few live spells with this, all are short duration discs.

Perhaps you have a custom one.

Irreverent 09-22-2012 03:07 PM

None have 171 as an effect id.

I also created a ranger, put to 70, basic weapons, and then added an item with cleave 5 and the ranger would even crippling blow.

no spells on, just aa's.

Perhaps for some reason cleave5 is adding to crit + crip chance? and not just crit?

Kayen 09-23-2012 07:45 AM

Found the issue.

Was basically just a syntax issue missing a break statement in the bonus code, causing crippling blow bonus to get a value even if you had no crippling blow bonus. Committing the solution.

Sorry for sending you on a wild goose chase, just didn't have time to properly check this myself.


All times are GMT -4. The time now is 07:50 PM.

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