Go Back   EQEmulator Home > EQEmulator Forums > Support > Spell Support

Spell Support Broken Spells? Want them Fixed? Request it here.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-15-2012, 09:01 AM
AudioGarden21
Sarnak
 
Join Date: Aug 2004
Posts: 80
Default Defensive/Reverse Procs

So, after scouring the forums searching for word on Defensive and Reverse Procs, I didn't really find much that would set me at ease in regards to it's proper implementation.

I've tested a few of them, Cleric Ward line, Shaman's Lingering Sloth, and Druid's Skin of the Reptile, and none of them really function as they did on live.

First of all, I can say without a doubt that none of the spells I tested proc on misses/dodges etc, like they should, and only count for hits taken.

Also, any attempt at increasing the proc chance or proc rate has been in vain. Does anyone have any insight on how to increase the proc rate? I've tried the proc modifier on the spells themselves in the spell file, added proc modifiers to the spells, and even tried to increase the average procs per minute in the rule_values, all to no avail.

It would seem that proc chance on these spells is independent of normal, weapon-type proc-ing systems.

The only solution I've found (which I don't really care for) is to add more defensive proc lines to the spells, so there's about 5 of each on a single spell, giving each 5 times the chance to proc. This however, has it's inherent issues, such as having Reptile for instance proc twice in one combat round. It's not the most elegant solution, but it'll suffice for now until we can figure out how to sort this out.

I played a high level Cleric, Shaman, and Druid on live and had all three of the spells I mentioned above, so I'm quite familiar with their function and quality to attest to their behavior. Each one of them had quite a high proc chance, much greater than I'm currently seeing, which is about 1 proc every few casts, unless I constantly sit to take damage from my target dummy. Again, they should proc regardless of whether it was a hit or not, but that's not the case.
Reply With Quote
  #2  
Old 01-15-2012, 01:08 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 539
Default

The spells_new DB field "effect_limit_valueX" is the proc modifier for these spells.

and you are correct they only proc when dmg is dealt:

Code:
if (damage > 0)
	{
		// Give the opportunity to throw back a defensive proc, if we are successful in affecting damage on our target
		other->TriggerDefensiveProcs(this);
		
        return true;
	}
Reply With Quote
  #3  
Old 01-15-2012, 08:45 PM
AudioGarden21
Sarnak
 
Join Date: Aug 2004
Posts: 80
Default

Thanks a lot Caryatis.

Any idea on how I could add misses/dodges etc to proc the effects?

EDIT

I checked the database for the fields "effect_limit_valueX" and they're already set on 400 (which is the default live proc mod for these spells), but adjusting those doesn't seem to make a bit of difference, which I explained in my first post; "I've tried the proc modifier on the spells themselves in the spell file", which refers to that 400 modifier I just mentioned. I know how to adjust those, but they don't have any effect on reverse procs. It definitely works for the Cleric summoned hammers line of spells, but those are melee procs, and again, melee procs are fine from what I can tell. It's just reverse procs don't seem to be modifiable.
Reply With Quote
  #4  
Old 01-15-2012, 09:33 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

Doesn't look like that value is used at all.

Code:
	// iterate through our defensive procs and try each of them
	for (int i = 0; i < MAX_PROCS; i++) {
			if (MakeRandomInt(0, 100) < MakeRandomInt(0, 20)) {
				ExecWeaponProc(DefensiveProcs[i].spellID, on);
			}
	}
Reply With Quote
  #5  
Old 01-15-2012, 09:44 PM
AudioGarden21
Sarnak
 
Join Date: Aug 2004
Posts: 80
Default

Quote:
Originally Posted by lerxst2112 View Post
Doesn't look like that value is used at all.

Code:
	// iterate through our defensive procs and try each of them
	for (int i = 0; i < MAX_PROCS; i++) {
			if (MakeRandomInt(0, 100) < MakeRandomInt(0, 20)) {
				ExecWeaponProc(DefensiveProcs[i].spellID, on);
			}
	}
I'm still learning my way around the code, and honestly haven't fiddled with it much, otherwise I'd go through and fix everything I could myself, but alas, I need the help of others like yourself for the time being, until I can understand the coding process better.

Any ideas as to why it's not using the proc rate modifier value, and possibly how to implement it such that it does? Having this functionality would greatly improve our ability to spice up some spells, be they custom or just improving that which already exists.

All help thus far has been much appreciated.

EDIT

If I'm reading that code right, the line "if (MakeRandomInt(0, 100) < MakeRandomInt(0, 20)" means that if a randomly generated number between 0 and 100 is less than any number generated between 0 and 20 by the second generator, then we get a successful proc? Is that right? Seems like it should be more like normal procs, and thus be affected by the spell modifier. This just doesn't sound like the proper implementation of the defensive proc effect.
Reply With Quote
  #6  
Old 06-10-2012, 08:40 PM
squevis667
Fire Beetle
 
Join Date: Dec 2010
Posts: 18
Default

*bump*
Was this ever addressed?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:25 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3