EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Spell Support (https://www.eqemulator.org/forums/forumdisplay.php?f=664)
-   -   SK lifetap shrouds (https://www.eqemulator.org/forums/showthread.php?t=36768)

Maceblade 04-20-2013 06:13 PM

I can see it. I open spells_new in navicat and can see everything. It shows 6102 in both navicat and in cmd when I ran your command. Thats what Im saying, it all shows as it should.

Mariomario 04-20-2013 06:35 PM

I remember some of the Shadowknight self buffs were calculated differently as a weapon proc (Effect ID 85) from the normal spells self buff weapon procs (i.e Call of Fire for a ranger). Check out Shroud of Discord, you'll notice its attached with spellid 6101. Shroud of Discord Strike is actually spell ID 6102. For some reason shadowknight self buffs take the normal id + 1 for the actual spell thats proced.

I don't remember why it was coded this way, but I had the same problem when I tried making custom self buff procs for shadowknights or even changing the spell id from the self buff to something different and not getting the correct result. You won't see the correct information from MQ2 when the correct spell is linked. Its just the way it is.

Example:
You want spell Deadly Lifetap to proc instead. Its spell id is actually 993. You would put 992 in effect_base_value1 in the spells_new table. While MQ2 would display spell id 992 (Bamph) your character would actually proc spell id 993 (Deadly Lifetap).

I hope this is clear and understandable. I am also working with the original spells_new table from a clean PEQ install.

Maceblade 04-20-2013 06:54 PM

Mario that actually made perfect sense and fixed it! You sir are amazing! Props to you!

Whats weird tho is it only happens after lvl 37, thank you sir!

Mariomario 04-20-2013 07:21 PM

You're welcome. I'm glad I could help.

AudioGarden21 04-20-2013 08:29 PM

Clearly this is not an issue with the latest database and executables seeing as I tried to replicate this issue on my server and everything between Vampiric Embrace and Shroud of Discord functioned perfectly for me.

You must be using and older version of the database and executables. For posterity's sake, is this true?

lerxst2112 04-20-2013 09:56 PM

Well, this code is still in there:
Code:

//for some stupid reason SK procs return theirs one base off...
uint16 Mob::GetProcID(uint16 spell_id, uint8 effect_index) {
        bool sk = false;
        bool other = false;
        for(int x = 0; x < 16; x++)
        {
                if(x == 4){
                        if(spells[spell_id].classes[4] < 255)
                                sk = true;
                }
                else{
                        if(spells[spell_id].classes[x] < 255)
                                other = true;
                }
        }
       
        if(sk && !other)
        {
                return(spells[spell_id].base[effect_index] + 1);
        }
        else{
                return(spells[spell_id].base[effect_index]);
        }
}

But the sk only proc spells should be set up to account for it.

AudioGarden21 04-21-2013 03:29 PM

Yeah. I just looked at the spell file in JSRE editor and it displays 6101 spell id for Shroud of Discord instead of 6102 for the strike effect. S'pretty strange it's set up this way, or whatever would cause it to require it being set up like this.

Maceblade 04-21-2013 03:52 PM

Indeed it is strange but hopefully this helps other people out as well and new server's coming up that encounter this. I appreciate all of you guys looking into this and helping out!

mamba667 08-21-2014 05:40 PM

This post helped me thank you. As of Aug 2014 you still have to use spell id -1 for the proc to work correctly.


All times are GMT -4. The time now is 04:54 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.