@jtff/miztemplate-lib 3.4.5 → 3.4.6
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 +36 -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
|
|
@@ -95,8 +100,9 @@ function startCapWarZone(objCapWarZone)
|
|
|
95
100
|
CapZone = objCapWarZone.objZone
|
|
96
101
|
end
|
|
97
102
|
end
|
|
103
|
+
jtff_log.info(string.format("Assigned Squadron %s to %s patrol Zone...", CAPSquadronName, CapZone.GetName()),"CAP_WAR_ZONE")
|
|
98
104
|
objCapWarZone.objDispatcher:SetSquadronCap(
|
|
99
|
-
|
|
105
|
+
CAPSquadronName,
|
|
100
106
|
CapZone,
|
|
101
107
|
UTILS.FeetToMeters(objCapWarZone.customconfig.capParameters.patrolFloor) or UTILS.FeetToMeters(20000),
|
|
102
108
|
UTILS.FeetToMeters(objCapWarZone.customconfig.capParameters.patrolCeiling) or UTILS.FeetToMeters(50000),
|
|
@@ -106,8 +112,9 @@ function startCapWarZone(objCapWarZone)
|
|
|
106
112
|
UTILS.KnotsToKmph(objCapWarZone.customconfig.capParameters.maxEngageSpeed) or UTILS.KnotsToKmph(2000),
|
|
107
113
|
"BARO"
|
|
108
114
|
)
|
|
115
|
+
jtff_log.info(string.format("start CAP Squadron %s (%s)...", CAPSquadronName, capsqnconfig.groupName),"CAP_WAR_ZONE")
|
|
109
116
|
objCapWarZone.objDispatcher:SetSquadronCapInterval(
|
|
110
|
-
|
|
117
|
+
CAPSquadronName,
|
|
111
118
|
capsqnconfig.patrolInAirNumber,
|
|
112
119
|
8*60,
|
|
113
120
|
13*60,
|
|
@@ -117,23 +124,40 @@ function startCapWarZone(objCapWarZone)
|
|
|
117
124
|
end
|
|
118
125
|
for indexinterceptsqn, interceptsqnconfig in ipairs(capbaseconfig.interceptSquadrons) do
|
|
119
126
|
if interceptsqnconfig.enable then
|
|
127
|
+
local interceptSquadronName = "GCI-"..capbaseconfig.baseName.."-"..indexinterceptsqn
|
|
128
|
+
jtff_log.info(string.format("Activating GCI Squadron %s (based on %s) at %s...", interceptSquadronName, interceptsqnconfig.groupName, capbaseconfig.baseName),"CAP_WAR_ZONE")
|
|
120
129
|
if AIRBASE:FindByName(capbaseconfig.baseName) then
|
|
121
130
|
--baseName is Airbase
|
|
122
131
|
objCapWarZone.objDispatcher:SetSquadron(
|
|
123
|
-
|
|
132
|
+
interceptSquadronName,
|
|
124
133
|
capbaseconfig.baseName,
|
|
125
134
|
interceptsqnconfig.groupName,
|
|
126
|
-
interceptsqnconfig.groupNumber
|
|
135
|
+
interceptsqnconfig.groupNumber * interceptsqnconfig.groupForce
|
|
127
136
|
)
|
|
128
137
|
objCapWarZone.objDispatcher:SetSquadronGrouping(
|
|
129
|
-
|
|
138
|
+
interceptSquadronName,
|
|
130
139
|
interceptsqnconfig.groupForce
|
|
131
140
|
)
|
|
132
141
|
else
|
|
133
142
|
--baseName is not an Airbase --> Airstart
|
|
143
|
+
objCapWarZone.objDispatcher:SetSquadron(
|
|
144
|
+
interceptSquadronName,
|
|
145
|
+
capbaseconfig.baseName,
|
|
146
|
+
interceptsqnconfig.groupName,
|
|
147
|
+
interceptsqnconfig.groupNumber * interceptsqnconfig.groupForce
|
|
148
|
+
)
|
|
149
|
+
objCapWarZone.objDispatcher:SetSquadronGrouping(
|
|
150
|
+
interceptSquadronName,
|
|
151
|
+
interceptsqnconfig.groupForce
|
|
152
|
+
)
|
|
153
|
+
objCapWarZone.objDispatcher:SetSquadronTakeoffInAir(
|
|
154
|
+
interceptSquadronName,
|
|
155
|
+
UTILS.FeetToMeters(20000)
|
|
156
|
+
)
|
|
134
157
|
end
|
|
158
|
+
jtff_log.info(string.format("Assigned Squadron %s to GCI mission...", interceptSquadronName),"CAP_WAR_ZONE")
|
|
135
159
|
objCapWarZone.objDispatcher:SetSquadronGci(
|
|
136
|
-
|
|
160
|
+
interceptSquadronName,
|
|
137
161
|
UTILS.KnotsToKmph(objCapWarZone.customconfig.capParameters.minEngageSpeed) or UTILS.KnotsToKmph(200),
|
|
138
162
|
UTILS.KnotsToKmph(objCapWarZone.customconfig.capParameters.maxEngageSpeed) or UTILS.KnotsToKmph(5000)
|
|
139
163
|
)
|
|
@@ -162,7 +186,7 @@ MenuCoalitionCAPWarZone = MENU_MISSION:New("CAP War Zones", nil)
|
|
|
162
186
|
for index, capwarzoneconfig in ipairs(WarCAPConfig) do
|
|
163
187
|
if capwarzoneconfig.enable == true and #(capwarzoneconfig.ewrPrefixes) > 0 then
|
|
164
188
|
compteur = compteur + 1
|
|
165
|
-
|
|
189
|
+
jtff_log.info(string.format("%s Zone creation...", capwarzoneconfig.name),"CAP_WAR_ZONE")
|
|
166
190
|
objCapWarZone = {}
|
|
167
191
|
if capwarzoneconfig.borderZoneGroupName then
|
|
168
192
|
objCapWarZone.objZone = ZONE_POLYGON:New( capwarzoneconfig.borderZoneGroupName, GROUP:FindByName( capwarzoneconfig.borderZoneGroupName ) )
|