Merge branch 'bos_testing' into devRefactor

This commit is contained in:
Jan Schuffenhauer
2020-04-19 18:26:34 +02:00
5 changed files with 40 additions and 25 deletions

View File

@@ -56,7 +56,7 @@ func _ready():
_update_grid()
func _reset_history():
func reset_history():
for x in range(14):
for y in range(7):
used_grid[x][y] = false

View File

@@ -24,9 +24,10 @@ enum{
}
var ExecutionState = AI_MOVE
var movmentState = NOTHING
var numbers = [0,0,0,0,0,0,0,0,0,0]
var prios = [7,0,6,5,4,3,2,0,0,4]
var prios = [7,0,6,5,4,3,2,1,1,4]
var totalPrioTurn = 0
var executesTurn = false
@@ -68,7 +69,7 @@ func calcPrioTable():
#updates heart and bonfire prio
func adjustPrio(currentHealth, maxHealth):
var prioVal = 10 - (currentHealth/maxHealth)*10
var prioVal = 1000 - (float(currentHealth)/float(maxHealth))*1000
var bonfire = prioVal
var hearts = prioVal - 1
if(hearts < 0):
@@ -81,7 +82,7 @@ func calcEnemyKind():
var table = calcPrioTable()
var number = randf()
var i = 0
while table[i] <= number:
while i!=Grid.Kind.TERMINAL_SYMBOL and table[i] <= number:
i += 1
return i
@@ -95,7 +96,7 @@ func getCost(field):
for i in grid.prio_grid[field.x][field.y]:
match i:
Grid.Kind.DAMAGE:
cost += prios[Grid.kind.BONFIRE] * 6
cost += prios[Grid.Kind.BONFIRE] * 6
Grid.Kind.SLOW:
cost += 2
return cost
@@ -193,25 +194,41 @@ func AStar(source, target):
return [NOTHING, [0,0]]
func makeMove(delta):
pass
if ExecutionState == AI_MOVE:
var currentPosition = grid._pixel_to_grid_coords(global_position)
var enemyKind = calcEnemyKind()
var targetField = grid.get_nearest(currentPosition, enemyKind)
var MoveAdvice = getMoveDescription(currentPosition, targetField)
print(MoveAdvice)
if(enemyKind==Grid.Kind.TERMINAL_SYMBOL):
return
var target = grid.get_nearest(currentPosition, enemyKind)
var MoveAdvice = getMoveDescription(currentPosition, target)
target = MoveAdvice[1]
if(MoveAdvice[0]==STEP):
run(Vector2(target[0]-currentPosition[0], target[1]-currentPosition[1]), delta*10)
targetField = target
targetFieldUsed = true
movmentState = STEP
elif(MoveAdvice[0]==ROLL):
roll(Vector2(target[0]-currentPosition[0], target[1]-currentPosition[1]), delta*10)
targetFieldUsed = true
targetField = target
ExecutionState = EXECUTING
pass
grid.reset_history()
elif ExecutionState == EXECUTING:
if(targetFieldUsed):
pass
var cur = grid._pixel_to_grid_coords(global_position)
var distance = sqrt(pow(cur[0]-targetField[0],2)+ pow(cur[1]-targetField[1],2))
if(distance<0.5):
if(distance<0.01):
targetFieldUsed = false
ExecutionState = AI_MOVE
else:
var currentPosition = grid._pixel_to_grid_coords(global_position)
if(movmentState==STEP):
run(Vector2(targetField[0]-currentPosition[0], targetField[1]-currentPosition[1]), delta*10)
elif(movmentState==ROLL):
roll(Vector2(targetField[0]-currentPosition[0], targetField[1]-currentPosition[1]), delta*10)
else:
ExecutionState = AI_MOVE
pass

View File

@@ -56,6 +56,7 @@ func _physics_process(delta):
while(totaldamage < -1):
totaldamage+=1
player_stats.health+=1
adjustPrio(player_stats.health, player_stats.max_health)
_debug_update()
if debug == true:
match movementState:
@@ -185,7 +186,7 @@ func _on_Hurtbox_area_exited(area):
func _on_Stats_no_health():
queue_free()
get_tree().change_scene(title_scene)
get_tree().change_scene("res://Menus/TitleScreen/TitleScreen.tscn")
func _on_Hitbox_area_entered(area):

View File

@@ -627,7 +627,6 @@ font_data = ExtResource( 6 )
[node name="Player" type="KinematicBody2D"]
script = ExtResource( 1 )
FRICTION = 270
title_scene = "res://Menus/TitleScreen/TitleScreen.tscn"
[node name="Kind" parent="." instance=ExtResource( 7 )]
kind = 1

View File

@@ -1,12 +1,12 @@
[gd_scene load_steps=8 format=2]
[gd_scene load_steps=7 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://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=21]
[ext_resource path="res://Maps/Grid.tscn" type="PackedScene" id=18]
[sub_resource type="AnimationNodeStateMachinePlayback" id=1]
[node name="World" type="Node2D"]
script = ExtResource( 2 )
@@ -34,13 +34,11 @@ position = Vector2( 152, 120 )
[node name="Player" parent="YSort" instance=ExtResource( 1 )]
position = Vector2( 176, 112 )
scale = Vector2( 2, 2 )
debug = true
FRICTION = 200
[node name="Bonfire" parent="YSort" instance=ExtResource( 7 )]
position = Vector2( 296, -16 )
[node name="AnimationTree" parent="YSort/Player" index="4"]
parameters/playback = SubResource( 1 )
[node name="Boss_template2" parent="YSort" instance=ExtResource( 17 )]
position = Vector2( -40, 16 )
[node name="Grid" parent="." instance=ExtResource( 18 )]
[node name="Grid" parent="." instance=ExtResource( 21 )]
[editable path="YSort/Player"]