Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,85 +0,0 @@
|
||||
#include "prc_inc_clsfunc"
|
||||
|
||||
void main()
|
||||
{
|
||||
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));
|
||||
|
||||
//Declare major variables
|
||||
object oTarget;
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||||
effect eFast = EffectMovementSpeedIncrease(50);
|
||||
effect eHaste = EffectHaste();
|
||||
effect eLink = EffectLinkEffects(eFast, eDur);
|
||||
if (GetHasFeat(FEAT_EPIC_DRAGONSONG_SPEED))
|
||||
eLink = EffectLinkEffects(eLink, eHaste);
|
||||
|
||||
int nLevel = GetLevelByClass(CLASS_TYPE_DRAGONSONG_LYRIST);
|
||||
|
||||
//Determine spell duration as an integer for later conversion to Rounds, Turns or Hours.
|
||||
int nDuration = 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;
|
||||
}
|
||||
|
||||
location lSpell = PRCGetSpellTargetLocation();
|
||||
|
||||
RemoveOldSongEffects(OBJECT_SELF,SPELL_DSL_SONG_SPEED);
|
||||
RemoveOldSongs(OBJECT_SELF);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_DUR_BARD_SONG);
|
||||
eLink = EffectLinkEffects(eLink, eVis);
|
||||
// SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, OBJECT_SELF,RoundsToSeconds(nDuration),FALSE);
|
||||
|
||||
|
||||
//Declare the spell shape, size and the location. Capture the first target object in the shape.
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lSpell);
|
||||
//Cycle through the targets within the spell shape until an invalid object is captured or the number of
|
||||
//targets affected is equal to the caster level.
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
//Make faction check on the target
|
||||
if(oTarget == OBJECT_SELF)
|
||||
{
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oTarget, RoundsToSeconds(nDuration),FALSE);
|
||||
StoreSongRecipient(oTarget, OBJECT_SELF, GetSpellId(), nDuration);
|
||||
}
|
||||
else if(GetIsFriend(oTarget))
|
||||
{
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oTarget, RoundsToSeconds(nDuration),FALSE);
|
||||
StoreSongRecipient(oTarget, OBJECT_SELF, GetSpellId(), nDuration);
|
||||
}
|
||||
//Select the next target within the spell shape.
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lSpell);
|
||||
}
|
||||
DecrementRemainingFeatUses(OBJECT_SELF, FEAT_DRAGONSONG_STRENGTH);
|
||||
|
||||
}
|
Reference in New Issue
Block a user