PDA

View Full Version : Proc Chance Code


trevius
10-05-2008, 07:04 PM
EDIT: Created a new thread for the Proc Chance discussion and moved them into this thread

I had a level 71 bard song directly from the EQLive spell list that was supposed to increase the proc rate for bard songs by only 102%, which to me means it should only be making proc rate slightly more than double what it currently is. But, this song was making bards proc almost every swing, which was extremely overpowered. I had to reduce the proc rate setting down to like 5% to get it under control.

Jonthan's Mightful Caretaker BRD/71 1: Increase Attack Speed by 70%
2: Increase All Skills Damage Modifier by 6%
4: Increase ATK by 16 (L71) to 18 (L80)
7: Increase All Skills Minimum Damage Modifier by 204%
8: Increase Proc Modifier by 102%

I can only imagine that instead of multiplying these percentage increases by X amount and then dividing by 100, it is multiplying by X amount and then not dividing at all lol. So instead of evasive increasing avoidance by 50%, it is multiplying it by 50 so you avoid 50X more often, which means you get hit maybe 2% or the time or less. And that is almost exactly what I saw from watching this evasive bug.

Hmm, maybe I can look into the source of it and just add a / 100 to the end of the calculation if I can find it. That may correct many other issues where certain things aren't balanced properly. Though, I imagine AndMetal would probably be better at finding what is going wrong here considering all of his spell and AA work lately. But, if I can find it, I think it should be a simple solution. Of course then I will need to adjust the spell values back to what they were by default to match it up with the new correction.

trevius
10-06-2008, 01:17 AM
This may be where the bard song I mentioned is adding the bonus:
case SE_ProcChance:
{
#ifdef SPELL_EFFECT_SPAM
snprintf(effect_desc, _EDLEN, "Proc Chance: +%+i%%", effect_value);
#endif
// handled with bonuses
break;
}

AndMetal
10-06-2008, 03:51 PM
Here's where it's calculated w/ the bonuses (zone/bonuses.cpp):
around line 857

case SE_ProcChance:
{
//multiplier is to be compatible with item effects
//watching for overflow too
effect_value = effect_value<3000? effect_value * 10 : 30000;
if(newbon->ProcChance < effect_value)
newbon->ProcChance = effect_value;
break;
}


Now, as far as ProcBonus, it ends up being calculated in the attack code also:
zone/attack.cpp, around line 3664 (in Mob::GetProcChances)

ProcBonus += float(itembonuses.ProcChance + spellbonuses.ProcChance) / 1000.0f;

ProcChance = 0.05f + float(mydex) / 9000.0f; //Base chance, based on dex + static chance to proc
ProcBonus += (ProcChance * AABonus) / 100; //AA modifier in addition to normal ProcBonus from items & spells, percentage of base chance?
ProcChance += ProcBonus; //Add the bonuses to the base chance
mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;

So, if we use Jonthan's Mightful Caretaker (http://lucy.allakhazam.com/spell.html?id=11873) as our example, the effect_value is 102, which ends up being 1020. In GetProcChances, we start with 0, then the spell value gets divided to 1.02. When we try the proc in Mob::TryWeaponProc (both with & without augs), also in zone/attack.cpp (around line 3674), we generate a random float between 0 & 1. Since 1.02 is always > anything between 0 & 1, we will proc 100% of the time.

I assume this is supposed to be a multiplier (200% = 2x as likely vs base, etc) instead of a direct mod on the proc chance. We should be able to do something like this:

ProcBonus += float(itembonuses.ProcChance + spellbonuses.ProcChance) / 1000.0f;

ProcChance = 0.05f + float(mydex) / 9000.0f;
ProcBonus += (ProcChance * AABonus) / 100;
ProcChance *= ProcBonus; //Multiplier instead of flat bonus
mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;

If someone wants to try this and/or commit to SVN, feel free (I'm having some issues w/ Visual Studio after the change to zone.vcproj).

EDITED By Trevius: Removed stuff related to another thread

trevius
10-14-2008, 06:05 AM
Ok, I think I have proc chance worked out so it will actually be more in line with how it should be working to add a percentage:

ProcBonus += float(itembonuses.ProcChance + (spellbonuses.ProcChance / 10) + AABonus) / 100.0f;

ProcChance = 0.05f + float(mydex) / 9000.0f;
ProcBonus += (ProcChance * ProcBonus);
ProcChance += ProcBonus;
mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;

Edit: I tried this code and it didn't work lol. Proccing 100%. Back to the drawing board...

trevius
10-14-2008, 07:08 PM
After looking at it further, it looks like much of the code for proc chance/bonus is bad throughout attack.cpp. I think most of the math needs to be rewritten in order to calculate everything properly. As it is, I don't think it is working anywhere near the way it should be. I will go through the code line by line and see if I can figure out exactly what is being done and if I can find a way to do it the right way or at least better than it is handled now.

trevius
10-14-2008, 08:04 PM
Before I go through and do this, I want to see if people agree that I am correct in assuming the following:

itembonuses.ProcChance = The total of +Combat Effects from all equiped items
(So, 3 items each with 5 Combat effect on them would total 15, so that means this is getting 15 as the total, or is there some other math going on somewhere?)

spellbonuses.ProcChance = Supposed to be a percentage increase to base ProcChance that is added to the total.
(So, 100% spellbonus would effectively double your base ProcChance, which means a 10% proc chance is now 20% +other bonuses)

Base ProcChance = .05 + (Dex / 9000)
(So, 380 dex (cap at level 75 with all AAs) would be 0.092 base ProcChance)

AABonus = Number of points * 5
(So, 1 point is 5, 2 is 10, 3 is 15, 4 is 20 and 5 is 25 - Defined in the AA for WeaponAffinity)

If that is all correct, then the way I think it should work is to do"(itembonuses.ProcChance + (spellbonuses.ProcChance / 10) + AABonus) / 100" to equal the total percentage increase.

So, if we have 25 from the AA (+25%), 35 from Combat Effects on items (+35%), and maybe 50 from spellbonuses (50%), our total is 110%. So, we would increase the base ProcChance by another 110%. To do that, we should only need to do ProcChance * ProcBonus and then add that to ProcChance.

The weird part is that sounds correct to me, but that is what I submitted here and it definitely wasn't right:

ProcBonus += float(itembonuses.ProcChance + (spellbonuses.ProcChance / 10) + AABonus) / 100.0f;

ProcChance = 0.05f + float(mydex) / 9000.0f;
ProcBonus += (ProcChance * ProcBonus);
ProcChance += ProcBonus;
mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;

Using the examples I gave above, 380 Dex with 5 points in Weapon Affinity AA, 35 Combat effects from Items and a buff that adds 50% to Proc Chance, our base will be 0.092 and with the 110% (really more like 210%) increase, it would be 0.193. That is like going from procing 1 out of 10 swings (10% of the time) to 1 out of 5 swings (20% of the time).

I think that sounds close to right even though the base ProcChance calculation may be higher than it should be to work properly with this.

Now, I just need to go through the rest of the proc code for augs and items :P

ChaosSlayer
10-14-2008, 08:17 PM
what about proc chance field found on items? arent they supose to increase proc chance of that specific item?

trevius
10-14-2008, 08:20 PM
Ya, that is calculated elsewhere. And they can increase or decrease the proc rates. By setting that field to 100, you are basically making the item not add or subtract anything to/from ProcChance. If you set it to 50, it will proc 50% less, and by setting that field to 200, it will proc 200% more.

ChaosSlayer
10-14-2008, 08:26 PM
what is the default proc chance % btw? and what is exact DEX formula for procs?

bwt do Reactive/Defensive procs allready coded into emu? they were introduced into EQ with DoN expansion

KLS
10-14-2008, 08:44 PM
ProcChance = (ProcChance * ProcBonus / 100); //Multiplier instead of flat bonus

You can't just multiply it by 102 and expect it to work right.

trevius
10-14-2008, 09:53 PM
ProcChance = (ProcChance * ProcBonus / 100); //Multiplier instead of flat bonus

You can't just multiply it by 102 and expect it to work right.

You can if you are then dividing by 100. So, it would take the proc chance and make it 102% of what it was before and then add that amount to the proc chance again to be a total of 202% what it previously was. When we are talking about base ProcChance only being around 0.09 max (at level 75 with all stat AAs), adding 0.10 to that will only make it 0.19, which is still less than 20% of 1.

KLS
10-15-2008, 12:20 AM
I know but the code posted was just multiplying by 102 in that case there was no / 100. Which was the problem. =p

trevius
10-15-2008, 01:05 AM
Shouldn't the "/ 100.0f" be dividing the total bonus by 100 already?

ProcBonus += float(itembonuses.ProcChance + (spellbonuses.ProcChance / 10) + AABonus) / 100.0f;

So, if you get 35 from items, 102 from the spell bonus, and 25 from AAs, it should be 162, then divide by 100 and ProcBonus should be 1.62 which means that the spell bonus part of that should only be 1.02.

LOL, after looking at it again, I think I see what went wrong. It should have been this instead:

ProcBonus += float(itembonuses.ProcChance + (spellbonuses.ProcChance / 10) + AABonus) / 100.0f;

ProcChance = 0.05f + float(mydex) / 9000.0f;
ProcBonus = (ProcChance * ProcBonus);
ProcChance += ProcBonus;
mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;


I had accidentally left the += in here instead of changing it to just = so it will make ProcBonus a percentage of ProcChance to add to ProcChance:
ProcBonus += (ProcChance * ProcBonus);

By using the +=, anything greater than a 100% ProcBonus would make ProcChance 100%, which is bad! It is supposed to just make it do 100% more damage, or basically the same as multiplying ProcChance by 200%. I will try this out and see how it goes.

KLS
10-15-2008, 02:08 AM
Yeah yeah code wasn't in front of me for SE_ProcChance so I didn't see exactly what was going on. The code should work the way you posted.

trevius
10-15-2008, 06:00 AM
I tried it again and it still seemed to proc way too often. I am still not sure what exactly is causing the problem. For now, I just set it to divide the bonuses by 1000 instead of 100 and that actually seems pretty good for proc rates... So, maybe something is factoring in that I am unaware of.

ProcBonus += float(itembonuses.ProcChance + (spellbonuses.ProcChance / 10) + AABonus) / 1000.0f;

ProcChance = 0.05f + float(mydex) / 9000.0f;
ProcBonus *= ProcChance;
ProcChance += ProcBonus;
mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;

The highest spell bonus that I am aware of is from that bard song that adds 102%, and the Weapon Affinity AA can only go to 25. The only thing I am not sure about is the itembonuses for ProcChance.

In mob.cpp
if(itemtmp->CombatEffects != 0)
itembonuses.ProcChance += itemtmp->CombatEffects;

mob.h
//PoP effects:
sint16 StrikeThrough; // PoP: Strike Through %
// sint16 CombatEffects; //AFAIK: Combat Effects == ProcChance
// sint16 Shielding; //AFAIK, Shielding == MeleeMitigation
// sint16 Avoidance; //AFAIK: Avoidance == AvoidMeleeChance
// sint16 Accuracy; //AFAIK: Accuracy == HitChance


Maybe it is getting multiplied somewhere, but on my server I have it capped at 50.

So, doing the math, I think the max possible base percent increase should be + 177% (50 + 102 + 25). And since the max dex on my server is 380 without buffs, and with max buffs it only goes as high as 471, that is only 0.10 (10%) proc rate. So, adding another 177% on top of that should be about 0.28 (28%) proc rate which is slightly more than 1 in 4 hits. With a warrior dual weilding, that would make it almost once per round. Hmm, so maybe the code is working right and just seems too extreme, lol. I think that could quickly be fixed by adjusting the equation for the base proc rate, because that will heavily effect the total with bonuses since they are all multipliers.

Having 5% proc chance before dex is factored seems a bit high to me. Especially when even without AAs on a server with max level 60, you can get to 255 dex which would be about 8% base ProcRate. So, maybe instead of adding 0.05 (5%) in the equation, we could add 0.02(2%) before Dex gets calculated. That would bring a player with 255 dex and no other bonuses up to a 5% proc rate, which sounds about like Live IIRC. Then, once AAs, Combat Effects and Spell Bonuses get factored in, a player with 255 dex would be lucky to break 10%. And even someone with 471 dex on my server couldn't exceed 20% proc rate with every bonus and stat maxed. I know that is still way too high, but only bards could get that high as far as I know. Everyone else would be more in the 10-12% range even with very nice gear, maxed AAs, and buffs.

I will give this a try and see how it seems. Do any other admins have feedback on if proc rates already seem good in the current code or not? I imagine it is hard to tell for sure until you start factoring in alot of bonuses. We could probably set the dex bonus code to be capped or to scale down after it exceeds 255 dex.

trevius
10-15-2008, 07:53 PM
I am going to test this out tonight and see if it gets proc rates more in line with what they should be.

ProcBonus += float(itembonuses.ProcChance + (spellbonuses.ProcChance / 10) + AABonus) / 100.0f;

ProcChance = float(mydex) / 10000.0f;
ProcBonus *= ProcChance;
ProcChance += ProcBonus;
mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;

This will make Dex 100% responsible for calculating proc rate instead of adding an extra base of 5% on top of Dex. For a server with level 60 max, even a character with 255 Dex will still proc 2.55% of the time. Then factor in that dual wielding 2 proc weapons would raise the rate considerably. And adding proc augs to those proc weapons would probably raise it considerably again. And this is before AAs, Spell Bonuses, or Item Bonuses even come into play. Adding all of that stuff in, you would get to very high proc rates quickly.

On live, I think that weapon delay was also factored into proc rates. So, the slower delay you had, the more often you would proc per swing. That is why rampage warriors would get slowed with a high delay weapon before they AE pulled to Rampage. So they would proc nearly every swing. And when using an AE proc and hitting lots of targets at once, you will proc so much and so fast that it kills everything in the AE/Rampage quickly. I think that is something to consider for further expanding the proc rate code.

KLS
10-15-2008, 08:18 PM
I actually added the 5% purposely because people at high end procced decently but people at low end didn't and it didn't seem right. I seriously doubt that's the problem anyway, if you haven't figured it out I'll look at it when I get some time.

trevius
10-15-2008, 08:31 PM
Ya, I vaguely remember something about you making Dex so that it effected proc chance. Probably around the time you were working on Agi helping with mitigation.

So, we could have a base proc chance and it could still be 5, but if so, I don't think we should be adding the dex bonus to that. Maybe we could meet in the middle and lower the base 5% addition down to 4% and reduce the bonuses from Dex by alot. Maybe something like this:

ProcChance = 0.04f + float(mydex) / 20000.0f;

I think that would be much more reasonable for both high and low end.

ChaosSlayer
10-16-2008, 01:06 AM
Ya, I vaguely remember something about you making Dex so that it effected proc chance. Probably around the time you were working on Agi helping with mitigation.

So, we could have a base proc chance and it could still be 5, but if so, I don't think we should be adding the dex bonus to that. Maybe we could meet in the middle and lower the base 5% addition down to 4% and reduce the bonuses from Dex by alot. Maybe something like this:

ProcChance = 0.04f + float(mydex) / 20000.0f;

I think that would be much more reasonable for both high and low end.


umm /20000....

thsi means with each 100 dex my proc improves by what 0.005?
thsi means even with whopping 500 dex, i have only + 0.025 , which basicly +2.5%....

imho the worth of dex in proc should be atleast 4 times as much. (this stat is allreday nearly worthless compared to STR), not to mention IMHO dex should boost To Hit chance

even better put into Rules what is DEX worth =)


PS. Its abotu time we add a Rule to boost people "To Hit chance" I am getting sick of "you have missed" fest -my level 5 ranger only lands like 1 hit out of each 10, and fact that hybrids capped at like 55% chance to hit for LIVE - kind of suck

ALSO, since we have CLient, NPC and warrior base Critical Chance Rule, why nto add same rule for spells critical? For Client (all classes), for mobs, and separatly for Wizards

KLS
10-16-2008, 01:59 AM
I don't see what's wrong with the proc formula we have other than it not calculating bonus effects right of course.

KLS
10-16-2008, 05:59 AM
Ok I went through it and will be uploading some changes. The formula for current procs stays, I feel it offers enough of a % to proc rate that while you wont want to stack dex over str it wont feel like a wasted stat. The 5% lets people leveling up with proccing weapons feel like they aren't worthless.

AA's will no longer LOWER the chance to proc. Bonuses *should* work.

trevius
10-16-2008, 07:52 AM
Don't forget about this:

case SE_ProcChance:
{
//multiplier is to be compatible with item effects
//watching for overflow too
effect_value = effect_value<3000? effect_value * 10 : 30000;
if(newbon->ProcChance < effect_value)
newbon->ProcChance = effect_value;
break;
}

With that multiplying by 10, it makes proc spell bonuses in your equation at 10X more than they should be.

Other than that, it looks to be basically the same as what I was writing. After going over the code again and again, the AA bonus wasn't causing the chance to be less, it was actually just adding 25% of the base procchance to the bonus, which is essentially the same thing that you and I have been writing in different ways. It just looked confusing the way it was before lol.

Combining how you and I wrote it, I think this is about as simple as it can get and it still does the same thing:

attack.cpp
ProcBonus += float(itembonuses.ProcChance + AABonus + (spellbonuses.ProcChance / 10)) / 100.0f;

ProcChance = float(mydex) / 10000.0f;
ProcChance += (ProcChance * ProcBonus);

mlog(COMBAT__PROCS, "Proc chance %.2f (%.2f from bonuses)", ProcChance, ProcBonus);
return ProcChance;

And that also means you would have to set the AABonus code back to this:

switch(CastToClient()->GetAA(aaWeaponAffinity)) {
case 1:
AABonus = 5;
break;
case 2:
AABonus = 10;
break;
case 3:
AABonus = 15;
break;
case 4:
AABonus = 20;
break;
case 5:
AABonus = 25;
break;
}
}

And, really, we could remove the 10 divider for the spellbonuses.ProcChance if we just removed the multiplier in the case SE_ProcChance

zone/bonuses.cpp
case SE_ProcChance:
{
//multiplier is to be compatible with item effects
//watching for overflow too
effect_value = effect_value<3000? effect_value * 10 : 30000;
if(newbon->ProcChance < effect_value)
newbon->ProcChance = effect_value;
break;
}

though, the code you have will work perfectly fine once you get the spell bonus divided by 10 or remove it from the SE_ProcChance.

I do agree that dex is nice to be able to factor into procs so it actually does something. I just think that the base calculations need to be tweaked a little further. Even if their base is only a total of 5% (after dex is calculated), that is still 1 in 20 hits, which should be about 1 in 10 rounds or less after double attack and dual wield (if they have 2 procing weapons) are factored in. IMO, that isn't too bad at all for someone with no AAs, 100ish dex, and no item or spell bonuses. Maybe I should cap Combat Effects down to 25 max instead of 50 on my server. Even still, with the base being set that high, even my players agree that proc rates were way too much once you are geared and have the AAs.

I have run through this equation with different parameters dozens of times now. The base is the only thing that can really be adjusted here. It is really close to being good, but a bit of tweaking would help.

I am currently using this:
ProcChance = 0.04f + float(mydex) / 20000.0f;

And that definitely seems more reasonable in the very high end. It also doesn't make a huge difference in the very low end.

With that base equation, here are some example of what base proc rate would be:

100 Dex = 4.5%
200 Dex = 5%
255 Dex = 5.3%
305 Dex = 5.5%
355 Dex = 5.8%
380 Dex = 5.9% (almost a 50% increase)
471 Dex = 6.4%

And, with your equation:

100 Dex = 6.1%
200 Dex = 7.2%
255 Dex = 7.8%
305 Dex = 8.3%
355 Dex = 8.9%
380 Dex = 9.2%
471 Dex = 10.2% (over a 200% increase)

If you get the AA maxed and only 25 combat effect bonuses, it will jump up 50% higher than that, which means 471 goes to over 15% chance. Then factor in quad attacks with 2 procing weapons and it will be procing every round or 2. Not to mention if the weapon is augmented with a procing aug.

ChaosSlayer
10-16-2008, 01:08 PM
And that definitely seems more reasonable in the very high end. It also doesn't make a huge difference in the very low end.

With that base equation, here are some example of what base proc rate would be:

100 Dex = 4.5%
200 Dex = 5%
255 Dex = 5.3%
305 Dex = 5.5%
355 Dex = 5.8%
380 Dex = 5.9% (almost a 50% increase)
471 Dex = 6.4%

And, with your equation:

100 Dex = 6.1%
200 Dex = 7.2%
255 Dex = 7.8%
305 Dex = 8.3%
355 Dex = 8.9%
380 Dex = 9.2%
471 Dex = 10.2% (over a 200% increase)

If you get the AA maxed and only 25 combat effect bonuses, it will jump up 50% higher than that, which means 471 goes to over 15% chance. Then factor in quad attacks with 2 procing weapons and it will be procing every round or 2. Not to mention if the weapon is augmented with a procing aug.

Trev an IMPORTANT note- on your server from what I know you giving people who hunt in say VP a gear which of Elemental+ level, and peopel who hunt in Elementals get a gear from GoD/Oow and so on.
No wonder your guys have WAY TOO MUCH DEX on their hand :D

On server with +stat progression close to classic/peq getting to 200 DEX is a LONG PATH of seeking out +dex gear. And 300 DEX you won't see untill you hit Elemetal plains.

I had VERY twinked lev 65 Bard on Live during OoW era obssesed over DEX and procs (pre-elemetal flagged)- I was lucky to get even to to 275 DEX

essentialy people bitween 75 and 200 dex range have to build up their dex for 50-60 levels before they see any sort of benefit from it, which imho is BAD.
You should feel as proc % increase for every 25 dex not every 100 :cool:

AND another important thing- high end peopel WILL always proc A LOT no matter how muhc you nerf AA, dex, or effects - simply cuase they have everything nearly maxed out.
My worry is for lev low people who should be given soemthing of VALUE while they leveling in their teens, 20s, 30s, not AFTER they get to lev 70. In other words- in good mmo "the game" should starts at lev 1, not at 50+

KLS
10-16-2008, 03:58 PM
I was sure to go through the numbers being outputted and make sure they were right, which was actually how I noticed AA's were removing chance to proc.

So_1337
10-16-2008, 03:59 PM
On server with +stat progression close to classic/peq getting to 200 DEX is a LONG PATH of seeking out +dex gear. And 300 DEX you won't see untill you hit Elemetal plains.
It's a lot easier than that, actually. Any melee with a primal is going to see +100 to all their melee stats from the Avatar proc, not to mention most well-rounded Luclin gear (Ssra and VT) carrying a healthy bonus. Vengeful Mail of the Void (http://lucy.allakhazam.com/item.html?id=30564), and so forth.

ChaosSlayer
10-16-2008, 04:09 PM
It's a lot easier than that, actually. Any melee with a primal is going to see +100 to all their melee stats from the Avatar proc, not to mention most well-rounded Luclin gear (Ssra and VT) carrying a healthy bonus. Vengeful Mail of the Void (http://lucy.allakhazam.com/item.html?id=30564), and so forth.

aha - but Seru and Vt gear both comes from 45+ man raids, and atleast lev 60+ to obtain

bssicly the disbalance is that for first 50 levels you have prety mcuh NOTHING and then post 60 you start doubling in power every 2-3 levels

I want to see SOME improvement for char when I level from 1 to 20, 20 to 30, 30 to 40 etc, not one midnless grind run from 1 to 60 and then power up every level

trevius
10-16-2008, 05:25 PM
I think that gaining a healthy increase from dex is fine. Dex could be the main factor in setting the base proc chance. But IMO as of now, the current settings are just too high to scale very well.

On live, I recall the base proc chance being somewhere around 5%. We have is set to 5% before Dex is even factored in. So, when bonuses get calculated, the max bonus puts proc rates off of the chart. I think it would be fine for dex to scale the base from low to high. But, I don't know why a level 1 with 80 dex should proc nearly the same as a level 60 with 150. It is that 5% that is added to the dex calculation that causes it to scale oddly and ultimately makes base proc chance way too high to use bonus multipliers on.

Like I said, I do think it is really close to being right. But I think when setting a base you need to look at the extremely low end vs the extremely high end and the average. If any of them seem wrong, then it just needs adjustments. I just don't think people should proc every round no matter how many bonuses they have.

Don't forget that any server that even only goes up to level 70 will have shamans with Wunshi:

1: Increase Max Hitpoints by 680
2: Increase HP when cast by 680
4: Increase STR by 85
5: Increase DEX by 85
6: Stacking: Overwrite existing spell if slot 1 is effect 'STR' and < 85
7: Stacking: Overwrite existing spell if slot 1 is effect 'DEX' and < 85
8: Stacking: Block new spell if slot 1 is effect 'STR' and < 1085
9: Stacking: Block new spell if slot 1 is effect 'DEX' and < 1085
10: Increase Str Cap by 85
11: Increase Dex Cap by 85

That is a big chunk of Dex and can go over the cap.

Yes, my server does give fairly easy to get nice gear from custom zones, but that doesn't make it ok for it to be broken :P

ChaosSlayer
10-16-2008, 05:39 PM
On live, I recall the base proc chance being somewhere around 5%. We have is set to 5% before Dex is even factored in. So, when bonuses get calculated, the max bonus puts proc rates off of the chart. I think it would be fine for dex to scale the base from low to high. But, I don't know why a level 1 with 80 dex should proc nearly the same as a level 60 with 150. It is that 5% that is added to the dex calculation that causes it to scale oddly and ultimately makes base proc chance way too high to use bonus multipliers on.

note that lev 60 warrior vs lev 1 warrior will have Dual Wield Double Attack, which means even with same chance say 5% vs 7% - combat dps output wise- you will see 4 times as many procs simply cuase you have 4 attacks instead of 1

As far as procing too much at high end- thats what proc cap can be used for =)

Another thing you coulf do is code in DEX with DIMINISHING returns,
so first 100 DEX (above first 100) will give you +5% to total proc chance (so 5+5=10),
next 100 dex will give you +4%
next 100 dex will give you +3%
next 100 dex will give you +2%

so peopel at lwo end will see ALOT of return from each 25-30 dex they build up, but as you go UP and ist easier for you to obtain items and buffs, the return all massive extra dex will be less and less.

this way you can have very high growth on low end, and no cap on higher end.


SO here is proposed chart:

Dex 100 = TOTAL proc chance 5% (if you dex is LESS than 100, you start to take penalties. let say 1% per 10 dex, so with dex of 50 you won't proc at all)

DEX 200 = TOTAL proc chance 10%
DEX 300 = TOTAL proc chance 14%
DEX 400 = TOTAL proc chance 17%
DEX 500 = TOTAL proc chance 19%
DEX 600 = TOTAL proc chance 20%
DEX 700 = TOTAL proc chance 20.5%

and then you can add +0.5 per each 100 dex

trevius
10-16-2008, 07:07 PM
Ya, I am going to work something up that does a few things that will hopefully make everyone happy. First, it will not take dex into account if it is less than 60ish, because any level 1 has that amount. Why should they get a bonus for bare minimum starting stats? Not to mention that what level 1 will have a proccing weapon lol?

Then from 60 to 255 it will scale quickly up to 6-7%ish. For 255+, it will have very diminishing returns so that it would be very hard to break 7-8%ish base.

Something like that anyway.

ChaosSlayer
10-16-2008, 07:28 PM
Ya, I am going to work something up that does a few things that will hopefully make everyone happy. First, it will not take dex into account if it is less than 60ish, because any level 1 has that amount. Why should they get a bonus for bare minimum starting stats? Not to mention that what level 1 will have a proccing weapon lol?

Then from 60 to 255 it will scale quickly up to 6-7%ish. For 255+, it will have very diminishing returns so that it would be very hard to break 7-8%ish base.

Something like that anyway.


rather than giving peopel flat 4% at lev 1 and discardign dex above 60, start with flat 1% at 55 dex and then give:
+1% per each 15 dex till 100 (so at 100 dex you have your 4%)

then give +0.5% each say 25 dex up to 300 (so thats another +4%, totaling at 8% at 300 dex)

then you put +0.125 per 25 dex unlimited

so past 300 dex you will get +0.5 per each 100 dex
this results in:

55 dex - 1%
70 dex - 2%
85 dex - 3%
100 dex - 4%
200 dex - 6%
300 dex - 8% (8% at 300 dex is fair imho)
400 dex - 8.5%
500 dex - 9%
600 dex - 9.5%
700 dex - 10%
etc
(now i realy want to see someone with 700 dex :D )

PS preferanly of course that % chance scales per each 2-3 dex rather than in 25 dex chunks

KLS
10-16-2008, 08:15 PM
Gotta remember weapons have their own proc rates built in; I'd say majority are below 100% so it's not really that bad in practice. I need to look at how those are being handled as well and see if it's doing it right. Other than that I really really don't see a good reason to change the formula.

ChaosSlayer
10-16-2008, 08:31 PM
Gotta remember weapons have their own proc rates built in; I'd say majority are below 100% so it's not really that bad in practice. I need to look at how those are being handled as well and see if it's doing it right. Other than that I really really don't see a good reason to change the formula.

well each weapon can have its own rate, the system should be based with assumtion of some stable X where X is preferanly 100% to easy up estimates

KLS
10-16-2008, 11:51 PM
Take a look at what I have posted later tonight.