33 lines
931 B
Plaintext
33 lines
931 B
Plaintext
void main()
|
|
{
|
|
effect eVFX;
|
|
object oTarget;
|
|
object oSpawn;
|
|
|
|
// Get the creature who triggered this event.
|
|
object oPC = GetEnteringObject();
|
|
|
|
// Only fire for (real) PCs.
|
|
if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) )
|
|
return;
|
|
|
|
// Only fire once per PC.
|
|
if ( GetLocalInt(oPC, "DO_ONCE__" + GetTag(OBJECT_SELF)) )
|
|
return;
|
|
SetLocalInt(oPC, "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE);
|
|
|
|
// Spawn "sl_induc".
|
|
oTarget = GetWaypointByTag("WP_SPn_Induc");
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "sl_induc", GetLocation(oTarget));
|
|
AssignCommand(oSpawn, ActionStartConversation(oPC));
|
|
|
|
// Apply a visual effect.
|
|
eVFX = EffectVisualEffect(VFX_IMP_UNSUMMON);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn);
|
|
|
|
// Destroy an object (not fully effective until this script ends).
|
|
DelayCommand(5.0, DestroyObject(GetObjectByTag("Portal1")));
|
|
|
|
}
|
|
|