Здравствуйте, у меня одна проблема.

Код AS1/AS2:
function turel_define(array_id:Number):Array
{
var temp_array:Array = turels[array_id];
temp_array = turels[array_id];
temp_array[1] = races[Math.floor(Math.random() * 8) + 1];
temp_array[3] = turels[array_id][3] + (Math.floor(Math.random() * (turels[array_id][3] / 5) - (turels[array_id][3] / 10)));
temp_array[4] = turels[array_id][4] + (Math.floor(Math.random() * (turels[array_id][4] / 5) - (turels[array_id][4] / 10)));
temp_array[5] = turels[array_id][5] + (Math.floor(Math.random() * (turels[array_id][5] / 10) - (turels[array_id][5] / 20)));
temp_array[6] = turels[array_id][6] + (Math.floor(Math.random() * (turels[array_id][6] / 5) - (turels[array_id][6] / 10)));
temp_array[7] = turels[array_id][7] + (Math.floor(Math.random() * (turels[array_id][7] / 10) - (turels[array_id][7] / 20)));
trace(temp_array);
return temp_array;
}
for (var i:Number = 1; i <= 5; i++)
{
ship_stats[i] = turel_define(0);
}
В цикле 5 раз вызываю функцию. Она должна произвести некоторые математические действия и вернуть массив с числами. Каждый масив записать в масив ship_stats. В функции производятся действия которые должны вернуть более менее рандомное число, основываясь на некоторых переменных, но тем не менее каждый элемент массива ship_stats идентичен друг другу.
trace(temp_array) выдает правильные результаты, всегда разные.
Подскажите пожалуйста, почему функция каждый раз записывает один и тот же масив в масив ship_stats?