Hmm i've got to say... Why the hell no one cares about spell systems?

Here's one free of charge...

All due credit to me and to aum, but i dont want, i dont know about aum...

function energy_ball()
{
wait (1);
my.enable_entity = on;
my.enable_block = on;
my.event = remove_eball;
my.pan = you.pan;
my.tilt = you.tilt;
my.lightred = 250;
my.lightgreen = 150;
my.lightrange = 200;
eball_speed.x = 20;
eball_speed.y = 0;
eball_speed.z = 0;
eball_speed *= time;
while (my != null)
{
my.roll += 20 * time;
move_mode = ignore_you + ignore_passents;
ent_move (eball_speed, nullvector);
wait (1);
}
}

function remove_eball()
{
wait (1);
if (you == player)
{
player.hp -= 60; // decrease player's health
}
ent_remove (me);
}

ACTION player_action
{
my.passable = 0;
player = my;
my.entity_type = 0;
my.gravity = 6;
my.z_offset = 6;
wait(1);
WHILE (1)
{ //the main loop
if (key_t == 1)
{
ent_animate(my,"attack_a",my.animate,0);
my.skill10 += 3 * time; //3


eball_pos.x = my.x;
eball_pos.y = my.y;
eball_pos.z = my.z + 25; // the energy ball appears betwen wizard's hands
ent_create (energyball_mdl, eball_pos, energy_ball);
snd_play (energy_snd, 70, 0);
wait (16);
}
gravity();
movement();
camera();
animation();
wait(1);
}
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Hope this will be helpfull to the community