2087 lines
74 KiB
Lua
2087 lines
74 KiB
Lua
-- $Id: //depot/Projects/StarWars_Steam/FOC/Run/Data/Scripts/Story/Story_Underworld_ActI_M04_LAND.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_Underworld_ActI_M04_LAND.lua $
|
|
--
|
|
-- Original Author: Jeff_Stewart
|
|
--
|
|
-- $Author: Brian_Hayes $
|
|
--
|
|
-- $Change: 637819 $
|
|
--
|
|
-- $DateTime: 2017/03/22 10:16:16 $
|
|
--
|
|
-- $Revision: #1 $
|
|
--
|
|
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
require("JGS_FunctionLib") -- added library of commonly used functions
|
|
require("PGSpawnUnits")
|
|
require("PGStoryMode")
|
|
|
|
function Definitions()
|
|
--MessageBox("Defined")
|
|
StoryModeEvents =
|
|
{
|
|
Underworld_A01M04_Begin = State_Underworld_A01M04_Begin,
|
|
Mission_4_Chatter_Dialog_00_Speech_Done = State_Mission_4_Chatter_Dialog_00_Speech_Done,
|
|
Mission_4_Chatter_Dialog_01_Speech_Done = State_Mission_4_Chatter_Dialog_01_Speech_Done,
|
|
Mission_4_Chatter_Dialog_02_Speech_Done = State_Mission_4_Chatter_Dialog_02_Speech_Done,
|
|
Mission_4_Chatter_Dialog_03_Speech_Done = State_Mission_4_Chatter_Dialog_03_Speech_Done,
|
|
Mission_4_Chatter_Dialog_04_Speech_Done = State_Mission_4_Chatter_Dialog_04_Speech_Done,
|
|
Mission_4_Chatter_Dialog_05_Speech_Done = State_Mission_4_Chatter_Dialog_05_Speech_Done,
|
|
Mission_4_Chatter_Dialog_06_Speech_Done = State_Mission_4_Chatter_Dialog_06_Speech_Done,
|
|
Mission_4_Chatter_Dialog_07_Speech_Done = State_Mission_4_Chatter_Dialog_07_Speech_Done,
|
|
Mission_4_Chatter_Dialog_08_Speech_Done = State_Mission_4_Chatter_Dialog_08_Speech_Done,
|
|
Mission_4_Chatter_Dialog_09_Speech_Done = State_Mission_4_Chatter_Dialog_09_Speech_Done,
|
|
Mission_4_Chatter_Dialog_10_Speech_Done = State_Mission_4_Chatter_Dialog_10_Speech_Done,
|
|
Mission_4_Chatter_Dialog_11_Speech_Done = State_Mission_4_Chatter_Dialog_11_Speech_Done,
|
|
Mission_4_Chatter_Dialog_12_Speech_Done = State_Mission_4_Chatter_Dialog_12_Speech_Done,
|
|
Mission_4_Chatter_Dialog_13_Speech_Done = State_Mission_4_Chatter_Dialog_13_Speech_Done,
|
|
Mission_4_Chatter_Dialog_14_Speech_Done = State_Mission_4_Chatter_Dialog_14_Speech_Done,
|
|
Mission_4_Chatter_Dialog_15_Speech_Done = State_Mission_4_Chatter_Dialog_15_Speech_Done,
|
|
Mission_4_Chatter_Dialog_16_Speech_Done = State_Mission_4_Chatter_Dialog_16_Speech_Done,
|
|
Mission_4_Chatter_Dialog_17_Speech_Done = State_Mission_4_Chatter_Dialog_17_Speech_Done,
|
|
Mission_4_Chatter_Dialog_18_Speech_Done = State_Mission_4_Chatter_Dialog_18_Speech_Done,
|
|
Mission_4_Chatter_Dialog_19_Speech_Done = State_Mission_4_Chatter_Dialog_19_Speech_Done,
|
|
Mission_4_Chatter_Dialog_20_Speech_Done = State_Mission_4_Chatter_Dialog_20_Speech_Done,
|
|
Mission_4_Chatter_Dialog_21_Speech_Done = State_Mission_4_Chatter_Dialog_21_Speech_Done,
|
|
Mission_4_Chatter_Dialog_22_Speech_Done = State_Mission_4_Chatter_Dialog_22_Speech_Done,
|
|
Mission_4_Chatter_Dialog_23_Speech_Done = State_Mission_4_Chatter_Dialog_23_Speech_Done,
|
|
Mission_4_Chatter_Dialog_24_Speech_Done = State_Mission_4_Chatter_Dialog_24_Speech_Done,
|
|
Mission_4_Chatter_Dialog_25_Speech_Done = State_Mission_4_Chatter_Dialog_25_Speech_Done,
|
|
Mission_4_Chatter_Dialog_26_Speech_Done = State_Mission_4_Chatter_Dialog_26_Speech_Done,
|
|
Mission_4_Chatter_Dialog_27_Speech_Done = State_Mission_4_Chatter_Dialog_27_Speech_Done,
|
|
Mission_4_Chatter_Dialog_28_Speech_Done = State_Mission_4_Chatter_Dialog_28_Speech_Done,
|
|
Mission_4_Chatter_Dialog_29_Speech_Done = State_Mission_4_Chatter_Dialog_29_Speech_Done,
|
|
Mission_4_Chatter_Dialog_30_Speech_Done = State_Mission_4_Chatter_Dialog_30_Speech_Done,
|
|
Mission_4_Chatter_Dialog_31_Speech_Done = State_Mission_4_Chatter_Dialog_31_Speech_Done,
|
|
Mission_4_Chatter_Dialog_32_Speech_Done = State_Mission_4_Chatter_Dialog_32_Speech_Done,
|
|
Mission_4_Chatter_Dialog_33_Speech_Done = State_Mission_4_Chatter_Dialog_33_Speech_Done,
|
|
Mission_4_Chatter_Dialog_34_Speech_Done = State_Mission_4_Chatter_Dialog_34_Speech_Done,
|
|
Mission_4_Chatter_Dialog_35_Speech_Done = State_Mission_4_Chatter_Dialog_35_Speech_Done,
|
|
Mission_4_Chatter_Dialog_36_Speech_Done = State_Mission_4_Chatter_Dialog_36_Speech_Done,
|
|
Mission_4_Chatter_Dialog_37_Speech_Done = State_Mission_4_Chatter_Dialog_37_Speech_Done,
|
|
Mission_4_Chatter_Dialog_38_Speech_Done = State_Mission_4_Chatter_Dialog_38_Speech_Done,
|
|
Mission_4_Chatter_Dialog_39_Speech_Done = State_Mission_4_Chatter_Dialog_39_Speech_Done,
|
|
Mission_4_Chatter_Dialog_40_Speech_Done = State_Mission_4_Chatter_Dialog_40_Speech_Done,
|
|
Mission_4_Chatter_Dialog_41_Speech_Done = State_Mission_4_Chatter_Dialog_41_Speech_Done,
|
|
Mission_4_Chatter_Dialog_42_Speech_Done = State_Mission_4_Chatter_Dialog_42_Speech_Done,
|
|
Mission_4_Chatter_Dialog_43_Speech_Done = State_Mission_4_Chatter_Dialog_43_Speech_Done,
|
|
Mission_4_Chatter_Dialog_44_Speech_Done = State_Mission_4_Chatter_Dialog_44_Speech_Done,
|
|
Mission_4_Chatter_Dialog_45_Speech_Done = State_Mission_4_Chatter_Dialog_45_Speech_Done,
|
|
Mission_4_Chatter_Dialog_46_Speech_Done = State_Mission_4_Chatter_Dialog_46_Speech_Done,
|
|
Mission_4_Chatter_Dialog_47_Speech_Done = State_Mission_4_Chatter_Dialog_47_Speech_Done,
|
|
Mission_4_Chatter_Dialog_48_Speech_Done = State_Mission_4_Chatter_Dialog_48_Speech_Done,
|
|
Mission_4_Chatter_Dialog_49_Speech_Done = State_Mission_4_Chatter_Dialog_49_Speech_Done,
|
|
Mission_4_Chatter_Dialog_50_Speech_Done = State_Mission_4_Chatter_Dialog_50_Speech_Done,
|
|
Mission_4_Chatter_Dialog_51_Speech_Done = State_Mission_4_Chatter_Dialog_51_Speech_Done,
|
|
Mission_4_Chatter_Dialog_52_Speech_Done = State_Mission_4_Chatter_Dialog_52_Speech_Done,
|
|
Mission_4_Chatter_Dialog_53_Speech_Done = State_Mission_4_Chatter_Dialog_53_Speech_Done,
|
|
Mission_4_Chatter_Dialog_54_Speech_Done = State_Mission_4_Chatter_Dialog_54_Speech_Done,
|
|
Mission_4_Chatter_Dialog_55_Speech_Done = State_Mission_4_Chatter_Dialog_55_Speech_Done,
|
|
Mission_4_Chatter_Dialog_56_Speech_Done = State_Mission_4_Chatter_Dialog_56_Speech_Done,
|
|
Mission_4_Chatter_Dialog_57_Speech_Done = State_Mission_4_Chatter_Dialog_57_Speech_Done,
|
|
Mission_4_Chatter_Dialog_58_Speech_Done = State_Mission_4_Chatter_Dialog_58_Speech_Done,
|
|
Mission_4_Chatter_Dialog_59_Speech_Done = State_Mission_4_Chatter_Dialog_59_Speech_Done,
|
|
Mission_4_Chatter_Dialog_60_Speech_Done = State_Mission_4_Chatter_Dialog_60_Speech_Done,
|
|
Mission_4_Chatter_Dialog_61_Speech_Done = State_Mission_4_Chatter_Dialog_61_Speech_Done,
|
|
Mission_4_Chatter_Dialog_62_Speech_Done = State_Mission_4_Chatter_Dialog_62_Speech_Done,
|
|
Mission_4_Chatter_Dialog_63_Speech_Done = State_Mission_4_Chatter_Dialog_63_Speech_Done,
|
|
Mission_4_Chatter_Dialog_64_Speech_Done = State_Mission_4_Chatter_Dialog_64_Speech_Done,
|
|
Mission_4_Chatter_Dialog_65_Speech_Done = State_Mission_4_Chatter_Dialog_65_Speech_Done
|
|
}
|
|
end
|
|
|
|
|
|
function State_Underworld_A01M04_Begin(message)
|
|
if message == OnEnter then
|
|
--- begin xml kickback vars
|
|
State_Mission_4_Chatter_Dialog_00_Done = false
|
|
State_Mission_4_Chatter_Dialog_01_Done = false
|
|
State_Mission_4_Chatter_Dialog_02_Done = false
|
|
State_Mission_4_Chatter_Dialog_03_Done = false
|
|
State_Mission_4_Chatter_Dialog_04_Done = false
|
|
State_Mission_4_Chatter_Dialog_05_Done = false
|
|
State_Mission_4_Chatter_Dialog_06_Done = false
|
|
State_Mission_4_Chatter_Dialog_07_Done = false
|
|
State_Mission_4_Chatter_Dialog_08_Done = false
|
|
State_Mission_4_Chatter_Dialog_09_Done = false
|
|
State_Mission_4_Chatter_Dialog_10_Done = false
|
|
State_Mission_4_Chatter_Dialog_11_Done = false
|
|
State_Mission_4_Chatter_Dialog_12_Done = false
|
|
State_Mission_4_Chatter_Dialog_13_Done = false
|
|
State_Mission_4_Chatter_Dialog_14_Done = false
|
|
State_Mission_4_Chatter_Dialog_15_Done = false
|
|
State_Mission_4_Chatter_Dialog_16_Done = false
|
|
State_Mission_4_Chatter_Dialog_17_Done = false
|
|
State_Mission_4_Chatter_Dialog_18_Done = false
|
|
State_Mission_4_Chatter_Dialog_19_Done = false
|
|
State_Mission_4_Chatter_Dialog_20_Done = false
|
|
State_Mission_4_Chatter_Dialog_21_Done = false
|
|
State_Mission_4_Chatter_Dialog_22_Done = false
|
|
State_Mission_4_Chatter_Dialog_23_Done = false
|
|
State_Mission_4_Chatter_Dialog_24_Done = false
|
|
State_Mission_4_Chatter_Dialog_25_Done = false
|
|
State_Mission_4_Chatter_Dialog_26_Done = false
|
|
State_Mission_4_Chatter_Dialog_27_Done = false
|
|
State_Mission_4_Chatter_Dialog_28_Done = false
|
|
State_Mission_4_Chatter_Dialog_29_Done = false
|
|
State_Mission_4_Chatter_Dialog_30_Done = false
|
|
State_Mission_4_Chatter_Dialog_31_Done = false
|
|
State_Mission_4_Chatter_Dialog_32_Done = false
|
|
State_Mission_4_Chatter_Dialog_33_Done = false
|
|
State_Mission_4_Chatter_Dialog_34_Done = false
|
|
State_Mission_4_Chatter_Dialog_35_Done = false
|
|
State_Mission_4_Chatter_Dialog_36_Done = false
|
|
State_Mission_4_Chatter_Dialog_37_Done = false
|
|
State_Mission_4_Chatter_Dialog_38_Done = false
|
|
State_Mission_4_Chatter_Dialog_39_Done = false
|
|
State_Mission_4_Chatter_Dialog_40_Done = false
|
|
State_Mission_4_Chatter_Dialog_41_Done = false
|
|
State_Mission_4_Chatter_Dialog_42_Done = false
|
|
State_Mission_4_Chatter_Dialog_43_Done = false
|
|
State_Mission_4_Chatter_Dialog_44_Done = false
|
|
State_Mission_4_Chatter_Dialog_45_Done = false
|
|
State_Mission_4_Chatter_Dialog_46_Done = false
|
|
State_Mission_4_Chatter_Dialog_47_Done = false
|
|
State_Mission_4_Chatter_Dialog_48_Done = false
|
|
State_Mission_4_Chatter_Dialog_49_Done = false
|
|
State_Mission_4_Chatter_Dialog_50_Done = false
|
|
State_Mission_4_Chatter_Dialog_51_Done = false
|
|
State_Mission_4_Chatter_Dialog_52_Done = false
|
|
State_Mission_4_Chatter_Dialog_53_Done = false
|
|
State_Mission_4_Chatter_Dialog_54_Done = false
|
|
State_Mission_4_Chatter_Dialog_55_Done = false
|
|
State_Mission_4_Chatter_Dialog_56_Done = false
|
|
State_Mission_4_Chatter_Dialog_57_Done = false
|
|
State_Mission_4_Chatter_Dialog_58_Done = false
|
|
State_Mission_4_Chatter_Dialog_59_Done = false
|
|
State_Mission_4_Chatter_Dialog_60_Done = false
|
|
State_Mission_4_Chatter_Dialog_61_Done = false
|
|
State_Mission_4_Chatter_Dialog_62_Done = false
|
|
State_Mission_4_Chatter_Dialog_63_Done = false
|
|
State_Mission_4_Chatter_Dialog_64_Done = false
|
|
State_Mission_4_Chatter_Dialog_65_Done = false
|
|
|
|
--- end xml kickback vars
|
|
--MessageBox("Started")
|
|
neutral_player = Find_Player("Neutral")
|
|
empire_player = Find_Player("Empire")
|
|
pirate_player = Find_Player("Pirates")
|
|
hostile_player = Find_Player("Hostile")
|
|
underworld_player = Find_Player("Underworld")
|
|
|
|
PadsCaptured = 0
|
|
|
|
firstdroid = Find_Hint("UM02_DROID_CRATE", "firstdroid")
|
|
Register_Death_Event(firstdroid, Seen_Droids)
|
|
|
|
outsidehatch1 = Find_Hint("GENERIC_MARKER_LAND", "outsidehatch1")
|
|
outsidehatch2 = Find_Hint("GENERIC_MARKER_LAND", "outsidehatch2")
|
|
-- end cinematic stuff
|
|
|
|
troops1 = Find_Hint("STORY_TRIGGER_ZONE", "troops1")
|
|
troops2 = Find_Hint("STORY_TRIGGER_ZONE", "troops2")
|
|
troops3 = Find_Hint("STORY_TRIGGER_ZONE", "troops3")
|
|
|
|
doorguard1 = Find_Hint("STORY_TRIGGER_ZONE", "doorguard1")
|
|
doorguard2 = Find_Hint("STORY_TRIGGER_ZONE", "doorguard2")
|
|
doorguard3 = Find_Hint("STORY_TRIGGER_ZONE", "doorguard3")
|
|
doorguard4 = Find_Hint("STORY_TRIGGER_ZONE", "doorguard4")
|
|
|
|
endjabbaspawn = Find_Hint("STORY_TRIGGER_ZONE", "endjabbaspawn")
|
|
endtyberspawn = Find_Hint("STORY_TRIGGER_ZONE", "endtyberspawn")
|
|
enduraispawn = Find_Hint("STORY_TRIGGER_ZONE", "enduraispawn")
|
|
endbosskspawn = Find_Hint("STORY_TRIGGER_ZONE", "endbosskspawn")
|
|
endcamstart = Find_Hint("STORY_TRIGGER_ZONE", "endcamstart")
|
|
deadguys1 = Find_Hint("STORY_TRIGGER_ZONE", "deadguys1")
|
|
deadguys2 = Find_Hint("STORY_TRIGGER_ZONE", "deadguys2")
|
|
deadguys3 = Find_Hint("STORY_TRIGGER_ZONE", "deadguys3")
|
|
deadguys4 = Find_Hint("STORY_TRIGGER_ZONE", "deadguys4")
|
|
deadguys5 = Find_Hint("STORY_TRIGGER_ZONE", "deadguys5")
|
|
deadguys6 = Find_Hint("STORY_TRIGGER_ZONE", "deadguys6")
|
|
wreck1 = Find_Hint("STORY_TRIGGER_ZONE", "wreck1")
|
|
wreck2 = Find_Hint("STORY_TRIGGER_ZONE", "wreck2")
|
|
wreck3 = Find_Hint("STORY_TRIGGER_ZONE", "wreck3")
|
|
|
|
-- mid cinematic stuff
|
|
|
|
bossktalk = Find_Hint("STORY_TRIGGER_ZONE", "bossktalk")
|
|
tybertalk = Find_Hint("STORY_TRIGGER_ZONE", "tybertalk")
|
|
uraitalk = Find_Hint("STORY_TRIGGER_ZONE", "uraitalk")
|
|
jabbaguard1 = Find_Hint("STORY_TRIGGER_ZONE", "jabbaguard1")
|
|
jabbaguard2 = Find_Hint("STORY_TRIGGER_ZONE", "jabbaguard2")
|
|
jg1spot = Find_Hint("STORY_TRIGGER_ZONE", "jabbaguard1goto")
|
|
jg2spot = Find_Hint("STORY_TRIGGER_ZONE", "jabbaguard2goto")
|
|
jabbacam = Find_Hint("STORY_TRIGGER_ZONE", "jabbacam")
|
|
jabbadoor = Find_Hint("UM02_MAGNETICALLY_SEALED_DOORWAY", "door1")
|
|
jabbaspot = Find_Hint("STORY_TRIGGER_ZONE", "jabbadoor")
|
|
jabbaspawn = Find_Hint("STORY_TRIGGER_ZONE", "jabbaspawn")
|
|
uraispot = Find_Hint("GENERIC_MARKER_LAND", "factorycontrols")
|
|
uraimove = Find_Hint("STORY_TRIGGER_ZONE", "uraimove")
|
|
station = Find_Hint("DROID_INTERFACE_STATION", "station")
|
|
bossk_spawn = Find_Hint("STORY_TRIGGER_ZONE", "spawnbossk")
|
|
bossk_goto = Find_Hint("STORY_TRIGGER_ZONE", "bosskgoto")
|
|
midcine_tyber = Find_Hint("STORY_TRIGGER_ZONE", "midcine-tyber")
|
|
|
|
pad1 = Find_Hint("REINFORCEMENT_POINT", "pad1")
|
|
pad2 = Find_Hint("REINFORCEMENT_POINT", "pad2")
|
|
pad3 = Find_Hint("REINFORCEMENT_POINT", "pad3")
|
|
pad4 = Find_Hint("REINFORCEMENT_POINT", "pad4")
|
|
|
|
console1 = Find_Hint("UM02_INTERFACE_NODE", "console1")
|
|
Register_Death_Event(console1, HatchOne)
|
|
door1 = Find_Hint("GENERIC_MARKER_LAND", "door1")
|
|
|
|
console2 = Find_Hint("UM02_INTERFACE_NODE", "console2")
|
|
Register_Death_Event(console2, HatchTwo)
|
|
door2 = Find_Hint("GENERIC_MARKER_LAND", "door2")
|
|
|
|
spawn = Find_Hint("GENERIC_MARKER_LAND", "genericspawn")
|
|
|
|
--tyber_zann = Find_Nearest(pad1,"TYBER_ZANN")
|
|
--Register_Death_Event(tyber_zann, Tyber_Destroyed)
|
|
urai_fen = Find_Nearest(pad1,"URAI_FEN")
|
|
Register_Death_Event(urai_fen, Urai_Destroyed)
|
|
|
|
-- Register prox events for battle chatter and game events
|
|
chatter1 = Find_Hint("GENERIC_MARKER_LAND","chatterbadfeeling")
|
|
Register_Prox(chatter1, Prox_Chatter_BadFeeling, 75, underworld_player)
|
|
|
|
startdroidsa=Find_Hint("GENERIC_MARKER_LAND","startdestroyerdroidsa")
|
|
Register_Prox(startdroidsa, Prox_StartDestroyers_A, 100, underworld_player)
|
|
|
|
startdroidsb=Find_Hint("GENERIC_MARKER_LAND","startdestroyerdroidsb")
|
|
Register_Prox(startdroidsb, Prox_StartDestroyers_B, 100, underworld_player)
|
|
|
|
seescontrols=Find_Hint("GENERIC_MARKER_LAND","seencontrols")
|
|
Register_Prox(seescontrols, Prox_HintAtControls, 135, underworld_player)
|
|
|
|
gotcontrols=Find_Hint("GENERIC_MARKER_LAND","factorycontrols")
|
|
Register_Prox(gotcontrols, Prox_UseControls, 75, underworld_player)
|
|
Register_Prox(gotcontrols, Prox_UseControls_Wrong, 60, underworld_player)
|
|
|
|
droidworksloc=Find_Hint("GENERIC_MARKER_LAND","droidworksloc")
|
|
Register_Prox(droidworksloc, Prox_CapturedDroidWorks, 75, underworld_player)
|
|
|
|
droidworks=Find_Hint("U_GROUND_DROID_WORKS","droidworks")
|
|
Register_Death_Event(droidworks, DroidWorks_Destroyed)
|
|
|
|
-- set up some global mission state flags
|
|
|
|
MissionPartOneStarted = false
|
|
MissionPartTwoStarted = false
|
|
MissionPartTwoSetup = true
|
|
|
|
PadOneCaptured = false
|
|
PadTwoCaptured = false
|
|
PadThreeCaptured = false
|
|
PadFourCaptured = false
|
|
|
|
VictoryCondition_DroidWorks = false
|
|
VictoryCondition_LandingPads = false
|
|
|
|
DefeatCondition_TyberDead = false
|
|
DefeatCondition_UraiDead = false
|
|
DefeatCondition_DroidWorksDead = false
|
|
DefeatCondition_BosskDead = false
|
|
|
|
VictoryStarted = false
|
|
DefeatStarted = false
|
|
|
|
current_cine_id = nil
|
|
CINE_Intro_Active = false
|
|
CINE_Mid_Active = false
|
|
CINE_End_Active = false
|
|
|
|
underworld_player.Disable_Bombing_Run(false)
|
|
|
|
-- finds all conveyor belts and deactivates them
|
|
conv_list = Find_All_Objects_Of_Type("UM02_CONVEYOR")
|
|
for k, unit in pairs(conv_list) do
|
|
if TestValid(unit) then
|
|
unit.Play_Animation("idle", true, 1)
|
|
end
|
|
end
|
|
|
|
Create_Thread("Main")
|
|
current_cine_id = Create_Thread("CINE_Start_Mission")
|
|
Allow_Localized_SFX(true)
|
|
|
|
elseif message == OnUpdate then
|
|
elseif message == OnExit then
|
|
--Do Nothing
|
|
end
|
|
end
|
|
|
|
function Main()
|
|
while true do
|
|
--Do Nothing
|
|
if MissionPartTwoStarted then
|
|
if MissionPartTwoSetup then
|
|
MissionPartTwoSetup = false
|
|
Mid_Mission_Setup()
|
|
end
|
|
|
|
if VictoryCondition_DroidWorks and VictoryCondition_LandingPads then
|
|
if not VictoryStarted then
|
|
VictoryStarted = true
|
|
if not DefeatStarted then
|
|
current_cine_id = Create_Thread("EndMissionVictory")
|
|
end
|
|
end
|
|
end
|
|
end
|
|
if DefeatCondition_TyberDead or DefeatCondition_UraiDead or DefeatCondition_DroidWorksDead or DefeatCondition_BosskDead then
|
|
if not DefeatStarted then
|
|
DefeatStarted = true
|
|
Create_Thread("EndMissionDefeat")
|
|
end
|
|
end
|
|
Sleep(.5)
|
|
end
|
|
end
|
|
|
|
function FalseVictory()
|
|
if not VictoryStarted then
|
|
VictoryStarted = true
|
|
if not DefeatStarted then
|
|
current_cine_id = Create_Thread("EndMissionVictory")
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
function HatchOne()
|
|
InsideHatchOne = false
|
|
Register_Prox(door1, Prox_InsideHatchOneA, 85, underworld_player)
|
|
Create_Thread("CloseHatchOne")
|
|
end
|
|
|
|
function CloseHatchOne()
|
|
while InsideHatchOne == true do
|
|
InsideHatchOne = false
|
|
Sleep(2)
|
|
end
|
|
door1.Cancel_Event_Object_In_Range(Prox_InsideHatchOneA)
|
|
Register_Prox(door1, Prox_InsideHatchOneB, 70, empire_player)
|
|
anim1 = Create_Generic_Object("UM05_MOVING_DOOR", door1.Get_Position(), neutral_player)
|
|
anim1.Teleport_And_Face(door1)
|
|
anim1.Play_Animation("Cinematic",false,3)
|
|
Sleep(2)
|
|
anim1.Despawn()
|
|
lock_anim1 = Create_Generic_Object("UM02_KILLABLE_DOOR", spawn.Get_Position(), underworld_player)
|
|
lock_anim1.Teleport_And_Face(spawn)
|
|
lock_anim1.Teleport_And_Face(door1)
|
|
lock_anim1.Set_Selectable(false)
|
|
door1.Cancel_Event_Object_In_Range(Prox_InsideHatchOneB)
|
|
end
|
|
function Prox_InsideHatchOneA(self_obj, trigger_obj)
|
|
if trigger_obj.Get_Owner() == underworld_player then
|
|
InsideHatchOne = true
|
|
end
|
|
end
|
|
function Prox_InsideHatchOneB(self_obj, trigger_obj)
|
|
if trigger_obj.Get_Owner() == empire_player then
|
|
trigger_obj.Take_Damage(50000)
|
|
end
|
|
end
|
|
|
|
function HatchTwo()
|
|
InsideHatchTwo = false
|
|
Register_Prox(door2, Prox_InsideHatchTwoA, 85, underworld_player)
|
|
Create_Thread("CloseHatchTwo")
|
|
end
|
|
|
|
function CloseHatchTwo()
|
|
while InsideHatchTwo == true do
|
|
InsideHatchTwo = false
|
|
Sleep(2)
|
|
end
|
|
door2.Cancel_Event_Object_In_Range(Prox_InsideHatchTwoA)
|
|
Register_Prox(door2, Prox_InsideHatchTwoB, 70, empire_player)
|
|
anim2 = Create_Generic_Object("UM05_MOVING_DOOR", door2.Get_Position(), neutral_player)
|
|
anim2.Teleport_And_Face(door2)
|
|
anim2.Play_Animation("Cinematic",false,3)
|
|
Sleep(2)
|
|
anim2.Despawn()
|
|
lock_anim2 = Create_Generic_Object("UM02_KILLABLE_DOOR", spawn.Get_Position(), underworld_player)
|
|
lock_anim2.Teleport_And_Face(spawn)
|
|
lock_anim2.Teleport_And_Face(door2)
|
|
lock_anim2.Set_Selectable(false)
|
|
door2.Cancel_Event_Object_In_Range(Prox_InsideHatchTwoB)
|
|
end
|
|
function Prox_InsideHatchTwoA(self_obj, trigger_obj)
|
|
if trigger_obj.Get_Owner() == underworld_player then
|
|
InsideHatchTwo = true
|
|
end
|
|
end
|
|
function Prox_InsideHatchTwoB(self_obj, trigger_obj)
|
|
if trigger_obj.Get_Owner() == empire_player then
|
|
trigger_obj.Take_Damage(50000)
|
|
end
|
|
end
|
|
|
|
-- delay a short time and then start the game
|
|
function CINE_Start_Mission()
|
|
Cancel_Fast_Forward()
|
|
CINE_Intro_Active = true
|
|
Suspend_AI(1)
|
|
Lock_Controls(1)
|
|
Fade_Screen_Out(0)
|
|
Letter_Box_In(0)
|
|
Start_Cinematic_Camera()
|
|
|
|
tyber_zann = Find_Nearest(pad1,"TYBER_ZANN_PASSENGER")
|
|
Register_Death_Event(tyber_zann, Tyber_Destroyed)
|
|
tyberstart = Find_Hint("STORY_TRIGGER_ZONE","tyber")
|
|
tyber_zann.Teleport_And_Face(tyberstart)
|
|
|
|
intro_landing = Find_Hint("STORY_TRIGGER_ZONE_00","introland")
|
|
-- Create_Cinematic_Transport(object_type_name, player_id, transport_pos, zangle, phase_mode, anim_delta, idle_time, persist,hint)
|
|
transport = Create_Cinematic_Transport("Underworld_Hero_Shuttle_Landing", underworld_player.Get_ID(), intro_landing, -45, 1, 1.05, 3, 0)
|
|
transport.Attach_Particle_Effect("TRANSPORT_LANDING_DUST_VOLCANIC")
|
|
|
|
--Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
|
|
Set_Cinematic_Camera_Key(tyber_zann, 200, 15, 0, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 0, 0, 0, 0, 0)
|
|
|
|
Sleep(1)
|
|
|
|
Transition_Cinematic_Camera_Key(tyber_zann, 5, 150, 10, 20, 1, 0, 0, 0)
|
|
|
|
Fade_Screen_In(1)
|
|
Sleep(6)
|
|
|
|
Story_Event("CHATTER_49")
|
|
Set_Cinematic_Camera_Key(tyber_zann, 53, 21, -28, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 16, 0, 0, 0, 0)
|
|
--MessageBox("Insert Game Intro Cinematic Here")
|
|
|
|
while not State_Mission_4_Chatter_Dialog_49_Done do Sleep(.5) end
|
|
|
|
if TestValid(transport) then
|
|
transport.Despawn()
|
|
end
|
|
Story_Event("CHATTER_50")
|
|
Set_Cinematic_Camera_Key(urai_fen, 53, 18, 135, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(urai_fen, 0, 0, 17, 0, 0, 0, 0)
|
|
|
|
while not State_Mission_4_Chatter_Dialog_50_Done do Sleep(.5) end
|
|
|
|
Story_Event("CHATTER_51")
|
|
Set_Cinematic_Camera_Key(tyber_zann, 53, 21, -28, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 16, 0, 0, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_51_Done do Sleep(.5) end
|
|
|
|
Story_Event("CHATTER_52")
|
|
Set_Cinematic_Camera_Key(urai_fen, 53, 18, 135, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(urai_fen, 0, 0, 17, 0, 0, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_52_Done do Sleep(.5) end
|
|
|
|
Story_Event("CHATTER_53")
|
|
Set_Cinematic_Camera_Key(tyber_zann, 53, 21, -28, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 16, 0, 0, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_53_Done do Sleep(.5) end
|
|
|
|
Story_Event("CHATTER_54")
|
|
Set_Cinematic_Camera_Key(urai_fen, 53, 18, 135, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(urai_fen, 0, 0, 17, 0, 0, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_54_Done do Sleep(.5) end
|
|
|
|
Fade_Screen_Out(1)
|
|
Sleep(1)
|
|
|
|
Create_Thread("IntroCineCleanup")
|
|
end
|
|
|
|
function Story_Handle_Esc()
|
|
if CINE_Intro_Active then
|
|
CINE_Intro_Active = false
|
|
Thread.Kill(current_cine_id)
|
|
Create_Thread("IntroCineCleanup")
|
|
end
|
|
--if CINE_Mid_Active then
|
|
-- CINE_Mid_Active = false
|
|
-- Thread.Kill(current_cine_id)
|
|
-- Create_Thread("MidCineCleanup")
|
|
--end
|
|
--if CINE_End_Active then
|
|
-- CINE_End_Active = false
|
|
-- Thread.Kill(current_cine_id)
|
|
-- Create_Thread("EndCineCleanup")
|
|
--end
|
|
end
|
|
|
|
function IntroCineCleanup()
|
|
if TestValid(transport) then
|
|
transport.Despawn()
|
|
end
|
|
|
|
CINE_Intro_Active = false
|
|
|
|
--Stop_All_Music()
|
|
Stop_All_Speech()
|
|
Remove_All_Text()
|
|
Lock_Controls(0)
|
|
End_Cinematic_Camera()
|
|
Letter_Box_Out(0)
|
|
Suspend_AI(0)
|
|
Fade_Screen_In(1)
|
|
Sleep(1)
|
|
|
|
MissionPartOneStarted = true
|
|
Story_Event("UM04_INTROCINE_DONE")
|
|
current_cine_id = nil
|
|
Set_Hint_At_Object(gotcontrols)
|
|
|
|
end
|
|
|
|
function MidCineCleanup()
|
|
if TestValid(jabbadoor) then
|
|
jabbadoor.Despawn()
|
|
end
|
|
if TestValid(jabba) then
|
|
jabba.Despawn()
|
|
end
|
|
if TestValid(jguard1a) then
|
|
jguard1a.Despawn()
|
|
end
|
|
if TestValid(jguard1b) then
|
|
jguard1b.Despawn()
|
|
end
|
|
if TestValid(jguard2a) then
|
|
jguard2a.Despawn()
|
|
end
|
|
if TestValid(jguard2b) then
|
|
jguard2b.Despawn()
|
|
end
|
|
if TestValid(cineguys1) then
|
|
cineguys1.Despawn()
|
|
end
|
|
if TestValid(cineguys2) then
|
|
cineguys2.Despawn()
|
|
end
|
|
if TestValid(cineguys3) then
|
|
cineguys3.Despawn()
|
|
end
|
|
if TestValid(bossk) then
|
|
bossk.Teleport_And_Face(bossktalk)
|
|
else
|
|
bossk = Create_Generic_Object("BOSSK", bossktalk.Get_Position(), underworld_player)
|
|
end
|
|
if TestValid(urai_fen) then
|
|
urai_fen.Teleport_And_Face(uraitalk)
|
|
end
|
|
if TestValid(tyber_zann) then
|
|
tyber_zann.Teleport_And_Face(tybertalk)
|
|
end
|
|
|
|
bossk.Prevent_All_Fire(false)
|
|
urai_fen.Prevent_All_Fire(false)
|
|
urai_fen.Make_Invulnerable(false)
|
|
tyber_zann.Prevent_All_Fire(false)
|
|
|
|
Point_Camera_At(tyber_zann)
|
|
|
|
guys1 = Create_Generic_Object("HUTT_POD_WALKER", troops1.Get_Position(), pirate_player)
|
|
guys2 = Create_Generic_Object("HUTT_POD_WALKER", troops2.Get_Position(), pirate_player)
|
|
guys3 = Create_Generic_Object("HUTT_POD_WALKER", troops3.Get_Position(), pirate_player)
|
|
Create_Thread("Hunt_Underworld", {guys1, guys2, guys3})
|
|
jguard1a = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard1.Get_Position(), pirate_player)
|
|
jguard1b = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard1.Get_Position(), pirate_player)
|
|
jguard2a = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard2.Get_Position(), pirate_player)
|
|
jguard2b = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard2.Get_Position(), pirate_player)
|
|
Create_Thread("Hunt_Underworld", {jguard1a, jguard2a, jguard1b, jguard2b})
|
|
|
|
Stop_All_Music()
|
|
Stop_All_Speech()
|
|
Remove_All_Text()
|
|
End_Cinematic_Camera()
|
|
Letter_Box_Out(.5)
|
|
Lock_Controls(0)
|
|
Suspend_AI(0)
|
|
Fade_Screen_In(1)
|
|
Sleep(1)
|
|
|
|
MissionPartTwoStarted = true
|
|
Story_Event("UM04_MIDCINE_DONE")
|
|
Story_Event("UM04_HINT_BOSSK")
|
|
current_cine_id = nil
|
|
|
|
Register_Death_Event(bossk, Bossk_Destroyed)
|
|
end
|
|
|
|
function EndCineCleanup()
|
|
Fade_Screen_Out(1)
|
|
Sleep(1)
|
|
|
|
if TestValid(jabba) then
|
|
jabba.Despawn()
|
|
end
|
|
if TestValid(detritus1) then
|
|
detritus1.Despawn()
|
|
end
|
|
if TestValid(detritus2) then
|
|
detritus2.Despawn()
|
|
end
|
|
if TestValid(detritus3) then
|
|
detritus3.Despawn()
|
|
end
|
|
if TestValid(detritus4) then
|
|
detritus4.Despawn()
|
|
end
|
|
if TestValid(detritus5) then
|
|
detritus5.Despawn()
|
|
end
|
|
if TestValid(detritus6) then
|
|
detritus6.Despawn()
|
|
end
|
|
if TestValid(wreckage1) then
|
|
wreckage1.Despawn()
|
|
end
|
|
if TestValid(wreckage2) then
|
|
wreckage2.Despawn()
|
|
end
|
|
if TestValid(wreckage3) then
|
|
wreckage3.Despawn()
|
|
end
|
|
Letter_Box_Out(1)
|
|
Sleep(1)
|
|
Stop_All_Music()
|
|
Stop_All_Speech()
|
|
Remove_All_Text()
|
|
End_Cinematic_Camera()
|
|
Letter_Box_Out(0)
|
|
current_cine_id = nil
|
|
|
|
Fade_Screen_In(1)
|
|
Story_Event("UM04_ENDMISSION_VICTORY")
|
|
end
|
|
|
|
function Tyber_Destroyed()
|
|
DefeatCondition_TyberDead = true
|
|
Story_Event("UM04_TYBERDEAD")
|
|
end
|
|
|
|
function Urai_Destroyed()
|
|
DefeatCondition_UraiDead = true
|
|
Story_Event("UM04_URAIDEAD")
|
|
end
|
|
|
|
function DroidWorks_Destroyed()
|
|
DefeatCondition_DroidWorksDead = true
|
|
Story_Event("UM04_DROIDWORKSDEAD")
|
|
end
|
|
|
|
function Bossk_Destroyed()
|
|
DefeatCondition_BosskDead = true
|
|
Story_Event("UM04_BOSSKDEAD")
|
|
end
|
|
|
|
-- triggered when tyber exits the landing pad, to set the mood
|
|
function Prox_Chatter_BadFeeling(self_obj, trigger_obj)
|
|
if MissionPartOneStarted then
|
|
-- CHATTER -- Tyber Zann: "I've got a bad feeling about this."
|
|
if not trigger_obj then
|
|
DebugMessage("Warning: prox received a nil trigger_obj .")
|
|
return
|
|
end
|
|
tyber_distance=self_obj.Get_Distance(tyber_zann)
|
|
if tyber_distance < 200 then
|
|
Story_Event("CHATTER_25")
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_Chatter_BadFeeling)
|
|
end
|
|
end
|
|
end
|
|
|
|
function Seen_Droids()
|
|
Create_Thread("Talk_About_Droids")
|
|
end
|
|
|
|
function Talk_About_Droids()
|
|
Story_Event("CHATTER_55")
|
|
while not State_Mission_4_Chatter_Dialog_55_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_56")
|
|
while not State_Mission_4_Chatter_Dialog_56_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_57")
|
|
while not State_Mission_4_Chatter_Dialog_57_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_58")
|
|
while not State_Mission_4_Chatter_Dialog_58_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_59")
|
|
while not State_Mission_4_Chatter_Dialog_59_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_60")
|
|
while not State_Mission_4_Chatter_Dialog_60_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_61")
|
|
end
|
|
|
|
|
|
-- triggered when the player gets close to the droid pens, which will then begin spawning droids
|
|
function Prox_StartDestroyers_A(self_obj, trigger_obj)
|
|
if MissionPartOneStarted then
|
|
-- Begin producing destroyer droids
|
|
if not trigger_obj then
|
|
DebugMessage("Warning: prox received a nil trigger_obj .")
|
|
return
|
|
end
|
|
|
|
droid1 = Find_Hint("GENERIC_MARKER_LAND","ddroid1")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid1.Get_Position(),pirate_player)
|
|
droid2 = Find_Hint("GENERIC_MARKER_LAND","ddroid2")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid2.Get_Position(),pirate_player)
|
|
droid3 = Find_Hint("GENERIC_MARKER_LAND","ddroid3")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid3.Get_Position(),pirate_player)
|
|
droid4 = Find_Hint("GENERIC_MARKER_LAND","ddroid4")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid4.Get_Position(),pirate_player)
|
|
droid5 = Find_Hint("GENERIC_MARKER_LAND","ddroid5")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid5.Get_Position(),pirate_player)
|
|
droid6 = Find_Hint("GENERIC_MARKER_LAND","ddroid6")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid6.Get_Position(),pirate_player)
|
|
droid7 = Find_Hint("GENERIC_MARKER_LAND","ddroid7")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid7.Get_Position(),pirate_player)
|
|
droid8 = Find_Hint("GENERIC_MARKER_LAND","ddroid8")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",droid8.Get_Position(),pirate_player)
|
|
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_StartDestroyers_A)
|
|
Create_Thread("StartMissionObjective")
|
|
end
|
|
end
|
|
|
|
-- triggered when the player gets close to the droid pens, which will then begin spawning droids
|
|
function Prox_StartDestroyers_B(self_obj, trigger_obj)
|
|
if MissionPartOneStarted then
|
|
-- Begin producing destroyer droids
|
|
if not trigger_obj then
|
|
DebugMessage("Warning: prox received a nil trigger_obj .")
|
|
return
|
|
end
|
|
--Story_Event("CHATTER_26")
|
|
--while not State_Mission_4_Chatter_Dialog_26_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_22")
|
|
|
|
edroid1 = Find_Hint("GENERIC_MARKER_LAND","edroid1")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",edroid1.Get_Position(),pirate_player)
|
|
edroid2 = Find_Hint("GENERIC_MARKER_LAND","edroid2")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",edroid2.Get_Position(),pirate_player)
|
|
edroid3 = Find_Hint("GENERIC_MARKER_LAND","edroid3")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",edroid3.Get_Position(),pirate_player)
|
|
edroid4 = Find_Hint("GENERIC_MARKER_LAND","edroid4")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",edroid4.Get_Position(),pirate_player)
|
|
edroid5 = Find_Hint("GENERIC_MARKER_LAND","edroid5")
|
|
Create_Generic_Object("UM02_DESTROYER_SPAWNER",edroid5.Get_Position(),pirate_player)
|
|
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_StartDestroyers_B)
|
|
end
|
|
end
|
|
|
|
-- delay a short time and then display the mission objective
|
|
function StartMissionObjective()
|
|
Sleep(2)
|
|
Story_Event("UM04_HINT_CONTROLS")
|
|
Story_Event("CHATTER_22")
|
|
end
|
|
|
|
-- triggered when player gets close to the droid controls for part one of the mission
|
|
function Prox_HintAtControls(self_obj, trigger_obj)
|
|
if MissionPartOneStarted then
|
|
-- CHATTER -- Tyber Zann: "There are the controls!"
|
|
if not trigger_obj then
|
|
DebugMessage("Warning: prox received a nil trigger_obj .")
|
|
return
|
|
end
|
|
Story_Event("CHATTER_23")
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_HintAtControls)
|
|
end
|
|
end
|
|
|
|
-- triggered when the player gets urai at the controls, triggering part two
|
|
function Prox_UseControls(self_obj, trigger_obj)
|
|
if MissionPartOneStarted then
|
|
if not trigger_obj then
|
|
DebugMessage("Warning: prox received a nil trigger_obj .")
|
|
return
|
|
end
|
|
urai_distance=self_obj.Get_Distance(urai_fen)
|
|
if urai_distance < 60 then
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_UseControls)
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_UseControls_Wrong)
|
|
Story_Event("CHATTER_45")
|
|
Remove_Hint_At_Object(gotcontrols)
|
|
Create_Thread("UraiUsesControls")
|
|
end
|
|
end
|
|
end
|
|
|
|
function UraiUsesControls()
|
|
|
|
urai_fen.Set_Selectable(false)
|
|
urai_fen.Make_Invulnerable(true)
|
|
BlockOnCommand(urai_fen.Move_To(gotcontrols))
|
|
Sleep(2)
|
|
Story_Event("CHATTER_46")
|
|
Sleep(4)
|
|
|
|
Register_Prox(bossktalk, Prox_ClearCineArea, 150, empire_player)
|
|
-- finds all destroyer droid spawners and deletes them
|
|
unit_list = Find_All_Objects_Of_Type("UM02_DESTROYER_SPAWNER")
|
|
for k, unit in pairs(unit_list) do
|
|
if TestValid(unit) then
|
|
unit.Despawn()
|
|
end
|
|
end
|
|
|
|
-- finds all conveyor belts and deactivates them
|
|
conv_list = Find_All_Objects_Of_Type("UM02_CONVEYOR")
|
|
for k, unit in pairs(conv_list) do
|
|
if TestValid(unit) then
|
|
unit.Play_Animation("Structure Hold", true, 0)
|
|
end
|
|
end
|
|
|
|
Create_Thread("SwitchDroids")
|
|
|
|
Sleep(1)
|
|
urai_fen.Set_Selectable(true)
|
|
--urai_fen.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
|
Story_Event("UM04_CONTROLS_USED")
|
|
Sleep(2)
|
|
if not DefeatStarted then
|
|
current_cine_id = Create_Thread("CINE_Mid_Mission")
|
|
end
|
|
bossktalk.Cancel_Event_Object_In_Range(Prox_ClearCineArea)
|
|
end
|
|
|
|
function SwitchDroids()
|
|
-- finds all destroyer droids and deactivates them
|
|
droid_list = Find_All_Objects_Of_Type("DESTROYER_DROID")
|
|
for k, unit in pairs(droid_list) do
|
|
if TestValid(unit) then
|
|
newunit = Create_Generic_Object("DESTROYER_DROID",unit.Get_Position(),neutral_player)
|
|
newunit.Teleport_And_Face(unit)
|
|
newunit.Attach_Particle_Effect("HAN_SOLO_TARGET_STUN_EFFECT")
|
|
unit.Take_Damage(10000)
|
|
Sleep(.25)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- triggered when the player gets tyber close to controls
|
|
function Prox_UseControls_Wrong(self_obj, trigger_obj)
|
|
if MissionPartOneStarted then
|
|
-- CHATTER -- Tyber Zann: "I don't know how to use this thing. Urai get over here."
|
|
if not trigger_obj then
|
|
DebugMessage("Warning: prox received a nil trigger_obj .")
|
|
return
|
|
end
|
|
tyber_distance=self_obj.Get_Distance(tyber_zann)
|
|
if tyber_distance < 60 then
|
|
Story_Event("CHATTER_44")
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_UseControls_Wrong)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- mid-mission cinematic where jabba lands and gives his best
|
|
function CINE_Mid_Mission()
|
|
Cancel_Fast_Forward()
|
|
CINE_Mid_Active = true
|
|
Story_Event("UM04_MIDCINE_BEGIN")
|
|
|
|
Suspend_AI(1)
|
|
Lock_Controls(1)
|
|
Fade_Screen_Out(1)
|
|
Sleep(1)
|
|
|
|
Letter_Box_In(0)
|
|
Start_Cinematic_Camera()
|
|
|
|
cineguys1 = Create_Generic_Object("HUTT_POD_WALKER", troops1.Get_Position(), neutral_player)
|
|
cineguys2 = Create_Generic_Object("HUTT_POD_WALKER", troops2.Get_Position(), neutral_player)
|
|
cineguys3 = Create_Generic_Object("HUTT_POD_WALKER", troops3.Get_Position(), neutral_player)
|
|
|
|
tyber_zann.Teleport_And_Face(midcine_tyber)
|
|
urai_fen.Teleport_And_Face(uraispot)
|
|
bossk = Create_Generic_Object("BOSSK", bossk_spawn.Get_Position(), underworld_player)
|
|
|
|
bossk.Prevent_All_Fire(true)
|
|
urai_fen.Prevent_All_Fire(true)
|
|
tyber_zann.Prevent_All_Fire(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(urai_fen, 0, -20, 18, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(station, 0, 0, 17, 0, 0, 0, 0)
|
|
|
|
Fade_Screen_In(1)
|
|
Sleep(1)
|
|
|
|
Transition_Cinematic_Camera_Key(urai_fen, 4, 10, -20, 20, 0, 0, 0, 0)
|
|
Story_Event("CHATTER_06")
|
|
urai_fen.Play_Animation("cinematic", true, 0)
|
|
while not State_Mission_4_Chatter_Dialog_06_Done do Sleep(.5) end
|
|
urai_fen.Play_Animation("idle", true, 0)
|
|
|
|
-- changed per lec
|
|
--bossk.Move_To(bossk_goto)
|
|
bossk.Teleport_And_Face(bossk_goto)
|
|
bossk.Face_Immediate(tyber_zann)
|
|
Sleep(.5)
|
|
bossk.Play_Animation("attack idle", true, 0)
|
|
Sleep(.5)
|
|
|
|
--Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
|
|
Set_Cinematic_Camera_Key(tyber_zann, 20, 0, 18, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(bossk_goto, 0, 0, 17, 0, 0, 0, 0)
|
|
Sleep(.5)
|
|
--bossk.Play_Animation("talk", true, 0)
|
|
|
|
Sleep(.5)
|
|
tyber_zann.Play_SFX_Event("Unit_Attack_Bossk")
|
|
Sleep(1.5)
|
|
|
|
Story_Event("CHATTER_07")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
while not State_Mission_4_Chatter_Dialog_07_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
|
|
tyber_zann.Turn_To_Face(bossk)
|
|
Sleep(.25)
|
|
|
|
urai_fen.Move_To(uraimove)
|
|
|
|
Story_Event("CHATTER_11")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
Transition_Cinematic_Camera_Key(tyber_zann, 4, 20, -16, 18, 0, 0, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_11_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
|
|
--bossk.Play_Animation("talk", true, 0)
|
|
Story_Event("CHATTER_12")
|
|
while not State_Mission_4_Chatter_Dialog_12_Done do Sleep(.5) 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(bossk, 20, 0, 18, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 16, 0, 0, 0, 0)
|
|
Transition_Cinematic_Target_Key(tyber_zann, 3, 0, 11, 16, 0, 0, 0, 0)
|
|
--bossk.Play_Animation("idle", true, 0)
|
|
Story_Event("CHATTER_13")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
while not State_Mission_4_Chatter_Dialog_13_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
|
|
--Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
|
|
bossk.Play_Animation("talk", true, 0)
|
|
Set_Cinematic_Camera_Key(bossk, 15, 0, 18, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(bossk, 0, 0, 17, 0, 0, 0, 0)
|
|
|
|
Story_Event("CHATTER_14")
|
|
while not State_Mission_4_Chatter_Dialog_14_Done do Sleep(.5) end
|
|
|
|
bossk.Play_Animation("idle", true, 0)
|
|
Sleep(1)
|
|
|
|
jabbadoor.Take_Damage(50000)
|
|
|
|
jabba = Create_Generic_Object("HUTT_CIVILIAN", jabbaspawn.Get_Position(), neutral_player)
|
|
jabba.Prevent_AI_Usage(true)
|
|
jabba.Prevent_All_Fire(true)
|
|
jabba.Make_Invulnerable(true)
|
|
jguard1a = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard1.Get_Position(), neutral_player)
|
|
jguard1b = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard1.Get_Position(), neutral_player)
|
|
jguard2a = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard2.Get_Position(), neutral_player)
|
|
jguard2b = Create_Generic_Object("PIRATE_SOLDIER_NONSQUAD", jabbaguard2.Get_Position(), neutral_player)
|
|
jguard1a.Prevent_AI_Usage(true)
|
|
jguard2a.Prevent_AI_Usage(true)
|
|
jguard1b.Prevent_AI_Usage(true)
|
|
jguard2b.Prevent_AI_Usage(true)
|
|
jguard1a.Prevent_All_Fire(true)
|
|
jguard2a.Prevent_All_Fire(true)
|
|
jguard1b.Prevent_All_Fire(true)
|
|
jguard2b.Prevent_All_Fire(true)
|
|
jguard1a.Make_Invulnerable(true)
|
|
jguard2a.Make_Invulnerable(true)
|
|
jguard1b.Make_Invulnerable(true)
|
|
jguard2b.Make_Invulnerable(true)
|
|
|
|
Set_Cinematic_Camera_Key(jabbacam, 0, 0, 15, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(jabba, 0, 0, 50, 0, 0, 0, 0)
|
|
jabbacam.Play_SFX_Event("SFX_Death_Bombard")
|
|
|
|
jguard1a.Move_To(jg1spot)
|
|
jguard2a.Move_To(jg2spot)
|
|
Sleep(1)
|
|
jguard1b.Move_To(jg1spot)
|
|
jguard2b.Move_To(jg2spot)
|
|
|
|
jabba.Move_To(jabbaspot)
|
|
tyber_zann.Turn_To_Face(jabba)
|
|
urai_fen.Turn_To_Face(jabba)
|
|
bossk.Turn_To_Face(jabba)
|
|
|
|
Transition_Cinematic_Camera_Key(tybertalk, 6, 50, 0, 50, 0, 0, 0, 0)
|
|
Transition_Cinematic_Target_Key(jabbaspot, 5, 0, 0, 0, 0, 1, 0, 0)
|
|
|
|
Sleep(4)
|
|
|
|
tyber_zann.Teleport_And_Face(tybertalk)
|
|
urai_fen.Teleport_And_Face(uraitalk)
|
|
bossk.Teleport_And_Face(bossktalk)
|
|
tyber_zann.Turn_To_Face(jabba)
|
|
urai_fen.Turn_To_Face(jabba)
|
|
bossk.Turn_To_Face(jabba)
|
|
|
|
Sleep(1.5)
|
|
jabba.Stop()
|
|
jabba.Turn_To_Face(tyber_zann)
|
|
Sleep(.5)
|
|
jabba.Suspend_Locomotor(true)
|
|
|
|
Story_Event("CHATTER_08")
|
|
jabba.Play_Animation("cinematic", true, 0)
|
|
|
|
jguard1a.Suspend_Locomotor(true)
|
|
jguard1a.Turn_To_Face(tyber_zann)
|
|
jguard2a.Suspend_Locomotor(true)
|
|
jguard2a.Turn_To_Face(tyber_zann)
|
|
jguard1b.Suspend_Locomotor(true)
|
|
jguard1b.Turn_To_Face(tyber_zann)
|
|
jguard2b.Suspend_Locomotor(true)
|
|
jguard2b.Turn_To_Face(tyber_zann)
|
|
--Sleep(6)
|
|
while not State_Mission_4_Chatter_Dialog_08_Done do Sleep(.5) end
|
|
jabba.Play_Animation("idle", true, 0)
|
|
|
|
Set_Cinematic_Camera_Key(jabba, 50, 0, 18, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 16, 0, 0, 0, 0)
|
|
Transition_Cinematic_Camera_Key(jabba, 5, -10, 45, 18, 0, 0, 0, 0)
|
|
|
|
Story_Event("CHATTER_09")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
while not State_Mission_4_Chatter_Dialog_09_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
|
|
Set_Cinematic_Camera_Key(tyber_zann, 50, 10, 50, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(jabbaspot, 0, 0, 0, 0, 1, 0, 0)
|
|
Transition_Cinematic_Camera_Key(tyber_zann, 8, 50, -10, 40, 0, 0, 0, 0)
|
|
|
|
Story_Event("CHATTER_10")
|
|
jabba.Play_Animation("cinematic", true, 0)
|
|
while not State_Mission_4_Chatter_Dialog_10_Done do Sleep(.5) end
|
|
jabba.Play_Animation("idle", true, 0)
|
|
|
|
jabba.Suspend_Locomotor(false)
|
|
jguard1a.Suspend_Locomotor(false)
|
|
jguard2a.Suspend_Locomotor(false)
|
|
jguard1b.Suspend_Locomotor(false)
|
|
jguard2b.Suspend_Locomotor(false)
|
|
|
|
jabba.Move_To(pad2)
|
|
|
|
Sleep(2)
|
|
jguard1a.Move_To(doorguard1)
|
|
jguard2a.Move_To(doorguard2)
|
|
jguard1b.Move_To(doorguard3)
|
|
jguard2b.Move_To(doorguard4)
|
|
|
|
Sleep(1)
|
|
cineguys1.Move_To(jabbaspot)
|
|
cineguys2.Move_To(jabbaspot)
|
|
cineguys3.Move_To(jabbaspot)
|
|
jguard1a.Turn_To_Face(tyber_zann)
|
|
jguard2b.Turn_To_Face(tyber_zann)
|
|
Sleep(1)
|
|
jguard1b.Turn_To_Face(tyber_zann)
|
|
jguard2a.Turn_To_Face(tyber_zann)
|
|
Sleep(3.5)
|
|
|
|
Fade_Screen_Out(1)
|
|
Sleep(1)
|
|
|
|
Create_Thread("MidCineCleanup")
|
|
end
|
|
|
|
function Mid_Mission_Setup()
|
|
-- Destroys all magnetically sealed doors
|
|
unit_list = Find_All_Objects_Of_Type("UM02_MAGNETICALLY_SEALED_DOORWAY")
|
|
for k, unit in pairs(unit_list) do
|
|
if TestValid(unit) then
|
|
unit.Take_Damage(50000)
|
|
end
|
|
end
|
|
unit_list = Find_All_Objects_Of_Type("UM02_KILLABLE_DOOR")
|
|
for k, unit in pairs(unit_list) do
|
|
if TestValid(unit) then
|
|
unit.Take_Damage(50000)
|
|
end
|
|
end
|
|
|
|
--pad1.Change_Owner(pirate_player)
|
|
|
|
reinforce_list = {
|
|
"Pirate_Soldier_Squad",
|
|
"Pirate_Plex_Squad",
|
|
"UNDERWORLD_POD_WALKER_COMPANY"
|
|
}
|
|
|
|
--ReinforceList(reinforce_list, pad1, pirate_player, false, true, true, Find_And_Attack)
|
|
ReinforceList(reinforce_list, pad2, pirate_player, false, true, true, Find_And_Attack)
|
|
ReinforceList(reinforce_list, pad3, pirate_player, false, true, true, Find_And_Attack)
|
|
ReinforceList(reinforce_list, pad4, pirate_player, false, true, true, Find_And_Attack)
|
|
|
|
Create_Thread("MidMissionObjective")
|
|
end
|
|
|
|
function Prox_ClearCineArea(self_obj, trigger_obj)
|
|
if trigger_obj.Get_Owner() == empire_player then
|
|
trigger_obj.Take_Damage(50000)
|
|
end
|
|
end
|
|
|
|
|
|
function Check_LandingPads()
|
|
reinforce_list = {
|
|
"Pirate_Soldier_Squad",
|
|
"Pirate_Plex_Squad",
|
|
"UNDERWORLD_POD_WALKER_COMPANY"
|
|
}
|
|
Register_Timer(JabbaGuysLand, 1)
|
|
while not VictoryCondition_LandingPads do
|
|
if pad1.Get_Owner() == underworld_player and not PadOneCaptured then
|
|
PadOneCaptured = true
|
|
PadsCaptured = PadsCaptured + 1
|
|
Create_Thread("Captured_A_Pad")
|
|
end
|
|
if pad2.Get_Owner() == underworld_player and not PadTwoCaptured then
|
|
PadTwoCaptured = true
|
|
PadsCaptured = PadsCaptured + 1
|
|
Create_Thread("Captured_A_Pad")
|
|
end
|
|
if pad3.Get_Owner() == underworld_player and not PadThreeCaptured then
|
|
PadThreeCaptured = true
|
|
PadsCaptured = PadsCaptured + 1
|
|
Create_Thread("Captured_A_Pad")
|
|
end
|
|
if pad4.Get_Owner() == underworld_player and not PadFourCaptured then
|
|
PadFourCaptured = true
|
|
PadsCaptured = PadsCaptured + 1
|
|
Create_Thread("Captured_A_Pad")
|
|
end
|
|
if PadOneCaptured and PadTwoCaptured and PadThreeCaptured and PadFourCaptured then
|
|
VictoryCondition_LandingPads = true
|
|
Story_Event("UM04_PADSCAPTURED")
|
|
end
|
|
Sleep(1)
|
|
end
|
|
end
|
|
|
|
function Captured_A_Pad()
|
|
if PadsCaptured < 1 then
|
|
elseif PadsCaptured < 2 then
|
|
--Sleep(1)
|
|
--Story_Event("CHATTER_39")
|
|
--Sleep(2)
|
|
--Story_Event("CHATTER_40")
|
|
elseif PadsCaptured < 3 then
|
|
Sleep(1)
|
|
Story_Event("CHATTER_41")
|
|
elseif PadsCaptured < 4 then
|
|
Sleep(1)
|
|
Story_Event("CHATTER_39")
|
|
while not State_Mission_4_Chatter_Dialog_39_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_42")
|
|
elseif PadsCaptured < 5 then
|
|
--Sleep(1)
|
|
--Story_Event("CHATTER_43")
|
|
--Sleep(2)
|
|
end
|
|
end
|
|
|
|
function JabbaGuysLand ()
|
|
randompad = GameRandom(1,4)
|
|
if not PadOneCaptured and randompad == 1 then
|
|
ReinforceList(reinforce_list, pad1, pirate_player, false, true, true, Find_And_Attack)
|
|
end
|
|
if not PadTwoCaptured and randompad == 2 then
|
|
ReinforceList(reinforce_list, pad2, pirate_player, false, true, true, Find_And_Attack)
|
|
end
|
|
if not PadThreeCaptured and randompad == 3 then
|
|
ReinforceList(reinforce_list, pad3, pirate_player, false, true, true, Find_And_Attack)
|
|
end
|
|
if not PadFourCaptured and randompad == 4 then
|
|
ReinforceList(reinforce_list, pad4, pirate_player, false, true, true, Find_And_Attack)
|
|
end
|
|
Register_Timer(JabbaGuysLand, 45)
|
|
end
|
|
|
|
function Find_And_Attack(attack_list)
|
|
Create_Thread("DD_Hunt_Underworld",attack_list)
|
|
end
|
|
|
|
function DD_Hunt_Underworld(attack_list)
|
|
local enemy_player = Find_Player("Underworld")
|
|
while true do
|
|
if not VictoryStarted and not DefeatStarted then
|
|
for k, unit in pairs(attack_list) do
|
|
if TestValid(unit) then
|
|
if not unit.Get_Owner().Is_Human() then
|
|
local closest_enemy = Find_Nearest(unit, enemy_player, true)
|
|
if unit.Is_Ability_Ready("ROCKET_ATTACK") then
|
|
unit.Activate_Ability("ROCKET_ATTACK", false)
|
|
end
|
|
unit.Attack_Move(closest_enemy)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
Sleep(4)
|
|
end
|
|
end
|
|
|
|
-- delay a short time and then display the mission objective
|
|
function MidMissionObjective()
|
|
Sleep(2)
|
|
Set_Hint_At_Object(droidworksloc)
|
|
|
|
-- this creates a small timer/re-timer system that checks for victory conditions on landing pads
|
|
Create_Thread("Check_LandingPads")
|
|
|
|
Story_Event("CHATTER_28")
|
|
while not State_Mission_4_Chatter_Dialog_28_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_29")
|
|
Story_Event("UM04_HINT_DROIDWORKS")
|
|
while not State_Mission_4_Chatter_Dialog_29_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_30")
|
|
while not State_Mission_4_Chatter_Dialog_30_Done do Sleep(.5) end
|
|
Story_Event("CHATTER_32")
|
|
Story_Event("UM04_HINT_LANDINGPADS")
|
|
Sleep(2)
|
|
end
|
|
|
|
-- triggered when the player gets urai at the droid works
|
|
function Prox_CapturedDroidWorks(self_obj, trigger_obj)
|
|
if MissionPartTwoStarted then
|
|
if not trigger_obj then
|
|
DebugMessage("Warning: prox received a nil trigger_obj .")
|
|
return
|
|
end
|
|
urai_distance=self_obj.Get_Distance(urai_fen)
|
|
if urai_distance < 60 then
|
|
self_obj.Cancel_Event_Object_In_Range(Prox_CapturedDroidWorks)
|
|
--urai_fen.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
|
Create_Thread("UraiUsesDroidWorks")
|
|
Remove_Hint_At_Object(droidworksloc)
|
|
Story_Event("UM04_DROIDWORKS_CAPTURED")
|
|
end
|
|
end
|
|
end
|
|
|
|
function UraiUsesDroidWorks()
|
|
|
|
urai_fen.Set_Selectable(false)
|
|
BlockOnCommand(urai_fen.Move_To(droidworksloc))
|
|
Sleep(5)
|
|
|
|
-- changes control of droid works to underworld player
|
|
droidworks=Find_Hint("U_GROUND_DROID_WORKS","droidworks")
|
|
VictoryCondition_DroidWorks = true
|
|
droidworks.Change_Owner(underworld_player)
|
|
|
|
-- finds all conveyor belts and deactivates them
|
|
conv_list = Find_All_Objects_Of_Type("UM02_CONVEYOR")
|
|
for k, unit in pairs(conv_list) do
|
|
if TestValid(unit) then
|
|
unit.Play_Animation("idle", true, 0)
|
|
end
|
|
end
|
|
|
|
Sleep(1)
|
|
urai_fen.Set_Selectable(true)
|
|
--urai_fen.Play_SFX_Event("SFX_UMP_EmpireKesselAlarm")
|
|
Create_Thread("ActivateDroids")
|
|
Create_Thread("StartDroidProduction")
|
|
Story_Event("CHATTER_47")
|
|
end
|
|
|
|
function ActivateDroids()
|
|
-- finds all destroyer droids and "activates" them
|
|
droid_list = Find_All_Objects_Of_Type("DESTROYER_DROID")
|
|
for k, unit in pairs(droid_list) do
|
|
if TestValid(unit) then
|
|
unit.Change_Owner(underworld_player)
|
|
unit.Attach_Particle_Effect("HAN_SOLO_TARGET_STUN_EFFECT")
|
|
Sleep(1)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- triggered when the player reboots the factory and now gets droids from all over
|
|
function StartDroidProduction()
|
|
if MissionPartOneStarted and MissionPartOneStarted then
|
|
-- Begin producing destroyer droids
|
|
|
|
droid1 = Find_Hint("GENERIC_MARKER_LAND","ddroid1")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid1.Get_Position(),underworld_player)
|
|
droid2 = Find_Hint("GENERIC_MARKER_LAND","ddroid2")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid2.Get_Position(),underworld_player)
|
|
droid3 = Find_Hint("GENERIC_MARKER_LAND","ddroid3")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid3.Get_Position(),underworld_player)
|
|
droid4 = Find_Hint("GENERIC_MARKER_LAND","ddroid4")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid4.Get_Position(),underworld_player)
|
|
droid5 = Find_Hint("GENERIC_MARKER_LAND","ddroid5")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid5.Get_Position(),underworld_player)
|
|
droid6 = Find_Hint("GENERIC_MARKER_LAND","ddroid6")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid6.Get_Position(),underworld_player)
|
|
droid7 = Find_Hint("GENERIC_MARKER_LAND","ddroid7")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid7.Get_Position(),underworld_player)
|
|
droid8 = Find_Hint("GENERIC_MARKER_LAND","ddroid8")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",droid8.Get_Position(),underworld_player)
|
|
|
|
edroid1 = Find_Hint("GENERIC_MARKER_LAND","edroid1")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",edroid1.Get_Position(),underworld_player)
|
|
edroid2 = Find_Hint("GENERIC_MARKER_LAND","edroid2")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",edroid2.Get_Position(),underworld_player)
|
|
edroid3 = Find_Hint("GENERIC_MARKER_LAND","edroid3")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",edroid3.Get_Position(),underworld_player)
|
|
edroid4 = Find_Hint("GENERIC_MARKER_LAND","edroid4")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",edroid4.Get_Position(),underworld_player)
|
|
edroid5 = Find_Hint("GENERIC_MARKER_LAND","edroid5")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",edroid5.Get_Position(),underworld_player)
|
|
|
|
tdroid1 = Find_Hint("GENERIC_MARKER_LAND","tube1")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid1.Get_Position(),underworld_player)
|
|
tdroid2 = Find_Hint("GENERIC_MARKER_LAND","tube2")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid2.Get_Position(),underworld_player)
|
|
tdroid3 = Find_Hint("GENERIC_MARKER_LAND","tube3")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid3.Get_Position(),underworld_player)
|
|
tdroid4 = Find_Hint("GENERIC_MARKER_LAND","tube4")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid4.Get_Position(),underworld_player)
|
|
tdroid5 = Find_Hint("GENERIC_MARKER_LAND","tube5")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid5.Get_Position(),underworld_player)
|
|
tdroid6 = Find_Hint("GENERIC_MARKER_LAND","tube6")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid6.Get_Position(),underworld_player)
|
|
tdroid7 = Find_Hint("GENERIC_MARKER_LAND","tube7")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid7.Get_Position(),underworld_player)
|
|
tdroid8 = Find_Hint("GENERIC_MARKER_LAND","tube8")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid8.Get_Position(),underworld_player)
|
|
tdroid9 = Find_Hint("GENERIC_MARKER_LAND","tube9")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid9.Get_Position(),underworld_player)
|
|
tdroid10 = Find_Hint("GENERIC_MARKER_LAND","tube10")
|
|
Create_Generic_Object("UM02_DROIDS_SPAWNER",tdroid10.Get_Position(),underworld_player)
|
|
|
|
Sleep(2)
|
|
|
|
Story_Event("UM04_HINT_USEDROIDS")
|
|
droid1.Highlight(true)
|
|
Add_Radar_Blip(droid1, "droid1")
|
|
droid2.Highlight(true)
|
|
Add_Radar_Blip(droid2, "droid2")
|
|
droid3.Highlight(true)
|
|
Add_Radar_Blip(droid3, "droid3")
|
|
droid4.Highlight(true)
|
|
Add_Radar_Blip(droid4, "droid4")
|
|
droid5.Highlight(true)
|
|
Add_Radar_Blip(droid5, "droid5")
|
|
droid6.Highlight(true)
|
|
Add_Radar_Blip(droid6, "droid6")
|
|
droid7.Highlight(true)
|
|
Add_Radar_Blip(droid7, "droid7")
|
|
droid8.Highlight(true)
|
|
Add_Radar_Blip(droid8, "droid8")
|
|
|
|
edroid1.Highlight(true)
|
|
Add_Radar_Blip(edroid1, "edroid1")
|
|
edroid2.Highlight(true)
|
|
Add_Radar_Blip(edroid2, "edroid2")
|
|
edroid3.Highlight(true)
|
|
Add_Radar_Blip(edroid3, "edroid3")
|
|
edroid4.Highlight(true)
|
|
Add_Radar_Blip(edroid4, "edroid4")
|
|
edroid5.Highlight(true)
|
|
Add_Radar_Blip(edroid5, "edroid5")
|
|
|
|
tdroid1.Highlight(true)
|
|
Add_Radar_Blip(tdroid1, "tdroid1")
|
|
tdroid2.Highlight(true)
|
|
Add_Radar_Blip(tdroid2, "tdroid2")
|
|
tdroid3.Highlight(true)
|
|
Add_Radar_Blip(tdroid3, "tdroid3")
|
|
tdroid4.Highlight(true)
|
|
Add_Radar_Blip(tdroid4, "tdroid4")
|
|
tdroid5.Highlight(true)
|
|
Add_Radar_Blip(tdroid5, "tdroid5")
|
|
tdroid6.Highlight(true)
|
|
Add_Radar_Blip(tdroid6, "tdroid6")
|
|
tdroid7.Highlight(true)
|
|
Add_Radar_Blip(tdroid7, "tdroid7")
|
|
tdroid8.Highlight(true)
|
|
Add_Radar_Blip(tdroid8, "tdroid8")
|
|
tdroid9.Highlight(true)
|
|
Add_Radar_Blip(tdroid9, "tdroid9")
|
|
tdroid10.Highlight(true)
|
|
Add_Radar_Blip(tdroid10, "tdroid10")
|
|
|
|
Sleep(5)
|
|
|
|
droid1.Highlight(false)
|
|
Remove_Radar_Blip("droid1")
|
|
droid2.Highlight(false)
|
|
Remove_Radar_Blip("droid2")
|
|
droid3.Highlight(false)
|
|
Remove_Radar_Blip("droid3")
|
|
droid4.Highlight(false)
|
|
Remove_Radar_Blip("droid4")
|
|
droid5.Highlight(false)
|
|
Remove_Radar_Blip("droid5")
|
|
droid6.Highlight(false)
|
|
Remove_Radar_Blip("droid6")
|
|
droid7.Highlight(false)
|
|
Remove_Radar_Blip("droid7")
|
|
droid8.Highlight(false)
|
|
Remove_Radar_Blip("droid8")
|
|
|
|
edroid1.Highlight(false)
|
|
Remove_Radar_Blip("edroid1")
|
|
edroid2.Highlight(false)
|
|
Remove_Radar_Blip("edroid2")
|
|
edroid3.Highlight(false)
|
|
Remove_Radar_Blip("edroid3")
|
|
edroid4.Highlight(false)
|
|
Remove_Radar_Blip("edroid4")
|
|
edroid5.Highlight(false)
|
|
Remove_Radar_Blip("edroid5")
|
|
|
|
tdroid1.Highlight(false)
|
|
Remove_Radar_Blip("tdroid1")
|
|
tdroid2.Highlight(false)
|
|
Remove_Radar_Blip("tdroid2")
|
|
tdroid3.Highlight(false)
|
|
Remove_Radar_Blip("tdroid3")
|
|
tdroid4.Highlight(false)
|
|
Remove_Radar_Blip("tdroid4")
|
|
tdroid5.Highlight(false)
|
|
Remove_Radar_Blip("tdroid5")
|
|
tdroid6.Highlight(false)
|
|
Remove_Radar_Blip("tdroid6")
|
|
tdroid7.Highlight(false)
|
|
Remove_Radar_Blip("tdroid7")
|
|
tdroid8.Highlight(false)
|
|
Remove_Radar_Blip("tdroid8")
|
|
tdroid9.Highlight(false)
|
|
Remove_Radar_Blip("tdroid9")
|
|
tdroid10.Highlight(false)
|
|
Remove_Radar_Blip("tdroid10")
|
|
|
|
|
|
end
|
|
end
|
|
|
|
-- delay a short time and then show game has been won VICTORY
|
|
function EndMissionVictory()
|
|
Cancel_Fast_Forward()
|
|
CINE_End_Active = true
|
|
Story_Event("UM04_ENDCINE_BEGIN")
|
|
|
|
Suspend_AI(1)
|
|
Lock_Controls(1)
|
|
Fade_Screen_Out(1)
|
|
Sleep(1)
|
|
|
|
turrets = Find_All_Objects_Of_Type("PIRATE_ANTI_INFANTRY_TURRET")
|
|
for k, unit in pairs(turrets) do
|
|
if TestValid(unit) then
|
|
unit.Take_Damage(9999)
|
|
end
|
|
end
|
|
turrets = Find_All_Objects_Of_Type("PIRATE_ANTI_AIRCRAFT_TURRET")
|
|
for k, unit in pairs(turrets) do
|
|
if TestValid(unit) then
|
|
unit.Take_Damage(9999)
|
|
end
|
|
end
|
|
turrets = Find_All_Objects_Of_Type("PIRATE_ANTI_VEHICLE_TURRET")
|
|
for k, unit in pairs(turrets) do
|
|
if TestValid(unit) then
|
|
unit.Take_Damage(9999)
|
|
end
|
|
end
|
|
soldiers = Find_All_Objects_Of_Type(pirate_player)
|
|
for k, unit in pairs(soldiers) do
|
|
if TestValid(unit) then
|
|
unit.Prevent_All_Fire(true)
|
|
end
|
|
end
|
|
|
|
--entourage1 = Create_Generic_Object("HUTT_POD_WALKER", deadguys1.Get_Position(), neutral_player)
|
|
--entourage2 = Create_Generic_Object("HUTT_SOLDIER", deadguys2.Get_Position(), neutral_player)
|
|
--entourage3 = Create_Generic_Object("HUTT_SOLDIER", deadguys4.Get_Position(), neutral_player)
|
|
--entourage4 = Create_Generic_Object("HUTT_SOLDIER", deadguys5.Get_Position(), neutral_player)
|
|
|
|
Letter_Box_In(0)
|
|
Start_Cinematic_Camera()
|
|
|
|
detritus1 = Create_Generic_Object("HUTT_SOLDIER", deadguys1.Get_Position(), neutral_player)
|
|
detritus2 = Create_Generic_Object("HUTT_SOLDIER", deadguys2.Get_Position(), neutral_player)
|
|
detritus3 = Create_Generic_Object("HUTT_SOLDIER", deadguys3.Get_Position(), neutral_player)
|
|
detritus4 = Create_Generic_Object("HUTT_SOLDIER", deadguys4.Get_Position(), neutral_player)
|
|
detritus5 = Create_Generic_Object("HUTT_SOLDIER", deadguys5.Get_Position(), neutral_player)
|
|
detritus6 = Create_Generic_Object("HUTT_SOLDIER", deadguys6.Get_Position(), neutral_player)
|
|
detritus1.Take_Damage(99999)
|
|
detritus2.Take_Damage(99999)
|
|
detritus3.Take_Damage(99999)
|
|
detritus4.Take_Damage(99999)
|
|
detritus5.Take_Damage(99999)
|
|
detritus6.Take_Damage(99999)
|
|
wreckage2 = Create_Generic_Object("HUTT_POD_WALKER", wreck2.Get_Position(), neutral_player)
|
|
wreckage3 = Create_Generic_Object("HUTT_POD_WALKER", wreck3.Get_Position(), neutral_player)
|
|
wreckage2.Take_Damage(99999)
|
|
wreckage3.Take_Damage(99999)
|
|
endjabbaholospawn = Find_Hint("STORY_TRIGGER_ZONE", "endjabbaholospawn")
|
|
|
|
tyber_zann.Teleport_And_Face(endtyberspawn)
|
|
urai_fen.Teleport_And_Face(enduraispawn)
|
|
if not TestValid(bossk) then
|
|
bossk = Create_Generic_Object("BOSSK", endbosskspawn.Get_Position(), underworld_player)
|
|
end
|
|
bossk.Teleport_And_Face(endbosskspawn)
|
|
--jabba = Create_Generic_Object("HUTT_CIVILIAN", endjabbaspawn.Get_Position(), neutral_player)
|
|
jabba = Create_Generic_Object("UMP_CINE_HOLOJABBA", endjabbaholospawn.Get_Position(), neutral_player)
|
|
jabba.Teleport_And_Face(endjabbaholospawn)
|
|
--lildroid = Create_Generic_Object("UMP_CINE_MOUSEDROID", endjabbaspawn.Get_Position(), neutral_player)
|
|
--jabba.Teleport_And_Face(endjabbaspawn)
|
|
--jabba.Suspend_Locomotor(true)
|
|
tyber_zann.Play_Animation("Idle", false, 0)
|
|
bossk.Prevent_All_Fire(true)
|
|
urai_fen.Prevent_All_Fire(true)
|
|
tyber_zann.Prevent_All_Fire(true)
|
|
jabba.Prevent_All_Fire(true)
|
|
|
|
--entourage1.Face_Immediate(endtyberspawn)
|
|
--entourage2.Face_Immediate(endtyberspawn)
|
|
--entourage3.Face_Immediate(endtyberspawn)
|
|
--entourage4.Face_Immediate(endtyberspawn)
|
|
|
|
Sleep(1)
|
|
Fade_Screen_In(1)
|
|
--Set_Cinematic_Camera_Key(target_pos, xoffset_dist, yoffset_pitch, zoffset_yaw, angles?, attach_object, use_object_rotation, cinematic_animation)
|
|
Set_Cinematic_Camera_Key(jabba, 40, 25, 35, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 0, 0, 0, 0, 0)
|
|
Transition_Cinematic_Camera_Key(jabba, 5, 40, 25, 50, 1, 0, 0, 0)
|
|
|
|
Sleep(1)
|
|
|
|
jabba.Play_Animation("idle", true, 0)
|
|
Story_Event("CHATTER_15")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
while not State_Mission_4_Chatter_Dialog_15_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
|
|
Set_Cinematic_Camera_Key(tyber_zann, 30, 55, -60, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(jabba, 0, 0, 0, 0, 0, 0, 0)
|
|
--Transition_Cinematic_Camera_Key(tyber_zann, 8, 30, 55, -70, 1, 0, 0, 0)
|
|
|
|
jabba.Play_Animation("idle", true, 0)
|
|
Story_Event("CHATTER_16")
|
|
Sleep(2)
|
|
--jabba.Play_Animation("Idle", false, 3)
|
|
while not State_Mission_4_Chatter_Dialog_16_Done do Sleep(.5) end
|
|
|
|
Set_Cinematic_Camera_Key(jabba, 40, 25, 50, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 0, 0, 0, 0, 0)
|
|
Transition_Cinematic_Camera_Key(jabba, 21, 40, 25, 95, 1, 0, 0, 0)
|
|
|
|
jabba.Play_Animation("cinematic", true, 0)
|
|
Story_Event("CHATTER_17")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
Sleep(12.5)
|
|
|
|
detritus1.Despawn()
|
|
detritus2.Despawn()
|
|
detritus3.Despawn()
|
|
detritus4.Despawn()
|
|
detritus5.Despawn()
|
|
detritus6.Despawn()
|
|
detritus1 = Create_Generic_Object("HUTT_SOLDIER", deadguys1.Get_Position(), neutral_player)
|
|
detritus2 = Create_Generic_Object("HUTT_SOLDIER", deadguys2.Get_Position(), neutral_player)
|
|
detritus3 = Create_Generic_Object("HUTT_SOLDIER", deadguys3.Get_Position(), neutral_player)
|
|
detritus4 = Create_Generic_Object("HUTT_SOLDIER", deadguys4.Get_Position(), neutral_player)
|
|
detritus5 = Create_Generic_Object("HUTT_SOLDIER", deadguys5.Get_Position(), neutral_player)
|
|
detritus6 = Create_Generic_Object("HUTT_SOLDIER", deadguys6.Get_Position(), neutral_player)
|
|
detritus1.Take_Damage(99999)
|
|
detritus2.Take_Damage(99999)
|
|
detritus3.Take_Damage(99999)
|
|
detritus4.Take_Damage(99999)
|
|
detritus5.Take_Damage(99999)
|
|
detritus6.Take_Damage(99999)
|
|
|
|
--Set_Cinematic_Camera_Key(jabba, 20, -8, 16, 0, 0, 0, 0)
|
|
--Set_Cinematic_Target_Key(tyber_zann, 0, 0, -5, 0, 0, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_17_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("Idle", false, 1)
|
|
|
|
jabba.Play_Animation("idle", true, 0)
|
|
Story_Event("CHATTER_18")
|
|
Set_Cinematic_Camera_Key(tyber_zann, 80, 25, -120, 1, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(jabba, 50, 0, 0, 1, 0, 0, 0)
|
|
Transition_Cinematic_Camera_Key(jabba, 12, 80, 25, 120, 1, 0, 0, 0)
|
|
Transition_Cinematic_Target_Key(tyber_zann, 11, 5, -10, 0, 1, 0, 0, 0)
|
|
|
|
while not State_Mission_4_Chatter_Dialog_18_Done do Sleep(.5) end
|
|
--jabba.Play_Animation("Idle", false, 0)
|
|
|
|
--Set_Cinematic_Camera_Key(jabba, 55, 10, 10, 0, 0, 0, 0)
|
|
--Set_Cinematic_Target_Key(tyber_zann, 0, 0, -5, 0, 0, 0, 0)
|
|
|
|
|
|
jabba.Play_Animation("cinematic", true, 0)
|
|
Story_Event("CHATTER_19")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
Sleep(5)
|
|
|
|
jabba.Play_Animation("undeploy", true, 0)
|
|
--jabba.Move_To(jabbacam)
|
|
--jabba.Suspend_Locomotor(false)
|
|
--jabba.Move_To(jabbacam)
|
|
Sleep(2)
|
|
--entourage1.Despawn()
|
|
--entourage2.Despawn()
|
|
--entourage3.Despawn()
|
|
--entourage4.Despawn()
|
|
|
|
urai_fen.Face_Immediate(tyber_zann)
|
|
Set_Cinematic_Camera_Key(tyber_zann, 10, 15, 18, 0, 1, 0, 0)
|
|
Set_Cinematic_Target_Key(urai_fen, 0, 0, 17, 0, 0, 0, 0)
|
|
|
|
while not State_Mission_4_Chatter_Dialog_19_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
|
|
jabba.Play_Animation("undeploy", false, 0)
|
|
Story_Event("CHATTER_20")
|
|
urai_fen.Play_Animation("cinematic", true, 0)
|
|
while not State_Mission_4_Chatter_Dialog_20_Done do Sleep(.5) end
|
|
urai_fen.Play_Animation("idle", true, 0)
|
|
--jabba.Hide(true)
|
|
|
|
tyber_zann.Turn_To_Face(urai_fen)
|
|
bossk.Turn_To_Face(tyber_zann)
|
|
|
|
Story_Event("CHATTER_63")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
Set_Cinematic_Camera_Key(urai_fen, -35, 0, 18, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 17, 0, 0, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_63_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
|
|
Story_Event("CHATTER_64")
|
|
Set_Cinematic_Camera_Key(tyber_zann, 10, 15, 18, 0, 1, 0, 0)
|
|
Set_Cinematic_Target_Key(urai_fen, 0, 0, 17, 0, 0, 0, 0)
|
|
urai_fen.Play_Animation("cinematic", true, 0)
|
|
while not State_Mission_4_Chatter_Dialog_64_Done do Sleep(.5) end
|
|
urai_fen.Play_Animation("idle", true, 0)
|
|
|
|
Story_Event("CHATTER_65")
|
|
tyber_zann.Play_Animation("cinematic", true, 2)
|
|
Set_Cinematic_Camera_Key(urai_fen, -35, 0, 18, 0, 0, 0, 0)
|
|
Set_Cinematic_Target_Key(tyber_zann, 0, 0, 17, 0, 0, 0, 0)
|
|
Sleep(2)
|
|
Transition_Cinematic_Camera_Key(tyber_zann, 11, 10, 14, 16, 0, 1, 0, 0)
|
|
while not State_Mission_4_Chatter_Dialog_65_Done do Sleep(.5) end
|
|
tyber_zann.Play_Animation("idle", true, 0)
|
|
Create_Thread("EndCineCleanup")
|
|
end
|
|
|
|
-- delay a short time and then show game has been lost DEFEAT
|
|
function EndMissionDefeat()
|
|
Cancel_Fast_Forward()
|
|
Suspend_AI(1)
|
|
Lock_Controls(1)
|
|
Sleep(1)
|
|
Story_Event("UM04_ENDMISSION_DEFEAT")
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function State_Mission_4_Chatter_Dialog_00_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_00_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_01_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_01_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_02_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_02_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_03_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_03_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_04_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_04_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_05_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_05_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_06_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_06_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_07_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_07_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_08_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_08_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_09_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_09_Done = true
|
|
end
|
|
end
|
|
|
|
|
|
function State_Mission_4_Chatter_Dialog_10_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_10_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_11_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_11_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_12_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_12_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_13_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_13_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_14_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_14_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_15_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_15_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_16_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_16_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_17_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_17_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_18_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_18_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_19_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_19_Done = true
|
|
end
|
|
end
|
|
|
|
|
|
function State_Mission_4_Chatter_Dialog_20_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_20_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_21_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_21_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_22_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_22_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_23_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_23_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_24_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_24_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_25_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_25_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_26_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_26_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_27_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_27_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_28_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_28_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_29_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_29_Done = true
|
|
end
|
|
end
|
|
|
|
|
|
function State_Mission_4_Chatter_Dialog_30_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_30_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_31_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_31_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_32_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_32_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_33_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_33_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_34_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_34_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_35_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_35_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_36_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_36_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_37_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_37_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_38_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_38_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_39_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_39_Done = true
|
|
end
|
|
end
|
|
|
|
|
|
function State_Mission_4_Chatter_Dialog_40_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_40_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_41_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_41_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_42_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_42_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_43_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_43_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_44_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_44_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_45_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_45_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_46_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_46_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_47_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_47_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_48_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_48_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_49_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_49_Done = true
|
|
end
|
|
end
|
|
|
|
|
|
function State_Mission_4_Chatter_Dialog_50_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_50_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_51_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_51_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_52_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_52_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_53_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_53_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_54_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_54_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_55_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_55_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_56_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_56_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_57_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_57_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_58_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_58_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_59_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_59_Done = true
|
|
end
|
|
end
|
|
|
|
|
|
|
|
function State_Mission_4_Chatter_Dialog_60_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_60_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_61_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_61_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_62_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_62_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_63_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_63_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_64_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_64_Done = true
|
|
end
|
|
end
|
|
function State_Mission_4_Chatter_Dialog_65_Speech_Done(message)
|
|
if message == OnEnter then
|
|
State_Mission_4_Chatter_Dialog_65_Done = true
|
|
end
|
|
end
|