110 lines
4.3 KiB
Lua
110 lines
4.3 KiB
Lua
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
-- (c) Galyana's Ultimate Empire at War Modifications
|
|
--
|
|
-- ****** *** *** ************ *** ***
|
|
-- * * * * * * * *
|
|
-- * * * * * * *
|
|
-- * * * * * * *
|
|
-- * * * * * **** * * *
|
|
-- * * * ****** * * * *
|
|
-- * **** * * * * * * * *** *
|
|
-- * * * * * * * * * *
|
|
-- * * * * * * * * * *
|
|
-- * * * * * * * ** * * *
|
|
-- ****** ****** ************ **** ** *******
|
|
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
-- 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: GUEaW/Data/Scripts/AI/LandMode/AI_Plan_ExpansionGeneric_BuildMDUItem.LUA
|
|
--
|
|
-- Original Editor: Giovanni Galyana
|
|
--
|
|
-- Final Edit By: Giovanni Galyana
|
|
--
|
|
-- Date: 4 June, 2018
|
|
--
|
|
-- Revisions: 2
|
|
--
|
|
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
require("pgevents")
|
|
|
|
-- Build a single turret.
|
|
|
|
function Definitions()
|
|
|
|
Category = "Build_Ysalamiri_Cage | Build_Sensor_Scrambler | Build_Rocket_Pod | Build_EM_Field_Generator | Build_Grenade_Mortar | Build_Offensive_Sensor_Node | Build_MDU_Repair_Facility | Build_Mobile_Shield_Generator | Build_Rapid_Fire_Laser | Build_Obelisk_Tower | Build_Guard_Tower | Build_Landing_Pad"
|
|
IgnoreTarget = true
|
|
TaskForce = {
|
|
{
|
|
"MainForce"
|
|
,"DenyHeroAttach"
|
|
,"Underworld_Mobile_Defense_Unit | Empire_Mobile_Defense_Unit | Rebel_Mobile_Defense_Unit | Hutt_Mobile_Defense_Unit = 1"
|
|
}
|
|
}
|
|
|
|
end
|
|
|
|
function MainForce_Thread()
|
|
|
|
goal_name = MainForce.Get_Goal_Type_Name()
|
|
if goal_name == "Build_Ysalamiri_Cage" then
|
|
build_item_name = "UC_Underworld_Buildable_Ysalamiri_Cage"
|
|
elseif goal_name == "Build_Sensor_Scrambler" then
|
|
build_item_name = "UC_Underworld_Buildable_Sensor_Scrambler"
|
|
elseif goal_name == "Build_Rocket_Pod" then
|
|
build_item_name = "UC_Underworld_Buildable_Rocket_Pod"
|
|
elseif goal_name == "Build_EM_Field_Generator" then
|
|
build_item_name = "UC_Empire_Buildable_EM_Field_Generator"
|
|
elseif goal_name == "Build_Grenade_Mortar" then
|
|
build_item_name = "UC_Empire_Buildable_Grenade_Mortar"
|
|
elseif goal_name == "Build_Offensive_Sensor_Node" then
|
|
build_item_name = "UC_Empire_Buildable_Offensive_Sensor_Node"
|
|
elseif goal_name == "Build_MDU_Repair_Facility" then
|
|
build_item_name = "UC_Rebel_Buildable_Repair_Facility_MDU"
|
|
elseif goal_name == "Build_Mobile_Shield_Generator" then
|
|
build_item_name = "UC_Rebel_Buildable_Shield_Generator_185"
|
|
elseif goal_name == "Build_Rapid_Fire_Laser" then
|
|
build_item_name = "UC_Rebel_Buildable_Rapid_Fire_Laser_Turret"
|
|
elseif goal_name == "Build_Obelisk_Tower" then
|
|
build_item_name = "UC_Hutt_Buildable_Obelisk_Tower"
|
|
elseif goal_name == "Build_Guard_Tower" then
|
|
build_item_name = "UC_Hutt_Buildable_Guard_Tower"
|
|
elseif goal_name == "Build_Landing_Pad" then
|
|
build_item_name = "UC_H_Ground_Landing_Pad"
|
|
end
|
|
|
|
if not build_item_name then
|
|
ScriptExit()
|
|
end
|
|
|
|
BlockOnCommand(MainForce.Produce_Force())
|
|
QuickReinforce(PlayerObject, AITarget, MainForce)
|
|
|
|
BlockOnCommand(MainForce.Move_To(Target, MainForce.Get_Self_Threat_Max()))
|
|
build_started = true
|
|
BlockOnCommand(MainForce.Activate_Ability("DEPLOY", true))
|
|
MainForce.Set_Plan_Result(true)
|
|
|
|
Sleep(2)
|
|
|
|
mdu = MainForce.Get_Unit_Table()[1]
|
|
if not TestValid(mdu) then
|
|
ScriptExit()
|
|
end
|
|
|
|
mdu.Build(build_item_name)
|
|
|
|
while TestValid(mdu) and not TestValid(mdu.Get_Build_Pad_Contents()) do
|
|
Sleep(1)
|
|
end
|
|
|
|
ScriptExit()
|
|
end
|
|
|
|
function MainForce_Unit_Damaged(tf, unit, attacker, deliberate)
|
|
if not build_started then
|
|
Default_Unit_Damaged(tf, unit, attacker, deliberate)
|
|
end
|
|
end |