Twincast, Sympathetic procs, and TriggerOnCast spells 100% resisting
Ladies/Gents,
I play on EZ Server and we've noticed something strange following a semi-recent source update. All twincast, sympathetic procs, and triggeroncast effects are resisting 100% of the time. I only did a brief swept of forums, but are we alone in experiencing this or are others noticing similar things? These effects were 100% working before. -Hate |
Resists in general have been reported as odd more than once recently on PEQ. Specific example was Cyno in Qvic. no one changed his stats but he was suddenly resisting everything that was not unresistable.
|
Found the issue...
Code:
Sending a spell finished for twincast should send the resist adjust because resist adjust is never calculated inside mob::spellfinished Does the same thing inside "TrySympatheticProc" Unless it grabs the resist adjust somewhere else.. but I do not see it.. at all. |
One down, is Sympathetic and TriggerOnCast doing the same?
I'll be able to start digging through code tonight, but not before. -Hate |
Hmm.. this could require some pretty significant revisions. Sadness.
I'm flipping through while I'm on hold now. It's looking dirty. Possibly allow an overloaded SpellFinished to handle this, but not sure of the cleanest way to do it. -Hate |
Quote:
|
TriggerOnCast
Code:
void Mob::TriggerOnCast(uint32 focus_spell, uint32 spell_id, bool aa_trigger) Twincast Code:
void Mob::TryTwincast(Mob *caster, Mob *target, uint32 spell_id) Code:
void Mob::TrySympatheticProc(Mob *target, uint32 spell_id) Ok, does that look usable? I am following code the best I can using dinky browser windows in-between calls at work. -Hate |
Pretty sure there are other spots where this code would be needed as well... when I was looking earlier I remember seeing them... (TwinProc was one I think)
|
Quote:
|
Quote:
I am casting an unresistable spell with 25% sympathetic proc spell with -1000 resist diff on a target with ~77 to all resists. The unresistable spell is doing it's 1dmg (which I am using merely to test the Sympathetic Proc). The Sympathetic Proc'ed spell resists 9/10 casts. If it's not accepting the resistdiff, why is it sometimes landing? It if it is accepting resistdiff, why is there a resist chance at all? I would like to believe that -923 (-1000 + 77 = -923) resist should not be resistable. -Hate |
Well Sympathic Proc is not TwinProc, so what does that have to do with TwinProc being fine?
|
Quote:
What I was getting at is how is it that TwinCast and SympatheticProc have nearly similar setups, but TwinCast seems to work while Sympathetic does not? I've not yet had time to recompile in debug and set a breakpoint or two, but could you shed any light on it? -Hate |
You are right about TryTwincast and TrySympatheticProc, twincast is handled completely differently. I'll try to look into these again and most likely push your changes, but my initial testing I found little evidence that they were getting resisted 100% of the time, it seemed about equal. :/
|
Quote:
SpellTrigger (id 340) is functioning similarly with triggered spells with -1000 resistdiff spells failing to land on creatures with ~150 all resists. -Hate |
Wrote/Revised most of this code last summer.
I would have to agree adding the resist diff information to the SpellFinished will likely resolve this. These spell effects are not common place on most servers so it is not that shocking its only been picked up on now. Just a fun fact about 'TwicProc'. It is not an actual spell effect and was originally incorrectly given a spell effect ID. I left the code in place, but it isn't actually used (Correct spell effect replaced where TwicProc was). TwinProc effect which is an AA, is actually just TwinCast with a number of limiters. Kayen GM Storm Haven |
All times are GMT -4. The time now is 09:35 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.