// C-Script, 6.60
// use or ignore
// sample only
// untested
define _tm1, skill52; // time counter for entity
define _dir1, skill53; // dir = 1, or -1; pan
define _dir2, skill54; // dir = 1, or -1 ; tilt
var mo = 0; // time, time_step, synonym
var n1 = 0; // temp var
var n2 = 0; // temp var
var nStepPan = 5; // step for pan
var nStepTilt = 5; // step for tilt
function batty_f1() {
timef();
my.passable = ON;
my._tm1 = max(my._tm1 - mo, 0); // check that for inaccuracy
if (my._tm1 <= 0.002) {
my._tm1 = max(random(10), 1) * 16;
if2(random(1) > 0.5, n1, 1, -1);
if2(random(1) > 0.5, n2, 1, -1);
my._dir1 = n1;
my._dir2 = n2;
}
if (random(1) > 0.45) {
my.pan += my._dir1 * nStepPan * mo;
my.tilt += my._dir2 * nStepTilt * mo;
my.tilt = clamp(my.tilt, -45, 45);
}
temp.x = 5 * mo;
temp.y = 0;
temp.z = 0;
c_move(me, temp, nullvector, IGNORE_PASSABLE);
}
action batty_a1 {
while(me != NULL) {
batty_f1();
wait(1);
}
}