PDA

View Full Version : Stacking of spells?


Xenezie
09-16-2008, 01:46 PM
Curious to know where I can find where the stackability of spells are handled. Example: Druid HP Type One > Cleric Aegolism. Or how I can change the type of spell like HP type one to shielding, or any of the other HP buff lines.


Any ideas?

ChaosSlayer
09-16-2008, 04:48 PM
rigth in the spell file

for simpel spells. if 2 spells have "buff hp" in 1st slot, then which ever higher level will override the lower one.

if 1 spell has "buff hp" in 1st slot and 2nd spell has "buff hp" in 2nd slot- they will stack.

there are also special rules when you only want spell stack under special conditions. use Bleh/Aala spell editor and pull up info of spells like Blessing of the 9 , Virtue, and symbol of kazad. and see how each of them is writen out.

Xenezie
09-16-2008, 04:52 PM
I tried that spell editor kept getting an error with it, I posted what was happening on the sticky for it.

Xenezie
09-16-2008, 05:16 PM
I will try your suggestion of pulling of the 3, but I don't think it's going to work, because the person who use to do spells on the server made it so Clerics Aego/Symbol, and Shammies Shielding lines all stack, but left the poor druids out of the mix. The only other thing I could think of that would stack with them is some of the 'pure casters' self buff lines.

I just wish there was a way I could tell what row is for what on the spells file.

AndMetal
09-18-2008, 03:24 AM
I will try your suggestion of pulling of the 3, but I don't think it's going to work, because the person who use to do spells on the server made it so Clerics Aego/Symbol, and Shammies Shielding lines all stack, but left the poor druids out of the mix. The only other thing I could think of that would stack with them is some of the 'pure casters' self buff lines.

I just wish there was a way I could tell what row is for what on the spells file.

I assume when you're talking about "the server" you're referring to the Emu code. If that's the case, this is actually how live worked: Druid & Cleric buffs are in the same "line", Shaman buffs aren't. Easiest way to see this is through Lucy. Example: Protection of the Glades (http://lucy.allakhazam.com/stacking.html?id=1442&source=Live) (stacking info). Cleric buffs (http://lucy.allakhazam.com/spell.html?id=1447&source=Live) always had more HP & AC, Druid buffs (http://lucy.allakhazam.com/spell.html?id=1442&source=Live) had mana regen. Ergo, melees (and lots of necros) prefer the Cleric version, casters prefer the Druid one. That's not even taking into account the Cleric ones usually require a Peridot, where the Druid one doesn't require anything.

Now, to answer the original question:
Curious to know where I can find where the stackability of spells are handled.
In short, pretty much everything having to do with spells is handled in zone/spells.cpp (http://eqemulator.cvs.sourceforge.net/eqemulator/EQEmuCVS/Source/zone/spells.cpp?view=markup). There is a single function that determines if a spell will stack: Mob::CheckStackConflict (http://eqemulator.cvs.sourceforge.net/eqemulator/EQEmuCVS/Source/zone/spells.cpp?revision=1.59&view=markup#l_1813). The hard part will be deciding how you want to mod the stacking. In general, you could just return 0 at the beginning of the function and all spells will stack with everything. You could also look for exceptions based on what the spell does (+ Max HP, + Stats, etc) using a switch like is done with the rez effects (http://eqemulator.cvs.sourceforge.net/eqemulator/EQEmuCVS/Source/zone/spells.cpp?revision=1.59&view=markup#l_1839).

In any case, I hope this points you in the right direction.

ChaosSlayer
09-18-2008, 10:40 AM
little note: Clerics had 2 hp buff lines the Aego>Virtue>etc lien which was Ac/HP and did not stack with Druid Skin>Protection>9s series and Cleric had Symbol HP buff whichs stacked with EVERYTHING.

The Symbol line is the one requring a peridot