diff --git a/Moose Development/Moose/Functional/Scoring.lua b/Moose Development/Moose/Functional/Scoring.lua index 40c434f33..7a69a4721 100644 --- a/Moose Development/Moose/Functional/Scoring.lua +++ b/Moose Development/Moose/Functional/Scoring.lua @@ -102,7 +102,9 @@ -- A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens. -- Use the method @{#SCORING.AddGoalScore}() to add a score for a Player at any time in your mission. -- --- ## 1.5) Configure fratricide level. +-- ## 1.5) (Decommissioned) Configure fratricide level. +-- +-- **This functionality is decomissioned until the DCS bug concerning Unit:destroy() not being functional in multi player for player units has been fixed by ED**. -- -- When a player commits too much damage to friendlies, his penalty score will reach a certain level. -- Use the method @{#SCORING.SetFratricide}() to define the level when a player gets kicked. @@ -258,7 +260,7 @@ function SCORING:New( GameName ) -- Configure Messages self:SetMessagesToAll() - self:SetMessagesHit( true ) + self:SetMessagesHit( false ) self:SetMessagesDestroy( true ) self:SetMessagesScore( true ) self:SetMessagesZone( true ) @@ -616,6 +618,7 @@ function SCORING:_AddPlayerFromUnit( UnitData ) UnitName, _SCORINGCoalition[UnitCoalition], _SCORINGCategory[UnitCategory], UnitData:GetTypeName() ) end end + self.Players[PlayerName].UnitName = UnitName self.Players[PlayerName].UnitCoalition = UnitCoalition self.Players[PlayerName].UnitCategory = UnitCategory @@ -624,6 +627,8 @@ function SCORING:_AddPlayerFromUnit( UnitData ) self.Players[PlayerName].ThreatLevel = UnitThreatLevel self.Players[PlayerName].ThreatType = UnitThreatType + -- TODO: DCS bug concerning Units with skill level client don't get destroyed in multi player. This logic is deactivated until this bug gets fixed. + --[[ if self.Players[PlayerName].Penalty > self.Fratricide * 0.50 then if self.Players[PlayerName].PenaltyWarning < 1 then MESSAGE:NewType( self.DisplayMessagePrefix .. "Player '" .. PlayerName .. "': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than " .. self.Fratricide .. ", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: " .. self.Players[PlayerName].Penalty, @@ -639,6 +644,7 @@ function SCORING:_AddPlayerFromUnit( UnitData ) ):ToAll() UnitData:GetGroup():Destroy() end + --]] end end diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua index 3f4dc04c5..dbc890dd4 100644 --- a/Moose Mission Setup/Moose.lua +++ b/Moose Mission Setup/Moose.lua @@ -1,5 +1,5 @@ env.info( '*** MOOSE STATIC INCLUDE START *** ' ) -env.info( 'Moose Generation Timestamp: 20171006_1228' ) +env.info( 'Moose Generation Timestamp: 20171009_1307' ) --- Various routines -- @module routines @@ -25532,7 +25532,9 @@ end -- A mission has goals and achievements. The scoring system provides an API to set additional scores when a goal or achievement event happens. -- Use the method @{#SCORING.AddGoalScore}() to add a score for a Player at any time in your mission. -- --- ## 1.5) Configure fratricide level. +-- ## 1.5) (Decommissioned) Configure fratricide level. +-- +-- **This functionality is decomissioned until the DCS bug concerning Unit:destroy() not being functional in multi player for player units has been fixed by ED**. -- -- When a player commits too much damage to friendlies, his penalty score will reach a certain level. -- Use the method @{#SCORING.SetFratricide}() to define the level when a player gets kicked. @@ -25688,7 +25690,7 @@ function SCORING:New( GameName ) -- Configure Messages self:SetMessagesToAll() - self:SetMessagesHit( true ) + self:SetMessagesHit( false ) self:SetMessagesDestroy( true ) self:SetMessagesScore( true ) self:SetMessagesZone( true ) @@ -26046,6 +26048,7 @@ function SCORING:_AddPlayerFromUnit( UnitData ) UnitName, _SCORINGCoalition[UnitCoalition], _SCORINGCategory[UnitCategory], UnitData:GetTypeName() ) end end + self.Players[PlayerName].UnitName = UnitName self.Players[PlayerName].UnitCoalition = UnitCoalition self.Players[PlayerName].UnitCategory = UnitCategory @@ -26054,6 +26057,8 @@ function SCORING:_AddPlayerFromUnit( UnitData ) self.Players[PlayerName].ThreatLevel = UnitThreatLevel self.Players[PlayerName].ThreatType = UnitThreatType + -- TODO: DCS bug concerning Units with skill level client don't get destroyed in multi player. This logic is deactivated until this bug gets fixed. + --[[ if self.Players[PlayerName].Penalty > self.Fratricide * 0.50 then if self.Players[PlayerName].PenaltyWarning < 1 then MESSAGE:NewType( self.DisplayMessagePrefix .. "Player '" .. PlayerName .. "': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than " .. self.Fratricide .. ", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: " .. self.Players[PlayerName].Penalty, @@ -26069,6 +26074,7 @@ function SCORING:_AddPlayerFromUnit( UnitData ) ):ToAll() UnitData:GetGroup():Destroy() end + --]] end end diff --git a/Moose Mission Setup/Moose_.lua b/Moose Mission Setup/Moose_.lua index 24bc41e6d..b7c84dece 100644 --- a/Moose Mission Setup/Moose_.lua +++ b/Moose Mission Setup/Moose_.lua @@ -1,5 +1,5 @@ env.info('*** MOOSE STATIC INCLUDE START *** ') -env.info('Moose Generation Timestamp: 20171006_1228') +env.info('Moose Generation Timestamp: 20171009_1307') env.setErrorMessageBoxEnabled(false) routines={} routines.majorVersion=3 @@ -12344,7 +12344,7 @@ end self.ScoringObjects={} self.ScoringZones={} self:SetMessagesToAll() -self:SetMessagesHit(true) +self:SetMessagesHit(false) self:SetMessagesDestroy(true) self:SetMessagesScore(true) self:SetMessagesZone(true) @@ -12507,20 +12507,6 @@ self.Players[PlayerName].UnitType=UnitTypeName self.Players[PlayerName].UNIT=UnitData self.Players[PlayerName].ThreatLevel=UnitThreatLevel self.Players[PlayerName].ThreatType=UnitThreatType -if self.Players[PlayerName].Penalty>self.Fratricide*0.50 then -if self.Players[PlayerName].PenaltyWarning<1 then -MESSAGE:NewType(self.DisplayMessagePrefix.."Player '"..PlayerName.."': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than "..self.Fratricide..", you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: "..self.Players[PlayerName].Penalty, -MESSAGE.Type.Information -):ToAll() -self.Players[PlayerName].PenaltyWarning=self.Players[PlayerName].PenaltyWarning+1 -end -end -if self.Players[PlayerName].Penalty>self.Fratricide then -MESSAGE:NewType(self.DisplayMessagePrefix.."Player '"..PlayerName.."' committed FRATRICIDE, he will be COURT MARTIALED and is DISMISSED from this mission!", -MESSAGE.Type.Information -):ToAll() -UnitData:GetGroup():Destroy() -end end end function SCORING:AddGoalScore(PlayerUnit,GoalTag,Text,Score) diff --git a/docs/Documentation/AI_A2A_Cap.html b/docs/Documentation/AI_A2A_Cap.html index 9ac845f20..fd55e3d9f 100644 --- a/docs/Documentation/AI_A2A_Cap.html +++ b/docs/Documentation/AI_A2A_Cap.html @@ -112,7 +112,7 @@
AI CAP classes makes AI Controllables execute a Combat Air Patrol.
+AI CAP classes makes AI Groups execute a Combat Air Patrol.
@@ -146,7 +146,7 @@The AIA2ACAP class implements the core functions to patrol a Zone by an AI Controllable or Group +
The AIA2ACAP class implements the core functions to patrol a Zone by an AI Group or Group and automatically engage any airborne enemies that are within a certain range or within a certain zone.
Creates a new AIA2ACAP object
OnAfter Transition Handler for Event Abort.
OnAfter Transition Handler for Event Accomplish.
OnAfter Transition Handler for Event Destroy.
OnAfter Transition Handler for Event Engage.
OnAfter Transition Handler for Event Fired.
OnBefore Transition Handler for Event Abort.
OnBefore Transition Handler for Event Accomplish.
OnBefore Transition Handler for Event Destroy.
OnBefore Transition Handler for Event Engage.
OnBefore Transition Handler for Event Fired.
OnEnter Transition Handler for State Engaging.
OnLeave Transition Handler for State Engaging.
onafter State Transition for Event Patrol.
onafter State Transition for Event Patrol.
The AIA2ACAP class implements the core functions to patrol a Zone by an AI Controllable or Group +
The AIA2ACAP class implements the core functions to patrol a Zone by an AI Group or Group and automatically engage any airborne enemies that are within a certain range or within a certain zone.
@@ -560,7 +560,7 @@ Use the method AICap#AI -AI_A2A_CAP.AttackRoute(AIGroup, Fsm) +AI_A2A_CAP.AttackRoute(AICap, Fsm)Wrapper.Group#GROUP AIGroup :
Wrapper.Group#GROUP AICap :
Wrapper.Group#GROUP AIGroup :
Wrapper.Group#GROUP AICap :
Dcs.DCSTypes#Speed PatrolMinSpeed :
-The minimum speed of the Controllable in km/h.
Dcs.DCSTypes#Speed PatrolMaxSpeed :
-The maximum speed of the Controllable in km/h.
Dcs.DCSTypes#Speed EngageMinSpeed :
-The minimum speed of the Controllable in km/h when engaging a target.
Dcs.DCSTypes#Speed EngageMaxSpeed :
-The maximum speed of the Controllable in km/h when engaging a target.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
Wrapper.Group#GROUP AICap :
Wrapper.Controllable#CONTROLLABLE AIGroup :
+
Wrapper.Group#GROUP AICap :
The AI Group managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE Controllable :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE AIGroup :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The AICap Object managed by the FSM.
Wrapper.Controllable#CONTROLLABLE AIGroup :
+
Wrapper.Group#GROUP AICap :
The AI Group managed by the FSM.
Wrapper.Group#GROUP AIGroup :
+
Wrapper.Group#GROUP AICap :
The AI Group managed by the FSM.
Wrapper.Controllable#CONTROLLABLE AIGroup :
-The Controllable Object managed by the FSM.
Wrapper.Group#GROUP AICap :
+The Group Object managed by the FSM.
Creates a new AIA2AGCI object
OnAfter Transition Handler for Event Abort.
OnAfter Transition Handler for Event Accomplish.
OnAfter Transition Handler for Event Destroy.
OnAfter Transition Handler for Event Engage.
OnAfter Transition Handler for Event Fired.
OnBefore Transition Handler for Event Abort.
OnBefore Transition Handler for Event Accomplish.
OnBefore Transition Handler for Event Destroy.
OnBefore Transition Handler for Event Engage.
OnBefore Transition Handler for Event Fired.
OnEnter Transition Handler for State Engaging.
OnLeave Transition Handler for State Engaging.
onafter State Transition for Event Patrol.
onafter State Transition for Event Patrol.
AIGroup :
AIIntercept :
Wrapper.Group#GROUP AIGroup :
Wrapper.Group#GROUP AIIntercept :
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
+
Wrapper.Group#GROUP AIIntercept :
The AI Group managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
Wrapper.Group#GROUP AIGroup :
+
Wrapper.Group#GROUP AIIntercept :
The AI Group managed by the FSM.
Wrapper.Group#GROUP AIGroup :
+
Wrapper.Group#GROUP AIIntercept :
The AI Group managed by the FSM.
Wrapper.Group#GROUP AIGroup :
-The AIGroup Object managed by the FSM.
Wrapper.Group#GROUP AIIntercept :
+The Group Object managed by the FSM.
AI PATROL classes makes AI Controllables execute an Patrol.
+AI PATROL classes makes AI Groups execute an Patrol.
@@ -158,50 +158,50 @@The AIA2APATROL class implements the core functions to patrol a Zone by an AI Controllable or Group.
+The AIA2APATROL class implements the core functions to patrol a Zone by an AI Group or Group.
AI_A2A_PATROL