Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Server Code Submissions

Reply
 
Thread Tools Display Modes
  #1  
Old 06-26-2008, 06:08 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default Buffs Being Blocked That Shouldn't Be

I am not exactly sure when this bug was introduced, but I didn't start hearing about it until the 1115 or 1118 code was put on the server.

Basically, I have had multiple reports that certain buffs that should stack are now unable to stack. The only ones I actually got enough info on was the Spell "Unfailling Reverence" (shaman charisma buff) blocking "Spirit of Bih`Li" and "Clarity/Clarity II", but I imagine there are probably more. I confirmed that these are indeed being blocked.

The only recent changes that I see in the change logs that I think could potentially have something to do with the problem are these:

Scorpious2k (Congdar): Eliminated array index error/zone crash in spells
Scorpious2k (greggg230): Merchant price faction/charisma fix

I imagine that the merchant price one probably isn't the issue, but since this was a charisma spell that was blocking in this case, I figured it was worth noting.

This isn't anything too major, and as far as I have seen, it seems to be mostly certain shaman spells that are blocking other spells that they shouldn't. I don't think I have heard of other class buffs blocking incorrectly.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by cavedude; 08-30-2008 at 04:34 AM..
Reply With Quote
  #2  
Old 06-26-2008, 06:19 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

CHA spells have always caused problems stacking, this is nothing new.
Reply With Quote
  #3  
Old 06-26-2008, 06:28 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Ahh ok. Weird that I didn't hear anything about it until the past week or so and suddenly I have seen at least 3 or 4 reports of it. If it is only cha buffs, then it isn't a big issue. I will keep an eye out for any other stacking issues. Thanks for the quick response, CD!
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #4  
Old 06-26-2008, 06:38 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

the thign is that CHA present in MANY spells to serve a form of a delimier.

for exmaple if you have

spell 1:
Slot 1: CHA 0
Slot 2: STR 100

spell 2:
Slot 1: CHA 0
Slot 2: CHA 0
Slot 3: STR 100

these 2 spells will stack.

what is important that server code must never treat 0 cha towards any stacking comparecens, the moment it does- 50% spells in DB will STOP WORKING

I urge devs to CAREFULY look over thsi and make sure than CHA 0 is NEVER been compared towards stacking with each other
Reply With Quote
  #5  
Old 08-29-2008, 07:45 PM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

This came up on the Storm Haven forums, so I figured I'd mention what I have come up with so far, since this is still an issue.

After doing some digging (thanks to #mlog SPELLS__STACKING on), it appears this is failing in the function Mob::CheckStackConflict:
Code:
 1992 		if(sp2_value < sp1_value) {
 1993 			mlog(SPELLS__STACKING, "Spell %s (value %d) is not as good as %s (value %d). Rejecting %s.",
 1994 				sp2.name, sp2_value, sp1.name, sp1_value, sp2.name);
 1995 			return -1;	// can't stack
 1996 		}
And I believe it is because there should be a check, not only for the first spell, but also the 2nd spell to see if the slot is blank. If that's the case, we can just change this
Code:
 1913 		if(IsBlankSpellEffect(spellid1, i))
 1914 			continue;
to this:
Code:
		if(IsBlankSpellEffect(spellid1, i) || IsBlankSpellEffect(spellid2, i))
			continue;
I'll try compiling this here in a few and see if it works.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #6  
Old 08-29-2008, 08:01 PM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by AndMetal View Post
I'll try compiling this here in a few and see if it works.
Compiled fine and seems to work as intended. As a test, I was using Unfailing Reverence & JourneymanBoots. If I would cast the Charisma buff first, the jboots would be blocked, but not the other way around. Now, after the fix, I can cast both spells fine, including recasting them when they're already active.

Hopefully someone can move this to Code Submissions to be updated into the main source
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #7  
Old 09-01-2008, 04:57 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Did some testing on this and it seems to do exactly what it says. The CHA stacking issue is definitely fixed and I don't see any other stacking issues caused by this, though my testing wasn't very extensive. I mostly just tested a few spells that I know shouldn't stack like Symbol and Temperance and they still didn't (as they should). So, this looks like a nice fix. Thanks AndMetal! You are becoming quite the coder lately lol.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
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 11:10 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