Epoch/Sources/epoch_code/compile/missions/EPOCH_mission_accept.sqf
vbawol 87c23b106f Release 0.3.8 (#502)
* first build for 0.3.8

* 0.3.8.0190

* 0.3.8.0202

* 0.3.8.0213

* 0.3.7.0214

* 0.3.8.0222

* 0.3.8.0246

* 0.3.8.0247

fixed typo

* 0.3.8.0249

more fixes for server compiler

* 0.3.8.0256

* add build number and simple batch file for packing

* match build number with internal

* add build numbers to server pbo's and mission files

also reworked build script for more options

* 0.3.8.0261

* 0.3.8.0261

* 0.3.8.0283

* 0.3.8.0284

* changelog

* 0.3.8.0307

* 0.3.8.0311

* remove old BEC plugin

* update redis-server.exe to latest build and full config

* 0.3.8.0314

* 0.3.8.0315

* inverse logic

This should correctly prevent spawning these units nearby jammer or
protection zones

* use pushbackUnique here

* optimized loot function

by using selectRandom instead of slower sqf logic

* 0.3.8.0316

* make use of new getDir functionality instead of BIS fnc

* add lower disconnect value to server.cfg

* use new getpos functionality

* 0.3.8.0317

* 0.3.8.0319

* 0.3.8.0327

* 0.3.8.0338

changelog update tba

* changelog

* 0.3.8.0341

* BE update

* 0.3.8.0353

* changelog

* removed duplicates

* 0.3.8.0355

fixed error in getIDC

* 0.3.8.0356

revert to BIS_fnc_param as params threw errors

* 0.3.8.0357

fixes for #496 #497

* 0.3.8.0359

fixed #497
fixed #496

* 0.3.8.0365

* 0.3.8.0371

* 0.3.8.0373

* 0.3.8.0379

* 0.3.8.0381

* 0.3.8.0386

* 0.3.8.0393

* 0.3.8.0395

* 0.3.8.0396

* 0.3.8.0397

* 0.3.8.0406

* 0.3.8.0409

* 0.3.8.0410

loot balance
suppress error in spawnloot
make near object check based on building size

* 0.3.8.0412

* 0.3.8.0414

removed classes with scope 0
test remove loot trash on gear for #498
fixed #501

* 0.3.8.0415

* same
2016-04-08 15:21:46 -05:00

106 lines
4.3 KiB
Plaintext

/*
Author: Andrew Gregory - EpochMod.com
Contributors: Aaron Clark - EpochMod.com
Description:
Mission accept
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/missions/EPOCH_mission_accept.sqf
*/
_index = lbValue[1500, lbCurSel 1500];
_config = "MissionList" call EPOCH_returnConfig;
_disabledMissions = getArray(_config >> "traderMissionDisabled");
if (_index in _disabledMissions) exitWith{ titleText["Invalid Mission", "PLAIN", 3]; };
_nrEnts = player nearEntities ["Man", 20];
_trader = objNull;
{
if ((_x getVariable ["AI_SLOT", -1]) > -1) exitWith {
_trader = _x;
};
}forEach _nrEnts;
if !(isNull _trader) then {
switch _index do {
case 0: {
[player,_trader] execFSM "\x\addons\a3_epoch_code\System\Trader_Missions_Delivery.fsm";
};
case 1: {
[player,_trader] execFSM "\x\addons\a3_epoch_code\System\Trader_Missions_Animal_Control.fsm";
};
case 2: {
[player,_trader] execFSM "\x\addons\a3_epoch_code\System\Trader_Missions_UAV.fsm";
};
case 3: {
[] execFSM "\x\addons\a3_epoch_code\System\Trader_Missions_VIP.fsm";
};
case 4: {
_formatMsg = format["<t size='1.6' color='#99ffffff'>The time is %1:%2.</t>",date select 3, date select 4];
[_formatMsg, 5] call Epoch_dynamicText;
};
case 5: {
_players = [];
_playersOut = [];
_grpWith = false;
_msg = "Apart from you";
_grp = group player;
_players = nearestObjects [player, ["Epoch_Man_base_F","Epoch_Female_base_F"], 750];
_players = _players - [player];
{
if!(group _x == _grp)then{
_playersOut pushBack _x;
}else{
_grpWith = true;
};
} forEach _players;
if(_grpWith)then{
_msg = "Apart from your team and you";
};
_trdrMsg = format["%2 %1, I haven't seen anybody for a while.",name player,_msg];
if (count _playersOut > 0) then {
_player = selectRandom _playersOut;
_trdrMsg = format["The last person picked up by the UAV was %1.",name _player];
};
[format["<t size='1.6' color='#99ffffff'>%1</t>",_trdrMsg], 5] call Epoch_dynamicText;
};
case 6:
{
_newsArr = ["My dog was shot. That made me sad.","Business has been quiet since word got out that sappers are in the area.","Looters are expecting too much crypto for all the junk they bring in.","What do I look like ? A newspaper vendor. Go Away.","The sun came up again this morning.. That's good news I suppose.","Keep your dog fed with raw or cooked carcasses.","Sappers are known to be good for their pelts. Just don't get too close to one","Some very strange rumours that a Construct was seen in the mountains. Those things are just bedtime stories to scare kids with.","UAVs are a good source of components.","Some say this town is haunted by malevolent spirits.","I hear the military are helping survivors with air drops. Your loot is always welcome here if you find one.","Jammers seem to scare away some of the bad.. things.","Help Military Support Crew spot you with smoke or chemlights.","Hmm, have heard bar stories of a new monster on the loose. You watch yourself out there."];
_config = 'CfgEpochClient' call EPOCH_returnConfig;
_customNews = getArray(_config >> "EPOCH_news");
if(count _customNews > 0)then{
{
_newsArr pushBack _x;
} forEach _customNews;
};
_formatMsg = format["<t size='1.6' color='#99ffffff'>%1</t>",selectRandom _newsArr];
[_formatMsg, 5] call Epoch_dynamicText;
};
case 7: {
_responseArr = ["My name..? What does it matter.","Hey buddy you rock up here unannounced and suddenly we're friends ? On your bike if you aren't buying or selling.",format["My name.. I am known as %1",name _trader], format["When names mattered I was called %1",name _trader],"I forget.. At least, I try to forget."];
_formatMsg = format["<t size='1.6' color='#99ffffff'>%1</t>",selectRandom _responseArr];
[_formatMsg, 5] call Epoch_dynamicText;
};
case 8: {
"Epoch_Sapper_F" call EPOCH_unitSpawn;
};
case 9: {
call EPOCH_spawn_looters;
};
default {
["Quit your jabbering and get the hell out of here.", 5] call Epoch_dynamicText;
};
};
} else {
titletext["Trader Lost. Goodbye.", "PLAIN DOWN", 3];
};