68 lines
2.7 KiB
Lua
68 lines
2.7 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/FireMagnepulse.lua
|
|
--
|
|
-- Original Editor: Giovanni Galyana
|
|
--
|
|
-- Final Edit By: Giovanni Galyana
|
|
--
|
|
-- Date: 9 April, 2023
|
|
--
|
|
-- Revisions: 2
|
|
--
|
|
--/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
-- Self-attachment script for the Magnepulse Cannon, but currently a custom goal is the best tactic
|
|
|
|
require("pgevents")
|
|
|
|
function Definitions()
|
|
DebugMessage("%s -- In Definitions", tostring(Script))
|
|
|
|
Category = "Fire_Magnepulse"
|
|
IgnoreTarget = true
|
|
TaskForce =
|
|
{
|
|
{
|
|
"MainForce"
|
|
,"DenySpecialWeaponAttach"
|
|
,"DenyHeroAttach"
|
|
,"E_Ground_Magnepulse_Cannon | E_Ground_Magnepulse_Cannon_GC = 1"
|
|
}
|
|
}
|
|
|
|
DebugMessage("%s -- Done Definitions", tostring(Script))
|
|
end
|
|
|
|
function MainForce_Thread()
|
|
BlockOnCommand(MainForce.Produce_Force())
|
|
|
|
-- Keep firing at the bigger (and probably slowest) enemies
|
|
-- Add some variance, so that we can spread the effect around
|
|
AITarget = FindTarget(MainForce, "Needs_Magnepulse_Shot", "Enemy_Unit", 0.8)
|
|
DebugMessage("%s -- Found Target %s", tostring(Script), tostring(AITarget))
|
|
|
|
-- Just fire once, because the effect isn't that useful to hit the same target in rapid succession
|
|
if TestValid(AITarget) then
|
|
MainForce.Fire_Special_Weapon("E_Ground_Magnepulse_Cannon", AITarget)
|
|
MainForce.Fire_Special_Weapon("E_Ground_Magnepulse_Cannon_GC", AITarget)
|
|
end
|
|
|
|
ScriptExit()
|
|
end |