mirror of
https://github.com/akaAgar/the-universal-mission-for-dcs-world.git
synced 2026-09-03 09:20:57 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d2d850799e | |||
| 574125abf6 | |||
| cbb25cd67a | |||
| c263428c7b | |||
| 6586b7a513 | |||
| 121a4f01f8 |
@@ -1,6 +1,6 @@
|
||||
# The Universal Mission for DCS World
|
||||
|
||||
**Current version: open beta 0.1.250722** (see the "version history" section at the end of this file for a list of the latest changes)
|
||||
**Current version: open beta 0.1.250722-update1** (see the "version history" section at the end of this file for a list of the latest changes)
|
||||
|
||||
**This is a BETA version, there may be bugs and there WILL be unbalanced stuff.**
|
||||
|
||||
@@ -29,8 +29,8 @@ I think with The Universal Mission is, finally, the proper way to approach this
|
||||
|
||||
**Please read the "planned development" section below for more information.**
|
||||
|
||||
- The current version supports only modern (post-Cold War) units and Caucasus, Persian Gulf and Syria theaters
|
||||
- Kola, Marianas and Germany support will come soon, others will follow later
|
||||
- The current version supports only modern (post-Cold War) units and Caucasus, Kola, Marianas, Persian Gulf and Syria theaters
|
||||
- Germany support will come soon, others will follow later
|
||||
- Not all mission types are supported yet
|
||||
- Career progress may be lost because of future updates, don't get too attached to it
|
||||
|
||||
@@ -99,14 +99,11 @@ Please also note that PvP is not supported at the moment and that the mission wi
|
||||
|
||||
## Planned development
|
||||
|
||||
### Planned for next update (ASAP, before I leave for vacations :)
|
||||
|
||||
- Support for Kola, Marianas and Germany theaters
|
||||
|
||||
### VERY high priority
|
||||
|
||||
- New objectives: helicopter (drop/pickup units...), CAP, CAS, OCA (airbase attack)
|
||||
- New menu for enemy contacts report, allowing both to quiery AWACS reports and to ask other AI pilots about what they see in the air and on the ground
|
||||
- Support for Germany theater
|
||||
|
||||
### High priority
|
||||
|
||||
@@ -171,4 +168,11 @@ The core script is quite simple and small, I probably won't need too much help w
|
||||
|
||||
## Version history
|
||||
|
||||
- **0.1.250722** (07/22/2025): Initial public release
|
||||
- **0.1.250722-update1** (07/22/2025)
|
||||
- Added Kola theater
|
||||
- Added Marianas theater
|
||||
- Added message when XP is awarded to player after landing
|
||||
- Fixed bug when friendly non-unit object is hit
|
||||
- Slightly lowered XP required for medals and promotions
|
||||
- **0.1.250722** (07/22/2025)
|
||||
- Initial public release
|
||||
|
||||
@@ -116,8 +116,10 @@ do
|
||||
|
||||
-- Friendly aircraft hit
|
||||
if event.target:getDesc().category == Unit.Category.AIRPLANE or event.target:getDesc().category == Unit.Category.HELICOPTER then
|
||||
if not event.initiator:getPlayerName() then -- Players don't radio out when they're hit
|
||||
doAmbientChatter("pilotImHit", nil, event.target:getCallsign(), 3)
|
||||
if Object.getCategory(event.initiator) == Object.Category.UNIT then
|
||||
if not event.initiator:getPlayerName() then -- Players don't radio out when they're hit
|
||||
doAmbientChatter("pilotImHit", nil, event.target:getCallsign(), 3)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -28,20 +28,20 @@ do
|
||||
local OBJECTIVES_PER_RIBBON = 4 -- How many completed objectives to gain a new ribbon?
|
||||
|
||||
local MEDALS = {
|
||||
{ "Air medal", 200 },
|
||||
{ "Bronze star", 300 },
|
||||
{ "Airman's medal", 400 },
|
||||
{ "Distinguished Flying Cross", 500 },
|
||||
{ "Silver Star for Valor", 600 },
|
||||
{ "Air Force Cross", 700 },
|
||||
{ "Congressional Medal of Honor", 800 },
|
||||
{ "Air medal", 150 },
|
||||
{ "Bronze star", 225 },
|
||||
{ "Airman's medal", 300 },
|
||||
{ "Distinguished Flying Cross", 375 },
|
||||
{ "Silver Star for Valor", 450 },
|
||||
{ "Air Force Cross", 525 },
|
||||
{ "Congressional Medal of Honor", 600 },
|
||||
}
|
||||
|
||||
local RANKS = {
|
||||
{ "2d Lt.", "Second lieutenant", 0 },
|
||||
{ "1st Lt.", "First lieutenant", 500 },
|
||||
{ "Capt.", "Captain", 2000 },
|
||||
{ "Maj.", "Major", 8000 },
|
||||
{ "1st Lt.", "First lieutenant", 400 },
|
||||
{ "Capt.", "Captain", 1600 },
|
||||
{ "Maj.", "Major", 6400 },
|
||||
{ "Lt Col.", "Lieutenant colonel", 16000 },
|
||||
{ "Col.", "Colonel", 32000 },
|
||||
}
|
||||
@@ -103,7 +103,7 @@ do
|
||||
careerStats.bestSortie = math.max(careerStats.bestSortie, score)
|
||||
careerStats.score = careerStats.score + score
|
||||
careerStats.completedObjectives = careerStats.completedObjectives + objectives
|
||||
TUM.log("Awarded "..tostring(score).." xp and "..tostring(objectives).." completed objectives to player.")
|
||||
trigger.action.outText(DCSEx.string.toStringThousandsSeparator(score).." xp and "..tostring(objectives).." completed objective(s) were registered in your flight log.", 5)
|
||||
local newRibbonCount = getRibbonCount()
|
||||
|
||||
local somethingWasAwarded = false
|
||||
@@ -137,6 +137,8 @@ do
|
||||
TUM.playerCareer.displayMedalBox(false)
|
||||
end
|
||||
|
||||
TUM.playerScore.reset(false)
|
||||
|
||||
return somethingWasAwarded
|
||||
end
|
||||
|
||||
|
||||
@@ -171,8 +171,6 @@ do
|
||||
|
||||
TUM.radio.playForAll("atcSafeLandingPlayer", {event.initiator:getCallsign(), baseName}, baseName.." ATC")
|
||||
end
|
||||
|
||||
TUM.playerScore.reset(false)
|
||||
end
|
||||
|
||||
-------------------------------------
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"displayName": "Kola",
|
||||
|
||||
"dcsID": "Kola",
|
||||
|
||||
"mapCenter": [116230.08849558, -22000],
|
||||
"mapZoom": 1812979.3510324,
|
||||
|
||||
"dateTime": {
|
||||
"day": 1,
|
||||
"month": 6,
|
||||
"year": 2010,
|
||||
"hour": 12,
|
||||
"minute": 0
|
||||
},
|
||||
|
||||
"temperature": 14,
|
||||
|
||||
"airbasesIDs": [
|
||||
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
|
||||
26, 27, 28, 29, 30, 31, 32, 33
|
||||
],
|
||||
|
||||
"bullseye": {
|
||||
"blue": [139562.64976911, 374853.373795],
|
||||
"red": [42374.616404854, 102140.40086341]
|
||||
},
|
||||
|
||||
"player": {
|
||||
"airdromeID": 18,
|
||||
"coordinates": [80495.585938, 197621.367188]
|
||||
},
|
||||
|
||||
"territories": {
|
||||
"blue": [
|
||||
[
|
||||
[-301532.15339233, 2863.7168141594],
|
||||
[251167.55162242, 317804.12979351],
|
||||
[355802.35988201, -111612.97935103],
|
||||
[-76204.719764012, -471618.87905605]
|
||||
],
|
||||
[
|
||||
[-289100.29498525, 24101.474926254],
|
||||
[-303086.13569322, 206953.39233038],
|
||||
[-221761.0619469, 342149.85250737],
|
||||
[72977.581120944, 221975.22123894]
|
||||
]
|
||||
],
|
||||
"red": [
|
||||
[
|
||||
[93179.351032448, 252536.87315634],
|
||||
[-322769.91150442, 408453.09734513],
|
||||
[153266.66666667, 569549.26253687],
|
||||
[230447.78761062, 339559.8820059]
|
||||
],
|
||||
[
|
||||
[-313446.01769912, 364423.59882006],
|
||||
[-310856.04719764, 625492.62536873],
|
||||
[120633.03834808, 630672.56637168],
|
||||
[198850.14749263, 392913.27433628]
|
||||
]
|
||||
]
|
||||
},
|
||||
|
||||
"water": [
|
||||
[
|
||||
[81265.486725664, -465920.9439528],
|
||||
[17034.218289086, -443647.19764012],
|
||||
[275513.27433628, -102807.07964602],
|
||||
[308146.90265487, -198117.99410029]
|
||||
],
|
||||
[
|
||||
[-206221.23893805, -544138.05309735],
|
||||
[-17153.392330383, -341602.35988201],
|
||||
[21178.171091445, -349372.27138643],
|
||||
[-124378.17109145, -574699.70501475]
|
||||
],
|
||||
[
|
||||
[293643.06784661, -78979.351032448],
|
||||
[408119.7640118, 172247.78761062],
|
||||
[444897.34513274, 161369.91150442],
|
||||
[334564.60176991, -166002.35988201]
|
||||
],
|
||||
[
|
||||
[384810.02949853, 177427.72861357],
|
||||
[211800, 476310.32448378],
|
||||
[195224.18879056, 621866.66666667],
|
||||
[437127.43362832, 218349.26253687]
|
||||
],
|
||||
[
|
||||
[-197415.33923304, 602700.88495575],
|
||||
[-311892.03539823, 617722.71386431],
|
||||
[-163227.72861357, 643104.42477876],
|
||||
[-102622.41887906, 508943.95280236]
|
||||
]
|
||||
],
|
||||
|
||||
"targetZones": {
|
||||
"Finland, Hosio": [
|
||||
[-167889.67551623, 68130.973451302],
|
||||
[-246106.78466077, 86778.761061921],
|
||||
[-306712.09439528, 369603.53982297],
|
||||
[-105730.38348083, 279472.56637165]
|
||||
],
|
||||
"Finland, Ivalo": [
|
||||
[-53930.973451334, 51037.168141568],
|
||||
[25322.123893796, 275846.60766959],
|
||||
[220605.899705, 203845.42772858],
|
||||
[62099.705014739, 7525.6637167904]
|
||||
],
|
||||
"Finland, Sodankyla": [
|
||||
[-161155.75221239, 75900.884955727],
|
||||
[-103658.40707965, 285170.5014749],
|
||||
[24286.135693206, 285170.5014749],
|
||||
[-55484.955752219, 58289.085545698]
|
||||
],
|
||||
"Norway, Alta": [
|
||||
[95576.686393045, -11385.27604052],
|
||||
[133697.8546523, 99208.003305013],
|
||||
[281155.56044634, 180896.22100342],
|
||||
[251412.67092539, 9141.5068683096]
|
||||
],
|
||||
"Norway, Evenes": [
|
||||
[-97542.638524723, -393015.87256999],
|
||||
[-109691.14269525, -293314.35558425],
|
||||
[141238.30551677, -113181.36271084],
|
||||
[161765.0884256, -265247.12181095]
|
||||
],
|
||||
"Russia, Alakurtti": [
|
||||
[-110234.42866711, 318981.13768815],
|
||||
[-58308.247474191, 494187.84429828],
|
||||
[1035.9596034337, 455331.51823555],
|
||||
[-11327.416871072, 323573.24895011]
|
||||
],
|
||||
"Russia, Murmansk": [
|
||||
[118311.41644731, 247273.55413602],
|
||||
[105594.80064496, 452505.60361281],
|
||||
[186486.60672101, 512909.52867396],
|
||||
[223576.73614453, 329225.0781956]
|
||||
],
|
||||
"Russia, Olenya": [
|
||||
[-5322.3482977404, 320394.09499952],
|
||||
[4215.1135540207, 457450.95420261],
|
||||
[105241.56131712, 488182.77572495],
|
||||
[110893.39056261, 298493.25667326]
|
||||
],
|
||||
"Sweden, Kiruna": [
|
||||
[-84492.625368732, -174290.26548673],
|
||||
[-136810.02949853, 58807.079646018],
|
||||
[37753.982300885, 8043.6578171093],
|
||||
[86963.421828909, -74835.398230088]
|
||||
],
|
||||
"Sweden, Jokkmokk": [
|
||||
[-288064.30678466, -233859.58702065],
|
||||
[-306712.09439528, -42719.7640118],
|
||||
[-146651.91740413, 55181.120943953],
|
||||
[-103658.40707965, -147354.57227139]
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
{
|
||||
"displayName": "Marianas",
|
||||
|
||||
"dcsID": "MarianaIslands",
|
||||
|
||||
"mapCenter": [27127.980181969, 27815.505908842],
|
||||
"mapZoom": 291324.5582713,
|
||||
|
||||
"dateTime": {
|
||||
"day": 1,
|
||||
"month": 6,
|
||||
"year": 2010,
|
||||
"hour": 12,
|
||||
"minute": 0
|
||||
},
|
||||
|
||||
"temperature": 20,
|
||||
|
||||
"airbasesIDs": [1, 2, 3, 4, 5, 6, 7, 8],
|
||||
|
||||
"bullseye": {
|
||||
"blue": [72602.401902589, 43075.528198602],
|
||||
"red": [-1146.3260903998, 2927.7219674316]
|
||||
},
|
||||
|
||||
"player": {
|
||||
"airdromeID": 6,
|
||||
"coordinates": [10574.989746, 14548.833496]
|
||||
},
|
||||
|
||||
"territories": {
|
||||
"blue": [
|
||||
[
|
||||
[-10518.040931597, -27038.898846712],
|
||||
[-31359.16028292, -10600.832879471],
|
||||
[9861.8061604412, 19172.194765276],
|
||||
[19716.258972435, 6801.7114480924]
|
||||
]
|
||||
],
|
||||
"red": [
|
||||
[
|
||||
[66051.678054794, 42156.393816762],
|
||||
[76063.104098543, 58325.927247133],
|
||||
[81320.903387706, 50871.376200169],
|
||||
[71849.662202433, 31244.659675554]
|
||||
]
|
||||
]
|
||||
},
|
||||
|
||||
"water": [
|
||||
[
|
||||
[-15884.73423628, -36062.094281533],
|
||||
[22439.206281211, 9704.8280836718],
|
||||
[29785.771142219, -435.50087940996],
|
||||
[-11213.14547633, -69260.193128838]
|
||||
],
|
||||
[
|
||||
[-86256.752152125, -4056.7415005977],
|
||||
[24301.715682593, 41052.992434618],
|
||||
[15196.114164724, 24704.298800261],
|
||||
[-50374.974655487, -24333.424628892]
|
||||
],
|
||||
[
|
||||
[90938.163154274, -232.63262935835],
|
||||
[10229.422427705, 17254.261194732],
|
||||
[79970.052235022, 82442.090243115],
|
||||
[65276.922513006, 40225.210478448]
|
||||
],
|
||||
[
|
||||
[80564.489315105, 20511.445275523],
|
||||
[80922.886029884, 83320.469540388],
|
||||
[96513.143122732, 86098.044079918],
|
||||
[93735.568583201, 2950.0062513955]
|
||||
]
|
||||
],
|
||||
|
||||
"targetZones": {
|
||||
"Guam": [
|
||||
[-10518.040931597, -27038.898846712],
|
||||
[-31359.16028292, -10600.832879471],
|
||||
[9861.8061604412, 19172.194765276],
|
||||
[19716.258972435, 6801.7114480924]
|
||||
],
|
||||
"Rota Island": [
|
||||
[66051.678054794, 42156.393816762],
|
||||
[76063.104098543, 58325.927247133],
|
||||
[81320.903387706, 50871.376200169],
|
||||
[71849.662202433, 31244.659675554]
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user