#include "in_g_cutscene" void main() { // Find actors object oPC = GetFirstPC(); object oGuard1 = GetObjectByTag("g_npc_guard1"); object oGuard2 = GetObjectByTag("g_npc_guard2"); object oCaptain = GetObjectByTag("g_npc_captain"); object oMan1 = GetObjectByTag("st_npc_townman1"); object oMan2 = GetObjectByTag("st_npc_townman2"); object oWoman = GetObjectByTag("st_npc_townwoman"); object oGawper1 = GetObjectByTag("st_npc_gawper1"); object oGawper2 = GetObjectByTag("st_npc_gawper2"); object oGawper3 = GetObjectByTag("st_npc_gawper3"); // Find waypoints object oWPPC_1 = GetWaypointByTag("wp_in_pc_1"); object oWPPC_2 = GetWaypointByTag("wp_in_pc_2"); object oWPReturn = GetWaypointByTag("wp_ho_entry"); object oWPGuard1_1 = GetWaypointByTag("wp_in_guard1_1"); object oWPGuard1_2 = GetWaypointByTag("wp_in_guard1_2"); object oWPCaptain_1 = GetWaypointByTag("wp_in_captain_1"); // Start the cutscene GestaltStartCutscene (oPC, "st_mv_intro"); // Clear any associates GestaltClearAssociates (0.0, oPC, 63,1); // Start Guard 1 warming his hands at the fire until captain gets there GestaltAnimate (0.0, oGuard1, ANIMATION_LOOPING_GET_MID,11.0); // Start Woman praying GestaltAnimate (0.0, oWoman, ANIMATION_LOOPING_MEDITATE,10.0); // Move player and guard captain to target waypoints at a walk in 13.0 seconds GestaltActionMove (0.0, oPC, oWPPC_1,FALSE,0.0,13.0); GestaltActionMove (0.0, oCaptain, oWPCaptain_1,FALSE,0.0,13.0); // Set them to face in the same direction as their waypoint when they get there GestaltActionFace (0.01, oPC, 0.0,1,oWPPC_1); GestaltActionFace (0.01, oCaptain, 0.0,1,oWPCaptain_1); // PC and Captain chat as they walk GestaltSpeak (0.0, oCaptain, "I think the guard said he just saw Kumal outside!"); GestaltSpeak (3.0, oPC, "What's so important about this job Kumal has for me?"); GestaltSpeak (9.0, oCaptain, "A thief who stole a book just fenced it to Kumal. The note I gave you from Kumal tells more about it."); // Guard 2 salutes as Captain walks past GestaltAnimate (8.0, oGuard2, ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD); // As the PC and Captain approach, woman starts wailing GestaltPlaySound (10.1, oWoman, "as_pl_wailingf1"); GestaltAnimate (10.2, oWoman, ANIMATION_LOOPING_TALK_PLEADING,8.0); // Guard 1 comes to salute captain and captain returns salute GestaltActionMove (12.00, oGuard1, oWPGuard1_1); GestaltActionFace (12.01, oGuard1, 0.0,1,oWPGuard1_1); GestaltActionAnimate (12.02, oGuard1, ANIMATION_FIREFORGET_SALUTE); GestaltActionAnimate (14.0, oCaptain, ANIMATION_FIREFORGET_SALUTE); // Guard 1 reports in GestaltSpeak (15.0, oCaptain, "Well, did you see Kumal outside?"); GestaltPlaySound (17.0, oGuard1, "as_pl_soldierm3"); GestaltSpeak (17.0, oGuard1, "Yes sir.. uh.. ma'am. Sure did, in alley out of the south entrance. Past that wailing woman."); // Crowd gawps GestaltAnimate (15.0, oGawper3, ANIMATION_LOOPING_LOOK_FAR,6.0); GestaltAnimate (16.0, oGawper1, ANIMATION_LOOPING_LOOK_FAR,5.0); // Gawper 1 calls to Gawper 2, who looks to see what's going on GestaltFace (21.0, oGawper1, 0.0,2,oGawper2); GestaltAnimate (22.0, oGawper1, ANIMATION_FIREFORGET_GREETING); GestaltAnimate (23.0, oGawper2, ANIMATION_FIREFORGET_HEAD_TURN_LEFT); GestaltAnimate (25.0, oGawper2, ANIMATION_LOOPING_LOOK_FAR,10.0); GestaltFace (25.0, oGawper1, 0.0,2,oWPPC_2); GestaltAnimate (28.0, oGawper3, ANIMATION_LOOPING_LOOK_FAR,4.0); // Woman finishes moaning and goes back to praying and crying GestaltPlaySound (22.3, oWoman, "as_pl_cryingf1"); GestaltPlaySound (28.0, oWoman, "as_pl_cryingf2"); GestaltAnimate (28.1, oWoman, ANIMATION_LOOPING_MEDITATE,55.0); // Turn the PC to face the Captain and ask what's going on GestaltActionFace (27.00, oPC, 0.0,2,oCaptain); GestaltActionSpeak (27.01, oPC, "What's going on with that woman? She's causing quite a scene.",NORMAL,3.0); // Captain dismisses Guard 1, who walks back to his fire GestaltActionAnimate (28.0, oCaptain, ANIMATION_FIREFORGET_SALUTE); GestaltActionAnimate (29.0, oGuard1, ANIMATION_FIREFORGET_SALUTE); GestaltActionMove (30.00, oGuard1, oWPGuard1_2); GestaltActionFace (30.01, oGuard1, 0.0,1,oWPGuard1_2); // Captain turns to face the PC and explains what's going on GestaltActionFace (29.5, oCaptain, 0.0,2,oPC); GestaltActionSpeak (30.0, oCaptain, "Never mind her, are you ready?",NORMAL,24.0); GestaltSpeak (42.0, oCaptain, "You need to get out there and do the job with Kumal."); // Meanwhile in the background, the menfolk start talking GestaltPlaySound (40.1, oMan2, "as_pl_wailingm1"); GestaltPlaySound (45.1, oMan1, "as_pl_wailingm4"); GestaltPlaySound (51.1, oMan2, "as_pl_wailingm3"); GestaltPlaySound (58.1, oMan1, "as_pl_cryingm3"); // Start Men playing talk animations as they come into view of camera GestaltAnimate (75.0, oMan1, PLEADING,20.0); GestaltAnimate (75.0, oMan2, NORMAL,20.0); // PC twigs what's going on GestaltSpeak (54.0, oPC, "Is that the Gray Mouser..? Sorry.. Yes, I will but.. It's not just that woman. There are other Lankhmarts here in a similar state. What's wrong with them?",NORMAL,6.0); GestaltSpeak (60.0, oCaptain, "Something about people disappearing. The children, the elderly. These rabble come here to drink and moan together all the time.",NORMAL,8.0); GestaltSpeak (68.0, oPC, "Does anyone know what happened to the missing people?",NORMAL,4.0); GestaltSpeak (72.0, oCaptain, "Who knows? Now listen, are you going to do the job or not? I put my reputation on the line for you.",NORMAL,7.0); GestaltSpeak (79.0, oPC, "Alright, I won't let you or your reputation down.",NORMAL,3.0); GestaltSpeak (82.0, oCaptain, "Good. And when you're done, I SUPPOSE you can help these people too. Just please tell me how it went with Kumal. He seems very secretive about this job. Almost.. Afraid.",PLEADING,6.0); GestaltSpeak (88.0, oPC, "Alright, I'll go see Kumal right now, then tell you how it went.",NORMAL,1.5); // Woman gets up and begs for help GestaltPlaySound (85.0, oWoman, "as_pl_ailingf3"); GestaltAnimate (85.1, oWoman, ANIMATION_LOOPING_TALK_PLEADING,8.0); // Move the PC towards the sewer entrance GestaltActionMove (90.0, oPC, oWPPC_2); // Return their associates GestaltReturnAssociates (95.00, oPC, 63,1,oWPReturn); // End the cutscene and beam the PC to the waypoint with the tag "wp_ho_entry" in the holding area GestaltStopCutscene (95.01, oPC, "wp_ho_entry"); // Camera movements // Set initial position for camera, facing due north from 10.0m directly above the player GestaltCameraSetup (0.0, oPC, 90.0,10.0,0.0); // Use GestaltCameraSmooth function to move the camera over the rooftops and down towards the sewer as PC walks // 090.0,10.0,00.0 - initial camera position GestaltCameraSmooth (0.0, 0.0,0.0,0.0, 2.0,1.4,2.0, 5.0,40.0,oPC); // 095.0,13.0,05.0 - camera position after 005.0 seconds GestaltCameraSmooth (5.0, 2.0,1.4,2.0, 4.0,0.0,2.0, 5.0,40.0,oPC); // 110.0,18.0,15.0 - camera position after 010.0 seconds GestaltCameraSmooth (10.0, 4.0,0.0,2.0, 4.0,0.0,2.0, 10.0,40.0,oPC); // 150.0,18.0,35.0 - camera position after 020.0 seconds GestaltCameraSmooth (20.0, 4.0,0.0,2.0, 4.0,-0.5,0.0, 10.0,40.0,oPC); // 190.0,15.5,45.0 - camera position after 030.0 seconds GestaltCameraSmooth (30.0, 4.0,-0.5,0.0, 4.0,-0.3,0.0, 20.0,40.0,oPC); // 270.0,07.5,45.0 - camera position after 050.0 seconds GestaltCameraSmooth (50.0, 4.0,-0.3,0.0, 3.0,0.0,0.0, 10.0,40.0,oPC); // 305.0,06.0,45.0 - camera position after 060.0 seconds GestaltCameraSmooth (60.0, 3.0,0.0,0.0, 2.0,0.12,0.0, 30.0,40.0,oPC); // 020.0,07.8,45.0 - camera position after 090.0 seconds GestaltCameraSmooth (90.0, 3.0,0.0,0.0, 2.0,0.12,0.0, 30.0,40.0,oPC); // 035.0,08.7,45.0 - camera position after 105.0 seconds //GestaltCameraSmooth (90.0, 2.0,0.12,0.0, 0.0,0.0,0.0, 15.0,40.0,oPC); // 035.0,08.7,45.0 - camera position after 105.0 seconds DestroyObject(OBJECT_SELF); }