Updated moose.

This commit is contained in:
iTracerFacer 2025-11-28 11:16:39 -06:00
parent 10f8b16b8f
commit aa99111d6f
9 changed files with 2630 additions and 43 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
env.info('*** MOOSE GITHUB Commit Hash ID: 2025-11-22T16:18:28+01:00-9e55118d3e8e9c02e3d8b452a38447009159cf37 ***')
env.info('*** MOOSE GITHUB Commit Hash ID: 2025-11-27T18:07:18+01:00-0abb0db2a3e46a509bf3f05ec4960fa84a6fb43c ***')
if not MOOSE_DEVELOPMENT_FOLDER then
MOOSE_DEVELOPMENT_FOLDER='Scripts'
end
@ -403,7 +403,8 @@ Tornado="Tornado",
Atlas="A400",
Lancer="B1-B",
Stratofortress="B-52H",
Hercules="C-130",
Herc="C-130",
Hercules="C-130J-30",
Super_Hercules="Hercules",
Globemaster="C-17",
Greyhound="C-2A",
@ -3104,6 +3105,18 @@ if string.find(type_name,"SA342")and(unit:getDrawArgumentValue(34)==1)then
BASE:T(unit_name.." front door(s) are open or doors removed")
return true
end
if type_name=="C-130J-30"and(unit:getDrawArgumentValue(86)==1)then
BASE:T(unit_name.." rear doors are open")
return true
end
if type_name=="C-130J-30"and(unit:getDrawArgumentValue(87)==1)then
BASE:T(unit_name.." Side door(s) are open")
return true
end
if type_name=="C-130J-30"and(unit:getDrawArgumentValue(88)==1)then
BASE:T(unit_name.." Paratroop door(s) are open")
return true
end
if string.find(type_name,"Hercules")and(unit:getDrawArgumentValue(1215)==1 and unit:getDrawArgumentValue(1216)==1)then
BASE:T(unit_name.." rear doors are open")
return true
@ -4377,6 +4390,7 @@ end
function UTILS.SpawnFARPAndFunctionalStatics(Name,Coordinate,FARPType,Coalition,Country,CallSign,Frequency,Modulation,ADF,SpawnRadius,VehicleTemplate,Liquids,Equipment,Airframes,F10Text,DynamicSpawns,HotStart,NumberPads,SpacingX,SpacingY)
local function PopulateStorage(Name,liquids,equip,airframes)
local newWH=STORAGE:New(Name)
if newWH then
if liquids and liquids>0 then
newWH:SetLiquid(STORAGE.Liquid.DIESEL,liquids)
newWH:SetLiquid(STORAGE.Liquid.GASOLINE,liquids)
@ -4396,6 +4410,7 @@ newWH:SetItem(typename,airframes)
end
end
end
end
local farplocation=Coordinate
local farptype=FARPType or ENUMS.FARPType.FARP
local Coalition=Coalition or coalition.side.BLUE
@ -4460,15 +4475,14 @@ time=timer.getTime(),
initiator=Static
}
world.onEvent(Event)
PopulateStorage(Name.."-1",liquids,equip,airframes)
else
local newfarp=SPAWNSTATIC:NewFromType(STypeName,"Heliports",Country)
newfarp:InitShape(SShapeName)
newfarp:InitFARP(callsign,freq,mod,DynamicSpawns,HotStart)
local spawnedfarp=newfarp:SpawnFromCoordinate(farplocation,0,Name)
table.insert(ReturnObjects,spawnedfarp)
PopulateStorage(Name,liquids,equip,airframes)
end
PopulateStorage(Name,liquids,equip,airframes)
local FARPStaticObjectsNato={
["FUEL"]={TypeName="FARP Fuel Depot",ShapeName="GSM Rus",Category="Fortifications"},
["AMMO"]={TypeName="FARP Ammo Dump Coating",ShapeName="SetkaKP",Category="Fortifications"},
@ -4984,6 +4998,89 @@ end
end
return nil
end
function UTILS.CreateAirbaseEnum()
local function _savefile(filename,data)
local file=lfs.writedir()..filename
local f=io.open(file,"wb")
if f then
f:write(data)
f:close()
env.info(string.format("Saving to file %s",tostring(file)))
else
env.info(string.format("ERROR: Could not save results to file %s",tostring(file)))
end
end
local airbases=world.getAirbases()
local mapname=env.mission.theatre
local myab={}
for i,_airbase in pairs(airbases)do
local airbase=_airbase
local cat=airbase:getDesc().category
if cat==Airbase.Category.AIRDROME then
local name=airbase:getName()
local key=name
if name=="Airracing Lubeck"then
key="Airracing_Luebeck"
elseif name=="Bad Durkheim"then
key="Bad_Duerkheim"
elseif name=="Buchel"then
key="Buechel"
elseif name=="Buckeburg"then
key="Bueckeburg"
elseif name=="Dusseldorf"then
key="Duesseldorf"
elseif name=="Gutersloh"then
key="Guetersloh"
elseif name=="Kothen"then
key="Koethen"
elseif name=="Larz"then
key="Laerz"
elseif name=="Lubeck"then
key="Luebeck"
elseif name=="Luneburg"then
key="Lueneburg"
elseif name=="Norvenich"then
key="Noervenich"
elseif name=="Ober-Morlen"then
key="Ober_Moerlen"
elseif name=="Peenemunde"then
key="Peenemuende"
elseif name=="Pottschutthohe"then
key="Pottschutthoehe"
elseif name=="Schonefeld"then
key="Schoenefeld"
elseif name=="Weser Wumme"then
key="Weser_Wuemme"
elseif name=="Zollschen"then
key="Zoellschen"
elseif name=="Zweibrucken"then
key="Zweibruecken"
end
key=key:gsub(" ","_")
key=key:gsub("-","_")
key=key:gsub("'","_")
key=UTILS.ReplaceIllegalCharacters(key,"_")
local entry={}
entry.key=key
entry.name=name
table.insert(myab,entry)
end
end
table.sort(myab,function(a,b)return a.name<b.name end)
local text=string.format("\n--- Airbases of the %s map",mapname)
text=text.."\n--"
for _,ab in pairs(myab)do
text=text..string.format("\n-- * `AIRBASE.%s.%s` %s",mapname,ab.key,ab.name)
end
text=text.."\n--"
text=text..string.format("\n-- @field %s",mapname)
text=text..string.format("\nAIRBASE.%s = {",mapname)
for _,ab in pairs(myab)do
text=text..string.format('\n\t["%s"] = "%s",',ab.key,ab.name)
end
text=text.."\n}"
_savefile(string.format("%s-enums.txt",env.mission.theatre),text)
end
PROFILER={
ClassName="PROFILER",
Counters={},
@ -20609,6 +20706,9 @@ SpawnTemplate.units[UnitID].y=SpawnTemplate.units[UnitID].y+(RandomVec2.y-Curren
end
end
if self.SpawnRandomizeUnits then
if self.SpawnRandomizePosition then
PointVec3=COORDINATE:New(SpawnTemplate.x,SpawnTemplate.route.points[1].alt,SpawnTemplate.y)
end
for UnitID=1,#SpawnTemplate.units do
local RandomVec2=PointVec3:GetRandomVec2InRadius(self.SpawnOuterRadius,self.SpawnInnerRadius)
if(SpawnZone)then
@ -31631,6 +31731,7 @@ AIRBASE.Nevada={
}
AIRBASE.Normandy={
["Abbeville_Drucat"]="Abbeville Drucat",
["Alderney"]="Alderney",
["Amiens_Glisy"]="Amiens-Glisy",
["Argentan"]="Argentan",
["Avranches_Le_Val_Saint_Pere"]="Avranches Le Val-Saint-Pere",
@ -31639,6 +31740,7 @@ AIRBASE.Normandy={
["Bazenville"]="Bazenville",
["Beaumont_le_Roger"]="Beaumont-le-Roger",
["Beauvais_Tille"]="Beauvais-Tille",
["Bembridg"]="Bembridg",
["Beny_sur_Mer"]="Beny-sur-Mer",
["Bernay_Saint_Martin"]="Bernay Saint Martin",
["Beuzeville"]="Beuzeville",
@ -31661,6 +31763,7 @@ AIRBASE.Normandy={
["Deux_Jumeaux"]="Deux Jumeaux",
["Dinan_Trelivan"]="Dinan-Trelivan",
["Dunkirk_Mardyck"]="Dunkirk-Mardyck",
["Eastchurch"]="Eastchurch",
["Essay"]="Essay",
["Evreux"]="Evreux",
["Farnborough"]="Farnborough",
@ -31671,12 +31774,18 @@ AIRBASE.Normandy={
["Funtington"]="Funtington",
["Goulet"]="Goulet",
["Gravesend"]="Gravesend",
["Guernsey"]="Guernsey",
["Guyancourt"]="Guyancourt",
["Hauterive"]="Hauterive",
["Hawkinge"]="Hawkinge",
["Headcorn"]="Headcorn",
["Heathrow"]="Heathrow",
["High_Halden"]="High Halden",
["Holmsley_South"]="Holmsley South",
["Jersey"]="Jersey",
["Kenley"]="Kenley",
["Lantheuil"]="Lantheuil",
["Lashenden"]="Lashenden",
["Le_Molay"]="Le Molay",
["Lessay"]="Lessay",
["Lignerolles"]="Lignerolles",
@ -31689,6 +31798,7 @@ AIRBASE.Normandy={
["Meautis"]="Meautis",
["Merville_Calonne"]="Merville Calonne",
["Needs_Oar_Point"]="Needs Oar Point",
["Northolt"]="Northolt",
["Odiham"]="Odiham",
["Orly"]="Orly",
["Picauville"]="Picauville",
@ -31696,10 +31806,11 @@ AIRBASE.Normandy={
["Ronai"]="Ronai",
["Rouen_Boos"]="Rouen-Boos",
["Rucqueville"]="Rucqueville",
["Saint_Pierre_du_Mont"]="Saint Pierre du Mont",
["Saint_Andre_de_lEure"]="Saint-Andre-de-lEure",
["Saint_Aubin"]="Saint-Aubin",
["Saint_Omer_Wizernes"]="Saint-Omer Wizernes",
["Saint_Pierre_du_Mont"]="Saint Pierre du Mont",
["Saint_Pol_Bryas"]="Saint-Pol-Bryas",
["Sainte_Croix_sur_Mer"]="Sainte-Croix-sur-Mer",
["Sainte_Laurent_sur_Mer"]="Sainte-Laurent-sur-Mer",
["Sommervieu"]="Sommervieu",
@ -31709,18 +31820,15 @@ AIRBASE.Normandy={
["Villacoublay"]="Villacoublay",
["Vrigny"]="Vrigny",
["West_Malling"]="West Malling",
["Eastchurch"]="Eastchurch",
["Headcorn"]="Headcorn",
["Hawkinge"]="Hawkinge",
}
AIRBASE.PersianGulf={
["Abu_Dhabi_Intl"]="Abu Dhabi Intl",
["Abu_Musa_Island"]="Abu Musa Island",
["Al_Ain_Intl"]="Al Ain Intl",
["Al_Bateen"]="Al-Bateen",
["Al_Dhafra_AFB"]="Al Dhafra AFB",
["Al_Maktoum_Intl"]="Al Maktoum Intl",
["Al_Minhad_AFB"]="Al Minhad AFB",
["Al_Bateen"]="Al-Bateen",
["Bandar_Abbas_Intl"]="Bandar Abbas Intl",
["Bandar_Lengeh"]="Bandar Lengeh",
["Bandar_e_Jask"]="Bandar-e-Jask",
@ -31763,13 +31871,14 @@ AIRBASE.Syria={
["Abu_al_Duhur"]="Abu al-Duhur",
["Adana_Sakirpasa"]="Adana Sakirpasa",
["Akrotiri"]="Akrotiri",
["Al_Dumayr"]="Al-Dumayr",
["Al_Qusayr"]="Al Qusayr",
["Al_Dumayr"]="Al-Dumayr",
["Aleppo"]="Aleppo",
["An_Nasiriyah"]="An Nasiriyah",
["At_Tanf"]="At Tanf",
["Bassel_Al_Assad"]="Bassel Al-Assad",
["Beirut_Rafic_Hariri"]="Beirut-Rafic Hariri",
["Ben_Gurion"]="Ben Gurion",
["Damascus"]="Damascus",
["Deir_ez_Zor"]="Deir ez-Zor",
["Ercan"]="Ercan",
@ -31785,6 +31894,7 @@ AIRBASE.Syria={
["Haifa"]="Haifa",
["Hama"]="Hama",
["Hatay"]="Hatay",
["Hatzor"]="Hatzor",
["Herzliya"]="Herzliya",
["Incirlik"]="Incirlik",
["Jirah"]="Jirah",
@ -31797,16 +31907,17 @@ AIRBASE.Syria={
["Kuweires"]="Kuweires",
["Lakatamia"]="Lakatamia",
["Larnaca"]="Larnaca",
["Marka"]="Marka",
["Marj_Ruhayyil"]="Marj Ruhayyil",
["Marj_as_Sultan_North"]="Marj as Sultan North",
["Marj_as_Sultan_South"]="Marj as Sultan South",
["Marka"]="Marka",
["Megiddo"]="Megiddo",
["Mezzeh"]="Mezzeh",
["Minakh"]="Minakh",
["Muwaffaq_Salti"]="Muwaffaq Salti",
["Naqoura"]="Naqoura",
["Nicosia"]="Nicosia",
["Palmachim"]="Palmachim",
["Palmyra"]="Palmyra",
["Paphos"]="Paphos",
["Pinarbashi"]="Pinarbashi",
@ -31823,17 +31934,14 @@ AIRBASE.Syria={
["Tabqa"]="Tabqa",
["Taftanaz"]="Taftanaz",
["Tal_Siman"]="Tal Siman",
["Tel_Nof"]="Tel Nof",
["Tha_lah"]="Tha'lah",
["Tiyas"]="Tiyas",
["Wujah_Al_Hajar"]="Wujah Al Hajar",
["Ben_Gurion"]="Ben Gurion",
["Hatzor"]="Hatzor",
["Palmachim"]="Palmachim",
["Tel_Nof"]="Tel Nof",
}
AIRBASE.MarianaIslands={
["Andersen_AFB"]="Andersen AFB",
["Antonio_B_Won_Pat_Intl"]="Antonio B. Won Pat Intl",
["Antonio_B._Won_Pat_Intl"]="Antonio B. Won Pat Intl",
["North_West_Field"]="North West Field",
["Olf_Orote"]="Olf Orote",
["Pagan_Airstrip"]="Pagan Airstrip",
@ -31841,8 +31949,7 @@ AIRBASE.MarianaIslands={
["Saipan_Intl"]="Saipan Intl",
["Tinian_Intl"]="Tinian Intl",
}
AIRBASE.MarianaIslandsWWII=
{
AIRBASE.MarianaIslandsWWII={
["Agana"]="Agana",
["Airfield_3"]="Airfield 3",
["Charon_Kanoa"]="Charon Kanoa",
@ -31905,6 +32012,7 @@ AIRBASE.Sinai={
["Cairo_West"]="Cairo West",
["Damascus_Intl"]="Damascus Intl",
["Difarsuwar_Airfield"]="Difarsuwar Airfield",
["Ein_Shamer"]="Ein Shamer",
["El_Arish"]="El Arish",
["El_Gora"]="El Gora",
["El_Minya"]="El Minya",
@ -31916,8 +32024,11 @@ AIRBASE.Sinai={
["Inshas_Airbase"]="Inshas Airbase",
["Jiyanklis_Air_Base"]="Jiyanklis Air Base",
["Kedem"]="Kedem",
["Khalkhalah_Air_Base"]="Khalkhalah Air Base",
["Kibrit_Air_Base"]="Kibrit Air Base",
["King_Feisal_Air_Base"]="King Feisal Air Base",
["Kom_Awshim"]="Kom Awshim",
["Megiddo"]="Megiddo",
["Melez"]="Melez",
["Mezzeh_Air_Base"]="Mezzeh Air Base",
["Nevatim"]="Nevatim",
@ -31931,45 +32042,50 @@ AIRBASE.Sinai={
["Sde_Dov"]="Sde Dov",
["Sharm_El_Sheikh_International_Airport"]="Sharm El Sheikh International Airport",
["St_Catherine"]="St Catherine",
["Taba_International_Airport"]="Taba International Airport",
["Tabuk"]="Tabuk",
["TabukHeliBase"]="TabukHeliBase",
["Tel_Nof"]="Tel Nof",
["Wadi_Abu_Rish"]="Wadi Abu Rish",
["Wadi_al_Jandali"]="Wadi al Jandali",
}
AIRBASE.Kola={
["Afrikanda"]="Afrikanda",
["Alakurtti"]="Alakurtti",
["Alta"]="Alta",
["Andoya"]="Andoya",
["Arvidsjaur"]="Arvidsjaur",
["Banak"]="Banak",
["Bardufoss"]="Bardufoss",
["Boden_Heli_Base"]="Boden Heli Base",
["Bodo"]="Bodo",
["Enontekio"]="Enontekio",
["Evenes"]="Evenes",
["Hemavan"]="Hemavan",
["Hosio"]="Hosio",
["Ivalo"]="Ivalo",
["Jokkmokk"]="Jokkmokk",
["Kalevala"]="Kalevala",
["Kalixfors"]="Kalixfors",
["Kallax"]="Kallax",
["Kemi_Tornio"]="Kemi Tornio",
["Kilpyavr"]="Kilpyavr",
["Kirkenes"]="Kirkenes",
["Kiruna"]="Kiruna",
["Kittila"]="Kittila",
["Koshka_Yavr"]="Koshka Yavr",
["Kuusamo"]="Kuusamo",
["Luostari_Pechenga"]="Luostari Pechenga",
["Monchegorsk"]="Monchegorsk",
["Murmansk_International"]="Murmansk International",
["Olenya"]="Olenya",
["Poduzhemye"]="Poduzhemye",
["Rovaniemi"]="Rovaniemi",
["Severomorsk_1"]="Severomorsk-1",
["Severomorsk_3"]="Severomorsk-3",
["Sodankyla"]="Sodankyla",
["Vidsel"]="Vidsel",
["Vuojarvi"]="Vuojarvi",
["Andoya"]="Andoya",
["Alakurtti"]="Alakurtti",
["Kittila"]="Kittila",
["Bardufoss"]="Bardufoss",
["Alta"]="Alta",
["Sodankyla"]="Sodankyla",
["Enontekio"]="Enontekio",
["Evenes"]="Evenes",
["Hosio"]="Hosio",
["Kilpyavr"]="Kilpyavr",
["Afrikanda"]="Afrikanda",
["Kalevala"]="Kalevala",
["Koshka_Yavr"]="Koshka Yavr",
["Poduzhemye"]="Poduzhemye",
["Luostari_Pechenga"]="Luostari Pechenga",
}
AIRBASE.Afghanistan={
["Bagram"]="Bagram",
@ -31979,6 +32095,10 @@ AIRBASE.Afghanistan={
["Camp_Bastion_Heliport"]="Camp Bastion Heliport",
["Chaghcharan"]="Chaghcharan",
["Dwyer"]="Dwyer",
["FOB_Camp_Dubs"]="FOB Camp Dubs",
["FOB_Clark"]="FOB Clark",
["FOB_Salerno"]="FOB Salerno",
["FOB_Thunder"]="FOB Thunder",
["Farah"]="Farah",
["Gardez"]="Gardez",
["Ghazni_Heliport"]="Ghazni Heliport",
@ -31988,7 +32108,6 @@ AIRBASE.Afghanistan={
["Kandahar"]="Kandahar",
["Kandahar_Heliport"]="Kandahar Heliport",
["Khost"]="Khost",
["Khost_Heliport"]="Khost Heliport",
["Maymana_Zahiraddin_Faryabi"]="Maymana Zahiraddin Faryabi",
["Nimroz"]="Nimroz",
["Qala_i_Naw"]="Qala i Naw",
@ -32009,10 +32128,10 @@ AIRBASE.Iraq={
["Balad_Airbase"]="Balad Airbase",
["Bashur_Airport"]="Bashur Airport",
["Erbil_International_Airport"]="Erbil International Airport",
["H2_Airbase"]="H-2 Airbase",
["H3_Main_Airbase"]="H-3 Main Airbase",
["H3_Northwest_Airbase"]="H-3 Northwest Airbase",
["H3_Southwest_Airbase"]="H-3 Southwest Airbase",
["H_2_Airbase"]="H-2 Airbase",
["H_3_Main_Airbase"]="H-3 Main Airbase",
["H_3_Northwest_Airbase"]="H-3 Northwest Airbase",
["H_3_Southwest_Airbase"]="H-3 Southwest Airbase",
["K1_Base"]="K1 Base",
["Kirkuk_International_Airport"]="Kirkuk International Airport",
["Mosul_International_Airport"]="Mosul International Airport",
@ -32020,6 +32139,7 @@ AIRBASE.Iraq={
["Sulaimaniyah_International_Airport"]="Sulaimaniyah International Airport",
}
AIRBASE.GermanyCW={
["Adelsheim"]="Adelsheim",
["Airracing_Frankfurt"]="Airracing Frankfurt",
["Airracing_Koblenz"]="Airracing Koblenz",
["Airracing_Luebeck"]="Airracing Lubeck",
@ -32030,16 +32150,23 @@ AIRBASE.GermanyCW={
["Bienenfarm"]="Bienenfarm",
["Bindersleben"]="Bindersleben",
["Bitburg"]="Bitburg",
["Bornholm"]="Bornholm",
["Brand"]="Brand",
["Brandis"]="Brandis",
["Braunschweig"]="Braunschweig",
["Bremen"]="Bremen",
["Briest"]="Briest",
["Buechel"]="Buchel",
["Bueckeburg"]="Buckeburg",
["Celle"]="Celle",
["Chojna"]="Chojna",
["Cochstedt"]="Cochstedt",
["Cologne"]="Cologne",
["Damgarten"]="Damgarten",
["Dedelow"]="Dedelow",
["Dessau"]="Dessau",
["Duesseldorf"]="Dusseldorf",
["Falkenberg"]="Falkenberg",
["Fassberg"]="Fassberg",
["Finow"]="Finow",
["Frankfurt"]="Frankfurt",
@ -32050,7 +32177,7 @@ AIRBASE.GermanyCW={
["Gatow"]="Gatow",
["Gelnhausen"]="Gelnhausen",
["Giebelstadt"]="Giebelstadt",
["Glindbruchkippe"]="Glindbruchkippe ",
["Glindbruchkippe"]="Glindbruchkippe",
["Gross_Mohrdorf"]="Gross Mohrdorf",
["Grosse_Wiese"]="Grosse Wiese",
["Guetersloh"]="Gutersloh",
@ -32168,43 +32295,60 @@ AIRBASE.GermanyCW={
["Hamburg_Finkenwerder"]="Hamburg Finkenwerder",
["Hannover"]="Hannover",
["Hasselfelde"]="Hasselfelde",
["Heidelberg"]="Heidelberg",
["Herrenteich"]="Herrenteich",
["Hildesheim"]="Hildesheim",
["Hockenheim"]="Hockenheim",
["Holzdorf"]="Holzdorf",
["Kammermark"]="Kammermark",
["Kastrup"]="Kastrup",
["Kiel"]="Kiel",
["Koethen"]="Kothen",
["Laage"]="Laage",
["Landstuhl"]="Landstuhl",
["Langenselbold"]="Langenselbold",
["Laerz"]="Larz",
["Leipzig_Halle"]="Leipzig Halle",
["Leipzig_Mockau"]="Leipzig Mockau",
["Luebeck"]="Lubeck",
["Lueneburg"]="Luneburg",
["Mahlwinkel"]="Mahlwinkel",
["Mainz_Finthen"]="Mainz Finthen",
["Marxwalde"]="Marxwalde",
["Mendig"]="Mendig",
["Merseburg"]="Merseburg",
["Neubrandenburg"]="Neubrandenburg",
["Neuruppin"]="Neuruppin",
["Nordholz"]="Nordholz",
["Northeim"]="Northeim",
["Noervenich"]="Norvenich",
["Ober_Moerlen"]="Ober-Morlen",
["Obermehler_Schlotheim"]="Obermehler Schlotheim",
["Oranienburg"]="Oranienburg",
["Parchim"]="Parchim",
["Peenemuende"]="Peenemunde",
["Perwenitz"]="Perwenitz",
["Pferdsfeld"]="Pferdsfeld",
["Pinnow"]="Pinnow",
["Pottschutthoehe"]="Pottschutthohe",
["Ramstein"]="Ramstein",
["Revinge"]="Revinge",
["Rinteln"]="Rinteln",
["Schkeuditz"]="Schkeuditz",
["Schoenefeld"]="Schonefeld",
["Schweinfurt"]="Schweinfurt",
["Sembach"]="Sembach",
["Sittensen"]="Sittensen",
["Spangdahlem"]="Spangdahlem",
["Sperenberg"]="Sperenberg",
["Sprendlingen"]="Sprendlingen",
["Stendal"]="Stendal",
["Sturup"]="Sturup",
["Szczecin_Goleniow"]="Szczecin-Goleniow",
["Tagra"]="Tagra",
["Tegel"]="Tegel",
["Tempelhof"]="Tempelhof",
["Templin"]="Templin",
["Thurland"]="Thurland",
["Tutow"]="Tutow",
["Uelzen"]="Uelzen",
["Uetersen"]="Uetersen",
@ -32220,6 +32364,7 @@ AIRBASE.GermanyCW={
["Worms"]="Worms",
["Wunstorf"]="Wunstorf",
["Zerbst"]="Zerbst",
["Zoellschen"]="Zollschen",
["Zweibruecken"]="Zweibrucken",
}
AIRBASE.TerminalType={
@ -33252,6 +33397,12 @@ self.Vec3=SceneryZone:GetVec3()
self.Vec2=SceneryZone:GetVec2()
self.Vector=(self.Vec3 and VECTOR)and VECTOR:NewFromVec(self.Vec3)or nil
end
if SceneryObject then
local vec3=SceneryObject:getPoint()
self.Vec3={x=vec3.x,y=vec3.y,z=vec3.z}
self.Vec2={x=vec3.x,y=vec3.z}
self.Vector=(self.Vec3 and VECTOR)and VECTOR:NewFromVec(self.Vec3)or nil
end
if self.SceneryObject and self.SceneryObject.getLife then
self.Life0=self.SceneryObject:getLife()or 1
else
@ -34306,7 +34457,7 @@ function NET:GetPlayerIDByName(Name)
if not Name then return nil end
local playerList=net.get_player_list()
for i=1,#playerList do
local playerName=net.get_name(i)
local playerName=net.get_name(playerList[i])
if playerName==Name then
return playerList[i]
end
@ -45949,12 +46100,18 @@ self.controlmsrs:SetPort(Port or MSRS.port)
self.controlmsrs:SetCoalition(Coalition or coalition.side.BLUE)
self.controlmsrs:SetLabel("RANGEC")
self.controlmsrs:SetVolume(Volume or 1.0)
if self.rangezone then
self.controlmsrs:SetCoordinate(self.rangezone:GetCoordinate())
end
self.controlsrsQ=MSRSQUEUE:New("CONTROL")
self.instructmsrs=MSRS:New(PathToSRS or MSRS.path,Frequency or 305,Modulation or radio.modulation.AM)
self.instructmsrs:SetPort(Port or MSRS.port)
self.instructmsrs:SetCoalition(Coalition or coalition.side.BLUE)
self.instructmsrs:SetLabel("RANGEI")
self.instructmsrs:SetVolume(Volume or 1.0)
if self.rangezone then
self.instructmsrs:SetCoordinate(self.rangezone:GetCoordinate())
end
self.instructsrsQ=MSRSQUEUE:New("INSTRUCT")
if PathToGoogleKey then
self.controlmsrs:SetProviderOptionsGoogle(PathToGoogleKey,PathToGoogleKey)
@ -45981,8 +46138,13 @@ self.controlmsrs:SetGender(gender or"female")
self.rangecontrol=true
if relayunitname then
local unit=UNIT:FindByName(relayunitname)
if unit then
local Coordinate=unit:GetCoordinate()
self.rangecontrolrelayname=relayunitname
self.controlmsrs:SetCoordinate(Coordinate)
else
MESSAGE:New("RANGE: Control Relay Unit "..relayunitname.." not found!",15,"ERROR"):ToAllIf(self.Debug):ToLog()
end
end
return self
end
@ -46000,9 +46162,13 @@ self.instructmsrs:SetGender(gender or"male")
self.instructor=true
if relayunitname then
local unit=UNIT:FindByName(relayunitname)
if unit then
local Coordinate=unit:GetCoordinate()
self.instructmsrs:SetCoordinate(Coordinate)
self.instructorrelayname=relayunitname
else
MESSAGE:New("RANGE: Instructor Relay Unit "..relayunitname.." not found!",15,"ERROR"):ToAllIf(self.Debug):ToLog()
end
end
return self
end
@ -48194,7 +48360,7 @@ maxrange=7000,
reloadtime=nil,
},
}
ARTY.version="1.3.3"
ARTY.version="1.3.4"
function ARTY:New(group,alias)
local self=BASE:Inherit(self,FSM_CONTROLLABLE:New())
if type(group)=="string"then
@ -48874,7 +49040,7 @@ _destroyweapon=true
end
elseif target.weapontype==ARTY.WeaponType.SmokeShells then
if _dist<target.radius then
local _cr=_coord:GetRandomCoordinateInRadius(_data.target.radius)
local _cr=_coord:GetRandomCoordinateInRadius(target.radius)
_cr:Smoke(self.smokeColor)
_destroyweapon=true
end