#include <acknex.h>
#include <default.c>
//Includes
#include "drav_functions.c"
var i;
VECTOR t_vec,t_vec2;
VECTOR color1,color2,color3;
function drav_unit0()
{
drav_set_color(color2);
drav_triangle(vector(0,5,0),vector(0,-5,0),vector(-my.skill1*2,0,0));
drav_triangle(vector(0,6,0),vector(0,-6,0),vector(-my.skill1*2-1,0,0));
drav_set_color(color1);
drav_4point(vector(0,8,0),vector(16,3,0),vector(16,-3,0),vector(0,-8,0));
drav_triangle(vector(2,4,0),vector(2,-4,0),vector(10,0,0));
}
function follower()
{
my.skill1 = 0;
my.skill3 = 45;
while (1)
{
my.skill2 = vec_dist(my.x,mouse_pos.x);
vec_set(t_vec,mouse_pos.x);
vec_sub(t_vec,my.x);
vec_to_angle(t_vec2,t_vec);
if (my.skill2 > 8) my.skill3 = t_vec2.x;
if (my.skill2 > 32)
{
my.skill1 = minv(my.skill1+0.25,4);
}
else
{
my.skill1 = minv(my.skill1,my.skill2);
my.skill1 *= 0.85;
if (my.skill1 < 0.5) my.skill1 = 0;
}
vec_set(t_vec,vector(my.skill1,0,0));
vec_rotate(t_vec,vector(my.skill3,0,0));
vec_add(my.x,t_vec);
vec_set(drav_ofs,my.x);
drav_angle.x = my.skill3;
drav_unit0();
wait(1);
}
}
function star()
{
my.skill1 = random(360);
my.skill2 = random(0.6)+0.1;
my.skill3 = 4 + random(6);
while (1)
{
my.x -= 1;
my.y += 0.5;
if (my.x < -10) my.x += 660;
if (my.y > 490) my.y -= 500;
drav_angle.x = my.skill1;
drav_set_alpha(my.skill2);
drav_set_color(color3);
vec_set(drav_ofs,my.x);
drav_circle_ray(nullvector,0,my.skill3,7);
drav_set_alpha(1);
wait(1);
}
}
function main()
{
fps_max = 60;
mouse_mode = 4;
level_load(NULL);
wait(3);
draw_textmode("Arial",0,14,100);
vec_set(color1,vector(0,255,192));
vec_set(color2,vector(0,192,255));
vec_set(color3,vector(255,255,255));
vec_set(sky_color,vector(64,64,64));
drav_reset();
drav_set_color(vector(0,255,192));
for (i=0;i<=100;i+=1) ent_create(NULL,vector(random(640),random(480),0),star);
ent_create(NULL,vector(32,32,0),follower);
while(1)
{
draw_text("Epic win -> first DraV game :)\nI #define a new way in drawing simplistic graphics",4,4,color1);
wait(1);
}
}