You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Changelog:
------------------------------------------------------------------------------------
AIBehaviors.lua
function TempestBehavior()
-Opt: Removed obsolete IsOpponentAIRunning() function call
------------------------------------------------------------------------------------
aibuildstructures.lua
function AIExecuteBuildStructure()
-New: Added validation for building templates. (T4Artillery can't be build from Seraphim etc)
function AIBuildAdjacency()
-Fix: making sure, the AI is not building adjacencies closer then 8 map-units to the map border.
------------------------------------------------------------------------------------
aiutilities.lua
function GenerateAmphibiousMarkerList()
-Fix: Added a failsafe in case a marker has no valid adjacentTo entry.
function EngineerTryReclaimCaptureArea()
-Fix: Added ReclaimInProgress and CaptureInProgress flag to prevent attacking from own units.
function EngineerTryReclaimCaptureAreaSorian()
-Fix: Added ReclaimInProgress and CaptureInProgress flag to prevent attacking from own units.
------------------------------------------------------------------------------------
AttackManager.lua
function AttackManagerThread()
-Opt: Removed obsolete IsOpponentAIRunning() function call
------------------------------------------------------------------------------------
aibrain.lua
function OnDefeat()
-Opt: AI PathCache will now be deleted if an AI is defeated.
function EvaluateAIPlanList()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function ExecuteAIThread()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function InitializeSkirmishSystems()
-Fix: Deleted duplicated ForkThread for EnemyPickerThread
function PlatoonBuildManagerThread()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function BaseMonitorPlatoonDistressThread()
-Fix: Deleted duplicated function
------------------------------------------------------------------------------------
defaultunits.lua
function DestroyIdleEffects()
-Fix: Validating the existens of TimedSonarEffectsThread before destroying it.
------------------------------------------------------------------------------------
EffectUtilities.lua
function CreateSeraphimFactoryBuildingEffects()
-Fix: Added check for the existens of "slider" instead of checking if the unit is dead.
------------------------------------------------------------------------------------
platoon.lua
function PlatoonDisband()
-Fix: Deleting ReclaimInProgress and CaptureInProgress flag in case the platoon is disbanded/transfered.
function HuntAI()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function GuardBase()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function BaseManagersDistressAI()
-Fix: DistressCall is now saved in the right place (locData.DistressCall instead of locData.BaseSettings.DistressCall)
function CaptureAI()
-Fix: Added CaptureInProgress flag to units while capturing is in progress
function ReclaimStructuresAI()
-Fix: Set ReclaimInProgress flag before starting reclaim
-Fix: Exit function with return after disbanding the platoon.
function ReclaimUnitsAI()
-Fix: Set ReclaimInProgress flag before starting reclaim
function RepairAI()
-Fix: Exit function with return after disbanding the platoon.
function EconUnfinishedBody()
-Fix: Exit function with return after disbanding the platoon.
function EngineerBuildAI()
-Fix: Exit function with return after disbanding the platoon. (if we can't find a location to build)
function UnitUpgradeAI()
-Fix: Changed faction index to real names in warn/debug texts.
function GunshipHuntAI()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function InterceptorAI()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function BaseManagersDistressAISorian()
-Fix: DistressCall is now saved in the right place (locData.DistressCall instead of locData.BaseSettings.DistressCall)
function ArtilleryAISorian()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function SatelliteAISorian()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function AirHuntAI()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function FighterHuntAI()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function GuardBaseSorian()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function NavalHuntAI()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function CDRHuntAISorian()
-Opt: Removed obsolete IsOpponentAIRunning() function call
function AttackForceAISorian()
-Opt: Removed obsolete IsOpponentAIRunning() function call
------------------------------------------------------------------------------------
EngineerManager.lua
function AssignEngineerTask()
Fix: Enginners will now delay a new task if they are still assisting or building
Fix: Calling now "self:DelayAssign()" instead of "DelayAssign()"
Opt: Changed function call "builder:GetPriority()" to get variable "builder.Priority"
------------------------------------------------------------------------------------
FactoryBuilderManager.lua
function GetFactoryTemplate()
Fix: Changed error() call on missing templatedata to a SPEW message and returning false.
------------------------------------------------------------------------------------
Unit.lua
function OnStopBeingBuilt()
Opt: Deleted duplicated "local bp = self:GetBlueprint()" call.
------------------------------------------------------------------------------------
simInit.lua
function DefaultPrefetchSet()
Fix: Corrected syntax for DiskFindFiles calls.
-- If the c-engine can't decide what to build, then search the build template manually.
111
113
ifnotwhatToBuildthen
112
-
SPEW('*AIExecuteBuildStructure: We cant decide whatToBuild! Building Type: '..repr(buildingType)..' not present as template for faction: '..repr(builder.factionCategory))
114
+
ifAntiSpamList[buildingType] then
115
+
return
116
+
end
117
+
SPEW('*AIExecuteBuildStructure: We cant decide whatToBuild! Building Type: '..repr(buildingType)..', faction: '..repr(builder.factionCategory))
-- If we can't find a techlevel for the building we want to build, then return
144
+
ifnotNeedTechthen
145
+
WARN('*AIExecuteBuildStructure: Cant find techlevel for BuildUnitWithID: '..repr(BuildUnitWithID))
146
+
return
147
+
end
148
+
-- get the actual tech level from the builder
149
+
localBC=builder:GetBlueprint().CategoriesHash
150
+
ifBC.TECH1orBC.COMMANDthen
151
+
HasTech=1
152
+
elseifBC.TECH2then
153
+
HasTech=2
154
+
elseifBC.TECH3then
155
+
HasTech=3
156
+
end
157
+
-- If we can't find a techlevel for the building we want to build, return
158
+
ifnotHasTechthen
159
+
WARN('*AIExecuteBuildStructure: Cant find techlevel for Builder: '..__blueprints[BuildUnitWithID].Descriptionor"Unknown")
160
+
return
161
+
end
162
+
--LOG('*AIExecuteBuildStructure: We have TECH'..HasTech..' engineer.')
163
+
ifHasTech<NeedTechthen
164
+
WARN('*AIExecuteBuildStructure: TECH'..NeedTech..' Unit "'..BuildUnitWithID..'" is assigned to TECH'..HasTech..' buildplatoon! ('..repr(buildingType)..')')
ifIsRestricted(BuildUnitWithID, GetFocusArmy()) then
169
+
WARN('*AIExecuteBuildStructure: Unit is Restricted!!! Building Type: '..repr(buildingType)..', faction: '..repr(builder.factionCategory)..' - Unit:'..BuildUnitWithID)
170
+
AntiSpamList[buildingType] =true
171
+
return
172
+
end
113
173
return
174
+
else
175
+
-- Sometimes the AI is building a unit that is different from the buildingTemplate table. So we validate the unitID here.
0 commit comments