sdim magic_data 64, 3
magic_data.0 = "fire"
magic_data.1 = "Lightning"
...
のことか?

あと、
>magic_data.0 = attack_data.0 = mp_data.0
はどうしたいんだ?
配列のインデックスで判断するのはだめなのか?