File: prism-sqf.html

package info (click to toggle)
node-prismjs 1.30.0%2Bdfsg%2B~1.26.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,220 kB
  • sloc: javascript: 27,628; makefile: 9; sh: 7; awk: 4
file content (100 lines) | stat: -rw-r--r-- 3,189 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<h2>Full example</h2>
<pre><code>#include "script_component.hpp"
/*
 * Author: BaerMitUmlaut
 * Handles any audible, visual and physical effects of fatigue.
 *
 * Arguments:
 * 0: Unit &lt;OBJECT>
 * 1: Fatigue &lt;NUMBER>
 * 2: Speed &lt;NUMBER>
 * 3: Overexhausted &lt;BOOL>
 *
 * Return Value:
 * None
 *
 * Example:
 * [_player, 0.5, 3.3, true] call ace_advanced_fatigue_fnc_handleEffects
 *
 * Public: No
 */
params ["_unit", "_fatigue", "_speed", "_overexhausted"];

#ifdef DEBUG_MODE_FULL
	systemChat str _fatigue;
	systemChat str vectorMagnitude velocity _unit;
#endif

// - Audible effects ----------------------------------------------------------
GVAR(lastBreath) = GVAR(lastBreath) + 1;
if (_fatigue > 0.4 && {GVAR(lastBreath) > (_fatigue * -10 + 9)} && {!underwater _unit}) then {
	switch (true) do {
		case (_fatigue &lt; 0.6): {
			playSound (QGVAR(breathLow) + str(floor random 6));
		};
		case (_fatigue &lt; 0.85): {
			playSound (QGVAR(breathMid) + str(floor random 6));
		};
		default {
			playSound (QGVAR(breathMax) + str(floor random 6));
		};
	};
	GVAR(lastBreath) = 0;
};

// - Visual effects -----------------------------------------------------------
GVAR(ppeBlackoutLast) = GVAR(ppeBlackoutLast) + 1;
if (GVAR(ppeBlackoutLast) == 1) then {
	GVAR(ppeBlackout) ppEffectAdjust [1,1,0,[0,0,0,1],[0,0,0,0],[1,1,1,1],[10,10,0,0,0,0.1,0.5]];
	GVAR(ppeBlackout) ppEffectCommit 1;
} else {
	if (_fatigue > 0.85) then {
		if (GVAR(ppeBlackoutLast) > (100 - _fatigue * 100) / 3) then {
			GVAR(ppeBlackout) ppEffectAdjust [1,1,0,[0,0,0,1],[0,0,0,0],[1,1,1,1],[2,2,0,0,0,0.1,0.5]];
			GVAR(ppeBlackout) ppEffectCommit 1;
			GVAR(ppeBlackoutLast) = 0;
		};
	};
};

// - Physical effects ---------------------------------------------------------
if (GVAR(isSwimming)) exitWith {
	if (GVAR(setAnimExclusions) isEqualTo []) then {
		_unit setAnimSpeedCoef linearConversion [0.7, 0.9, _fatigue, 1, 0.5, true];
	};
	if ((isSprintAllowed _unit) && {_fatigue > 0.7}) then {
		[_unit, "blockSprint", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
	} else {
		if ((!isSprintAllowed _unit) && {_fatigue &lt; 0.7}) then {
			[_unit, "blockSprint", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set);
		};
	};
};
if ((getAnimSpeedCoef _unit) != 1) then {
	if (GVAR(setAnimExclusions) isEqualTo []) then {
		TRACE_1("reset",getAnimSpeedCoef _unit);
		_unit setAnimSpeedCoef 1;
	};
};

if (_overexhausted) then {
	[_unit, "forceWalk", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
} else {
	if (isForcedWalk _unit && {_fatigue &lt; 0.7}) then {
		[_unit, "forceWalk", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set);
	} else {
		if ((isSprintAllowed _unit) && {_fatigue > 0.7}) then {
			[_unit, "blockSprint", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
		} else {
			if ((!isSprintAllowed _unit) && {_fatigue &lt; 0.6}) then {
				[_unit, "blockSprint", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set);
			};
		};
	};
};

_unit setVariable [QGVAR(aimFatigue), _fatigue];

private _aimCoef = [missionNamespace, "ACE_setCustomAimCoef", "max"] call EFUNC(common,arithmeticGetResult);
_unit setCustomAimCoef _aimCoef;
</code></pre>