Skip to content

Commit

Permalink
Further annotate campaign and AI files (FAForever#4515)
Browse files Browse the repository at this point in the history
  • Loading branch information
MrRowey authored Dec 18, 2022
1 parent 7912952 commit e7b1dd2
Show file tree
Hide file tree
Showing 19 changed files with 458 additions and 622 deletions.
11 changes: 10 additions & 1 deletion lua/AI/AIAddBuilderTable.lua
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
--***************************************************************************
--*
--** File : /lua/ai/AIAddBuilderTable.lua
--**
--** Summary : Default economic builders for skirmish
--**
--** Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
--****************************************************************************

---@param aiBrain AIBrain
---@param locationType string
---@param baseBuilderName string
function AddGlobalBaseTemplate(aiBrain, locationType, baseBuilderName)
if not BaseBuilderTemplates[baseBuilderName] then
error('*AI ERROR: Invalid BaseBuilderTemplate: none found named - ' .. baseBuilderName)
Expand All @@ -27,6 +29,9 @@ function AddGlobalBaseTemplate(aiBrain, locationType, baseBuilderName)
aiBrain.BuilderManagers[locationType].BaseSettings = BaseBuilderTemplates[baseBuilderName].BaseSettings
end

---@param aiBrain AIBrain
---@param locationType string
---@param builderGroupName string
function AddGlobalBuilderGroup(aiBrain, locationType, builderGroupName)
if BuilderGroups[builderGroupName] then
AddBuilderTable(aiBrain, locationType, BuilderGroups[builderGroupName], builderGroupName)
Expand All @@ -35,6 +40,10 @@ function AddGlobalBuilderGroup(aiBrain, locationType, builderGroupName)
end
end

---@param aiBrain AIBrain
---@param locationType string
---@param builderTable table
---@param tableName string
function AddBuilderTable(aiBrain, locationType, builderTable, tableName)
aiBrain.BuilderManagers[locationType].BuilderHandles = aiBrain.BuilderManagers[locationType].BuilderHandles or {}
aiBrain.BuilderManagers[locationType].BuilderHandles[tableName] = {}
Expand Down
47 changes: 19 additions & 28 deletions lua/AI/OpAI/AirAttacks_EditorFunctions.lua
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
--****************************************************************************
--**
--** File : /lua/ai/OpAI/AirAttacks_EditorFunctions
--** Author(s): Dru Staltman
--**
--** Summary : Generic AI Platoon Build Conditions
--** Build conditions always return true or false
--**
--** Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
--****************************************************************************
local AIUtils = import("/lua/ai/aiutilities.lua")
------------------------------------------------------------------------------
-- File : /lua/ai/OpAI/AirAttacks_EditorFunctions
-- Author(s): Dru Staltman
-- Summary : Generic AI Platoon Build Conditions
-- Build conditions always return true or false
-- Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
------------------------------------------------------------------------------

local ScenarioFramework = import("/lua/scenarioframework.lua")
local ScenarioUtils = import("/lua/sim/scenarioutilities.lua")
local ScenarioPlatoonAI = import("/lua/scenarioplatoonai.lua")

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: AirAttackChildCountDifficulty = BuildCondition doc = "Please work function docs."
--
-- parameter 0: string aiBrain = "default_brain"
-- parameter 1: string master = "default_master"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- AirAttackChildCountDifficulty = BuildCondition doc = "Please work function docs."
---@param aiBrain AIBrain default_brain
---@param master string default_master
---@param number number
---@return boolean
function AirAttackChildCountDifficulty(aiBrain, master, number)
local counter = ScenarioFramework.AMPlatoonCounter(aiBrain, master)
local number = ScenarioInfo.OSPlatoonCounter[master..'_D'..ScenarioInfo.Options.Difficulty]
Expand All @@ -39,13 +32,11 @@ function AirAttackChildCountDifficulty(aiBrain, master, number)
end
end

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: AirAttackMasterCountDifficulty = BuildCondition doc = "Please work function docs."
--
-- parameter 0: string aiBrain = "default_brain"
-- parameter 1: string master = "default_master"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- AirAttackMasterCountDifficulty = BuildCondition doc = "Please work function docs."
---@param aiBrain AIBrain default_brain
---@param master string default_master
---@param number number
---@return boolean
function AirAttackMasterCountDifficulty(aiBrain, master, number)
local counter = ScenarioFramework.AMPlatoonCounter(aiBrain, master)
local number = ScenarioInfo.OSPlatoonCounter[master..'_D'..ScenarioInfo.Options.Difficulty]
Expand All @@ -63,4 +54,4 @@ function AirAttackMasterCountDifficulty(aiBrain, master, number)
else
return false
end
end
end
49 changes: 15 additions & 34 deletions lua/AI/OpAI/AirScout_EditorFunctions.lua
Original file line number Diff line number Diff line change
@@ -1,26 +1,15 @@
--****************************************************************************
--**
--** File : /lua/ai/OpAI/AirScout_EditorFunctions
--** Author(s): Dru Staltman
--**
--** Summary : Generic AI Platoon Build Conditions
--** Build conditions always return true or false
--**
--** Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
--****************************************************************************
local AIUtils = import("/lua/ai/aiutilities.lua")
-----------------------------------------------------------------------------------------------
-- File : /lua/ai/OpAI/AirScout_EditorFunctions
-- Author(s): Dru Staltman
-- Summary : Generic AI Platoon Build Conditions Build conditions always return true or false
-- Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
-----------------------------------------------------------------------------------------------
local ScenarioFramework = import("/lua/scenarioframework.lua")
local ScenarioUtils = import("/lua/sim/scenarioutilities.lua")
local ScenarioPlatoonAI = import("/lua/scenarioplatoonai.lua")



----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: AirScoutPatrol = AddFunction doc = "Please work function docs."
--
-- parameter 0: string platoon = "default_platoon"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- AirScoutPatrol = AddFunction doc = "Please work function docs."
---@param platoon Platoon
function AirScoutPatrol(platoon)
local aiBrain = platoon:GetBrain()
local master = string.sub(platoon.PlatoonData.BuilderName, 12)
Expand All @@ -40,12 +29,8 @@ function AirScoutPatrol(platoon)
end
end

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: AirScoutPatrolRandom = AddFunction doc = "Please work function docs."
--
-- parameter 0: string platoon = "default_platoon"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- AirScoutPatrolRandom = AddFunction doc = "Please work function docs."
---@param platoon Platoon default_platoon
function AirScoutPatrolRandom(platoon)
local aiBrain = platoon:GetBrain()
local master = string.sub(platoon.PlatoonData.BuilderName, 12)
Expand All @@ -66,14 +51,9 @@ function AirScoutPatrolRandom(platoon)
end
end

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: AirScoutDeath = BuildCallback doc = "Please work function docs."
--
--
-- parameter 0: string brain = "default_brain"
-- parameter 1: string platoon = "default_platoon" doc = "docs for param1"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- AirScoutDeath = BuildCallback doc = "Please work function docs."
---@param brain AIBrain default_brain
---@param platoon Platoon default_platoon
function AirScoutDeath(brain, platoon)
local delay = 300

Expand All @@ -87,7 +67,8 @@ function AirScoutDeath(brain, platoon)
ForkThread( AirScoutUnlockTimer, platoonName, delay )
end

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---@param platoonName string
---@param delay number
function AirScoutUnlockTimer(platoonName, delay)

WaitSeconds( delay )
Expand Down
49 changes: 14 additions & 35 deletions lua/AI/OpAI/BasicLandAttack_EditorFunctions.lua
Original file line number Diff line number Diff line change
@@ -1,27 +1,16 @@
--****************************************************************************
--**
--** File : /lua/ai/OpAI/BasicLandAttack_EditorFunctions
--** Author(s): Dru Staltman
--**
--** Summary : Generic AI Platoon Build Conditions
--** Build conditions always return true or false
--**
--** Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
--****************************************************************************
----------------------------------------------------------------------------------------------------
-- File : /lua/ai/OpAI/BasicLandAttack_EditorFunctions
-- Author(s): Dru Staltman
-- Summary : Generic AI Platoon Build Conditions. Build conditions always return true or false
-- Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
----------------------------------------------------------------------------------------------------

local AIUtils = import("/lua/ai/aiutilities.lua")
local ScenarioFramework = import("/lua/scenarioframework.lua")


----------------------------------------------------------------------------------------------------
-- function: BasicLandAttackChildCountDifficulty = BuildCondition doc = "Please work function docs."
--
-- parameter 0: string aiBrain = "default_brain"
-- parameter 1: string master = "default_master"
--
----------------------------------------------------------------------------------------------------
---@param aiBrain AIBrain
---@param master string
--- BasicLandAttackChildCountDifficulty = BuildCondition doc = "Please work function docs."
---@param aiBrain AIBrain default_brain
---@param master string default_master
---@return boolean
function BasicLandAttackChildCountDifficulty(aiBrain, master)
local counter = ScenarioFramework.AMPlatoonCounter(aiBrain, master)
Expand All @@ -30,15 +19,9 @@ function BasicLandAttackChildCountDifficulty(aiBrain, master)
return counter < number
end

----------------------------------------------------------------------------------------------------
-- function: BasicLandAttackMasterCountDifficulty = BuildCondition doc = "Please work function docs."
--
-- parameter 0: string aiBrain = "default_brain"
-- parameter 1: string master = "default_master"
--
----------------------------------------------------------------------------------------------------
---@param aiBrain AIBrain
---@param master string
--- BasicLandAttackMasterCountDifficulty = BuildCondition doc = "Please work function docs."
---@param aiBrain AIBrain default_brain
---@param master string default_master
---@return boolean
function BasicLandAttackMasterCountDifficulty(aiBrain, master)
local counter = ScenarioFramework.AMPlatoonCounter(aiBrain, master)
Expand All @@ -49,7 +32,7 @@ end

---@param aiBrain AIBrain
---@param masterName string
---@param locationName string
---@param locationName Vector
---@return boolean
function NeedTransports(aiBrain, masterName, locationName)
if not ScenarioInfo.OSPlatoonCounter[masterName .. "_Transports"] then
Expand All @@ -59,8 +42,4 @@ function NeedTransports(aiBrain, masterName, locationName)
local radius = 100000
local units = AIUtils.GetOwnUnitsAroundPoint(aiBrain, categories.TRANSPORTATION, pos, radius)
return table.getn(units) < 5
end


local ScenarioUtils = import("/lua/sim/scenarioutilities.lua")
local ScenarioPlatoonAI = import("/lua/scenarioplatoonai.lua")
end
62 changes: 21 additions & 41 deletions lua/AI/OpAI/BomberEscort_EditorFunctions.lua
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
--****************************************************************************
--**
--** File : /lua/ai/OpAI/BomberEscort_EditorFunctions
--** Author(s): Dru Staltman
--**
--** Summary : Generic AI Platoon Build Conditions
--** Build conditions always return true or false
--**
--** Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
--****************************************************************************
local AIUtils = import("/lua/ai/aiutilities.lua")
---------------------------------------------------------------------------------------------------
-- File : /lua/ai/OpAI/BomberEscort_EditorFunctions
-- Author(s): Dru Staltman
-- Summary : Generic AI Platoon Build Conditions Build conditions always return true or false
-- Copyright © 2005 Gas Powered Games, Inc. All rights reserved.
---------------------------------------------------------------------------------------------------
local ScenarioFramework = import("/lua/scenarioframework.lua")
local ScenarioUtils = import("/lua/sim/scenarioutilities.lua")
local ScenarioPlatoonAI = import("/lua/scenarioplatoonai.lua")

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: BomberEscortChildBomberCountDifficulty = BuildCondition doc = "Please work function docs."
--
-- parameter 0: string aiBrain = "default_brain"
-- parameter 1: string master = "default_master"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- BomberEscortChildBomberCountDifficulty = BuildCondition doc = "Please work function docs."
---@param aiBrain AIBrain default_brain
---@param master string default_master
---@return boolean
function BomberEscortChildBomberCountDifficulty(aiBrain, master)
local counter = ScenarioFramework.AMPlatoonCounter(aiBrain, master..'_BomberChildren')
local num = ScenarioInfo.OSPlatoonCounter[master..'_BomberChildren_D'..ScenarioInfo.Options.Difficulty]
Expand All @@ -37,13 +27,10 @@ function BomberEscortChildBomberCountDifficulty(aiBrain, master)
end
end

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: BomberEscortChildEscortCountDifficulty = BuildCondition doc = "Please work function docs."
--
-- parameter 0: string aiBrain = "default_brain"
-- parameter 1: string master = "default_master"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- BomberEscortChildEscortCountDifficulty = BuildCondition doc = "Please work function docs."
---@param aiBrain AIBrain default_brain
---@param master string default_master
---@return boolean
function BomberEscortChildEscortCountDifficulty(aiBrain, master)
local counter = ScenarioFramework.AMPlatoonCounter(aiBrain, master..'_EscortChildren')
local num = ScenarioInfo.OSPlatoonCounter[master..'_EscortChildren_D'..ScenarioInfo.Options.Difficulty]
Expand All @@ -61,13 +48,10 @@ function BomberEscortChildEscortCountDifficulty(aiBrain, master)
end
end

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: BomberEscortMasterCountDifficulty = BuildCondition doc = "Please work function docs."
--
-- parameter 0: string aiBrain = "default_brain"
-- parameter 1: string master = "default_master"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- BomberEscortMasterCountDifficulty = BuildCondition doc = "Please work function docs."
---@param aiBrain AIBrain default_brain
---@param master string default_master
---@return boolean
function BomberEscortMasterCountDifficulty(aiBrain, master)
local escortCounter = ScenarioFramework.AMPlatoonCounter(aiBrain, master..'_EscortChildren')
local escortNum = ScenarioInfo.OSPlatoonCounter[master..'_EscortChildren_D'..ScenarioInfo.Options.Difficulty]
Expand All @@ -94,12 +78,8 @@ function BomberEscortMasterCountDifficulty(aiBrain, master)
end
end

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- function: BomberEscortAI = AddFunction doc = "Please work function docs."
--
-- parameter 0: string platoon = "default_platoon"
--
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- BomberEscortAI = AddFunction doc = "Please work function docs."
---@param platoon Platoon
function BomberEscortAI(platoon)
local aiBrain = platoon:GetBrain()
local target = false
Expand All @@ -119,4 +99,4 @@ function BomberEscortAI(platoon)
end
WaitSeconds(17)
end
end
end
Loading

0 comments on commit e7b1dd2

Please sign in to comment.