After some research on an errorless error, I found that some style proc spells are missing the LineXspell entry. There is obviously an error message or even an "not implemented" error missing.
CreateMagicEffect in StyleProcessor.cs (beginning at line 621) is the culprite here. To do a conservative fix I would just use
- Code: Select all
ISpellHandler spellHandler = ScriptMgr.CreateSpellHandler(caster, styleSpell, styleLine); if (styleSpell == null || (spellHandler == null && caster is GamePlayer)) { .... }
It would look like this:
- Code: Select all
protected static ISpellHandler CreateMagicEffect(GameLiving caster, GameLiving target, int spellID) { SpellLine styleLine = SkillBase.GetSpellLine(GlobalSpellsLines.Combat_Styles_Effect); Spell styleSpell = SkillBase.GetSpellByID(spellID); if (styleLine == null) return null; ISpellHandler spellHandler = ScriptMgr.CreateSpellHandler(caster, styleSpell, styleLine); if (spellHandler == null && caster is GamePlayer) { ((GamePlayer)caster).Out.SendMessage(styleSpell.Name + " not implemented yet (" + styleSpell.SpellType + ")", eChatType.CT_System, eChatLoc.CL_SystemWindow); } // No negative effects can be applied on a keep door or via attacking a keep door if ((target is GameKeepComponent || target is GameKeepDoor) && spellHandler.HasPositiveEffect == false) { return null; } return spellHandler; }
But obviously I maybe oversaw something and therefore I ask if this is sensible to just hardcode the styleLine for procs. (And therefore delete the checks)
Kind regards,
YaY