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 01-23-2018, 07:12 AM
Bogreaper's Avatar
Bogreaper
Fire Beetle
 
Join Date: Feb 2017
Posts: 2
Default Entire spell list stuck on cool down after any spell failure.

Good Morning.

We are experiencing an issue where, any time there is a spell failure, the entire spell bar goes on cool down (shaded out and unusable) for an extremely long time (over 2 minutes) any time there is a spell failure. Examples of these failures are, target moves out of sight, target goes out of range, target resists the spell, etc.

One trick we have found to un-freeze/lock the spell list is to use a clicky to cast a spell, this works maybe 80% of the time.

My un-educated guess is that a variable is not getting reset, maybe a function is not being called when the time for cool down is up?

Has anyone seen this issue before, or know of a way to fix it or where to look?

The closest thing I have found to it on other servers is a fizzle at extremely low levels, but at least that spell list cool down does not go on for the length of time this does.

Thanks.

ps. this is a non mq2 server so we can rule that part out of the problem.
Reply With Quote
  #2  
Old 01-23-2018, 07:28 AM
image
Demi-God
 
Join Date: Jan 2002
Posts: 1,290
Default

It means there are areas in the code that need to call either InterruptSpell or CastToClient()->SendSpellBarEnable(spell_id);

not really something you can fix without C++ experience.

One example this can happen and I don't think eqemu base has the code to fix it: player 1 starts casting a spell on player 2, player 2 zones out before player 1's spell completes. This can lock up the spell bar.


I had put a fix below this line:
https://github.com/EQEmu/Server/blob...ells.cpp#L1048

Code:
		if ( IsDetrimentalSpell(spell_id) )
		{
			if ( spell_target == NULL && target_id > 0 && target_id != GetID() )
			{
				mlog(SPELLS__CASTING_ERR, "Lost target for spell %i", spell_id);
				Message_StringID(13,TARGET_NOT_FOUND);
				InterruptSpell();
				return;
			}
		}
__________________
www.eq2emu.com
EQ2Emu Developer
Former EQEMu Developer / GuildWars / Zek Seasons Servers
Member of the "I hate devn00b" club.
Reply With Quote
  #3  
Old 01-23-2018, 07:47 AM
Bogreaper's Avatar
Bogreaper
Fire Beetle
 
Join Date: Feb 2017
Posts: 2
Default

Thanks I will try that and let you know.
Reply With Quote
Reply

Tags
cool down, spell list


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 03:33 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