Lankhmar_PRC8/_module/nss/ent_spawn_rnsh1.nss

59 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 12:54:47 -04:00
void main()
{
object oTarget;
object oSpawn;
location lTarget;
// Get the creature who triggered this event.
object oPC = GetEnteringObject();
// Only fire for (real) PCs.
if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) )
return;
// Only fire once.
if ( GetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF)) )
return;
SetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE);
ClearAllActions();
FadeToBlack(oPC);
// Have the PC perform a sequence of actions.
AssignCommand(oPC, ActionJumpToObject(GetObjectByTag("WP_Spn_rnsh1b")));
FadeFromBlack(oPC);
// Open "inrshdr1".
oTarget = GetObjectByTag("inrshdr1");
AssignCommand(oTarget, ActionOpenDoor(oTarget));
// Open "inrshdr2".
oTarget = GetObjectByTag("inrshdr2");
AssignCommand(oTarget, ActionOpenDoor(oTarget));
// Have text appear over the PC's head.
FloatingTextStringOnCreature("After waiting for a while, Lady Rannarsh arrives.", oPC);
oTarget = GetWaypointByTag("WP_Spn_ulat01");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "ulat1", lTarget);
oTarget = GetWaypointByTag("WP_Spn_rnsh1");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "rannarsh1", lTarget);
oTarget = oSpawn;
// Cutscene functions:
SetCutsceneMode(oPC, TRUE);
DelayCommand(3.0, AssignCommand(oTarget, ActionStartConversation(oPC, "")));
DelayCommand(4.5, SetCutsceneMode(oPC, FALSE));
}