Epoch/Sources/epoch_config/Configs/CfgMissions/CfgmissionMonster.hpp
2018-12-02 00:10:38 +01:00

135 lines
5.8 KiB
C++

class prepForMonsterEscort {
author = "He-Man";
title = "Prep for Monster Escort";
simpleTask = 0;
items[] = {};
triggerDelay = 2;
triggerintervall = 8;
markerType = 0;
markerVisible = 0;
markerRadius = 0;
markerText = "";
initcall = "EPOCH_Monster = objnull";
cleanUpCall = "uiNameSpace setVariable ['axeStartTraders', nil]";
dialogues[] = { // {{ARRAY1},{ARRAY2},... }
{ // {"condition",{"Message1","Message2", ...}}
"true",
{"Hey, thanks for helping me to take my Monster to a friend"}
},
{
"true",
{"I will call my monster. Bring him to another Trader"}
}
};
callevents[] = { // {{ARRAY1},{ARRAY2},... }
{ // {"condition",{"Message1","Message2", ...},{"NextTask1","NextTask2", ...}}
"true",
"uiNameSpace setVariable ['axeStartTraders',EPOCH_Traders select {_x distance player < 500 && alive _x}]",
{}
},
{ // {"condition",{"Message1","Message2", ...},{"NextTask1","NextTask2", ...}}
"true",
"_animalPos = [getposatl player, 150, 250, 5, 0, 2000, 0] call BIS_fnc_findSafePos;_randomAIClass = ""Construct_F"";_animal = createAgent[_randomAIClass, _animalPos, [], 5, ""NONE""];EPOCH_Monster = _animal;[EPOCH_Monster] remoteExec [""EPOCH_localCleanup"",2]",
{}
}
};
abandonTime = 240;
failedCondition = "false";
faileddialogues[] = {"I guess you have better things to do.","Try again later.","You didn't pick up the document. Misison Failed !"};
completeCondition = "!isnull EPOCH_Monster";
completedialogues[] = {};
completedCALL = "[] spawn {_pos = getpos player;_stay = false;while {!isnull EPOCH_Monster && alive EPOCH_Monster && alive player} do {if (EPOCH_Monster distance2d player > 35) then {_stay = false;_pos = getposatl player;}else {if (!_stay) then {_pos = getposatl EPOCH_Monster;_stay = true;};};EPOCH_Monster moveto _pos;_time = diag_ticktime;uisleep 3;waituntil {diag_ticktime - _time > 15 || EPOCH_Monster distance _pos < 25 || isnull EPOCH_Monster};};};";
reward[] = {};
cleanUp = 0;
nextTask[] = {"EscortMonster"};
// Not used atm
taskLimit = 3;
itemSpawn = 3;
callEventBinTask = 0;
diagSquelch = 30;
abandonDist = 100;
};
class EscortMonster {
author = "He-Man";
title = "Escort Monster";
simpleTask = 0;
items[] = {};
triggerDelay = 5;
triggerintervall = 8;
markerType = 0;
markerVisible = 0;
markerRadius = 0;
markerText = "";
initcall = "";
cleanUpCall = "uiNameSpace setVariable ['axeStartTraders', nil]; deletevehicle EPOCH_Monster";
dialogues[] = { // {{ARRAY1},{ARRAY2},... }
{ // {"condition",{"Message1","Message2", ...}}
"true",
{"That's great, look for the Monster outside.","Good, now search my Monster outside","Ok, well done. We can start now."}
},
{
"true",
{"Ok, head off to another trader, you can't deliver to any nearby.","All set. Now take the Monster to another trader further away.","Take that Monster to another trader or trader city."}
},
{
"EPOCH_task_startTime + 60 < diag_ticktime",
{"Sorrz, he is an old Man and not very fast...","My Monster is very old a bit lazy"}
},
{
"EPOCH_task_startTime + 120 < diag_ticktime && EPOCH_Monster distance player > 350",
{"Don't go to far away or you loose the Monster","Hey, wait for my Monster!"}
},
{
"EPOCH_Monster distance player < 20",
{"Go forward, my Monster will follow you!","Hurry up a bit. My Monster is hungry..."}
},
{
"({player distance _x < 42 && !((_x getvariable ['AI_SLOT',-1]) == -1) && alive _x && !(_x in (uiNameSpace getVariable ['axeStartTraders',[]]))} count EPOCH_Traders > 0)",
{"Well done, you have a trader nearby, go see him","Looks like you found another trader, well done, deliver the Monster.","UAV has spotted another trader nearby, go deliver the Monster."}
},
{
"(EPOCH_task_startTime + 480 < diag_tickTime) && ({player distance _x < 500 && !((_x getvariable ['AI_SLOT',-1]) == -1) && alive _x && (_x in (uiNameSpace getVariable ['axeStartTraders',[]]))} count EPOCH_Traders > 0)",
{"Hey, what are you doing here ? Get on with your task!"}
}
};
callevents[] = { // {{ARRAY1},{ARRAY2},... }
};
abandonTime = 2000;
failedCondition = "!alive EPOCH_Monster || !alive player || EPOCH_Monster distance player > 500";
faileddialogues[] = {"Oh no, you lost my Monster - Mission Failed","My Monster ist gone, Mission Over!"};
completeCondition = "player distance EPOCH_Monster < 50 && ({player distance _x < 20 && !((_x getvariable ['AI_SLOT',-1]) == -1) && alive _x && !(_x in (uiNameSpace getVariable ['axeStartTraders',[]]))} count EPOCH_Traders > 0)";
completedialogues[] = {"Hey, you bring me my friends Monster?","Great Job there. Step into my office traveller.","You made it, thanks for bringing me the Monster."};
completedCALL = "";
reward[] = {};
cleanUp = 0;
nextTask[] = {"finishMonsterEscort"};
};
class finishMonsterEscort {
author = "He-Man";
title = "Finish Monster Escort";
simpleTask = 0;
items[] = {};
triggerDelay = 8;
triggerintervall = 8;
markerType = 0;
markerVisible = 0;
markerRadius = 0;
markerText = "";
initcall = "";
cleanUpCall = "uiNameSpace setVariable ['axeStartTraders', nil]; deletevehicle EPOCH_Monster";
dialogues[] = { // {{ARRAY1},{ARRAY2},... }
};
callevents[] = { // {{ARRAY1},{ARRAY2},... }
};
abandonTime = 240;
failedCondition = "false";
faileddialogues[] = {};
completeCondition = "true";
completedialogues[] = {"Take your reward, you have earnt it","Here is your reward, you are a great courier.","Any time you need work, come and see me, great job."};
completedCALL = "[objnull,""Mission_Monster_Payout"",true,getposatl player] remoteExec [""EPOCH_serverLootObject"",2];";
reward[] = {};
cleanUp = 1;
nextTask[] = {};
};