Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,115 +0,0 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Heal
|
||||
//:: [NW_S0_Heal.nss]
|
||||
//:: Copyright (c) 2000 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Heals the target to full unless they are undead.
|
||||
//:: If undead they reduced to 1d4 HP.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: Jan 12, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Update Pass By: Preston W, On: Aug 1, 2001
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003 for PRC stuff
|
||||
|
||||
//::Added code to maximize for Faith Healing and Blast Infidel
|
||||
//::Aaon Graywolf - Jan 7, 2004
|
||||
|
||||
#include "prc_inc_clsfunc"
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
|
||||
//Declare major variables
|
||||
object oTarget = OBJECT_SELF;
|
||||
effect eHeal;
|
||||
int nHeal;
|
||||
effect eSun = EffectVisualEffect(VFX_IMP_SUNSTRIKE);
|
||||
effect eHealVis = EffectVisualEffect(VFX_IMP_HEALING_S);
|
||||
|
||||
effect eRegen = EffectRegenerate(3, 6.0);
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_HEAD_NATURE);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||||
effect eLink = EffectLinkEffects(eRegen, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eVis);
|
||||
|
||||
|
||||
if (!GetHasFeat(FEAT_DRAGONSONG_STRENGTH, OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStringOnCreature("This ability is tied to your dragons song ability, which has no more uses for today.",OBJECT_SELF); // no more bardsong uses left
|
||||
return;
|
||||
}
|
||||
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_SILENCE,OBJECT_SELF))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(85764,OBJECT_SELF); // not useable when silenced
|
||||
return;
|
||||
}
|
||||
|
||||
if (PRCGetHasEffect(EFFECT_TYPE_DEAF,OBJECT_SELF) && d100(1) <= 20)
|
||||
{
|
||||
FloatingTextStringOnCreature("Your deafness has caused you to fail.",OBJECT_SELF);
|
||||
DecrementRemainingFeatUses(OBJECT_SELF, FEAT_DRAGONSONG_STRENGTH);
|
||||
return;
|
||||
}
|
||||
|
||||
effect eFNF = EffectVisualEffect(VFX_FNF_LOS_NORMAL_30);
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eFNF, GetLocation(OBJECT_SELF));
|
||||
|
||||
RemoveOldSongEffects(OBJECT_SELF,SPELL_DSL_SONG_HEALING);
|
||||
RemoveOldSongs(OBJECT_SELF);
|
||||
|
||||
int nEpic = GetHasFeat(FEAT_EPIC_DRAGONSONG_HEALING) ? TRUE:FALSE;
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_HEAL, FALSE));
|
||||
|
||||
int nLevel = GetLevelByClass(CLASS_TYPE_DRAGONSONG_LYRIST);
|
||||
|
||||
//Determine spell duration as an integer for later conversion to Rounds, Turns or Hours.
|
||||
int nDuration = 10*nLevel;
|
||||
|
||||
//Check to see if the caster has Lasting Impression and increase duration.
|
||||
if(GetHasFeat(870))
|
||||
{
|
||||
nDuration *= 10;
|
||||
}
|
||||
|
||||
// lingering song
|
||||
if(GetHasFeat(424)) // lingering song
|
||||
{
|
||||
nDuration += 5;
|
||||
}
|
||||
|
||||
//Get first target in shape
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, PRCGetSpellTargetLocation());
|
||||
while (GetIsObjectValid(oTarget))
|
||||
{
|
||||
|
||||
if(GetIsReactionTypeFriendly(oTarget)|| GetFactionEqual(oTarget))
|
||||
{
|
||||
//Figure out how much to heal
|
||||
nHeal = (nEpic) ? (d8(4) + 2 * nLevel) : (d8(2) + 2 * nLevel); // cure moderate or cure critical (epic)
|
||||
|
||||
//Set the heal effect
|
||||
eHeal = EffectHeal(nHeal);
|
||||
//Apply the heal effect and the VFX impact
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eHealVis, oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget);
|
||||
|
||||
if (nEpic)
|
||||
{
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oTarget, RoundsToSeconds(nDuration),FALSE);
|
||||
StoreSongRecipient(oTarget, OBJECT_SELF, GetSpellId(), nDuration);
|
||||
}
|
||||
// Code for FB to remove damage that would be caused at end of Frenzy
|
||||
SetLocalInt(oTarget, "PC_Damage", 0);
|
||||
}
|
||||
//Get next target in the shape
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, PRCGetSpellTargetLocation());
|
||||
}
|
||||
|
||||
DecrementRemainingFeatUses(OBJECT_SELF, FEAT_DRAGONSONG_STRENGTH);
|
||||
|
||||
}
|
Reference in New Issue
Block a user