turnstates
This commit is contained in:
parent
1a13781220
commit
cd85677efd
57 changed files with 1813 additions and 104 deletions
|
@ -16,6 +16,7 @@ global.gw = 640;
|
|||
global.gh = 360;
|
||||
global.camerax = 0;
|
||||
global.cameray = 0;
|
||||
state = st_control;
|
||||
//these are functions bc c_2dto3d uses them
|
||||
function getProj(){
|
||||
return matrix_build_projection_perspective_fov(60,-16/9,1,4000)
|
||||
|
@ -49,4 +50,6 @@ models = [];
|
|||
|
||||
//var spr = sprite_add("./shrine thing tex.png",0,false,false,0,0);
|
||||
var spr = sprite_add("./Map 1/MapAtlas.png",0,false,false,0,0);
|
||||
nu Model("./Map 1/Map 1.dat",spr);
|
||||
nu Model("./Map 1/Map 1.dat",spr);
|
||||
|
||||
textbox_create(txt_test);
|
|
@ -1,88 +1 @@
|
|||
while global.turn == ARMY.THEM {
|
||||
var done = true;
|
||||
for (k=0; k<array_length(global.units[ARMY.THEM]); k++) {
|
||||
var target = global.units[ARMY.THEM][k];
|
||||
if !target.waiting {
|
||||
done = false;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
c_doenemyai(target);
|
||||
}
|
||||
if done {
|
||||
c_dewait(global.turn);
|
||||
global.turn = (global.turn+1)%2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
c_input();
|
||||
var mouse = c_2dto3d(mouse_x,mouse_y);
|
||||
if select && selectedunit == noone {
|
||||
var mousex = floor(mouse.x/global.tilesize.x);
|
||||
var mousey = floor(mouse.y/global.tilesize.y);
|
||||
log(mousex, mousey);
|
||||
if mousex < array_length(global.map) && mousex >= 0 {
|
||||
if mousey < array_length(global.map[mousex]) && mousey >= 0 {
|
||||
var i;
|
||||
for (i=0; i<array_length(global.map[mousex][mousey].contents); i++) {
|
||||
if global.map[mousex][mousey].contents[i].object_index == o_unit {
|
||||
var dude = global.map[mousex][mousey].contents[i];
|
||||
if dude.alignment == global.turn {
|
||||
c_selectunit(dude);
|
||||
} else {
|
||||
c_markunit(dude);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if select {
|
||||
if mouse.x > global.gw-100 {
|
||||
var guyhits = floor(abs(mouse.y-global.gh-10)/32);
|
||||
log(guyhits, array_length(selectedunit.inventory));
|
||||
if guyhits < array_length(selectedunit.inventory) {
|
||||
//log("doing");
|
||||
selectedunit.equippedweapon = guyhits+1;
|
||||
c_equipweapon(selectedunit, selectedunit.inventory[selectedunit.equippedweapon]);
|
||||
}
|
||||
//draw_text(global.gw-10, global.gh-10-i*20;
|
||||
}
|
||||
}
|
||||
if selectedunit == noone {
|
||||
hspd = lerp(hspd, (right-left)*((.1+stop*.1)*(ts.x)), .4);
|
||||
vspd = lerp(vspd, (down-up)*((.1+stop*.1)*(ts.y)), .4);
|
||||
x += hspd;
|
||||
y += vspd;
|
||||
|
||||
} else {
|
||||
hspd = 0;
|
||||
vspd = 0;
|
||||
x = lerp(x, selectedunit.x, .4);
|
||||
y = lerp(y, selectedunit.y, .4);
|
||||
}
|
||||
|
||||
global.camerax = x;
|
||||
global.cameray = y;
|
||||
var mousex = floor(mouse.x/global.tilesize.x);
|
||||
var mousey = floor(mouse.y/global.tilesize.y);
|
||||
//log(mousex, mousey);
|
||||
hoveredunit = selectedunit;
|
||||
if mousex < array_length(global.map) && mousex >= 0 {
|
||||
if mousey < array_length(global.map[mousex]) && mousey >= 0 {
|
||||
var i;
|
||||
for (i=0; i<array_length(global.map[mousex][mousey].contents); i++) {
|
||||
if global.map[mousex][mousey].contents[i].object_index == o_unit {
|
||||
hoveredunit = (global.map[mousex][mousey].contents[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var i;
|
||||
for (i=0; i<array_length(global.units[global.turn]); i++) {
|
||||
if global.units[global.turn][i].waiting = false exit;
|
||||
}
|
||||
c_dewait(global.turn);
|
||||
global.turn = (global.turn+1)%2;
|
||||
log("TURN " + string(global.turn));
|
||||
state();
|
Loading…
Add table
Add a link
Reference in a new issue