Merge remote-tracking branch 'origin/master' into develop

# Conflicts:
#	Moose Development/Moose/Ops/CTLD.lua
This commit is contained in:
Applevangelist
2022-11-07 17:37:18 +01:00
2 changed files with 17 additions and 15 deletions

View File

@@ -1072,7 +1072,7 @@ CTLD.UnitTypes = {
--Actually it's longer, but the center coord is off-center of the model. --Actually it's longer, but the center coord is off-center of the model.
["UH-60L"] = {type="UH-60L", crates=true, troops=true, cratelimit = 2, trooplimit = 20, length = 16, cargoweightlimit = 3500}, -- 4t cargo, 20 (unsec) seats ["UH-60L"] = {type="UH-60L", crates=true, troops=true, cratelimit = 2, trooplimit = 20, length = 16, cargoweightlimit = 3500}, -- 4t cargo, 20 (unsec) seats
["AH-64D_BLK_II"] = {type="AH-64D_BLK_II", crates=false, troops=true, cratelimit = 0, trooplimit = 2, length = 17, cargoweightlimit = 200}, -- 2 ppl **outside** the helo ["AH-64D_BLK_II"] = {type="AH-64D_BLK_II", crates=false, troops=true, cratelimit = 0, trooplimit = 2, length = 17, cargoweightlimit = 200}, -- 2 ppl **outside** the helo
["Bronco-OV-10A"] = {type="Bronco-OV-10A", crates= false, troops=true, cratelimit = 0, trooplimit = 5, length = 13, cargoweightlimit = 1450}, ["Bronco-OV-10A"] = {type="Bronco-OV-10A", crates= false, troops=true, cratelimit = 0, trooplimit = 5, length = 13, cargoweightlimit = 1450},
} }
--- CTLD class version. --- CTLD class version.
@@ -1519,7 +1519,7 @@ function CTLD:_EventHandler(EventData)
self:_RefreshF10Menus() self:_RefreshF10Menus()
end end
-- Herc support -- Herc support
if _unit:GetTypeName() == "Hercules" and self.enableHercules then if self:IsHercules(_unit) and self.enableHercules then
local unitname = event.IniUnitName or "none" local unitname = event.IniUnitName or "none"
self.Loaded_Cargo[unitname] = nil self.Loaded_Cargo[unitname] = nil
self:_RefreshF10Menus() self:_RefreshF10Menus()
@@ -2524,7 +2524,7 @@ end
-- @param Wrapper.Unit#UNIT Unit -- @param Wrapper.Unit#UNIT Unit
-- @return #boolean Outcome -- @return #boolean Outcome
function CTLD:IsHercules(Unit) function CTLD:IsHercules(Unit)
if Unit:GetTypeName() == "Hercules" then if Unit:GetTypeName() == "Hercules" or string.find(Unit:GetTypeName(),"Bronco") then
return true return true
else else
return false return false
@@ -2733,8 +2733,7 @@ end
function CTLD:_BuildCrates(Group, Unit,Engineering) function CTLD:_BuildCrates(Group, Unit,Engineering)
self:T(self.lid .. " _BuildCrates") self:T(self.lid .. " _BuildCrates")
-- avoid users trying to build from flying Hercs -- avoid users trying to build from flying Hercs
local type = Unit:GetTypeName() if self:IsHercules(Unit) and self.enableHercules and not Engineering then
if type == "Hercules" and self.enableHercules and not Engineering then
local speed = Unit:GetVelocityKMH() local speed = Unit:GetVelocityKMH()
if speed > 1 then if speed > 1 then
self:_SendMessage("You need to land / stop to build something, Pilot!", 10, false, Group) self:_SendMessage("You need to land / stop to build something, Pilot!", 10, false, Group)
@@ -3047,7 +3046,7 @@ function CTLD:_RefreshF10Menus()
local _unit = _group:GetUnit(1) -- Wrapper.Unit#UNIT Asume that there is only one unit in the flight for players local _unit = _group:GetUnit(1) -- Wrapper.Unit#UNIT Asume that there is only one unit in the flight for players
if _unit then if _unit then
if _unit:IsAlive() and _unit:IsPlayer() then if _unit:IsAlive() and _unit:IsPlayer() then
if _unit:IsHelicopter() or (_unit:GetTypeName() == "Hercules" and self.enableHercules) then --ensure no stupid unit entries here if _unit:IsHelicopter() or (self:IsHercules(_unit) and self.enableHercules) then --ensure no stupid unit entries here
local unitName = _unit:GetName() local unitName = _unit:GetName()
_UnitList[unitName] = unitName _UnitList[unitName] = unitName
end end
@@ -3146,7 +3145,7 @@ function CTLD:_RefreshF10Menus()
local buildmenu = MENU_GROUP_COMMAND:New(_group,"Build crates",topcrates, self._BuildCrates, self, _group, _unit) local buildmenu = MENU_GROUP_COMMAND:New(_group,"Build crates",topcrates, self._BuildCrates, self, _group, _unit)
local repairmenu = MENU_GROUP_COMMAND:New(_group,"Repair",topcrates, self._RepairCrates, self, _group, _unit):Refresh() local repairmenu = MENU_GROUP_COMMAND:New(_group,"Repair",topcrates, self._RepairCrates, self, _group, _unit):Refresh()
end end
if unittype == "Hercules" then if self:IsHercules(_unit) then
local hoverpars = MENU_GROUP_COMMAND:New(_group,"Show flight parameters",topmenu, self._ShowFlightParams, self, _group, _unit):Refresh() local hoverpars = MENU_GROUP_COMMAND:New(_group,"Show flight parameters",topmenu, self._ShowFlightParams, self, _group, _unit):Refresh()
else else
local hoverpars = MENU_GROUP_COMMAND:New(_group,"Show hover parameters",topmenu, self._ShowHoverParams, self, _group, _unit):Refresh() local hoverpars = MENU_GROUP_COMMAND:New(_group,"Show hover parameters",topmenu, self._ShowHoverParams, self, _group, _unit):Refresh()
@@ -3966,7 +3965,7 @@ end
function CTLD:IsUnitInAir(Unit) function CTLD:IsUnitInAir(Unit)
-- get speed and height -- get speed and height
local minheight = self.minimumHoverHeight local minheight = self.minimumHoverHeight
if self.enableHercules and Unit:GetTypeName() == "Hercules" then if self.enableHercules and self:IsHercules(Unit) then
minheight = 5.1 -- herc is 5m AGL on the ground minheight = 5.1 -- herc is 5m AGL on the ground
end end
local uheight = Unit:GetHeight() local uheight = Unit:GetHeight()

View File

@@ -21,7 +21,7 @@
-- === -- ===
-- @module Ops.PlayerTask -- @module Ops.PlayerTask
-- @image OPS_PlayerTask.jpg -- @image OPS_PlayerTask.jpg
-- @date Last Update October 2022 -- @date Last Update November 2022
do do
@@ -95,7 +95,7 @@ PLAYERTASK = {
--- PLAYERTASK class version. --- PLAYERTASK class version.
-- @field #string version -- @field #string version
PLAYERTASK.version="0.1.9" PLAYERTASK.version="0.1.10"
--- Generic task condition. --- Generic task condition.
-- @type PLAYERTASK.Condition -- @type PLAYERTASK.Condition
@@ -654,11 +654,14 @@ function PLAYERTASK:onafterStatus(From, Event, To)
-- Check Target status -- Check Target status
local targetdead = false local targetdead = false
if self.Target:IsDead() or self.Target:IsDestroyed() or self.Target:CountTargets() == 0 then
targetdead = true if self.Type ~= AUFTRAG.Type.CTLD and self.Type ~= AUFTRAG.Type.CSAR then
self:__Success(-2) if self.Target:IsDead() or self.Target:IsDestroyed() or self.Target:CountTargets() == 0 then
status = "Success" targetdead = true
return self self:__Success(-2)
status = "Success"
return self
end
end end
if status == "Executing" then if status == "Executing" then