Quote:
Originally Posted by Xenezie
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
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.