View Single Post
  #4  
Old 04-28-2012, 09:06 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

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.
Reply With Quote