Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 13a789d0b3 | |||
| b7aebd563d | |||
| 8c9d67d9f8 | |||
| c1c4ba4349 | |||
| 8bef06f316 | |||
|
|
74da9131dc | ||
|
|
242c6d4b16 | ||
| b0331a38b4 | |||
| 65aaa54187 | |||
| 739c4a8a76 | |||
| d12d69f083 | |||
| 6c33a3a39c |
5
.gitignore
vendored
@@ -19,3 +19,8 @@ data_*/
|
|||||||
|
|
||||||
# PyCharm files
|
# PyCharm files
|
||||||
.idea/
|
.idea/
|
||||||
|
|
||||||
|
# DISTRIBUTION FILES
|
||||||
|
dist/
|
||||||
|
*.exe
|
||||||
|
*.pck
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ In this game you have cards to help the angry slime boss to survive. Each time a
|
|||||||
|
|
||||||
Have fun playing ~
|
Have fun playing ~
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
If you want to play the latest version you can go to the [release tab](https://github.com/creyD/ludum_dare_46/releases) of this repository and download the latest .zip file which contains the .exe and .pck file. Alternatively you can go to the [itch.io](https://deranonymos.itch.io/bosskeeper) site of this project and download it from there.
|
||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
This is a minigame developed by a team of 8 people for the Ludum Dare No. 46 in 04/2020 over the course of 3 days. The team members consisted of @panorb, @Sonaion, @Streamfire, @DerAnonymos, @Mienek, Leo (for all major assets), Markus (for sounds) and @creyD. It is written in the Godot framework and a playable version can be downloaded on the release page of this repo.
|
This is a minigame developed by a team of 8 people for the Ludum Dare No. 46 in 04/2020 over the course of 3 days. The team members consisted of @panorb, @Sonaion, @Streamfire, @DerAnonymos, @Mienek, Leo (for all major assets), Markus (for sounds) and @creyD. It is written in the Godot framework and a playable version can be downloaded on the release page of this repo.
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ const EFFECT_LAYERS:int = 20
|
|||||||
var _effect: Array = []
|
var _effect: Array = []
|
||||||
var _music: AudioStreamPlayer
|
var _music: AudioStreamPlayer
|
||||||
|
|
||||||
#Playback Options
|
# Playback Options
|
||||||
var _loop: bool = true
|
var _loop: bool = true
|
||||||
|
|
||||||
#Settings that should be put into an Options script
|
# Settings that should be put into an Options script
|
||||||
var _music_volume:int = -12
|
var _music_volume:int = -12
|
||||||
var _effects_volume:int = -12
|
var _effects_volume:int = -12
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ func _ready() -> void:
|
|||||||
_music.volume_db= _music_volume
|
_music.volume_db= _music_volume
|
||||||
_music.connect("finished",self,"sig_music_finished")
|
_music.connect("finished",self,"sig_music_finished")
|
||||||
add_child(_music)
|
add_child(_music)
|
||||||
|
|
||||||
for i in range(0,EFFECT_LAYERS):
|
for i in range(0,EFFECT_LAYERS):
|
||||||
_effect.append(AudioStreamPlayer.new())
|
_effect.append(AudioStreamPlayer.new())
|
||||||
_effect[i].volume_db= _effects_volume
|
_effect[i].volume_db= _effects_volume
|
||||||
@@ -26,44 +26,50 @@ func _ready() -> void:
|
|||||||
_effect[i].connect("finished", self, "sig_effect_finished")
|
_effect[i].connect("finished", self, "sig_effect_finished")
|
||||||
add_child(_effect[i])
|
add_child(_effect[i])
|
||||||
|
|
||||||
|
|
||||||
func pub_play_music(path:String,should_loop:bool=true)-> void:
|
func pub_play_music(path:String,should_loop:bool=true)-> void:
|
||||||
var stream = load(path)
|
var stream = load(path)
|
||||||
#AudioServer.set_bus_mute(1, true)
|
# AudioServer.set_bus_mute(1, true)
|
||||||
_music.stop()
|
_music.stop()
|
||||||
_music.stream = stream
|
_music.stream = stream
|
||||||
_music.play()
|
_music.play()
|
||||||
_loop=should_loop
|
_loop=should_loop
|
||||||
|
|
||||||
|
|
||||||
func pub_play_effect(path:String,channel:int=0)-> void:
|
func pub_play_effect(path:String,channel:int=0)-> void:
|
||||||
var stream = load(path)
|
var stream = load(path)
|
||||||
#AudioServer.set_bus_mute(1, true)
|
# AudioServer.set_bus_mute(1, true)
|
||||||
_effect[channel].stop()
|
_effect[channel].stop()
|
||||||
_effect[channel].stream = stream
|
_effect[channel].stream = stream
|
||||||
_effect[channel].play()
|
_effect[channel].play()
|
||||||
|
|
||||||
|
|
||||||
func pub_stop_music()-> void:
|
func pub_stop_music()-> void:
|
||||||
_music.stop()
|
_music.stop()
|
||||||
|
|
||||||
|
|
||||||
func pub_stop_effect(channel:int)-> void:
|
func pub_stop_effect(channel:int)-> void:
|
||||||
_effect[channel].stop()
|
_effect[channel].stop()
|
||||||
|
|
||||||
|
|
||||||
func pub_stop_effects()-> void:
|
func pub_stop_effects()-> void:
|
||||||
for i in range(0,EFFECT_LAYERS):
|
for i in range(0,EFFECT_LAYERS):
|
||||||
_effect[i].stop()
|
_effect[i].stop()
|
||||||
|
|
||||||
|
|
||||||
func pub_stop_all() -> void:
|
func pub_stop_all() -> void:
|
||||||
pub_stop_music()
|
pub_stop_music()
|
||||||
pub_stop_effects()
|
pub_stop_effects()
|
||||||
|
|
||||||
|
|
||||||
func sig_music_finished() -> void:
|
func sig_music_finished() -> void:
|
||||||
#AudioServer.set_bus_mute(1, false)
|
# AudioServer.set_bus_mute(1, false)
|
||||||
if _loop :
|
if _loop :
|
||||||
_music.stop()
|
_music.stop()
|
||||||
_music.play()
|
_music.play()
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func sig_effect_finished() -> void:
|
func sig_effect_finished() -> void:
|
||||||
#AudioServer.set_bus_mute(1, false)
|
# AudioServer.set_bus_mute(1, false)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@@ -4,11 +4,11 @@ const DEFAULT_MASS = 2.0
|
|||||||
const DEFAULT_SLOW_RADIUS = 200.0
|
const DEFAULT_SLOW_RADIUS = 200.0
|
||||||
const DEFAULT_MAX_SPEED = 300.0
|
const DEFAULT_MAX_SPEED = 300.0
|
||||||
|
|
||||||
func arrive_to(velocity,
|
func arrive_to(velocity,
|
||||||
position_current,
|
position_current,
|
||||||
position_target,
|
position_target,
|
||||||
mass=DEFAULT_MASS,
|
mass=DEFAULT_MASS,
|
||||||
slow_radius=DEFAULT_SLOW_RADIUS,
|
slow_radius=DEFAULT_SLOW_RADIUS,
|
||||||
max_speed=DEFAULT_MAX_SPEED):
|
max_speed=DEFAULT_MAX_SPEED):
|
||||||
"""
|
"""
|
||||||
Calculates and returns a new velocity with the arrive steering behavior arrived based on
|
Calculates and returns a new velocity with the arrive steering behavior arrived based on
|
||||||
|
|||||||
@@ -27,9 +27,10 @@ var movementState = moveState.MOVE
|
|||||||
var damage_per_second := 0.0
|
var damage_per_second := 0.0
|
||||||
var totaldamage := 0.0
|
var totaldamage := 0.0
|
||||||
|
|
||||||
|
|
||||||
func _debug_update():
|
func _debug_update():
|
||||||
debug_label.text = str(player_stats.health) + "/" + str(player_stats.max_health) + " HP\n"
|
debug_label.text = str(player_stats.health) + "/" + str(player_stats.max_health) + " HP\n"
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
totaldamage += damage_per_second * delta
|
totaldamage += damage_per_second * delta
|
||||||
@@ -47,13 +48,13 @@ func _physics_process(delta):
|
|||||||
movement_move(delta)
|
movement_move(delta)
|
||||||
moveState.HIT:
|
moveState.HIT:
|
||||||
movement_hit()
|
movement_hit()
|
||||||
|
|
||||||
move()
|
move()
|
||||||
|
|
||||||
|
|
||||||
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
||||||
# Godots physics system does that internally
|
# Godots physics system does that internally
|
||||||
# In move_and_collide(...) you have to multiply by delta.
|
# In move_and_collide(...) you have to multiply by delta.
|
||||||
func move():
|
func move():
|
||||||
move_and_slide(velocity)
|
move_and_slide(velocity)
|
||||||
|
|
||||||
@@ -68,7 +69,7 @@ func movement_move(delta):
|
|||||||
input_vector.x = Input.get_action_strength("right") - Input.get_action_strength("left")
|
input_vector.x = Input.get_action_strength("right") - Input.get_action_strength("left")
|
||||||
input_vector.y = Input.get_action_strength("down") - Input.get_action_strength("up")
|
input_vector.y = Input.get_action_strength("down") - Input.get_action_strength("up")
|
||||||
input_vector = input_vector.normalized()
|
input_vector = input_vector.normalized()
|
||||||
|
|
||||||
if input_vector == Vector2.ZERO:
|
if input_vector == Vector2.ZERO:
|
||||||
#animation_state.travel("idle")
|
#animation_state.travel("idle")
|
||||||
velocity = Vector2.ZERO
|
velocity = Vector2.ZERO
|
||||||
|
|||||||
@@ -4,9 +4,10 @@
|
|||||||
[ext_resource path="res://Overlap/HurtHit_Box/Hitbox.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://Overlap/HurtHit_Box/Hitbox.tscn" type="PackedScene" id=2]
|
||||||
[ext_resource path="res://Overlap/Stats/Stats.tscn" type="PackedScene" id=3]
|
[ext_resource path="res://Overlap/Stats/Stats.tscn" type="PackedScene" id=3]
|
||||||
[ext_resource path="res://Boss/Boss_template.gd" type="Script" id=4]
|
[ext_resource path="res://Boss/Boss_template.gd" type="Script" id=4]
|
||||||
[ext_resource path="res://testSprites/white_boss_dog.png" type="Texture" id=5]
|
[ext_resource path="res://Boss/white_boss_dog.png" type="Texture" id=5]
|
||||||
[ext_resource path="res://Overlap/Kind.tscn" type="PackedScene" id=6]
|
[ext_resource path="res://Overlap/Kind.tscn" type="PackedScene" id=6]
|
||||||
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id=1]
|
[sub_resource type="CapsuleShape2D" id=1]
|
||||||
radius = 18.0
|
radius = 18.0
|
||||||
height = 18.0
|
height = 18.0
|
||||||
|
|||||||
@@ -14,19 +14,23 @@ var totaldamage := 0.0
|
|||||||
|
|
||||||
var rollvector = Vector2.ZERO
|
var rollvector = Vector2.ZERO
|
||||||
|
|
||||||
|
|
||||||
func _debug_update():
|
func _debug_update():
|
||||||
debug_label.text = str(player_stats.health) + "/" + str(player_stats.max_health) + " HP\n"
|
debug_label.text = str(player_stats.health) + "/" + str(player_stats.max_health) + " HP\n"
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
grid = get_tree().current_scene.get_node("Grid")
|
grid = get_tree().current_scene.get_node("Grid")
|
||||||
|
|
||||||
|
|
||||||
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
||||||
# Godots physics system does that internally
|
# Godots physics system does that internally
|
||||||
# In move_and_collide(...) you have to multiply by delta.
|
# In move_and_collide(...) you have to multiply by delta.
|
||||||
func move():
|
func move():
|
||||||
move_and_slide(velocity)
|
move_and_slide(velocity)
|
||||||
_animate(velocity)
|
_animate(velocity)
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
totaldamage += damage_per_second * delta
|
totaldamage += damage_per_second * delta
|
||||||
player_stats.speed += 10 * delta
|
player_stats.speed += 10 * delta
|
||||||
@@ -37,7 +41,7 @@ func _physics_process(delta):
|
|||||||
totaldamage += 1
|
totaldamage += 1
|
||||||
player_stats.health += 1
|
player_stats.health += 1
|
||||||
_debug_update()
|
_debug_update()
|
||||||
|
|
||||||
run(Vector2.ZERO, delta)
|
run(Vector2.ZERO, delta)
|
||||||
makeMove(delta)
|
makeMove(delta)
|
||||||
move()
|
move()
|
||||||
@@ -54,18 +58,20 @@ func _on_Hurtbox_area_entered(area):
|
|||||||
|
|
||||||
func _on_Hurtbox_area_exited(area):
|
func _on_Hurtbox_area_exited(area):
|
||||||
damage_per_second -= area.damage
|
damage_per_second -= area.damage
|
||||||
|
|
||||||
|
|
||||||
# API Interface for ai_hero
|
# API Interface for ai_hero
|
||||||
func run(direction, delta):
|
func run(direction, delta):
|
||||||
direction = direction.normalized()
|
direction = direction.normalized()
|
||||||
rollvector = direction
|
rollvector = direction
|
||||||
velocity = velocity.move_toward(player_stats.speed * rollvector, ACCELERATION * delta)
|
velocity = velocity.move_toward(player_stats.speed * rollvector, ACCELERATION * delta)
|
||||||
|
|
||||||
if direction == Vector2.ZERO:
|
if direction == Vector2.ZERO:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func _animate(vec):
|
func _animate(vec):
|
||||||
match get_nearest_diretion(vec):
|
match get_nearest_diretion(vec):
|
||||||
"up":
|
"up":
|
||||||
@@ -80,8 +86,6 @@ func _animate(vec):
|
|||||||
"left":
|
"left":
|
||||||
$Sprite.flip_h=true
|
$Sprite.flip_h=true
|
||||||
$Sprite.play("right")
|
$Sprite.play("right")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func get_nearest_diretion(vec):
|
func get_nearest_diretion(vec):
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ export(PHASES) var _phase = PHASES.PHASE_ONE
|
|||||||
export(String, FILE, "*.tscn,*.scn") var lose_screen = ""
|
export(String, FILE, "*.tscn,*.scn") var lose_screen = ""
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
print("Hey.")
|
|
||||||
_change_phase(_phase)
|
_change_phase(_phase)
|
||||||
$AnimationPlayer.play("__INIT__")
|
$AnimationPlayer.play("__INIT__")
|
||||||
|
|
||||||
@@ -86,7 +85,7 @@ func _change_phase(new_phase):
|
|||||||
PHASES.PHASE_THREE:
|
PHASES.PHASE_THREE:
|
||||||
$AnimationPlayer.playback_speed = 1.8
|
$AnimationPlayer.playback_speed = 1.8
|
||||||
phase_name = "Three"
|
phase_name = "Three"
|
||||||
|
|
||||||
emit_signal("phase_changed", phase_name)
|
emit_signal("phase_changed", phase_name)
|
||||||
_phase = new_phase
|
_phase = new_phase
|
||||||
|
|
||||||
@@ -105,7 +104,7 @@ func _decide_on_next_state():
|
|||||||
queue_free()
|
queue_free()
|
||||||
get_tree().change_scene(lose_screen)
|
get_tree().change_scene(lose_screen)
|
||||||
return $States/Dead
|
return $States/Dead
|
||||||
|
|
||||||
if _phase == PHASES.PHASE_ONE:
|
if _phase == PHASES.PHASE_ONE:
|
||||||
if angry_phases_done < 1:
|
if angry_phases_done < 1:
|
||||||
set_invincible(true)
|
set_invincible(true)
|
||||||
@@ -126,7 +125,7 @@ func _decide_on_next_state():
|
|||||||
return $States/ChargeSequence
|
return $States/ChargeSequence
|
||||||
if state_active == $States/ChargeSequence:
|
if state_active == $States/ChargeSequence:
|
||||||
return $States/Stomp
|
return $States/Stomp
|
||||||
|
|
||||||
if _phase == PHASES.PHASE_TWO:
|
if _phase == PHASES.PHASE_TWO:
|
||||||
if angry_phases_done < 2:
|
if angry_phases_done < 2:
|
||||||
set_invincible(true)
|
set_invincible(true)
|
||||||
@@ -151,7 +150,7 @@ func _decide_on_next_state():
|
|||||||
return $States/ChargeSequence
|
return $States/ChargeSequence
|
||||||
if state_active == $States/ChargeSequence:
|
if state_active == $States/ChargeSequence:
|
||||||
return $States/Stomp
|
return $States/Stomp
|
||||||
|
|
||||||
if _phase == PHASES.PHASE_THREE:
|
if _phase == PHASES.PHASE_THREE:
|
||||||
if angry_phases_done < 3:
|
if angry_phases_done < 3:
|
||||||
set_invincible(true)
|
set_invincible(true)
|
||||||
@@ -177,7 +176,7 @@ func _decide_on_next_state():
|
|||||||
if state_active == $States/ChargeSequence:
|
if state_active == $States/ChargeSequence:
|
||||||
return $States/Stomp
|
return $States/Stomp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -188,4 +187,3 @@ func set_invincible(value):
|
|||||||
|
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
$Stats.health -= area.damage
|
$Stats.health -= area.damage
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="StreamTexture"
|
type="StreamTexture"
|
||||||
path="res://.import/Herz.png-3bc4c258170ef18d93a634ef06d06196.stex"
|
path="res://.import/white_boss_dog.png-2051b871cadef126ef3ce9d25140cd41.stex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://testSprites/Herz.png"
|
source_file="res://Boss/white_boss_dog.png"
|
||||||
dest_files=[ "res://.import/Herz.png-3bc4c258170ef18d93a634ef06d06196.stex" ]
|
dest_files=[ "res://.import/white_boss_dog.png-2051b871cadef126ef3ce9d25140cd41.stex" ]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Panel
|
extends Panel
|
||||||
|
|
||||||
|
|
||||||
func _on_SlimeBoss_state_changed(new_state_name):
|
func _on_SlimeBoss_state_changed(new_state_name):
|
||||||
$VBoxContainer/State.text = new_state_name
|
$VBoxContainer/State.text = new_state_name
|
||||||
|
|
||||||
|
|||||||
@@ -16,14 +16,15 @@ var time_passed := 0.0
|
|||||||
var offset
|
var offset
|
||||||
export(float, 0, 42.0) var refresh_rate = 0.4
|
export(float, 0, 42.0) var refresh_rate = 0.4
|
||||||
|
|
||||||
|
|
||||||
func _point_coors(point : Vector2):
|
func _point_coors(point : Vector2):
|
||||||
return 14*point.y+point.x
|
return 14*point.y+point.x
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var walls = get_tree().current_scene.get_node("FloorTileMap")
|
var walls = get_tree().current_scene.get_node("FloorTileMap")
|
||||||
offset = walls.global_position
|
offset = walls.global_position
|
||||||
|
|
||||||
|
|
||||||
for x in range(14):
|
for x in range(14):
|
||||||
object_grid.push_back([])
|
object_grid.push_back([])
|
||||||
prio_grid.push_back([])
|
prio_grid.push_back([])
|
||||||
@@ -31,7 +32,6 @@ func _ready():
|
|||||||
object_grid[x].push_back([Kind.FIELD])
|
object_grid[x].push_back([Kind.FIELD])
|
||||||
prio_grid[x].push_back([Kind.TERMINAL_SYMBOL])
|
prio_grid[x].push_back([Kind.TERMINAL_SYMBOL])
|
||||||
|
|
||||||
|
|
||||||
for tile in walls.get_used_cells():
|
for tile in walls.get_used_cells():
|
||||||
if(is_in_coord(tile)):
|
if(is_in_coord(tile)):
|
||||||
object_grid[tile.x][tile.y][0] = Kind.WALL
|
object_grid[tile.x][tile.y][0] = Kind.WALL
|
||||||
@@ -44,62 +44,63 @@ func _ready():
|
|||||||
walkableCells.push_back(Vector2(x,y))
|
walkableCells.push_back(Vector2(x,y))
|
||||||
var Index = _point_coors(Vector2(x,y))
|
var Index = _point_coors(Vector2(x,y))
|
||||||
aStar_node.add_point(Index, Vector3(x,y,0.0))
|
aStar_node.add_point(Index, Vector3(x,y,0.0))
|
||||||
|
|
||||||
#add points straight
|
# add points straight
|
||||||
for point in walkableCells:
|
for point in walkableCells:
|
||||||
var point_index = _point_coors(point)
|
var point_index = _point_coors(point)
|
||||||
|
|
||||||
var points_relative_str = PoolVector2Array([
|
var points_relative_str = PoolVector2Array([
|
||||||
Vector2(point.x + 1, point.y),
|
Vector2(point.x + 1, point.y),
|
||||||
Vector2(point.x - 1, point.y),
|
Vector2(point.x - 1, point.y),
|
||||||
Vector2(point.x , point.y + 1),
|
Vector2(point.x , point.y + 1),
|
||||||
Vector2(point.x , point.y - 1)
|
Vector2(point.x , point.y - 1)
|
||||||
])
|
])
|
||||||
for point_rel in points_relative_str:
|
for point_rel in points_relative_str:
|
||||||
var point_relative_index = _point_coors(point_rel)
|
var point_relative_index = _point_coors(point_rel)
|
||||||
|
|
||||||
if point_rel == point or not is_in_coord(point_rel):
|
if point_rel == point or not is_in_coord(point_rel):
|
||||||
continue
|
continue
|
||||||
if not aStar_node.has_point(point_relative_index):
|
if not aStar_node.has_point(point_relative_index):
|
||||||
continue
|
continue
|
||||||
aStar_node.connect_points(point_index, point_relative_index, true)
|
aStar_node.connect_points(point_index, point_relative_index, true)
|
||||||
|
|
||||||
#diagonal
|
# diagonal
|
||||||
for point in walkableCells:
|
for point in walkableCells:
|
||||||
var point_index = _point_coors(point)
|
var point_index = _point_coors(point)
|
||||||
|
|
||||||
var points_relative_dia = PoolVector2Array([
|
var points_relative_dia = PoolVector2Array([
|
||||||
Vector2(point.x + 1, point.y + 1), Vector2(point.x, point.y + 1), Vector2(point.x + 1, point.y),
|
Vector2(point.x + 1, point.y + 1), Vector2(point.x, point.y + 1), Vector2(point.x + 1, point.y),
|
||||||
Vector2(point.x - 1, point.y + 1), Vector2(point.x, point.y + 1), Vector2(point.x - 1, point.y),
|
Vector2(point.x - 1, point.y + 1), Vector2(point.x, point.y + 1), Vector2(point.x - 1, point.y),
|
||||||
Vector2(point.x + 1, point.y - 1), Vector2(point.x, point.y - 1), Vector2(point.x + 1, point.y),
|
Vector2(point.x + 1, point.y - 1), Vector2(point.x, point.y - 1), Vector2(point.x + 1, point.y),
|
||||||
Vector2(point.x - 1, point.y - 1), Vector2(point.x, point.y - 1), Vector2(point.x - 1, point.y)
|
Vector2(point.x - 1, point.y - 1), Vector2(point.x, point.y - 1), Vector2(point.x - 1, point.y)
|
||||||
])
|
])
|
||||||
|
|
||||||
for i in range(points_relative_dia.size()/3):
|
for i in range(points_relative_dia.size()/3):
|
||||||
var p_targ = points_relative_dia[i*3]
|
var p_targ = points_relative_dia[i*3]
|
||||||
var p_ch1 = points_relative_dia[i*3+1]
|
var p_ch1 = points_relative_dia[i*3+1]
|
||||||
var p_ch2 = points_relative_dia[i*3+2]
|
var p_ch2 = points_relative_dia[i*3+2]
|
||||||
|
|
||||||
var p_targ_c = _point_coors(p_targ)
|
var p_targ_c = _point_coors(p_targ)
|
||||||
var p_ch1_c = _point_coors(p_targ)
|
var p_ch1_c = _point_coors(p_targ)
|
||||||
var p_ch2_c = _point_coors(p_targ)
|
var p_ch2_c = _point_coors(p_targ)
|
||||||
|
|
||||||
if p_targ == point or not is_in_coord(p_targ) and not aStar_node.has_point(p_targ_c):
|
if p_targ == point or not is_in_coord(p_targ) and not aStar_node.has_point(p_targ_c):
|
||||||
continue
|
continue
|
||||||
if p_ch1 == point or not is_in_coord(p_ch1) and not aStar_node.has_point(p_ch1_c):
|
if p_ch1 == point or not is_in_coord(p_ch1) and not aStar_node.has_point(p_ch1_c):
|
||||||
continue
|
continue
|
||||||
if p_ch2 == point or not is_in_coord(p_ch2) and not aStar_node.has_point(p_ch2_c):
|
if p_ch2 == point or not is_in_coord(p_ch2) and not aStar_node.has_point(p_ch2_c):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
aStar_node.connect_points(point_index, p_targ_c, true)
|
aStar_node.connect_points(point_index, p_targ_c, true)
|
||||||
|
|
||||||
|
|
||||||
func recalculate_path():
|
func recalculate_path():
|
||||||
_point_path = []
|
_point_path = []
|
||||||
var start_index = _point_coors(path_start_position)
|
var start_index = _point_coors(path_start_position)
|
||||||
var end_index = _point_coors(path_end_position)
|
var end_index = _point_coors(path_end_position)
|
||||||
_point_path = aStar_node.get_point_path(start_index, end_index)
|
_point_path = aStar_node.get_point_path(start_index, end_index)
|
||||||
|
|
||||||
|
|
||||||
func _reset_grids():
|
func _reset_grids():
|
||||||
for x in range(14):
|
for x in range(14):
|
||||||
for y in range(7):
|
for y in range(7):
|
||||||
@@ -112,7 +113,7 @@ func _reset_grids():
|
|||||||
func countTargets(table):
|
func countTargets(table):
|
||||||
for i in range(table.size()):
|
for i in range(table.size()):
|
||||||
table[i]=0
|
table[i]=0
|
||||||
|
|
||||||
for x in range(14):
|
for x in range(14):
|
||||||
for y in range(7):
|
for y in range(7):
|
||||||
for i in prio_grid[x][y]:
|
for i in prio_grid[x][y]:
|
||||||
@@ -128,6 +129,7 @@ func _pixel_to_grid_coords(pixel : Vector2) -> Vector2:
|
|||||||
new_coords.y = floor((pixel.y-offset.y) / 32.0)
|
new_coords.y = floor((pixel.y-offset.y) / 32.0)
|
||||||
return new_coords
|
return new_coords
|
||||||
|
|
||||||
|
|
||||||
func get_nearest(position, kind):
|
func get_nearest(position, kind):
|
||||||
var list = []
|
var list = []
|
||||||
for x in range(14):
|
for x in range(14):
|
||||||
@@ -147,23 +149,24 @@ func get_nearest(position, kind):
|
|||||||
mini = i
|
mini = i
|
||||||
return list[mini]
|
return list[mini]
|
||||||
|
|
||||||
|
|
||||||
func get_fields_around(point):
|
func get_fields_around(point):
|
||||||
var points_relative_str = PoolVector2Array([
|
var points_relative_str = PoolVector2Array([
|
||||||
Vector2(point.x + 1, point.y + 1),
|
Vector2(point.x + 1, point.y + 1),
|
||||||
Vector2(point.x - 1, point.y + 1),
|
Vector2(point.x - 1, point.y + 1),
|
||||||
Vector2(point.x + 1, point.y - 1),
|
Vector2(point.x + 1, point.y - 1),
|
||||||
Vector2(point.x - 1, point.y - 1)
|
Vector2(point.x - 1, point.y - 1)
|
||||||
])
|
])
|
||||||
var point_list = []
|
var point_list = []
|
||||||
for point_rel in points_relative_str:
|
for point_rel in points_relative_str:
|
||||||
var point_relative_index = _point_coors(point_rel)
|
var point_relative_index = _point_coors(point_rel)
|
||||||
if point_rel == point or not is_in_coord(point_rel):
|
if point_rel == point or not is_in_coord(point_rel):
|
||||||
continue
|
continue
|
||||||
if not aStar_node.has_point(point_relative_index):
|
if not aStar_node.has_point(point_relative_index):
|
||||||
continue
|
continue
|
||||||
point_list.push_back(point_rel)
|
point_list.push_back(point_rel)
|
||||||
return point_list
|
return point_list
|
||||||
|
|
||||||
|
|
||||||
func _update_grid():
|
func _update_grid():
|
||||||
_reset_grids()
|
_reset_grids()
|
||||||
@@ -175,7 +178,7 @@ func _update_grid():
|
|||||||
if(node_kind.general != Kind.FIELD): #and node_kind.general != Kind.WALL):
|
if(node_kind.general != Kind.FIELD): #and node_kind.general != Kind.WALL):
|
||||||
object_grid[grid_corrds.x][grid_corrds.y].push_back(node_kind.general)
|
object_grid[grid_corrds.x][grid_corrds.y].push_back(node_kind.general)
|
||||||
prio_grid[grid_corrds.x][grid_corrds.y].push_back(node_kind.kind)
|
prio_grid[grid_corrds.x][grid_corrds.y].push_back(node_kind.kind)
|
||||||
|
|
||||||
for y in range(7):
|
for y in range(7):
|
||||||
for x in range(14):
|
for x in range(14):
|
||||||
var index = _point_coors(Vector2(x,y))
|
var index = _point_coors(Vector2(x,y))
|
||||||
@@ -202,6 +205,7 @@ func _update_grid():
|
|||||||
scale = 0
|
scale = 0
|
||||||
aStar_node.set_point_weight_scale(index, scale)
|
aStar_node.set_point_weight_scale(index, scale)
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
if(time_passed > refresh_rate):
|
if(time_passed > refresh_rate):
|
||||||
time_passed -= refresh_rate
|
time_passed -= refresh_rate
|
||||||
@@ -221,9 +225,8 @@ func _set_path_start_position(value : Vector2):
|
|||||||
return
|
return
|
||||||
if not is_in_coord(value):
|
if not is_in_coord(value):
|
||||||
return
|
return
|
||||||
|
|
||||||
path_start_position = value
|
|
||||||
|
|
||||||
|
path_start_position = value
|
||||||
|
|
||||||
|
|
||||||
func _set_path_end_position(value : Vector2):
|
func _set_path_end_position(value : Vector2):
|
||||||
@@ -231,5 +234,5 @@ func _set_path_end_position(value : Vector2):
|
|||||||
return
|
return
|
||||||
if not is_in_coord(value):
|
if not is_in_coord(value):
|
||||||
return
|
return
|
||||||
|
|
||||||
path_end_position = value
|
path_end_position = value
|
||||||
|
|||||||
@@ -26,20 +26,22 @@ export(String, FILE, "*.tscn,*.scn") var scene_to_load = ""
|
|||||||
func _ready():
|
func _ready():
|
||||||
next()
|
next()
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
if Input.is_action_just_pressed("dialogue_advance"):
|
if Input.is_action_just_pressed("dialogue_advance"):
|
||||||
next()
|
next()
|
||||||
|
|
||||||
|
|
||||||
func next():
|
func next():
|
||||||
finished_indicator.modulate = Color(1, 1, 1, 0)
|
finished_indicator.modulate = Color(1, 1, 1, 0)
|
||||||
cur_line += 1
|
cur_line += 1
|
||||||
|
|
||||||
if cur_line >= text.size():
|
if cur_line >= text.size():
|
||||||
get_tree().change_scene(scene_to_load)
|
get_tree().change_scene(scene_to_load)
|
||||||
return
|
return
|
||||||
|
|
||||||
var line = text[cur_line]
|
var line = text[cur_line]
|
||||||
|
|
||||||
label.text = line
|
label.text = line
|
||||||
$Tween.interpolate_property(label, "percent_visible",
|
$Tween.interpolate_property(label, "percent_visible",
|
||||||
0, 1, 0.05 * len(line))
|
0, 1, 0.05 * len(line))
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 6.5 KiB |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Xbox 360 Controller Black Updated.png-0754ef5441fb7e2eb74845b4b0197cb7.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Menus/ControlIcons/Xbox 360 Controller Black Updated.png"
|
|
||||||
dest_files=[ "res://.import/Xbox 360 Controller Black Updated.png-0754ef5441fb7e2eb74845b4b0197cb7.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Xbox 360 Controller Updated.png-a803c74089c07cfc25b62a4b31dba239.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Menus/ControlIcons/Xbox 360 Controller Updated.png"
|
|
||||||
dest_files=[ "res://.import/Xbox 360 Controller Updated.png-a803c74089c07cfc25b62a4b31dba239.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
@@ -9,10 +9,11 @@ func _process(delta):
|
|||||||
animation_player.playback_speed = 8.0
|
animation_player.playback_speed = 8.0
|
||||||
else:
|
else:
|
||||||
animation_player.playback_speed = 1.0
|
animation_player.playback_speed = 1.0
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
SoundControler.pub_play_music("res://Menus/Credits/Chad_Crouch_-_Algorithms.ogg",false)
|
SoundControler.pub_play_music("res://Menus/Credits/Chad_Crouch_-_Algorithms.ogg", false)
|
||||||
|
|
||||||
|
|
||||||
func _on_AnimationPlayer_animation_finished(anim_name):
|
func _on_AnimationPlayer_animation_finished(anim_name):
|
||||||
SoundControler.pub_stop_music()
|
SoundControler.pub_stop_music()
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ onready var animation_player = $AnimationPlayer
|
|||||||
|
|
||||||
var first_action = true
|
var first_action = true
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
if Input.is_action_just_pressed("skip"):
|
if Input.is_action_just_pressed("skip"):
|
||||||
if(first_action):
|
if(first_action):
|
||||||
@@ -22,6 +23,7 @@ func _physics_process(delta):
|
|||||||
first_action != first_action
|
first_action != first_action
|
||||||
next()
|
next()
|
||||||
|
|
||||||
|
|
||||||
func set_dialogue_identifier(val):
|
func set_dialogue_identifier(val):
|
||||||
dialogue_identifier = val
|
dialogue_identifier = val
|
||||||
_dialogue = dialogues.get_dialogue(val)
|
_dialogue = dialogues.get_dialogue(val)
|
||||||
|
|||||||
@@ -16,5 +16,6 @@ func _ready():
|
|||||||
"Boss: We'll see about that!"
|
"Boss: We'll see about that!"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
func get_dialogue(id):
|
func get_dialogue(id):
|
||||||
return _dialogues[id]
|
return _dialogues[id]
|
||||||
|
|||||||
@@ -15,11 +15,13 @@ enum cards {
|
|||||||
EMPTY
|
EMPTY
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
update_cards()
|
update_cards()
|
||||||
|
|
||||||
export var ObjectParent:NodePath
|
export var ObjectParent:NodePath
|
||||||
|
|
||||||
|
|
||||||
func update_cards():
|
func update_cards():
|
||||||
var index = 0
|
var index = 0
|
||||||
while index < 5 and usedCards[index] != cards.EMPTY:
|
while index < 5 and usedCards[index] != cards.EMPTY:
|
||||||
@@ -45,11 +47,10 @@ func update_cards():
|
|||||||
newchild.append(load("res://Objects/Slime/SlimeCard.tscn").instance())
|
newchild.append(load("res://Objects/Slime/SlimeCard.tscn").instance())
|
||||||
for i in range(index):
|
for i in range(index):
|
||||||
$CardsDisplay.add_child(newchild[i])
|
$CardsDisplay.add_child(newchild[i])
|
||||||
|
|
||||||
for i in range(index):
|
for i in range(index):
|
||||||
newchild[i].set_begin(cardPositions[i])
|
newchild[i].set_begin(cardPositions[i])
|
||||||
|
|
||||||
|
|
||||||
for i in range(index):
|
for i in range(index):
|
||||||
newchild[i].margin_bottom = newchild[i].margin_top+32
|
newchild[i].margin_bottom = newchild[i].margin_top+32
|
||||||
newchild[i].margin_right = newchild[i].margin_left+32
|
newchild[i].margin_right = newchild[i].margin_left+32
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ const Grid = preload("res://Maps/Grid.gd")
|
|||||||
onready var grid = get_tree().current_scene.get_node("Grid")
|
onready var grid = get_tree().current_scene.get_node("Grid")
|
||||||
onready var ysort = get_tree().current_scene.get_node("YSort")
|
onready var ysort = get_tree().current_scene.get_node("YSort")
|
||||||
|
|
||||||
#DropZone
|
|
||||||
#stuff can be dropped here
|
# DropZone
|
||||||
|
# Stuff can be dropped here
|
||||||
func can_drop_data(_pos, data):
|
func can_drop_data(_pos, data):
|
||||||
return typeof(data) == typeof(PackedScene)
|
return typeof(data) == typeof(PackedScene)
|
||||||
|
|
||||||
@@ -14,7 +15,7 @@ func get_nearest_grid_pos(position, scale = 1):
|
|||||||
return Vector2(round(position.x / 32.0) * scale, round(position.y / 32.0) * scale)
|
return Vector2(round(position.x / 32.0) * scale, round(position.y / 32.0) * scale)
|
||||||
|
|
||||||
|
|
||||||
#what is to be done when data is dropped
|
# What is to be done when data is dropped
|
||||||
func drop_data(_pos, data:PackedScene):
|
func drop_data(_pos, data:PackedScene):
|
||||||
var new_pos = get_nearest_grid_pos(_pos)
|
var new_pos = get_nearest_grid_pos(_pos)
|
||||||
if grid.object_grid[new_pos.x - 1][new_pos.y - 1].back() == Grid.Kind.FIELD:
|
if grid.object_grid[new_pos.x - 1][new_pos.y - 1].back() == Grid.Kind.FIELD:
|
||||||
|
|||||||
@@ -2,12 +2,13 @@ extends TextureRect
|
|||||||
# CardDeck
|
# CardDeck
|
||||||
var canNotPlace = false
|
var canNotPlace = false
|
||||||
export var Item:PackedScene
|
export var Item:PackedScene
|
||||||
export var PreviewIcon:Texture
|
export var PreviewIcon:Texture
|
||||||
export var DeleteOnGrab:bool = false
|
export var DeleteOnGrab:bool = false
|
||||||
|
|
||||||
var card_level = 0
|
var card_level = 0
|
||||||
|
|
||||||
#if a drag is initiated here
|
|
||||||
|
# if a drag is initiated here
|
||||||
func get_drag_data(_pos):
|
func get_drag_data(_pos):
|
||||||
if (canNotPlace):
|
if (canNotPlace):
|
||||||
return null
|
return null
|
||||||
@@ -18,7 +19,7 @@ func get_drag_data(_pos):
|
|||||||
TR.set_position(_pos * -1, false)
|
TR.set_position(_pos * -1, false)
|
||||||
ctrl.add_child(TR)
|
ctrl.add_child(TR)
|
||||||
set_drag_preview(ctrl)
|
set_drag_preview(ctrl)
|
||||||
|
|
||||||
if DeleteOnGrab:
|
if DeleteOnGrab:
|
||||||
self.queue_free()
|
self.queue_free()
|
||||||
return Item
|
return Item
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ extends Node2D
|
|||||||
export(String, FILE, "*.tscn,*.scn") var restart_scene = ""
|
export(String, FILE, "*.tscn,*.scn") var restart_scene = ""
|
||||||
export(String, FILE, "*.tscn,*.scn") var title_screen = ""
|
export(String, FILE, "*.tscn,*.scn") var title_screen = ""
|
||||||
|
|
||||||
|
|
||||||
func _on_Restart_pressed():
|
func _on_Restart_pressed():
|
||||||
get_tree().change_scene(restart_scene)
|
get_tree().change_scene(restart_scene)
|
||||||
SoundControler.pub_stop_effects()
|
SoundControler.pub_stop_effects()
|
||||||
|
|
||||||
|
|
||||||
func _on_TitleScreen_pressed():
|
func _on_TitleScreen_pressed():
|
||||||
get_tree().change_scene(title_screen)
|
get_tree().change_scene(title_screen)
|
||||||
SoundControler.pub_stop_effects()
|
SoundControler.pub_stop_effects()
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
const DrNDrPre = preload("res://Menus/DragNDrop/DragNDropUI.gd")
|
const DrNDrPre = preload("res://Menus/DragNDrop/DragNDropUI.gd")
|
||||||
var DrNDr
|
var DrNDr
|
||||||
var cardPositions = [Vector2(100,150),Vector2(200,150),Vector2(300,150)]
|
var cardPositions = [Vector2(100,150),Vector2(200,150),Vector2(300,150)]
|
||||||
var randcards = [0,0,0]
|
var randcards = [0,0,0]
|
||||||
var showCards = true
|
var showCards = true
|
||||||
var shownCards = []
|
var shownCards = []
|
||||||
var allowChoosCards = false
|
var allowChoosCards = false
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
DrNDr = get_tree().current_scene.get_node("CanvasLayer").get_node("DragNDropUI")
|
DrNDr = get_tree().current_scene.get_node("CanvasLayer").get_node("DragNDropUI")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func starting():
|
func starting():
|
||||||
shownCards = []
|
shownCards = []
|
||||||
@@ -64,16 +64,17 @@ func starting():
|
|||||||
shownCards[0].set_begin (cardPositions[0])
|
shownCards[0].set_begin (cardPositions[0])
|
||||||
shownCards[1].set_begin (cardPositions[1])
|
shownCards[1].set_begin (cardPositions[1])
|
||||||
shownCards[2].set_begin (cardPositions[2])
|
shownCards[2].set_begin (cardPositions[2])
|
||||||
|
|
||||||
for i in range(3):
|
for i in range(3):
|
||||||
shownCards[i].canNotPlace = true
|
shownCards[i].canNotPlace = true
|
||||||
shownCards[i].margin_bottom = shownCards[i].margin_top+32
|
shownCards[i].margin_bottom = shownCards[i].margin_top+32
|
||||||
shownCards[i].margin_right = shownCards[i].margin_left+32
|
shownCards[i].margin_right = shownCards[i].margin_left+32
|
||||||
var i = 0
|
var i = 0
|
||||||
allowChoosCards = true
|
allowChoosCards = true
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func _input(event):
|
func _input(event):
|
||||||
if((event is InputEventMouseButton) && allowChoosCards):
|
if((event is InputEventMouseButton) && allowChoosCards):
|
||||||
for card in range(3):
|
for card in range(3):
|
||||||
@@ -98,5 +99,3 @@ func _input(event):
|
|||||||
func _on_Button_pressed():
|
func _on_Button_pressed():
|
||||||
Engine.time_scale=1
|
Engine.time_scale=1
|
||||||
self.hide()
|
self.hide()
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ extends AnimatedSprite
|
|||||||
|
|
||||||
onready var timer = $Timer
|
onready var timer = $Timer
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
timer.connect("timeout", self, "_timeout")
|
timer.connect("timeout", self, "_timeout")
|
||||||
|
|
||||||
|
|
||||||
func start():
|
func start():
|
||||||
timer.set_wait_time(0.25)
|
timer.set_wait_time(0.25)
|
||||||
timer.start()
|
timer.start()
|
||||||
|
|
||||||
|
|
||||||
func _timeout():
|
func _timeout():
|
||||||
play("begin")
|
play("begin")
|
||||||
|
|
||||||
|
|
||||||
func _animation_finished():
|
func _animation_finished():
|
||||||
play("loop")
|
play("loop")
|
||||||
|
|||||||
@@ -11,16 +11,18 @@ onready var startup= $Startup
|
|||||||
|
|
||||||
var finished_once := false
|
var finished_once := false
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
startup.start()
|
startup.start()
|
||||||
animation_player.play("__INIT__")
|
animation_player.play("__INIT__")
|
||||||
SoundControler.pub_play_music("res://Menus/Sounds/menu_theme.ogg", false)
|
SoundControler.pub_play_music("res://Menus/Sounds/menu_theme.ogg", false)
|
||||||
|
|
||||||
|
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
if not finished_once and Input.is_action_just_pressed("skip"):
|
if not finished_once and Input.is_action_just_pressed("skip"):
|
||||||
startup.animation = "loop"
|
startup.animation = "loop"
|
||||||
startup.frame = 0
|
startup.frame = 0
|
||||||
|
|
||||||
if startup.animation == "loop":
|
if startup.animation == "loop":
|
||||||
if not finished_once:
|
if not finished_once:
|
||||||
emit_signal("startup_finished")
|
emit_signal("startup_finished")
|
||||||
@@ -29,5 +31,6 @@ func _process(_delta):
|
|||||||
animation_player.play("show_buttons")
|
animation_player.play("show_buttons")
|
||||||
finished_once = true
|
finished_once = true
|
||||||
|
|
||||||
|
|
||||||
func _exit_tree():
|
func _exit_tree():
|
||||||
SoundControler.pub_stop_music()
|
SoundControler.pub_stop_music()
|
||||||
|
|||||||
@@ -5,12 +5,13 @@ export(String, FILE, "*.tscn,*.scn") var scene_to_load = ""
|
|||||||
export(bool) var quit = false
|
export(bool) var quit = false
|
||||||
var ignore_once = false
|
var ignore_once = false
|
||||||
|
|
||||||
|
|
||||||
func _pressed():
|
func _pressed():
|
||||||
SoundControler.pub_play_effect("res://Menus/Sounds/menu_option_select.ogg",0)
|
SoundControler.pub_play_effect("res://Menus/Sounds/menu_option_select.ogg",0)
|
||||||
if quit:
|
if quit:
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
return
|
return
|
||||||
|
|
||||||
get_tree().change_scene(scene_to_load)
|
get_tree().change_scene(scene_to_load)
|
||||||
|
|
||||||
|
|
||||||
@@ -18,7 +19,6 @@ func _on_TitleScreenButton_mouse_entered():
|
|||||||
grab_focus()
|
grab_focus()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_TitleScreenButton_focus_entered():
|
func _on_TitleScreenButton_focus_entered():
|
||||||
if not ignore_once:
|
if not ignore_once:
|
||||||
SoundControler.pub_play_effect("res://Menus/Sounds/menu_focus_change.ogg",0)
|
SoundControler.pub_play_effect("res://Menus/Sounds/menu_focus_change.ogg",0)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ func _on_Restart_pressed():
|
|||||||
get_tree().change_scene(restart_scene)
|
get_tree().change_scene(restart_scene)
|
||||||
SoundControler.pub_stop_effects()
|
SoundControler.pub_stop_effects()
|
||||||
|
|
||||||
|
|
||||||
func _on_TitleScreen_pressed():
|
func _on_TitleScreen_pressed():
|
||||||
get_tree().change_scene(title_screen)
|
get_tree().change_scene(title_screen)
|
||||||
SoundControler.pub_stop_effects()
|
SoundControler.pub_stop_effects()
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
extends AnimatedSprite
|
extends AnimatedSprite
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
play("place")
|
play("place")
|
||||||
|
|
||||||
|
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
SoundControler.pub_play_effect("res://Objects/Banana/Banane3.wav",3)
|
SoundControler.pub_play_effect("res://Objects/Banana/Banane3.wav", 3)
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
extends StaticBody2D
|
extends StaticBody2D
|
||||||
|
|
||||||
export(int,1,10) var health = 1
|
export(int, 1, 10) var health = 1
|
||||||
var GreenDrop = 0.4
|
var GreenDrop = 0.4
|
||||||
var BlueDrop = 0.5
|
var BlueDrop = 0.5
|
||||||
var RedDrop = 0.8
|
var RedDrop = 0.8
|
||||||
var Heart = 0.2
|
var Heart = 0.2
|
||||||
|
|
||||||
|
|
||||||
func offset_vec():
|
func offset_vec():
|
||||||
var offset = 16
|
var offset = 16
|
||||||
return Vector2((randf()-0.5)*offset, (randf()-0.5)*offset)
|
return Vector2((randf()-0.5)*offset, (randf()-0.5)*offset)
|
||||||
|
|
||||||
|
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
health -= area.damage
|
health -= area.damage
|
||||||
if(health>0):
|
if(health>0):
|
||||||
@@ -20,8 +22,8 @@ func _on_Hurtbox_area_entered(area):
|
|||||||
var BlueRubies = load("res://Objects/Rubies/Blue.tscn")
|
var BlueRubies = load("res://Objects/Rubies/Blue.tscn")
|
||||||
var RedRubies = load("res://Objects/Rubies/Red.tscn")
|
var RedRubies = load("res://Objects/Rubies/Red.tscn")
|
||||||
var Hearts = load("res://Objects/Heart/Heart.tscn")
|
var Hearts = load("res://Objects/Heart/Heart.tscn")
|
||||||
|
|
||||||
#index of ysort
|
# index of ysort
|
||||||
var world = get_tree().current_scene.get_node("YSort")
|
var world = get_tree().current_scene.get_node("YSort")
|
||||||
if(randf()<GreenDrop):
|
if(randf()<GreenDrop):
|
||||||
var green = GreenRubies.instance()
|
var green = GreenRubies.instance()
|
||||||
@@ -39,4 +41,3 @@ func _on_Hurtbox_area_entered(area):
|
|||||||
var heart = Hearts.instance()
|
var heart = Hearts.instance()
|
||||||
world.add_child(heart)
|
world.add_child(heart)
|
||||||
heart.global_position = global_position+offset_vec()
|
heart.global_position = global_position+offset_vec()
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
extends StaticBody2D
|
extends StaticBody2D
|
||||||
|
|
||||||
# This is the decay script for the barrier
|
# This is the decay script for the barrier
|
||||||
|
|
||||||
# TODO: please adjust it for actual gameplay
|
# TODO: please adjust it for actual gameplay
|
||||||
export (float, 0.5, 10.0) var decay_time = 1.5
|
export (float, 0.5, 10.0) var decay_time = 1.5
|
||||||
|
|
||||||
|
|
||||||
func on_timer_timeout():
|
func on_timer_timeout():
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
extends StaticBody2D
|
extends StaticBody2D
|
||||||
|
|
||||||
|
|
||||||
func _sound_finished():
|
func _sound_finished():
|
||||||
SoundControler.pub_play_effect("res://Objects/Bonfire/Bonfire.wav",3)
|
SoundControler.pub_play_effect("res://Objects/Bonfire/Bonfire.wav", 3)
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
SoundControler.pub_play_effect("res://Objects/Bonfire/Bonfire.wav",3)
|
SoundControler.pub_play_effect("res://Objects/Bonfire/Bonfire.wav", 3)
|
||||||
SoundControler._effect[3].volume_db = -20
|
SoundControler._effect[3].volume_db = -20
|
||||||
SoundControler._effect[3].connect("finished",self,"_sound_finished")
|
SoundControler._effect[3].connect("finished", self, "_sound_finished")
|
||||||
|
|
||||||
|
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
var CHANNEL = 2
|
var CHANNEL = 2
|
||||||
#one sound will be chosen at random
|
|
||||||
export var SoundLibary :PoolStringArray=[]
|
export var SoundLibary :PoolStringArray=[]
|
||||||
|
|
||||||
|
|
||||||
|
# One walk sound will be chosen at random
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
var sound = SoundLibary[rand_range(0,SoundLibary.size())]
|
var sound = SoundLibary[rand_range(0,SoundLibary.size())]
|
||||||
SoundControler.pub_play_effect(sound,CHANNEL)
|
SoundControler.pub_play_effect(sound,CHANNEL)
|
||||||
|
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
SoundControler.pub_play_effect("res://Objects/Rubies/emerald3.wav",8)
|
SoundControler.pub_play_effect("res://Objects/Rubies/emerald3.wav",8)
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ extends Node2D
|
|||||||
|
|
||||||
|
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
SoundControler.pub_play_effect("res://Objects/Slime/Schleim.wav",3)
|
SoundControler.pub_play_effect("res://Objects/Slime/Schleim.wav",3)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=6 format=2]
|
[gd_scene load_steps=6 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://testSprites/slime.png" type="Texture" id=1]
|
[ext_resource path="res://Objects/Slime/slime.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://Overlap/HurtHit_Box/Hurtbox.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://Overlap/HurtHit_Box/Hurtbox.tscn" type="PackedScene" id=2]
|
||||||
[ext_resource path="res://Overlap/Kind.tscn" type="PackedScene" id=3]
|
[ext_resource path="res://Overlap/Kind.tscn" type="PackedScene" id=3]
|
||||||
[ext_resource path="res://Objects/Slime/Slime.gd" type="Script" id=4]
|
[ext_resource path="res://Objects/Slime/Slime.gd" type="Script" id=4]
|
||||||
|
|||||||
@@ -6,14 +6,14 @@
|
|||||||
[ext_resource path="res://Objects/Card/level0.png" type="Texture" id=4]
|
[ext_resource path="res://Objects/Card/level0.png" type="Texture" id=4]
|
||||||
[ext_resource path="res://Objects/Card/card.png" type="Texture" id=5]
|
[ext_resource path="res://Objects/Card/card.png" type="Texture" id=5]
|
||||||
[ext_resource path="res://Objects/Slime/Slime.tscn" type="PackedScene" id=6]
|
[ext_resource path="res://Objects/Slime/Slime.tscn" type="PackedScene" id=6]
|
||||||
[ext_resource path="res://testSprites/slime.png" type="Texture" id=7]
|
[ext_resource path="res://Objects/Slime/slime.png" type="Texture" id=7]
|
||||||
[ext_resource path="res://Objects/Slime/slime_icon.png" type="Texture" id=8]
|
[ext_resource path="res://Objects/Slime/slime_icon.png" type="Texture" id=8]
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id=1]
|
[sub_resource type="SpriteFrames" id=1]
|
||||||
animations = [ {
|
animations = [ {
|
||||||
"frames": [ ExtResource( 4 ) ],
|
"frames": [ ExtResource( 3 ) ],
|
||||||
"loop": false,
|
"loop": false,
|
||||||
"name": "lvl0",
|
"name": "lvl1",
|
||||||
"speed": 60.0
|
"speed": 60.0
|
||||||
}, {
|
}, {
|
||||||
"frames": [ ExtResource( 2 ) ],
|
"frames": [ ExtResource( 2 ) ],
|
||||||
@@ -21,9 +21,9 @@ animations = [ {
|
|||||||
"name": "lvl2",
|
"name": "lvl2",
|
||||||
"speed": 60.0
|
"speed": 60.0
|
||||||
}, {
|
}, {
|
||||||
"frames": [ ExtResource( 3 ) ],
|
"frames": [ ExtResource( 4 ) ],
|
||||||
"loop": false,
|
"loop": false,
|
||||||
"name": "lvl1",
|
"name": "lvl0",
|
||||||
"speed": 60.0
|
"speed": 60.0
|
||||||
} ]
|
} ]
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 870 B After Width: | Height: | Size: 870 B |
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="StreamTexture"
|
type="StreamTexture"
|
||||||
path="res://.import/slime.png-a6522e01afef029b95bf429fc9a16878.stex"
|
path="res://.import/slime.png-4296fd3685c72f02a12d0a931a591428.stex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://testSprites/slime.png"
|
source_file="res://Objects/Slime/slime.png"
|
||||||
dest_files=[ "res://.import/slime.png-a6522e01afef029b95bf429fc9a16878.stex" ]
|
dest_files=[ "res://.import/slime.png-4296fd3685c72f02a12d0a931a591428.stex" ]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -6,10 +6,12 @@ var Minion = load("res://Boss/Minion.tscn")
|
|||||||
|
|
||||||
var elapsedTime = 0.0
|
var elapsedTime = 0.0
|
||||||
|
|
||||||
|
|
||||||
func offset_vec():
|
func offset_vec():
|
||||||
var offset = 16
|
var offset = 16
|
||||||
return Vector2((randf()-0.5)*offset, (randf()-0.5)*offset)
|
return Vector2((randf()-0.5)*offset, (randf()-0.5)*offset)
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
elapsedTime += delta
|
elapsedTime += delta
|
||||||
if(elapsedTime>=spawnRate):
|
if(elapsedTime>=spawnRate):
|
||||||
@@ -30,6 +32,7 @@ func _on_Hurtbox_area_entered(area):
|
|||||||
func _sound_finished():
|
func _sound_finished():
|
||||||
SoundControler.pub_play_effect("res://Objects/Torch/Torch.wav",4)
|
SoundControler.pub_play_effect("res://Objects/Torch/Torch.wav",4)
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
SoundControler.pub_play_effect("res://Objects/Torch/Torch.wav",4)
|
SoundControler.pub_play_effect("res://Objects/Torch/Torch.wav",4)
|
||||||
SoundControler._effect[4].volume_db = -20
|
SoundControler._effect[4].volume_db = -20
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=9 format=2]
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://testSprites/fackel.png" type="Texture" id=1]
|
[ext_resource path="res://Objects/Torch/fakel/fakel_000.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://Objects/Card/card.png" type="Texture" id=2]
|
[ext_resource path="res://Objects/Card/card.png" type="Texture" id=2]
|
||||||
[ext_resource path="res://Menus/DragNDrop/DragSource.gd" type="Script" id=3]
|
[ext_resource path="res://Menus/DragNDrop/DragSource.gd" type="Script" id=3]
|
||||||
[ext_resource path="res://Objects/Card/level0.png" type="Texture" id=4]
|
[ext_resource path="res://Objects/Card/level0.png" type="Texture" id=4]
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
$AnimatedSprite.play("clap")
|
$AnimatedSprite.play("clap")
|
||||||
SoundControler.pub_play_effect("res://Objects/Traps/Bear/Barenfalle.wav",3)
|
SoundControler.pub_play_effect("res://Objects/Traps/Bear/Barenfalle.wav",3)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ func on_timer_timeout():
|
|||||||
SoundControler.pub_stop_effect(4)
|
SoundControler.pub_stop_effect(4)
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
$Sprite.play("burn")
|
$Sprite.play("burn")
|
||||||
add_child(timer)
|
add_child(timer)
|
||||||
@@ -18,16 +19,12 @@ func _ready():
|
|||||||
SoundControler.pub_play_effect("res://Objects/Traps/Flame/Fire.wav",5)
|
SoundControler.pub_play_effect("res://Objects/Traps/Flame/Fire.wav",5)
|
||||||
SoundControler._effect[5].volume_db = -20
|
SoundControler._effect[5].volume_db = -20
|
||||||
SoundControler._effect[5].connect("finished",self,"_sound_finished")
|
SoundControler._effect[5].connect("finished",self,"_sound_finished")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_Hitbox_body_entered(body):
|
func _on_Hitbox_body_entered(body):
|
||||||
if(body.get_name() == "Player"):
|
if(body.get_name() == "Player"):
|
||||||
body.velocity*=-3
|
body.velocity*=-3
|
||||||
|
|
||||||
|
|
||||||
func _sound_finished():
|
func _sound_finished():
|
||||||
SoundControler.pub_play_effect("res://Objects/Traps/Flame/Fire.wav",5)
|
SoundControler.pub_play_effect("res://Objects/Traps/Flame/Fire.wav",5)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,20 +4,23 @@ export(float, 0.1, 3.0) var time_to_recharge = 3.0
|
|||||||
|
|
||||||
var time = Timer.new()
|
var time = Timer.new()
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
add_child(time)
|
add_child(time)
|
||||||
$Sprite.play("out")
|
$Sprite.play("out")
|
||||||
SoundControler.pub_play_effect("res://Objects/Traps/Spike/Spike6.wav",9)
|
SoundControler.pub_play_effect("res://Objects/Traps/Spike/Spike6.wav",9)
|
||||||
$"Hitbox/CollisionShape2D".disabled = true
|
$"Hitbox/CollisionShape2D".disabled = true
|
||||||
|
|
||||||
|
|
||||||
func on_timer_timeout():
|
func on_timer_timeout():
|
||||||
$Sprite.play("out")
|
$Sprite.play("out")
|
||||||
SoundControler.pub_play_effect("res://Objects/Traps/Spike/Spike6.wav",9)
|
SoundControler.pub_play_effect("res://Objects/Traps/Spike/Spike6.wav",9)
|
||||||
time.stop()
|
time.stop()
|
||||||
|
|
||||||
|
|
||||||
func _on_Sprite_animation_finished():
|
func _on_Sprite_animation_finished():
|
||||||
if $Sprite.get_animation() == "default":
|
if $Sprite.get_animation() == "default":
|
||||||
$"Hitbox/CollisionShape2D".disabled = false
|
$"Hitbox/CollisionShape2D".disabled = false
|
||||||
if $Sprite.get_animation() == "out":
|
if $Sprite.get_animation() == "out":
|
||||||
$Sprite.play("default")
|
$Sprite.play("default")
|
||||||
elif $Sprite.get_animation() == "in":
|
elif $Sprite.get_animation() == "in":
|
||||||
@@ -33,5 +36,3 @@ func _on_Hitbox_area_entered(area):
|
|||||||
if($Sprite.get_animation()=="default"):
|
if($Sprite.get_animation()=="default"):
|
||||||
SoundControler.pub_play_effect("res://Objects/Traps/Spike/Spike6.wav",9)
|
SoundControler.pub_play_effect("res://Objects/Traps/Spike/Spike6.wav",9)
|
||||||
$Sprite.play("in")
|
$Sprite.play("in")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
[gd_scene load_steps=6 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://Overlap/HurtHit_Box/Hitbox.tscn" type="PackedScene" id=1]
|
|
||||||
[ext_resource path="res://Objects/Banana/Banana.gd" type="Script" id=2]
|
|
||||||
[ext_resource path="res://testSprites/Sting.png" type="Texture" id=3]
|
|
||||||
[ext_resource path="res://Overlap/Kind.tscn" type="PackedScene" id=4]
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id=1]
|
|
||||||
radius = 6.77597
|
|
||||||
height = 6.36237
|
|
||||||
|
|
||||||
[node name="Sting" type="Node2D"]
|
|
||||||
script = ExtResource( 2 )
|
|
||||||
|
|
||||||
[node name="Kind" parent="." instance=ExtResource( 4 )]
|
|
||||||
kind = 10
|
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="."]
|
|
||||||
position = Vector2( 0.44072, -9.03499 )
|
|
||||||
texture = ExtResource( 3 )
|
|
||||||
|
|
||||||
[node name="Hitbox" parent="." instance=ExtResource( 1 )]
|
|
||||||
collision_layer = 16
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" parent="Hitbox" index="0"]
|
|
||||||
position = Vector2( -0.771278, -0.110184 )
|
|
||||||
rotation = 1.5708
|
|
||||||
shape = SubResource( 1 )
|
|
||||||
|
|
||||||
[editable path="Hitbox"]
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
[gd_scene load_steps=9 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://testSprites/Sting.png" type="Texture" id=1]
|
|
||||||
[ext_resource path="res://Objects/Card/card.png" type="Texture" id=2]
|
|
||||||
[ext_resource path="res://Menus/DragNDrop/DragSource.gd" type="Script" id=3]
|
|
||||||
[ext_resource path="res://Objects/Card/level0.png" type="Texture" id=4]
|
|
||||||
[ext_resource path="res://Objects/Card/level2.png" type="Texture" id=5]
|
|
||||||
[ext_resource path="res://Objects/Card/level1.png" type="Texture" id=6]
|
|
||||||
[ext_resource path="res://Objects/Traps/Sting (UNUSED)/Sting.tscn" type="PackedScene" id=7]
|
|
||||||
|
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id=1]
|
|
||||||
animations = [ {
|
|
||||||
"frames": [ ExtResource( 4 ) ],
|
|
||||||
"loop": false,
|
|
||||||
"name": "lvl0",
|
|
||||||
"speed": 60.0
|
|
||||||
}, {
|
|
||||||
"frames": [ ExtResource( 6 ) ],
|
|
||||||
"loop": false,
|
|
||||||
"name": "lvl1",
|
|
||||||
"speed": 60.0
|
|
||||||
}, {
|
|
||||||
"frames": [ ExtResource( 5 ) ],
|
|
||||||
"loop": false,
|
|
||||||
"name": "lvl2",
|
|
||||||
"speed": 60.0
|
|
||||||
} ]
|
|
||||||
|
|
||||||
[node name="StingCard" type="TextureRect"]
|
|
||||||
margin_left = 10.7364
|
|
||||||
margin_top = 227.792
|
|
||||||
margin_right = 42.7364
|
|
||||||
margin_bottom = 259.792
|
|
||||||
texture = ExtResource( 1 )
|
|
||||||
expand = true
|
|
||||||
script = ExtResource( 3 )
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
Item = ExtResource( 7 )
|
|
||||||
PreviewIcon = ExtResource( 1 )
|
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="."]
|
|
||||||
position = Vector2( 15.729, 15.7929 )
|
|
||||||
z_index = -1
|
|
||||||
texture = ExtResource( 2 )
|
|
||||||
|
|
||||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
|
|
||||||
position = Vector2( 33.1035, 40.3068 )
|
|
||||||
frames = SubResource( 1 )
|
|
||||||
animation = "lvl0"
|
|
||||||
@@ -51,34 +51,34 @@ func calcTotalPrio():
|
|||||||
sum += prios[i]
|
sum += prios[i]
|
||||||
i += 1
|
i += 1
|
||||||
return sum
|
return sum
|
||||||
|
|
||||||
#calculates the relative porio
|
#calculates the relative porio
|
||||||
func calcRelPrio(index, sum) -> float:
|
func calcRelPrio(index, sum) -> float:
|
||||||
if(sum==0):
|
if(sum==0):
|
||||||
return 0.0
|
return 0.0
|
||||||
return float(prios[index])/float(sum)
|
return float(prios[index])/float(sum)
|
||||||
|
|
||||||
#calucaltes the prio table of all enemies[0,1)
|
#calucaltes the prio table of all enemies[0,1)
|
||||||
func calcPrioTable():
|
func calcPrioTable():
|
||||||
var table = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
|
var table = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
|
||||||
numbers = grid.countTargets(numbers)
|
numbers = grid.countTargets(numbers)
|
||||||
var lower = 0.0
|
var lower = 0.0
|
||||||
var sum = calcTotalPrio()
|
var sum = calcTotalPrio()
|
||||||
|
|
||||||
var i = 0;
|
var i = 0;
|
||||||
while i != Grid.Kind.TERMINAL_SYMBOL:
|
while i != Grid.Kind.TERMINAL_SYMBOL:
|
||||||
if(numbers[i]!=0):
|
if(numbers[i]!=0):
|
||||||
lower += calcRelPrio(i, sum)
|
lower += calcRelPrio(i, sum)
|
||||||
table[i] = lower
|
table[i] = lower
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
return table
|
return table
|
||||||
|
|
||||||
#updates heart and bonfire prio
|
#updates heart and bonfire prio
|
||||||
func adjustPrio(currentHealth, maxHealth):
|
func adjustPrio(currentHealth, maxHealth):
|
||||||
var prioVal = 20.0 - (float(currentHealth)/float(maxHealth))*20.0
|
var prioVal = 20.0 - (float(currentHealth)/float(maxHealth))*20.0
|
||||||
var bonfire = prioVal + 1
|
var bonfire = prioVal + 1
|
||||||
var hearts = prioVal
|
var hearts = prioVal
|
||||||
if(hearts < 0):
|
if(hearts < 0):
|
||||||
hearts = 0
|
hearts = 0
|
||||||
prios[Grid.Kind.BONFIRE]=bonfire
|
prios[Grid.Kind.BONFIRE]=bonfire
|
||||||
@@ -104,7 +104,7 @@ func getMoveDescription(myPosition : Vector2, targetPositions : Vector2):
|
|||||||
var from = grid._point_path[0]
|
var from = grid._point_path[0]
|
||||||
var p1 = pow(to[0]-from[0],2)
|
var p1 = pow(to[0]-from[0],2)
|
||||||
var p2 = pow(to[1]-from[1],2)
|
var p2 = pow(to[1]-from[1],2)
|
||||||
|
|
||||||
var norm = sqrt(p1+p2)
|
var norm = sqrt(p1+p2)
|
||||||
var move = STEP
|
var move = STEP
|
||||||
if(norm > 1.0 && p1 != p2):
|
if(norm > 1.0 && p1 != p2):
|
||||||
@@ -116,7 +116,7 @@ func getMoveDescription(myPosition : Vector2, targetPositions : Vector2):
|
|||||||
func movement_calulcaotr():
|
func movement_calulcaotr():
|
||||||
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
||||||
var enemyKind
|
var enemyKind
|
||||||
|
|
||||||
numbers = grid.countTargets(numbers)
|
numbers = grid.countTargets(numbers)
|
||||||
if(actionKind == grid.Kind.TERMINAL_SYMBOL || numbers[actionKind]==0 || actionFieldUsed==false):
|
if(actionKind == grid.Kind.TERMINAL_SYMBOL || numbers[actionKind]==0 || actionFieldUsed==false):
|
||||||
enemyKind = calcEnemyKind()
|
enemyKind = calcEnemyKind()
|
||||||
@@ -126,13 +126,13 @@ func movement_calulcaotr():
|
|||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
enemyKind = actionKind
|
enemyKind = actionKind
|
||||||
|
|
||||||
var targetField = grid.get_nearest(currentPosition, enemyKind)
|
var targetField = grid.get_nearest(currentPosition, enemyKind)
|
||||||
if(targetField==[-1,-1]):
|
if(targetField==[-1,-1]):
|
||||||
return
|
return
|
||||||
|
|
||||||
return getMoveDescription(currentPosition, Vector2(targetField[0], targetField[1]))
|
return getMoveDescription(currentPosition, Vector2(targetField[0], targetField[1]))
|
||||||
|
|
||||||
|
|
||||||
func is_hittable():
|
func is_hittable():
|
||||||
var length = areaRefList.size()
|
var length = areaRefList.size()
|
||||||
@@ -145,11 +145,11 @@ func hit_or_miss(target, current, delta):
|
|||||||
|
|
||||||
func movement_decider_ai(target, kindOfStep, delta):
|
func movement_decider_ai(target, kindOfStep, delta):
|
||||||
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
||||||
|
|
||||||
hitDelta -= hitTreshhold
|
hitDelta -= hitTreshhold
|
||||||
var currentPixel = global_position
|
var currentPixel = global_position
|
||||||
var hitPixelTarget = is_hittable()
|
var hitPixelTarget = is_hittable()
|
||||||
|
|
||||||
if hitPixelTarget!=null && randf()<1:
|
if hitPixelTarget!=null && randf()<1:
|
||||||
hit_or_miss(hitPixelTarget, currentPixel, delta*4)
|
hit_or_miss(hitPixelTarget, currentPixel, delta*4)
|
||||||
else:
|
else:
|
||||||
@@ -159,15 +159,15 @@ func movement_decider_ai(target, kindOfStep, delta):
|
|||||||
ai_movement_state = STEP
|
ai_movement_state = STEP
|
||||||
elif(kindOfStep==ROLL):
|
elif(kindOfStep==ROLL):
|
||||||
roll(Vector2(target[0]-currentPosition[0], target[1]-currentPosition[1]), delta*4)
|
roll(Vector2(target[0]-currentPosition[0], target[1]-currentPosition[1]), delta*4)
|
||||||
|
|
||||||
targetFieldCur = target
|
targetFieldCur = target
|
||||||
targetFieldUsed = true
|
targetFieldUsed = true
|
||||||
|
|
||||||
ExecutionState = EXECUTING
|
ExecutionState = EXECUTING
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func movement_execution(delta):
|
func movement_execution(delta):
|
||||||
if(targetFieldUsed):
|
if(targetFieldUsed):
|
||||||
var cur = grid._pixel_to_grid_coords(global_position)
|
var cur = grid._pixel_to_grid_coords(global_position)
|
||||||
var distance = sqrt(pow(cur[0]-targetFieldCur[0],2)+ pow(cur[1]-targetFieldCur[1],2))
|
var distance = sqrt(pow(cur[0]-targetFieldCur[0],2)+ pow(cur[1]-targetFieldCur[1],2))
|
||||||
@@ -184,16 +184,16 @@ func movement_execution(delta):
|
|||||||
elif(ai_movement_state==ROLL):
|
elif(ai_movement_state==ROLL):
|
||||||
run(Vector2(targetFieldCur[0]-currentPosition[0], targetFieldCur[1]-currentPosition[1]), delta*4)
|
run(Vector2(targetFieldCur[0]-currentPosition[0], targetFieldCur[1]-currentPosition[1]), delta*4)
|
||||||
else:
|
else:
|
||||||
ExecutionState = AI_MOVE
|
ExecutionState = AI_MOVE
|
||||||
|
|
||||||
func reset_exeution_state(delta):
|
func reset_exeution_state(delta):
|
||||||
threadDelta = threadDelta + delta
|
threadDelta = threadDelta + delta
|
||||||
if(threadDelta>threadTime):
|
if(threadDelta>threadTime):
|
||||||
ExecutionState = AI_MOVE
|
ExecutionState = AI_MOVE
|
||||||
actionFieldUsed = false
|
actionFieldUsed = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func makeMove(delta):
|
func makeMove(delta):
|
||||||
lock.lock()
|
lock.lock()
|
||||||
if ExecutionState == AI_MOVE:
|
if ExecutionState == AI_MOVE:
|
||||||
@@ -202,8 +202,8 @@ func makeMove(delta):
|
|||||||
if(MoveAdvice==null):
|
if(MoveAdvice==null):
|
||||||
return
|
return
|
||||||
var target = MoveAdvice[1]
|
var target = MoveAdvice[1]
|
||||||
movement_decider_ai(target, MoveAdvice[0], delta)
|
movement_decider_ai(target, MoveAdvice[0], delta)
|
||||||
|
|
||||||
if ExecutionState == EXECUTING:
|
if ExecutionState == EXECUTING:
|
||||||
movement_execution(delta)
|
movement_execution(delta)
|
||||||
reset_exeution_state(delta)
|
reset_exeution_state(delta)
|
||||||
@@ -221,4 +221,4 @@ func roll(direction, delta):
|
|||||||
func run(direction, delta):
|
func run(direction, delta):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
#todo
|
#todo
|
||||||
|
|||||||
@@ -49,27 +49,27 @@ func calcTotalPrio():
|
|||||||
sum += prios[i]
|
sum += prios[i]
|
||||||
i += 1
|
i += 1
|
||||||
return sum
|
return sum
|
||||||
|
|
||||||
#calculates the relative porio
|
#calculates the relative porio
|
||||||
func calcRelPrio(index, sum) -> float:
|
func calcRelPrio(index, sum) -> float:
|
||||||
if(sum==0):
|
if(sum==0):
|
||||||
return 0.0
|
return 0.0
|
||||||
return float(prios[index])/float(sum)
|
return float(prios[index])/float(sum)
|
||||||
|
|
||||||
#calucaltes the prio table of all enemies[0,1)
|
#calucaltes the prio table of all enemies[0,1)
|
||||||
func calcPrioTable():
|
func calcPrioTable():
|
||||||
var table = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
|
var table = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
|
||||||
numbers = grid.countTargets(numbers)
|
numbers = grid.countTargets(numbers)
|
||||||
var lower = 0.0
|
var lower = 0.0
|
||||||
var sum = calcTotalPrio()
|
var sum = calcTotalPrio()
|
||||||
|
|
||||||
var i = 0;
|
var i = 0;
|
||||||
while i != Grid.Kind.TERMINAL_SYMBOL:
|
while i != Grid.Kind.TERMINAL_SYMBOL:
|
||||||
if(numbers[i]!=0):
|
if(numbers[i]!=0):
|
||||||
lower += calcRelPrio(i, sum)
|
lower += calcRelPrio(i, sum)
|
||||||
table[i] = lower
|
table[i] = lower
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
return table
|
return table
|
||||||
|
|
||||||
#return the enemie which will be attacked
|
#return the enemie which will be attacked
|
||||||
@@ -88,7 +88,7 @@ func getMoveDescription(myPosition : Vector2, targetPositions : Vector2):
|
|||||||
grid.recalculate_path()
|
grid.recalculate_path()
|
||||||
if(grid._point_path.size()<=1):
|
if(grid._point_path.size()<=1):
|
||||||
return [NOTHING, [0,0]]
|
return [NOTHING, [0,0]]
|
||||||
|
|
||||||
var move = STEP
|
var move = STEP
|
||||||
return [move, grid._point_path[1]]
|
return [move, grid._point_path[1]]
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ func getMoveDescription(myPosition : Vector2, targetPositions : Vector2):
|
|||||||
func movement_calulcaotr():
|
func movement_calulcaotr():
|
||||||
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
||||||
var enemyKind
|
var enemyKind
|
||||||
|
|
||||||
numbers = grid.countTargets(numbers)
|
numbers = grid.countTargets(numbers)
|
||||||
if(actionKind == grid.Kind.TERMINAL_SYMBOL || numbers[actionKind]==0 || actionFieldUsed==false):
|
if(actionKind == grid.Kind.TERMINAL_SYMBOL || numbers[actionKind]==0 || actionFieldUsed==false):
|
||||||
enemyKind = calcEnemyKind()
|
enemyKind = calcEnemyKind()
|
||||||
@@ -107,28 +107,28 @@ func movement_calulcaotr():
|
|||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
enemyKind = actionKind
|
enemyKind = actionKind
|
||||||
|
|
||||||
var targetField = grid.get_nearest(currentPosition, enemyKind)
|
var targetField = grid.get_nearest(currentPosition, enemyKind)
|
||||||
if(targetField==[-1,-1]):
|
if(targetField==[-1,-1]):
|
||||||
return
|
return
|
||||||
|
|
||||||
return getMoveDescription(currentPosition, Vector2(targetField[0], targetField[1]))
|
return getMoveDescription(currentPosition, Vector2(targetField[0], targetField[1]))
|
||||||
|
|
||||||
func movement_decider_ai(target, kindOfStep, delta):
|
func movement_decider_ai(target, kindOfStep, delta):
|
||||||
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
||||||
|
|
||||||
run(Vector2(target[0]-currentPosition[0], target[1]-currentPosition[1]), delta*4)
|
run(Vector2(target[0]-currentPosition[0], target[1]-currentPosition[1]), delta*4)
|
||||||
targetFieldCur = target
|
targetFieldCur = target
|
||||||
ai_movement_state = STEP
|
ai_movement_state = STEP
|
||||||
|
|
||||||
targetFieldCur = target
|
targetFieldCur = target
|
||||||
targetFieldUsed = true
|
targetFieldUsed = true
|
||||||
|
|
||||||
ExecutionState = EXECUTING
|
ExecutionState = EXECUTING
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func movement_execution(delta):
|
func movement_execution(delta):
|
||||||
if(targetFieldUsed):
|
if(targetFieldUsed):
|
||||||
var cur = grid._pixel_to_grid_coords(global_position)
|
var cur = grid._pixel_to_grid_coords(global_position)
|
||||||
var distance = sqrt(pow(cur[0]-targetFieldCur[0],2)+ pow(cur[1]-targetFieldCur[1],2))
|
var distance = sqrt(pow(cur[0]-targetFieldCur[0],2)+ pow(cur[1]-targetFieldCur[1],2))
|
||||||
@@ -142,16 +142,16 @@ func movement_execution(delta):
|
|||||||
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
var currentPosition = grid._pixel_to_grid_coords(global_position)
|
||||||
if(ai_movement_state==STEP):
|
if(ai_movement_state==STEP):
|
||||||
run(Vector2(targetFieldCur[0]-currentPosition[0], targetFieldCur[1]-currentPosition[1]), delta*4)
|
run(Vector2(targetFieldCur[0]-currentPosition[0], targetFieldCur[1]-currentPosition[1]), delta*4)
|
||||||
|
|
||||||
|
|
||||||
func reset_exeution_state(delta):
|
func reset_exeution_state(delta):
|
||||||
threadDelta = threadDelta + delta
|
threadDelta = threadDelta + delta
|
||||||
if(threadDelta>threadTime):
|
if(threadDelta>threadTime):
|
||||||
ExecutionState = AI_MOVE
|
ExecutionState = AI_MOVE
|
||||||
actionFieldUsed = false
|
actionFieldUsed = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func makeMove(delta):
|
func makeMove(delta):
|
||||||
lock.lock()
|
lock.lock()
|
||||||
if ExecutionState == AI_MOVE:
|
if ExecutionState == AI_MOVE:
|
||||||
@@ -160,8 +160,8 @@ func makeMove(delta):
|
|||||||
if(MoveAdvice==null):
|
if(MoveAdvice==null):
|
||||||
return
|
return
|
||||||
var target = MoveAdvice[1]
|
var target = MoveAdvice[1]
|
||||||
movement_decider_ai(target, MoveAdvice[0], delta)
|
movement_decider_ai(target, MoveAdvice[0], delta)
|
||||||
|
|
||||||
if ExecutionState == EXECUTING:
|
if ExecutionState == EXECUTING:
|
||||||
movement_execution(delta)
|
movement_execution(delta)
|
||||||
reset_exeution_state(delta)
|
reset_exeution_state(delta)
|
||||||
@@ -172,4 +172,4 @@ func makeMove(delta):
|
|||||||
func run(direction, delta):
|
func run(direction, delta):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
#todo
|
#todo
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ extends Area2D
|
|||||||
|
|
||||||
export(int, 0, 20) var currency_value:=0
|
export(int, 0, 20) var currency_value:=0
|
||||||
export(int, 0, 2) var health_value:=0
|
export(int, 0, 2) var health_value:=0
|
||||||
export(int, 0, 300) var slowdown_value:=0
|
export(int, 0, 300) var slowdown_value:=0
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
extends Node
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://Overlap/Mechanics/Mechanics.gd" type="Script" id=1]
|
|
||||||
|
|
||||||
[node name="Core" type="Node"]
|
|
||||||
script = ExtResource( 1 )
|
|
||||||
@@ -37,8 +37,5 @@ func go_to_next_state_in_sequence():
|
|||||||
emit_signal('finished')
|
emit_signal('finished')
|
||||||
return
|
return
|
||||||
state_active = get_child(new_state_index)
|
state_active = get_child(new_state_index)
|
||||||
|
|
||||||
state_active.enter()
|
state_active.enter()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,14 +45,14 @@ func change_state(state_name):
|
|||||||
if not _active:
|
if not _active:
|
||||||
return
|
return
|
||||||
current_state.exit()
|
current_state.exit()
|
||||||
|
|
||||||
if state_name == "previous":
|
if state_name == "previous":
|
||||||
states_stack.pop_front()
|
states_stack.pop_front()
|
||||||
else:
|
else:
|
||||||
states_stack[0] = states_map[state_name]
|
states_stack[0] = states_map[state_name]
|
||||||
|
|
||||||
current_state = states_stack[0]
|
current_state = states_stack[0]
|
||||||
emit_signal("state_changed", current_state)
|
emit_signal("state_changed", current_state)
|
||||||
|
|
||||||
if state_name != "previous":
|
if state_name != "previous":
|
||||||
current_state.enter()
|
current_state.enter()
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ func set_health(value):
|
|||||||
health = value
|
health = value
|
||||||
if health < 1:
|
if health < 1:
|
||||||
emit_signal("no_health")
|
emit_signal("no_health")
|
||||||
|
|
||||||
emit_signal("health_changed", health)
|
emit_signal("health_changed", health)
|
||||||
|
|
||||||
func set_speed(value):
|
func set_speed(value):
|
||||||
if value > max_speed:
|
if value > max_speed:
|
||||||
speed = max_speed
|
speed = max_speed
|
||||||
@@ -26,5 +26,3 @@ func set_speed(value):
|
|||||||
speed = 0.0
|
speed = 0.0
|
||||||
else:
|
else:
|
||||||
speed = value
|
speed = value
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ func _physics_process(delta):
|
|||||||
|
|
||||||
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
||||||
# Godots physics system does that internally
|
# Godots physics system does that internally
|
||||||
# In move_and_collide(...) you have to multiply by delta.
|
# In move_and_collide(...) you have to multiply by delta.
|
||||||
func move():
|
func move():
|
||||||
move_and_slide(velocity)
|
move_and_slide(velocity)
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ func run(direction, delta):
|
|||||||
rollvector = direction
|
rollvector = direction
|
||||||
movementState = moveState.MOVE
|
movementState = moveState.MOVE
|
||||||
velocity = velocity.move_toward(player_stats.speed * rollvector, ACCELERATION * delta)
|
velocity = velocity.move_toward(player_stats.speed * rollvector, ACCELERATION * delta)
|
||||||
|
|
||||||
if direction == Vector2.ZERO:
|
if direction == Vector2.ZERO:
|
||||||
animation_state.change_state("idle")
|
animation_state.change_state("idle")
|
||||||
else:
|
else:
|
||||||
@@ -122,7 +122,7 @@ func run(direction, delta):
|
|||||||
|
|
||||||
|
|
||||||
func movement_move(delta):
|
func movement_move(delta):
|
||||||
|
|
||||||
var input_vector = Vector2.ZERO
|
var input_vector = Vector2.ZERO
|
||||||
# This is a clever way to handle directional input
|
# This is a clever way to handle directional input
|
||||||
# Input.get_action_strength(...) returns a value between 0 and 1 depending
|
# Input.get_action_strength(...) returns a value between 0 and 1 depending
|
||||||
@@ -132,13 +132,13 @@ func movement_move(delta):
|
|||||||
input_vector.x = Input.get_action_strength("right") - Input.get_action_strength("left")
|
input_vector.x = Input.get_action_strength("right") - Input.get_action_strength("left")
|
||||||
input_vector.y = Input.get_action_strength("down") - Input.get_action_strength("up")
|
input_vector.y = Input.get_action_strength("down") - Input.get_action_strength("up")
|
||||||
input_vector = input_vector.normalized()
|
input_vector = input_vector.normalized()
|
||||||
|
|
||||||
if input_vector == Vector2.ZERO:
|
if input_vector == Vector2.ZERO:
|
||||||
animation_state.change_state("idle")
|
animation_state.change_state("idle")
|
||||||
velocity = Vector2.ZERO
|
velocity = Vector2.ZERO
|
||||||
else:
|
else:
|
||||||
rollvector = input_vector
|
rollvector = input_vector
|
||||||
animation_state.change_state("run")
|
animation_state.change_state("run")
|
||||||
velocity = velocity.move_toward(player_stats.speed * input_vector, ACCELERATION * delta)
|
velocity = velocity.move_toward(player_stats.speed * input_vector, ACCELERATION * delta)
|
||||||
if Input.is_action_just_pressed("roll"):
|
if Input.is_action_just_pressed("roll"):
|
||||||
movementState = moveState.ROLL
|
movementState = moveState.ROLL
|
||||||
@@ -172,7 +172,7 @@ func roll_finished():
|
|||||||
func _on_Hurtbox_area_entered(area):
|
func _on_Hurtbox_area_entered(area):
|
||||||
if("damage" in area):
|
if("damage" in area):
|
||||||
player_stats.health -= area.damage
|
player_stats.health -= area.damage
|
||||||
|
|
||||||
if area.damage > 0:
|
if area.damage > 0:
|
||||||
damage_per_second += area.damage
|
damage_per_second += area.damage
|
||||||
SoundControler.pub_play_effect("res://Player/Sounds/Hurt.wav",1)
|
SoundControler.pub_play_effect("res://Player/Sounds/Hurt.wav",1)
|
||||||
@@ -197,7 +197,7 @@ func _on_Stats_no_health():
|
|||||||
queue_free()
|
queue_free()
|
||||||
get_tree().get_root().get_node("World").hero_has_died()
|
get_tree().get_root().get_node("World").hero_has_died()
|
||||||
#get_tree().change_scene("res://Menus/TitleScreen/TitleScreen.tscn")
|
#get_tree().change_scene("res://Menus/TitleScreen/TitleScreen.tscn")
|
||||||
|
|
||||||
|
|
||||||
func _on_Hitbox_area_entered(area):
|
func _on_Hitbox_area_entered(area):
|
||||||
currency += area.currency_value
|
currency += area.currency_value
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ func _play_random_sound():
|
|||||||
if delay_passed and is_playing_sound==false:
|
if delay_passed and is_playing_sound==false:
|
||||||
var sound = SoundLibary[rand_range(0,SoundLibary.size())]
|
var sound = SoundLibary[rand_range(0,SoundLibary.size())]
|
||||||
SoundControler.pub_play_effect(sound,CHANNEL)
|
SoundControler.pub_play_effect(sound,CHANNEL)
|
||||||
|
|
||||||
is_playing_sound = true
|
is_playing_sound = true
|
||||||
delay_passed=false
|
delay_passed=false
|
||||||
#timer.start(Delay)
|
#timer.start(Delay)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ func _play_random_sound():
|
|||||||
if delay_passed and is_playing_sound==false:
|
if delay_passed and is_playing_sound==false:
|
||||||
var sound = SoundLibary[rand_range(0,SoundLibary.size())]
|
var sound = SoundLibary[rand_range(0,SoundLibary.size())]
|
||||||
SoundControler.pub_play_effect(sound,CHANNEL)
|
SoundControler.pub_play_effect(sound,CHANNEL)
|
||||||
|
|
||||||
is_playing_sound = true
|
is_playing_sound = true
|
||||||
delay_passed=false
|
delay_passed=false
|
||||||
#timer.start(Delay)
|
#timer.start(Delay)
|
||||||
|
|||||||
@@ -22,14 +22,14 @@ func determine_spawnpoint():
|
|||||||
while(point.distance_to($YSort/SlimeBoss.position) < MinDistanceToBoss):
|
while(point.distance_to($YSort/SlimeBoss.position) < MinDistanceToBoss):
|
||||||
point = Vector2(rand_range(SpawnBoxRange.position.x,SpawnBoxRange.position.x+SpawnBoxRange.size.x),rand_range(SpawnBoxRange.position.y,SpawnBoxRange.position.y+SpawnBoxRange.size.y))
|
point = Vector2(rand_range(SpawnBoxRange.position.x,SpawnBoxRange.position.x+SpawnBoxRange.size.x),rand_range(SpawnBoxRange.position.y,SpawnBoxRange.position.y+SpawnBoxRange.size.y))
|
||||||
return point
|
return point
|
||||||
|
|
||||||
|
|
||||||
func hero_has_died():
|
func hero_has_died():
|
||||||
round_counter += 1
|
round_counter += 1
|
||||||
if (round_counter >= WinRounds and not passed_final_Round):
|
if (round_counter >= WinRounds and not passed_final_Round):
|
||||||
passed_final_Round = true
|
passed_final_Round = true
|
||||||
$CanvasLayer/Win.show()
|
$CanvasLayer/Win.show()
|
||||||
|
|
||||||
Engine.time_scale = 0
|
Engine.time_scale = 0
|
||||||
var point = determine_spawnpoint()
|
var point = determine_spawnpoint()
|
||||||
spawn_new_hero(point.x, point.y)
|
spawn_new_hero(point.x, point.y)
|
||||||
|
|||||||
@@ -241,10 +241,12 @@ __meta__ = {
|
|||||||
}
|
}
|
||||||
WinRounds = 5
|
WinRounds = 5
|
||||||
HeroTemplate = ExtResource( 1 )
|
HeroTemplate = ExtResource( 1 )
|
||||||
|
SpawnBoxRange = Rect2( 32, 32, 448, 160 )
|
||||||
|
|
||||||
[node name="Background" parent="." instance=ExtResource( 7 )]
|
[node name="Background" parent="." instance=ExtResource( 7 )]
|
||||||
pause_mode = 1
|
pause_mode = 1
|
||||||
frame = 20
|
frame = 46
|
||||||
|
playing = true
|
||||||
|
|
||||||
[node name="FloorTileMap" type="TileMap" parent="."]
|
[node name="FloorTileMap" type="TileMap" parent="."]
|
||||||
pause_mode = 1
|
pause_mode = 1
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ config/icon="res://icon.png"
|
|||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
SoundControler="*res://Autoloads/SoundControler.gd"
|
SoundControler="*res://Autoloads/SoundController.gd"
|
||||||
Steering="*res://Autoloads/Steering.gd"
|
Steering="*res://Autoloads/Steering.gd"
|
||||||
Globals="*res://Autoloads/Globals.gd"
|
Globals="*res://Autoloads/Globals.gd"
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Bonfire.png-0056030a521835d2d33fb9bceb6d8997.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Bonfire.png"
|
|
||||||
dest_files=[ "res://.import/Bonfire.png-0056030a521835d2d33fb9bceb6d8997.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 767 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Fass.png-8b7a9a62cc4ca5f013bfec2b63e29313.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Fass.png"
|
|
||||||
dest_files=[ "res://.import/Fass.png-8b7a9a62cc4ca5f013bfec2b63e29313.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 526 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Feld.png-c21f03c272e80c9c8e7a3328218f65d8.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Feld.png"
|
|
||||||
dest_files=[ "res://.import/Feld.png-c21f03c272e80c9c8e7a3328218f65d8.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 416 B |
|
Before Width: | Height: | Size: 740 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Spike.png-17aaa39383a87ae5308a6f2b8336cac9.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Spike.png"
|
|
||||||
dest_files=[ "res://.import/Spike.png-17aaa39383a87ae5308a6f2b8336cac9.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 484 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Spikes.png-258fd7509c119e5f872643f64387e2ab.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Spikes.png"
|
|
||||||
dest_files=[ "res://.import/Spikes.png-258fd7509c119e5f872643f64387e2ab.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Stacheln.png-a262c39a5c0980bd148668a8b3427fa1.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Stacheln.png"
|
|
||||||
dest_files=[ "res://.import/Stacheln.png-a262c39a5c0980bd148668a8b3427fa1.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 737 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Sting.png-e22bdef704d05705a069385cfac8dcfc.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Sting.png"
|
|
||||||
dest_files=[ "res://.import/Sting.png-e22bdef704d05705a069385cfac8dcfc.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 659 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/Trapdoor.png-c2738d9eef9c8010fb0124dcf9d0d7a2.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/Trapdoor.png"
|
|
||||||
dest_files=[ "res://.import/Trapdoor.png-c2738d9eef9c8010fb0124dcf9d0d7a2.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 668 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/bannane.png-52f1a956970a05bcc1055ac2236d86a9.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/bannane.png"
|
|
||||||
dest_files=[ "res://.import/bannane.png-52f1a956970a05bcc1055ac2236d86a9.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 483 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/blue_Rubi.png-9625c4b3c5ecaa7b4fc37f51c35c8e47.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/blue_Rubi.png"
|
|
||||||
dest_files=[ "res://.import/blue_Rubi.png-9625c4b3c5ecaa7b4fc37f51c35c8e47.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/boss.png-6d73e25c3fd73041fcd6730f17d14bfc.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/boss.png"
|
|
||||||
dest_files=[ "res://.import/boss.png-6d73e25c3fd73041fcd6730f17d14bfc.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 522 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/dark.png-244965b9aa8a3636dc037fc3a79d9bb8.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/dark.png"
|
|
||||||
dest_files=[ "res://.import/dark.png-244965b9aa8a3636dc037fc3a79d9bb8.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=1
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 386 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fackel.png-e9ccd3bef19ad0bbdb9bca3cb024b922.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/fackel.png"
|
|
||||||
dest_files=[ "res://.import/fackel.png-e9ccd3bef19ad0bbdb9bca3cb024b922.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 588 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/falle.png-858aa2a4f958f955dd4c5ee449d71762.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/falle.png"
|
|
||||||
dest_files=[ "res://.import/falle.png-858aa2a4f958f955dd4c5ee449d71762.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/flame.png-b8cd34852af979f045ce8148b44529fa.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/flame.png"
|
|
||||||
dest_files=[ "res://.import/flame.png-b8cd34852af979f045ce8148b44529fa.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 484 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/green_Rubi.png-659679d4a707d42e77f5dee224448c84.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/green_Rubi.png"
|
|
||||||
dest_files=[ "res://.import/green_Rubi.png-659679d4a707d42e77f5dee224448c84.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 459 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/red_Rubi.png-6854b9aa4bb192eb8324d652ac8da698.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/red_Rubi.png"
|
|
||||||
dest_files=[ "res://.import/red_Rubi.png-6854b9aa4bb192eb8324d652ac8da698.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 256 B |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/wand.png-c2fe8db0134f32b9bf06b1df0358a83c.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/wand.png"
|
|
||||||
dest_files=[ "res://.import/wand.png-c2fe8db0134f32b9bf06b1df0358a83c.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/white_boss_dog.png-71758567a6659e328126f0647eb38c8d.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/white_boss_dog.png"
|
|
||||||
dest_files=[ "res://.import/white_boss_dog.png-71758567a6659e328126f0647eb38c8d.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/white_minion_dog.png-4b59df758535e1f8bd50b861a164b220.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://testSprites/white_minion_dog.png"
|
|
||||||
dest_files=[ "res://.import/white_minion_dog.png-4b59df758535e1f8bd50b861a164b220.stex" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_mode=0
|
|
||||||
compress/bptc_ldr=0
|
|
||||||
compress/normal_map=0
|
|
||||||
flags/repeat=0
|
|
||||||
flags/filter=false
|
|
||||||
flags/mipmaps=false
|
|
||||||
flags/anisotropic=false
|
|
||||||
flags/srgb=2
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/HDR_as_SRGB=false
|
|
||||||
process/invert_color=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
||||||