diff --git a/Core/Beacon/010-Beacons/RAD-010-Beacons.miz b/Core/Beacon/010-Beacons/RAD-010-Beacons.miz index f48c44b..e8ebdf1 100644 Binary files a/Core/Beacon/010-Beacons/RAD-010-Beacons.miz and b/Core/Beacon/010-Beacons/RAD-010-Beacons.miz differ diff --git a/Core/Menu/001-Menu-Mission/MEN-001-Menu-Mission.miz b/Core/Menu/001-Menu-Mission/MEN-001-Menu-Mission.miz index f0b473c..73cb091 100644 Binary files a/Core/Menu/001-Menu-Mission/MEN-001-Menu-Mission.miz and b/Core/Menu/001-Menu-Mission/MEN-001-Menu-Mission.miz differ diff --git a/Core/Menu/002-Menu-Coalition/MEN-002-Menu-Coalition.miz b/Core/Menu/002-Menu-Coalition/MEN-002-Menu-Coalition.miz index a54c9ed..ea926cf 100644 Binary files a/Core/Menu/002-Menu-Coalition/MEN-002-Menu-Coalition.miz and b/Core/Menu/002-Menu-Coalition/MEN-002-Menu-Coalition.miz differ diff --git a/Core/Menu/003-Menu-Group/MEN-003-Menu-Group.miz b/Core/Menu/003-Menu-Group/MEN-003-Menu-Group.miz index 02415af..481b800 100644 Binary files a/Core/Menu/003-Menu-Group/MEN-003-Menu-Group.miz and b/Core/Menu/003-Menu-Group/MEN-003-Menu-Group.miz differ diff --git a/Core/Menu/012-Menu-Coalition-add-and-remove/MEN-012-Menu-Coalition-add-and-remove.miz b/Core/Menu/012-Menu-Coalition-add-and-remove/MEN-012-Menu-Coalition-add-and-remove.miz index 0fd64cb..c41b2fd 100644 Binary files a/Core/Menu/012-Menu-Coalition-add-and-remove/MEN-012-Menu-Coalition-add-and-remove.miz and b/Core/Menu/012-Menu-Coalition-add-and-remove/MEN-012-Menu-Coalition-add-and-remove.miz differ diff --git a/Core/Menu/013-Menu-Group-add-and-remove/MEN-013-Menu-Group-add-and-remove.miz b/Core/Menu/013-Menu-Group-add-and-remove/MEN-013-Menu-Group-add-and-remove.miz index e855d4c..a089f4b 100644 Binary files a/Core/Menu/013-Menu-Group-add-and-remove/MEN-013-Menu-Group-add-and-remove.miz and b/Core/Menu/013-Menu-Group-add-and-remove/MEN-013-Menu-Group-add-and-remove.miz differ diff --git a/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.lua b/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.lua index 12b1eb1..ed006bd 100644 --- a/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.lua +++ b/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.lua @@ -1,87 +1,87 @@ ---- --- Author: FlightControl --- Created: 07.04.2021 --- Contributors: kaltokri --- Modified: 18.05.2024 --- --- # Documentation: --- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Menu.html --- --- # Description: --- --- This demo creates a menu structure to dynamically add menus for different groups of planes and coalition. --- It shows how to create a flexible menu structure and how to remove or add entries to it. --- --- # Guide: --- --- To test this mission join the planes, look at the radio menus (option F10). --- Call all "Generate ... Menus" multiple times. --- Switch planes and coalition to check the menu. --- And test also the Remove menu options. - - --- Create a table to save each menu entry in it. --- This will allow us to remove them easily later on. -TestMenus = {} - --- A table to transform the coalition.side from object to text. -local CoalitionText = { - [coalition.side.BLUE] = "BLUE", - [coalition.side.RED] = "RED", -} - --- Simple function to show a message. --- This is a placeholder to start the real mission. -local function MenuMessage( Text, Parameter ) - MESSAGE:NewType( Text .. Parameter, MESSAGE.Type.Information ):ToAll() -end - --- Function to remove a menu entry. -local function MenuRemove(m) - TestMenus[m]:Remove() -end - --- Function to generate a mission menu, visible for both sides -local function GenerateMissionMenu() - - -- Get number of table entries and increase it to append new ones. - local m = #TestMenus+1 - - -- Add top menu entry - TestMenus[m] = MENU_MISSION:New( "Menu Mission "..m ) - - -- Generate sub menu entries for 8 sub mission. - for n = 1, 8 do - local MenuMissionCommand = MENU_MISSION_COMMAND:New( "Show Mission "..m.."."..n, TestMenus[m], MenuMessage, "Mission ", m.."."..n) - end - - -- Add an entry to remove the this sub menu entries. - local MenuMissionRemoveCommand = MENU_MISSION_COMMAND:New( "Remove Mission "..m, TestMenus[m], MenuRemove, m) -end - --- Function to generate a Coalition menu, visible for one sides, given as paramenter -local function GenerateCoalitionMenu( Coalition ) - - -- Get number of table entries and increase it to append new ones. - local m = #TestMenus+1 - - -- Add top menu entry - TestMenus[m] = MENU_COALITION:New( Coalition, "Menu Coalition "..CoalitionText[Coalition].." ".. m ) - - -- Generate sub menu entries for 8 sub mission. - for n = 1, 8 do - local MenuMissionCommand = MENU_COALITION_COMMAND:New( Coalition, "Show Coalition "..CoalitionText[Coalition].." "..m.."."..n, TestMenus[m], MenuMessage, "Coalition ", CoalitionText[Coalition].." "..m.."."..n) - end - - -- Add an entry to remove the this sub menu entries. - local MenuMissionRemoveCommand = MENU_COALITION_COMMAND:New( Coalition, "Remove Coalition "..CoalitionText[Coalition].." "..m, TestMenus[m], MenuRemove, m) -end - --- Create a MENU_MISSION root entry -Menu = MENU_MISSION:New( "Generate Menus" ) - --- First entry will generate a top level menu entry of type mission menu, which is visible for all. --- Second and third will generate coalition specific entries. -local MenuMission = MENU_MISSION_COMMAND:New( "Generate Mission Menus", Menu, GenerateMissionMenu ) -local MenuCoalitionBlue = MENU_MISSION_COMMAND:New( "Generate Blue Coalition Menus", Menu, GenerateCoalitionMenu, coalition.side.BLUE ) -local MenucoalitionRed = MENU_MISSION_COMMAND:New( "Generate Red Coalition Menus", Menu, GenerateCoalitionMenu, coalition.side.RED ) +--- +-- Author: FlightControl +-- Created: 07.04.2021 +-- Contributors: kaltokri +-- Modified: 18.05.2024 +-- +-- # Documentation: +-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Menu.html +-- +-- # Description: +-- +-- This demo creates a menu structure to dynamically add menus for different groups of planes and coalition. +-- It shows how to create a flexible menu structure and how to remove or add entries to it. +-- +-- # Guide: +-- +-- To test this mission join the planes, look at the radio menus (option F10). +-- Call all "Generate ... Menus" multiple times. +-- Switch planes and coalition to check the menu. +-- And test also the Remove menu options. + + +-- Create a table to save each menu entry in it. +-- This will allow us to remove them easily later on. +TestMenus = {} + +-- A table to transform the coalition.side from object to text. +local CoalitionText = { + [coalition.side.BLUE] = "BLUE", + [coalition.side.RED] = "RED", +} + +-- Simple function to show a message. +-- This is a placeholder to start the real mission. +local function MenuMessage( Text, Parameter ) + MESSAGE:NewType( Text .. Parameter, MESSAGE.Type.Information ):ToAll() +end + +-- Function to remove a menu entry. +local function MenuRemove(m) + TestMenus[m]:Remove() +end + +-- Function to generate a mission menu, visible for both sides +local function GenerateMissionMenu() + + -- Get number of table entries and increase it to append new ones. + local m = #TestMenus+1 + + -- Add top menu entry + TestMenus[m] = MENU_MISSION:New( "Menu Mission "..m ) + + -- Generate sub menu entries for 8 sub mission. + for n = 1, 8 do + local MenuMissionCommand = MENU_MISSION_COMMAND:New( "Show Mission "..m.."."..n, TestMenus[m], MenuMessage, "Mission ", m.."."..n) + end + + -- Add an entry to remove the this sub menu entries. + local MenuMissionRemoveCommand = MENU_MISSION_COMMAND:New( "Remove Mission "..m, TestMenus[m], MenuRemove, m) +end + +-- Function to generate a Coalition menu, visible for one sides, given as paramenter +local function GenerateCoalitionMenu( Coalition ) + + -- Get number of table entries and increase it to append new ones. + local m = #TestMenus+1 + + -- Add top menu entry + TestMenus[m] = MENU_COALITION:New( Coalition, "Menu Coalition "..CoalitionText[Coalition].." ".. m ) + + -- Generate sub menu entries for 8 sub mission. + for n = 1, 8 do + local MenuMissionCommand = MENU_COALITION_COMMAND:New( Coalition, "Show Coalition "..CoalitionText[Coalition].." "..m.."."..n, TestMenus[m], MenuMessage, "Coalition ", CoalitionText[Coalition].." "..m.."."..n) + end + + -- Add an entry to remove the this sub menu entries. + local MenuMissionRemoveCommand = MENU_COALITION_COMMAND:New( Coalition, "Remove Coalition "..CoalitionText[Coalition].." "..m, TestMenus[m], MenuRemove, m) +end + +-- Create a MENU_MISSION root entry +Menu = MENU_MISSION:New( "Generate Menus" ) + +-- First entry will generate a top level menu entry of type mission menu, which is visible for all. +-- Second and third will generate coalition specific entries. +local MenuMission = MENU_MISSION_COMMAND:New( "Generate Mission Menus", Menu, GenerateMissionMenu ) +local MenuCoalitionBlue = MENU_MISSION_COMMAND:New( "Generate Blue Coalition Menus", Menu, GenerateCoalitionMenu, coalition.side.BLUE ) +local MenucoalitionRed = MENU_MISSION_COMMAND:New( "Generate Red Coalition Menus", Menu, GenerateCoalitionMenu, coalition.side.RED ) diff --git a/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.miz b/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.miz index 954cb0b..b89e3c8 100644 Binary files a/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.miz and b/Core/Menu/200-Menu-stress-test-1/MEN-200-Menu-stress-test-1.miz differ diff --git a/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.lua b/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.lua index e366feb..6d8285f 100644 --- a/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.lua +++ b/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.lua @@ -1,179 +1,179 @@ ---- --- Author: Saint185 --- Created: 21.11.2020 --- Contributors: kaltokri --- Modified: 18.05.2024 --- --- # Documentation: --- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Menu.html --- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Wrapper.Static.html --- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Point.html --- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Zone.html --- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Utilities.Utils.html --- --- # Description: --- --- This demo creates a menu structure to send messages with coordinates of targets to all players. --- The code can be optimized a lot. But it is an working example create by a moose user. --- --- # Guide: --- - Enter the slot TACTICAL CMDR. --- - Open radio menu F10 Other... --- - F1 TARGETCOORDS... --- - Choose target category and target. --- - See Message with the coordinates on the screen. - - -_SETTINGS:SetPlayerMenuOff() - --- Find the static EastAmmoDump defined in the Mission Editor. --- Get it's coordinate and save it for later use. --- Determine it's height and save it for later use. -local AmmoDumpEast = STATIC:FindByName( "AmmoDumpEast" ) -local AmmoDumpEastCOORD = AmmoDumpEast:GetCoordinate() --contains the LLDMS coordinates for JDAM -local AmmoDumpEastHeight = AmmoDumpEastCOORD:GetLandHeight() --gets the land height Bridge 32 from T1COORD - --- Do the same for AmmoDumpWest. -local AmmoDumpWest = STATIC:FindByName( "AmmoDumpWest" ) -local AmmoDumpWestCOORD = AmmoDumpWest:GetCoordinate() -local AmmoDumpWestHeight = AmmoDumpWestCOORD:GetLandHeight() - --- Do the same for AmmoDumpSouth. -local AmmoDumpSouth = STATIC:FindByName( "AmmoDumpSouth" ) -local AmmoDumpSouthCOORD = AmmoDumpSouth:GetCoordinate() -local AmmoDumpSouthHeight = AmmoDumpSouthCOORD:GetLandHeight() - --- Do the same for AmmoDumpNorth. -local AmmoDumpNorth = STATIC:FindByName( "AmmoDumpNorth" ) -local AmmoDumpNorthCOORD = AmmoDumpNorth:GetCoordinate() -local AmmoDumpNorthHeight = AmmoDumpNorthCOORD:GetLandHeight() - --- Zone placed on Bridges in ME. --- Get and safe it's data. -local Target_1 = ZONE:New( "Bridge32" ) -local T1COORD = Target_1:GetCoordinate() -- Contains the LLDMS coordinates for JDAM -local T1Height = T1COORD:GetLandHeight() -- Gets the land height Bridge 32 from T1COORD - -local Target_2 = ZONE:New( "Bridge33" ) -local T2COORD = Target_2:GetCoordinate() -local T2Height = T2COORD:GetLandHeight() - --- Do the same for Zones placed on some shelters. -local Target_3 = ZONE:New( "HardenedHanger33" ) -local T3COORD = Target_3:GetCoordinate() -local T3Height = T3COORD:GetLandHeight() - -local Target_4 = ZONE:New( "HardenedHanger34" ) -local T4COORD = Target_4:GetCoordinate() -local T4Height = T4COORD:GetLandHeight() - --- Gets LLDMS coord from Target 1(Bridge32p) using T1COORD:ToStringLLDMS() then assigns sections of the string to coordXy. -local function TARGET1(T1LLDMS) - local T1LLDMS = T1COORD:ToStringLLDMS() - local coordN1 = string.sub(T1LLDMS,9,10) -- Extracts a block of text from String T4LLDMS starting at location 9 ending at location 10 - local coordN2 = string.sub(T1LLDMS,13,20) -- Extracts a block of text from String T4LLDMS starting at location 13 ending at location 20 - local coordE1 = string.sub(T1LLDMS,26,27) -- Extracts a block of text from String T4LLDMS starting at location 26 ending at location 27 - local coordE2 = string.sub(T1LLDMS,30,37) -- Extracts a block of text from String T4LLDMS starting at location 30 ending at location 37 - local Heightft = UTILS.MetersToFeet(T1Height) -- Converts height in meters to feet - local T1Heightft = UTILS.Round(Heightft) -- Rounds the value to a whole number - MESSAGE:New("Bridge 32".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T1Heightft.." ft"), 50):ToAll() - return T1LLDMS -- Returns the argument for function TARGET1 -end - -local function TARGET2(T2LLDMS) - local T2LLDMS = T2COORD:ToStringLLDMS() - local coordN1 = string.sub(T2LLDMS,9,10) - local coordN2 = string.sub(T2LLDMS,13,20) - local coordE1 = string.sub(T2LLDMS,26,27) - local coordE2 = string.sub(T2LLDMS,30,37) - local Heightft = UTILS.MetersToFeet(T2Height) - local T2Heightft = UTILS.Round(Heightft) - MESSAGE:New("Bridge 33".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T2Heightft.." ft"), 50):ToAll() - return T2LLDMS -end - -local function TARGET3(T3LLDMS) - local T3LLDMS = T3COORD:ToStringLLDMS() - local coordN1 = string.sub(T3LLDMS,9,10) - local coordN2 = string.sub(T3LLDMS,13,20) - local coordE1 = string.sub(T3LLDMS,26,27) - local coordE2 = string.sub(T3LLDMS,30,37) - local Heightft = UTILS.MetersToFeet(T3Height) - local T3Heightft = UTILS.Round(Heightft) - MESSAGE:New("HardenedHanger 33".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T3Heightft.." ft"), 50):ToAll() - return T3LLDMS -end - -local function TARGET4(T4LLDMS) - local T4LLDMS = T4COORD:ToStringLLDMS() - local coordN1 = string.sub(T4LLDMS,9,10) - local coordN2 = string.sub(T4LLDMS,13,20) - local coordE1 = string.sub(T4LLDMS,26,27) - local coordE2 = string.sub(T4LLDMS,30,37) - local Heightft = UTILS.MetersToFeet(T4Height) - local T4Heightft = UTILS.Round(Heightft) - MESSAGE:New("HardenedHanger 34".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T4Heightft.." ft"), 50):ToAll() - return T4LLDMS -end - -local function TARGET5(T1LLDMS) - local T1LLDMS = AmmoDumpEastCOORD:ToStringLLDMS() - local coordN1 = string.sub(T1LLDMS,9,10) - local coordN2 = string.sub(T1LLDMS,13,20) - local coordE1 = string.sub(T1LLDMS,26,27) - local coordE2 = string.sub(T1LLDMS,30,37) - local Heightft = UTILS.MetersToFeet(AmmoDumpEastHeight) - local T1Heightft = UTILS.Round(Heightft) - MESSAGE:New("EastAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T1Heightft.." ft"), 50):ToAll() - return T1LLDMS -end - -local function TARGET6(T2LLDMS) - local T2LLDMS = AmmoDumpWestCOORD:ToStringLLDMS() - local coordN1 = string.sub(T2LLDMS,9,10) - local coordN2 = string.sub(T2LLDMS,13,20) - local coordE1 = string.sub(T2LLDMS,26,27) - local coordE2 = string.sub(T2LLDMS,30,37) - local Heightft = UTILS.MetersToFeet(AmmoDumpWestHeight) - local T2Heightft = UTILS.Round(Heightft) - MESSAGE:New("WestAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T2Heightft.." ft"), 50):ToAll() - return T2LLDMS -end - -local function TARGET7(T3LLDMS) - local T3LLDMS = AmmoDumpSouthCOORD:ToStringLLDMS() - local coordN1 = string.sub(T3LLDMS,9,10) - local coordN2 = string.sub(T3LLDMS,13,20) - local coordE1 = string.sub(T3LLDMS,26,27) - local coordE2 = string.sub(T3LLDMS,30,37) - local Heightft = UTILS.MetersToFeet(AmmoDumpSouthHeight) - local T3Heightft = UTILS.Round(Heightft) - MESSAGE:New("SouthAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T3Heightft.." ft"), 50):ToAll() - return T3LLDMS -end - -local function TARGET8(T4LLDMS) - local T4LLDMS = AmmoDumpNorthCOORD:ToStringLLDMS() - local coordN1 = string.sub(T4LLDMS,9,10) -- Extracts text from String T4LLDMS at location 9 to 10 - local coordN2 = string.sub(T4LLDMS,13,20) -- Extracts text from String T4LLDMS at location 13 to 20 - local coordE1 = string.sub(T4LLDMS,26,27) -- Extracts text from String T4LLDMS at location 26 to 27 - local coordE2 = string.sub(T4LLDMS,30,37) -- Extracts text from String T4LLDMS at location 30 to 37 - local Heightft = UTILS.MetersToFeet(AmmoDumpNorthHeight) -- Coverts height in meters to feet - local T4Heightft = UTILS.Round(Heightft) -- Rounds the value to a whole number - MESSAGE:New("NorthAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T4Heightft.." ft"), 50):ToAll() - return T4LLDMS -end - ---Coordinates Menu -Level1 = MENU_MISSION:New( "TARGETCOORDS" ) -- Top level Menu all targets are assigned to this master menu -Level2_1 = MENU_MISSION:New( "BRIDGE", Level1 ) -- Level 2 Contains Target groups -Level2_2 = MENU_MISSION:New( "AMMO DUMP", Level1 ) -Level2_3 = MENU_MISSION:New( "HARDENED SHELTER", Level1 ) -Menu1 = MENU_MISSION_COMMAND:New("Bridge 32", Level2_1, TARGET1) -- Level 3 contains Target group coordinates -Menu2 = MENU_MISSION_COMMAND:New("Bridge 33", Level2_1, TARGET2) -Menu3 = MENU_MISSION_COMMAND:New("HardenedHanger 33", Level2_3, TARGET3) -- Text displayed HardenedHanger 33, select Menu position, function to call(local function TARGET3(T3LLDMS)) -Menu4 = MENU_MISSION_COMMAND:New("HardenedHanger 34", Level2_3, TARGET4) -Menu5 = MENU_MISSION_COMMAND:New("AmmoDumpEast", Level2_2, TARGET5) -Menu6 = MENU_MISSION_COMMAND:New("AmmoDumpWest", Level2_2, TARGET6) -Menu7 = MENU_MISSION_COMMAND:New("AmmoDumpSouth", Level2_2, TARGET7) -Menu8 = MENU_MISSION_COMMAND:New("AmmoDumpNorth", Level2_2, TARGET8) +--- +-- Author: Saint185 +-- Created: 21.11.2020 +-- Contributors: kaltokri +-- Modified: 18.05.2024 +-- +-- # Documentation: +-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Menu.html +-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Wrapper.Static.html +-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Point.html +-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Zone.html +-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Utilities.Utils.html +-- +-- # Description: +-- +-- This demo creates a menu structure to send messages with coordinates of targets to all players. +-- The code can be optimized a lot. But it is an working example create by a moose user. +-- +-- # Guide: +-- - Enter the slot TACTICAL CMDR. +-- - Open radio menu F10 Other... +-- - F1 TARGETCOORDS... +-- - Choose target category and target. +-- - See Message with the coordinates on the screen. + + +_SETTINGS:SetPlayerMenuOff() + +-- Find the static EastAmmoDump defined in the Mission Editor. +-- Get it's coordinate and save it for later use. +-- Determine it's height and save it for later use. +local AmmoDumpEast = STATIC:FindByName( "AmmoDumpEast" ) +local AmmoDumpEastCOORD = AmmoDumpEast:GetCoordinate() --contains the LLDMS coordinates for JDAM +local AmmoDumpEastHeight = AmmoDumpEastCOORD:GetLandHeight() --gets the land height Bridge 32 from T1COORD + +-- Do the same for AmmoDumpWest. +local AmmoDumpWest = STATIC:FindByName( "AmmoDumpWest" ) +local AmmoDumpWestCOORD = AmmoDumpWest:GetCoordinate() +local AmmoDumpWestHeight = AmmoDumpWestCOORD:GetLandHeight() + +-- Do the same for AmmoDumpSouth. +local AmmoDumpSouth = STATIC:FindByName( "AmmoDumpSouth" ) +local AmmoDumpSouthCOORD = AmmoDumpSouth:GetCoordinate() +local AmmoDumpSouthHeight = AmmoDumpSouthCOORD:GetLandHeight() + +-- Do the same for AmmoDumpNorth. +local AmmoDumpNorth = STATIC:FindByName( "AmmoDumpNorth" ) +local AmmoDumpNorthCOORD = AmmoDumpNorth:GetCoordinate() +local AmmoDumpNorthHeight = AmmoDumpNorthCOORD:GetLandHeight() + +-- Zone placed on Bridges in ME. +-- Get and safe it's data. +local Target_1 = ZONE:New( "Bridge32" ) +local T1COORD = Target_1:GetCoordinate() -- Contains the LLDMS coordinates for JDAM +local T1Height = T1COORD:GetLandHeight() -- Gets the land height Bridge 32 from T1COORD + +local Target_2 = ZONE:New( "Bridge33" ) +local T2COORD = Target_2:GetCoordinate() +local T2Height = T2COORD:GetLandHeight() + +-- Do the same for Zones placed on some shelters. +local Target_3 = ZONE:New( "HardenedHanger33" ) +local T3COORD = Target_3:GetCoordinate() +local T3Height = T3COORD:GetLandHeight() + +local Target_4 = ZONE:New( "HardenedHanger34" ) +local T4COORD = Target_4:GetCoordinate() +local T4Height = T4COORD:GetLandHeight() + +-- Gets LLDMS coord from Target 1(Bridge32p) using T1COORD:ToStringLLDMS() then assigns sections of the string to coordXy. +local function TARGET1(T1LLDMS) + local T1LLDMS = T1COORD:ToStringLLDMS() + local coordN1 = string.sub(T1LLDMS,9,10) -- Extracts a block of text from String T4LLDMS starting at location 9 ending at location 10 + local coordN2 = string.sub(T1LLDMS,13,20) -- Extracts a block of text from String T4LLDMS starting at location 13 ending at location 20 + local coordE1 = string.sub(T1LLDMS,26,27) -- Extracts a block of text from String T4LLDMS starting at location 26 ending at location 27 + local coordE2 = string.sub(T1LLDMS,30,37) -- Extracts a block of text from String T4LLDMS starting at location 30 ending at location 37 + local Heightft = UTILS.MetersToFeet(T1Height) -- Converts height in meters to feet + local T1Heightft = UTILS.Round(Heightft) -- Rounds the value to a whole number + MESSAGE:New("Bridge 32".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T1Heightft.." ft"), 50):ToAll() + return T1LLDMS -- Returns the argument for function TARGET1 +end + +local function TARGET2(T2LLDMS) + local T2LLDMS = T2COORD:ToStringLLDMS() + local coordN1 = string.sub(T2LLDMS,9,10) + local coordN2 = string.sub(T2LLDMS,13,20) + local coordE1 = string.sub(T2LLDMS,26,27) + local coordE2 = string.sub(T2LLDMS,30,37) + local Heightft = UTILS.MetersToFeet(T2Height) + local T2Heightft = UTILS.Round(Heightft) + MESSAGE:New("Bridge 33".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T2Heightft.." ft"), 50):ToAll() + return T2LLDMS +end + +local function TARGET3(T3LLDMS) + local T3LLDMS = T3COORD:ToStringLLDMS() + local coordN1 = string.sub(T3LLDMS,9,10) + local coordN2 = string.sub(T3LLDMS,13,20) + local coordE1 = string.sub(T3LLDMS,26,27) + local coordE2 = string.sub(T3LLDMS,30,37) + local Heightft = UTILS.MetersToFeet(T3Height) + local T3Heightft = UTILS.Round(Heightft) + MESSAGE:New("HardenedHanger 33".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T3Heightft.." ft"), 50):ToAll() + return T3LLDMS +end + +local function TARGET4(T4LLDMS) + local T4LLDMS = T4COORD:ToStringLLDMS() + local coordN1 = string.sub(T4LLDMS,9,10) + local coordN2 = string.sub(T4LLDMS,13,20) + local coordE1 = string.sub(T4LLDMS,26,27) + local coordE2 = string.sub(T4LLDMS,30,37) + local Heightft = UTILS.MetersToFeet(T4Height) + local T4Heightft = UTILS.Round(Heightft) + MESSAGE:New("HardenedHanger 34".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T4Heightft.." ft"), 50):ToAll() + return T4LLDMS +end + +local function TARGET5(T1LLDMS) + local T1LLDMS = AmmoDumpEastCOORD:ToStringLLDMS() + local coordN1 = string.sub(T1LLDMS,9,10) + local coordN2 = string.sub(T1LLDMS,13,20) + local coordE1 = string.sub(T1LLDMS,26,27) + local coordE2 = string.sub(T1LLDMS,30,37) + local Heightft = UTILS.MetersToFeet(AmmoDumpEastHeight) + local T1Heightft = UTILS.Round(Heightft) + MESSAGE:New("EastAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T1Heightft.." ft"), 50):ToAll() + return T1LLDMS +end + +local function TARGET6(T2LLDMS) + local T2LLDMS = AmmoDumpWestCOORD:ToStringLLDMS() + local coordN1 = string.sub(T2LLDMS,9,10) + local coordN2 = string.sub(T2LLDMS,13,20) + local coordE1 = string.sub(T2LLDMS,26,27) + local coordE2 = string.sub(T2LLDMS,30,37) + local Heightft = UTILS.MetersToFeet(AmmoDumpWestHeight) + local T2Heightft = UTILS.Round(Heightft) + MESSAGE:New("WestAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T2Heightft.." ft"), 50):ToAll() + return T2LLDMS +end + +local function TARGET7(T3LLDMS) + local T3LLDMS = AmmoDumpSouthCOORD:ToStringLLDMS() + local coordN1 = string.sub(T3LLDMS,9,10) + local coordN2 = string.sub(T3LLDMS,13,20) + local coordE1 = string.sub(T3LLDMS,26,27) + local coordE2 = string.sub(T3LLDMS,30,37) + local Heightft = UTILS.MetersToFeet(AmmoDumpSouthHeight) + local T3Heightft = UTILS.Round(Heightft) + MESSAGE:New("SouthAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T3Heightft.." ft"), 50):ToAll() + return T3LLDMS +end + +local function TARGET8(T4LLDMS) + local T4LLDMS = AmmoDumpNorthCOORD:ToStringLLDMS() + local coordN1 = string.sub(T4LLDMS,9,10) -- Extracts text from String T4LLDMS at location 9 to 10 + local coordN2 = string.sub(T4LLDMS,13,20) -- Extracts text from String T4LLDMS at location 13 to 20 + local coordE1 = string.sub(T4LLDMS,26,27) -- Extracts text from String T4LLDMS at location 26 to 27 + local coordE2 = string.sub(T4LLDMS,30,37) -- Extracts text from String T4LLDMS at location 30 to 37 + local Heightft = UTILS.MetersToFeet(AmmoDumpNorthHeight) -- Coverts height in meters to feet + local T4Heightft = UTILS.Round(Heightft) -- Rounds the value to a whole number + MESSAGE:New("NorthAmmoDump".."\n".. ("N"..coordN1.."'"..coordN2.."\n".."E"..coordE1.."'"..coordE2.."\n".."ALT "..T4Heightft.." ft"), 50):ToAll() + return T4LLDMS +end + +--Coordinates Menu +Level1 = MENU_MISSION:New( "TARGETCOORDS" ) -- Top level Menu all targets are assigned to this master menu +Level2_1 = MENU_MISSION:New( "BRIDGE", Level1 ) -- Level 2 Contains Target groups +Level2_2 = MENU_MISSION:New( "AMMO DUMP", Level1 ) +Level2_3 = MENU_MISSION:New( "HARDENED SHELTER", Level1 ) +Menu1 = MENU_MISSION_COMMAND:New("Bridge 32", Level2_1, TARGET1) -- Level 3 contains Target group coordinates +Menu2 = MENU_MISSION_COMMAND:New("Bridge 33", Level2_1, TARGET2) +Menu3 = MENU_MISSION_COMMAND:New("HardenedHanger 33", Level2_3, TARGET3) -- Text displayed HardenedHanger 33, select Menu position, function to call(local function TARGET3(T3LLDMS)) +Menu4 = MENU_MISSION_COMMAND:New("HardenedHanger 34", Level2_3, TARGET4) +Menu5 = MENU_MISSION_COMMAND:New("AmmoDumpEast", Level2_2, TARGET5) +Menu6 = MENU_MISSION_COMMAND:New("AmmoDumpWest", Level2_2, TARGET6) +Menu7 = MENU_MISSION_COMMAND:New("AmmoDumpSouth", Level2_2, TARGET7) +Menu8 = MENU_MISSION_COMMAND:New("AmmoDumpNorth", Level2_2, TARGET8) diff --git a/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.miz b/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.miz index ca9f6c3..8cd223e 100644 Binary files a/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.miz and b/Core/Menu/901-Menu-Mission-Command/MEN-901-Menu-Mission-Command.miz differ diff --git a/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.lua b/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.lua index 965fce2..88ed516 100644 --- a/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.lua +++ b/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.lua @@ -1,126 +1,126 @@ ---- --- Author: Wingthor and Saint185 --- Created: 15.01.2021 --- Contributors: kaltokri --- Modified: 18.05.2024 --- --- # Documentation: --- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Menu.html --- --- # Description: --- --- A squad with four Su-25T is placed. One player with 3 AI. --- After a few seconds a menu is added to check loadout of the AI. --- --- Check the code on how to create a dynamic menu with a for-iteration and a table. --- A forward declaration of a function is used in this example. --- The logic of this script is universal. It will work with any human flyable plane. --- No matter of coalition RED or BLUE. Just name your GROUP "Player". --- Under the Skill box select "client" as your own plane. --- --- # Guide: --- - Start the mission, choose coalition BLUE and Pilot slot. --- - Wait a few seconds and open radio menu F10 Others... --- - Choose loadout to print. - - -BASE:TraceOnOff(true) -BASE:TraceAll(true) - ------------------------------------- GLOBALS For easy mission tweaking ------------------------------------------------- -CASZone = "Zone Charlie" -PlayersGroupName = "Player" -BuildMenu = function() end -- Forward declaration ------------------------------------- END GLOBALS ----------------------------------------------------------------------- - -env.info ("------------------------- STARING SCRIPT ---------------------------------") - ---Create TASK Zone -local zoneCharlie = ZONE:New(CASZone) - --- Add scheduled command, now holds the BuildMenu Call. -local start = SCHEDULER:New(nil, - function() - -- Create a flight group. - flightgroup = FLIGHTGROUP:New(PlayersGroupName) - flightgroup:SetDetection(true) - - --- Function called when the group detects a previously unknown unit. - function flightgroup:OnAfterDetectedUnitNew(From, Event, To, Unit) - local unit = Unit --Wrapper.Unit#UNIT - -- Message to everybody and in the DCS log file. - local text = string.format("Detected unit %s", unit:GetName()) - MESSAGE:New(text, 20,flightgroup:GetName()):ToAll() - env.info(text) - end - - -- Create a CAS mission. - local mission = AUFTRAG:NewCAS(zoneCharlie) - mission:SetEngageAltitude(10000) - mission:SetWeaponExpend(AI.Task.WeaponExpend.ONE) - - -- Assign mission to pilot. - flightgroup:AddMission(mission) - -- Build Menu for ammo check. - BuildMenu() - end, -{},1,30000 ) - ---- Function to check ammo for a give wingman. --- @param Wingman number -local function AmmoCheck(Wingman) - -- Gets the ammo for each unit and dumps it into unittable TABLE. - local unitsAmmoTable = units[Wingman]:GetAmmo() - - -- Gets the callsign for each unit and dumps it into callsign TABLE. - local callsign = units[Wingman]:GetCallsign() - - -- This logic splits out each ammo type and name and inserts it into the message. - local count = {} - local desc = {} - -- local ammoUnits = ammo[2] - local WepMessage = " " - for i = 1, #unitsAmmoTable do - local ammocount = unitsAmmoTable[i].count - local ammodesc = unitsAmmoTable[i].desc.displayName - table.insert (count, ammocount) - table.insert (desc, ammodesc) - WepMessage = WepMessage .. desc[i] .. ": " .. count[i] .. "\n " - end - MESSAGE:New( callsign ..":\n------------------------------------\n" .. WepMessage, 10):ToAll() -end - -local function CheckAll() - -- Gets the number of units in the group - units = GROUP:FindByName( PlayersGroupName ):GetUnits() - for i = 2, #units do - AmmoCheck(i) - end -end - -BuildMenu = function() - BASE:I("--- Info: Building menu ---") - - -- Gets the number of units in the group - units = GROUP:FindByName( PlayersGroupName ):GetUnits() - - -- AmmoCheckMainMenu - Level1 = MENU_MISSION:New( "Flight Ammo Check" ) - LevelMenues = {} - CommandMenues = {} - for i = 2, #units do - LevelMenues[i] = MENU_MISSION:New( "Wingman " .. i, Level1 ) - CommandMenues[i] = MENU_MISSION_COMMAND:New("AmmoStatus " .. i, LevelMenues[i], AmmoCheck, i) - end - CommandMenuesAll = MENU_MISSION_COMMAND:New("AmmoStatus All", Level1, CheckAll) -end - --- BASE:ScheduleOnce(10,BuildMenu) If you prefer a scheduled command - -HandleDeath = EVENTHANDLER:New():HandleEvent(EVENTS.Dead) - -function HandleDeath:OnEventDead(EventData) - if EventData.IniGroupName == PlayersGroupName then - BuildMenu() - end -end +--- +-- Author: Wingthor and Saint185 +-- Created: 15.01.2021 +-- Contributors: kaltokri +-- Modified: 18.05.2024 +-- +-- # Documentation: +-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Menu.html +-- +-- # Description: +-- +-- A squad with four Su-25T is placed. One player with 3 AI. +-- After a few seconds a menu is added to check loadout of the AI. +-- +-- Check the code on how to create a dynamic menu with a for-iteration and a table. +-- A forward declaration of a function is used in this example. +-- The logic of this script is universal. It will work with any human flyable plane. +-- No matter of coalition RED or BLUE. Just name your GROUP "Player". +-- Under the Skill box select "client" as your own plane. +-- +-- # Guide: +-- - Start the mission, choose coalition BLUE and Pilot slot. +-- - Wait a few seconds and open radio menu F10 Others... +-- - Choose loadout to print. + + +BASE:TraceOnOff(true) +BASE:TraceAll(true) + +------------------------------------ GLOBALS For easy mission tweaking ------------------------------------------------- +CASZone = "Zone Charlie" +PlayersGroupName = "Player" +BuildMenu = function() end -- Forward declaration +------------------------------------ END GLOBALS ----------------------------------------------------------------------- + +env.info ("------------------------- STARING SCRIPT ---------------------------------") + +--Create TASK Zone +local zoneCharlie = ZONE:New(CASZone) + +-- Add scheduled command, now holds the BuildMenu Call. +local start = SCHEDULER:New(nil, + function() + -- Create a flight group. + flightgroup = FLIGHTGROUP:New(PlayersGroupName) + flightgroup:SetDetection(true) + + --- Function called when the group detects a previously unknown unit. + function flightgroup:OnAfterDetectedUnitNew(From, Event, To, Unit) + local unit = Unit --Wrapper.Unit#UNIT + -- Message to everybody and in the DCS log file. + local text = string.format("Detected unit %s", unit:GetName()) + MESSAGE:New(text, 20,flightgroup:GetName()):ToAll() + env.info(text) + end + + -- Create a CAS mission. + local mission = AUFTRAG:NewCAS(zoneCharlie) + mission:SetEngageAltitude(10000) + mission:SetWeaponExpend(AI.Task.WeaponExpend.ONE) + + -- Assign mission to pilot. + flightgroup:AddMission(mission) + -- Build Menu for ammo check. + BuildMenu() + end, +{},1,30000 ) + +--- Function to check ammo for a give wingman. +-- @param Wingman number +local function AmmoCheck(Wingman) + -- Gets the ammo for each unit and dumps it into unittable TABLE. + local unitsAmmoTable = units[Wingman]:GetAmmo() + + -- Gets the callsign for each unit and dumps it into callsign TABLE. + local callsign = units[Wingman]:GetCallsign() + + -- This logic splits out each ammo type and name and inserts it into the message. + local count = {} + local desc = {} + -- local ammoUnits = ammo[2] + local WepMessage = " " + for i = 1, #unitsAmmoTable do + local ammocount = unitsAmmoTable[i].count + local ammodesc = unitsAmmoTable[i].desc.displayName + table.insert (count, ammocount) + table.insert (desc, ammodesc) + WepMessage = WepMessage .. desc[i] .. ": " .. count[i] .. "\n " + end + MESSAGE:New( callsign ..":\n------------------------------------\n" .. WepMessage, 10):ToAll() +end + +local function CheckAll() + -- Gets the number of units in the group + units = GROUP:FindByName( PlayersGroupName ):GetUnits() + for i = 2, #units do + AmmoCheck(i) + end +end + +BuildMenu = function() + BASE:I("--- Info: Building menu ---") + + -- Gets the number of units in the group + units = GROUP:FindByName( PlayersGroupName ):GetUnits() + + -- AmmoCheckMainMenu + Level1 = MENU_MISSION:New( "Flight Ammo Check" ) + LevelMenues = {} + CommandMenues = {} + for i = 2, #units do + LevelMenues[i] = MENU_MISSION:New( "Wingman " .. i, Level1 ) + CommandMenues[i] = MENU_MISSION_COMMAND:New("AmmoStatus " .. i, LevelMenues[i], AmmoCheck, i) + end + CommandMenuesAll = MENU_MISSION_COMMAND:New("AmmoStatus All", Level1, CheckAll) +end + +-- BASE:ScheduleOnce(10,BuildMenu) If you prefer a scheduled command + +HandleDeath = EVENTHANDLER:New():HandleEvent(EVENTS.Dead) + +function HandleDeath:OnEventDead(EventData) + if EventData.IniGroupName == PlayersGroupName then + BuildMenu() + end +end diff --git a/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.miz b/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.miz index bb994c2..740629c 100644 Binary files a/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.miz and b/Core/Menu/903-Menu-to-check-loadout/MEN-903-Menu-to-check-loadout.miz differ diff --git a/Core/SpawnStatic/010-Simple-Spawning/SPS-010-Simple-Spawning.miz b/Core/SpawnStatic/010-Simple-Spawning/SPS-010-Simple-Spawning.miz index 3343b70..42b125f 100644 Binary files a/Core/SpawnStatic/010-Simple-Spawning/SPS-010-Simple-Spawning.miz and b/Core/SpawnStatic/010-Simple-Spawning/SPS-010-Simple-Spawning.miz differ diff --git a/Core/SpawnStatic/020-Mark-target-with-containers/SPS-020-Mark-target-with-containers.miz b/Core/SpawnStatic/020-Mark-target-with-containers/SPS-020-Mark-target-with-containers.miz index 61a556a..ee75f8c 100644 Binary files a/Core/SpawnStatic/020-Mark-target-with-containers/SPS-020-Mark-target-with-containers.miz and b/Core/SpawnStatic/020-Mark-target-with-containers/SPS-020-Mark-target-with-containers.miz differ diff --git a/Core/SpawnStatic/050-Spawn-FARPs/SPS-050-Spawn-FARPs.miz b/Core/SpawnStatic/050-Spawn-FARPs/SPS-050-Spawn-FARPs.miz index 5116daf..3d43334 100644 Binary files a/Core/SpawnStatic/050-Spawn-FARPs/SPS-050-Spawn-FARPs.miz and b/Core/SpawnStatic/050-Spawn-FARPs/SPS-050-Spawn-FARPs.miz differ diff --git a/Core/Zone/100-Normal-Zone/ZON-100-Normal-Zone.miz b/Core/Zone/100-Normal-Zone/ZON-100-Normal-Zone.miz index 8902b50..523325f 100644 Binary files a/Core/Zone/100-Normal-Zone/ZON-100-Normal-Zone.miz and b/Core/Zone/100-Normal-Zone/ZON-100-Normal-Zone.miz differ diff --git a/Core/Zone/101-Normal-Zone-Random-Point/ZON-101-Normal-Zone-Random-Point.miz b/Core/Zone/101-Normal-Zone-Random-Point/ZON-101-Normal-Zone-Random-Point.miz index 49dfa06..ad2cbd9 100644 Binary files a/Core/Zone/101-Normal-Zone-Random-Point/ZON-101-Normal-Zone-Random-Point.miz and b/Core/Zone/101-Normal-Zone-Random-Point/ZON-101-Normal-Zone-Random-Point.miz differ diff --git a/Core/Zone/102-Normal-Zone-Boundary/ZON-102-Normal-Zone-Boundary.miz b/Core/Zone/102-Normal-Zone-Boundary/ZON-102-Normal-Zone-Boundary.miz index 880f9c6..5852bae 100644 Binary files a/Core/Zone/102-Normal-Zone-Boundary/ZON-102-Normal-Zone-Boundary.miz and b/Core/Zone/102-Normal-Zone-Boundary/ZON-102-Normal-Zone-Boundary.miz differ diff --git a/Core/Zone/103-Test-if-GROUP-object-is-in-ZONE/ZON-103-Test-if-GROUP-object-is-in-ZONE.miz b/Core/Zone/103-Test-if-GROUP-object-is-in-ZONE/ZON-103-Test-if-GROUP-object-is-in-ZONE.miz index cdb8f1f..0a313d8 100644 Binary files a/Core/Zone/103-Test-if-GROUP-object-is-in-ZONE/ZON-103-Test-if-GROUP-object-is-in-ZONE.miz and b/Core/Zone/103-Test-if-GROUP-object-is-in-ZONE/ZON-103-Test-if-GROUP-object-is-in-ZONE.miz differ diff --git a/Core/Zone/104-Test-if-GROUP-SET-is-in-ZONE/ZON-104-Test-if-GROUP-SET-is-in-ZONE.miz b/Core/Zone/104-Test-if-GROUP-SET-is-in-ZONE/ZON-104-Test-if-GROUP-SET-is-in-ZONE.miz index 602aba9..f279677 100644 Binary files a/Core/Zone/104-Test-if-GROUP-SET-is-in-ZONE/ZON-104-Test-if-GROUP-SET-is-in-ZONE.miz and b/Core/Zone/104-Test-if-GROUP-SET-is-in-ZONE/ZON-104-Test-if-GROUP-SET-is-in-ZONE.miz differ diff --git a/Core/Zone/110-ZONE-declared-in-ME/ZON-110-ZONE-declared-in-ME.miz b/Core/Zone/110-ZONE-declared-in-ME/ZON-110-ZONE-declared-in-ME.miz index d6b08c1..ac88184 100644 Binary files a/Core/Zone/110-ZONE-declared-in-ME/ZON-110-ZONE-declared-in-ME.miz and b/Core/Zone/110-ZONE-declared-in-ME/ZON-110-ZONE-declared-in-ME.miz differ diff --git a/Core/Zone/190-Return-SCENERY-objects-in-Zone/ZON-190-Return-SCENERY-objects-in-Zone.miz b/Core/Zone/190-Return-SCENERY-objects-in-Zone/ZON-190-Return-SCENERY-objects-in-Zone.miz index 82e8781..c54b21c 100644 Binary files a/Core/Zone/190-Return-SCENERY-objects-in-Zone/ZON-190-Return-SCENERY-objects-in-Zone.miz and b/Core/Zone/190-Return-SCENERY-objects-in-Zone/ZON-190-Return-SCENERY-objects-in-Zone.miz differ diff --git a/Core/Zone/200-Group-Zone/ZON-200-Group-Zone.miz b/Core/Zone/200-Group-Zone/ZON-200-Group-Zone.miz index 8e4aa92..7ee2ae9 100644 Binary files a/Core/Zone/200-Group-Zone/ZON-200-Group-Zone.miz and b/Core/Zone/200-Group-Zone/ZON-200-Group-Zone.miz differ diff --git a/Core/Zone/201-Group-Zone-Random-Point/ZON-201-Group-Zone-Random-Point.miz b/Core/Zone/201-Group-Zone-Random-Point/ZON-201-Group-Zone-Random-Point.miz index bb167f1..765bc55 100644 Binary files a/Core/Zone/201-Group-Zone-Random-Point/ZON-201-Group-Zone-Random-Point.miz and b/Core/Zone/201-Group-Zone-Random-Point/ZON-201-Group-Zone-Random-Point.miz differ diff --git a/Core/Zone/300-Unit-Zone/ZON-300-Unit-Zone.miz b/Core/Zone/300-Unit-Zone/ZON-300-Unit-Zone.miz index 221311e..17570c9 100644 Binary files a/Core/Zone/300-Unit-Zone/ZON-300-Unit-Zone.miz and b/Core/Zone/300-Unit-Zone/ZON-300-Unit-Zone.miz differ diff --git a/Core/Zone/301-Unit-Zone-Random-Point/ZON-301-Unit-Zone-Random-Point.miz b/Core/Zone/301-Unit-Zone-Random-Point/ZON-301-Unit-Zone-Random-Point.miz index 2fd201a..76e1993 100644 Binary files a/Core/Zone/301-Unit-Zone-Random-Point/ZON-301-Unit-Zone-Random-Point.miz and b/Core/Zone/301-Unit-Zone-Random-Point/ZON-301-Unit-Zone-Random-Point.miz differ diff --git a/Core/Zone/400-Radius-Zone/ZON-400-Radius-Zone.miz b/Core/Zone/400-Radius-Zone/ZON-400-Radius-Zone.miz index ffe51de..7c1dcc1 100644 Binary files a/Core/Zone/400-Radius-Zone/ZON-400-Radius-Zone.miz and b/Core/Zone/400-Radius-Zone/ZON-400-Radius-Zone.miz differ diff --git a/Core/Zone/401-Radius-Zone-Random-Point/ZON-401-Radius-Zone-Random-Point.miz b/Core/Zone/401-Radius-Zone-Random-Point/ZON-401-Radius-Zone-Random-Point.miz index 299eaa9..de9b202 100644 Binary files a/Core/Zone/401-Radius-Zone-Random-Point/ZON-401-Radius-Zone-Random-Point.miz and b/Core/Zone/401-Radius-Zone-Random-Point/ZON-401-Radius-Zone-Random-Point.miz differ diff --git a/Core/Zone/500-Polygon-Zone/ZON-500-Polygon-Zone.miz b/Core/Zone/500-Polygon-Zone/ZON-500-Polygon-Zone.miz index 83982ae..4e4c1f4 100644 Binary files a/Core/Zone/500-Polygon-Zone/ZON-500-Polygon-Zone.miz and b/Core/Zone/500-Polygon-Zone/ZON-500-Polygon-Zone.miz differ diff --git a/Core/Zone/501-Polygon-Zone-Random-Point/ZON-501-Polygon-Zone-Random-Point.miz b/Core/Zone/501-Polygon-Zone-Random-Point/ZON-501-Polygon-Zone-Random-Point.miz index c8e5db5..78ddd9d 100644 Binary files a/Core/Zone/501-Polygon-Zone-Random-Point/ZON-501-Polygon-Zone-Random-Point.miz and b/Core/Zone/501-Polygon-Zone-Random-Point/ZON-501-Polygon-Zone-Random-Point.miz differ diff --git a/Core/Zone/502-Polygon-Zone-Boundary/ZON-502-Polygon-Zone-Boundary.miz b/Core/Zone/502-Polygon-Zone-Boundary/ZON-502-Polygon-Zone-Boundary.miz index 2c9d4aa..9a42215 100644 Binary files a/Core/Zone/502-Polygon-Zone-Boundary/ZON-502-Polygon-Zone-Boundary.miz and b/Core/Zone/502-Polygon-Zone-Boundary/ZON-502-Polygon-Zone-Boundary.miz differ diff --git a/Core/Zone/510-ZONE_POLYGON-declared-in-ME/ZON-510-ZONE_POLYGON-declared-in-ME.miz b/Core/Zone/510-ZONE_POLYGON-declared-in-ME/ZON-510-ZONE_POLYGON-declared-in-ME.miz index e27b1a1..cd22da3 100644 Binary files a/Core/Zone/510-ZONE_POLYGON-declared-in-ME/ZON-510-ZONE_POLYGON-declared-in-ME.miz and b/Core/Zone/510-ZONE_POLYGON-declared-in-ME/ZON-510-ZONE_POLYGON-declared-in-ME.miz differ diff --git a/Core/Zone/520-Draw-Zones-and-Shapes/ZON-520-Draw-Zones-and-Shapes.miz b/Core/Zone/520-Draw-Zones-and-Shapes/ZON-520-Draw-Zones-and-Shapes.miz index ff6c488..fc514cd 100644 Binary files a/Core/Zone/520-Draw-Zones-and-Shapes/ZON-520-Draw-Zones-and-Shapes.miz and b/Core/Zone/520-Draw-Zones-and-Shapes/ZON-520-Draw-Zones-and-Shapes.miz differ diff --git a/Functional/FOX/100-Simple/FOX-100-Simple.miz b/Functional/FOX/100-Simple/FOX-100-Simple.miz index ffeb23c..e0ef397 100644 Binary files a/Functional/FOX/100-Simple/FOX-100-Simple.miz and b/Functional/FOX/100-Simple/FOX-100-Simple.miz differ diff --git a/Functional/FOX/101-LaunchZone/FOX-101-LaunchZone.miz b/Functional/FOX/101-LaunchZone/FOX-101-LaunchZone.miz index 17fe0e4..977d2bb 100644 Binary files a/Functional/FOX/101-LaunchZone/FOX-101-LaunchZone.miz and b/Functional/FOX/101-LaunchZone/FOX-101-LaunchZone.miz differ diff --git a/Functional/FOX/102-ProtectedGroup/FOX-102-ProtectedGroup.miz b/Functional/FOX/102-ProtectedGroup/FOX-102-ProtectedGroup.miz index c20145a..13ba246 100644 Binary files a/Functional/FOX/102-ProtectedGroup/FOX-102-ProtectedGroup.miz and b/Functional/FOX/102-ProtectedGroup/FOX-102-ProtectedGroup.miz differ diff --git a/Functional/FOX/103-SafeZone/ZON-103-SafeZone.miz b/Functional/FOX/103-SafeZone/ZON-103-SafeZone.miz index ad4f862..d2df29d 100644 Binary files a/Functional/FOX/103-SafeZone/ZON-103-SafeZone.miz and b/Functional/FOX/103-SafeZone/ZON-103-SafeZone.miz differ diff --git a/Other/000-Template/000-Template.miz b/Other/000-Template/000-Template.miz index ae5a530..ce0c04e 100644 Binary files a/Other/000-Template/000-Template.miz and b/Other/000-Template/000-Template.miz differ diff --git a/Sound/MSRS/001-Play-internal-Sound-file/MSRS-001-Play-internal-Sound-file.miz b/Sound/MSRS/001-Play-internal-Sound-file/MSRS-001-Play-internal-Sound-file.miz index 53e3979..6eb31a6 100644 Binary files a/Sound/MSRS/001-Play-internal-Sound-file/MSRS-001-Play-internal-Sound-file.miz and b/Sound/MSRS/001-Play-internal-Sound-file/MSRS-001-Play-internal-Sound-file.miz differ diff --git a/Sound/MSRS/002-Play-external-Sound-file/MSRS-002-Play-external-Sound-file.miz b/Sound/MSRS/002-Play-external-Sound-file/MSRS-002-Play-external-Sound-file.miz index e22ba15..3df39e9 100644 Binary files a/Sound/MSRS/002-Play-external-Sound-file/MSRS-002-Play-external-Sound-file.miz and b/Sound/MSRS/002-Play-external-Sound-file/MSRS-002-Play-external-Sound-file.miz differ diff --git a/Sound/MSRS/003-PlayTextFile/MSRS-003-PlayTextFile.miz b/Sound/MSRS/003-PlayTextFile/MSRS-003-PlayTextFile.miz index 0d91ec1..911b544 100644 Binary files a/Sound/MSRS/003-PlayTextFile/MSRS-003-PlayTextFile.miz and b/Sound/MSRS/003-PlayTextFile/MSRS-003-PlayTextFile.miz differ diff --git a/Sound/MSRS/010-Windows-TTS-via-config-file/MSRS-010-Windows-TTS-via-config-file.miz b/Sound/MSRS/010-Windows-TTS-via-config-file/MSRS-010-Windows-TTS-via-config-file.miz index ecd6088..63dd109 100644 Binary files a/Sound/MSRS/010-Windows-TTS-via-config-file/MSRS-010-Windows-TTS-via-config-file.miz and b/Sound/MSRS/010-Windows-TTS-via-config-file/MSRS-010-Windows-TTS-via-config-file.miz differ diff --git a/Sound/Radio/000-Transmission-from-Static/RAD-000-Transmission-from-Static.miz b/Sound/Radio/000-Transmission-from-Static/RAD-000-Transmission-from-Static.miz index e3de4c3..0d246ba 100644 Binary files a/Sound/Radio/000-Transmission-from-Static/RAD-000-Transmission-from-Static.miz and b/Sound/Radio/000-Transmission-from-Static/RAD-000-Transmission-from-Static.miz differ diff --git a/Sound/Radio/001-Transmission-from-UNIT-or-GROUP/RAD-001-Transmission-from-UNIT-or-GROUP.miz b/Sound/Radio/001-Transmission-from-UNIT-or-GROUP/RAD-001-Transmission-from-UNIT-or-GROUP.miz index 34b57d1..32fc542 100644 Binary files a/Sound/Radio/001-Transmission-from-UNIT-or-GROUP/RAD-001-Transmission-from-UNIT-or-GROUP.miz and b/Sound/Radio/001-Transmission-from-UNIT-or-GROUP/RAD-001-Transmission-from-UNIT-or-GROUP.miz differ diff --git a/Sound/Radio/002-Transmission-Tips-and-Tricks/RAD-002-Transmission-Tips-and-Tricks.miz b/Sound/Radio/002-Transmission-Tips-and-Tricks/RAD-002-Transmission-Tips-and-Tricks.miz index ba2f74d..55f474c 100644 Binary files a/Sound/Radio/002-Transmission-Tips-and-Tricks/RAD-002-Transmission-Tips-and-Tricks.miz and b/Sound/Radio/002-Transmission-Tips-and-Tricks/RAD-002-Transmission-Tips-and-Tricks.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Caucasus.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Caucasus.miz index 848c97b..f5857b4 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Caucasus.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Caucasus.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Falklands.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Falklands.miz index c62f3b0..f73b119 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Falklands.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Falklands.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-MarianaIslands.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-MarianaIslands.miz index 39db854..30fe1b5 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-MarianaIslands.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-MarianaIslands.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Nevada.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Nevada.miz index 20920e5..25973d8 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Nevada.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Nevada.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Normandy.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Normandy.miz index 2888e81..24a889e 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Normandy.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Normandy.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-PersianGulf.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-PersianGulf.miz index f8bd781..6285e3f 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-PersianGulf.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-PersianGulf.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Sinai.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Sinai.miz index 3dad234..c28f2a8 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Sinai.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Sinai.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Syria.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Syria.miz index 17837db..c33ada4 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Syria.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-Syria.miz differ diff --git a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-TheChannel.miz b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-TheChannel.miz index b1964cc..c17c439 100644 Binary files a/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-TheChannel.miz and b/Wrapper/Airbase/900-Airbase-data/AFB-900-Airbase-data-TheChannel.miz differ diff --git a/Wrapper/Group/100-IsAlive/GRP-100-IsAlive.miz b/Wrapper/Group/100-IsAlive/GRP-100-IsAlive.miz index c1b0767..f720822 100644 Binary files a/Wrapper/Group/100-IsAlive/GRP-100-IsAlive.miz and b/Wrapper/Group/100-IsAlive/GRP-100-IsAlive.miz differ diff --git a/Wrapper/Group/101-TaskAttackUnit/GRP-101-TaskAttackUnit.miz b/Wrapper/Group/101-TaskAttackUnit/GRP-101-TaskAttackUnit.miz index 0451985..4bcc113 100644 Binary files a/Wrapper/Group/101-TaskAttackUnit/GRP-101-TaskAttackUnit.miz and b/Wrapper/Group/101-TaskAttackUnit/GRP-101-TaskAttackUnit.miz differ diff --git a/Wrapper/Group/200-Follow-Group/GRP-200-Follow-Group.miz b/Wrapper/Group/200-Follow-Group/GRP-200-Follow-Group.miz index dfebe15..3311d8b 100644 Binary files a/Wrapper/Group/200-Follow-Group/GRP-200-Follow-Group.miz and b/Wrapper/Group/200-Follow-Group/GRP-200-Follow-Group.miz differ diff --git a/Wrapper/Group/300-Switch-WayPoints/GRP-300-Switch-WayPoints.miz b/Wrapper/Group/300-Switch-WayPoints/GRP-300-Switch-WayPoints.miz index 983fd11..04cad37 100644 Binary files a/Wrapper/Group/300-Switch-WayPoints/GRP-300-Switch-WayPoints.miz and b/Wrapper/Group/300-Switch-WayPoints/GRP-300-Switch-WayPoints.miz differ diff --git a/Wrapper/Group/310-Command-StopRoute/GRP-310-Command-StopRoute.miz b/Wrapper/Group/310-Command-StopRoute/GRP-310-Command-StopRoute.miz index 24335d2..5f657d2 100644 Binary files a/Wrapper/Group/310-Command-StopRoute/GRP-310-Command-StopRoute.miz and b/Wrapper/Group/310-Command-StopRoute/GRP-310-Command-StopRoute.miz differ diff --git a/Wrapper/Group/400-RouteReturnToAirbase/GRP-400-RouteReturnToAirbase.miz b/Wrapper/Group/400-RouteReturnToAirbase/GRP-400-RouteReturnToAirbase.miz index 5b4dc67..d0b08dd 100644 Binary files a/Wrapper/Group/400-RouteReturnToAirbase/GRP-400-RouteReturnToAirbase.miz and b/Wrapper/Group/400-RouteReturnToAirbase/GRP-400-RouteReturnToAirbase.miz differ diff --git a/Wrapper/Group/500-Ground-TaskRoute/GRP-500-Ground-TaskRoute.miz b/Wrapper/Group/500-Ground-TaskRoute/GRP-500-Ground-TaskRoute.miz index 2010134..e70fece 100644 Binary files a/Wrapper/Group/500-Ground-TaskRoute/GRP-500-Ground-TaskRoute.miz and b/Wrapper/Group/500-Ground-TaskRoute/GRP-500-Ground-TaskRoute.miz differ diff --git a/Wrapper/Group/501-Ground-TaskRouteToVec2/GRP-501-Ground-TaskRouteToVec2.miz b/Wrapper/Group/501-Ground-TaskRouteToVec2/GRP-501-Ground-TaskRouteToVec2.miz index 037ebbb..e0a7918 100644 Binary files a/Wrapper/Group/501-Ground-TaskRouteToVec2/GRP-501-Ground-TaskRouteToVec2.miz and b/Wrapper/Group/501-Ground-TaskRouteToVec2/GRP-501-Ground-TaskRouteToVec2.miz differ diff --git a/Wrapper/Group/502-Route-at-waypoint-to-random-point/GRP-502-Route-at-waypoint-to-random-point.miz b/Wrapper/Group/502-Route-at-waypoint-to-random-point/GRP-502-Route-at-waypoint-to-random-point.miz index 5eca65c..3cd4409 100644 Binary files a/Wrapper/Group/502-Route-at-waypoint-to-random-point/GRP-502-Route-at-waypoint-to-random-point.miz and b/Wrapper/Group/502-Route-at-waypoint-to-random-point/GRP-502-Route-at-waypoint-to-random-point.miz differ diff --git a/Wrapper/Group/503-NTTR-Route-at-waypoint-to-random-point/GRP-503-NTTR-Route-at-waypoint-to-random-point.miz b/Wrapper/Group/503-NTTR-Route-at-waypoint-to-random-point/GRP-503-NTTR-Route-at-waypoint-to-random-point.miz index 2a49b4c..4eb9901 100644 Binary files a/Wrapper/Group/503-NTTR-Route-at-waypoint-to-random-point/GRP-503-NTTR-Route-at-waypoint-to-random-point.miz and b/Wrapper/Group/503-NTTR-Route-at-waypoint-to-random-point/GRP-503-NTTR-Route-at-waypoint-to-random-point.miz differ diff --git a/Wrapper/Group/504-Pinpoint-Strike-Waypooints-and-Tasking/GRP-504-Pinpoint-Strike-Waypooints-and-Tasking.miz b/Wrapper/Group/504-Pinpoint-Strike-Waypooints-and-Tasking/GRP-504-Pinpoint-Strike-Waypooints-and-Tasking.miz index 9d36598..02cea5a 100644 Binary files a/Wrapper/Group/504-Pinpoint-Strike-Waypooints-and-Tasking/GRP-504-Pinpoint-Strike-Waypooints-and-Tasking.miz and b/Wrapper/Group/504-Pinpoint-Strike-Waypooints-and-Tasking/GRP-504-Pinpoint-Strike-Waypooints-and-Tasking.miz differ diff --git a/Wrapper/Group/510-Task-Follow/GRP-510-Task-Follow.miz b/Wrapper/Group/510-Task-Follow/GRP-510-Task-Follow.miz index 11f7b51..a5572cf 100644 Binary files a/Wrapper/Group/510-Task-Follow/GRP-510-Task-Follow.miz and b/Wrapper/Group/510-Task-Follow/GRP-510-Task-Follow.miz differ diff --git a/Wrapper/Group/550-Patrol-a-route/GRP-550-Patrol-a-route.miz b/Wrapper/Group/550-Patrol-a-route/GRP-550-Patrol-a-route.miz index 044af4d..cb5d32f 100644 Binary files a/Wrapper/Group/550-Patrol-a-route/GRP-550-Patrol-a-route.miz and b/Wrapper/Group/550-Patrol-a-route/GRP-550-Patrol-a-route.miz differ diff --git a/Wrapper/Group/551-Patrol-to-random-points-of-a-route/GRP-551-Patrol-to-random-points-of-a-route.miz b/Wrapper/Group/551-Patrol-to-random-points-of-a-route/GRP-551-Patrol-to-random-points-of-a-route.miz index 4d11a38..4802e2c 100644 Binary files a/Wrapper/Group/551-Patrol-to-random-points-of-a-route/GRP-551-Patrol-to-random-points-of-a-route.miz and b/Wrapper/Group/551-Patrol-to-random-points-of-a-route/GRP-551-Patrol-to-random-points-of-a-route.miz differ diff --git a/Wrapper/Group/552-Patrol-in-a-zone/GRP-552-Patrol-in-a-zone.miz b/Wrapper/Group/552-Patrol-in-a-zone/GRP-552-Patrol-in-a-zone.miz index 1db864d..acf7c54 100644 Binary files a/Wrapper/Group/552-Patrol-in-a-zone/GRP-552-Patrol-in-a-zone.miz and b/Wrapper/Group/552-Patrol-in-a-zone/GRP-552-Patrol-in-a-zone.miz differ diff --git a/Wrapper/Group/553-Patrol-in-a-list-of-zones/GRP-553-Patrol-in-a-list-of-zones.miz b/Wrapper/Group/553-Patrol-in-a-list-of-zones/GRP-553-Patrol-in-a-list-of-zones.miz index 326b051..174039c 100644 Binary files a/Wrapper/Group/553-Patrol-in-a-list-of-zones/GRP-553-Patrol-in-a-list-of-zones.miz and b/Wrapper/Group/553-Patrol-in-a-list-of-zones/GRP-553-Patrol-in-a-list-of-zones.miz differ diff --git a/Wrapper/Group/600-Respawn/GRP-600-Respawn.miz b/Wrapper/Group/600-Respawn/GRP-600-Respawn.miz index 68effba..f19365c 100644 Binary files a/Wrapper/Group/600-Respawn/GRP-600-Respawn.miz and b/Wrapper/Group/600-Respawn/GRP-600-Respawn.miz differ diff --git a/Wrapper/Group/601-Respawn-hidden/GRP-601-Respawn-hidden.miz b/Wrapper/Group/601-Respawn-hidden/GRP-601-Respawn-hidden.miz index 9e439bf..9e715ec 100644 Binary files a/Wrapper/Group/601-Respawn-hidden/GRP-601-Respawn-hidden.miz and b/Wrapper/Group/601-Respawn-hidden/GRP-601-Respawn-hidden.miz differ diff --git a/Wrapper/Group/610-Respawn-in-Zone/GRP-610-Respawn-in-Zone.miz b/Wrapper/Group/610-Respawn-in-Zone/GRP-610-Respawn-in-Zone.miz index 40ac1dd..d98e4b1 100644 Binary files a/Wrapper/Group/610-Respawn-in-Zone/GRP-610-Respawn-in-Zone.miz and b/Wrapper/Group/610-Respawn-in-Zone/GRP-610-Respawn-in-Zone.miz differ diff --git a/Wrapper/Group/611-Respawn-multiple-units-in-Zone/GRP-611-Respawn-multiple-units-in-Zone.miz b/Wrapper/Group/611-Respawn-multiple-units-in-Zone/GRP-611-Respawn-multiple-units-in-Zone.miz index 5cfb4a3..fe6cc73 100644 Binary files a/Wrapper/Group/611-Respawn-multiple-units-in-Zone/GRP-611-Respawn-multiple-units-in-Zone.miz and b/Wrapper/Group/611-Respawn-multiple-units-in-Zone/GRP-611-Respawn-multiple-units-in-Zone.miz differ diff --git a/Wrapper/Group/612-Respawn-multiple-units-in-Zone-randomized/GRP-612-Respawn-multiple-units-in-Zone-randomized.miz b/Wrapper/Group/612-Respawn-multiple-units-in-Zone-randomized/GRP-612-Respawn-multiple-units-in-Zone-randomized.miz index 347e118..6cb6d17 100644 Binary files a/Wrapper/Group/612-Respawn-multiple-units-in-Zone-randomized/GRP-612-Respawn-multiple-units-in-Zone-randomized.miz and b/Wrapper/Group/612-Respawn-multiple-units-in-Zone-randomized/GRP-612-Respawn-multiple-units-in-Zone-randomized.miz differ diff --git a/Wrapper/Group/615-Respawn-in-Zone-hidden/GRP-615-Respawn-in-Zone-hidden.miz b/Wrapper/Group/615-Respawn-in-Zone-hidden/GRP-615-Respawn-in-Zone-hidden.miz index 2c225de..059d84b 100644 Binary files a/Wrapper/Group/615-Respawn-in-Zone-hidden/GRP-615-Respawn-in-Zone-hidden.miz and b/Wrapper/Group/615-Respawn-in-Zone-hidden/GRP-615-Respawn-in-Zone-hidden.miz differ diff --git a/Wrapper/Group/616-Respawn-multiple-units-in-Zone-hidden/GRP-616-Respawn-multiple-units-in-Zone-hidden.miz b/Wrapper/Group/616-Respawn-multiple-units-in-Zone-hidden/GRP-616-Respawn-multiple-units-in-Zone-hidden.miz index 00fb731..a0bb1fd 100644 Binary files a/Wrapper/Group/616-Respawn-multiple-units-in-Zone-hidden/GRP-616-Respawn-multiple-units-in-Zone-hidden.miz and b/Wrapper/Group/616-Respawn-multiple-units-in-Zone-hidden/GRP-616-Respawn-multiple-units-in-Zone-hidden.miz differ diff --git a/Wrapper/Group/617-Respawn-multiple-units-in-Zone-randomized-hidden/GRP-617-Respawn-multiple-units-in-Zone-randomized-hidden.miz b/Wrapper/Group/617-Respawn-multiple-units-in-Zone-randomized-hidden/GRP-617-Respawn-multiple-units-in-Zone-randomized-hidden.miz index e82b330..5683054 100644 Binary files a/Wrapper/Group/617-Respawn-multiple-units-in-Zone-randomized-hidden/GRP-617-Respawn-multiple-units-in-Zone-randomized-hidden.miz and b/Wrapper/Group/617-Respawn-multiple-units-in-Zone-randomized-hidden/GRP-617-Respawn-multiple-units-in-Zone-randomized-hidden.miz differ diff --git a/Wrapper/Group/900-Option-Green-and-Red-State/GRP-900-Option-Green-and-Red-State.miz b/Wrapper/Group/900-Option-Green-and-Red-State/GRP-900-Option-Green-and-Red-State.miz index 9e476be..29f3790 100644 Binary files a/Wrapper/Group/900-Option-Green-and-Red-State/GRP-900-Option-Green-and-Red-State.miz and b/Wrapper/Group/900-Option-Green-and-Red-State/GRP-900-Option-Green-and-Red-State.miz differ diff --git a/Wrapper/Weapon/010-Track-Bomb/WPN-010-Track-Bomb.miz b/Wrapper/Weapon/010-Track-Bomb/WPN-010-Track-Bomb.miz index 06da09c..8f6eec0 100644 Binary files a/Wrapper/Weapon/010-Track-Bomb/WPN-010-Track-Bomb.miz and b/Wrapper/Weapon/010-Track-Bomb/WPN-010-Track-Bomb.miz differ diff --git a/Wrapper/Weapon/020-Track-AA-Missile/WPN-020-Track-AA-Missile.miz b/Wrapper/Weapon/020-Track-AA-Missile/WPN-020-Track-AA-Missile.miz index 99338f4..0f49577 100644 Binary files a/Wrapper/Weapon/020-Track-AA-Missile/WPN-020-Track-AA-Missile.miz and b/Wrapper/Weapon/020-Track-AA-Missile/WPN-020-Track-AA-Missile.miz differ diff --git a/Wrapper/Weapon/030-Track-SA-Missile/WPN-030-Track-SA-Missile.miz b/Wrapper/Weapon/030-Track-SA-Missile/WPN-030-Track-SA-Missile.miz index 28e2465..20b0c0f 100644 Binary files a/Wrapper/Weapon/030-Track-SA-Missile/WPN-030-Track-SA-Missile.miz and b/Wrapper/Weapon/030-Track-SA-Missile/WPN-030-Track-SA-Missile.miz differ diff --git a/Wrapper/Weapon/040-Track-Shell/WPN-040-Track-Shell.miz b/Wrapper/Weapon/040-Track-Shell/WPN-040-Track-Shell.miz index 09ae5fc..02af5fc 100644 Binary files a/Wrapper/Weapon/040-Track-Shell/WPN-040-Track-Shell.miz and b/Wrapper/Weapon/040-Track-Shell/WPN-040-Track-Shell.miz differ