diff --git a/Ops/EasyGCICAP/EasyGCICAP - 120 - Carrier/EasyGCICAP - 120 - Carrier.lua b/Ops/EasyGCICAP/EasyGCICAP - 120 - Carrier/EasyGCICAP - 120 - Carrier.lua new file mode 100644 index 0000000000..8ebc12fc4b --- /dev/null +++ b/Ops/EasyGCICAP/EasyGCICAP - 120 - Carrier/EasyGCICAP - 120 - Carrier.lua @@ -0,0 +1,41 @@ +------------------------------------------------------------------------- +-- EasyGCICAP 120 - Carrier demo +------------------------------------------------------------------------- +-- Documentation +-- +-- EasyGCICAP: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.EasyGCICAP.html +-- +------------------------------------------------------------------------- +-- Demos the use of EASYGCICAP on a carrier +------------------------------------------------------------------------- +-- Date: Aug 2025 +------------------------------------------------------------------------- + +-- Get the carrier UNIT object - this is the airbase and a warehouse already, no need to set an extra STATIC object for that! +local Carrier = UNIT:FindByName("Carrier") +-- Define a ZONE relative to the carrier, for defense - ZONE_UNIT moves around with the UNIT +local CarrierZone = ZONE_UNIT:New("Carrier Zone",Carrier,UTILS.NMToMeters(100)) -- Core.Zone#ZONE_UNIT +-- Define a ZONE relative to the carrier, with an offset ahead of heading +5° in 50NM distance as CAP point - ZONE_UNIT moves around with the UNIT +local CarrierCAPZone = ZONE_UNIT:New("Carrier Zone",Carrier,5000,{rho=UTILS.NMToMeters(50),theta=5,relative_to_unit=true}) -- Core.Zone#ZONE_UNIT +-- Draw defense zone +CarrierZone:DrawZone(-1,{0,0,1},1,{0,0,1},.15,1,true) +-- Set up EASYGCICAP on a carrier +local CarrierCAP = EASYGCICAP:New("Carrier Ops","Carrier","blue","Blue CVN") +CarrierCAP:AddSquadron("Tomcat","31st Fighter Wing","Carrier",20) +CarrierCAP:SetDefaultCAPAlt(25000) +CarrierCAP:SetDefaultCAPDirection(Carrier:GetHeading()) +CarrierCAP:SetDefaultCAPSpeed(350) +CarrierCAP:SetDefaultTakeOffType("hot") +CarrierCAP:AddPatrolPointCAP("Carrier",CarrierCAPZone,25000,350,Carrier:GetHeading(),50) -- The CAP zone is our "moving" zone, the anchor point is updated for every new CAP mission +CarrierCAP:SetDefaultDespawnAfterLanding() +CarrierCAP:AddAcceptZone(CarrierZone) +CarrierCAP:ShowPatrolPointMarkers(true) +MESSAGE:New("EASYGCICAP Carrier Started!",15):ToAll() + +-- Redraw function - shows the zone is moving with the carrier +function UpdateZoneDrawings(CarrierZone,DrawID,CarrierCAPCoord) + CarrierZone:UndrawZone() + CarrierZone:DrawZone(-1,{0,0,1},1,{0,0,1},.15,1,true) +end +-- Redraw every one minute +local ReDrawTimer = TIMER:New(UpdateZoneDrawings,CarrierZone):Start(60,60) diff --git a/Ops/EasyGCICAP/EasyGCICAP - 120 - Carrier/EasyGCICAP - 120 - Carrier.miz b/Ops/EasyGCICAP/EasyGCICAP - 120 - Carrier/EasyGCICAP - 120 - Carrier.miz new file mode 100644 index 0000000000..833c4ed32e Binary files /dev/null and b/Ops/EasyGCICAP/EasyGCICAP - 120 - Carrier/EasyGCICAP - 120 - Carrier.miz differ