Initial commit
This commit is contained in:
304
DATA/SCRIPTS/GAMEOBJECT/DEMO_FELUCIA_CONTROLLER.LUA
Normal file
304
DATA/SCRIPTS/GAMEOBJECT/DEMO_FELUCIA_CONTROLLER.LUA
Normal file
@@ -0,0 +1,304 @@
|
||||
-- $Id: //depot/Projects/StarWars_Steam/FOC/Run/Data/Scripts/GameObject/Demo_Felucia_Controller.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/GameObject/Demo_Felucia_Controller.lua $
|
||||
--
|
||||
-- Original Author: Dan Etter
|
||||
--
|
||||
-- $Author: Brian_Hayes $
|
||||
--
|
||||
-- $Change: 637819 $
|
||||
--
|
||||
-- $DateTime: 2017/03/22 10:16:16 $
|
||||
--
|
||||
-- $Revision: #1 $
|
||||
--
|
||||
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
require("PGStateMachine")
|
||||
require("PGStoryMode")
|
||||
|
||||
|
||||
function Definitions()
|
||||
|
||||
StoryModeEvents =
|
||||
{
|
||||
Demo_Bombard_Started = State_Demo_Bombard_Started
|
||||
}
|
||||
|
||||
-- Object isn't valid at this point so don't do any operations that
|
||||
-- would require it. State_Init is the first chance you have to do
|
||||
-- operations on Object
|
||||
|
||||
DebugMessage("%s -- In Definitions", tostring(Script))
|
||||
|
||||
Define_State("State_Init", State_Init);
|
||||
|
||||
empire_player = Find_Player("Empire")
|
||||
rebel_player = Find_Player("Rebel")
|
||||
underworld_player = Find_Player("Underworld")
|
||||
|
||||
move_command = true
|
||||
cine_triggered = false
|
||||
camera_offset = 225
|
||||
|
||||
invulnerable = true
|
||||
|
||||
stormtrooper = Find_Object_Type("SQUAD_STORMTROOPER")
|
||||
wall_corner = Find_Object_Type("EMPIRE_WALL_CORNER")
|
||||
wall_inside_corner = Find_Object_Type("EMPIRE_WALL__INSIDE_CORNER")
|
||||
wall = Find_Object_Type("EMPIRE_WALL")
|
||||
turbo_tower = Find_Object_Type("E_GROUND_TURBOLASER_TOWER")
|
||||
hv_gun = Find_Object_Type("GROUND_EMPIRE_HYPERVELOCITY_GUN")
|
||||
command_center = Find_Object_Type("IMPERIAL_COMMAND_CENTER")
|
||||
power = Find_Object_Type("POWER_GENERATOR_E")
|
||||
research = Find_Object_Type("E_GROUND_RESEARCH_FACILITY")
|
||||
bunker = Find_Object_Type("GARRISON_BUNKER_EMPIRE")
|
||||
barracks = Find_Object_Type("E_GROUND_BARRACKS")
|
||||
facotry = Find_Object_Type("E_GROUND_HEAVY_VEHICLE_FACTORY")
|
||||
array = Find_Object_Type("COMMUNICATIONS_ARRAY_E")
|
||||
shuttle = Find_Object_Type("LANDED_EMPIRE_SHUTTLE")
|
||||
platform = Find_Object_Type("EMPIRE_LANDING_PLATFORM_2X")
|
||||
build_pad = Find_Object_Type("SKIRMISH_BUILD_PAD")
|
||||
turret = Find_Object_Type("EMPIRE_ANTI_INFANTRY_TURRET")
|
||||
reinforcement_point = Find_Object_Type("REINFORCEMENT_POINT_EMPIRE")
|
||||
|
||||
end
|
||||
|
||||
|
||||
function State_Init(message)
|
||||
|
||||
if (move_command == true) then
|
||||
|
||||
empire_reveal = FogOfWar.Reveal_All(empire_player)
|
||||
rebel_reveal = FogOfWar.Reveal_All(rebel_player)
|
||||
uw_reveal = FogOfWar.Reveal_All(underworld_player)
|
||||
|
||||
underworld_player.Give_Money(10000)
|
||||
|
||||
controller = Find_First_Object("FELUCIA_DEMO_CONTROLLER")
|
||||
|
||||
empire_unit_list = Find_All_Objects_Of_Type(empire_player)
|
||||
empire_goto = Find_Hint("STORY_TRIGGER_ZONE_00", "empiregoto")
|
||||
|
||||
uw_unit_list = Find_All_Objects_Of_Type(underworld_player)
|
||||
|
||||
--MessageBox("Fleets Defined")
|
||||
|
||||
move_command = false
|
||||
|
||||
current_cinematic_thread = Create_Thread("Intro_Cinematic")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function State_Demo_Bombard_Started(message)
|
||||
if message == OnEnter then
|
||||
Create_Thread("Bombardment_Cinematic")
|
||||
end
|
||||
end
|
||||
|
||||
function Move_Units(list)
|
||||
for k, unit in pairs(list) do
|
||||
if TestValid(unit) then
|
||||
if unit.Is_Category("Infantry") or unit.Is_Category("Vehicle") then
|
||||
if not
|
||||
-- (unit.Get_Type() == wall_corner) and not
|
||||
-- (unit.Get_Type() == wall_inside_corner) and not
|
||||
-- (unit.Get_Type() == wall) and not
|
||||
-- (unit.Get_Type() == turbo_tower) and not
|
||||
-- (unit.Get_Type() == hv_gun) and not
|
||||
-- (unit.Get_Type() == command_center) and not
|
||||
-- (unit.Get_Type() == power) and not
|
||||
-- (unit.Get_Type() == research) and not
|
||||
-- (unit.Get_Type() == bunker) and not
|
||||
-- (unit.Get_Type() == barracks) and not
|
||||
-- (unit.Get_Type() == facotry) and not
|
||||
-- (unit.Get_Type() == array) and not
|
||||
-- (unit.Get_Type() == shuttle) and not
|
||||
-- (unit.Get_Type() == platform) and not
|
||||
-- (unit.Get_Type() == build_pad) and not
|
||||
-- (unit.Get_Type() == turret) and not
|
||||
-- (unit.Get_Type() == reinforcement_point) and not
|
||||
(unit.Get_Type() == stormtrooper) then
|
||||
unit.Move_To(empire_goto.Get_Position())
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Story_Handle_Esc()
|
||||
if current_cinematic_thread ~= nil then
|
||||
Thread.Kill(current_cinematic_thread)
|
||||
current_cinematic_thread = nil
|
||||
Create_Thread("End_Camera")
|
||||
end
|
||||
end
|
||||
|
||||
function Make_Invulnerable(list, condition)
|
||||
for k, unit in pairs(list) do
|
||||
if TestValid(unit) then
|
||||
if invulnerable == true then
|
||||
unit.Make_Invulnerable(true)
|
||||
else
|
||||
unit.Make_Invulnerable(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- ##########################################################################################
|
||||
-- Intro Cinematic functions
|
||||
-- ##########################################################################################
|
||||
|
||||
function Intro_Cinematic()
|
||||
invulnerable = true
|
||||
Create_Thread("Make_Invulnerable", uw_unit_list, invulnerable)
|
||||
|
||||
Suspend_AI(1)
|
||||
Lock_Controls(1)
|
||||
Start_Cinematic_Camera()
|
||||
Letter_Box_In(2)
|
||||
|
||||
--Sleep(1)
|
||||
|
||||
tyber = Find_First_Object("TYBER_ZANN")
|
||||
|
||||
Transition_Cinematic_Camera_Key(tyber, 7, 50, 35, 135, 1, 1, 1, 0)
|
||||
Transition_Cinematic_Target_Key(tyber, 5, 0, 0, 10, 0, 0, 0, 0)
|
||||
Sleep(7)
|
||||
|
||||
Transition_Cinematic_Camera_Key(tyber, 5, 50, 35, 225, 1, 1, 1, 0)
|
||||
|
||||
Sleep(4.5)
|
||||
|
||||
while true do
|
||||
camera_offset = camera_offset + 90
|
||||
Transition_Cinematic_Camera_Key(tyber, 5, 50, 35, camera_offset, 1, 1, 1, 0)
|
||||
|
||||
if camera_offset == 315 then
|
||||
camera_offset = -45
|
||||
end
|
||||
|
||||
Sleep(4.5)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function End_Camera()
|
||||
Transition_To_Tactical_Camera(2)
|
||||
Letter_Box_Out(2)
|
||||
Sleep(2)
|
||||
Lock_Controls(0)
|
||||
End_Cinematic_Camera()
|
||||
Suspend_AI(0)
|
||||
|
||||
invulnerable = false
|
||||
Create_Thread("Make_Invulnerable", uw_unit_list, invulnerable)
|
||||
end
|
||||
|
||||
-- ##########################################################################################
|
||||
-- Orbital Bombardment Cinematic functions
|
||||
-- ##########################################################################################
|
||||
|
||||
function Bombardment_Cinematic()
|
||||
Fade_Screen_Out(0)
|
||||
Suspend_AI(1)
|
||||
Lock_Controls(1)
|
||||
Start_Cinematic_Camera()
|
||||
Letter_Box_In(0)
|
||||
|
||||
Allow_Localized_SFX(false)
|
||||
Weather_Audio_Pause(true)
|
||||
Enable_Fog(false)
|
||||
|
||||
krayt = Find_Hint("PROP_KRAYT_CINE_UNIT", "firingkrayt")
|
||||
interceptor = Find_First_Object("PROP_INTERCEPTOR_CINE_UNIT")
|
||||
felucia = Find_First_Object("PROP_FELUCIA_PLANET_CINE_UNIT")
|
||||
|
||||
krayt.Prevent_AI_Usage(true)
|
||||
|
||||
interceptor.Play_SFX_Event("Structure_Magnepulse_Charge")
|
||||
|
||||
--Set_Cinematic_Camera_Key(krayt, 200, 10, -60, 1, 1, 1, 0)
|
||||
Set_Cinematic_Camera_Key(krayt, 700, 15, 75, 1, 1, 1, 0)
|
||||
Set_Cinematic_Target_Key(felucia, 0, 0, 0, 1, 1, 0, 0)
|
||||
|
||||
Fade_Screen_In(2)
|
||||
--Transition_Cinematic_Camera_Key(krayt, 8, 200, 10, 45, 1, 1, 1, 0)
|
||||
Transition_Cinematic_Camera_Key(krayt, 16, 200, 10, 45, 1, 1, 1, 0)
|
||||
|
||||
Sleep(2.60)
|
||||
krayt.Play_SFX_Event("Structure_Magnepulse_Charge")
|
||||
Sleep(4.30)
|
||||
|
||||
krayt.Play_Animation("Cinematic", false, 0)
|
||||
Sleep(2.65)
|
||||
krayt.Play_SFX_Event("Unit_Ion_Cannon_Fire")
|
||||
Sleep(2.75)
|
||||
krayt.Play_SFX_Event("Unit_Hyper_Velocity_Fire")
|
||||
Sleep(2)
|
||||
|
||||
Transition_Cinematic_Target_Key(krayt, 8, 0, 0, 0, 0, 0, 0, 0)
|
||||
Fade_Screen_Out(1)
|
||||
|
||||
Create_Thread("Move_Units", empire_unit_list)
|
||||
Sleep(1)
|
||||
|
||||
Allow_Localized_SFX(true)
|
||||
Weather_Audio_Pause(false)
|
||||
-- Enable_Fog(true)
|
||||
|
||||
-- -- Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
|
||||
-- Set_Cinematic_Camera_Key(controller, 850, 35, 30, 1, 1, 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(controller, 0, -20, 15, 1, 1, 0, 0)
|
||||
|
||||
Set_Cinematic_Camera_Key(controller, 700, 90, 15, 1, 1, 0, 0)
|
||||
Set_Cinematic_Target_Key(controller, 0, 0, 0, 1, 1, 0, 0)
|
||||
|
||||
Fade_Screen_In(2)
|
||||
|
||||
-- -- 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(controller, 15, 850, 35, 100, 1, 1, 0, 0)
|
||||
Transition_Cinematic_Camera_Key(controller, 7, 835, 47, 90, 1, 1, 0, 0)
|
||||
|
||||
Sleep(10)
|
||||
|
||||
Fade_Screen_Out(1)
|
||||
Sleep(1)
|
||||
Lock_Controls(0)
|
||||
Sleep(1)
|
||||
End_Cinematic_Camera()
|
||||
Letter_Box_Out(0)
|
||||
Suspend_AI(0)
|
||||
Fade_Screen_In(1)
|
||||
|
||||
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user