@jtff/miztemplate-lib 3.4.5 → 3.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lua/src/172-cap_zone_war.lua +42 -12
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ function toggleDebugCapWarZone(objCapWarZone)
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
function wipeCapWarZone(objCapWarZone)
|
|
9
|
+
jtff_log.info(string.format("%s Zone Stopping...", objCapWarZone.customconfig.name),"CAP_WAR_ZONE")
|
|
9
10
|
objCapWarZone.objDispatcher:SetTacticalDisplay(false)
|
|
10
11
|
objCapWarZone.objDispatcher:Stop()
|
|
11
12
|
objCapWarZone.objDispatcher = nil
|
|
@@ -21,6 +22,7 @@ function wipeCapWarZone(objCapWarZone)
|
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
function startCapWarZone(objCapWarZone)
|
|
25
|
+
jtff_log.info(string.format("%s Zone Starting...", objCapWarZone.customconfig.name),"CAP_WAR_ZONE")
|
|
24
26
|
objCapWarZone.objEWRNetwork = SET_GROUP:New()
|
|
25
27
|
objCapWarZone.objEWRNetwork:FilterPrefixes(objCapWarZone.customconfig.ewrPrefixes)
|
|
26
28
|
objCapWarZone.objEWRNetwork:FilterStart()
|
|
@@ -41,34 +43,37 @@ function startCapWarZone(objCapWarZone)
|
|
|
41
43
|
45*60
|
|
42
44
|
)
|
|
43
45
|
for indexbase, capbaseconfig in ipairs(objCapWarZone.customconfig.CAPBases) do
|
|
46
|
+
jtff_log.info(string.format("Activating all Squadrons stationed at %s...", capbaseconfig.baseName),"CAP_WAR_ZONE")
|
|
44
47
|
for indexcapsqn, capsqnconfig in ipairs(capbaseconfig.patrolSquadrons) do
|
|
48
|
+
local CAPSquadronName = "CAP-"..capbaseconfig.baseName.."-"..indexcapsqn
|
|
45
49
|
if capsqnconfig.enable then
|
|
50
|
+
jtff_log.info(string.format("Activating CAP Squadron %s (based on %s) at %s...", CAPSquadronName, capsqnconfig.groupName, capbaseconfig.baseName),"CAP_WAR_ZONE")
|
|
46
51
|
if AIRBASE:FindByName(capbaseconfig.baseName) then
|
|
47
52
|
--baseName is Airbase
|
|
48
53
|
objCapWarZone.objDispatcher:SetSquadron(
|
|
49
|
-
|
|
54
|
+
CAPSquadronName,
|
|
50
55
|
capbaseconfig.baseName,
|
|
51
56
|
capsqnconfig.groupName,
|
|
52
57
|
capsqnconfig.groupNumber * capsqnconfig.groupForce
|
|
53
58
|
)
|
|
54
59
|
objCapWarZone.objDispatcher:SetSquadronGrouping(
|
|
55
|
-
|
|
60
|
+
CAPSquadronName,
|
|
56
61
|
capsqnconfig.groupForce
|
|
57
62
|
)
|
|
58
63
|
else
|
|
59
64
|
--baseName is not an Airbase --> Airstart
|
|
60
65
|
objCapWarZone.objDispatcher:SetSquadron(
|
|
61
|
-
|
|
66
|
+
CAPSquadronName,
|
|
62
67
|
capbaseconfig.baseName,
|
|
63
68
|
capsqnconfig.groupName,
|
|
64
69
|
capsqnconfig.groupNumber * capsqnconfig.groupForce
|
|
65
70
|
)
|
|
66
71
|
objCapWarZone.objDispatcher:SetSquadronGrouping(
|
|
67
|
-
|
|
72
|
+
CAPSquadronName,
|
|
68
73
|
capsqnconfig.groupForce
|
|
69
74
|
)
|
|
70
75
|
objCapWarZone.objDispatcher:SetSquadronTakeoffInAir(
|
|
71
|
-
|
|
76
|
+
CAPSquadronName,
|
|
72
77
|
UTILS.FeetToMeters(20000)
|
|
73
78
|
)
|
|
74
79
|
end
|
|
@@ -82,21 +87,28 @@ function startCapWarZone(objCapWarZone)
|
|
|
82
87
|
unit:OptionROT(ENUMS.ROT.EvadeFire)
|
|
83
88
|
end
|
|
84
89
|
local CapZone = nil
|
|
90
|
+
local CapZoneName = nil
|
|
85
91
|
if capsqnconfig.patrolZoneName then
|
|
86
92
|
if capsqnconfig.patrolZoneGroupName then
|
|
87
93
|
CapZone = ZONE_POLYGON:New(capsqnconfig.patrolZoneGroupName, GROUP:FindByName(capsqnconfig.patrolZoneGroupName))
|
|
94
|
+
CapZoneName = capsqnconfig.patrolZoneGroupName
|
|
88
95
|
else
|
|
89
96
|
CapZone = ZONE:New(capsqnconfig.patrolZoneName)
|
|
97
|
+
CapZoneName = capsqnconfig.patrolZoneName
|
|
90
98
|
end
|
|
91
99
|
else
|
|
92
100
|
if capsqnconfig.patrolZoneGroupName then
|
|
93
101
|
CapZone = ZONE_POLYGON:New(capsqnconfig.patrolZoneGroupName, GROUP:FindByName(capsqnconfig.patrolZoneGroupName))
|
|
102
|
+
CapZoneName = capsqnconfig.patrolZoneGroupName
|
|
94
103
|
else
|
|
95
104
|
CapZone = objCapWarZone.objZone
|
|
105
|
+
--CapZoneName = objCapWarZone.objZone:GetName()
|
|
106
|
+
CapZoneName = "unknown"
|
|
96
107
|
end
|
|
97
108
|
end
|
|
109
|
+
jtff_log.info(string.format("Assigned Squadron %s to %s patrol Zone...", CAPSquadronName, CapZoneName),"CAP_WAR_ZONE")
|
|
98
110
|
objCapWarZone.objDispatcher:SetSquadronCap(
|
|
99
|
-
|
|
111
|
+
CAPSquadronName,
|
|
100
112
|
CapZone,
|
|
101
113
|
UTILS.FeetToMeters(objCapWarZone.customconfig.capParameters.patrolFloor) or UTILS.FeetToMeters(20000),
|
|
102
114
|
UTILS.FeetToMeters(objCapWarZone.customconfig.capParameters.patrolCeiling) or UTILS.FeetToMeters(50000),
|
|
@@ -106,8 +118,9 @@ function startCapWarZone(objCapWarZone)
|
|
|
106
118
|
UTILS.KnotsToKmph(objCapWarZone.customconfig.capParameters.maxEngageSpeed) or UTILS.KnotsToKmph(2000),
|
|
107
119
|
"BARO"
|
|
108
120
|
)
|
|
121
|
+
jtff_log.info(string.format("start CAP Squadron %s (%s)...", CAPSquadronName, capsqnconfig.groupName),"CAP_WAR_ZONE")
|
|
109
122
|
objCapWarZone.objDispatcher:SetSquadronCapInterval(
|
|
110
|
-
|
|
123
|
+
CAPSquadronName,
|
|
111
124
|
capsqnconfig.patrolInAirNumber,
|
|
112
125
|
8*60,
|
|
113
126
|
13*60,
|
|
@@ -117,23 +130,40 @@ function startCapWarZone(objCapWarZone)
|
|
|
117
130
|
end
|
|
118
131
|
for indexinterceptsqn, interceptsqnconfig in ipairs(capbaseconfig.interceptSquadrons) do
|
|
119
132
|
if interceptsqnconfig.enable then
|
|
133
|
+
local interceptSquadronName = "GCI-"..capbaseconfig.baseName.."-"..indexinterceptsqn
|
|
134
|
+
jtff_log.info(string.format("Activating GCI Squadron %s (based on %s) at %s...", interceptSquadronName, interceptsqnconfig.groupName, capbaseconfig.baseName),"CAP_WAR_ZONE")
|
|
120
135
|
if AIRBASE:FindByName(capbaseconfig.baseName) then
|
|
121
136
|
--baseName is Airbase
|
|
122
137
|
objCapWarZone.objDispatcher:SetSquadron(
|
|
123
|
-
|
|
138
|
+
interceptSquadronName,
|
|
124
139
|
capbaseconfig.baseName,
|
|
125
140
|
interceptsqnconfig.groupName,
|
|
126
|
-
interceptsqnconfig.groupNumber
|
|
141
|
+
interceptsqnconfig.groupNumber * interceptsqnconfig.groupForce
|
|
127
142
|
)
|
|
128
143
|
objCapWarZone.objDispatcher:SetSquadronGrouping(
|
|
129
|
-
|
|
144
|
+
interceptSquadronName,
|
|
130
145
|
interceptsqnconfig.groupForce
|
|
131
146
|
)
|
|
132
147
|
else
|
|
133
148
|
--baseName is not an Airbase --> Airstart
|
|
149
|
+
objCapWarZone.objDispatcher:SetSquadron(
|
|
150
|
+
interceptSquadronName,
|
|
151
|
+
capbaseconfig.baseName,
|
|
152
|
+
interceptsqnconfig.groupName,
|
|
153
|
+
interceptsqnconfig.groupNumber * interceptsqnconfig.groupForce
|
|
154
|
+
)
|
|
155
|
+
objCapWarZone.objDispatcher:SetSquadronGrouping(
|
|
156
|
+
interceptSquadronName,
|
|
157
|
+
interceptsqnconfig.groupForce
|
|
158
|
+
)
|
|
159
|
+
objCapWarZone.objDispatcher:SetSquadronTakeoffInAir(
|
|
160
|
+
interceptSquadronName,
|
|
161
|
+
UTILS.FeetToMeters(20000)
|
|
162
|
+
)
|
|
134
163
|
end
|
|
164
|
+
jtff_log.info(string.format("Assigned Squadron %s to GCI mission...", interceptSquadronName),"CAP_WAR_ZONE")
|
|
135
165
|
objCapWarZone.objDispatcher:SetSquadronGci(
|
|
136
|
-
|
|
166
|
+
interceptSquadronName,
|
|
137
167
|
UTILS.KnotsToKmph(objCapWarZone.customconfig.capParameters.minEngageSpeed) or UTILS.KnotsToKmph(200),
|
|
138
168
|
UTILS.KnotsToKmph(objCapWarZone.customconfig.capParameters.maxEngageSpeed) or UTILS.KnotsToKmph(5000)
|
|
139
169
|
)
|
|
@@ -162,7 +192,7 @@ MenuCoalitionCAPWarZone = MENU_MISSION:New("CAP War Zones", nil)
|
|
|
162
192
|
for index, capwarzoneconfig in ipairs(WarCAPConfig) do
|
|
163
193
|
if capwarzoneconfig.enable == true and #(capwarzoneconfig.ewrPrefixes) > 0 then
|
|
164
194
|
compteur = compteur + 1
|
|
165
|
-
|
|
195
|
+
jtff_log.info(string.format("%s Zone creation...", capwarzoneconfig.name),"CAP_WAR_ZONE")
|
|
166
196
|
objCapWarZone = {}
|
|
167
197
|
if capwarzoneconfig.borderZoneGroupName then
|
|
168
198
|
objCapWarZone.objZone = ZONE_POLYGON:New( capwarzoneconfig.borderZoneGroupName, GROUP:FindByName( capwarzoneconfig.borderZoneGroupName ) )
|