EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Spell Support (https://www.eqemulator.org/forums/forumdisplay.php?f=664)
-   -   Stacking of spells? (https://www.eqemulator.org/forums/showthread.php?t=26201)

Xenezie 09-16-2008 01:46 PM

Stacking of spells?
 
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

Quote:

Originally Posted by Xenezie (Post 156056)
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 (stacking info). Cleric buffs always had more HP & AC, Druid buffs 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:
Quote:

Originally Posted by Xenezie (Post 156039)
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. There is a single function that determines if a spell will stack: Mob::CheckStackConflict. 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.

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


All times are GMT -4. The time now is 06:48 PM.

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