Natures Balance
- T3hRedMage
- Eternal War's Mortician (PU)
- Posts: 912
- Joined: Wed Mar 21, 2007 7:59 pm
Natures Balance
Druids get way less spell slots than clerics, we all know this. They get more dispells, more heals and blah. I think we need to buff up this spell.
Nature's Balance: Lowers enemies spell resistance by 1d4 per 5 levels of the caster. Heals allies.
Sounds great, however.. it never works. The spell has a weak will save and what caster would ever fail a will save by the time you're able to cast level 8 spells?
Any suggestions for this spell?
Nature's Balance: Lowers enemies spell resistance by 1d4 per 5 levels of the caster. Heals allies.
Sounds great, however.. it never works. The spell has a weak will save and what caster would ever fail a will save by the time you're able to cast level 8 spells?
Any suggestions for this spell?
- Lord Mephisto
- Initiate of War
- Posts: 140
- Joined: Sun May 06, 2007 3:04 pm
I suggest making Druids not more similar to Clerics.
Clerics do have the advantage of being able to use a lot of healing spells, more dispel spells, etc.
Druids shouldn't be made into a Cleric. Instead, some of their spells could be made different and more powerful in regards a Cleric lack access to.
I think I have some suggestions, but I would need to get back home to get access to my books, etc.
Clerics do have the advantage of being able to use a lot of healing spells, more dispel spells, etc.
Druids shouldn't be made into a Cleric. Instead, some of their spells could be made different and more powerful in regards a Cleric lack access to.
I think I have some suggestions, but I would need to get back home to get access to my books, etc.
- T3hRedMage
- Eternal War's Mortician (PU)
- Posts: 912
- Joined: Wed Mar 21, 2007 7:59 pm
- Rary
- Eternal War's Undertaker (DM,Admin)
- Posts: 1735
- Joined: Mon Sep 18, 2006 2:01 pm
- Location: Columbus, Ohio, USA
- Contact:
Ya, lets see what it does already. It is unchanged, so Bioware default and if you can read Bioware scripting then here it is currently:
//::///////////////////////////////////////////////
//:: Natures Balance
//:: NW_S0_NatureBal.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Reduces the SR of all enemies by 1d4 per 5 caster
levels for 1 round per 3 caster levels. Also heals
all friends for 3d8 + Caster Level
Radius is 15 feet from the caster.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: June 22, 2001
//:://////////////////////////////////////////////
//:: VFX Pass By: Preston W, On: June 22, 2001
#include "X0_I0_SPELLS"
#include "x2_inc_spellhook"
void main()
{
/*
Spellcast Hook Code
Added 2003-06-20 by Georg
If you want to make changes to all spells,
check x2_inc_spellhook.nss to find out more
*/
if (!X2PreSpellCastCode())
{
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
return;
}
// End of Spell Cast Hook
//Declare major variables
effect eHeal;
effect eVis = EffectVisualEffect(VFX_IMP_HEALING_L);
effect eSR;
effect eVis2 = EffectVisualEffect(VFX_IMP_BREACH);
effect eNature = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
int nRand;
int nCasterLevel = GetCasterLevel(OBJECT_SELF);
//Determine spell duration as an integer for later conversion to Rounds, Turns or Hours.
int nDuration = nCasterLevel/3;
int nMetaMagic = GetMetaMagicFeat();
float fDelay;
//Set off fire and forget visual
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eNature, GetLocation(OBJECT_SELF));
//Declare the spell shape, size and the location. Capture the first target object in the shape.
if (nMetaMagic == METAMAGIC_EXTEND)
{
nDuration = nDuration *2; //Duration is +100%
}
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), FALSE);
//Cycle through the targets within the spell shape until an invalid object is captured.
while(GetIsObjectValid(oTarget))
{
fDelay = GetRandomDelay();
//Check to see how the caster feels about the targeted object
if(GetIsFriend(oTarget))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_NATURES_BALANCE, FALSE));
nRand = d8(3) + nCasterLevel;
//Enter Metamagic conditions
if (nMetaMagic == METAMAGIC_MAXIMIZE)
{
nRand = 24 + nCasterLevel;//Damage is at max
}
else if (nMetaMagic == METAMAGIC_EMPOWER)
{
nRand = nRand + nRand/2; //Damage/Healing is +50%
}
eHeal = EffectHeal(nRand);
//Apply heal effects
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget));
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
}
else
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_NATURES_BALANCE));
if(!GetIsReactionTypeFriendly(oTarget))
{
//Check for saving throw
if (!MySavingThrow(SAVING_THROW_WILL, oTarget, GetSpellSaveDC()))
{
nCasterLevel /= 5;
if(nCasterLevel == 0)
{
nCasterLevel = 1;
}
nRand = d4(nCasterLevel);
//Enter Metamagic conditions
if (nMetaMagic == METAMAGIC_MAXIMIZE)
{
nRand = 4 * nCasterLevel;//Damage is at max
}
else if (nMetaMagic == METAMAGIC_EMPOWER)
{
nRand = nRand + (nRand/2); //Damage/Healing is +50%
}
eSR = EffectSpellResistanceDecrease(nRand);
effect eLink = EffectLinkEffects(eSR, eDur);
//Apply reduce SR effects
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget));
}
}
}
//Select the next target within the spell shape.
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), FALSE);
}
}
//::///////////////////////////////////////////////
//:: Natures Balance
//:: NW_S0_NatureBal.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Reduces the SR of all enemies by 1d4 per 5 caster
levels for 1 round per 3 caster levels. Also heals
all friends for 3d8 + Caster Level
Radius is 15 feet from the caster.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: June 22, 2001
//:://////////////////////////////////////////////
//:: VFX Pass By: Preston W, On: June 22, 2001
#include "X0_I0_SPELLS"
#include "x2_inc_spellhook"
void main()
{
/*
Spellcast Hook Code
Added 2003-06-20 by Georg
If you want to make changes to all spells,
check x2_inc_spellhook.nss to find out more
*/
if (!X2PreSpellCastCode())
{
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
return;
}
// End of Spell Cast Hook
//Declare major variables
effect eHeal;
effect eVis = EffectVisualEffect(VFX_IMP_HEALING_L);
effect eSR;
effect eVis2 = EffectVisualEffect(VFX_IMP_BREACH);
effect eNature = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
int nRand;
int nCasterLevel = GetCasterLevel(OBJECT_SELF);
//Determine spell duration as an integer for later conversion to Rounds, Turns or Hours.
int nDuration = nCasterLevel/3;
int nMetaMagic = GetMetaMagicFeat();
float fDelay;
//Set off fire and forget visual
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eNature, GetLocation(OBJECT_SELF));
//Declare the spell shape, size and the location. Capture the first target object in the shape.
if (nMetaMagic == METAMAGIC_EXTEND)
{
nDuration = nDuration *2; //Duration is +100%
}
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), FALSE);
//Cycle through the targets within the spell shape until an invalid object is captured.
while(GetIsObjectValid(oTarget))
{
fDelay = GetRandomDelay();
//Check to see how the caster feels about the targeted object
if(GetIsFriend(oTarget))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_NATURES_BALANCE, FALSE));
nRand = d8(3) + nCasterLevel;
//Enter Metamagic conditions
if (nMetaMagic == METAMAGIC_MAXIMIZE)
{
nRand = 24 + nCasterLevel;//Damage is at max
}
else if (nMetaMagic == METAMAGIC_EMPOWER)
{
nRand = nRand + nRand/2; //Damage/Healing is +50%
}
eHeal = EffectHeal(nRand);
//Apply heal effects
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget));
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
}
else
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_NATURES_BALANCE));
if(!GetIsReactionTypeFriendly(oTarget))
{
//Check for saving throw
if (!MySavingThrow(SAVING_THROW_WILL, oTarget, GetSpellSaveDC()))
{
nCasterLevel /= 5;
if(nCasterLevel == 0)
{
nCasterLevel = 1;
}
nRand = d4(nCasterLevel);
//Enter Metamagic conditions
if (nMetaMagic == METAMAGIC_MAXIMIZE)
{
nRand = 4 * nCasterLevel;//Damage is at max
}
else if (nMetaMagic == METAMAGIC_EMPOWER)
{
nRand = nRand + (nRand/2); //Damage/Healing is +50%
}
eSR = EffectSpellResistanceDecrease(nRand);
effect eLink = EffectLinkEffects(eSR, eDur);
//Apply reduce SR effects
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget));
}
}
}
//Select the next target within the spell shape.
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), FALSE);
}
}
- T3hRedMage
- Eternal War's Mortician (PU)
- Posts: 912
- Joined: Wed Mar 21, 2007 7:59 pm
Druids have nice transmutation spells. Spike Growth, Entangle, Drown.
Gnarr and I played around with Natures Balance tonight and came up with-
Extending it's duration. It wore off in 10 seconds from a level 16 druid.
Making it have 25% spell failure.
Making it a... extraordinary spell? (( Can't be removed by restore spells. ))
Keep the will save without boosting DC.
Gnarr and I played around with Natures Balance tonight and came up with-
Extending it's duration. It wore off in 10 seconds from a level 16 druid.
Making it have 25% spell failure.
Making it a... extraordinary spell? (( Can't be removed by restore spells. ))
Keep the will save without boosting DC.
- Lord Mephisto
- Initiate of War
- Posts: 140
- Joined: Sun May 06, 2007 3:04 pm
You can't change the spell school without a 2da-change.Casas wrote:Yup that works on failure. Just need to raise that DC a tad. The spell is some off the wall school, worthless to take focus in. One of the reasons it's so weak, perhaps change it's school to Conjuration?
It would be better to add another effect fitting the name Nature's Balance and being valuable for Druids. For example entanglement of enemies and/or protection from entanglement of allies. Or it could additionally heal blindness/deafness.
- Rary
- Eternal War's Undertaker (DM,Admin)
- Posts: 1735
- Joined: Mon Sep 18, 2006 2:01 pm
- Location: Columbus, Ohio, USA
- Contact:
According to the script the level 16 druid should've had 30 seconds.T3hRedMage wrote:Extending it's duration. It wore off in 10 seconds from a level 16 druid.
Making it have 25% spell failure.
Making it a... extraordinary spell? (( Can't be removed by restore spells. ))
Keep the will save without boosting DC.
16/3 = 5 in Bioware terms. 5 rounds = 30 seconds. So yes even at level 20, the druid has issues since they will only get 6 rounds.
I'll try and make it per 2 casterlevels instead of 3? Or just straight casterlevels.
That would be 1 full minute at lvl 20 or 2 full minutes, respectively.
That would be 30 seconds at lvl 10 or 1 full minute, respectively.