diff --git a/Moose Development/Moose/Core/Database.lua b/Moose Development/Moose/Core/Database.lua index 1a2af6d62..fa12803fc 100644 --- a/Moose Development/Moose/Core/Database.lua +++ b/Moose Development/Moose/Core/Database.lua @@ -187,7 +187,7 @@ end function DATABASE:AddUnit( DCSUnitName ) if not self.UNITS[DCSUnitName] then - self:I( { "Add UNIT:", DCSUnitName } ) + self:T( { "Add UNIT:", DCSUnitName } ) local UnitRegister = UNIT:Register( DCSUnitName ) self.UNITS[DCSUnitName] = UNIT:Register( DCSUnitName ) @@ -509,7 +509,7 @@ end function DATABASE:AddGroup( GroupName ) if not self.GROUPS[GroupName] then - self:I( { "Add GROUP:", GroupName } ) + self:T( { "Add GROUP:", GroupName } ) self.GROUPS[GroupName] = GROUP:Register( GroupName ) end @@ -521,7 +521,7 @@ end function DATABASE:AddPlayer( UnitName, PlayerName ) if PlayerName then - self:I( { "Add player for unit:", UnitName, PlayerName } ) + self:T( { "Add player for unit:", UnitName, PlayerName } ) self.PLAYERS[PlayerName] = UnitName self.PLAYERUNITS[PlayerName] = self:FindUnit( UnitName ) self.PLAYERSJOINED[PlayerName] = PlayerName @@ -533,7 +533,7 @@ end function DATABASE:DeletePlayer( UnitName, PlayerName ) if PlayerName then - self:I( { "Clean player:", PlayerName } ) + self:T( { "Clean player:", PlayerName } ) self.PLAYERS[PlayerName] = nil self.PLAYERUNITS[PlayerName] = nil end @@ -698,11 +698,11 @@ function DATABASE:_RegisterGroupTemplate( GroupTemplate, CoalitionSide, Category UnitNames[#UnitNames+1] = self.Templates.Units[UnitTemplate.name].UnitName end - self:I( { Group = self.Templates.Groups[GroupTemplateName].GroupName, + self:T( { Group = self.Templates.Groups[GroupTemplateName].GroupName, Coalition = self.Templates.Groups[GroupTemplateName].CoalitionID, - Category = self.Templates.Groups[GroupTemplateName].CategoryID, - Country = self.Templates.Groups[GroupTemplateName].CountryID, - Units = UnitNames + Category = self.Templates.Groups[GroupTemplateName].CategoryID, + Country = self.Templates.Groups[GroupTemplateName].CountryID, + Units = UnitNames } ) end @@ -847,9 +847,9 @@ function DATABASE:_RegisterGroupsAndUnits() end end - self:I("Groups:") + self:T("Groups:") for GroupName, Group in pairs( self.GROUPS ) do - self:I( { "Group:", GroupName } ) + self:T( { "Group:", GroupName } ) end return self @@ -861,7 +861,7 @@ end function DATABASE:_RegisterClients() for ClientName, ClientTemplate in pairs( self.Templates.ClientsByName ) do - self:I( { "Register Client:", ClientName } ) + self:T( { "Register Client:", ClientName } ) self:AddClient( ClientName ) end @@ -879,7 +879,7 @@ function DATABASE:_RegisterStatics() if DCSStatic:isExist() then local DCSStaticName = DCSStatic:getName() - self:I( { "Register Static:", DCSStaticName } ) + self:T( { "Register Static:", DCSStaticName } ) self:AddStatic( DCSStaticName ) else self:E( { "Static does not exist: ", DCSStatic } ) @@ -899,7 +899,7 @@ function DATABASE:_RegisterAirbases() local DCSAirbaseName = DCSAirbase:getName() - self:I( { "Register Airbase:", DCSAirbaseName, DCSAirbase:getID() } ) + self:T( { "Register Airbase:", DCSAirbaseName, DCSAirbase:getID() } ) self:AddAirbase( DCSAirbaseName ) end end diff --git a/Moose Development/Moose/Functional/ZoneCaptureCoalition.lua b/Moose Development/Moose/Functional/ZoneCaptureCoalition.lua index 1615c70ff..2cd1f7ac2 100644 --- a/Moose Development/Moose/Functional/ZoneCaptureCoalition.lua +++ b/Moose Development/Moose/Functional/ZoneCaptureCoalition.lua @@ -544,6 +544,41 @@ do -- ZONE_CAPTURE_COALITION -- @param #ZONE_CAPTURE_COALITION self -- @param #number Delay + self:AddTransition( "*", "ChangeCoalition", "*" ) + + --- ChangeCoalition Handler OnBefore for ZONE_CAPTURE_COALITION + -- @function [parent=#ZONE_CAPTURE_COALITION] OnBeforeChangeCoalition + -- @param #ZONE_CAPTURE_COALITION self + -- @param #string From + -- @param #string Event + -- @param #string To + -- @param #number NewCoalition New coalition ID, i.e. after the change. + -- @param #number OldCoalition Old coalition ID, i.e. before the change. + -- @return #boolean + + --- ChangeCoalition Handler OnAfter for ZONE_CAPTURE_COALITION + -- @function [parent=#ZONE_CAPTURE_COALITION] OnAfterChangeCoalition + -- @param #ZONE_CAPTURE_COALITION self + -- @param #string From + -- @param #string Event + -- @param #string To + -- @param #number NewCoalition New coalition ID, i.e. after the change. + -- @param #number OldCoalition Old coalition ID, i.e. before the change. + + --- ChangeCoalition Trigger for ZONE_CAPTURE_COALITION + -- @function [parent=#ZONE_CAPTURE_COALITION] ChangeCoalition + -- @param #ZONE_CAPTURE_COALITION self + -- @param #number NewCoalition New coalition ID, i.e. after the change. + -- @param #number OldCoalition Old coalition ID, i.e. before the change. + + --- ChangeCoalition Asynchronous Trigger for ZONE_CAPTURE_COALITION + -- @function [parent=#ZONE_CAPTURE_COALITION] __ChangeCoalition + -- @param #ZONE_CAPTURE_COALITION self + -- @param #number Delay + -- @param #number NewCoalition New coalition ID, i.e. after the change. + -- @param #number OldCoalition Old coalition ID, i.e. before the change. + + -- We check if a unit within the zone is hit. -- If it is, then we must move the zone to attack state. self:HandleEvent( EVENTS.Hit, self.OnEventHit ) @@ -586,6 +621,8 @@ do -- ZONE_CAPTURE_COALITION end self.ScheduleStatusZone = self:ScheduleRepeat( self.StartInterval, self.RepeatInterval, 1.5, nil, self.StatusZone, self ) + + self:StatusZone() end @@ -671,7 +708,7 @@ do -- ZONE_CAPTURE_COALITION self:F( { NewCoalition = NewCoalition } ) -- Set new owner of zone. - self:SetCoalition( NewCoalition ) + self:ChangeCoalition(NewCoalition, self.Coalition) -- Update mark. self:Mark() @@ -680,6 +717,12 @@ do -- ZONE_CAPTURE_COALITION self.Goal:Achieved() end + --- On after "ChangeCoalition" state. + -- @param #ZONE_CAPTURE_COALITION self + function ZONE_CAPTURE_COALITION:onafterChangeCoalition(From, Event, To, NewCoalition, OldCoalition) + self:SetCoalition(NewCoalition) + end + --- On enter "Empty" state. -- @param #ZONE_CAPTURE_COALITION self function ZONE_CAPTURE_COALITION:onenterEmpty()