mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
#PLAYERRECCE
* QoL Fixes for menu, smoke, reports etc
This commit is contained in:
parent
2eafadcedf
commit
be5c1bed3b
@ -104,7 +104,7 @@ PLAYERRECCE = {
|
|||||||
ClassName = "PLAYERRECCE",
|
ClassName = "PLAYERRECCE",
|
||||||
verbose = true,
|
verbose = true,
|
||||||
lid = nil,
|
lid = nil,
|
||||||
version = "0.0.17",
|
version = "0.0.18",
|
||||||
ViewZone = {},
|
ViewZone = {},
|
||||||
ViewZoneVisual = {},
|
ViewZoneVisual = {},
|
||||||
ViewZoneLaser = {},
|
ViewZoneLaser = {},
|
||||||
@ -807,6 +807,7 @@ function PLAYERRECCE:_SetClientLaserCode(client,group,playername,code)
|
|||||||
self.ClientMenus[playername]:Remove()
|
self.ClientMenus[playername]:Remove()
|
||||||
self.ClientMenus[playername]=nil
|
self.ClientMenus[playername]=nil
|
||||||
end
|
end
|
||||||
|
self:_BuildMenus()
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -829,6 +830,7 @@ function PLAYERRECCE:_SwitchOnStation(client,group,playername)
|
|||||||
self.ClientMenus[playername]:Remove()
|
self.ClientMenus[playername]:Remove()
|
||||||
self.ClientMenus[playername]=nil
|
self.ClientMenus[playername]=nil
|
||||||
end
|
end
|
||||||
|
self:_BuildMenus(client)
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -851,6 +853,7 @@ function PLAYERRECCE:_SwitchSmoke(client,group,playername)
|
|||||||
self.ClientMenus[playername]:Remove()
|
self.ClientMenus[playername]:Remove()
|
||||||
self.ClientMenus[playername]=nil
|
self.ClientMenus[playername]=nil
|
||||||
end
|
end
|
||||||
|
self:_BuildMenus(client)
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -873,6 +876,7 @@ function PLAYERRECCE:_SwitchLasing(client,group,playername)
|
|||||||
self.ClientMenus[playername]:Remove()
|
self.ClientMenus[playername]:Remove()
|
||||||
self.ClientMenus[playername]=nil
|
self.ClientMenus[playername]=nil
|
||||||
end
|
end
|
||||||
|
self:_BuildMenus(client)
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -902,6 +906,7 @@ function PLAYERRECCE:_SwitchLasingDist(client,group,playername,mindist,maxdist)
|
|||||||
self.ClientMenus[playername]:Remove()
|
self.ClientMenus[playername]:Remove()
|
||||||
self.ClientMenus[playername]=nil
|
self.ClientMenus[playername]=nil
|
||||||
end
|
end
|
||||||
|
self:_BuildMenus(client)
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -930,6 +935,8 @@ function PLAYERRECCE:_SmokeTargets(client,group,playername)
|
|||||||
|
|
||||||
if cameraset:CountAlive() > 0 then
|
if cameraset:CountAlive() > 0 then
|
||||||
self:__TargetsSmoked(-1,client,playername,cameraset)
|
self:__TargetsSmoked(-1,client,playername,cameraset)
|
||||||
|
else
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
local highsmoke = self.SmokeColor.highsmoke
|
local highsmoke = self.SmokeColor.highsmoke
|
||||||
@ -1068,7 +1075,7 @@ self:T(self.lid.."_ReportLaserTargets")
|
|||||||
if number > 0 and self.AutoLase[playername] then
|
if number > 0 and self.AutoLase[playername] then
|
||||||
local Settings = ( client and _DATABASE:GetPlayerSettings( playername ) ) or _SETTINGS
|
local Settings = ( client and _DATABASE:GetPlayerSettings( playername ) ) or _SETTINGS
|
||||||
local target = self:_GetHVTTarget(targetset) -- the one we're lasing
|
local target = self:_GetHVTTarget(targetset) -- the one we're lasing
|
||||||
local ThreatLevel = target:GetThreatLevel()
|
local ThreatLevel = target:GetThreatLevel() or 1
|
||||||
local ThreatLevelText = "high"
|
local ThreatLevelText = "high"
|
||||||
if ThreatLevel > 3 and ThreatLevel < 8 then
|
if ThreatLevel > 3 and ThreatLevel < 8 then
|
||||||
ThreatLevelText = "medium"
|
ThreatLevelText = "medium"
|
||||||
@ -1078,7 +1085,7 @@ self:T(self.lid.."_ReportLaserTargets")
|
|||||||
local ThreatGraph = "[" .. string.rep( "■", ThreatLevel ) .. string.rep( "□", 10 - ThreatLevel ) .. "]: "..ThreatLevel
|
local ThreatGraph = "[" .. string.rep( "■", ThreatLevel ) .. string.rep( "□", 10 - ThreatLevel ) .. "]: "..ThreatLevel
|
||||||
local report = REPORT:New("Lasing Report")
|
local report = REPORT:New("Lasing Report")
|
||||||
report:Add(string.rep("-",15))
|
report:Add(string.rep("-",15))
|
||||||
report:Add("Target type: "..target:GetTypeName())
|
report:Add("Target type: "..target:GetTypeName() or "unknown")
|
||||||
report:Add("Threat Level: "..ThreatGraph.." ("..ThreatLevelText..")")
|
report:Add("Threat Level: "..ThreatGraph.." ("..ThreatLevelText..")")
|
||||||
if not self.ReferencePoint then
|
if not self.ReferencePoint then
|
||||||
report:Add("Location: "..client:GetCoordinate():ToStringBULLS(self.Coalition,Settings))
|
report:Add("Location: "..client:GetCoordinate():ToStringBULLS(self.Coalition,Settings))
|
||||||
@ -1088,14 +1095,14 @@ self:T(self.lid.."_ReportLaserTargets")
|
|||||||
report:Add("Laser Code: "..self.UnitLaserCodes[playername] or 1688)
|
report:Add("Laser Code: "..self.UnitLaserCodes[playername] or 1688)
|
||||||
report:Add(string.rep("-",15))
|
report:Add(string.rep("-",15))
|
||||||
local text = report:Text()
|
local text = report:Text()
|
||||||
self:__TargetReport(-1,client,targetset,target,text)
|
self:__TargetReport(1,client,targetset,target,text)
|
||||||
else
|
else
|
||||||
local report = REPORT:New("Lasing Report")
|
local report = REPORT:New("Lasing Report")
|
||||||
report:Add(string.rep("-",15))
|
report:Add(string.rep("-",15))
|
||||||
report:Add("N O T A R G E T S")
|
report:Add("N O T A R G E T S")
|
||||||
report:Add(string.rep("-",15))
|
report:Add(string.rep("-",15))
|
||||||
local text = report:Text()
|
local text = report:Text()
|
||||||
self:__TargetReport(-1,client,nil,nil,text)
|
self:__TargetReport(1,client,nil,nil,text)
|
||||||
end
|
end
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
@ -1130,25 +1137,27 @@ function PLAYERRECCE:_ReportVisualTargets(client,group,playername)
|
|||||||
end
|
end
|
||||||
report:Add(string.rep("-",15))
|
report:Add(string.rep("-",15))
|
||||||
local text = report:Text()
|
local text = report:Text()
|
||||||
self:__TargetReport(-1,client,targetset,nil,text)
|
self:__TargetReport(1,client,targetset,nil,text)
|
||||||
else
|
else
|
||||||
local report = REPORT:New("Target Report")
|
local report = REPORT:New("Target Report")
|
||||||
report:Add(string.rep("-",15))
|
report:Add(string.rep("-",15))
|
||||||
report:Add("N O T A R G E T S")
|
report:Add("N O T A R G E T S")
|
||||||
report:Add(string.rep("-",15))
|
report:Add(string.rep("-",15))
|
||||||
local text = report:Text()
|
local text = report:Text()
|
||||||
self:__TargetReport(-1,client,nil,nil,text)
|
self:__TargetReport(1,client,nil,nil,text)
|
||||||
end
|
end
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- [Internal]
|
--- [Internal] Build Menus
|
||||||
-- @param #PLAYERRECCE self
|
-- @param #PLAYERRECCE self
|
||||||
-- @param #PLAYERRECCE self
|
-- @param Wrapper.Client#CLIENT Client (optional) Client object
|
||||||
function PLAYERRECCE:_BuildMenus()
|
-- @return #PLAYERRECCE self
|
||||||
|
function PLAYERRECCE:_BuildMenus(Client)
|
||||||
self:T(self.lid.."_BuildMenus")
|
self:T(self.lid.."_BuildMenus")
|
||||||
local clients = self.PlayerSet -- Core.Set#SET_CLIENT
|
local clients = self.PlayerSet -- Core.Set#SET_CLIENT
|
||||||
local clientset = clients:GetSetObjects()
|
local clientset = clients:GetSetObjects()
|
||||||
|
if Client then clientset = {Client} end
|
||||||
for _,_client in pairs(clientset) do
|
for _,_client in pairs(clientset) do
|
||||||
local client = _client -- Wrapper.Client#CLIENT
|
local client = _client -- Wrapper.Client#CLIENT
|
||||||
if client and client:IsAlive() then
|
if client and client:IsAlive() then
|
||||||
@ -1156,7 +1165,7 @@ function PLAYERRECCE:_BuildMenus()
|
|||||||
if not self.UnitLaserCodes[playername] then
|
if not self.UnitLaserCodes[playername] then
|
||||||
self:_SetClientLaserCode(nil,nil,playername,1688)
|
self:_SetClientLaserCode(nil,nil,playername,1688)
|
||||||
end
|
end
|
||||||
if not self.SmokeOwn[playername] then
|
if self.SmokeOwn[playername] == nil then
|
||||||
self.SmokeOwn[playername] = self.smokeownposition
|
self.SmokeOwn[playername] = self.smokeownposition
|
||||||
end
|
end
|
||||||
local group = client:GetGroup()
|
local group = client:GetGroup()
|
||||||
@ -1919,7 +1928,7 @@ function PLAYERRECCE:onafterTargetReport(From, Event, To, Client, TargetSet, Tar
|
|||||||
-- send message to AttackSet
|
-- send message to AttackSet
|
||||||
for _,_client in pairs(self.AttackSet.Set) do
|
for _,_client in pairs(self.AttackSet.Set) do
|
||||||
local client = _client -- Wrapper.Client#CLIENT
|
local client = _client -- Wrapper.Client#CLIENT
|
||||||
if client and client:IsAlive() then
|
if client and client:IsAlive() and client ~= Client then
|
||||||
MESSAGE:New(Text,45,self.Name or "FACA"):ToClient(client)
|
MESSAGE:New(Text,45,self.Name or "FACA"):ToClient(client)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user