38 lines
974 B
Plaintext
38 lines
974 B
Plaintext
|
|
void main()
|
|
|
|
{
|
|
object oActor;
|
|
object oSpawn;
|
|
effect eVFX;
|
|
|
|
// Get the creature who triggered this event.
|
|
object oPC = GetLastKiller();
|
|
|
|
while (GetIsObjectValid(GetMaster(oPC)))
|
|
{
|
|
oPC=GetMaster(oPC);
|
|
}
|
|
|
|
// Only fire once.
|
|
if ( GetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF)) )
|
|
return;
|
|
SetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE);
|
|
|
|
// Cutscene functions:
|
|
BlackScreen(oPC);
|
|
|
|
// Spawn "uluhtc".
|
|
eVFX = EffectVisualEffect(VFX_FNF_SUMMON_GATE);
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "uluhtc", GetLocation(oPC));
|
|
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn));
|
|
|
|
// Cutscene functions:
|
|
DelayCommand(0.6, FadeFromBlack(oPC));
|
|
|
|
// Have "uluhtc" strike up a conversation with the PC.
|
|
oActor = GetNearestObjectByTag("uluhtc", oPC);
|
|
DelayCommand(3.0, AssignCommand(oActor, ActionStartConversation(oPC)));
|
|
}
|
|
|