mirror of
https://github.com/akaAgar/the-universal-mission-for-dcs-world.git
synced 2025-11-25 19:31:01 +00:00
Added wingmen specific "i'm down!" message
This commit is contained in:
parent
53cedb83b8
commit
776241fced
@ -123,6 +123,7 @@ do
|
||||
if Object.getCategory(event.initiator) ~= Object.Category.UNIT then return end -- Initiator isn't an unit
|
||||
if event.initiator:getCoalition() ~= TUM.settings.getPlayerCoalition() then return end -- Initiator isn't a friendly
|
||||
if event.initiator:getPlayerName() then return end -- No "ejecting!" message for players, so it won't cut the "mission failed" music which is played at the same time
|
||||
if TUM.wingmen.getUnitWingmanNumber(event.initiator) then return end -- Wingmen have their own "I'm going down!" messages
|
||||
|
||||
doAmbientChatter("pilotEjecting", nil, event.initiator:getCallsign(), 1)
|
||||
end
|
||||
|
||||
@ -90,6 +90,7 @@ do
|
||||
|
||||
-- Reinitialize list of known contacts and contact report interval
|
||||
TUM.wingmenContacts.clearKnownContacts()
|
||||
TUM.wingmenTasking.resetTaskingParameters()
|
||||
|
||||
TUM.log("Spawned AI wingmen")
|
||||
|
||||
@ -159,13 +160,31 @@ do
|
||||
if TUM.settings.getValue(TUM.settings.id.MULTIPLAYER) then return end -- No wingmen in multiplayer
|
||||
if not event.initiator then return end
|
||||
if Object.getCategory(event.initiator) ~= Object.Category.UNIT then return end
|
||||
if not event.initiator:getPlayerName() then return end
|
||||
|
||||
if event.id == world.event.S_EVENT_TAKEOFF then -- Create wingmen on player takeoff
|
||||
if event.id == world.event.S_EVENT_UNIT_LOST then
|
||||
local unitWingmenNumber = TUM.wingmen.getUnitWingmanNumber(event.initiator)
|
||||
if unitWingmenNumber then
|
||||
TUM.radio.playForAll("pilotWingmanDown", { DCSEx.string.toStringNumber(unitWingmenNumber, true) }, event.initiator:getCallsign(), false)
|
||||
return
|
||||
end
|
||||
elseif event.id == world.event.S_EVENT_TAKEOFF then -- Create wingmen on player takeoff
|
||||
if not event.initiator:getPlayerName() then return end
|
||||
if TUM.mission.getStatus() == TUM.mission.status.NONE then return end -- Mission not in progress, no wingman needed
|
||||
TUM.wingmen.create()
|
||||
elseif event.id == world.event.S_EVENT_LAND then -- Remove wingmen on player landing
|
||||
if not event.initiator:getPlayerName() then return end
|
||||
TUM.wingmen.removeAll()
|
||||
end
|
||||
end
|
||||
|
||||
function TUM.wingmen.getUnitWingmanNumber(unit)
|
||||
if not unit then return nil end
|
||||
|
||||
local unitID = DCSEx.dcs.getObjectIDAsNumber(unit)
|
||||
for i,id in ipairs(wingmenUnitID) do
|
||||
if unitID == id then return i + 1 end
|
||||
end
|
||||
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user