ai_vasics_movement

This commit is contained in:
Jonas Mucke
2020-04-19 21:20:18 +02:00
parent e21a065b60
commit 5a21a715f5
2 changed files with 52 additions and 7 deletions

View File

@@ -40,7 +40,7 @@ var targetFieldUsed = false
var actionField = [0,0]
var actionFieldUsed = false
var threadTime = 0.8
var threadTime = 0.4
var threadDelta = 0.0
#calculates the sum of all present prios
func calcTotalPrio():
@@ -120,7 +120,7 @@ func g_fn(currCost, target):
return currCost + getCost(target)
# Returns the list of adjacent nodes
func adjacent(currentPosition, can_roll = false):
func adjacent(currentPosition, can_roll = true):
var adj := []
#adj.append([STEP, Vector2(0,0)])
var p = currentPosition
@@ -169,9 +169,8 @@ func adjacent(currentPosition, can_roll = false):
adj.append([STEP, Vector2(next[0],next[1]),1.0])
return adj
for next in pot_adj_roll:
for i in range(pot_adj_roll.size()):
var next = pot_adj_roll[i]
if(next[0]<0):
continue
if(next[0]>13):
@@ -183,7 +182,48 @@ func adjacent(currentPosition, can_roll = false):
if(grid.used_grid[next[0]][next[1]]):
continue
if(grid.object_grid[next[0]][next[1]][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.0])
continue
if(grid.object_grid[next[0]][next[1]][0]!=Grid.Kind.WALL):
if(i==0):
if(grid.object_grid[next[0]+0][next[1]+1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+1][next[1]+0][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+1][next[1]+1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+1][next[1]+2][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+2][next[1]+1][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.1])
if(i==1):
if(grid.object_grid[next[0]+0][next[1]+1][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.0])
if(i==2):
if(grid.object_grid[next[0]-0][next[1]+1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-1][next[1]+0][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-1][next[1]+1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-1][next[1]+2][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-2][next[1]+1][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.1])
if(i==3):
if(grid.object_grid[next[0]+1][next[1]+0][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.0])
if(i==4):
if(grid.object_grid[next[0]-1][next[1]+0][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.0])
if(i==5):
if(grid.object_grid[next[0]+0][next[1]-1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+1][next[1]-0][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+1][next[1]-1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+1][next[1]-2][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]+2][next[1]-1][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.1])
if(i==6):
if(grid.object_grid[next[0]+0][next[1]-1][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.0])
if(i==7):
if(grid.object_grid[next[0]-0][next[1]-1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-1][next[1]-0][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-1][next[1]-1][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-1][next[1]-2][0]!=Grid.Kind.WALL &&
grid.object_grid[next[0]-2][next[1]-1][0]!=Grid.Kind.WALL):
adj.append([ROLL, Vector2(next[0],next[1]),2.1])
return adj

View File

@@ -1,9 +1,10 @@
[gd_scene load_steps=8 format=2]
[gd_scene load_steps=9 format=2]
[ext_resource path="res://Player/Player.tscn" type="PackedScene" id=1]
[ext_resource path="res://World.gd" type="Script" id=2]
[ext_resource path="res://Maps/Tilesets/Room/tileset_room.tres" type="TileSet" id=3]
[ext_resource path="res://testSprites/dark.png" type="Texture" id=4]
[ext_resource path="res://testSprites/bannane.png" type="Texture" id=5]
[ext_resource path="res://Objects/Bonfire/Bonfire.tscn" type="PackedScene" id=7]
[ext_resource path="res://Boss/Boss_template.tscn" type="PackedScene" id=17]
[ext_resource path="res://Maps/Grid.tscn" type="PackedScene" id=18]
@@ -47,6 +48,10 @@ position = Vector2( 264, -16 )
[node name="Body" parent="YSort/Bonfire" index="3"]
disabled = true
[node name="bannane" type="Sprite" parent="YSort"]
position = Vector2( 104, -24 )
texture = ExtResource( 5 )
[node name="Grid" parent="." instance=ExtResource( 18 )]
[editable path="YSort/Bonfire"]