// @file Version: 1.0 // @file Name: mission_Outpost.sqf // @file Author: [404] Deadbeat, [404] Costlyy // @file Created: 08/12/2012 03:25 // @file Args: #include "setup.sqf" #include "mainMissionDefines.sqf"; if(!isServer) exitwith {}; private ["_obj", "_rep1", "_rep2", "_rep3", "_rep4", "_result","_missionMarkerName","_missionType","_startTime","_returnData","_randomPos","_randomIndex","_badWeather", "_origFog", "_origRain", "_origOvercast", "_hint","_currTime","_playerPresent","_unitsAlive"]; //Mission Initialization. _result = 0; _missionMarkerName = "MadScience_Marker"; _missionType = "Defeat Mad Scientist"; #ifdef __A2NET__ _startTime = floor(netTime); #else _startTime = floor(time); #endif //Get Mission Location _returnData = call createMissionLocation; _randomPos = _returnData select 0; _randomIndex = _returnData select 1; diag_log format["WASTELAND SERVER - Main Mission Waiting to run: %1",_missionType]; [mainMissionDelayTime] call createWaitCondition; diag_log format["WASTELAND SERVER - Main Mission Resumed: %1",_missionType]; [_missionMarkerName,_randomPos,_missionType] call createClientMarker; _hint = parseText format ["Main Objective
------------------------------
%1
Recent weather trends may be artificially created! Investigate!", _missionType, mainMissionColor, subTextColor]; [nil,nil,rHINT,_hint] call RE; _origFog = fog; _origOvercast = overcast; _origRain = rain; _obj = createVehicle ["Satelit",_randomPos,[], 0,"None"]; _obj setVariable ["faction", "WORLD", true]; _rep1 = createVehicle ["Suitcase", [_randomPos select 0, (_randomPos select 1) + 5],[], 0,"None"]; _rep1 setVariable ["faction", "WORLD", true]; rep2 = createVehicle ["Suitcase", [(_randomPos select 0) +5, _randomPos select 1],[], 0,"None"]; _rep2 setVariable ["faction", "WORLD", true]; rep3 = createVehicle ["Suitcase", [(_randomPos select 0) -5, _randomPos select 1],[], 0,"None"]; _rep3 setVariable ["faction", "WORLD", true]; rep4 = createVehicle ["Suitcase", [_randomPos select 0, (_randomPos select 1) -5],[], 0,"None"]; _rep4 setVariable ["faction", "WORLD", true]; _obj setVehicleInit "0 setOverCast .95; 0 setFog .95; 0 setRain .95;"; processInitCommands; CivGrpM = createGroup civilian; [CivGrpM,_randomPos] spawn createScienceGroup; diag_log format["WASTELAND SERVER - Main Mission Waiting to be Finished: %1",_missionType]; #ifdef __A2NET__ _startTime = floor(netTime); #else _startTime = floor(time); #endif waitUntil { sleep 1; _playerPresent = false; #ifdef __A2NET__ _currTime = floor(netTime); #else _currTime = floor(time); #endif if(_currTime - _startTime >= mainMissionTimeout) then {_result = 1;}; _unitsAlive = ({alive _x} count units CivGrpM); (_result == 1) OR (_unitsAlive < 1) }; if(_result == 1) then { //Mission Failed. {deleteVehicle _x;}forEach units CivGrpM; deleteGroup CivGrpM; deleteVehicle _obj; _rep1 setVehicleInit "0 setOverCast .5; 0 setFog .15; 0 setRain 0;"; processInitCommands; deleteVehicle _rep1; deleteVehicle _rep2; deleteVehicle _rep3; deleteVehicle _rep4; _hint = parseText format ["Objective Failed
------------------------------
%1
Objective failed, better luck next time", _missionType, _vehicleName, failMissionColor, subTextColor]; [nil,nil,rHINT,_hint] call RE; diag_log format["WASTELAND SERVER - Main Mission Failed: %1",_missionType]; } else { //Mission Complete. deleteGroup CivGrpM; _rep1 setVehicleInit "0 setOverCast .15; 0 setFog .15; 0 setRain 0;"; processInitCommands; _hint = parseText format ["Objective Complete
------------------------------
%1
The mad scientist has been stopped. Enjoy the weather!", _missionType, _vehicleName, successMissionColor, subTextColor]; [nil,nil,rHINT,_hint] call RE; diag_log format["WASTELAND SERVER - Main Mission Success: %1",_missionType]; }; //Reset Mission Spot. MissionSpawnMarkers select _randomIndex set[1, false]; [_missionMarkerName] call deleteClientMarker;