- ;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