I assume you mean you're using SE_WeaponProc (85).
The way the proc to add is calculated can be seen here:
Code:
//for some stupid reason SK procs return theirs one base off...
uint16 Mob::GetProcID(uint16 spell_id, uint8 effect_index) {
bool sk = false;
bool other = false;
for(int x = 0; x < 16; x++)
{
if(x == 4){
if(spells[spell_id].classes[4] < 255)
sk = true;
}
else{
if(spells[spell_id].classes[x] < 255)
other = true;
}
}
if(sk && !other)
{
return(spells[spell_id].base[effect_index] + 1);
}
else{
return(spells[spell_id].base[effect_index]);
}
}
So, whichever effect slot the 85 is in it appears you want the proc spell id in the corresponding base slot, and if it's a SK only spell you want to subtract 1 from the value.
Not sure why it would add more than one proc or vary the number chosen though. Seems like something you would want to debug to see where it's going wrong.