Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #8  
Old 12-12-2010, 01:41 AM
haynar
Developer
 
Join Date: Jul 2009
Location: In a state of bliss
Posts: 31
Default

Did some more playing with it.

Remember how on live, if you had like focus, cast on you by a level 65. Then a level 64 tries to cast focus on you. They would get a reply that the spell would not take hold?

The client handling of updating using this method appears the same. So you will need to probably add some checks for stacking, so that same spells being cast by a lower level, will not take hold.

Its getting closer to working though.

I added a stacking rejection for same spell id's, if new caster level is less than the one whose buff it is. I remember live was like that.

There were also issues with durations too. Probably don't want to overwrite if new one has a shorter duration, like from less focus effects or duration enhancing AAs.

Update: Duration of new buff, has no effect, on whether the client will allow overwriting. Only the level of the caster of the new buff, if it is lower than the level of the caster of the existing buff.

In CheckStackConflict, I added:

Code:
	if(spellid1 == spellid2 && caster_level2 < caster_level1) {
		mlog(SPELLS__STACKING, "Blocking same spell because new caster level is less than level of existing buff");
		return -1;
	}
Works great now, and has that annoying effect of not taking hold, if you are lower level than one who orginally cast.

I remember with debuffs the effect especially, after a new expansion came out, and a debuff was landed by someone at a higher level. Then noone could refresh that buff, like malo, unless they were same level or higher.

Haynar

Last edited by haynar; 12-12-2010 at 02:19 AM.. Reason: Updated
Reply With Quote
 


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 05:21 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3