Resource; SampleCampaignLUA - HWRM/KarosGraveyard GitHub Wiki

Reference Sample Campaign Mission ".lua" File
Here's a cleaned-up version of Mission 1's ".lua" file. The event tables have been tidied up, and the Localization IDs have been replaced with their respective dialogue strings. This should make it easier for you to figure out what's going on.

-- LuaDC version 0.9.19
-- 2/9/04 5:54:10 PM
-- LuaDC by Age2uN
-- on error send source file (compiled lua) and this outputfile to [email protected]
--
dofilepath("data:scripts/SCAR/SCAR_Util.lua")
obj_prim_beginharvesting_id = 0
obj_prim_buildfightersubsystem_id = 0
obj_prim_buildtwointerceptors_id = 0
obj_prim_researchplasmabomb_id = 0
obj_prim_buildtwobombers_id = 0
obj_prim_defeatvaygratchimera_id = 0
obj_prim_movetochimera_id = 0
obj_prim_destroyvaygrgates_id = 0
obj_prim_protectmothership_id = 0
ping_resource_operation_id = 0
ping_targetdrones_id = 0
ping_vaygrbombers_id = 0
ping_vaygrhyperspacegate_waveone_id =
{
    0,
    0,
    0,
    0,
}
g_eventisdone = 1
g_now_time = Universe_GameTime()
g_playerID = Universe_CurrentPlayer()
g_pointer_default = 0
g_waitID = 0
g_MSAttackersGate = 0
g_WaveOne_AttacksIssued = 0
g_WaveOne_HyperspaceIssued = 0
g_WaveOne_GatesDestroyed = 0
g_WaveTwo_HyperspaceIssued = 0
g_WaveTwo_AttacksIssued = 0
g_WaveTwo_OutpostHyperspaceIssued = 0
g_WaveTwo_OutpostAttacksIssued = 0
g_playerBegunPlasma_id = 0
g_gatesdeployed_id = 0
g_playerBegunAttackBombers_id = 0
g_gatedeployed = 0
g_mothershiplaunched = 0
g_gatejustopened = ""
g_dronecount = 0
g_probesdeployed = 0
g_save_id = 0
buildinginterceptors = 0
g_chimeradisabled = 0
g_healthofchimera = SobGroup_HealthPercentage("Station_Chimera")
SobGroup_Create("Vgr_MothershipAttackers")
g_vaygrexithyperspace = 0
g_ipressed = 0
g_cpressed = 0
g_dpressed = 0
g_epressed = 0
g_apressed = 0
g_ppressed = 0
g_opressed = 0
g_lpressed = 0
g_drone =
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, }
g_dronemoved =
{ 2, 2, 2, 2, 2, 2, 2, 2, 2, }
g_currentdronebeingswitched = 1
WaveOne_GateAttackers =
{ 0, 0, 0, }
g_createattackers = 1
Events =
{}
Events.intelevent_beginharvesting =
{
    {
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_LocationCardEvent("TANIS BASE - GREAT WASTELANDS", 4),
    },
    {
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnableAllSpeech( 1 )](/HWRM/KarosGraveyard/wiki/Sound_EnableAllSpeech(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_focusonMothership", 3)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusonMothership",-3)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "This is Fleet Intelligence.", 5),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Our task is to analyze sensor data and generate mission objectives.", 8),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Before launching the Mothership we must conduct a series of trials to ensure all critical systems are operational.", 10),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Throughout these trials the Mothership will be running with a minimal crew, and will remain docked with Tanis.", 10),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Once these trials are complete, we will launch the Mothership and test the Hyperspace Core.", 10),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [Sensors_EnableCameraZoom( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_EnableCameraZoom(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_Toggle( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "The first trial will test the Resourcing System.", 5),
        {
            [Camera_Interpolate( "here", "camera_FocusOnResources", 2 )](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_FocusOnResources",-2-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_Wait(2),
    },
    {
        {
            [Player_FillShipsByType("tempSobGroup", 0, "Hgn_ResourceCollector")](/HWRM/KarosGraveyard/wiki/Player_FillShipsByType("tempSobGroup",-0,-"Hgn_ResourceCollector")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default1 = HW2_CreateEventPointerSobGroup( "tempSobGroup" )](/HWRM/KarosGraveyard/wiki/g_pointer_default1-=-HW2_CreateEventPointerSobGroup(-"tempSobGroup"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "A Resource Collector is standing by.", 10),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default1)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default1 = HW2_CreateEventPointerVolume( "vol_Resources" )](/HWRM/KarosGraveyard/wiki/g_pointer_default1-=-HW2_CreateEventPointerVolume(-"vol_Resources"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_beginharvesting_id = Objective_Add( "Begin Harvesting. Collect 700 RU's.", OT_Primary )](/HWRM/KarosGraveyard/wiki/obj_prim_beginharvesting_id-=-Objective_Add(-"Begin-Harvesting.-Collect-700-RU's.",-OT_Primary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_beginharvesting_id, "To collect Resources, select your Resource Collectors and then RIGHT-CLICK on Resource Containers.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_beginharvesting_id,-"To-collect-Resources,-select-your-Resource-Collectors-and-then-RIGHT-CLICK-on-Resource-Containers.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [ping_resource_operation_id = HW2_PingCreateWithLabelPoint ( "Resource Operation.", "vol_Resources" )](/HWRM/KarosGraveyard/wiki/ping_resource_operation_id-=-HW2_PingCreateWithLabelPoint-(-"Resource-Operation.",-"vol_Resources"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Ping_AddDescription(ping_resource_operation_id, 0, "To Harvest, select a RESOURCE COLLECTOR and RIGHT-CLICK on the Resource Containers.")](/HWRM/KarosGraveyard/wiki/Ping_AddDescription(ping_resource_operation_id,-0,-"To-Harvest,-select-a-RESOURCE-COLLECTOR-and-RIGHT-CLICK-on-the-Resource-Containers.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Begin retrieval of resource containers at this location.", 10),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default1)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_Interpolate( "here", "camera_focusOnCollector", 2 )](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnCollector",-2-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(2),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Letterbox(0),
        HW2_Wait(2),
        {
            [Sensors_EnableCameraZoom( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_EnableCameraZoom(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.intelevent_subsystemconstruction =
{
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetCommand, "Resourcing Systems fully operational.", 8),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "Trial successful.", 5),
    },
    {
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Letterbox(1),
        HW2_Wait(2),
    },
    {
        {
            [Sensors_EnableCameraZoom( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_EnableCameraZoom(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {   
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_Interpolate( "here", "camera_focusOnProdFacilities", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnProdFacilities",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "We will now test the Mothership's production capabilities.", 8),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [obj_prim_buildfightersubsystem_id = Objective_Add( "Build a Fighter Facility", OT_Primary )](/HWRM/KarosGraveyard/wiki/obj_prim_buildfightersubsystem_id-=-Objective_Add(-"Build-a-Fighter-Facility",-OT_Primary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_buildfightersubsystem_id, "The FIGHTER FACILITY is a SUBSYSTEM.  You can find it in the Build Manager under the Fighters section.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_buildfightersubsystem_id,-"The-FIGHTER-FACILITY-is-a-SUBSYSTEM.--You-can-find-it-in-the-Build-Manager-under-the-Fighters-section.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [UI_FlashButton("NewTaskbar", "btnBuild", -1)](/HWRM/KarosGraveyard/wiki/UI_FlashButton("NewTaskbar",-"btnBuild",--1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Rule_Add( "Rule_monitorBuildBtn" )](/HWRM/KarosGraveyard/wiki/Rule_Add(-"Rule_monitorBuildBtn"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Begin construction of a Fighter Facility subsystem.", 5),
    },
    {
        HW2_Letterbox(0),
        HW2_Wait(2),
        {
            [Sensors_EnableCameraZoom( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_EnableCameraZoom(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.intelevent_constructinterceptors =
{
    {
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Letterbox(1),
        HW2_Wait(2),
    },
    {
        {
            [Sensors_EnableCameraZoom( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_EnableCameraZoom(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default = HW2_CreateEventPointerSubSystem( "FighterProduction", "Mothership" )](/HWRM/KarosGraveyard/wiki/g_pointer_default-=-HW2_CreateEventPointerSubSystem(-"FighterProduction",-"Mothership"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_Interpolate( "here", "camera_focusOnFighterSub", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnFighterSub",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetCommand, "Fighter Facility Subsystem complete.",    5),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "Engineering is online and ready for fighter production.", 5),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [UI_FlashButton("NewTaskbar", "btnBuild", -1)](/HWRM/KarosGraveyard/wiki/UI_FlashButton("NewTaskbar",-"btnBuild",--1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Rule_Add( "Rule_monitorBuildBtn" )](/HWRM/KarosGraveyard/wiki/Rule_Add(-"Rule_monitorBuildBtn"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_buildtwointerceptors_id = Objective_Add( "Build a Squadron of Interceptors.", OT_Primary )](/HWRM/KarosGraveyard/wiki/obj_prim_buildtwointerceptors_id-=-Objective_Add(-"Build-a-Squadron-of-Interceptors.",-OT_Primary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_buildtwointerceptors_id, "Interceptors can be found in the Build Manager under the Fighter section.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_buildtwointerceptors_id,-"Interceptors-can-be-found-in-the-Build-Manager-under-the-Fighter-section.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_buildtwointerceptors_id, "You can queue up multiple units by clicking on their icon multiple times.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_buildtwointerceptors_id,-"You-can-queue-up-multiple-units-by-clicking-on-their-icon-multiple-times.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Player_UnrestrictBuildOption( g_playerID, "Hgn_Interceptor" )](/HWRM/KarosGraveyard/wiki/Player_UnrestrictBuildOption(-g_playerID,-"Hgn_Interceptor"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "To test basic combat capabilities, construct an Interceptor Squadron.", 5),
    },
    {
        HW2_Letterbox(0),
        HW2_Wait(2),
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_EnableCameraZoom( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_EnableCameraZoom(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.intelevent_movetochimera =
{
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(4),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Stand by to begin combat trials.", 8),
    },
    {
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    HW2_Letterbox(1),
    HW2_Wait(2),
    },
    {
        {
            [Sensors_Toggle( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    HW2_Wait(1),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_focusOnChimera", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnChimera",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    HW2_SubTitleEvent(Actor_FleetIntel, "Perimeter Station Chimera will assist by providing target drones.", 10),
    },
    {
        HW2_Wait(1.5),
    },
    {
        {
            [g_pointer_default = HW2_CreateEventPointerVolume( "vol_TargetDronesLocation" )](/HWRM/KarosGraveyard/wiki/g_pointer_default-=-HW2_CreateEventPointerVolume(-"vol_TargetDronesLocation"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_movetochimera_id = Objective_Add( "Use the Interceptors to destroy the target drones.", OT_Primary )](/HWRM/KarosGraveyard/wiki/obj_prim_movetochimera_id-=-Objective_Add(-"Use-the-Interceptors-to-destroy-the-target-drones.",-OT_Primary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_movetochimera_id, "Attack and Destroy the Target drones with the Interceptors.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_movetochimera_id,-"Attack-and-Destroy-the-Target-drones-with-the-Interceptors.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_movetochimera_id, "To attack, select the Interceptors, then RIGHT-CLICK on the enemy ships you wish to attack.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_movetochimera_id,-"To-attack,-select-the-Interceptors,-then-RIGHT-CLICK-on-the-enemy-ships-you-wish-to-attack.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_movetochimera_id, "To attack multiple targets, use BAND-BOX attack.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_movetochimera_id,-"To-attack-multiple-targets,-use-BAND-BOX-attack.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Rule_AddInterval( "SwitchOwnerDrones", 0.5 )](/HWRM/KarosGraveyard/wiki/Rule_AddInterval(-"SwitchOwnerDrones",-0.5-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [ping_targetdrones_id = HW2_PingCreateWithLabelPoint( "Target Drones", "vol_TargetDronesLocation" )](/HWRM/KarosGraveyard/wiki/ping_targetdrones_id-=-HW2_PingCreateWithLabelPoint(-"Target-Drones",-"vol_TargetDronesLocation"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Ping_AddDescription(ping_targetdrones_id, 0, "Use the INTERCEPTORS to destroy the Target Drones")](/HWRM/KarosGraveyard/wiki/Ping_AddDescription(ping_targetdrones_id,-0,-"Use-the-INTERCEPTORS-to-destroy-the-Target-Drones")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Ping_AddDescription(ping_targetdrones_id, 1, "To attack, select the ships you want to attack with, then RIGHT-CLICK on the target.")](/HWRM/KarosGraveyard/wiki/Ping_AddDescription(ping_targetdrones_id,-1,-"To-attack,-select-the-ships-you-want-to-attack-with,-then-RIGHT-CLICK-on-the-target.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Ping_AddDescription(ping_targetdrones_id, 2, "To attack multiple targets, use BAND-BOX attack.")](/HWRM/KarosGraveyard/wiki/Ping_AddDescription(ping_targetdrones_id,-2,-"To-attack-multiple-targets,-use-BAND-BOX-attack.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_Interpolate( "here", "camera_focusOnDrones", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnDrones",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "The drones are located here.", 8),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Player_FillShipsByType("tempSobGroup",0,"Hgn_Interceptor")](/HWRM/KarosGraveyard/wiki/Player_FillShipsByType("tempSobGroup",0,"Hgn_Interceptor")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_FocusSobGroupWithBuffer("tempSobGroup",1000,10,2 )](/HWRM/KarosGraveyard/wiki/Camera_FocusSobGroupWithBuffer("tempSobGroup",1000,10,2-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Use the Interceptors to destroy the Target Drones.", 8),
        {
            [SobGroup_FillShipsByType( "tempSobGroup", "Player_Ships0", "Hgn_Interceptor" )](/HWRM/KarosGraveyard/wiki/SobGroup_FillShipsByType(-"tempSobGroup",-"Player_Ships0",-"Hgn_Interceptor"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default = HW2_CreateEventPointerSobGroup( "tempSobGroup"  )](/HWRM/KarosGraveyard/wiki/g_pointer_default-=-HW2_CreateEventPointerSobGroup(-"tempSobGroup"--)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1),
    },
    {
        HW2_Letterbox(0),
        HW2_Wait(2),
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_attackcomplete =
{
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_AllShips, "The Critters are under attack.", 5),
    },
    {
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.intelevent_perimiterbreached =
{
    {
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        {
            [Sensors_Toggle( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_focusOnVaygrBombers", 3)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnVaygrBombers",-3)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Tanis is under attack!", 8),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "All forces to combat alert. This is not a test.", 5),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Interceptors have been launched from Chimera. The enemy must be eliminated.", 5),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default1 = HW2_CreateEventPointerSobGroup("Vgr_Bombers")](/HWRM/KarosGraveyard/wiki/g_pointer_default1-=-HW2_CreateEventPointerSobGroup("Vgr_Bombers")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [ping_vaygrbombers_id = Ping_AddSobGroup( "Vaygr Bombers", "anomaly", "Vgr_Bombers" )](/HWRM/KarosGraveyard/wiki/ping_vaygrbombers_id-=-Ping_AddSobGroup(-"Vaygr-Bombers",-"anomaly",-"Vgr_Bombers"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Ping_AddDescription(ping_vaygrbombers_id, 0, "Destroy the Vaygr Bombers using  Interceptors.")](/HWRM/KarosGraveyard/wiki/Ping_AddDescription(ping_vaygrbombers_id,-0,-"Destroy-the-Vaygr-Bombers-using--Interceptors.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_defeatvaygratchimera_id = Objective_Add( "Defeat Vaygr forces at Chimera.", OT_Primary )](/HWRM/KarosGraveyard/wiki/obj_prim_defeatvaygratchimera_id-=-Objective_Add(-"Defeat-Vaygr-forces-at-Chimera.",-OT_Primary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_defeatvaygratchimera_id, "Destroy the Vaygr Bombers using  Interceptors.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_defeatvaygratchimera_id,-"Destroy-the-Vaygr-Bombers-using--Interceptors.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_defeatvaygratchimera_id, "To issue an Attack Order RIGHT-CLICK on the target you wish to attack.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_defeatvaygratchimera_id,-"To-issue-an-Attack-Order-RIGHT-CLICK-on-the-target-you-wish-to-attack.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Order all Interceptors to destroy the Vaygr bombers.", 10),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default1)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(0.4),
    },
    {
        {
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Letterbox(0),
        HW2_Wait(2),
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.autofocus_premothershiplaunches =
{
    {
        {
            [g_eventisdone = 0](/HWRM/KarosGraveyard/wiki/g_eventisdone-=-0),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(3),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "We are receiving a coded transmission from Hiigara:", 5),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_AllShips, "Tanis control, this is Angel Moon Station Jericho.", 10),
    },
    {
        HW2_SubTitleEvent(Actor_AllShips, "A massive Vaygr invasion fleet is approaching the Homeworld system. Heavy casualties are expected.", 5),
    },
    {
        HW2_SubTitleEvent(Actor_AllShips, "The crew of the Mothership has begun evacuation and a rally point has been established.", 5),
    },
    {
        HW2_SubTitleEvent(Actor_AllShips, "$We have initiated defense procedures and are standing by for contact.", 5),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "$The Homeworld is under attack.", 5),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_eventisdone = 1](/HWRM/KarosGraveyard/wiki/g_eventisdone-=-1),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.autofocus_mothershiplaunches =
{
    {
        {
            [g_eventisdone = 0](/HWRM/KarosGraveyard/wiki/g_eventisdone-=-0),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(2),
    },
    {
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_AllowPlayerOrders( 0 )](/HWRM/KarosGraveyard/wiki/Universe_AllowPlayerOrders(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_AllowControl(0)](/HWRM/KarosGraveyard/wiki/Camera_AllowControl(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [SobGroup_DeSelectAll()](/HWRM/KarosGraveyard/wiki/SobGroup_DeSelectAll()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_Interpolate( "here", "camera_focusChimeraPostAttack", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusChimeraPostAttack",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Letterbox(1),
        HW2_Wait(2),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Chimera Station is offline.", 8),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_focusOnMSAttackers", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnMSAttackers",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(2),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "The Vaygr have breached the Tanis perimeter.", 8),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "The Mothership is under attack.", 8),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_MSLaunchCamera1", 4)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_MSLaunchCamera1",-4)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    HW2_Wait(2),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "We cannot stay here any longer. Emergency Launch underway.", 5),
    },
    {
        HW2_Wait(2),
    },
    {
        HW2_SubTitleEvent(Actor_Tanis, "Release crews stand by for emergency launch.", 5),
        {
            [Camera_Interpolate( "here", "camera_MSLaunchCamera2", 0)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_MSLaunchCamera2",-0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_Wait(2),
    },
    {
        HW2_SubTitleEvent(Actor_Tanis, "Roger that Tanis.", 5),
        {
            [FX_PlayEffect( "ion_cannon_steam_spray", "vol_steam_2", 4.0 )](/HWRM/KarosGraveyard/wiki/FX_PlayEffect(-"ion_cannon_steam_spray",-"vol_steam_2",-4.0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [SobGroup_Launch( "Mothership", "Tanis" )](/HWRM/KarosGraveyard/wiki/SobGroup_Launch(-"Mothership",-"Tanis"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_Wait(6),
    },
    {
        HW2_SubTitleEvent(Actor_Tanis, "Primary Couplings released...", 5),
    },
    {
        HW2_Wait(6),
        {
            [Camera_Interpolate( "here", "camera_MSLaunchCamera3", 20)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_MSLaunchCamera3",-20)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_SubTitleEvent(Actor_Tanis, "She's looking good...", 5),
    },
    {
        HW2_Wait(2),
    },
    {
        HW2_SubTitleEvent(Actor_Tanis, "...greenline confirmed...", 5),
    },
    {
        HW2_Wait(3),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "The Mothership has cleared Tanis.", 5),
    },
    {
        HW2_Wait(3),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "We are away.", 5),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_AllowPlayerOrders( 1 )](/HWRM/KarosGraveyard/wiki/Universe_AllowPlayerOrders(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_AllowControl( 1 )](/HWRM/KarosGraveyard/wiki/Camera_AllowControl(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_eventisdone = 1](/HWRM/KarosGraveyard/wiki/g_eventisdone-=-1),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.intelevent_chimeraissafe =
{
    {
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_Wait(2),
    },
    {
        {
            [Sensors_Toggle( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_focusOnIncomingEnemy", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnIncomingEnemy",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default = HW2_CreateEventPointerSobGroup("WaveOne_Gate_1b")](/HWRM/KarosGraveyard/wiki/g_pointer_default-=-HW2_CreateEventPointerSobGroup("WaveOne_Gate_1b")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default1 = HW2_CreateEventPointerSobGroup("WaveOne_Gate_2b")](/HWRM/KarosGraveyard/wiki/g_pointer_default1-=-HW2_CreateEventPointerSobGroup("WaveOne_Gate_2b")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default2 = HW2_CreateEventPointerSobGroup("WaveOne_Gate_3b")](/HWRM/KarosGraveyard/wiki/g_pointer_default2-=-HW2_CreateEventPointerSobGroup("WaveOne_Gate_3b")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [g_pointer_default3 = HW2_CreateEventPointerSobGroup("MothershipAttackers")](/HWRM/KarosGraveyard/wiki/g_pointer_default3-=-HW2_CreateEventPointerSobGroup("MothershipAttackers")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Multiple enemy reinforcements detected.", 8),
    },
    {
        {
            [Timer_Start( 0, 120 )](/HWRM/KarosGraveyard/wiki/Timer_Start(-0,-120-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Timer_Pause( 0 )](/HWRM/KarosGraveyard/wiki/Timer_Pause(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Subtitle_TimeCounter( 0, 40521 )](/HWRM/KarosGraveyard/wiki/Subtitle_TimeCounter(-0,-40521-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "$40691", 8),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Begin construction of Bombers immediately to deal with this new threat.", 8),
    },
    {
        {
            [Camera_FocusSobGroupWithBuffer( "MothershipAttackers", 3000, 10, 2 )](/HWRM/KarosGraveyard/wiki/Camera_FocusSobGroupWithBuffer(-"MothershipAttackers",-3000,-10,-2-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [UI_FlashButton("NewTaskbar", "btnBuild", 10)](/HWRM/KarosGraveyard/wiki/UI_FlashButton("NewTaskbar",-"btnBuild",-10)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_buildtwobombers_id = Objective_Add( "Build a Squadron of Bombers.", OT_Secondary )](/HWRM/KarosGraveyard/wiki/obj_prim_buildtwobombers_id-=-Objective_Add(-"Build-a-Squadron-of-Bombers.",-OT_Secondary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_buildtwobombers_id, "Bombers can be found in the Build Menu under the Fighter section.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_buildtwobombers_id,-"Bombers-can-be-found-in-the-Build-Menu-under-the-Fighter-section.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_protectmothership_id = Objective_Add( "Protect the Mothership", OT_Primary )](/HWRM/KarosGraveyard/wiki/obj_prim_protectmothership_id-=-Objective_Add(-"Protect-the-Mothership",-OT_Primary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_protectmothership_id, "Protect the Mothership.  It must NOT be destroyed.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_protectmothership_id,-"Protect-the-Mothership.--It-must-NOT-be-destroyed.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Bombers will be required to defend the Mothership.", 8),
    },
    {
        {
            [EventPointer_Remove(g_pointer_default)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [EventPointer_Remove(g_pointer_default1)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [EventPointer_Remove(g_pointer_default2)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [EventPointer_Remove(g_pointer_default3)](/HWRM/KarosGraveyard/wiki/EventPointer_Remove(g_pointer_default3)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(0.5),
    },
    {
        HW2_Letterbox(0),
        HW2_Pause(0),
        HW2_Wait(2),
        {
            [Timer_Resume(0)](/HWRM/KarosGraveyard/wiki/Timer_Resume(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.intelevent_moreincoming =
{
    {
        HW2_Wait(5),
    },
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Camera_Interpolate( "here", "camera_focusOnGate", 2)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnGate",-2)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "Priority alert!", 5),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "The Vaygr are using Hyperspace Gates.", 5),
    },
    {
        HW2_Pause(1),
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Letterbox(1),
        HW2_Wait(2),
    },
    {
        {
            [Sensors_Toggle( 1 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "If they are not destroyed, the enemy can deploy reinforcements through them.", 8),
    },
    {
        {
            [ping_vaygrhyperspacegate_waveone_id[1] = HW2_PingCreateWithLabel( "Vaygr Hyperspace Gate", "WaveOne_Gate_1b" )](/HWRM/KarosGraveyard/wiki/ping_vaygrhyperspacegate_waveone_id[1]-=-HW2_PingCreateWithLabel(-"Vaygr-Hyperspace-Gate",-"WaveOne_Gate_1b"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [ping_vaygrhyperspacegate_waveone_id[2] = HW2_PingCreateWithLabel( "Vaygr Hyperspace Gate", "WaveOne_Gate_2b" )](/HWRM/KarosGraveyard/wiki/ping_vaygrhyperspacegate_waveone_id[2]-=-HW2_PingCreateWithLabel(-"Vaygr-Hyperspace-Gate",-"WaveOne_Gate_2b"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [ping_vaygrhyperspacegate_waveone_id[3] = HW2_PingCreateWithLabel( "Vaygr Hyperspace Gate", "WaveOne_Gate_3b" )](/HWRM/KarosGraveyard/wiki/ping_vaygrhyperspacegate_waveone_id[3]-=-HW2_PingCreateWithLabel(-"Vaygr-Hyperspace-Gate",-"WaveOne_Gate_3b"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_destroyvaygrgates_id = Objective_Add( "Eliminate the Vaygr Hyperspace Gates and the Vaygr Fighters.", OT_Primary )](/HWRM/KarosGraveyard/wiki/obj_prim_destroyvaygrgates_id-=-Objective_Add(-"Eliminate-the-Vaygr-Hyperspace-Gates-and-the-Vaygr-Fighters.",-OT_Primary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_destroyvaygrgates_id , "Use Bombers to destroy the Hyperspace Gates.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_destroyvaygrgates_id-,-"Use-Bombers-to-destroy-the-Hyperspace-Gates.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "These gates must be destroyed.", 10),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Letterbox(0),
        HW2_Pause(0),
        HW2_Wait(2),
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(0)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_buildattackbombers =
{
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [obj_prim_buildtwobombers_id = Objective_Add( "Build a Squadron of Bombers.", OT_Secondary )](/HWRM/KarosGraveyard/wiki/obj_prim_buildtwobombers_id-=-Objective_Add(-"Build-a-Squadron-of-Bombers.",-OT_Secondary-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Objective_AddDescription( obj_prim_buildtwobombers_id, "Bombers can be found in the Build Menu under the Fighter section.")](/HWRM/KarosGraveyard/wiki/Objective_AddDescription(-obj_prim_buildtwobombers_id,-"Bombers-can-be-found-in-the-Build-Menu-under-the-Fighter-section.")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "$40610", 7),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "$40611", 7),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Begin construction of Bombers immediately to deal with this new threat.", 7),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_firstgatedestroyed =
{
    {
        HW2_Wait(2),
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Gate destroyed.", 5),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Destroy all the remaining hyperspace gates.", 5),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_attackbombersdestroyed =
{
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "We need more bombers to destroy the Vaygr Gates.", 5),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Construct more Bomber Squadrons.", 5),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_chimerareporting =
{
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_Chimera, "Attention Tanis Control. This is Chimera Station.", 5),
    },
    {
        HW2_SubTitleEvent(Actor_Chimera, "We have multiple targets closing on vector three-fourteen.", 5),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_newbuildoptionsavailable =
{
    {
        HW2_Wait(10),
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetCommand, "New build options available.", 5),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_ic =
{
    {
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "$40710", 5),
    },
    {
        {
            [Sound_ExitIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_ExitIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.intelevent_mothershipjumps =
{
    {
        {
            [Camera_AllowControl(0)](/HWRM/KarosGraveyard/wiki/Camera_AllowControl(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_AllowPlayerOrders( 0 )](/HWRM/KarosGraveyard/wiki/Universe_AllowPlayerOrders(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_EnableSkip(1)](/HWRM/KarosGraveyard/wiki/Universe_EnableSkip(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnterIntelEvent()](/HWRM/KarosGraveyard/wiki/Sound_EnterIntelEvent()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_SetMuteActor("Fleet")](/HWRM/KarosGraveyard/wiki/Sound_SetMuteActor("Fleet")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [SobGroup_SetAutoLaunch("Mothership", ShipHoldStayDockedAlways)](/HWRM/KarosGraveyard/wiki/SobGroup_SetAutoLaunch("Mothership",-ShipHoldStayDockedAlways)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [SobGroup_SetTactics("Player_Ships0", PassiveTactics)](/HWRM/KarosGraveyard/wiki/SobGroup_SetTactics("Player_Ships0",-PassiveTactics)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_EnableCameraZoom( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_EnableCameraZoom(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sensors_Toggle( 0 )](/HWRM/KarosGraveyard/wiki/Sensors_Toggle(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [SobGroup_DeSelectAll()](/HWRM/KarosGraveyard/wiki/SobGroup_DeSelectAll()),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1),
        HW2_Letterbox(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetIntel, "Long range sensors have detected multiple enemy signals converging on Tanis.", 8),
    },
    {
        HW2_Wait(1),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_mothershipHyperspace", 3)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_mothershipHyperspace",-3)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetIntel, "All ships initiate docking procedures and stand by for Hyperspace.", 7),
        {
            [SobGroup_DockSobGroup( "Player_Ships0", "Mothership")](/HWRM/KarosGraveyard/wiki/SobGroup_DockSobGroup(-"Player_Ships0",-"Mothership")),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        HW2_Wait(10),
    },
    {
        HW2_Wait(12),
        {
            [g_vaygrexithyperspace = 1](/HWRM/KarosGraveyard/wiki/g_vaygrexithyperspace-=-1),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Player_InstantlyGatherAllResources( 0 )](/HWRM/KarosGraveyard/wiki/Player_InstantlyGatherAllResources(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
    {
        {
            [Camera_Interpolate( "here", "camera_focusOnVaygrAttacking", 3)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnVaygrAttacking",-3)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_SubTitleEvent(Actor_FleetCommand, "The Vaygr have arrived.", 7),
    },
    {
        HW2_Wait(8),
    },
    {
        {
            [Camera_Interpolate( "here", "camera_focusOnVaygrAttacking2", 0)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_focusOnVaygrAttacking2",-0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(5),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "Emergency Hyperspace procedures initiated. Course set for the Homeworld.", 7),
    },
    {
        HW2_Wait(1),
    },
    {
        HW2_SubTitleEvent(Actor_FleetCommand, "The Mothership must survive.", 7),
        {
            [Camera_Interpolate( "here", "camera_MSActuallyEntersHS", 0)](/HWRM/KarosGraveyard/wiki/Camera_Interpolate(-"here",-"camera_MSActuallyEntersHS",-0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [SobGroup_EnterHyperSpaceOffMap( "Player_Ships0" )](/HWRM/KarosGraveyard/wiki/SobGroup_EnterHyperSpaceOffMap(-"Player_Ships0"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(6),
    },
    {
        {
            [FX_StartEvent( "Tanis", "Pyro" )](/HWRM/KarosGraveyard/wiki/FX_StartEvent(-"Tanis",-"Pyro"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(3),
    },
    {
        {
            [SobGroup_TakeDamage( "Tanis_Structure_2",1)](/HWRM/KarosGraveyard/wiki/SobGroup_TakeDamage(-"Tanis_Structure_2",1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1),
    },
    {
        {
            [Universe_Fade( 1, 2 )](/HWRM/KarosGraveyard/wiki/Universe_Fade(-1,-2-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(3),
    },
    {
        HW2_LocationCardEvent("MISSION SUCCESSFUL", 4),
    },
    {
        HW2_Wait(2),
    },
    {
        {
            [Camera_AllowControl(1)](/HWRM/KarosGraveyard/wiki/Camera_AllowControl(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [setMissionComplete( 1 )](/HWRM/KarosGraveyard/wiki/setMissionComplete(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.vaygrexithyperspace =
{
    {
        {
            [SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_6", "vol_Vgr_HyperspaceExit_6" )](/HWRM/KarosGraveyard/wiki/SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_6",-"vol_Vgr_HyperspaceExit_6"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1.5),
    },
    {
        {
            [SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_2", "vol_Vgr_HyperspaceExit_2" )](/HWRM/KarosGraveyard/wiki/SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_2",-"vol_Vgr_HyperspaceExit_2"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(0.1),
    },
    {
        {
            [SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_5", "vol_Vgr_HyperspaceExit_5" )](/HWRM/KarosGraveyard/wiki/SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_5",-"vol_Vgr_HyperspaceExit_5"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(0.5),
    },
    {
        {
            [SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_1", "vol_Vgr_HyperspaceExit_1" )](/HWRM/KarosGraveyard/wiki/SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_1",-"vol_Vgr_HyperspaceExit_1"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(0.8),
    },
    {
        {
            [SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_3", "vol_Vgr_HyperspaceExit_3" )](/HWRM/KarosGraveyard/wiki/SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_3",-"vol_Vgr_HyperspaceExit_3"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Wait(1),
    },
    {
        {
            [SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_4", "vol_Vgr_HyperspaceExit_4" )](/HWRM/KarosGraveyard/wiki/SobGroup_ExitHyperSpace("Vgr_HyperspaceIn_4",-"vol_Vgr_HyperspaceExit_4"-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
Events.speechevent_playerloses =
{
    {
        {
            [Sound_EnableAllSpeech(0)](/HWRM/KarosGraveyard/wiki/Sound_EnableAllSpeech(0)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Universe_AllowPlayerOrders( 0 )](/HWRM/KarosGraveyard/wiki/Universe_AllowPlayerOrders(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        HW2_Pause(1),
        HW2_Letterbox(1),
        HW2_Fade(1),
        HW2_Wait(2),
    },
    {
        HW2_LocationCardEvent("MISSION FAILED", 4),
    },
    {
        {
            [Universe_AllowPlayerOrders( 1 )](/HWRM/KarosGraveyard/wiki/Universe_AllowPlayerOrders(-1-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [Sound_EnableAllSpeech(1)](/HWRM/KarosGraveyard/wiki/Sound_EnableAllSpeech(1)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
        {
            [setMissionComplete( 0 )](/HWRM/KarosGraveyard/wiki/setMissionComplete(-0-)),
            [](/HWRM/KarosGraveyard/wiki/),
        },
    },
}
function Rule_PlaySaveGameLocationCard()
    Subtitle_Message("$3651", 3)
    Rule_Remove("Rule_PlaySaveGameLocationCard")
end

function OnInit()
    print("oninit issued")
    Rule_Add("Rule_Init")
    Rule_Add("Animate_MothershipDoorOpen")
    Sound_SetMuteActor("All_")
    Sound_EnableAllSpeech(0)
end

function testit()
    Event_Start("autofocus_mothershiplaunches")
end

function test1()
    Event_Start("intelevent_mothershipjumps")
    Rule_Add("Rule_VaygrEnterHyperspace")
end

function DisableMothership()
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense1", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense2", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense3", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense4", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense5", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense6", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense7", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense8", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense9", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense10", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense11", 0)
    SobGroup_ChangePower("Mothership", "Weapon_HullDefense12", 0)
    SobGroup_CreateSubSystem("Mothership", "Hgn_MS_Module_Research")
    SobGroup_SetSpeed("Mothership", 0.5)
    Player_GrantResearchOption(0, "SensorsDowngrade1")
    Player_GrantResearchOption(0, "SensorsDowngrade2")
    Player_GrantResearchOption(0, "SensorsDowngrade3")
    SobGroup_AbilityActivate("Mothership", AB_Dock, 0)
    SobGroup_AbilityActivate("Mothership", AB_Move, 0)
end

function Animate_MothershipDoorOpen()
    if  Universe_GameTime()>=1 then
        SobGroup_SetMadState("Mothership", "NIS00")
        Rule_Remove("Animate_MothershipDoorOpen")
    end

end

function Animate_MothershipDoorClose()
    if  Universe_GameTime()>=67 then
        SobGroup_SetMadState("Mothership", "NIS01")
        Rule_Remove("Animate_MothershipDoorClose")
    end

end

function skippingNIS()
    SobGroup_SetMadState("Mothership", "Normal")
    UI_UnBindKeyEvent(ESCKEY)
    Rule_Remove("Animate_MothershipDoorClose")
    Rule_Remove("Animate_MothershipDoorOpen")
end

function Rule_monitorBuildBtn()
    if  UI_IsScreenActive("NewBuildMenu")==1 then
        UI_StopFlashButton("NewTaskbar", "btnBuild")
        Rule_Remove("Rule_monitorBuildBtn")
    end

end

function cheat_i()
    if  g_ipressed>1 then
        g_ipressed = 0
    else
        g_ipressed = (g_ipressed + 1)
    end

end

function cheat_c()
    g_cpressed = (g_cpressed + 1)
    print("c pressed")
end

function cheat_d()
    g_dpressed = (g_dpressed + 1)
end

function cheat_e()
    g_epressed = (g_epressed + 1)
end

function cheat_a()
    g_apressed = (g_apressed + 1)
end

function cheat_p()
    g_ppressed = (g_ppressed + 1)
end

function cheat_o()
    g_opressed = (g_opressed + 1)
end

function cheat_l()
    g_lpressed = (g_lpressed + 1)
end

function icdeadpeople()
    if  g_ipressed==1 then
        if  g_cpressed==1 then
            if  g_dpressed==2 then
                if  g_epressed==3 then
                    if  g_apressed==1 then
                        if  g_ppressed==2 then
                            if  g_opressed==1 then
                                if  g_lpressed==1 then
                                    Event_Start("speechevent_ic")
                                    g_ipressed = 0
                                    g_cpressed = 0
                                    g_dpressed = 0
                                    g_epressed = 0
                                    g_apressed = 0
                                    g_ppressed = 0
                                    g_opressed = 0
                                    g_lpressed = 0
                                end

                            end

                        end

                    end

                end

            end

        end

    end

end

function Rule_Init()
    UI_BindKeyEvent(IKEY, "cheat_i")
    UI_BindKeyEvent(CKEY, "cheat_c")
    UI_BindKeyEvent(DKEY, "cheat_d")
    UI_BindKeyEvent(EKEY, "cheat_e")
    UI_BindKeyEvent(AKEY, "cheat_a")
    UI_BindKeyEvent(PKEY, "cheat_p")
    UI_BindKeyEvent(OKEY, "cheat_o")
    UI_BindKeyEvent(LKEY, "cheat_l")
    Rule_Add("icdeadpeople")
    Universe_EnableCmd(0, MUI_ScuttleCommand)
    SobGroup_AbilityActivate("Player_Ships0", AB_Scuttle, 0)
    SobGroup_AbilityActivate("Player_Ships0", AB_Retire, 0)
    SobGroup_Create("shipsInVolume")
    SobGroup_Create("fightersInVolume")
    SobGroup_Create("tempSobGroup")
    UI_BindKeyEvent(ESCKEY, "skippingNIS")
    SobGroup_DockSobGroupInstant("Mothership", "Tanis")
    SobGroup_AllowPassiveActionsAlways("Mothership", 1)
    Rule_Add("Animate_MothershipDoorOpen")
    Rule_Add("Animate_MothershipDoorClose")
    Sound_SpeechSubtitlePath("speech:missions/m_01/")
    Player_SetPlayerName(0, "Hiigaran Navy")
    Player_SetPlayerName(1, "")
    Player_SetPlayerName(2, "Tanis Defence Force")
    Player_SetPlayerName(3, "Vaygr Assault Force")
    SetAlliance(0, 1)
    SetAlliance(1, 0)
    Player_SetDefaultShipTactic(1, AggressiveTactics)
    CPU_Enable(1, 0)
    CPU_Enable(2, 0)
    CPU_Enable(3, 0)
    DisableMothership()
    FE_TaskbarIgnoreProfilePhase(1)
    g_NISState = NISGetPlayingHandle("nis/NIS01A")
    NISDisableInterface(1)
    Rule_Add("Rule_NIS01AComplete")
    Rule_Remove("Rule_Init")
    Rule_Add("Rule_PlayerWins")
    Rule_Add("Rule_PlayerLose")
end

function PostNISInit()
    Player_GrantResearchOption(3, "HyperspaceRecoveryTimeUpgradeSPGAME")
    Player_GrantResearchOption(3, "HyperspaceTransitionTimeUpgradeSPGAME")
    HW2_SetResearchLevel(1)
end

function Rule_NIS01AComplete()
    if  NISComplete(g_NISState)==1 then
        SobGroup_SetMadState("Mothership", "Normal")
        g_NISState = 0
        UI_UnBindKeyEvent(ESCKEY)
        Sound_MusicPlayType("data:sound/music/ambient/AMB_01", MUS_Ambient)
        Event_Start("intelevent_beginharvesting")
        PostNISInit()
        Rule_Add("Rule_OpeningIntelEventComplete")
        Rule_Remove("Rule_NIS01AComplete")
    end

end

function Rule_OpeningIntelEventComplete()
    if  Event_IsDone("intelevent_beginharvesting")==1 then
        UI_ClearEventScreen()
        Camera_SetLetterboxStateNoUI(0, 0)
        Rule_Add("Rule_BuildSubsystems")
        Rule_Remove("Rule_OpeningIntelEventComplete")
        Rule_Add("Rule_PlaySaveGameLocationCard")
        Rule_AddInterval("Rule_SaveTheGameMissionStart", 1)
    end

end

function Rule_SaveTheGameMissionStart()
    Rule_Remove("Rule_SaveTheGameMissionStart")
    g_save_id = (g_save_id + 1)
    Campaign_QuickSaveNb(g_save_id, "$6400")
end

function Rule_BeginHarvesting()
    if  Player_GetRU(g_playerID)>=700 then
        Objective_SetState(obj_prim_beginharvesting_id, OS_Complete)
        Rule_Remove("Rule_BeginHarvesting")
    end

end

function Rule_BuildSubsystems()
    if  Player_GetRU(g_playerID)>=700 then
        Ping_Remove(ping_resource_operation_id)
        Objective_SetState(obj_prim_beginharvesting_id, OS_Complete)
        Event_Start("intelevent_subsystemconstruction")
        Rule_Add("Rule_HasBuiltFighterSubsystem")
        Rule_Remove("Rule_BuildSubsystems")
        Rule_Add("Rule_SaveAfterBuildFacility")
    end

end

function Rule_SaveAfterBuildFacility()
    if  Event_IsDone("intelevent_subsystemconstruction")==1 then
        Player_UnrestrictBuildOption(g_playerID, "Hgn_MS_Production_Fighter")
        UI_AddToEventScreen("STATUS_BuildAvaliable_1")
        Rule_Remove("Rule_SaveAfterBuildFacility")
    end

end

function Rule_HasBuiltFighterSubsystem()
    if  Stats_ShipsCreated(g_playerID, GetShipId("Hgn_MS_Production_Fighter")>=1 then
        SobGroup_SetInvulnerabilityOfHardPoint("Mothership", "HardpointProduction1", 1)
        Objective_SetState(obj_prim_buildfightersubsystem_id, OS_Complete)
        Rule_Remove("Rule_HasBuiltFighterSubsystem")
        Event_Start("intelevent_constructinterceptors")
        Rule_Add("Rule_HasBuiltInterceptors")
        Rule_Add("Rule_PlayerHasBegunBuildingInterceptors")
        Rule_Add("Rule_SaveAfterBuildFighters")
    end

end

function Rule_SaveAfterBuildFighters()
    if  Event_IsDone("intelevent_constructinterceptors")==1 then
        Rule_Remove("Rule_SaveAfterBuildFighters")
    end

end

function Rule_PlayerHasBegunBuildingInterceptors()
    if  Player_HasQueuedBuild(0, "Hgn_Interceptor")==1 then
        Rule_AddInterval("Rule_DeployDrones", 20)
        Rule_Remove("Rule_PlayerHasBegunBuildingInterceptors")
    end

end

function Rule_DeployDrones()
    SobGroup_Create("AllTargetDrones")
    DeployDrones()
    Rule_AddInterval("MoveDrones", 4)
    Rule_Remove("Rule_DeployDrones")
end

function DeployDrones()
    for i = 1,9,1 do
        g_drone[i] = SobGroup_CreateShip("Station_Chimera", "Hgn_TargetDrone")
        g_probesdeployed = 1
        SobGroup_SobGroupAdd("AllTargetDrones", g_drone[i])
    end
end

function SwitchOwnerDrones()
    if  g_currentdronebeingswitched>=9 then
        Rule_Remove("SwitchOwnerDrones")
    end

    SobGroup_SwitchOwner(g_drone[g_currentdronebeingswitched], 2)
    g_currentdronebeingswitched = (g_currentdronebeingswitched + 1)
end

function MoveDrones()
    droneslaunched = 0
    for i = 1,9,1 do
        if  g_dronemoved[i]~=0 and SobGroup_IsDockedSobGroup(g_drone[i], "Station_Chimera")==0 then
            SobGroup_Move(2, g_drone[i], "vol_TargetDrone_"..i)
            g_dronemoved[i] = 1
            droneslaunched = (droneslaunched + 1)
        end

    end
    if  droneslaunched==9 then
        Rule_Remove("MoveDrones")
    end

end

function Rule_HasBuiltInterceptors()
    if  Stats_ShipsCreated(g_playerID, GetShipId("Hgn_Interceptor")>=5 and droneslaunched==9 then
        Objective_SetState(obj_prim_buildtwointerceptors_id, OS_Complete)
        Event_Start("intelevent_movetochimera")
        Rule_Remove("Rule_HasBuiltInterceptors")
        Rule_Add("Rule_MoveToChimeraCompleted")
    end

end

function Rule_MoveToChimeraCompleted()
    if  Event_IsDone("intelevent_movetochimera")==1 then
        Rule_Add("Rule_PlayerIsAtChimera")
        Rule_Remove("Rule_MoveToChimeraCompleted")
    end

end

function Rule_ChimeraReporting()
    Player_FillShipsByType("tempSobGroup", 2, "Hgn_TargetDrone")
    if  g_probesdeployed==1 and SobGroup_Count("tempSobGroup")==3 then
        Event_Start("speechevent_chimerareporting")
        Rule_Remove("Rule_ChimeraReporting")
    end

end

function Rule_PlayerIsAtChimera()
    Player_FillShipsByType("tempSobGroup", 2, "Hgn_TargetDrone")
    if  g_probesdeployed==1 and SobGroup_Empty("tempSobGroup")==1 and Event_IsDone("speechevent_chimerareporting")==1 then
        Objective_SetState(obj_prim_movetochimera_id, OS_Complete)
        Ping_Remove(ping_targetdrones_id)
        Rule_AddInterval("Rule_PlayNIS01B", 2)
        Rule_Remove("Rule_PlayerIsAtChimera")
    end

end

function Rule_PlayNIS01B()
    if  Event_IsDone("speechevent_attackcomplete")==1 and Event_IsDone("speechevent_chimerareporting")==1 then
        SobGroup_FillShipsByType("tempSobGroup", "Player_Ships0", "Hgn_Interceptor")
        SobGroup_MoveToSobGroup("tempSobGroup", "Station_Chimera")
        NISLoad("nis/NIS01B")
        Sensors_EnableCameraZoom(0)
        Sensors_Toggle(0)
        Sensors_EnableToggle(0)
        g_NISState = NISPlay("nis/NIS01B")
        Rule_Add("Rule_NIS01B_completed")
        Rule_Remove("Rule_PlayNIS01B")
        Sensors_EnableCameraZoom(1)
    end

end

function SpawnMoreVaygrBombers()
    SobGroup_FillShipsByType("tempSobGroup", "Player_Ships0", "Hgn_Interceptor")
    numberOfInterceptors = SobGroup_Count("tempSobGroup")
    print("interceptors at chimera: "..numberOfInterceptors)
    while  numberOfInterceptors>=15 do
        numberOfNewAttackBombers = numberOfInterceptors / 5
        floor(numberOfNewAttackBombers)
        numberOfNewAttackBombers = (numberOfNewAttackBombers + -2)
        for i = 1,numberOfNewAttackBombers,1 do
            SobGroup_SpawnNewShipInSobGroup(3, "Vgr_Bomber", "Vgr_Bombers", "Vgr_Bombers", "vol_SpawnMoreBomberSquads")
        end
    end

end

function Rule_NIS01B_completed()
    if  NISComplete(g_NISState)==1 then
        Sensors_EnableToggle(1)
        SobGroup_Spawn("Vgr_Bombers", "vol_SpawnMoreBomberSquads_1")
        Sound_MusicPlayType("data:sound/music/battle/battle_01", MUS_Battle)
        SpawnMoreVaygrBombers()
        Event_Start("intelevent_perimiterbreached")
        SobGroup_Attack(3, "Vgr_Bombers", "Station_Chimera")
        SobGroup_Create("ChimerasInterceptors")
        SobGroup_SpawnNewShipInSobGroup(0, "Hgn_Interceptor", "ChimeraInterceptors", "ChimerasInterceptors", "vol_ChimeraInterceptors")
        SobGroup_MoveToSobGroup("ChimerasInterceptors", "Vgr_Bombers")
        Rule_AddInterval("Rule_StopNewInterceptors", 1)
        Rule_Remove("Rule_NIS01B_completed")
        Rule_Add("Rule_KeepChimeraAlive")
        Rule_Add("Rule_DisableChimera")
        Rule_Add("Rule_DamageChimera")
        Rule_Add("Rule_ChimeraAttackersEliminated")
        Rule_Add("Rule_PlaySaveGameLocationCard")
        Rule_AddInterval("Rule_SaveTheGameVaygrAttack", 1)
    end

end

function Rule_SaveTheGameVaygrAttack()
    Rule_Remove("Rule_SaveTheGameVaygrAttack")
    g_save_id = (g_save_id + 1)
    Campaign_QuickSaveNb(g_save_id, "$6401")
end

function Rule_StopNewInterceptors()
    SobGroup_Stop(0, "ChimerasInterceptors")
    Rule_Remove("Rule_StopNewInterceptors")
end

function Rule_KeepChimeraAlive()
    if  SobGroup_HealthPercentage("Station_Chimera")<=0.15 then
        SobGroup_SetHealth("Station_Chimera", 0.1)
        g_chimeradisabled = 1
    end

end

function Rule_DamageChimera()
    if  SobGroup_HealthPercentage("Station_Chimera")<g_healthofchimera then
        if  SobGroup_HealthPercentage("Station_Chimera")>=0.15 then
            SobGroup_TakeDamage("Station_Chimera", 0.05)
            SobGroup_FillBattleScar("Station_Chimera", "Plasma_Bomb/Plasma_Bomb")
            g_healthofchimera = SobGroup_HealthPercentage("Station_Chimera")
        end

    end

end

function Rule_DisableChimera()
    if  SobGroup_HealthPercentage("Station_Chimera")<=0.5 then
        SobGroup_AbilityActivate("Station_Chimera", AB_Sensors, 0)
        SobGroup_AbilityActivate("Station_Chimera", AB_Steering, 0)
        Rule_Remove("Rule_DisableChimera")
    end

end

function Rule_ChimeraAttackersEliminated()
    if  SobGroup_Empty("Vgr_Bombers")==1 then
        Objective_SetState(obj_prim_defeatvaygratchimera_id, OS_Complete)
        SobGroup_AbilityActivate("Station_Chimera", AB_Sensors, 0)
        SobGroup_AbilityActivate("Station_Chimera", AB_Steering, 0)
        Rule_Add("Rule_CreateMothershipAttackers")
        Rule_Add("Rule_LaunchTheMothership")
        Rule_Remove("Rule_DamageChimera")
        Rule_Remove("Rule_KeepChimeraAlive")
        Rule_Remove("Rule_ChimeraAttackersEliminated")
    end

end

function Rule_CreateMothershipAttackers()
    SobGroup_Create("MothershipAttackers")
    SobGroup_Create("MothershipAttackers_Bombers_1")
    SobGroup_Create("MothershipAttackers_Bombers_2")
    SobGroup_SpawnNewShipInSobGroup(3, "Vgr_HeavyMissileFrigate", "MothershipAttackers0", "MothershipAttackers", "vol_SpawnMothershipAttackers")
    for i = 1,2,1 do
        SobGroup_SpawnNewShipInSobGroup(3, "Vgr_Bomber", "MothershipAttackers_B1"..i, "MothershipAttackers_Bombers_1", "vol_SpawnMothershipAttackers")
    end
    for i = 1,2,1 do
        SobGroup_SpawnNewShipInSobGroup(3, "Vgr_Bomber", "MothershipAttackers_B2"..i, "MothershipAttackers_Bombers_2", "vol_SpawnMothershipAttackers")
    end
    SobGroup_Attack(3, "MothershipAttackers", "Mothership")
    SobGroup_Attack(3, "MothershipAttackers_Bombers_1", "Tanis_Structure_1")
    SobGroup_Attack(3, "MothershipAttackers_Bombers_2", "Tanis_Structure_2")
    FOW_RevealGroup("MothershipAttackers", 1)
    Rule_Remove("Rule_CreateMothershipAttackers")
end

function Rule_LaunchTheMothership()
    SobGroup_FillShipsByType("tempSobGroup", "Player_Ships0", "Hgn_Interceptor")
    SobGroup_ParadeSobGroup("tempSobGroup", "Mothership", 0)
    Event_Start("autofocus_mothershiplaunches")
    Rule_Add("Rule_MothershipHasLaunched")
    Rule_Remove("Rule_LaunchTheMothership")
end

function Rule_MothershipHasLaunched()
    if  Event_IsDone("autofocus_mothershiplaunches")==1 then
        Player_UnrestrictBuildOption(g_playerID, "Hgn_AttackBomber")
        Event_Start("intelevent_chimeraissafe")
        Rule_Add("Rule_DeployGates")
        Rule_Add("Rule_HasBuiltAttackBombers")
        Rule_Remove("Rule_MothershipHasLaunched")
        Rule_Add("Rule_KeepTanisAlive1")
        Rule_Add("Rule_KeepTanisAlive2")
    end

end

function Rule_ChimeraIsSafeCompleted()
    if  Event_IsDone("intelevent_chimeraissafe")==1 then
        Rule_Remove("Rule_ChimeraIsSafeCompleted")
        Rule_Add("Rule_PlaySaveGameLocationCard")
        Rule_AddInterval("Rule_SaveTheGameProtectMothership", 1)
    end

end

function Rule_SaveTheGameProtectMothership()
    Rule_Remove("Rule_SaveTheGameProtectMothership")
    g_save_id = (g_save_id + 1)
    Campaign_QuickSaveNb(g_save_id, "$6402")
end

function Rule_BuildAttackBombers()
    if  Player_HasResearch(g_playerID, "PlasmaBombs")==1 then
        Player_SetRU(0, (Player_GetRU(0) + 700))
        Objective_SetState(obj_prim_researchplasmabomb_id, OS_Complete)
        Player_UnrestrictBuildOption(g_playerID, "Hgn_AttackBomber")
        Event_Start("speechevent_buildattackbombers")
        Rule_Add("Rule_HasBuiltAttackBombers")
        Rule_Remove("Rule_BuildAttackBombers")
    end

end

function Rule_HasBuiltAttackBombers()
    if  Stats_ShipsCreated(g_playerID)>=5 then
        Objective_SetState(obj_prim_buildtwobombers_id, OS_Complete)
        Player_UnrestrictBuildOption(0, "Hgn_C_Module_Research")
        Player_UnrestrictBuildOption(0, "Hgn_MS_Module_Research")
        Player_UnrestrictBuildOption(0, "Hgn_Scout")
        Player_UnrestrictBuildOption(0, "Hgn_ResourceCollector")
        Player_UnrestrictBuildOption(0, "Hgn_Probe")
        Rule_Remove("Rule_HasBuiltAttackBombers")
        Rule_AddInterval("Rule_StartCheckingNoBombers", 5)
    end

end

function Rule_StartCheckingNoBombers()
    Rule_Add("Rule_PlayerHasNoBombers")
    Rule_Remove("Rule_StartCheckingNoBombers")
end

function Rule_KeepTanisAlive1()
    if  SobGroup_HealthPercentage("Tanis_Structure_1")<=0.15 then
        SobGroup_SetHealth("Tanis_Structure_1", 0.2)
    end

end

function Rule_KeepTanisAlive2()
    if  SobGroup_HealthPercentage("Tanis_Structure_2")<=0.15 then
        SobGroup_SetHealth("Tanis_Structure_2", 0.2)
    end

end

function Rule_DeployGates()
    for i = 1,3,1 do
        SobGroup_Move(3, "WaveOne_Gate_"..i.."b", "vol_WaveOne_Gate_"..i.."_B")
        Rule_Add("Rule_WaveOne_Gate"..i.."_InPosition")
    end
    Rule_Add("Rule_BeginHyperspaceAtGate")
    Rule_Add("Rule_AttackAtGate")
    Rule_Add("Rule_GateDestroyed")
    for i = 1,3,1 do
        SobGroup_Create("waveone_tempgroup"..i)
    end
    Rule_Add("Rule_AllGatesDestroyed")
    Rule_Add("Rule_FirstGatesDestroyed")
    Rule_Remove("Rule_DeployGates")
end

function Rule_WaveOne_Gate1_InPosition()
    if  SobGroup_FillSobGroupInVolume("shipsInVolume", "WaveOne_Gate_1b", "vol_WaveOne_Gate_1_B")==1 then
        g_gatedeployed = (g_gatedeployed + 1)
        SobGroup_FormHyperspaceGate("WaveOne_Gate_1a", "WaveOne_Gate_1b")
        Rule_Remove("Rule_WaveOne_Gate1_InPosition")
    end

end

function Rule_WaveOne_Gate2_InPosition()
    if  SobGroup_FillSobGroupInVolume("shipsInVolume", "WaveOne_Gate_2b", "vol_WaveOne_Gate_2_B")==1 then
        g_gatedeployed = (g_gatedeployed + 1)
        SobGroup_FormHyperspaceGate("WaveOne_Gate_2a", "WaveOne_Gate_2b")
        Rule_Remove("Rule_WaveOne_Gate2_InPosition")
    end

end

function Rule_WaveOne_Gate3_InPosition()
    if  SobGroup_FillSobGroupInVolume("shipsInVolume", "WaveOne_Gate_3b", "vol_WaveOne_Gate_3_B")==1 then
        g_gatedeployed = (g_gatedeployed + 1)
        SobGroup_FormHyperspaceGate("WaveOne_Gate_3a", "WaveOne_Gate_3b")
        Rule_Remove("Rule_WaveOne_Gate3_InPosition")
    end

end

function Rule_BeginHyperspaceAtGate()
    for i = 1,getn(WaveOne_GateAttackers),1 do
        if  WaveOne_GateAttackers[i]==0 and SobGroup_IsGateDeployed("WaveOne_Gate_"..i.."a", "WaveOne_Gate_"..i.."b")==1 then
            if  g_createattackers==1 then
                CreateMoreAttackers()
                g_createattackers = 0
            end

            SobGroup_UseHyperspaceGate("WaveOne_Attackers_"..i, "WaveOne_Gate_"..i.."a")
            WaveOne_GateAttackers[i] = 1
            g_WaveOne_HyperspaceIssued = (g_WaveOne_HyperspaceIssued + 1)
            if  g_WaveOne_HyperspaceIssued>=1 then
                g_gatejustopened = "WaveOne_Gate_"..i.."b"
                Subtitle_TimeCounterEnd()
                Event_Start("intelevent_moreincoming")
            end

        end

    end
    if  g_WaveOne_HyperspaceIssued==getn(WaveOne_GateAttackers) then
        Rule_Remove("Rule_BeginHyperspaceAtGate")
    end

end

function Rule_AttackAtGate()
    for i = 1,getn(WaveOne_GateAttackers),1 do
        if  WaveOne_GateAttackers[i]==1 and SobGroup_FillSobGroupInVolume("tempSobGroup", "WaveOne_Attackers_"..i, "vol_WaveOne_Gate_"..i.."_B")==1 then
            if  i==1 then
                SobGroup_Attack(3, "WaveOne_Attackers_"..i, "Tanis_Structure_1")
            elseif  i==2 then
                SobGroup_Attack(3, "WaveOne_Attackers_"..i, "Tanis_Structure_1")
            elseif  i==3 then
                SobGroup_Attack(3, "WaveOne_Attackers_"..i, "Tanis_Structure_2")
            end

            WaveOne_GateAttackers[i] = 2
            g_WaveOne_AttacksIssued = (g_WaveOne_AttacksIssued + 1)
            print("attack "..i.." issued")
        end

    end
    if  g_WaveOne_AttacksIssued==getn(WaveOne_GateAttackers) then
        Rule_Remove("Rule_AttackAtGate")
    end

end

function Rule_GateDestroyed()
    for i = 1,getn(WaveOne_GateAttackers),1 do
        if  SobGroup_Empty("WaveOne_Gate_"..i.."b")==1 and WaveOne_GateAttackers[i]~=3 then
            WaveOne_GateAttackers[i] = 3
            g_WaveOne_GatesDestroyed = (g_WaveOne_GatesDestroyed + 1)
            print("gate "..i.." destroyed")
            if  g_WaveOne_GatesDestroyed==3 then
                Rule_Remove("Rule_PlayerHasNoBombers")
                Rule_Remove("Rule_GateDestroyed")
            end

        end

    end
end

function Rule_AllGatesDestroyed()
    if  g_WaveOne_GatesDestroyed==3 and SobGroup_Empty("Vgr_AllGateAttacks")==1 then
        Objective_SetState(obj_prim_destroyvaygrgates_id, OS_Complete)
        SobGroup_FillSobGroupInVolume("tempSobGroup", "Player_Ships3", "vol_GateStartPoint")
        SobGroup_TakeDamage("tempSobGroup", 1)
        Rule_Remove("Rule_AllGatesDestroyed")
        Rule_Remove("Rule_PlayerHasNoBombers")
    end

end

function Rule_FirstGatesDestroyed()
    if  g_WaveOne_GatesDestroyed==1 then
        Event_Start("speechevent_firstgatedestroyed")
        Rule_Remove("Rule_FirstGatesDestroyed")
    end

end

function CreateMoreAttackers()
    SobGroup_FillShipsByType("tempSobGroup", "Player_Ships0", "Hgn_Interceptor")
    numberOfInterceptors = SobGroup_Count("tempSobGroup")
    SobGroup_FillShipsByType("tempSobGroup", "Player_Ships0", "Hgn_AttackBomber")
    numberOfBombers = SobGroup_Count("tempSobGroup")
    print("interceptors: "..numberOfInterceptors)
    print("bombers: "..numberOfBombers)
    if  numberOfInterceptors>=15 then
        numberOfNewAttackBombers = numberOfInterceptors / 5
        numberOfNewAttackBombers = numberOfNewAttackBombers / 2
        floor(numberOfNewAttackBombers)
        while  numberOfNewAttackBombers>0 do
            print("creating new bombers: "..numberOfNewAttackBombers)
            for i = 1,numberOfNewAttackBombers,1 do
                SobGroup_SpawnNewShipInSobGroup(3, "Vgr_Bomber", "WaveOne_Attackers_A"..i, "WaveOne_Attackers_1", "vol_WaveOne_Gate_1_A")
            end
            for i = 1,numberOfNewAttackBombers,1 do
                SobGroup_SpawnNewShipInSobGroup(3, "Vgr_Bomber", "WaveOne_Attackers_B"..i, "WaveOne_Attackers_3", "vol_WaveOne_Gate_3_A")
            end
        end

        SobGroup_SetTactics("WaveOne_Attackers_1", AggressiveTactics)
        SobGroup_SetTactics("WaveOne_Attackers_3", AggressiveTactics)
        SobGroup_SobGroupAdd("Vgr_MothershipAttackers", "WaveOne_Attackers_1")
        SobGroup_SobGroupAdd("Vgr_MothershipAttackers", "WaveOne_Attackers_3")
    end

    if  numberOfBombers>=10 then
        healthOfGates = numberOfBombers / 5
        healthOfGates = healthOfGates / 2
        for i = 1,3,1 do
            SobGroup_SetHealth("WaveOne_Gate_"..i.."a", healthOfGates)
        end
        numberOfNewInterceptors = numberOfBombers / 5
        numberOfNewInterceptors = numberOfNewInterceptors / 2
        floor(numberOfNewInterceptors)
        while  numberOfNewInterceptors>0 do
            print("creating new interceptors: "..numberOfNewInterceptors)
            for i = 1,numberOfNewInterceptors,1 do
                SobGroup_SpawnNewShipInSobGroup(3, "Vgr_Interceptor", "WaveOne_Attackers_2", "WaveOne_Attackers_2", "vol_WaveOne_Gate_2_A")
            end
        end

        SobGroup_SetTactics("WaveOne_Attackers_2", AggressiveTactics)
        SobGroup_SobGroupAdd("Vgr_MothershipAttackers", "WaveOne_Attackers_2")
    end

end

function Rule_NewVaygrAttackingPlayer()
    for i = 1,3,1 do
        Player_FillSobGroupInVolume("shipsInVolume", 3, "vol_WaveOne_Gate_"..i.."_B")
        SobGroup_FillSubstract("fightersInVolume", "shipsInVolume", "WaveOne_Gate_"..i.."b")
        if  SobGroup_Empty("fightersInVolume")==0 then
            SobGroup_SobGroupAdd("Vgr_AllGateAttacks", "fightersInVolume")
        end

    end
end

function Rule_PlayerHasNoBombers()
    if  Player_GetNumberOfSquadronsOfTypeAwakeOrSleeping(0, "Hgn_AttackBomber")==0 then
        Player_SetRU(0, (Player_GetRU(0) + 700))
        Event_Start("speechevent_attackbombersdestroyed")
        Rule_Remove("Rule_PlayerHasNoBombers")
    end

end

function Rule_VaygrEliminated()
    if  SobGroup_Empty("Vgr_MothershipAttackers")==1 then
        Objective_SetState(obj_prim_protectmothership_id, OS_Complete)
        Rule_Remove("Rule_VaygrEliminated")
    end

end

function Rule_PlayerWins()
    if  Objective_GetState(obj_prim_beginharvesting_id)==OS_Complete then
        if  Objective_GetState(obj_prim_buildfightersubsystem_id)==OS_Complete then
            if  Objective_GetState(obj_prim_buildtwointerceptors_id)==OS_Complete then
                if  Objective_GetState(obj_prim_destroyvaygrgates_id)==OS_Complete then
                    if  g_eventisdone==1 then
                        SobGroup_SetInvulnerabilityOfHardPoint("Mothership", "HardpointProduction1", 0)
                        SobGroup_AbilityActivate("Mothership", AB_Move, 1)
                        Universe_EnableCmd(1, MUI_ScuttleCommand)
                        Event_Start("intelevent_mothershipjumps")
                        Rule_Add("Rule_VaygrEnterHyperspace")
                        Rule_Remove("Rule_PlayerWins")
                    end

                end

            end

        end

    end

end

function MothershipHasLaunchedFromTanis()
    if  SobGroup_IsDockedSobGroup("Mothership", "Tanis")==0 then
        return true
    end

end

function Rule_VaygrEnterHyperspace()
    if  g_vaygrexithyperspace==1 then
        Event_Start("vaygrexithyperspace")
        Rule_Remove("Rule_VaygrEnterHyperspace")
    end

end

function Rule_PlayerLose()
    if  SobGroup_Empty("Mothership")==1 then
        Event_Start("speechevent_playerloses")
        Rule_Remove("Rule_PlayerLose")
    end

end

Comments

The file is truncated when it is displayed (too many lines?). If you want to pick it up, do it from the edit page.

--SunTzu (2006-09-08 12:07:58)

Page Status

Updated Formatting? Initial
Updated for HWRM? Initial