diff --git a/OPS - Chief/Chief - 20 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.lua b/OPS - Chief/Chief - 020 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.lua similarity index 97% rename from OPS - Chief/Chief - 20 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.lua rename to OPS - Chief/Chief - 020 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.lua index 8969285c57..17c04210f1 100644 --- a/OPS - Chief/Chief - 20 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.lua +++ b/OPS - Chief/Chief - 020 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.lua @@ -1,96 +1,96 @@ ---- --- CHIEF: A2A Intercept Response --- --- The blue chief controls one airwing located at Kutaisi. --- --- The airwing has two squadrons --- * F-16CMs for INTERCEPT missions --- * A-10C for BAI and CAS missions --- --- The airwing has a limited number of payloads for A2A and A2G missions. --- --- Intel is provided from and AN/FPS 117 early warning radar and a Reaper drone. --- --- The strategy of the chief is DEFENSIVE, i.e. he will only engage detected enemies --- that are within his own territory. --- --- The Reaper will ---- - ---- F-16 Fighter Squadron. -local SquadFSQ13=SQUADRON:New("F-16CM Template", 5, "13th Fighter Squadron") --Ops.Squadron#SQUADRON -SquadFSQ13:SetGrouping(1) -- One aircraft per group. -SquadFSQ13:SetModex(130) -- Tail number of the sqaud start with 130, 131,... -SquadFSQ13:AddMissionCapability({AUFTRAG.Type.INTERCEPT}, 90) -- Squad can do intercept missions. -SquadFSQ13:AddMissionCapability({AUFTRAG.Type.ALERT5}) -- Squad can be spawned at the airfield in uncontrolled state. -SquadFSQ13:SetMissionRange(200) -- Squad will be considered for targets within 200 NM of its airwing location. - ---- A-10C Fighter Squadron. -local SquadFSQ14=SQUADRON:New("A-10C Template", 5, "14th Fighter Squadron") --Ops.Squadron#SQUADRON -SquadFSQ14:SetGrouping(1) -- One aircraft per group. -SquadFSQ14:SetModex(140) -- Tail number of the sqaud start with 140, 141,... -SquadFSQ14:AddMissionCapability({AUFTRAG.Type.BAI, AUFTRAG.Type.CAS, AUFTRAG.Type.CASENHANCED}, 90) -- Squad can do BAI and CAS missions -SquadFSQ14:AddMissionCapability({AUFTRAG.Type.ALERT5}) -- Squad can be spawned at the airfield in uncontrolled state. -SquadFSQ14:SetMissionRange(200) -- Squad will be considered for targets within 200 NM of its airwing location. - - ---- AIRWING Kutaisi -local WingFW35=AIRWING:New("Warehouse Kutaisi", "35th Air Wing (Kutaisi)") --Ops.AirWing#AIRWING - --- Add squadrons to airwing. -WingFW35:AddSquadron(SquadFSQ13) -WingFW35:AddSquadron(SquadFSQ14) - --- Payload F-16CM for GCICAP, INTERCEPT and CAP missions. -WingFW35:NewPayload("F-16CM Payload AIM-120C*4, AIM-9X*2, FUEL*2, ECM", 2, {AUFTRAG.Type.GCICAP, AUFTRAG.Type.INTERCEPT, AUFTRAG.Type.CAP}, 80) - --- Payload A-10C for BAI, CAS, CASENHANCED. -WingFW35:NewPayload("A-10C Payload AGM-65G,AGM-65K,GBU-10*2,AIM-9*2,TGP,ECM", 2, {AUFTRAG.Type.BAI, AUFTRAG.Type.CAS, AUFTRAG.Type.CASENHANCED}, 80) - - ---- --- CHIEF OF STAFF ---- - --- Zone defining the border of the blue territory. -local ZoneBlueBorder=ZONE:New("Blue Border"):DrawZone() - --- Blue agents. -local Agents=SET_GROUP:New():FilterPrefixes("US EWR"):FilterPrefixes("US Reaper"):FilterOnce() - --- Define CHIEF. -local Chief=CHIEF:New(coalition.side.BLUE, Agents) - --- Add border zone. -Chief:AddBorderZone(ZoneBlueBorder) - --- Enable tactical overview. -Chief:SetTacticalOverviewOn() - --- Add airwing(s) to the chief. -Chief:AddAirwing(WingFW35) - --- Set strategy to DEFENSIVE: Only targets within the border of the chief's territory are attacked. -Chief:SetStrategy(CHIEF.Strategy.DEFENSIVE) - --- Start Chief after one second. -Chief:__Start(1) - - ---- Function called each time Chief Agents detect a new contact. -function Chief:OnAfterNewContact(From, Event, To, Contact) - - -- Gather info of contact. - local ContactName=Chief:GetContactName(Contact) - local ContactType=Chief:GetContactTypeName(Contact) - local ContactThreat=Chief:GetContactThreatlevel(Contact) - - -- Text message. - local text=string.format("Detected NEW contact: Name=%s, Type=%s, Threat Level=%d", ContactName, ContactType, ContactThreat) - - -- Show message in log file. - env.info(text) - -end - +--- +-- CHIEF: A2A Intercept Response +-- +-- The blue chief controls one airwing located at Kutaisi. +-- +-- The airwing has two squadrons +-- * F-16CMs for INTERCEPT missions +-- * A-10C for BAI and CAS missions +-- +-- The airwing has a limited number of payloads for A2A and A2G missions. +-- +-- Intel is provided from and AN/FPS 117 early warning radar and a Reaper drone. +-- +-- The strategy of the chief is DEFENSIVE, i.e. he will only engage detected enemies +-- that are within his own territory. +-- +-- The Reaper will +--- + +--- F-16 Fighter Squadron. +local SquadFSQ13=SQUADRON:New("F-16CM Template", 5, "13th Fighter Squadron") --Ops.Squadron#SQUADRON +SquadFSQ13:SetGrouping(1) -- One aircraft per group. +SquadFSQ13:SetModex(130) -- Tail number of the sqaud start with 130, 131,... +SquadFSQ13:AddMissionCapability({AUFTRAG.Type.INTERCEPT}, 90) -- Squad can do intercept missions. +SquadFSQ13:AddMissionCapability({AUFTRAG.Type.ALERT5}) -- Squad can be spawned at the airfield in uncontrolled state. +SquadFSQ13:SetMissionRange(200) -- Squad will be considered for targets within 200 NM of its airwing location. + +--- A-10C Fighter Squadron. +local SquadFSQ14=SQUADRON:New("A-10C Template", 5, "14th Fighter Squadron") --Ops.Squadron#SQUADRON +SquadFSQ14:SetGrouping(1) -- One aircraft per group. +SquadFSQ14:SetModex(140) -- Tail number of the sqaud start with 140, 141,... +SquadFSQ14:AddMissionCapability({AUFTRAG.Type.BAI, AUFTRAG.Type.CAS, AUFTRAG.Type.CASENHANCED}, 90) -- Squad can do BAI and CAS missions +SquadFSQ14:AddMissionCapability({AUFTRAG.Type.ALERT5}) -- Squad can be spawned at the airfield in uncontrolled state. +SquadFSQ14:SetMissionRange(200) -- Squad will be considered for targets within 200 NM of its airwing location. + + +--- AIRWING Kutaisi +local WingFW35=AIRWING:New("Warehouse Kutaisi", "35th Air Wing (Kutaisi)") --Ops.AirWing#AIRWING + +-- Add squadrons to airwing. +WingFW35:AddSquadron(SquadFSQ13) +WingFW35:AddSquadron(SquadFSQ14) + +-- Payload F-16CM for GCICAP, INTERCEPT and CAP missions. +WingFW35:NewPayload("F-16CM Payload AIM-120C*4, AIM-9X*2, FUEL*2, ECM", 2, {AUFTRAG.Type.GCICAP, AUFTRAG.Type.INTERCEPT, AUFTRAG.Type.CAP}, 80) + +-- Payload A-10C for BAI, CAS, CASENHANCED. +WingFW35:NewPayload("A-10C Payload AGM-65G,AGM-65K,GBU-10*2,AIM-9*2,TGP,ECM", 2, {AUFTRAG.Type.BAI, AUFTRAG.Type.CAS, AUFTRAG.Type.CASENHANCED}, 80) + + +--- +-- CHIEF OF STAFF +--- + +-- Zone defining the border of the blue territory. +local ZoneBlueBorder=ZONE:New("Blue Border"):DrawZone() + +-- Blue agents. +local Agents=SET_GROUP:New():FilterPrefixes("US EWR"):FilterPrefixes("US Reaper"):FilterOnce() + +-- Define CHIEF. +local Chief=CHIEF:New(coalition.side.BLUE, Agents) + +-- Add border zone. +Chief:AddBorderZone(ZoneBlueBorder) + +-- Enable tactical overview. +Chief:SetTacticalOverviewOn() + +-- Add airwing(s) to the chief. +Chief:AddAirwing(WingFW35) + +-- Set strategy to DEFENSIVE: Only targets within the border of the chief's territory are attacked. +Chief:SetStrategy(CHIEF.Strategy.DEFENSIVE) + +-- Start Chief after one second. +Chief:__Start(1) + + +--- Function called each time Chief Agents detect a new contact. +function Chief:OnAfterNewContact(From, Event, To, Contact) + + -- Gather info of contact. + local ContactName=Chief:GetContactName(Contact) + local ContactType=Chief:GetContactTypeName(Contact) + local ContactThreat=Chief:GetContactThreatlevel(Contact) + + -- Text message. + local text=string.format("Detected NEW contact: Name=%s, Type=%s, Threat Level=%d", ContactName, ContactType, ContactThreat) + + -- Show message in log file. + env.info(text) + +end + \ No newline at end of file diff --git a/OPS - Chief/Chief - 20 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.miz b/OPS - Chief/Chief - 020 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.miz similarity index 100% rename from OPS - Chief/Chief - 20 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.miz rename to OPS - Chief/Chief - 020 - A2G Dispatcher Basic/Chief - 020 - A2G Dispatcher Basic.miz diff --git a/OPS - Chief/Chief - 030 - G2G Dispatcher Basic/Chief - 030 - G2G Dispatcher Basic.lua b/OPS - Chief/Chief - 030 - G2G Dispatcher Basic/Chief - 030 - G2G Dispatcher Basic.lua new file mode 100644 index 0000000000..3737c29792 --- /dev/null +++ b/OPS - Chief/Chief - 030 - G2G Dispatcher Basic/Chief - 030 - G2G Dispatcher Basic.lua @@ -0,0 +1,78 @@ +--- +-- CHIEF: G2G Dispatcher Basic +-- +-- The blue chief controls one brigade located at Kobuleti. +-- +-- The brigade consists of a single platoon only, which has Leopard 2 tanks as +-- assets and is capable of ground attack missions. +-- +-- A Reaper drone will detect targets near Kobuleti. +-- +-- The chief will send a Leo to destroy the targets, because they are in his own +-- territory (current stragety DEFENSIVE). +-- +-- NOTE that the preferred automatic response would be an air-to-ground missions (BAI). +-- But as no air assets available the G2G option is chosen. +--- + +--- +-- BRIGADE +--- + +-- Platoon of Leopard 2 tanks capable of GROUNDATTACK missions. +local Platoon1=PLATOON:New("MBT Leopard-2A6M Template", 5, "Platoon Leopard Alpha") +Platoon1:AddMissionCapability({AUFTRAG.Type.GROUNDATTACK}, 90) + +-- Brigade at Kobuleti +local BrigadeKobuleti=BRIGADE:New("Warehouse Kobuleti", "Brigade Kobuleti") --Ops.Brigade#BRIGADE + +-- Add platoon(s) to brigade. +BrigadeKobuleti:AddPlatoon(Platoon1) + + +--- +-- CHIEF OF STAFF +--- + +-- Zone defining the border of the blue territory. +local ZoneBlueBorder=ZONE:New("Blue Border"):DrawZone() + +-- Blue agents. +local Agents=SET_GROUP:New():FilterPrefixes("US EWR"):FilterPrefixes("US Reaper"):FilterOnce() + +-- Define CHIEF. +local Chief=CHIEF:New(coalition.side.BLUE, Agents) + +-- Add border zone. +Chief:AddBorderZone(ZoneBlueBorder) + +-- Enable tactical overview. +Chief:SetTacticalOverviewOn() + +-- Add brigade(s) to the chief. +Chief:AddBrigade(BrigadeKobuleti) + +-- Set strategy to DEFENSIVE: Only targets within the border of the chief's territory are attacked. +Chief:SetStrategy(CHIEF.Strategy.DEFENSIVE) + +-- Start Chief after one second. +Chief:__Start(1) + + +--- Function called each time Chief Agents detect a new contact. +function Chief:OnAfterNewContact(From, Event, To, Contact) + + -- Gather info of contact. + local ContactName=Chief:GetContactName(Contact) + local ContactType=Chief:GetContactTypeName(Contact) + local ContactThreat=Chief:GetContactThreatlevel(Contact) + + -- Text message. + local text=string.format("Detected NEW contact: Name=%s, Type=%s, Threat Level=%d", ContactName, ContactType, ContactThreat) + + -- Show message in log file. + env.info(text) + +end + + \ No newline at end of file diff --git a/OPS - Chief/Chief - 030 - G2G Dispatcher Basic/Chief - 030 - G2G Dispatcher Basic.miz b/OPS - Chief/Chief - 030 - G2G Dispatcher Basic/Chief - 030 - G2G Dispatcher Basic.miz new file mode 100644 index 0000000000..5f40705be3 Binary files /dev/null and b/OPS - Chief/Chief - 030 - G2G Dispatcher Basic/Chief - 030 - G2G Dispatcher Basic.miz differ