Initial commit

This commit is contained in:
2026-02-28 14:00:45 -06:00
commit 16d3170787
1134 changed files with 589134 additions and 0 deletions

View File

@@ -0,0 +1,549 @@
-- $Id: //depot/Projects/StarWars/Run/Data/Scripts/Story/Story_Empire_ActII_M06_LAND.lua#27 $
--/////////////////////////////////////////////////////////////////////////////////////////////////
--
-- (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/Run/Data/Scripts/Story/Story_Empire_ActII_M06_LAND.lua $
--
-- Original Author: Steve_Copeland
--
-- $Author: Joseph_Gernert $
--
-- $Change: 34948 $
--
-- $DateTime: 2005/12/12 17:11:26 $
--
-- $Revision: #27 $
--
--/////////////////////////////////////////////////////////////////////////////////////////////////
require("PGStoryMode")
-- Land Map Numeric Definitions:
-- 1 = Commander Group 1 => 14
-- 2 = Commander Group 2 R> 16
-- 3 = Commander Group 3 R> 17
-- 4 = Commander Group 4 R> 18
-- 5 = Commander Group 5 R> 15
-- Imperial_Stormtrooper_Squad =>10
-- Imperial_Mini_Stormtrooper_Squad 12<=>13
-- AT_ST_Walker =>10
-- 80 Trigger Zone: Pirate Invasion (21,22)
-- 81 Trigger Zone: Rancors (31)
-- 82 Trigger Zone: Rebel Invasion (41,42,43,44)
--
-- Definitions -- This function is called once when the script is first created.
--
function Definitions()
StoryModeEvents =
{
Empire_A02M06_Begin = State_Empire_A02M06_Begin,
Empire_A02M06_Trigger_Rebels = State_Empire_A02M06_Trigger_Rebels,
Empire_A02M06_Encourage_Timer_Highlight = State_Empire_A02M06_Encourage_Timer_Highlight,
Empire_A02M06_Encourage_T2B = State_Empire_A02M06_Encourage_T2B,
Empire_A02M06_Encourage_T2B_Highlight = State_Empire_A02M06_Encourage_T2B_Highlight,
Empire_A02M06_Encourage_T4B = State_Empire_A02M06_Encourage_T4B,
Empire_A02M06_Encourage_T4B_Highlight = State_Empire_A02M06_Encourage_T4B_Highlight,
Empire_A02M06_Encourage_Pod_Walker = State_Empire_A02M06_Encourage_Pod_Walker,
Empire_A02M06_Encourage_Pod_Walker_Highlight = State_Empire_A02M06_Encourage_Pod_Walker_Highlight,
Empire_A02M06_Encourage_Pirates_Highlight = State_Empire_A02M06_Encourage_Pirates_Highlight,
Empire_A02M06_Emperor_Response_00 = State_Empire_A02M06_Emperor_Response_00,
Empire_A02M06_Emperor_Response_02 = State_Empire_A02M06_Emperor_Response_02,
Empire_A02M06_All_Rebel_Destroyed_WIN = State_Empire_A02M06_All_Rebel_Destroyed_WIN,
Empire_A02M06_Rebel_Destroyed_Complete_Mission = State_Empire_A02M06_Rebel_Destroyed_Complete_Mission
}
type_list1 = {
"Rebel_Infantry_Squad",
"Rebel_Light_Tank_Brigade"
}
type_list2 = {
"Rebel_Infantry_Squad",
"Rebel_Infantry_Squad"
}
type_list3 = {
"Rebel_Infantry_Squad",
"Rebel_Infantry_Squad"
}
type_list4 = {
"Rebel_Infantry_Squad",
"Rebel_Light_Tank_Brigade"
}
type_list5 = {
"Pirate_Soldier_Squad"
}
prox_range_despawn_cines = 200
prox_range_movement_patrol = 100
prox_range_despawn_commanders = 10
prox_range_spawn_pirates = 200
prox_range_spawn_rancors = 200
prox_range_spawn_rebels = 200
rebels_are_invading = 0
pirates_are_invading = 0
rancors_are_invading = 0
-- For memory pool cleanup hints
unit = nil
end
function State_Empire_A02M06_Begin(message)
if message == OnEnter then
-- Fade_Screen_Out(0)
Letter_Box_In(0)
Lock_Controls(1)
empire_player = Find_Player("Empire")
rebel_player = Find_Player("Rebel")
veers_startpos = Find_All_Objects_Of_Type("Veers_AT_AT_Walker")
veers_atat = Find_First_Object("Veers_AT_AT_Walker")
marker10 = Find_Hint("GENERIC_MARKER_LAND", "10")
marker12 = Find_Hint("GENERIC_MARKER_LAND", "12")
marker13 = Find_Hint("GENERIC_MARKER_LAND", "13")
marker14 = Find_Hint("GENERIC_MARKER_LAND", "14")
marker15 = Find_Hint("GENERIC_MARKER_LAND", "15")
marker16 = Find_Hint("GENERIC_MARKER_LAND", "16")
marker17 = Find_Hint("GENERIC_MARKER_LAND", "17")
marker18 = Find_Hint("GENERIC_MARKER_LAND", "18")
marker21 = Find_Hint("GENERIC_MARKER_LAND", "21")
marker22 = Find_Hint("GENERIC_MARKER_LAND", "22")
marker31 = Find_Hint("GENERIC_MARKER_LAND", "31")
marker41 = Find_Hint("GENERIC_MARKER_LAND", "41")
marker42 = Find_Hint("GENERIC_MARKER_LAND", "42")
marker43 = Find_Hint("GENERIC_MARKER_LAND", "43")
marker44 = Find_Hint("GENERIC_MARKER_LAND", "44")
marker80 = Find_Hint("GENERIC_MARKER_LAND", "80")
marker81 = Find_Hint("GENERIC_MARKER_LAND", "81")
marker82 = Find_Hint("GENERIC_MARKER_LAND", "82")
target_hint_table = Find_All_Objects_With_Hint("99")
default_hint_table = Find_All_Objects_With_Hint("1")
for i,unit in pairs(default_hint_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
unit.Move_To(marker14)
end
command01_hint_table = Find_All_Objects_With_Hint("2")
for i,unit in pairs(command01_hint_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
end
command02_hint_table = Find_All_Objects_With_Hint("3")
for i,unit in pairs(command02_hint_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
end
command03_hint_table = Find_All_Objects_With_Hint("4")
for i,unit in pairs(command03_hint_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
end
command04_hint_table = Find_All_Objects_With_Hint("5")
for i,unit in pairs(command04_hint_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
end
default_hint_table = Find_All_Objects_With_Hint("6")
for i,unit in pairs(default_hint_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
unit.Move_To(marker10)
end
guard_patrol_table = Find_All_Objects_With_Hint("7")
for i,unit in pairs(guard_patrol_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
unit.Move_To(marker12)
end
default_hint_table = Find_All_Objects_With_Hint("8")
for i,unit in pairs(default_hint_table) do
unit.Set_Selectable(false)
unit.Prevent_AI_Usage(true)
unit.Move_To(marker10)
end
bunker_shutoff_table = Find_All_Objects_Of_Type("IMPERIAL_OBSERVATION_BUNKER")
for i,unit in pairs(bunker_shutoff_table) do
unit.Set_Selectable(false)
end
shuttle_shutoff_table = Find_All_Objects_Of_Type("LANDED_EMPIRE_SHUTTLE")
for i,unit in pairs(shuttle_shutoff_table) do
unit.Set_Selectable(false)
end
Register_Prox(marker10, State_Empire_A02M06_Marker10_Prox, prox_range_despawn_cines, empire_player)
Register_Prox(marker14, State_Empire_A02M06_Marker14_Prox, prox_range_despawn_commanders, empire_player)
Register_Prox(marker12, State_Empire_A02M06_Marker12_Prox, prox_range_movement_patrol, empire_player)
Register_Prox(marker13, State_Empire_A02M06_Marker13_Prox, prox_range_movement_patrol, empire_player)
Register_Prox(marker80, State_Empire_A02M06_Marker80_Prox, prox_range_spawn_pirates, empire_player)
Register_Prox(marker81, State_Empire_A02M06_Marker81_Prox, prox_range_spawn_rancors, empire_player)
-- Set_Cinematic_Camera_Key(target_pos, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
-- Transition_Cinematic_Camera_Key(target_pos, time, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
-- Set_Cinematic_Target_Key(target_pos, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
-- Transition_Cinematic_Target_Key(target_pos, time, x_dist, y_pitch, z_yaw, euler, pobj, use_object_rotation, cinematic_animation)
Point_Camera_At(veers_atat)
Start_Cinematic_Camera()
Set_Cinematic_Camera_Key(marker14, 0, 0, 20, 0, 0, 0, 0)
Set_Cinematic_Target_Key(veers_atat, 0, 0, 0, 0, 0, 0, 0)
Fade_Screen_In(5)
-- Transition_Cinematic_Camera_Key(runawaycamerastart, 15, 100, 0, 300, 0, 0, 0, 0)
Transition_To_Tactical_Camera(12)
Sleep(10)
Letter_Box_Out(0.5)
End_Cinematic_Camera()
Lock_Controls(0)
end
end
function State_Empire_A02M06_Marker10_Prox(prox_obj, trigger_obj)
if rebels_are_invading == 1 then
prox_obj.Despawn()
else
if TestValid(trigger_obj) then
if trigger_obj.Get_Type() == Find_Object_Type("SQUAD_STORMTROOPER") or trigger_obj.Get_Type() == Find_Object_Type("AT_ST_WALKER") then
trigger_obj.Despawn()
end
end
end
end
function State_Empire_A02M06_Marker14_Prox(prox_obj, trigger_obj)
if TestValid(trigger_obj) then
if trigger_obj.Get_Type() == Find_Object_Type("GENERIC_FIELD_COMMANDER_EMPIRE") then
trigger_obj.Despawn()
end
end
end
function State_Empire_A02M06_Marker12_Prox(prox_obj, trigger_obj)
if rebels_are_invading == 1 then
prox_obj.Despawn()
else
if TestValid(trigger_obj) then
if trigger_obj.Get_Type() == Find_Object_Type("SQUAD_STORMTROOPER") then
for i,unit in pairs(guard_patrol_table) do
unit.Move_To(marker13)
end
end
end
end
end
function State_Empire_A02M06_Marker13_Prox(prox_obj, trigger_obj)
if rebels_are_invading == 1 then
prox_obj.Despawn()
else
if TestValid(trigger_obj) then
if trigger_obj.Get_Type() == Find_Object_Type("SQUAD_STORMTROOPER") then
for i,unit in pairs(guard_patrol_table) do
unit.Move_To(marker12)
end
end
end
end
end
function State_Empire_A02M06_Marker80_Prox(prox_obj, trigger_obj)
if pirates_are_invading == 0 then
if trigger_obj.Get_Type() == Find_Object_Type("VEERS_AT_AT_WALKER") then
pirates_are_invading = 1
ReinforceList(type_list5, marker21, rebel_player, true, true, true, Attack_Veers)
ReinforceList(type_list5, marker22, rebel_player, true, true, true, Attack_Veers)
Story_Event("A02M06_TRIGGER_PIRATES")
end
else
prox_obj.Despawn()
end
end
function Attack_Veers(attack_list)
if TestValid(veers_atat) then
for k, unit in pairs(attack_list) do
if TestValid(unit) then
unit.Attack_Move(veers_atat)
end
end
end
end
function State_Empire_A02M06_Marker81_Prox(prox_obj, trigger_obj)
if rancors_are_invading == 0 then
if trigger_obj.Get_Type() == Find_Object_Type("VEERS_AT_AT_WALKER") then
ref_type = Find_Object_Type("Rancor")
rancorlist = Spawn_Unit(ref_type, marker31, rebel_player)
rancorlist[1].Prevent_AI_Usage(true)
rancorlist[1].Take_Damage(500)
--rancorlist[1].Guard_Target(rancorlist[1].Get_Position())
rancors_are_invading = 1
Story_Event("A02M06_TRIGGER_RANCORS")
end
else
prox_obj.Despawn()
end
end
function State_Empire_A02M06_Trigger_Rebels()
if rebels_are_invading == 0 then
rebels_are_invading = 1;
for i,unit in pairs(guard_patrol_table) do
if TestValid(unit) then
unit.Despawn()
end
end
for i,unit in pairs(target_hint_table) do
if TestValid(unit) then
unit.Despawn()
end
end
-- Register_Prox(marker16, State_Empire_A02M06_Marker14_Prox, prox_range_despawn_commanders, empire_player)
-- Register_Prox(marker17, State_Empire_A02M06_Marker14_Prox, prox_range_despawn_commanders, empire_player)
-- Register_Prox(marker18, State_Empire_A02M06_Marker14_Prox, prox_range_despawn_commanders, empire_player)
-- Register_Prox(marker15, State_Empire_A02M06_Marker14_Prox, prox_range_despawn_commanders, empire_player)
for i,unit in pairs(command01_hint_table) do
if TestValid(unit) then
unit.Set_Selectable(true)
unit.Prevent_AI_Usage(false)
-- unit.Move_To(marker16)
end
end
for i,unit in pairs(command02_hint_table) do
if TestValid(unit) then
unit.Set_Selectable(true)
unit.Prevent_AI_Usage(false)
-- unit.Move_To(marker17)
end
end
for i,unit in pairs(command03_hint_table) do
if TestValid(unit) then
unit.Set_Selectable(true)
unit.Prevent_AI_Usage(false)
-- unit.Move_To(marker18)
end
end
for i,unit in pairs(command04_hint_table) do
if TestValid(unit) then
unit.Set_Selectable(true)
unit.Prevent_AI_Usage(false)
-- unit.Move_To(marker15)
end
end
ReinforceList(type_list1, marker41, rebel_player, true, true, true)
ReinforceList(type_list2, marker42, rebel_player, true, true, true)
ReinforceList(type_list3, marker43, rebel_player, true, true, true)
ReinforceList(type_list4, marker44, rebel_player, true, true, true)
--Story_Event("A02M06_TRIGGER_REBELS")
Create_Thread("Show_Rebels_Cine")
end
end
function Show_Rebels_Cine()
Sleep(2)
--SET UP CINEMATIC CAMERA
Fade_Screen_Out(1)
Suspend_AI(1)
Lock_Controls(1)
Letter_Box_In(0)
Sleep(1)
Start_Cinematic_Camera()
Fade_Screen_In(1)
camera_start = Find_Hint("GENERIC_MARKER_LAND", "42")
-- Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
Set_Cinematic_Camera_Key(camera_start, 500, 12, 30, 1, 0, 0, 0)
-- Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
Set_Cinematic_Target_Key(camera_start, 0, 0, 0, 0, camera_start, 0, 0)
-- Transition_Cinematic_Camera_Key(target_pos, time, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
Transition_Cinematic_Camera_Key(camera_start, 7, 500, 12, 170, 1, 0, 0, 0)
Sleep(1)
Story_Event("A02M06_TRIGGER_REBELS")
Sleep(7)
Fade_Screen_Out(1)
Sleep(1)
--end cinematic
Point_Camera_At(veers_atat)
Transition_To_Tactical_Camera(1)
Letter_Box_Out(1)
End_Cinematic_Camera()
Fade_Screen_In(1)
Lock_Controls(0)
Suspend_AI(0)
end
function State_Empire_A02M06_Encourage_Timer_Highlight(message)
if message == OnEnter then
Story_Event("A02M06_HIGHLIGHT_COURSE")
end
end
function State_Empire_A02M06_Encourage_T2B(message)
if message == OnEnter then
if rebels_are_invading == 0 then
Story_Event("A02M06_ENCOURAGE_T2B")
end
end
end
function State_Empire_A02M06_Encourage_T2B_Highlight(message)
if message == OnEnter then
Story_Event("A02M06_HIGHLIGHT_COURSE")
end
end
function State_Empire_A02M06_Encourage_T4B(message)
if message == OnEnter then
if rebels_are_invading == 0 then
Story_Event("A02M06_ENCOURAGE_T4B")
end
end
end
function State_Empire_A02M06_Encourage_T4B_Highlight(message)
if message == OnEnter then
Story_Event("A02M06_HIGHLIGHT_COURSE")
end
end
function State_Empire_A02M06_Encourage_Pod_Walker(message)
if message == OnEnter then
if rebels_are_invading == 0 then
Story_Event("A02M06_ENCOURAGE_POD_WALKER")
end
end
end
function State_Empire_A02M06_Encourage_Pod_Walker_Highlight(message)
if message == OnEnter then
Story_Event("A02M06_HIGHLIGHT_COURSE")
end
end
function State_Empire_A02M06_Encourage_Pirates_Highlight(message)
if message == OnEnter then
Story_Event("A02M06_HIGHLIGHT_COURSE")
end
end
function State_Empire_A02M06_Emperor_Response_00(message)
if message == OnEnter then
if rebels_are_invading == 0 then
Story_Event("A02M06_EMPEROR_ANNOUNCES")
end
end
end
function State_Empire_A02M06_Emperor_Response_02(message)
if message == OnEnter then
if rebels_are_invading == 0 then
Story_Event("A02M06_EMPEROR_ANNOUNCES2")
end
end
end
function State_Empire_A02M06_All_Rebel_Destroyed_WIN(message)
if message == OnEnter then
Create_Thread("Ending_Cine")
end
end
function Ending_Cine()
--SET UP CINEMATIC CAMERA
Fade_Screen_Out(1)
Suspend_AI(1)
Lock_Controls(1)
Letter_Box_In(0)
Sleep(1)
Start_Cinematic_Camera()
Fade_Screen_In(1)
if not TestValid(veers_atat) then
--MessageBox("ending cine cannot find veers")
end
-- Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
Set_Cinematic_Camera_Key(veers_atat, 350, 12, 180, 1, 0, 0, 0)
-- Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
Set_Cinematic_Target_Key(veers_atat, 0, 0, 0, 0, veers_atat, 0, 0)
-- Transition_Cinematic_Camera_Key(target_pos, time, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
Transition_Cinematic_Camera_Key(veers_atat, 20, 350, 12, 45, 1, 0, 0, 0)
Sleep(20)
--Fade_Screen_Out(1)
--
end
--turn off cinematic camera safety stuff here
function State_Empire_A02M06_Rebel_Destroyed_Complete_Mission(message)
if message == OnEnter then
--MessageBox("End_Cinematic_Camera()")
End_Cinematic_Camera()
end
end