PoA_PRC8/_module/nss/vfx_on_enter.nss

457 lines
22 KiB
Plaintext
Raw Permalink Normal View History

2022-10-07 14:20:31 -04:00
//Script Name: vfx_on_enter
//////////////////////////////////////////
//Created By: Genisys (Guile)
//Created On: 8/31/08
/////////////////////////////////////////////////////////////////////////
/*
This script goes in the OnEnter Event of an area, basically it will
allow you to put up two Permanent Visual effects on any object, keep
in mind the object should should not be invisible if the visual effect
will be an aura. To utlize simply place fx## at the beginning or the
end of the tagname (or both beginning and the end of the tagname) of
any object you wish to apply a visual effect.
See the ##s below to find out which VFX will be applied.
Example Object Tagname: fx51_bench_fx23
This would apply a yellow glow with a yellow IounStone circling the object.
NOTE: The script is better than using a heartbeat script, but it can
only apply Permanent & Temporary Visual Effect, this script only uses Permanent.
You only need to provide a UNIQUE tagname of an object in the area
which will not be getting any visual effects, this is the referrence
point the script uses. (See IMPORTANT Below)
TIP: You can use an invisible object near an object to apply non-aura
visual effects in the area of the object as well!
*/
/////////////////////////////////////////////////////////////////////////
void main()
{
////////////////////IMPORTANT/////////////////////////////
//Replace tagname below with a unique tagname of an object
//in the area which will not be recieving visual effects
//This object MUST be PLOT & REMAIN In the Area!
//////////////////////////////////////////////////////////
object oRefPoint = GetObjectByTag("tagname");
/////////////////////////////////////////////////////////////////////////
//////////WARNING: DON'T TOUCH ANYTHING BELOW THIS LINE!/////////////////
/////////////////////////////////////////////////////////////////////////
object oEnterer = GetEnteringObject();
if (GetIsPC(oEnterer) == TRUE) {
//Create shadow vfx on placeables the first time in the area..
if (GetLocalInt(oRefPoint, "CreateVFX") != 1) {
//Set an intergal on the are to tell we have done this before!
SetLocalInt(oRefPoint, "CreateVFX", 1);
effect eEffect;
//Loop through all of the objects in the area
//and see if they have an VFX Tagname..
//If so apply the appropriate VFX(s) to the object
//The incrementing # to tell us which object to look at.
int nCount = 1;
//The object we are looking at..
object oThing = GetNearestObject(OBJECT_TYPE_PLACEABLE, oRefPoint, nCount);
//As long as the object is a valid object continue to examine
while (oThing != OBJECT_INVALID)
{
//Let's define the tagname strings first!
string sTag = GetStringLeft(GetTag(oThing), 4);
string sEnd = GetStringRight(GetTag(oThing), 4);
//fx01 = Anti Light 10 Ft Radius
if (sTag == "fx01" || sEnd == "fx01")
{
eEffect = EffectVisualEffect(VFX_DUR_ANTI_LIGHT_10);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx02 = Blue / Black Pulsating Aura
if (sTag == "fx02" || sEnd == "fx02")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_BLUE_BLACK);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx03 = Blue / White Pulsating Aura
if (sTag == "fx03" || sEnd == "fx03")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_BLUE_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx04 = Cyan / Black Pulsating Aura
if (sTag == "fx04" || sEnd == "fx04")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_CYAN_BLACK);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx05 = Cyan / Blue Pulsating Aura
if (sTag == "fx05" || sEnd == "fx05")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_CYAN_BLUE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx06 = Cyan / Green Pulsating Aura
if (sTag == "fx06" || sEnd == "fx06")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_CYAN_GREEN);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx07 = Green / Black Pulsating Aura
if (sTag == "fx07" || sEnd == "fx07")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_GREEN_BLACK);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx08 = Green / White Pulsating Aura
if (sTag == "fx08" || sEnd == "fx08")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_GREEN_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx09 = Magenta / Blue Pulsating Aura
if (sTag == "fx09" || sEnd == "fx09")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_MAGENTA_BLUE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx10 = Magenta / White Pulsating Aura
if (sTag == "fx10" || sEnd == "fx10")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_MAGENTA_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx11 = Purple / Black Pulsating Aura
if (sTag == "fx11" || sEnd == "fx11")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_PURPLE_BLACK);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx12 =Purple / White Pulsating Aura
if (sTag == "fx12" || sEnd == "fx12")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_PURPLE_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx13 = Red / Black Pulsating Aura
if (sTag == "fx13" || sEnd == "fx13")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_BLACK);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx14 = Red / Green Pulsating Aura
if (sTag == "fx14" || sEnd == "fx14")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_GREEN);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx15 = Red / White Pulsating Aura
if (sTag == "fx15" || sEnd == "fx15")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx16 = Red / Yellow Pulsating Aura
if (sTag == "fx16" || sEnd == "fx16")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_YELLOW);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx17 = Yellow / Black Pulsating Aura
if (sTag == "fx17" || sEnd == "fx17")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_BLACK);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx18 = Yellow / Orange Pulsating Aura
if (sTag == "fx18" || sEnd == "fx18")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_ORANGE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx19 = Yellow / White Pulsating Aura
if (sTag == "fx19" || sEnd == "fx19")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx20 = Purple Aura
if (sTag == "fx20" || sEnd == "fx20")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_PULSE_YELLOW_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx21 = Red Aura
if (sTag == "fx21" || sEnd == "fx21")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_RED);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx22 = White Aura
if (sTag == "fx22" || sEnd == "fx22")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_WHITE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx23 = Yellow Aura
if (sTag == "fx23" || sEnd == "fx23")
{
eEffect = EffectVisualEffect(VFX_DUR_AURA_YELLOW);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx24 = Bard Song
if (sTag == "fx24" || sEnd == "fx24")
{
eEffect = EffectVisualEffect(VFX_DUR_BARD_SONG);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx25 = Death Armor (Black Circle)
if (sTag == "fx25" || sEnd == "fx25")
{
eEffect = EffectVisualEffect(VFX_DUR_DEATH_ARMOR);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx26 = Elemental Shield
if (sTag == "fx26" || sEnd == "fx26")
{
eEffect = EffectVisualEffect(VFX_DUR_ELEMENTAL_SHIELD);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx27 = Freedome Of Movement (Green glow at bottom only)
if (sTag == "fx27" || sEnd == "fx27")
{
eEffect = EffectVisualEffect(VFX_DUR_FREEDOM_OF_MOVEMENT);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx28 = Ghost Smoke (White Smoke)
if (sTag == "fx28" || sEnd == "fx28")
{
eEffect = EffectVisualEffect(VFX_DUR_GHOST_SMOKE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx29 = Ghost - White/Transparent Aura
if (sTag == "fx29" || sEnd == "fx29")
{
eEffect = EffectVisualEffect(VFX_DUR_GHOST_TRANSPARENT);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx30 = Ghostly Pulsating Aura (transparent / white)
if (sTag == "fx30" || sEnd == "fx30")
{
eEffect = EffectVisualEffect(VFX_DUR_GHOSTLY_PULSE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx31 = GLOBE of INVULNERABILITY
if (sTag == "fx31" || sEnd == "fx31")
{
eEffect = EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx32 = Grey Glow
if (sTag == "fx32" || sEnd == "fx32")
{
eEffect = EffectVisualEffect(VFX_DUR_GLOW_GREY);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx33 = Green Glow
if (sTag == "fx33" || sEnd == "fx33")
{
eEffect = EffectVisualEffect(VFX_DUR_GLOW_GREEN);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx34 = Light Orange Glow
if (sTag == "fx34" || sEnd == "fx34")
{
eEffect = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_ORANGE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx35 = Glyph of Warding (Just like the spell!)
if (sTag == "fx35" || sEnd == "fx35")
{
eEffect = EffectVisualEffect(VFX_DUR_GLYPH_OF_WARDING);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx36 = Ice Skin (The object turns completely white)
if (sTag == "fx36" || sEnd == "fx36")
{
eEffect = EffectVisualEffect(VFX_DUR_ICESKIN);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx37 = Animated Huge Flames
if (sTag == "fx37" || sEnd == "fx37")
{
eEffect = EffectVisualEffect(VFX_DUR_INFERNO);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx38 = Iounstone Blue
if (sTag == "fx38" || sEnd == "fx38")
{
eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_BLUE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx39 = Iounstone Green
if (sTag == "fx39" || sEnd == "fx39")
{
eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_GREEN);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx40 = Iounstone Red
if (sTag == "fx40" || sEnd == "fx40")
{
eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_RED);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx41 = Iounstone Yellow
if (sTag == "fx41" || sEnd == "fx41")
{
eEffect = EffectVisualEffect(VFX_DUR_IOUNSTONE_YELLOW);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx42 = Magical Resistance Globe
if (sTag == "fx42" || sEnd == "fx42")
{
eEffect = EffectVisualEffect(VFX_DUR_MAGIC_RESISTANCE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx43 = Stone Skin Look
if (sTag == "fx43" || sEnd == "fx43")
{
eEffect = EffectVisualEffect(VFX_DUR_PETRIFY);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx44 = Pixie Dust
if (sTag == "fx44" || sEnd == "fx44")
{
eEffect = EffectVisualEffect(VFX_DUR_PIXIEDUST);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx45 = Barkskin Effect
if (sTag == "fx45" || sEnd == "fx45")
{
eEffect = EffectVisualEffect(VFX_DUR_PROT_BARKSKIN);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx46 = Premonition Globe
if (sTag == "fx46" || sEnd == "fx46")
{
eEffect = EffectVisualEffect(VFX_DUR_PROT_PREMONITION);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx47 = Black Shadow Skin
if (sTag == "fx47" || sEnd == "fx47")
{
eEffect = EffectVisualEffect(VFX_DUR_PROT_SHADOW_ARMOR);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx48 = Protection From Elements
if (sTag == "fx48" || sEnd == "fx48")
{
eEffect = EffectVisualEffect(VFX_DUR_PROTECTION_ELEMENTS);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx49 = Protection From Evil (Yellow Moving Lights)
if (sTag == "fx49" || sEnd == "fx49")
{
eEffect = EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MAJOR);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx50 = Protection From Good (Red Moving Lights)
if (sTag == "fx50" || sEnd == "fx50")
{
eEffect = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MAJOR);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx51 = Smoke
if (sTag == "fx51" || sEnd == "fx51")
{
eEffect = EffectVisualEffect(VFX_DUR_SMOKE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx52 = Small Web
if (sTag == "fx52" || sEnd == "fx52")
{
eEffect = EffectVisualEffect(VFX_DUR_WEB);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//fx53 = Massive Web
if (sTag == "fx53" || sEnd == "fx53")
{
eEffect = EffectVisualEffect(VFX_DUR_WEB_MASS);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oThing); }
//Increment the variable that tells us which object to look at..
nCount++;
//Coninue to look for the next valid object..
oThing = GetNearestObject(OBJECT_TYPE_PLACEABLE, oRefPoint, nCount);
}
}
}
}
////////////////////////////////////////////////////////////////////////////////
/////////////MAIN SCRIPT END///////////////////////////////////////
/////////////////////////////////////////////////////