50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Lycanthrope Change
|
|
//:: NW_C2_LYRAT_D
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Changes someone into a barghest when they are
|
|
attacked.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: Jan 27, 2002
|
|
//:: Modified by: Eligio Sacataca for Barghest
|
|
//:://////////////////////////////////////////////
|
|
|
|
void main()
|
|
{
|
|
// Make sure the were creature has a custom on spawn in with the line Custom User On Attacked being
|
|
// commented in. This becomes the Userdefined script.
|
|
|
|
int nUser = GetUserDefinedEventNumber();
|
|
|
|
// still needs this check otherwise it could spawn in multiple barghests if
|
|
// attacked by multiple creatures at the same time.
|
|
int nChange = GetLocalInt(OBJECT_SELF,"ZEP_BARGHESTFORM");
|
|
|
|
effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD);
|
|
if(nUser == 1005 && nChange == 0)
|
|
{
|
|
// Get position and facing of Goblin and set spawn point for the Barghest
|
|
vector vGoblin = GetPosition(OBJECT_SELF);
|
|
float fAngle = GetFacing(OBJECT_SELF);
|
|
location lBarghest;
|
|
vector vChange;
|
|
object oArea = GetArea(OBJECT_SELF);
|
|
vChange.x = cos(fAngle) * 1.0;
|
|
lBarghest = Location(oArea, vGoblin+vChange, fAngle);
|
|
|
|
DelayCommand(0.9, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(OBJECT_SELF)));
|
|
|
|
SetLocalInt(OBJECT_SELF, "ZEP_BARGHESTFORM", 1);
|
|
|
|
// Spawn the Barghest
|
|
CreateObject(OBJECT_TYPE_CREATURE,"zep_barghest",lBarghest,FALSE);
|
|
|
|
// Destroy the goblin
|
|
DelayCommand(1.0, DestroyObject(OBJECT_SELF));
|
|
}
|
|
}
|