PRC8/nwn/nwnprc/trunk/scripts/prc_sch_arcanep.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

60 lines
1.8 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Song of Arcane Power
//:: prc_sch_cosmfire.nss
//:://////////////////////////////////////////////
/*
// Bonus to caster level.
// Depends on Perform skill check.
*/
//:://////////////////////////////////////////////
//:: Created By: xwarren
//:: Created On: Dec 8, 2009
//:://////////////////////////////////////////////
#include "prc_alterations"
void main()
{
object oCaster = OBJECT_SELF;
if (PRCGetHasEffect(EFFECT_TYPE_SILENCE,OBJECT_SELF))
{
FloatingTextStrRefOnCreature(85764,OBJECT_SELF); // not useable when silenced
return;
}
else if(GetSkillRank(SKILL_PERFORM, oCaster) < 12)
{
FloatingTextStringOnCreature("You need 12 or more ranks in perform skill.", oCaster, FALSE);
return;
}
else if (!GetHasFeat(FEAT_BARD_SONGS, oCaster))
{
//SpeakStringByStrRef(40550);
FloatingTextStringOnCreature("No Bard Song uses!", oCaster, FALSE);
return;
}
else
{
DecrementRemainingFeatUses(oCaster, FEAT_BARD_SONGS);
//Declare major variables
int nPerform = d20(1) + GetSkillRank(SKILL_PERFORM, oCaster);
int nBonus;
effect eVis = EffectVisualEffect(VFX_DUR_BARD_SONG);
eVis = EffectLinkEffects(eVis, EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
if(nPerform >= 30)
nBonus = 4;
else if(nPerform < 30 && nPerform >= 20)
nBonus = 2;
else if(nPerform < 20 && nPerform >= 10)
nBonus = 1;
else
nBonus = 0;
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, oCaster, 9.0f);
SetLocalInt(oCaster, "SongOfArcanePower", nBonus);
DelayCommand(9.0f, DeleteLocalInt(oCaster, "SongOfArcanePower"));
}
}