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 06-11-2013, 12:01 PM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default Help with spell stacking: Listless Power and Augmentation

I'm trying to understand why the GUI overwrites augmentation with Listlesspower, but the server does not.

I turned on stacking logs and got this:

[06.11. - 11:55:53] [SPELLS__STACKING] Kincar: Check Stacking on old Augmentation (10) @ lvl 29 (by Kincar) vs. new Listless Power (162) @ lvl 29 (by Kincar)
[06.11. - 11:55:53] [SPELLS__STACKING] Kincar: Augmentation (10) blocks effect 1 on slot 2 below 100, but we do not have that effect on that slot. Ignored.
[06.11. - 11:55:53] [SPELLS__STACKING] Kincar: The effects are the same but the spell types are not, passing the effect
[06.11. - 11:55:53] [SPELLS__STACKING] Kincar: Stacking code decided that Listless Power is not affected by Augmentation.

While on the GUI - listless power overwrites augmentation, the server keeps both us. This makes it very hard for players to tell when augmentation is really down.

2 questions:

- do they stack on live? I don't have the right class to test with.

- If they are supposed to coexist (fighting each other essentially), does that mean the stacking code is broken?
Reply With Quote
  #2  
Old 06-11-2013, 12:35 PM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default

Ok checked live. Listless power should take down augmentation.

On our server side, it does not. The GUI seems to be correct.

Now, to see if I can figure out this code.. anyone know better have a look?
Reply With Quote
  #3  
Old 06-11-2013, 01:15 PM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default

Ok, I believe I have the general flow of the code that puts out those messages.

sp2 (listless power) does not have any SE_OVERWRITE columns in effects.

The code that overwrites based on same slot matching effects doesn't do anything , because one is beneficial and one is detrimental.

Code:
/*^M
        If the effects are the same and^M
        sp1 = beneficial & sp2 = detrimental or^M
        sp1 = detrimental & sp2 = beneficial^M
        Then this effect should be ignored for stacking purposes.^M
        */^M
        if(sp_det_mismatch)^M
        {^M
            mlog(SPELLS__STACKING, "The effects are the same but the spell types are not, passing the effect");^M
            continue;^M
        }^M
So what am I missing? Is this just something eqemu code missed. Listless power does take down augmentation on live.

Also, listless power blocks augmentation on live. It doesn't on the server side of eqemu.
Reply With Quote
  #4  
Old 06-11-2013, 01:54 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,164
Default

Obviously our rules are incomplete. It could be a number of things though. Maybe the primary stats when they are opposing effects don't stack, with the debuff overwriting. There could also be an unidentified spell field that should override that part of the code.
Reply With Quote
  #5  
Old 06-11-2013, 02:19 PM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default

Am I in the right spot? As far as npc spells knocking down buffs? That's spells.cpp in the SPELLS__STACKING code? I just didn't want to be way off base when I tried to fix this.

I noticed that similar things happen when str buffs and str debuffs are applied. The gui shows only the debuff but the server leaves the str up.

I'm new to eqemu (only been playing, modifying code/db for 5 months or so) so I like to check with the dieties when I enter an area I haven't touched.

BTW: As a quick test, I commented out the code which says don't overwrite if one is beneficial and one is detrimental, and then also added a check to say if sp2 is detrimental, allow it to overwrite and it fixed this one problem, but given my limited insight into this code and the db fields, I'm sure that is going to do more harm than good elsewhere.
Reply With Quote
  #6  
Old 06-13-2013, 06:38 PM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default

I'm pretty sure I have this fixed. I'll submit it if you want once it is tested.
Reply With Quote
  #7  
Old 06-17-2013, 01:34 PM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default

Well just removing the lines I posted above seems to work well.. Been running it for a week and detrimental spells are overwriting when they are more powerful, and matching what the GUI was doing by itself. Now the GUI panel seems to match the server list so far.

Use it if you see fit.
Reply With Quote
  #8  
Old 07-09-2013, 10:57 AM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default

I've made another update on my server.

At least on Titanium , the GUI takes down buffs when more powerful effects for a slot for a detrimental spell is cast. My previous change above makes that work on the server. Prior to that change, a spell like augmentation was staying up on the server, when a spell like listless power was cast over it. On the GUI, listless power overwrote augmentation.

The fix described above fixed that on the server.

The GUI also prevents a spell like spirit strength from holding on a char with Res effects.

The server ignores blocking/stacking in the case of res effects. The GUI blocks buffs while rez effects up, but the server is accepting them. I deleted that code and all seems better on my server in this regard. Am I missing something?
Reply With Quote
  #9  
Old 07-16-2013, 10:45 AM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default

My changes still working well to have server match GUI as far as some detrimental spells taking down beneficial ones. I have found a couple of spots where equal value detrimental spells should be blocked from taking down buffs, but obviously equal valued buffs should overwrite old ones, and the same for debuffs.

In that regard I've made a few tweaks and it looks good. So if you went with my changes, let me know and I can provide current code.

As always just FYI, I know I'm off on my own branch, just sharing in case it is helpful.
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 10:41 AM.


 

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