Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ["Boogy Man", "Spawn Boogy Man",
- {
- params["_pos","_unit"];
- private _dialogResult =
- [
- "Side Selector",
- [
- ["Which Team will the Boggy Man be on?", ["BLUFOR","OPFOR","Indi"]]
- ]
- ] call Ares_fnc_showChooseDialog;
- if (_dialogResult isEqualTo []) exitWith{};
- _dialogResult params ["_comboBoxResult"];
- private "_grp";
- _grp = createGroup ([west, east, resistance] select _comboBoxResult);
- _boogy = _grp createUnit ["C_Soldier_VR_F",_pos,[],0,"CAN_COLLIDE"];
- [_grp] joinSilent _boogy;
- {_x addCuratorEditableObjects [[_boogy],true];} forEach allCurators;
- _boogy forceWalk true;
- group _boogy setBehaviour "CARELESS";
- _handle =
- [{
- params["_args","_handle"];
- _args params["_boogy"];
- scopeName "handle";
- _boogy switchMove "";
- if (!alive _boogy) then {
- [_handle] call CBA_fnc_removePerFrameHandler;
- player groupChat (format ["Boogyman Dead"]);
- breakOut "handle"
- };
- {[_boogy,true] remoteExec ["hideObject", _x,true];} forEach allPlayers;
- _manList = (getPos _boogy) nearEntities ["Man", 10000];
- _boogyEnemyList = _manList select {(isPlayer _x)&&(alive _x) && (side _x != side _boogy) && (side _x != civilian) && (side _x != sideAmbientLife) && (side _x != sideEmpty)};
- _targetToMurder = selectRandom _boogyEnemyList;
- player groupChat (format ["Target :%1",_targetToMurder]);
- _enemyPosX = (_targetToMurder call CBA_fnc_getPos) select 0;
- _enemyPosY = (_targetToMurder call CBA_fnc_getPos) select 1;
- _enemyPosZ = (_targetToMurder call CBA_fnc_getPos) select 2;
- _enemyPosX = _enemyPosX + 25;
- _newPos = [_enemyPosX,_enemyPosY,_enemyPosZ];
- _boogy setPos _newPos;
- player groupChat (format ["Target Location: %1, Spawning Location: %2",_enemyPos,_newPos]);
- [_boogy,_newPos] remoteExec ["setPos",_boogy,true];
- _handleTarget =
- [{
- params["_args","_handleTarget"];
- _args params["_boogy","_targetToMurder"];
- if (alive _targetToMurder) then {
- scopeName "handleTarget";
- [_boogy,false] remoteExecCall ["hideObject", _targetToMurder,true];
- if (!alive _boogy) then {
- [_handleTarget] call CBA_fnc_removePerFrameHandler;
- breakOut "handleTarget";
- };
- _boogy setDir (_boogy getDir _targetToMurder);
- _boogy move (getPos _targetToMurder);
- if ((_boogy distance _targetToMurder) < 2) then
- {
- if (alive _targetToMurder) then
- {
- [_targetToMurder,_boogy,_customChat,_handleTarget] spawn {
- params["_targetToMurder","_boogy","_customChat","_handleTarget"];
- _customChat = radioChannelCreate [[0.96, 0.34, 0.13,0.1], "Death","Dead",[]];
- _customChat radioChannelAdd [_targetToMurder];
- _targetToMurder switchMove "TestSurrender";
- _targetToMurder customChat [_customChat,"You feel something unholy take over your body... YOU CANT MOVE"];
- _targetToMurder setDir (_targetToMurder getDir _boogy);
- _boogy switchMove ("HubBriefing_pointAtTable");
- sleep 2;
- [_targetToMurder,100,"head","unknown"] remoteExec ["ace_medical_fnc_addDamageToUnit",_targetToMurder,true];
- _targetToMurder customChat [_customChat,"You feel the monster snap your neck..."];
- _customChat radioChannelRemove [_targetToMurder];
- deleteVehicle _boogy;
- [_handleTarget] call CBA_fnc_removePerFrameHandler;
- };
- };
- };
- };
- },5,[_boogy,_targetToMurder]] call CBA_fnc_addPerFrameHandler;
- },60,[_boogy]] call CBA_fnc_addPerFrameHandler;
- }] call Ares_fnc_RegisterCustomModule;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement