henesua wrote...
Ah... interesting.
Solution then is to insert caster level as a suffix on the tag. That should do the trick.
While you're at it you can script the tag to consider an unlimited number of variations.
E.g.
#include "x0_i0_spells"
void main()
{
int nVFX1, nVFX2, nDamType, nDamage;
effect eAOE;
object oGrenade = GetSpellCastItem();
if(!GetIsObjectValid(oGrenade)) return;
string sTag = GetTag(GetSpellCastItem());
nDamage = StringToInt(GetStringRight(sTag, 2));
sTag = GetStringLeft(sTag, GetStringLength(sTag) -2);
if(sTag == "bombfire")
{
nVFX1 = VFX_IMP_FLAME_M;
nVFX2 = VFX_FNF_FIREBALL;
nDamType = DAMAGE_TYPE_FIRE;
eAOE = EffectAreaOfEffect(AOE_PER_FOGFIRE);
}
else if(sTag == "bombacid")
{
nVFX1 = VFX_IMP_ACID_L;
nVFX2 = VFX_FNF_LOS_NORMAL_30;
nDamType = DAMAGE_TYPE_ACID;
eAOE= EffectAreaOfEffect(AOE_PER_FOGACID);
}
else if(sTag == "bombsonic")
{
//Define other values here
}
DoGrenade(d6(nDamage), nDamage, nVFX1, nVFX2, nDamType, RADIUS_SIZE_HUGE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eAOE, GetSpellTargetLocation(), RoundsToSeconds(5));
}