PRC8/nwn/nwnprc/trunk/scripts/prc_tk_fnlstnd.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

51 lines
1.7 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Bard Song
//:: prc_tk_fnlstnd.nss
//:://////////////////////////////////////////////
/*
All allies within 30' gain 2d10 temp HP
*/
//:://////////////////////////////////////////////
//:: Created By: Stratovarius
//:: Created On: Aug 6, 2004
//:://////////////////////////////////////////////
#include "prc_alterations"
#include "prc_class_const"
void main()
{
//Declare major variables
int nLevel = GetLevelByClass(CLASS_TYPE_THAYAN_KNIGHT);
int nChr = GetAbilityModifier(ABILITY_CHARISMA);
int nDuration = nChr + nLevel;
int nHP = d10(2);
effect eHP = EffectTemporaryHitpoints(nHP);
effect eVis = EffectVisualEffect(VFX_DUR_BARD_SONG);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
effect eImpact = EffectVisualEffect(VFX_IMP_HEAD_SONIC);
effect eFNF = EffectVisualEffect(VFX_FNF_LOS_NORMAL_30);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eFNF, GetLocation(OBJECT_SELF));
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(OBJECT_SELF));
eHP = ExtraordinaryEffect(eHP);
while(GetIsObjectValid(oTarget))
{
if(oTarget == OBJECT_SELF)
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHP, oTarget, RoundsToSeconds(nDuration));
}
else if(GetIsFriend(oTarget))
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHP, oTarget, RoundsToSeconds(nDuration));
}
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(OBJECT_SELF));
}
}