Initial module commit
Initial module commit.
This commit is contained in:
181
_module/nss/g_smallfireworks.nss
Normal file
181
_module/nss/g_smallfireworks.nss
Normal file
@@ -0,0 +1,181 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Small Fireworks Explosion
|
||||
//:: g_smallfireworks
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
|
||||
This is the OnDamaged Event for the firework targets. Do not Edit unless you know
|
||||
what you are doing.
|
||||
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jay Clark
|
||||
//:: Created On: August 31, 2004
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
object oSource = GetObjectByTag("FireworksSource");
|
||||
object oTarget = OBJECT_SELF;
|
||||
effect eExplode = EffectVisualEffect(VFX_FNF_FIREBALL);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT,eExplode,oTarget);
|
||||
effect eExtra;
|
||||
float fFire = 0.5;
|
||||
int nNum;
|
||||
//Check to see if another script set the explosion for us
|
||||
if (GetLocalInt(oSource,"SmallFireWorks") == 0)
|
||||
{
|
||||
//No script did pick one at random
|
||||
nNum = Random(21)+1;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Another script did get the explosion type.
|
||||
nNum = GetLocalInt(oSource,"SmallFireWorks");
|
||||
}
|
||||
|
||||
//Get and fire the effect picked
|
||||
switch(nNum)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
eExtra = EffectVisualEffect(VFX_FNF_DISPEL_DISJUNCTION);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
eExtra = EffectVisualEffect(VFX_FNF_DISPEL);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
eExtra = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
eExtra = EffectVisualEffect(VFX_FNF_SOUND_BURST);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
eExtra = EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
eExtra = EffectVisualEffect(13);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
eExtra = EffectVisualEffect(18);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
eExtra = EffectVisualEffect(31);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
eExtra = EffectVisualEffect(69);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
eExtra = EffectVisualEffect(149);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
eExtra = EffectVisualEffect(190);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
{
|
||||
eExtra = EffectVisualEffect(218);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 13:
|
||||
{
|
||||
eExtra = EffectVisualEffect(279);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 14:
|
||||
{
|
||||
eExtra = EffectVisualEffect(463);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 15:
|
||||
{
|
||||
eExtra = EffectVisualEffect(315);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 16:
|
||||
{
|
||||
eExtra = EffectVisualEffect(140);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 17:
|
||||
{
|
||||
eExtra = EffectVisualEffect(187);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 18:
|
||||
{
|
||||
eExtra = EffectVisualEffect(217);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 19:
|
||||
{
|
||||
eExtra = EffectVisualEffect(407);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 20:
|
||||
{
|
||||
eExtra = EffectVisualEffect(82);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
eExtra = EffectVisualEffect(VFX_FNF_SUMMONDRAGON);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
default :
|
||||
{
|
||||
eExtra = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||
DelayCommand(fFire,ApplyEffectToObject(DURATION_TYPE_INSTANT,eExtra,oTarget));
|
||||
break;
|
||||
}
|
||||
}
|
||||
//Are we to call for another firework?
|
||||
if (GetLocalInt(oSource,"NEWFIREWORK") == TRUE)
|
||||
{
|
||||
//Yes then call it
|
||||
DelayCommand(6.0,ExecuteScript("g_fireworks",oSource));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user