skill solution
This commit is contained in:
parent
e944e0de19
commit
5f9a983cd0
10 changed files with 110 additions and 9 deletions
47
eastern flames/scripts/c_doenemyai/c_doenemyai.gml
Normal file
47
eastern flames/scripts/c_doenemyai/c_doenemyai.gml
Normal file
|
@ -0,0 +1,47 @@
|
|||
function c_doenemyai(target) {
|
||||
switch target.data.aitype {
|
||||
case AI.AFK:
|
||||
target.waiting = true;
|
||||
break;
|
||||
case AI.KILLER:
|
||||
var dude = c_findnearestunit(ARMY.US);
|
||||
repeat(target.data.mov.val) {
|
||||
var guy = c_gettile(target.pos.x, target.pos.y);
|
||||
if target.pos.x < dude.x {
|
||||
var guy = c_gettile(target.pos.x+1, target.pos.y);
|
||||
} else if target.pos.x > dude.x {
|
||||
var guy = c_gettile(target.pos.x-1, target.pos.y);
|
||||
}
|
||||
if target.pos.y < dude.y {
|
||||
var guy = c_gettile(target.pos.x+1, target.pos.y);
|
||||
} else if target.pos.x > dude.x {
|
||||
var guy = c_gettile(target.pos.x-1, target.pos.y);
|
||||
}
|
||||
if guy.passable {
|
||||
c_moveunit(target, guy);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
target.waiting = true;
|
||||
break;
|
||||
case AI.WAITER:
|
||||
|
||||
break;
|
||||
case AI.ESCAPER:
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function c_findnearestunit(alignment) {
|
||||
var lowest = new vec2(99, 99);
|
||||
var lowestunit = new vec2(99, 99);
|
||||
for (i=0; i<array_length(global.units[alignment]); i++) {
|
||||
var guy = global.units[alignment][i].pos;
|
||||
if (lowest.x + lowest.y < guy.x + guy.y) {
|
||||
lowest = guy;
|
||||
lowestunit = global.units[alignment][i];
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
12
eastern flames/scripts/c_doenemyai/c_doenemyai.yy
Normal file
12
eastern flames/scripts/c_doenemyai/c_doenemyai.yy
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "Scripts",
|
||||
"path": "folders/Scripts.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "c_doenemyai",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue