mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
e2b933188d
- Increased defuse chance - More restricted run around base obj - Remove terminal after UAV mission - Looting dead UAV fixed - Exploding Vehicles fix (Arma has changed HitPointNames to LowerCase)
267 lines
9.9 KiB
C++
267 lines
9.9 KiB
C++
class uavMissionAccepted{
|
|
author = "axeman";
|
|
title = "UAV Mission Accepted";
|
|
simpleTask = 0;
|
|
items[] = {};
|
|
triggerDelay = 1;
|
|
triggerintervall = 8;
|
|
markerType = 0;
|
|
markerVisible = 0;
|
|
markerRadius = 0;
|
|
markerText = "";
|
|
initcall = "";
|
|
cleanUpCall = "";
|
|
dialogues[] = {};
|
|
callevents[] = {};
|
|
abandonTime = 240;
|
|
failedCondition = "missionNameSpace getVariable [""InSafeZone"",false]";
|
|
faileddialogues[] = {"Mission not allowed in Safe Zone"};
|
|
completeCondition = "true";
|
|
completedialogues[] = {};
|
|
completedCALL = "";
|
|
reward[] = {};
|
|
cleanUp = 0;
|
|
nextTask[] = {"uavMissionStart"};
|
|
|
|
// Not used atm
|
|
taskLimit = 3;
|
|
itemSpawn = 3;
|
|
callEventBinTask = 0;
|
|
diagSquelch = 30;
|
|
abandonDist = 100;
|
|
};
|
|
class uavMissionStart{
|
|
author = "axeman";
|
|
title = "UAV Mission Start";
|
|
simpleTask = 0;
|
|
items[] = {"B_UavTerminal"};
|
|
triggerDelay = 1;
|
|
triggerintervall = 8;
|
|
markerType = 0;
|
|
markerVisible = 0;
|
|
markerRadius = 0;
|
|
markerText = "";
|
|
initcall = "";
|
|
cleanUpCall = "";
|
|
dialogues[] = {
|
|
{
|
|
"true",
|
|
{"The UAV terminal is at your feet, Equip it !","Pick up the terminal and equip yourself with it.","Grab the UAV terminal and put it in your GPS slot."}
|
|
},
|
|
{
|
|
"!('B_UavTerminal' in assignedItems player)",
|
|
{"Hurry it up, pick up and equip the terminal.","Come on, Equip yourself with the terminal.","We don't have all day, get that terminal equipped."}
|
|
}
|
|
};
|
|
callevents[] = {
|
|
{
|
|
"missionNameSpace getVariable [""InSafeZone"",false]",
|
|
"['Mission not allowed in Safe Zone',5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_Message",
|
|
{}
|
|
}
|
|
|
|
|
|
};
|
|
abandonTime = 240;
|
|
failedCondition = "false";
|
|
faileddialogues[] = {"I guess you have better things to do.","Try again later.","You didn't pick up the terminal. Misison Failed !"};
|
|
completeCondition = "'B_UavTerminal' in assignedItems player";
|
|
completedialogues[] = {"That's great, you have 30 seconds to find a safe position.","Find a hidden spot to operate from, take off in 30 seconds.","Find yourself a concealed position to work from, taking off in half a minute."};
|
|
completedCALL = "";
|
|
reward[] = {};
|
|
cleanUp = 0;
|
|
nextTask[] = {"doUAVSpawn"};
|
|
|
|
// Not used atm
|
|
taskLimit = 3;
|
|
itemSpawn = 3;
|
|
callEventBinTask = 0;
|
|
diagSquelch = 30;
|
|
abandonDist = 100;
|
|
};
|
|
class doUAVSpawn{
|
|
author = "axeman";
|
|
title = "UAV Spawn";
|
|
simpleTask = 0;
|
|
items[] = {};
|
|
triggerDelay = 30;
|
|
triggerintervall = 2;
|
|
markerType = 0;
|
|
markerVisible = 0;
|
|
markerRadius = 0;
|
|
markerText = "";
|
|
initcall = "axeUAV = objNull";
|
|
cleanUpCall = "";
|
|
dialogues[] = {
|
|
{
|
|
"true",
|
|
{"UAV is ready, get prepared! Connecting in 10 seconds","Here it comes, connecting you in 10 seconds..","Nice spot, connecting you to the UAV in 10 seconds!"}
|
|
}
|
|
};
|
|
callevents[] = {
|
|
{
|
|
"(diag_tickTime - EPOCH_task_startTime) > 40",
|
|
"_targetPos = (getPosATL player) findEmptyPosition [25,250,""I_UAV_01_F""];axeUAV = createVehicle[""I_UAV_01_F"", _targetPos, [], 10, ""CAN_COLLIDE""];axeUAV disableTIEquipment true;_driver = (group player) createUnit[""I_UAV_AI"", position axeUAV, [], 0, ""CAN_COLLIDE""];_driver moveInAny axeUAV;[axeUAV] remoteExec [""EPOCH_localCleanup"",2]",
|
|
{}
|
|
}
|
|
};
|
|
abandonTime = 240;
|
|
failedCondition = "!('B_UavTerminal' in assignedItems player) || !(alive player)";
|
|
faileddialogues[] = {"Lost it already.. Mission Over","Not a willing pilot eh ? Try again later.","Equipment Lost.. Mission Failed !"};
|
|
failedCall = "player unassignItem 'B_UavTerminal'; player removeItem 'B_UavTerminal'";
|
|
completeCondition = "!(isNull axeUAV)";
|
|
completedialogues[] = {};
|
|
completedCALL = "";
|
|
reward[] = {};
|
|
cleanUp = 0;
|
|
nextTask[] = {"doUAVAttach"};
|
|
};
|
|
class doUAVAttach{
|
|
author = "axeman";
|
|
title = "UAV Spawn";
|
|
simpleTask = 0;
|
|
items[] = {};
|
|
triggerDelay = 2;
|
|
triggerintervall = 8;
|
|
markerType = 0;
|
|
markerVisible = 0;
|
|
markerRadius = 0;
|
|
markerText = "";
|
|
initcall = "player action [""SwitchToUAVDriver"", axeUAV];addToRemainsCollector[axeUAV];";
|
|
cleanUpCall = "[(driver axeUAV)] joinSilent grpNull; removeFromRemainsCollector [axeUAV]; deletevehicle axeUAV";
|
|
dialogues[] = {
|
|
{
|
|
"true",
|
|
{"Woohoo, here we go.. Get it in the air.","Get it in the air, no time to waste","You are a natural kid. Let's fly."}
|
|
}
|
|
};
|
|
callevents[] = {};
|
|
abandonTime = 1200;
|
|
failedCondition = "!('B_UavTerminal' in assignedItems player) || !(alive axeUAV) || !(alive player) || cameraon != axeUAV";
|
|
faileddialogues[] = {"Lost it already.. Mission Over","Not a natural pilot. Try again later.","Mission Failed !"};
|
|
failedCall = "player unassignItem 'B_UavTerminal'; player removeItem 'B_UavTerminal'";
|
|
completeCondition = "(getPosATL axeUAV select 2) > 10";
|
|
completedialogues[] = {};
|
|
completedCALL = "if(SunOrMoon < 1)then{player action [""lightOn"", axeUAV];};";
|
|
reward[] = {};
|
|
cleanUp = 0;
|
|
nextTask[] = {"takeOffUAV"};
|
|
};
|
|
class takeOffUAV{
|
|
author = "axeman";
|
|
title = "Pilot the UAV";
|
|
simpleTask = 0;
|
|
items[] = {};
|
|
triggerDelay = 8;
|
|
triggerintervall = 8;
|
|
markerType = 0;
|
|
markerVisible = 0;
|
|
markerRadius = 0;
|
|
markerText = "";
|
|
initcall = "";
|
|
cleanUpCall = "[(driver axeUAV)] joinSilent grpNull; removeFromRemainsCollector [axeUAV]; deletevehicle axeUAV";
|
|
dialogues[] = {
|
|
{
|
|
"alive axeUAV",
|
|
{"Great start.. Lets take this thing for a ride.","We're off, get some practice, I am finding you a target.","Get clear of this area, I am calculating your target."}
|
|
},
|
|
{
|
|
"alive axeUAV",
|
|
{"Keep it up, you are doing a great job.","Try and find some targets on your way.","Don't get shot down now !"}
|
|
}
|
|
};
|
|
callevents[] = {
|
|
{
|
|
"diag_tickTime - EPOCH_task_startTime > 30",
|
|
"",
|
|
{"uavMission1","uavMission2"}
|
|
}
|
|
};
|
|
abandonTime = 240;
|
|
failedCondition = "!('B_UavTerminal' in assignedItems player) || !(alive axeUAV) || !(alive player) || cameraon != axeUAV";
|
|
faileddialogues[] = {"Oh dear, that didn't go well..","Try again later.","Misison Failed !"};
|
|
failedCall = "player unassignItem 'B_UavTerminal'; player removeItem 'B_UavTerminal'";
|
|
completeCondition = "false";
|
|
completedialogues[] = {};
|
|
completedCALL = "";
|
|
reward[] = {};
|
|
cleanUp = 0;
|
|
nextTask[] = {};
|
|
};
|
|
class uavMission1{
|
|
author = "axeman";
|
|
title = "Trader House Recon";
|
|
simpleTask = 0;
|
|
items[] = {};
|
|
triggerDelay = 0;
|
|
triggerintervall = 8;
|
|
markerType = 2;
|
|
markerVisible = 0;
|
|
markerRadius = 180;
|
|
markerText = "Trader House Recon";
|
|
initcall = "_obj = selectRandom (nearestObjects [axeUAV,[""HOUSE""],2500]);EPOCH_taskMarkerPos = getPosATL _obj;";
|
|
cleanUpCall = "[(driver axeUAV)] joinSilent grpNull; removeFromRemainsCollector [axeUAV]; deletevehicle axeUAV;player unassignItem 'B_UavTerminal'; player removeItem 'B_UavTerminal'";
|
|
dialogues[] = {
|
|
{
|
|
"true",
|
|
{"I need some recon on a nearby house","We need intelligence on a potential trader location.","Help us gather intel on a trader house !"}
|
|
},
|
|
{
|
|
"EPOCH_taskMarkerPos distance axeUAV > 450",
|
|
{"I have marked your map, it will be nearby.","Check you map, there is a marker near a safehouse","Search your map for the landing zone, near a traders safehouse."}
|
|
},
|
|
{
|
|
"EPOCH_taskMarkerPos distance axeUAV < 450",
|
|
{"Land it nearby and switch off the engine.","You need to land by the house, quietly.","Drop the UAV in the marker, then keep quiet."}
|
|
}
|
|
};
|
|
callevents[] = {};
|
|
abandonTime = 900;
|
|
failedCondition = "!('B_UavTerminal' in assignedItems player) || !(alive axeUAV) || !(alive player) || cameraon != axeUAV";
|
|
faileddialogues[] = {"Oh dear, Mission Over !","Mission Failed !"};
|
|
completeCondition = "!(isengineOn axeUAV) && EPOCH_taskMarkerPos distance axeUAV < 275";
|
|
completedialogues[] = {"Great work, here's your reward."};
|
|
completedCALL = "[(driver axeUAV)] joinSilent grpNull; removeFromRemainsCollector [axeUAV]; deletevehicle axeUAV";
|
|
reward[] = {"ItemGoldBar","ItemGoldBar"};
|
|
cleanUp = 1;
|
|
nextTask[] = {};
|
|
};
|
|
class uavMission2{
|
|
author = "axeman";
|
|
title = "Deliver UAV To Trader";
|
|
simpleTask = 0;
|
|
items[] = {};
|
|
triggerDelay = 0;
|
|
triggerintervall = 8;
|
|
markerType = 2;
|
|
markerVisible = 0;
|
|
markerRadius = 220;
|
|
markerText = "UAV Trader";
|
|
initcall = "_obj = selectRandom (Epoch_Traders select {player distance _x > 50 && alive _x && !((_x getvariable ['AI_SLOT',-1]) == -1)});EPOCH_taskMarkerPos = getPosATL _obj;";
|
|
cleanUpCall = "[(driver axeUAV)] joinSilent grpNull; removeFromRemainsCollector [axeUAV]; deletevehicle axeUAV;player unassignItem 'B_UavTerminal'; player removeItem 'B_UavTerminal'";
|
|
dialogues[] = {
|
|
{
|
|
"true",
|
|
{"I need this UAV delivering to my buddy","Recon a rogue trader, land this near his location.","Land this UAV near the target trader."}
|
|
},
|
|
{
|
|
"EPOCH_taskMarkerPos distance axeUAV > 450",
|
|
{"Check your map for his location, you will need to land nearby.","I have marked your map with his location.","Fly to the location marked on your map, then land."}
|
|
},
|
|
{
|
|
"EPOCH_taskMarkerPos distance axeUAV < 450",
|
|
{"Get this thing down and the engine off.","Land in the zone and switch your engine off quickly.","Find a landing spot in the area and keep quiet."}
|
|
}
|
|
};
|
|
callevents[] = {};
|
|
abandonTime = 900;
|
|
failedCondition = "!('B_UavTerminal' in assignedItems player) || !(alive axeUAV) || !(alive player) || cameraon != axeUAV";
|
|
faileddialogues[] = {"Oh dear, Mission Over !","Mission Failed !"};
|
|
completeCondition = "!(isengineOn axeUAV) && EPOCH_taskMarkerPos distance axeUAV < 275";
|
|
completedialogues[] = {"Great work, here's your reward."};
|
|
completedCALL = "[(driver axeUAV)] joinSilent grpNull; removeFromRemainsCollector [axeUAV]; deletevehicle axeUAV";
|
|
reward[] = {"ItemGoldBar","ItemGoldBar"};
|
|
cleanUp = 1;
|
|
nextTask[] = {};
|
|
};
|