Files
SoaFE/DATA/SCRIPTS/STORY/STORY_EMPIRE_ACTI_M04_SPACE.LUA
2026-02-28 14:00:45 -06:00

282 lines
9.9 KiB
Lua

-- $Id: //depot/Projects/StarWars_Steam/FOC/Run/Data/Scripts/Story/Story_Empire_ActI_M04_SPACE.lua#1 $
--/////////////////////////////////////////////////////////////////////////////////////////////////
--
-- (C) Petroglyph Games, Inc.
--
--
-- ***** ** * *
-- * ** * * *
-- * * * * *
-- * * * * * * * *
-- * * *** ****** * ** **** *** * * * ***** * ***
-- * ** * * * ** * ** ** * * * * ** ** ** *
-- *** ***** * * * * * * * * ** * * * *
-- * * * * * * * * * * * * * * *
-- * * * * * * * * * * ** * * * *
-- * ** * * ** * ** * * ** * * * *
-- ** **** ** * **** ***** * ** *** * *
-- * * *
-- * * *
-- * * *
-- * * * *
-- **** * *
--
--/////////////////////////////////////////////////////////////////////////////////////////////////
-- C O N F I D E N T I A L S O U R C E C O D E -- D O N O T D I S T R I B U T E
--/////////////////////////////////////////////////////////////////////////////////////////////////
--
-- $File: //depot/Projects/StarWars_Steam/FOC/Run/Data/Scripts/Story/Story_Empire_ActI_M04_SPACE.lua $
--
-- Original Author: James_Richmond
--
-- $Author: Brian_Hayes $
--
-- $Change: 637819 $
--
-- $DateTime: 2017/03/22 10:16:16 $
--
-- $Revision: #1 $
--
--/////////////////////////////////////////////////////////////////////////////////////////////////
require("PGStoryMode")
--
-- Definitions -- This function is called once when the script is first created.
--
function Definitions()
DebugMessage("%s -- In Definitions", tostring(Script))
StoryModeEvents =
{
Empire_M04_Begin = State_Empire_M04_Begin
,Empire_A01_M04_Begin_End = State_Empire_A01_M04_Begin_End
,Empire_A01_M04_Intro_Text_00 = State_Empire_A01_M04_Intro_Text_00
,Empire_A01_M04_Intro_End_00 = State_Empire_A01_M04_Intro_End_00
,Empire_A01_M04_Intro_Text_01 = State_Empire_A01_M04_Intro_Text_01
,Empire_A01_M04_Intro_End_01 = State_Empire_A01_M04_Intro_End_01
,Empire_A01_M04_Intro_Text_02 = State_Empire_A01_M04_Intro_Text_02
,Empire_A01_M04_Intro_End_02 = State_Empire_A01_M04_Intro_End_02
,Empire_A01_M04_Intro_Text_03 = State_Empire_A01_M04_Intro_Text_03
,Empire_A01_M04_Intro_End_03 = State_Empire_A01_M04_Intro_End_03
}
end
function State_Empire_M04_Begin(message)
if message == OnEnter then
-- Prevent the AI from performing an automatic fog of war reveal for this tactical scenario.
-- MessageBox("disallowing ai controlled fog reveal")
GlobalValue.Set("Allow_AI_Controlled_Fog_Reveal", 0)
-- MessageBox("Act 1 - Mission 4: Empire_M04_Begin beginning")
-- Start AI initially suspended so the rebels don't attact the acclamator right away
Suspend_AI(1)
-- Lock out the controls as we are going to be letterboxed
Lock_Controls(1)
Letter_Box_In(0)
-- Find the hint objects
space_entry_pos = Find_Hint("GENERIC_MARKER_SPACE", "entryposition")
Acclamatormove_pos = Find_Hint("GENERIC_MARKER_SPACE", "acclamatormove")
xwingmove_pos1 = Find_Hint("GENERIC_MARKER_SPACE", "xwingmarker1")
xwingmove_pos2 = Find_Hint("GENERIC_MARKER_SPACE", "xwingmarker2")
evasive_pos = Find_Hint("GENERIC_MARKER_SPACE", "evasivepos")
tantiveIV = Find_Hint("CORELLIAN_CORVETTE", "storytantive4")
acclamator = Find_Hint("ACCLAMATOR_ASSAULT_SHIP", "storyacclamator")
xwing_1 = Find_Hint("Rebel_X-Wing_Squadron", "xwing1")
xwing_2 = Find_Hint("Rebel_X-Wing_Squadron", "xwing2")
TantiveIV_Move = Find_Hint("GENERIC_MARKER_SPACE", "corvettemove")
TantiveIV_Move2 = Find_Hint("GENERIC_MARKER_SPACE", "corvettemove2")
-- keep acclamator from moving before space warp
acclamator.Suspend_Locomotor(true)
-- Prevent the acclamator from firing on the rebels until the story catches the fact that they are there
-- tantiveIV.Prevent_Opportunity_Fire(true)
-- acclamator.Prevent_Opportunity_Fire(true)
-- Pre cinematic setup
-- Set the tactical camera starting position so we can transition to it later
Point_Camera_At(evasive_pos)
-- Start the cinematic camera
Start_Cinematic_Camera()
-- Get an initial shot of the acclamator ship
-- Set_Cinematic_Camera_Key(target_pos, x_dist, y_pitch, z_yaw, euler, linkobject, use_object_rotation, cinematic_animation)
Set_Cinematic_Camera_Key(acclamator, 300, 5, 100, 1, 0, 0, 0)
-- Set_Cinematic_Target_Key(target_pos, x_dist, y_pitch, z_yaw, euler, linkobject, use_object_rotation, cinematic_animation)
Set_Cinematic_Target_Key(acclamator, 0, 0, 0, 0, 0, 0, 0)
-- Hyperspace in acclamator
acclamator.Cinematic_Hyperspace_In(60)
tantiveIV.Face_Immediate(TantiveIV_Move)
-- Fade the scene in
Fade_Screen_In(1)
Sleep(3)
-- acclamator.Suspend_Locomotor(false)
acclamator.Move_To(Acclamatormove_pos)
tantiveIV.Move_To(TantiveIV_Move)
xwing_1.Move_To(xwingmove_pos1)
xwing_2.Move_To(xwingmove_pos2)
-- Transition_Cinematic_Camera_Key(target_pos, time, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
Transition_Cinematic_Camera_Key(acclamator, 10, 500, -15, 320, 1, acclamator, 0, 0)
Transition_Cinematic_Target_Key(acclamator, 10, 700, 0, 135, 1, acclamator, 0, 0)
-- Transition_Cinematic_Target_Key(tantiveIV, 10, 0, 0, 0, 1, tantiveIV, 0, 0)
-- Let the establishing shot of the acclamator progress 4/5 before we start the dialog
Sleep(4)
-- Tell the story xml it is okay to continue with the dialog
Story_Event("LUA_FINSHED_BEGIN")
end
end
-- ****************************************************
-- Opening Cinematic Complete
-- ****************************************************
function State_Empire_A01_M04_Begin_End(message)
if message == OnEnter then
end
end
-- ****************************************************
-- First text sequence placed on screen
-- ****************************************************
function State_Empire_A01_M04_Intro_Text_00(message)
if message == OnEnter then
end
end
-- ****************************************************
-- First Text Sequence removed, 2nd sequence about to start
-- ****************************************************
function State_Empire_A01_M04_Intro_End_00(message)
if message == OnEnter then
-- The second dialog text should come on top of the first one
-- so no delay here
-- Set_Cinematic_Camera_Key(target_pos, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
Set_Cinematic_Camera_Key(tantiveIV, 200, -10, 250, 1, 0, 0, 0)
-- Set_Cinematic_Target_Key(target_pos, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
Set_Cinematic_Target_Key(tantiveIV, 0, 0, 0, 0, tantiveIV, 0, 0)
Sleep(3)
Story_Event("LUA_FINSHED_00")
end
end
-- ****************************************************
-- Second Text sequence placed on screen
-- ****************************************************
function State_Empire_A01_M04_Intro_Text_01(message)
if message == OnEnter then
end
end
-- ****************************************************
-- Second Text sequence removed from screen third sequence about to start
-- ****************************************************
function State_Empire_A01_M04_Intro_End_01(message)
if message == OnEnter then
Story_Event("LUA_FINSHED_01")
end
end
-- ****************************************************
-- Third text sequence placed on screen
-- ****************************************************
function State_Empire_A01_M04_Intro_Text_02(message)
if message == OnEnter then
Sleep(3)
end
end
-- ****************************************************
-- Third text sequence removed from screen fourth sequence about to start
-- ****************************************************
function State_Empire_A01_M04_Intro_End_02(message)
if message == OnEnter then
Story_Event("LUA_FINSHED_02")
end
end
-- ****************************************************
-- Fourth text sequence placed on screen
-- ****************************************************
function State_Empire_A01_M04_Intro_Text_03(message)
if message == OnEnter then
-- Have the acclamator do its evasive manuever
acclamator.Move_To(evasive_pos)
-- Set_Cinematic_Camera_Key(target_pos, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
Set_Cinematic_Camera_Key(acclamator, -50, 1200, 0, 1, 0, 0, 0)
-- Transition_Cinematic_Camera_Key(target_pos, time, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation,cinematic_animation)
Set_Cinematic_Target_Key(tantiveIV, 0, 0, 0, 1, tantiveIV, 0, 0)
end
end
-- ****************************************************
-- Fourth text sequence removed from screen intro sequence about to end
-- ****************************************************
function State_Empire_A01_M04_Intro_End_03(message)
if message == OnEnter then
-- End the cinetic camera mode
Resume_Hyperspace_In()
Point_Camera_At(acclamator)
Transition_To_Tactical_Camera(2)
Letter_Box_Out(2)
Sleep(2)
End_Cinematic_Camera()
Lock_Controls(0)
Suspend_AI(0)
end
end