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 11-21-2011, 11:04 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default Crash due to spell cast/proc

The Mage pet Monster Summoning casts 2 spells, Bull Rush and Prism Strike. Prism Strike has a recourse of Prism Skin. This spell crashes the zone. I just started having this issue. I usually run with 54 bots and 4 mages among those, who cast Monster Summoning a lot. I haven't had this issue before the last month's updates or so.

The issue is that the spell Prism Skin has a buffdurationformula of 11. It also has a buffduration of 0. In Mob::SpellEffect, it checks the buff duration here:

Code:
if((CalcBuffDuration(caster,this,spell_id)-1) > 0){
Because the duration if Prism Skin is 0 (formula 11 just uses the duration), it fails that check, which drops it down to:
Code:
} else {
			buffslot = -2;	//represents not a buff I guess
		}
But, in the spell effect for prism skin, it checks the effect here:
Code:
case SE_NegateAttacks:
			{
#ifdef SPELL_EFFECT_SPAM
				snprintf(effect_desc, _EDLEN, "Melee Negate Attack Rune: %+i", effect_value);
#endif
				buffs[buffslot].numhits = effect_value;
				break;				  
			}
With a buffslot = -2, this causes a crash.

One potential fix is to check within case SE_NegateAttacks for a valid buffslot, but there may be other potential spell effects that would have the same issue. The following spells have a buffdurationformula = 11 and a buffduration = 0, which could cause this issue:

id 4663, 'Aura of the Hunter'
id 5127, 'Prism Skin'
id 5148, 'Massive Explosion'
id 5997, 'Pyrilen Ember'
id 6006, 'Gelidran Sleet'
id 6256, 'Seething Frenzy'
id 11936, 'Prism Skin'

Pyrilen Ember, Gelidran Sleet, and Seething Frenzy's spell effects are handled in bonuses or somewhere other than SpellEffect where this crash can occur.

I couldn't find any place where Aura of the Hunter is used. No NPCs cast, no NPC proc, no Items proc, no items click effect. Same with Massive Explosion.

Both Prism Skins are recourses of spells.
Prism Strike, Spirit of Oroshar Strike, Spirit of Lairn Strike, Spirit of Laxztn Strike, Iceflame Strike, and Iceflame Assault.


I'm not sure how to fix this, but I wanted to give as much information as possible. Adding the buffslot check I mentioned earlier will only prevent the crash from happening, as I assume the spell would not take affect. The SE_NegateAttacks effect is the only one affected by these spells, but there may be the possibility of custom spells with this issue. Maybe in the CalcBuffDuration_formula, the duration could be checked and add one if the duration is 0, but I assume the spell Prism Skin is supposed to have a duration of > 1 tick, but I don't know. I never used Monster Summoning on Live.
Reply With Quote
  #2  
Old 02-22-2013, 05:17 PM
Thuz989
Sarnak
 
Join Date: Jan 2006
Posts: 45
Default

Not trying to necro a thread but i noticed this has nto been fixed as faras i can tell???

How it works on live for say the mage spell iceflame guard is every once in awhile it will proc a "prism skin" which will stay on pet until it absorbs a hit... its pretty important for pet tanking..

I suspect the reason the buff has a duration 0 is because it counts as a frozen buff.. details below pulled off lucy...

duration 0
durationformula 11 durationfreeze 1
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 08:26 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