|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Spell Support Broken Spells? Want them Fixed? Request it here. |
|
|
|
01-15-2012, 09:01 AM
|
Sarnak
|
|
Join Date: Aug 2004
Posts: 80
|
|
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.
|
|
|
|
01-15-2012, 01:08 PM
|
Dragon
|
|
Join Date: May 2009
Location: Milky Way
Posts: 539
|
|
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;
}
|
01-15-2012, 08:45 PM
|
Sarnak
|
|
Join Date: Aug 2004
Posts: 80
|
|
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.
|
01-15-2012, 09:33 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
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);
}
}
|
|
|
|
01-15-2012, 09:44 PM
|
Sarnak
|
|
Join Date: Aug 2004
Posts: 80
|
|
Quote:
Originally Posted by lerxst2112
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.
|
|
|
|
06-10-2012, 08:40 PM
|
Fire Beetle
|
|
Join Date: Dec 2010
Posts: 18
|
|
*bump*
Was this ever addressed?
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 10:37 AM.
|
|
|
|
|
|
|
|
|
|
|
|
|