;Script by DKM and enhanced by krzychuzokecia _t = _this select 0 #alivecheck ~1 ?(isNull _t): exit ?(alive _t): goto "alivecheck" ?format["%1", _t] == "scalar bool array string 0xfcffffef": exit ?count (getpos _t) > 0: goto "nobug" exit #nobug [_t] exec "\ffur_effects\kia_sparksandshock.sqs" ? "Air" countType [_t] == 1: _gl = "logic" createVehicle [getpos _t select 0,getpos _t select 1,0]; _gl setpos getpos _t; _gl setDir (getDir _t); [_gl,_t,3] exec "\ffur_effects\dustwaveA.sqs" ? "LandVehicle" countType [_t] == 1: [_t,3] exec "\ffur_effects\dustwave.sqs" ~1.5 ? "LandVehicle" countType [_t] == 1 && random 1.0001 > 0.5: _logic = "logic" createVehicle getpos nearestObject [_t,"crater"]; _logic setpos getpos nearestObject [_t,"crater"]; [_logic,0,0 + random 0.2,10 + random 5] exec "\ffur_effects\hotground.sqs" ~random 1.5 _h = .1 @ (getpos _t select 2) < 5 _f = "nmod_smoke" createvehicle getpos _t _s = "nmod_fire" createvehicle getpos _t _ar = [_f,_s] _timer = 0 _bsay = 1 _hsay = 1 _f inflame true _s inflame true _anumb = 1.3 private ["_sensor"]; _sensor = "EmptyDetector" createVehicle [0,0,0] _calcH = {private["_result"]; _sensor setpos [getpos _t select 0, getpos _t select 1]; _result = getpos _sensor select 2; _result}; _i = Random (3) _i = _i - (_i Mod 1) ? _i <= 2: _t exec "\ffur_effects\fuelboom.sqs" #cycle _f inflame true _s inflame true #smokeandfire _anumb = 1.3 ? abs (call _calcH) <= 2.4: "deletevehicle _x" foreach _ar; exit ? (vehicle player != player): goto "skip" ? (player distance _f < 7) && _hsay == 1: player globalChat "It's really hot up there!"; _hsay = 0 ? (player distance _f < 4) && alive player: TitleText ["", "black faded",random 0.1] ? (player distance _f < 4) && _bsay == 1: player globalChat "Argh, I'm getting burned!"; _bsay = 0 ? (player distance _f < 4): player setDamage (damage player) + 0.01 #skip ? (getpos _t select 2 > 3): _anumb = getpos _t select 2 drop ["cl_fire" , "" , "Billboard" , 1 , 5 + random 5, [getpos _t select 0,getpos _t select 1,1.3] , [random 2 - random 2,random 2 - random 2,2 + random 2] , 1 , 1 , 1 , 0.2 , [random 0.09] , [[1,1,1,1],[1,1,1,0.75],[1,1,1,0.50],[0,0,0,0]] , [0,1] , 0 , 0.1 , "" , "" , ""] "_x setpos [getpos _t select 0, getpos _t select 1,_anumb]" foreach _ar ~_h _timer = _timer + _h ? _timer == 20 : _h = 1 ? _timer < 20 : goto "smokeandfire" ? _timer < 600 : goto "smokeandfire" _s inflame false #smokeonly _anumb = 1.3 ? abs (call _calcH) <= 2.4: "deletevehicle _x" foreach _ar; exit ? (getpos _t select 2 > 3): _anumb = getpos _t select 2 "_x setpos [getpos _t select 0, getpos _t select 1,_anumb]" foreach _ar ~_h _timer = _timer + _h ? _timer < 900 : goto "smokeonly" "deletevehicle _x" foreach _ar exit