mirror of
https://github.com/creyD/ludum_dare_46.git
synced 2026-06-12 21:42:23 +02:00
Merge branch 'bos_testing' into devRefactor
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user