Added win condition for level 1 and added boss fight for level 5
@@ -16,9 +16,7 @@ height = 2.0
|
|||||||
[sub_resource type="CircleShape2D" id=3]
|
[sub_resource type="CircleShape2D" id=3]
|
||||||
radius = 50.0
|
radius = 50.0
|
||||||
|
|
||||||
[node name="Chasing Glowing Ghost" type="KinematicBody2D" groups=[
|
[node name="Chasing Glowing Ghost" type="KinematicBody2D" groups=["enemy"]]
|
||||||
"enemy",
|
|
||||||
]]
|
|
||||||
light_mask = 0
|
light_mask = 0
|
||||||
collision_layer = 4
|
collision_layer = 4
|
||||||
collision_mask = 5
|
collision_mask = 5
|
||||||
@@ -36,9 +34,7 @@ light_mask = 0
|
|||||||
rotation = 1.5708
|
rotation = 1.5708
|
||||||
shape = SubResource( 1 )
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
[node name="Hitbox" type="Area2D" parent="." groups=[
|
[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox_1"]]
|
||||||
"enemy_hitbox_1",
|
|
||||||
]]
|
|
||||||
light_mask = 0
|
light_mask = 0
|
||||||
collision_layer = 4
|
collision_layer = 4
|
||||||
collision_mask = 2
|
collision_mask = 2
|
||||||
@@ -51,10 +47,10 @@ shape = SubResource( 2 )
|
|||||||
|
|
||||||
[node name="Player Detector" type="Area2D" parent="."]
|
[node name="Player Detector" type="Area2D" parent="."]
|
||||||
light_mask = 0
|
light_mask = 0
|
||||||
input_pickable = false
|
|
||||||
monitorable = false
|
|
||||||
collision_layer = 0
|
collision_layer = 0
|
||||||
collision_mask = 2
|
collision_mask = 2
|
||||||
|
input_pickable = false
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Player Detector"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Player Detector"]
|
||||||
visible = false
|
visible = false
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
extends KinematicBody2D
|
extends KinematicBody2D
|
||||||
|
|
||||||
|
signal death
|
||||||
# Declare member variables here. Examples:
|
# Declare member variables here. Examples:
|
||||||
# var a = 2
|
# var a = 2
|
||||||
# var b = "text"
|
# var b = "text"
|
||||||
@@ -55,7 +56,7 @@ func _on_Star_detect_body_entered(body_star):
|
|||||||
#print("timer start")
|
#print("timer start")
|
||||||
|
|
||||||
func _on_Star_detect_body_exited(_body):
|
func _on_Star_detect_body_exited(_body):
|
||||||
#if _body.name == 'Star':
|
#if _body.name == 'Star':
|
||||||
#print("obstacle exited")
|
#print("obstacle exited")
|
||||||
#if _body.name == 'Obstacle':
|
#if _body.name == 'Obstacle':
|
||||||
#obstacle = null
|
#obstacle = null
|
||||||
@@ -74,5 +75,6 @@ func _on_Hitbox_area_entered(area: Area2D):
|
|||||||
health -= 2
|
health -= 2
|
||||||
|
|
||||||
if health <= 0:
|
if health <= 0:
|
||||||
|
emit_signal('death')
|
||||||
call_deferred('queue_free')
|
call_deferred('queue_free')
|
||||||
return
|
return
|
||||||
|
78
Enemies/Eyeball Boss.gd
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
extends StaticBody2D
|
||||||
|
|
||||||
|
signal death
|
||||||
|
|
||||||
|
export var glowing_blue_fireball: PackedScene
|
||||||
|
|
||||||
|
var player: KinematicBody2D = null
|
||||||
|
var health: int = 12
|
||||||
|
var center: Vector2
|
||||||
|
var center_x: float
|
||||||
|
var shoot_y: int
|
||||||
|
|
||||||
|
var rng: RandomNumberGenerator = RandomNumberGenerator.new()
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
center = $Sprite.global_position
|
||||||
|
center_x = center.x
|
||||||
|
shoot_y = int(center.y) + 1
|
||||||
|
rng.randomize()
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_shoot_timeout() -> void:
|
||||||
|
if player:
|
||||||
|
var shoot_directions: Array = [
|
||||||
|
Vector2(center_x + rng.randf_range(-1, 1), shoot_y),
|
||||||
|
Vector2(center_x + rng.randf_range(-1, 1), shoot_y),
|
||||||
|
Vector2(center_x + rng.randf_range(-1, 1), shoot_y),
|
||||||
|
Vector2(center_x + rng.randf_range(-1, 1), shoot_y),
|
||||||
|
Vector2(center_x + rng.randf_range(-1, 1), shoot_y)]
|
||||||
|
|
||||||
|
for itr in shoot_directions:
|
||||||
|
var projectile: Node = glowing_blue_fireball.instance()
|
||||||
|
projectile.init(center, itr)
|
||||||
|
get_tree().get_current_scene().get_node('Projectiles').add_child(projectile)
|
||||||
|
|
||||||
|
$'Flash Timer'.start()
|
||||||
|
$Flash.set_visible(true)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_flash_timer_timeout() -> void:
|
||||||
|
$Flash.set_visible(false)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_hit_timeout() -> void:
|
||||||
|
$Sprite.self_modulate = Color(1, 1, 1)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_hitbox_area_entered(area: Area2D) -> void:
|
||||||
|
if area.is_in_group('player_weapon_1'):
|
||||||
|
health -= 1
|
||||||
|
$Sprite.self_modulate = Color(1, 0, 0)
|
||||||
|
$Hit.start()
|
||||||
|
elif area.is_in_group('player_weapon_2'):
|
||||||
|
health -= 2
|
||||||
|
$Sprite.self_modulate = Color(1, 0, 0)
|
||||||
|
$Hit.start()
|
||||||
|
|
||||||
|
if health <= 0:
|
||||||
|
emit_signal('death')
|
||||||
|
call_deferred('queue_free')
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_player_detector_body_entered(body: Node) -> void:
|
||||||
|
if body.is_in_group('player'):
|
||||||
|
player = body
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_player_detector_body_exited(body: Node) -> void:
|
||||||
|
if body.is_in_group('player'):
|
||||||
|
player = null
|
||||||
|
return
|
127
Enemies/Eyeball Boss.tscn
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
[gd_scene load_steps=17 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Sprites/Enemies/Eyeball_Boss_Spritesheet.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://Enemies/Eyeball Boss.gd" type="Script" id=2]
|
||||||
|
[ext_resource path="res://Sprites/Assets/Light.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://Enemies/Projectiles/Glowing Blue Fireball.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=1]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 0, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=2]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 32, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=3]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 64, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=4]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 96, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=5]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 128, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=6]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 160, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=7]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 192, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=8]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 224, 0, 32, 32 )
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id=9]
|
||||||
|
animations = [ {
|
||||||
|
"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "idle",
|
||||||
|
"speed": 5.0
|
||||||
|
} ]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id=10]
|
||||||
|
radius = 15.0
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id=12]
|
||||||
|
radius = 17.0
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id=11]
|
||||||
|
radius = 200.0
|
||||||
|
|
||||||
|
[node name="Eyeball Boss" type="StaticBody2D"]
|
||||||
|
light_mask = 0
|
||||||
|
collision_mask = 0
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
glowing_blue_fireball = ExtResource( 4 )
|
||||||
|
|
||||||
|
[node name="Sprite" type="AnimatedSprite" parent="."]
|
||||||
|
self_modulate = Color( 0.705882, 0.705882, 0.705882, 1 )
|
||||||
|
frames = SubResource( 9 )
|
||||||
|
animation = "idle"
|
||||||
|
frame = 2
|
||||||
|
playing = true
|
||||||
|
|
||||||
|
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||||
|
visible = false
|
||||||
|
light_mask = 0
|
||||||
|
shape = SubResource( 10 )
|
||||||
|
|
||||||
|
[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox_2"]]
|
||||||
|
light_mask = 0
|
||||||
|
collision_layer = 4
|
||||||
|
collision_mask = 2
|
||||||
|
input_pickable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||||
|
visible = false
|
||||||
|
light_mask = 0
|
||||||
|
shape = SubResource( 12 )
|
||||||
|
|
||||||
|
[node name="Player Detector" type="Area2D" parent="."]
|
||||||
|
light_mask = 0
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 2
|
||||||
|
input_pickable = false
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Player Detector"]
|
||||||
|
visible = false
|
||||||
|
light_mask = 0
|
||||||
|
shape = SubResource( 11 )
|
||||||
|
|
||||||
|
[node name="Light" type="Light2D" parent="."]
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
texture_scale = 0.8
|
||||||
|
|
||||||
|
[node name="Flash" type="Light2D" parent="."]
|
||||||
|
visible = false
|
||||||
|
position = Vector2( 0, 8 )
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
texture_scale = 0.2
|
||||||
|
color = Color( 0, 0.952941, 1, 1 )
|
||||||
|
shadow_item_cull_mask = 0
|
||||||
|
|
||||||
|
[node name="Shoot" type="Timer" parent="."]
|
||||||
|
wait_time = 1.5
|
||||||
|
autostart = true
|
||||||
|
|
||||||
|
[node name="Flash Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 0.1
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="Hit" type="Timer" parent="."]
|
||||||
|
wait_time = 0.1
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="area_entered" from="Hitbox" to="." method="_on_hitbox_area_entered"]
|
||||||
|
[connection signal="body_entered" from="Player Detector" to="." method="_on_player_detector_body_entered"]
|
||||||
|
[connection signal="body_exited" from="Player Detector" to="." method="_on_player_detector_body_exited"]
|
||||||
|
[connection signal="timeout" from="Shoot" to="." method="_on_shoot_timeout"]
|
||||||
|
[connection signal="timeout" from="Flash Timer" to="." method="_on_flash_timer_timeout"]
|
||||||
|
[connection signal="timeout" from="Hit" to="." method="_on_hit_timeout"]
|
@@ -10,49 +10,49 @@ var counter: int = 0
|
|||||||
|
|
||||||
|
|
||||||
func _physics_process(_delta: float) -> void:
|
func _physics_process(_delta: float) -> void:
|
||||||
velocity = Vector2.ZERO
|
velocity = Vector2.ZERO
|
||||||
|
|
||||||
if player and position.distance_to(player.position) > 1:
|
if player and position.distance_to(player.position) > 1:
|
||||||
velocity = position.direction_to(player.position).normalized() * SPEED
|
velocity = position.direction_to(player.position).normalized() * SPEED
|
||||||
|
|
||||||
|
|
||||||
if hit == true:
|
if hit == true:
|
||||||
if counter < 15:
|
if counter < 15:
|
||||||
if counter % 5 == 0:
|
if counter % 5 == 0:
|
||||||
$AnimatedSprite.visible = false
|
$AnimatedSprite.visible = false
|
||||||
else:
|
else:
|
||||||
$AnimatedSprite.visible = true
|
$AnimatedSprite.visible = true
|
||||||
counter += 1
|
counter += 1
|
||||||
velocity = Vector2.ZERO
|
velocity = Vector2.ZERO
|
||||||
else:
|
else:
|
||||||
counter = 0
|
counter = 0
|
||||||
hit = false
|
hit = false
|
||||||
|
|
||||||
|
|
||||||
velocity = move_and_slide(velocity)
|
velocity = move_and_slide(velocity)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_player_detector_body_entered(body: Node) -> void:
|
func _on_player_detector_body_entered(body: Node) -> void:
|
||||||
if body.is_in_group('player'):
|
if body.is_in_group('player'):
|
||||||
player = body
|
player = body
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_player_detector_body_exited(body: Node) -> void:
|
func _on_player_detector_body_exited(body: Node) -> void:
|
||||||
if body.is_in_group('player'):
|
if body.is_in_group('player'):
|
||||||
player = null
|
player = null
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_hitbox_area_entered(area: Area2D) -> void:
|
func _on_hitbox_area_entered(area: Area2D) -> void:
|
||||||
if area.is_in_group('player_weapon_1'):
|
if area.is_in_group('player_weapon_1'):
|
||||||
health -= 1
|
health -= 1
|
||||||
hit = true
|
hit = true
|
||||||
elif area.is_in_group('player_weapon_2'):
|
elif area.is_in_group('player_weapon_2'):
|
||||||
health -= 2
|
health -= 2
|
||||||
hit = true
|
hit = true
|
||||||
|
|
||||||
if health <= 0:
|
if health <= 0:
|
||||||
call_deferred('queue_free')
|
call_deferred('queue_free')
|
||||||
return
|
return
|
||||||
|
@@ -20,7 +20,7 @@ func _ready() -> void:
|
|||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
velocity = Vector2.ZERO
|
velocity = Vector2.ZERO
|
||||||
|
|
||||||
if player and position.distance_to(player.position) > 1:
|
if player and position.distance_to(player.position) > 1:
|
||||||
velocity = position.direction_to(player.position).normalized() * SPEED
|
velocity = position.direction_to(player.position).normalized() * SPEED
|
||||||
velocity = move_and_slide(velocity)
|
velocity = move_and_slide(velocity)
|
||||||
@@ -34,7 +34,7 @@ func _on_Area2D_body_entered(body):
|
|||||||
self.visible = true
|
self.visible = true
|
||||||
$AnimatedSprite.play("appear")
|
$AnimatedSprite.play("appear")
|
||||||
counter = 1
|
counter = 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_AnimatedSprite_animation_finished():
|
func _on_AnimatedSprite_animation_finished():
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
[ext_resource path="res://Sprites/Assets/ghost-vanish.png" type="Texture" id=4]
|
[ext_resource path="res://Sprites/Assets/ghost-vanish.png" type="Texture" id=4]
|
||||||
[ext_resource path="res://Enemies/Ghost_Enemy.gd" type="Script" id=5]
|
[ext_resource path="res://Enemies/Ghost_Enemy.gd" type="Script" id=5]
|
||||||
[ext_resource path="res://Enemies/Projectiles/Fireball.tscn" type="PackedScene" id=6]
|
[ext_resource path="res://Enemies/Projectiles/Fireball.tscn" type="PackedScene" id=6]
|
||||||
[ext_resource path="res://Sprites/Assets/fire_column_medium_14.png" type="Texture" id=7]
|
[ext_resource path="res://Sprites/Levels/Environment/Fire_Column_Medium_14.png" type="Texture" id=7]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=1]
|
[sub_resource type="AtlasTexture" id=1]
|
||||||
atlas = ExtResource( 2 )
|
atlas = ExtResource( 2 )
|
||||||
|
@@ -10,65 +10,65 @@ var counter: int = 0
|
|||||||
|
|
||||||
|
|
||||||
func _physics_process(_delta: float) -> void:
|
func _physics_process(_delta: float) -> void:
|
||||||
velocity = Vector2.ZERO
|
velocity = Vector2.ZERO
|
||||||
|
|
||||||
if player and position.distance_to(player.position) > 1:
|
if player and position.distance_to(player.position) > 1:
|
||||||
velocity = position.direction_to(player.position).normalized() * SPEED
|
velocity = position.direction_to(player.position).normalized() * SPEED
|
||||||
var angle = position.angle_to_point(player.position)
|
var angle = position.angle_to_point(player.position)
|
||||||
if abs(angle) > PI/2:
|
if abs(angle) > PI/2:
|
||||||
$AnimatedSprite1.scale.x = -0.563
|
$AnimatedSprite1.scale.x = -0.563
|
||||||
else:
|
else:
|
||||||
$AnimatedSprite1.scale.x = 0.563
|
$AnimatedSprite1.scale.x = 0.563
|
||||||
|
|
||||||
if hit == true:
|
if hit == true:
|
||||||
if counter < 15:
|
if counter < 15:
|
||||||
if counter % 5 == 0:
|
if counter % 5 == 0:
|
||||||
$AnimatedSprite1.visible = false
|
$AnimatedSprite1.visible = false
|
||||||
else:
|
else:
|
||||||
$AnimatedSprite1.visible = true
|
$AnimatedSprite1.visible = true
|
||||||
counter += 1
|
counter += 1
|
||||||
velocity = Vector2.ZERO
|
velocity = Vector2.ZERO
|
||||||
else:
|
else:
|
||||||
counter = 0
|
counter = 0
|
||||||
hit = false
|
hit = false
|
||||||
|
|
||||||
velocity = move_and_slide(velocity)
|
velocity = move_and_slide(velocity)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_player_detector_body_entered(body: Node) -> void:
|
func _on_player_detector_body_entered(body: Node) -> void:
|
||||||
if body.is_in_group('player'):
|
if body.is_in_group('player'):
|
||||||
player = body
|
player = body
|
||||||
$AnimatedSprite1.animation = 'Running'
|
$AnimatedSprite1.animation = 'Running'
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_player_detector_body_exited(body: Node) -> void:
|
func _on_player_detector_body_exited(body: Node) -> void:
|
||||||
if body.is_in_group('player'):
|
if body.is_in_group('player'):
|
||||||
player = null
|
player = null
|
||||||
$AnimatedSprite1.animation = 'Idle'
|
$AnimatedSprite1.animation = 'Idle'
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_hitbox_area_entered(area: Area2D) -> void:
|
func _on_hitbox_area_entered(area: Area2D) -> void:
|
||||||
if area.is_in_group('player_weapon_1'):
|
if area.is_in_group('player_weapon_1'):
|
||||||
health -= 1
|
health -= 1
|
||||||
hit = true
|
hit = true
|
||||||
elif area.is_in_group('player_weapon_2'):
|
elif area.is_in_group('player_weapon_2'):
|
||||||
health -= 2
|
health -= 2
|
||||||
hit = true
|
hit = true
|
||||||
|
|
||||||
if health <= 0:
|
if health <= 0:
|
||||||
call_deferred('queue_free')
|
call_deferred('queue_free')
|
||||||
return
|
return
|
||||||
|
|
||||||
func _on_Player_Detector__Attack_body_entered(body: Node) -> void:
|
func _on_Player_Detector__Attack_body_entered(body: Node) -> void:
|
||||||
if body.is_in_group('player'):
|
if body.is_in_group('player'):
|
||||||
player = body
|
player = body
|
||||||
$AnimatedSprite1.animation = 'Jump'
|
$AnimatedSprite1.animation = 'Jump'
|
||||||
|
|
||||||
|
|
||||||
func _on_Player_Detector__Attack_body_exited(body: Node) -> void:
|
func _on_Player_Detector__Attack_body_exited(body: Node) -> void:
|
||||||
if body.is_in_group('player'):
|
if body.is_in_group('player'):
|
||||||
player = body
|
player = body
|
||||||
$AnimatedSprite1.animation = 'Running'
|
$AnimatedSprite1.animation = 'Running'
|
||||||
|
@@ -23,6 +23,6 @@ func _physics_process(delta: float) -> void:
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_tifetime_timeout() -> void:
|
func _on_lifetime_timeout() -> void:
|
||||||
call_deferred('queue_free')
|
call_deferred('queue_free')
|
||||||
return
|
return
|
||||||
|
@@ -7,15 +7,13 @@
|
|||||||
[sub_resource type="CircleShape2D" id=1]
|
[sub_resource type="CircleShape2D" id=1]
|
||||||
radius = 12.0
|
radius = 12.0
|
||||||
|
|
||||||
[node name="Creepy Hand" type="Area2D" groups=[
|
[node name="Creepy Hand" type="Area2D" groups=["enemy_projectile_1"]]
|
||||||
"enemy_projectile_1",
|
|
||||||
]]
|
|
||||||
light_mask = 0
|
light_mask = 0
|
||||||
scale = Vector2( 0.5, 0.5 )
|
scale = Vector2( 0.5, 0.5 )
|
||||||
input_pickable = false
|
|
||||||
monitoring = false
|
|
||||||
collision_layer = 0
|
collision_layer = 0
|
||||||
collision_mask = 2
|
collision_mask = 2
|
||||||
|
input_pickable = false
|
||||||
|
monitoring = false
|
||||||
script = ExtResource( 3 )
|
script = ExtResource( 3 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="."]
|
[node name="Sprite" type="Sprite" parent="."]
|
||||||
@@ -40,4 +38,4 @@ wait_time = 2.0
|
|||||||
one_shot = true
|
one_shot = true
|
||||||
autostart = true
|
autostart = true
|
||||||
|
|
||||||
[connection signal="timeout" from="Lifetime" to="." method="_on_tifetime_timeout"]
|
[connection signal="timeout" from="Lifetime" to="." method="_on_lifetime_timeout"]
|
||||||
|
21
Enemies/Projectiles/Glowing Blue Fireball.gd
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
extends Area2D
|
||||||
|
|
||||||
|
const SPEED: int = 60
|
||||||
|
|
||||||
|
var velocity: Vector2 = Vector2.ZERO
|
||||||
|
|
||||||
|
|
||||||
|
func init(spawn_position: Vector2, shoot_position: Vector2) -> void:
|
||||||
|
position = spawn_position
|
||||||
|
velocity = position.direction_to(shoot_position).normalized() * SPEED
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _physics_process(delta: float) -> void:
|
||||||
|
position += velocity * delta
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_lifetime_timeout() -> void:
|
||||||
|
call_deferred('queue_free')
|
||||||
|
return
|
40
Enemies/Projectiles/Glowing Blue Fireball.tscn
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Sprites/Assets/Light.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://Sprites/Enemies/Projectiles/Glowing_Blue_Fireball.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://Enemies/Projectiles/Glowing Blue Fireball.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id=1]
|
||||||
|
radius = 12.0
|
||||||
|
|
||||||
|
[node name="Glowing Blue Fireball" type="Area2D" groups=["enemy_projectile_1"]]
|
||||||
|
light_mask = 0
|
||||||
|
scale = Vector2( 0.5, 0.5 )
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 2
|
||||||
|
input_pickable = false
|
||||||
|
monitoring = false
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite" parent="."]
|
||||||
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
visible = false
|
||||||
|
light_mask = 0
|
||||||
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
|
[node name="Light" type="Light2D" parent="."]
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
texture_scale = 0.3
|
||||||
|
color = Color( 0.211765, 0.964706, 0.984314, 1 )
|
||||||
|
energy = 1.5
|
||||||
|
range_item_cull_mask = 15
|
||||||
|
shadow_item_cull_mask = 0
|
||||||
|
|
||||||
|
[node name="Lifetime" type="Timer" parent="."]
|
||||||
|
wait_time = 3.0
|
||||||
|
one_shot = true
|
||||||
|
autostart = true
|
||||||
|
|
||||||
|
[connection signal="timeout" from="Lifetime" to="." method="_on_lifetime_timeout"]
|
@@ -16,6 +16,6 @@ func _physics_process(delta: float) -> void:
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_tifetime_timeout() -> void:
|
func _on_lifetime_timeout() -> void:
|
||||||
call_deferred('queue_free')
|
call_deferred('queue_free')
|
||||||
return
|
return
|
||||||
|
@@ -37,4 +37,4 @@ wait_time = 1.5
|
|||||||
one_shot = true
|
one_shot = true
|
||||||
autostart = true
|
autostart = true
|
||||||
|
|
||||||
[connection signal="timeout" from="Lifetime" to="." method="_on_tifetime_timeout"]
|
[connection signal="timeout" from="Lifetime" to="." method="_on_lifetime_timeout"]
|
||||||
|
88
GUI/HUD.gd
@@ -5,76 +5,76 @@ var weapon = "sword"
|
|||||||
|
|
||||||
|
|
||||||
func _on_Add_Currency_pressed() -> void:
|
func _on_Add_Currency_pressed() -> void:
|
||||||
emit_signal('add_currency', 1)
|
emit_signal('add_currency', 1)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func update_currency(amount: int) -> void:
|
func update_currency(amount: int) -> void:
|
||||||
$Currency.set_text(String(amount))
|
$Currency.set_text(String(amount))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func update_health(value: int) -> void:
|
func update_health(value: int) -> void:
|
||||||
$'Health Bar'.value = value
|
$'Health Bar'.value = value
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_weapon_slot_pressed() -> void:
|
func _on_weapon_slot_pressed() -> void:
|
||||||
$'Weapon Selection'.set_visible(not $'Weapon Selection'.visible)
|
$'Weapon Selection'.set_visible(not $'Weapon Selection'.visible)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_select_bow_pressed() -> void:
|
func _on_select_bow_pressed() -> void:
|
||||||
$'Weapon Selection/Bow'.set_visible(false)
|
$'Weapon Selection/Bow'.set_visible(false)
|
||||||
$'Equipped Weapon/Weapon'.set_normal_texture(
|
$'Equipped Weapon/Weapon'.set_normal_texture(
|
||||||
$'Weapon Selection/Bow/Weapon'.get_normal_texture())
|
$'Weapon Selection/Bow/Weapon'.get_normal_texture())
|
||||||
|
|
||||||
$'Weapon Selection/Javelin'.set_visible(true)
|
$'Weapon Selection/Javelin'.set_visible(true)
|
||||||
$'Weapon Selection/Staff'.set_visible(true)
|
$'Weapon Selection/Staff'.set_visible(true)
|
||||||
$'Weapon Selection/Sword'.set_visible(true)
|
$'Weapon Selection/Sword'.set_visible(true)
|
||||||
|
|
||||||
$'Weapon Selection'.set_visible(false)
|
$'Weapon Selection'.set_visible(false)
|
||||||
weapon = "bow"
|
weapon = "bow"
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_select_javelin_pressed() -> void:
|
func _on_select_javelin_pressed() -> void:
|
||||||
$'Weapon Selection/Javelin'.set_visible(false)
|
$'Weapon Selection/Javelin'.set_visible(false)
|
||||||
$'Equipped Weapon/Weapon'.set_normal_texture(
|
$'Equipped Weapon/Weapon'.set_normal_texture(
|
||||||
$'Weapon Selection/Javelin/Weapon'.get_normal_texture())
|
$'Weapon Selection/Javelin/Weapon'.get_normal_texture())
|
||||||
|
|
||||||
$'Weapon Selection/Bow'.set_visible(true)
|
$'Weapon Selection/Bow'.set_visible(true)
|
||||||
$'Weapon Selection/Staff'.set_visible(true)
|
$'Weapon Selection/Staff'.set_visible(true)
|
||||||
$'Weapon Selection/Sword'.set_visible(true)
|
$'Weapon Selection/Sword'.set_visible(true)
|
||||||
|
|
||||||
$'Weapon Selection'.set_visible(false)
|
$'Weapon Selection'.set_visible(false)
|
||||||
weapon = "javelin"
|
weapon = "javelin"
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_select_staff_pressed() -> void:
|
func _on_select_staff_pressed() -> void:
|
||||||
$'Weapon Selection/Staff'.set_visible(false)
|
$'Weapon Selection/Staff'.set_visible(false)
|
||||||
$'Equipped Weapon/Weapon'.set_normal_texture(
|
$'Equipped Weapon/Weapon'.set_normal_texture(
|
||||||
$'Weapon Selection/Staff/Weapon'.get_normal_texture())
|
$'Weapon Selection/Staff/Weapon'.get_normal_texture())
|
||||||
|
|
||||||
$'Weapon Selection/Bow'.set_visible(true)
|
$'Weapon Selection/Bow'.set_visible(true)
|
||||||
$'Weapon Selection/Javelin'.set_visible(true)
|
$'Weapon Selection/Javelin'.set_visible(true)
|
||||||
$'Weapon Selection/Sword'.set_visible(true)
|
$'Weapon Selection/Sword'.set_visible(true)
|
||||||
|
|
||||||
$'Weapon Selection'.set_visible(false)
|
$'Weapon Selection'.set_visible(false)
|
||||||
weapon = "staff"
|
weapon = "staff"
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_select_sword_pressed() -> void:
|
func _on_select_sword_pressed() -> void:
|
||||||
$'Weapon Selection/Sword'.set_visible(false)
|
$'Weapon Selection/Sword'.set_visible(false)
|
||||||
$'Equipped Weapon/Weapon'.set_normal_texture(
|
$'Equipped Weapon/Weapon'.set_normal_texture(
|
||||||
$'Weapon Selection/Sword/Weapon'.get_normal_texture())
|
$'Weapon Selection/Sword/Weapon'.get_normal_texture())
|
||||||
|
|
||||||
$'Weapon Selection/Bow'.set_visible(true)
|
$'Weapon Selection/Bow'.set_visible(true)
|
||||||
$'Weapon Selection/Javelin'.set_visible(true)
|
$'Weapon Selection/Javelin'.set_visible(true)
|
||||||
$'Weapon Selection/Staff'.set_visible(true)
|
$'Weapon Selection/Staff'.set_visible(true)
|
||||||
|
|
||||||
$'Weapon Selection'.set_visible(false)
|
$'Weapon Selection'.set_visible(false)
|
||||||
weapon = "sword"
|
weapon = "sword"
|
||||||
return
|
return
|
||||||
|
@@ -4,36 +4,36 @@ signal complete(option)
|
|||||||
|
|
||||||
|
|
||||||
func _on_new_game_button_pressed() -> void:
|
func _on_new_game_button_pressed() -> void:
|
||||||
emit_signal('complete', 'new game')
|
emit_signal('complete', 'new game')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_quit_button_pressed() -> void:
|
func _on_quit_button_pressed() -> void:
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_continue_button_mouse_entered() -> void:
|
func _on_continue_button_mouse_entered() -> void:
|
||||||
if not $'Menu/Menu Elements/Menu Options/Continue/Continue Button'.disabled:
|
if not $'Menu/Menu Elements/Menu Options/Continue/Continue Button'.disabled:
|
||||||
$'Menu Button Hover'.play(0.0)
|
$'Menu Button Hover'.play(0.0)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_new_game_button_mouse_entered() -> void:
|
func _on_new_game_button_mouse_entered() -> void:
|
||||||
$'Menu Button Hover'.play(0.0)
|
$'Menu Button Hover'.play(0.0)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_settings_button_mouse_entered() -> void:
|
func _on_settings_button_mouse_entered() -> void:
|
||||||
$'Menu Button Hover'.play(0.0)
|
$'Menu Button Hover'.play(0.0)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_credits_button_mouse_entered() -> void:
|
func _on_credits_button_mouse_entered() -> void:
|
||||||
$'Menu Button Hover'.play(0.0)
|
$'Menu Button Hover'.play(0.0)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_quit_button_mouse_entered() -> void:
|
func _on_quit_button_mouse_entered() -> void:
|
||||||
$'Menu Button Hover'.play(0.0)
|
$'Menu Button Hover'.play(0.0)
|
||||||
return
|
return
|
||||||
|
@@ -4,26 +4,26 @@ signal complete
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
# Fade in
|
# Fade in
|
||||||
if not $Tween.interpolate_property(self, 'self_modulate:a', 0, 1, 3, Tween.TRANS_LINEAR, Tween.EASE_IN):
|
if not $Tween.interpolate_property(self, 'self_modulate:a', 0, 1, 3, Tween.TRANS_LINEAR, Tween.EASE_IN):
|
||||||
print('ERROR: Splash Screen fade in animation has errors.')
|
print('ERROR: Splash Screen fade in animation has errors.')
|
||||||
if not $Tween.start():
|
if not $Tween.start():
|
||||||
print('ERROR: Splash Screen fade in animation failed to start.')
|
print('ERROR: Splash Screen fade in animation failed to start.')
|
||||||
|
|
||||||
yield($Tween, 'tween_completed') # Wait for fade in to complete
|
yield($Tween, 'tween_completed') # Wait for fade in to complete
|
||||||
|
|
||||||
# Fade out
|
# Fade out
|
||||||
if not $Tween.interpolate_property(self, 'self_modulate:a', 1, 0, 3, Tween.TRANS_LINEAR, Tween.EASE_OUT, 2):
|
if not $Tween.interpolate_property(self, 'self_modulate:a', 1, 0, 3, Tween.TRANS_LINEAR, Tween.EASE_OUT, 2):
|
||||||
print('ERROR: Splash Screen fade out animation has errors.')
|
print('ERROR: Splash Screen fade out animation has errors.')
|
||||||
if not $Tween.start():
|
if not $Tween.start():
|
||||||
print('ERROR: Splash Screen fade out animation failed to start.')
|
print('ERROR: Splash Screen fade out animation failed to start.')
|
||||||
|
|
||||||
yield($Tween, 'tween_completed') # Wait for fade out to complete
|
yield($Tween, 'tween_completed') # Wait for fade out to complete
|
||||||
emit_signal('complete')
|
emit_signal('complete')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _input(event: InputEvent) -> void:
|
func _input(event: InputEvent) -> void:
|
||||||
if event.is_action_pressed('ui_accept'):
|
if event.is_action_pressed('ui_accept'):
|
||||||
emit_signal('complete')
|
emit_signal('complete')
|
||||||
return
|
return
|
||||||
|
10
Levels/Interactables/Teleporter.gd
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
extends Area2D
|
||||||
|
|
||||||
|
export var x_location: int
|
||||||
|
export var y_location: int
|
||||||
|
|
||||||
|
|
||||||
|
func _on_teleporter_body_entered(body: Node) -> void:
|
||||||
|
if body.is_in_group('player'):
|
||||||
|
body.set_deferred('position', Vector2(x_location, y_location))
|
||||||
|
return
|
34
Levels/Interactables/Teleporter.tscn
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Sprites/Assets/Light.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://Sprites/Levels/Interactables/Teleport_Pad.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://Levels/Interactables/Teleporter.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id=1]
|
||||||
|
radius = 8.0
|
||||||
|
|
||||||
|
[node name="Teleporter" type="Area2D"]
|
||||||
|
light_mask = 0
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 2
|
||||||
|
input_pickable = false
|
||||||
|
monitorable = false
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite" parent="."]
|
||||||
|
self_modulate = Color( 0.564706, 1, 0.560784, 1 )
|
||||||
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
visible = false
|
||||||
|
light_mask = 0
|
||||||
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
|
[node name="Light" type="Light2D" parent="."]
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
texture_scale = 0.4
|
||||||
|
color = Color( 0.341176, 1, 0.321569, 1 )
|
||||||
|
energy = 1.2
|
||||||
|
shadow_item_cull_mask = 0
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_teleporter_body_entered"]
|
@@ -1,17 +1,17 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
var death_count: int = 0
|
||||||
# Declare member variables here. Examples:
|
|
||||||
# var a = 2
|
|
||||||
# var b = "text"
|
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$YSort/Player.load_hud($HUD)
|
$YSort/Player.load_hud($HUD)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
func _on_dark_matter_death() -> void:
|
||||||
#func _process(delta):
|
death_count += 1
|
||||||
# pass
|
if death_count == 5:
|
||||||
|
if get_tree().change_scene('res://GUI/Level Complete.tscn') != OK:
|
||||||
|
print('ERROR: Level 1 failed to change scene to Level Complete.')
|
||||||
|
queue_free()
|
||||||
|
return
|
||||||
|
@@ -72,3 +72,9 @@ mode = 1
|
|||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Map_boundary"]
|
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Map_boundary"]
|
||||||
build_mode = 1
|
build_mode = 1
|
||||||
polygon = PoolVector2Array( 0.762451, -22.0982, 427.859, -18.7308, 425.053, 245.609, -22.248, 248.976, -21.1256, -22.6594, -0.589813, -21.9661, -0.589806, 225.272, 400.359, 224.843, 399.969, -0.312477, 0.455406, -0.154987 )
|
polygon = PoolVector2Array( 0.762451, -22.0982, 427.859, -18.7308, 425.053, 245.609, -22.248, 248.976, -21.1256, -22.6594, -0.589813, -21.9661, -0.589806, 225.272, 400.359, 224.843, 399.969, -0.312477, 0.455406, -0.154987 )
|
||||||
|
|
||||||
|
[connection signal="death" from="YSort/Enemies/Dark Matter" to="." method="_on_dark_matter_death"]
|
||||||
|
[connection signal="death" from="YSort/Enemies/Dark Matter2" to="." method="_on_dark_matter_death"]
|
||||||
|
[connection signal="death" from="YSort/Enemies/Dark Matter3" to="." method="_on_dark_matter_death"]
|
||||||
|
[connection signal="death" from="YSort/Enemies/Dark Matter4" to="." method="_on_dark_matter_death"]
|
||||||
|
[connection signal="death" from="YSort/Enemies/Dark Matter5" to="." method="_on_dark_matter_death"]
|
||||||
|
@@ -7,51 +7,51 @@ var score = 0
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$YSort/Player.load_hud($HUD)
|
$YSort/Player.load_hud($HUD)
|
||||||
screensize = get_viewport_rect().size
|
screensize = get_viewport_rect().size
|
||||||
spawn_coins(8)
|
spawn_coins(8)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func spawn_coins(num: int) -> void:
|
func spawn_coins(num: int) -> void:
|
||||||
for _i in range(num):
|
for _i in range(num):
|
||||||
var g: Node = coin.instance()
|
var g: Node = coin.instance()
|
||||||
$'coin_container'.add_child(g)
|
$'coin_container'.add_child(g)
|
||||||
g.connect('coin_grabbed', self, '_on_coin_grabbed')
|
g.connect('coin_grabbed', self, '_on_coin_grabbed')
|
||||||
#g.set_pos(Vector2(rand_range(0, screensize.x - 40), rand_range(0, screensize.y - 40)))
|
#g.set_pos(Vector2(rand_range(0, screensize.x - 40), rand_range(0, screensize.y - 40)))
|
||||||
g.position = Vector2(rand_range(0, screensize.x - 40), rand_range(0, screensize.y - 40))
|
g.position = Vector2(rand_range(0, screensize.x - 40), rand_range(0, screensize.y - 40))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_coin_grabbed() -> void:
|
func _on_coin_grabbed() -> void:
|
||||||
score += 1
|
score += 1
|
||||||
print(score)
|
print(score)
|
||||||
$'Level 3 HUD/Label'.set_text(str(score) + '/5')
|
$'Level 3 HUD/Label'.set_text(str(score) + '/5')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _timer_out() -> void:
|
func _timer_out() -> void:
|
||||||
get_tree().change_scene('res://Levels/Hub World.tscn')
|
get_tree().change_scene('res://Levels/Hub World.tscn')
|
||||||
queue_free()
|
queue_free()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_TreasureChest_ice_key_collected() -> void:
|
func _on_TreasureChest_ice_key_collected() -> void:
|
||||||
$YSort/Door/doorClosed.visible = false
|
$YSort/Door/doorClosed.visible = false
|
||||||
$YSort/Door/doorOpened.visible = true
|
$YSort/Door/doorOpened.visible = true
|
||||||
$YSort/DoorCollision.layers = 5
|
$YSort/DoorCollision.layers = 5
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_DoorDetector_body_entered(body: Node) -> void:
|
func _on_DoorDetector_body_entered(body: Node) -> void:
|
||||||
if body.is_in_group('player'):
|
if body.is_in_group('player'):
|
||||||
print('WIN WIN WIN')
|
print('WIN WIN WIN')
|
||||||
get_tree().change_scene('res://Levels/Hub World.tscn')
|
get_tree().change_scene('res://Levels/Hub World.tscn')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_DoorDetector_area_entered(area: Area2D) -> void:
|
func _on_DoorDetector_area_entered(area: Area2D) -> void:
|
||||||
if area.get_parent().name == 'Player':
|
if area.get_parent().name == 'Player':
|
||||||
get_tree().change_scene('res://GUI/Level Complete.tscn')
|
get_tree().change_scene('res://GUI/Level Complete.tscn')
|
||||||
queue_free()
|
queue_free()
|
||||||
return
|
return
|
||||||
|
@@ -2,28 +2,29 @@ extends Node2D
|
|||||||
|
|
||||||
var gems: int = 4
|
var gems: int = 4
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
#$YSort/Player.position = get_viewport_rect().size / 2
|
$YSort/Player.load_hud($HUD)
|
||||||
$YSort/Player.load_hud($HUD)
|
return
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
func _on_TreasureChest_gem_collected() -> void:
|
func _on_TreasureChest_gem_collected() -> void:
|
||||||
gems -= 1
|
gems -= 1
|
||||||
|
|
||||||
if gems == 0:
|
|
||||||
$YSort/Items/Door/doorClosed.visible = false
|
|
||||||
$YSort/Items/Door/doorOpened.visible = true
|
|
||||||
$DoorCollision.layers = 5
|
|
||||||
|
|
||||||
|
if gems == 0:
|
||||||
|
$YSort/Items/Door/doorClosed.visible = false
|
||||||
|
$YSort/Items/Door/doorOpened.visible = true
|
||||||
|
$DoorCollision.layers = 5
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_NextArea_area_entered(area: Area2D) -> void:
|
func _on_NextArea_area_entered(area: Area2D) -> void:
|
||||||
if area.get_parent().name == 'Player':
|
if area.get_parent().name == 'Player':
|
||||||
$YSort/Player.position.x = 195
|
$YSort/Player.position.x = 195
|
||||||
$YSort/Player.position.y = -335
|
$YSort/Player.position.y = -335
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_Demon_Boss_demon_boss_death() -> void:
|
func _on_Demon_Boss_demon_boss_death() -> void:
|
||||||
get_tree().change_scene('res://GUI/Level Complete.tscn')
|
get_tree().change_scene('res://GUI/Level Complete.tscn')
|
||||||
queue_free()
|
queue_free()
|
||||||
|
@@ -2,5 +2,26 @@ extends Node2D
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$YSort/Player.load_hud($HUD)
|
$YSort/Player.load_hud($HUD)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_activate_boss_teleporter_body_entered(body: Node) -> void:
|
||||||
|
$'Interactables/Boss Teleporter'.set_deferred('visible', true)
|
||||||
|
$'Interactables/Activate Boss Teleporter'.call_deferred('queue_free')
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_eyeball_boss_death() -> void:
|
||||||
|
$YSort/Enemies.call_deferred('queue_free')
|
||||||
|
$Lights.call_deferred('queue_free')
|
||||||
|
$Darkness.set_visible(false)
|
||||||
|
$Ending.start()
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func _on_ending_timeout():
|
||||||
|
if get_tree().change_scene('res://GUI/Level Complete.tscn') != OK:
|
||||||
|
print('ERROR: Level 5 failed to change scene to Level Complete.')
|
||||||
|
queue_free()
|
||||||
|
return
|
||||||
|
@@ -37,9 +37,9 @@ func _on_shoot_timeout():
|
|||||||
shoot_array = rotated_shoot_directions
|
shoot_array = rotated_shoot_directions
|
||||||
|
|
||||||
for itr in shoot_array:
|
for itr in shoot_array:
|
||||||
var projectile: Node = glowing_fireball.instance()
|
var projectile: Node = glowing_fireball.instance()
|
||||||
projectile.init(center, itr)
|
projectile.init(center, itr)
|
||||||
get_tree().get_current_scene().get_node('Projectiles').add_child(projectile)
|
get_tree().get_current_scene().get_node('Projectiles').add_child(projectile)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
96
Main.gd
@@ -7,76 +7,76 @@ export var hub_world_path: String
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
randomize()
|
randomize()
|
||||||
var splash_screen: Node = play_splash_screen()
|
var splash_screen: Node = play_splash_screen()
|
||||||
yield(splash_screen, 'complete')
|
yield(splash_screen, 'complete')
|
||||||
splash_screen = null
|
splash_screen = null
|
||||||
|
|
||||||
var main_menu: Node = play_main_menu()
|
var main_menu: Node = play_main_menu()
|
||||||
yield(main_menu, 'complete')
|
yield(main_menu, 'complete')
|
||||||
free_connected_node(main_menu, 'main_menu_option')
|
free_connected_node(main_menu, 'main_menu_option')
|
||||||
main_menu = null
|
main_menu = null
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func play_splash_screen() -> Node:
|
func play_splash_screen() -> Node:
|
||||||
var splash_screen: Node = load(splash_screen_path).instance()
|
var splash_screen: Node = load(splash_screen_path).instance()
|
||||||
if splash_screen.connect('complete', self, 'free_connected_node',
|
if splash_screen.connect('complete', self, 'free_connected_node',
|
||||||
[splash_screen, 'free_connected_node']) != OK:
|
[splash_screen, 'free_connected_node']) != OK:
|
||||||
print('ERROR: Splash Screen "complete" signal already connected.')
|
print('ERROR: Splash Screen "complete" signal already connected.')
|
||||||
|
|
||||||
add_child(splash_screen)
|
add_child(splash_screen)
|
||||||
return splash_screen
|
return splash_screen
|
||||||
|
|
||||||
|
|
||||||
func play_main_menu() -> Node:
|
func play_main_menu() -> Node:
|
||||||
var main_menu: Node = load(main_menu_path).instance()
|
var main_menu: Node = load(main_menu_path).instance()
|
||||||
if main_menu.connect('complete', self, 'main_menu_option') != OK:
|
if main_menu.connect('complete', self, 'main_menu_option') != OK:
|
||||||
print('ERROR: Main Menu "complete" signal already connected.')
|
print('ERROR: Main Menu "complete" signal already connected.')
|
||||||
|
|
||||||
add_child(main_menu)
|
add_child(main_menu)
|
||||||
return main_menu
|
return main_menu
|
||||||
|
|
||||||
|
|
||||||
func main_menu_option(option: String) -> void:
|
func main_menu_option(option: String) -> void:
|
||||||
if option == 'new game':
|
if option == 'new game':
|
||||||
if get_tree().change_scene(hub_world_path) != OK:
|
if get_tree().change_scene(hub_world_path) != OK:
|
||||||
print('ERROR: Main failed to change scene to Hub World.')
|
print('ERROR: Main failed to change scene to Hub World.')
|
||||||
queue_free()
|
queue_free()
|
||||||
#var level_select_menu: Node = play_level_select_menu()
|
#var level_select_menu: Node = play_level_select_menu()
|
||||||
#yield(level_select_menu, 'complete')
|
#yield(level_select_menu, 'complete')
|
||||||
#free_connected_node(level_select_menu, 'level_select_menu_option')
|
#free_connected_node(level_select_menu, 'level_select_menu_option')
|
||||||
#level_select_menu = null
|
#level_select_menu = null
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func play_level_select_menu() -> Node:
|
func play_level_select_menu() -> Node:
|
||||||
var level_select_menu: Node = load(level_select_menu_path).instance()
|
var level_select_menu: Node = load(level_select_menu_path).instance()
|
||||||
if level_select_menu.connect('complete', self, 'level_select_menu_option') != OK:
|
if level_select_menu.connect('complete', self, 'level_select_menu_option') != OK:
|
||||||
print('ERROR: Level Select Menu "complete" signal already connected.')
|
print('ERROR: Level Select Menu "complete" signal already connected.')
|
||||||
|
|
||||||
add_child(level_select_menu)
|
add_child(level_select_menu)
|
||||||
return level_select_menu
|
return level_select_menu
|
||||||
|
|
||||||
|
|
||||||
func level_select_menu_option(option: String) -> void:
|
func level_select_menu_option(option: String) -> void:
|
||||||
var level: String = 'res://Levels/'
|
var level: String = 'res://Levels/'
|
||||||
if option == 'H':
|
if option == 'H':
|
||||||
level += 'Hub World.tscn'
|
level += 'Hub World.tscn'
|
||||||
else:
|
else:
|
||||||
level += 'Level ' + option + '.tscn'
|
level += 'Level ' + option + '.tscn'
|
||||||
|
|
||||||
new_game(level)
|
new_game(level)
|
||||||
return
|
return
|
||||||
|
|
||||||
func free_connected_node(node: Node, connected_function: String) -> void:
|
func free_connected_node(node: Node, connected_function: String) -> void:
|
||||||
node.disconnect('complete', self, connected_function)
|
node.disconnect('complete', self, connected_function)
|
||||||
node.queue_free()
|
node.queue_free()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func new_game(level: String) -> void:
|
func new_game(level: String) -> void:
|
||||||
if get_tree().change_scene(level) != OK:
|
if get_tree().change_scene(level) != OK:
|
||||||
print('ERROR: Main failed to change scene to Level.')
|
print('ERROR: Main failed to change scene to Level.')
|
||||||
queue_free()
|
queue_free()
|
||||||
return
|
return
|
||||||
|
174
Player/Player.gd
@@ -14,137 +14,137 @@ var velocity: Vector2 = Vector2.ZERO
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
set_weapon_position(Vector2(1, 0))
|
set_weapon_position(Vector2(1, 0))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
var input_vector: Vector2 = Vector2.ZERO
|
var input_vector: Vector2 = Vector2.ZERO
|
||||||
|
|
||||||
input_vector.x = Input.get_action_strength('player_right') \
|
input_vector.x = Input.get_action_strength('player_right') \
|
||||||
- Input.get_action_strength('player_left')
|
- Input.get_action_strength('player_left')
|
||||||
input_vector.y = Input.get_action_strength('player_down') \
|
input_vector.y = Input.get_action_strength('player_down') \
|
||||||
- Input.get_action_strength('player_up')
|
- Input.get_action_strength('player_up')
|
||||||
input_vector = input_vector.normalized()
|
input_vector = input_vector.normalized()
|
||||||
|
|
||||||
if input_vector != Vector2.ZERO:
|
if input_vector != Vector2.ZERO:
|
||||||
$AnimationTree.set('parameters/Idle/blend_position', input_vector)
|
$AnimationTree.set('parameters/Idle/blend_position', input_vector)
|
||||||
velocity = velocity.move_toward(input_vector * MAX_SPEED, ACCELERATION * delta)
|
velocity = velocity.move_toward(input_vector * MAX_SPEED, ACCELERATION * delta)
|
||||||
set_weapon_position(input_vector)
|
set_weapon_position(input_vector)
|
||||||
else:
|
else:
|
||||||
velocity = velocity.move_toward(Vector2.ZERO, FRICTION * delta)
|
velocity = velocity.move_toward(Vector2.ZERO, FRICTION * delta)
|
||||||
|
|
||||||
velocity = move_and_slide(velocity)
|
velocity = move_and_slide(velocity)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func load_hud(node: CanvasLayer) -> void:
|
func load_hud(node: CanvasLayer) -> void:
|
||||||
hud = node
|
hud = node
|
||||||
if hud.connect('add_currency', self, 'add_currency') != OK:
|
if hud.connect('add_currency', self, 'add_currency') != OK:
|
||||||
print('ERROR: HUD "add_currency" signal already connected.')
|
print('ERROR: HUD "add_currency" signal already connected.')
|
||||||
|
|
||||||
hud.update_health(HEALTH_SLICES[health_index])
|
hud.update_health(HEALTH_SLICES[health_index])
|
||||||
hud.update_currency($Inventory.get_currency())
|
hud.update_currency($Inventory.get_currency())
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func set_weapon_position(pos: Vector2) -> void:
|
func set_weapon_position(pos: Vector2) -> void:
|
||||||
# Facing left
|
# Facing left
|
||||||
if pos[0] < 0:
|
if pos[0] < 0:
|
||||||
$Sword.rotation_degrees = -90
|
$Sword.rotation_degrees = -90
|
||||||
$Javelin.rotation_degrees = -90
|
$Javelin.rotation_degrees = -90
|
||||||
|
|
||||||
# Facing right
|
# Facing right
|
||||||
elif pos[0] > 0:
|
elif pos[0] > 0:
|
||||||
$Sword.rotation_degrees = 90
|
$Sword.rotation_degrees = 90
|
||||||
$Javelin.rotation_degrees = 90
|
$Javelin.rotation_degrees = 90
|
||||||
|
|
||||||
# Facing up
|
# Facing up
|
||||||
elif pos[1] < 0:
|
elif pos[1] < 0:
|
||||||
$Sword.rotation_degrees = 0
|
$Sword.rotation_degrees = 0
|
||||||
$Javelin.rotation_degrees = 0
|
$Javelin.rotation_degrees = 0
|
||||||
|
|
||||||
# Facing down
|
# Facing down
|
||||||
elif pos[1] > 0:
|
elif pos[1] > 0:
|
||||||
$Sword.rotation_degrees = 180
|
$Sword.rotation_degrees = 180
|
||||||
$Javelin.rotation_degrees = 180
|
$Javelin.rotation_degrees = 180
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func add_currency(amount: int) -> void:
|
func add_currency(amount: int) -> void:
|
||||||
$Inventory.add_currency(amount)
|
$Inventory.add_currency(amount)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func has_item(item: String) -> bool:
|
func has_item(item: String) -> bool:
|
||||||
return $Inventory.contains(item)
|
return $Inventory.contains(item)
|
||||||
|
|
||||||
|
|
||||||
func add_item(item: String) -> void:
|
func add_item(item: String) -> void:
|
||||||
$Inventory.add(item)
|
$Inventory.add(item)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func remove_item(item: String) -> void:
|
func remove_item(item: String) -> void:
|
||||||
$Inventory.remove(item)
|
$Inventory.remove(item)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_Inventory_update_currency(amount: int) -> void:
|
func _on_Inventory_update_currency(amount: int) -> void:
|
||||||
hud.update_currency(amount)
|
hud.update_currency(amount)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_hitbox_area_entered(area: Area2D) -> void:
|
func _on_hitbox_area_entered(area: Area2D) -> void:
|
||||||
var hit: int = 0
|
var hit: int = 0
|
||||||
|
|
||||||
if area.is_in_group('enemy_hitbox_1') or area.is_in_group('enemy_projectile_1'):
|
if area.is_in_group('enemy_hitbox_1') or area.is_in_group('enemy_projectile_1'):
|
||||||
hit = 1
|
hit = 1
|
||||||
elif area.is_in_group('enemy_hitbox_2') or area.is_in_group('enemy_projectile_2'):
|
elif area.is_in_group('enemy_hitbox_2') or area.is_in_group('enemy_projectile_2'):
|
||||||
hit = 2
|
hit = 2
|
||||||
elif area.is_in_group('enemy_hitbox_3') or area.is_in_group('enemy_projectile_3'):
|
elif area.is_in_group('enemy_hitbox_3') or area.is_in_group('enemy_projectile_3'):
|
||||||
hit = 3
|
hit = 3
|
||||||
elif area.is_in_group('freeze'):
|
elif area.is_in_group('freeze'):
|
||||||
emit_signal('frozen')
|
emit_signal('frozen')
|
||||||
$Sprite.self_modulate = Color(0, 0.5, 1)
|
$Sprite.self_modulate = Color(0, 0.5, 1)
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
|
|
||||||
if health_index != 0:
|
if health_index != 0:
|
||||||
health_index -= hit
|
health_index -= hit
|
||||||
if health_index < 0:
|
if health_index < 0:
|
||||||
health_index = 0
|
health_index = 0
|
||||||
|
|
||||||
hud.update_health(HEALTH_SLICES[health_index])
|
hud.update_health(HEALTH_SLICES[health_index])
|
||||||
else:
|
else:
|
||||||
if get_tree().change_scene('res://GUI/Level Failed.tscn') != OK:
|
if get_tree().change_scene('res://GUI/Level Failed.tscn') != OK:
|
||||||
print('ERROR: Player failed to change scene to Level Failed.')
|
print('ERROR: Player failed to change scene to Level Failed.')
|
||||||
queue_free()
|
queue_free()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _input(event: InputEvent) -> void:
|
func _input(event: InputEvent) -> void:
|
||||||
if event.is_action_pressed('player_attack'):
|
if event.is_action_pressed('player_attack'):
|
||||||
if hud.weapon == 'sword':
|
if hud.weapon == 'sword':
|
||||||
$'Sword/Sword Animation'.play('swing')
|
$'Sword/Sword Animation'.play('swing')
|
||||||
elif hud.weapon == 'javelin':
|
elif hud.weapon == 'javelin':
|
||||||
$'Javelin/Javelin Animation'.play('swing')
|
$'Javelin/Javelin Animation'.play('swing')
|
||||||
|
|
||||||
elif event.is_action_pressed('screenshot'):
|
elif event.is_action_pressed('screenshot'):
|
||||||
var img: Image = get_viewport().get_texture().get_data()
|
var img: Image = get_viewport().get_texture().get_data()
|
||||||
yield(get_tree(), 'idle_frame')
|
yield(get_tree(), 'idle_frame')
|
||||||
yield(get_tree(), 'idle_frame')
|
yield(get_tree(), 'idle_frame')
|
||||||
|
|
||||||
img.flip_y()
|
img.flip_y()
|
||||||
|
|
||||||
var time: Dictionary = OS.get_datetime_from_unix_time(OS.get_unix_time())
|
var time: Dictionary = OS.get_datetime_from_unix_time(OS.get_unix_time())
|
||||||
var time_msecs: int = OS.get_system_time_msecs()
|
var time_msecs: int = OS.get_system_time_msecs()
|
||||||
|
|
||||||
if img.save_png('user://Screenshot_%d%d%d_%d.png' % [time.year, time.month, time.day, time_msecs]) != OK:
|
if img.save_png('user://Screenshot_%d%d%d_%d.png' % [time.year, time.month, time.day, time_msecs]) != OK:
|
||||||
print('ERROR: Failed saving screenshot.')
|
print('ERROR: Failed saving screenshot.')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
func _on_SlowTime_unfreeze() -> void:
|
func _on_SlowTime_unfreeze() -> void:
|
||||||
$Sprite.self_modulate = Color(1, 1, 1)
|
$Sprite.self_modulate = Color(1, 1, 1)
|
||||||
return
|
return
|
||||||
|
Before Width: | Height: | Size: 226 B |
Before Width: | Height: | Size: 521 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_10.png-3d59b9af344c5ab879fe8a7263fd96d1.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_10.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_10.png-3d59b9af344c5ab879fe8a7263fd96d1.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 378 B |
Before Width: | Height: | Size: 280 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_12.png-b9a482c4794e227f7d52aea3a0ee27a4.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_12.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_12.png-b9a482c4794e227f7d52aea3a0ee27a4.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 190 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_13.png-698b0658529a9a4cd6c9077842cc20e1.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_13.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_13.png-698b0658529a9a4cd6c9077842cc20e1.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 143 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_14.png-51e2672fcac7d4ac1b5fbdcbcf5eb3c5.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_14.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_14.png-51e2672fcac7d4ac1b5fbdcbcf5eb3c5.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 302 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_2.png-26ab3321c1ee3f9c908eaf3373d97d66.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_2.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_2.png-26ab3321c1ee3f9c908eaf3373d97d66.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 440 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_3.png-bebe40308d8003110ca8f5a3fb82ef4c.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_3.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_3.png-bebe40308d8003110ca8f5a3fb82ef4c.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 581 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_4.png-9fa1f979ba09632c82b6be8a2c910324.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_4.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_4.png-9fa1f979ba09632c82b6be8a2c910324.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 568 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_5.png-523c0ae7fc9fea2d935c30b82415bb55.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_5.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_5.png-523c0ae7fc9fea2d935c30b82415bb55.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 568 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_6.png-b6ea29555af0f08a1bfee67d6ae39dc1.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_6.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_6.png-b6ea29555af0f08a1bfee67d6ae39dc1.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 565 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_7.png-d8d1b68ebcae8566ec49fece5cd5b47a.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_7.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_7.png-d8d1b68ebcae8566ec49fece5cd5b47a.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 575 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_8.png-167b31f70305cabddc5146827c570b02.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_8.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_8.png-167b31f70305cabddc5146827c570b02.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 559 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/fire_column_medium_9.png-0747bbefa45c8ba83856cb9fd7f88cc1.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_9.png"
|
|
||||||
dest_files=[ "res://.import/fire_column_medium_9.png-0747bbefa45c8ba83856cb9fd7f88cc1.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 68 KiB |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/tileset_mk_16_16_nature_tileset_godot.png-12548af451801021abf344e4470ddc77.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/tileset_mk_16_16_nature_tileset_godot.png"
|
|
||||||
dest_files=[ "res://.import/tileset_mk_16_16_nature_tileset_godot.png-12548af451801021abf344e4470ddc77.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
@@ -1,281 +0,0 @@
|
|||||||
[gd_resource type="TileSet" load_steps=2 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://Sprites/Assets/tileset_mk_16_16_nature_tileset_godot.png" type="Texture" id=1]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
0/name = "tileset_mk_16_16_nature_tileset_godot.png 0"
|
|
||||||
0/texture = ExtResource( 1 )
|
|
||||||
0/tex_offset = Vector2( 0, 0 )
|
|
||||||
0/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
0/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
0/tile_mode = 1
|
|
||||||
0/autotile/bitmask_mode = 1
|
|
||||||
0/autotile/bitmask_flags = [ Vector2( 1, 0 ), 432, Vector2( 1, 1 ), 438, Vector2( 1, 2 ), 54, Vector2( 1, 3 ), 48, Vector2( 2, 0 ), 504, Vector2( 2, 1 ), 511, Vector2( 2, 2 ), 63, Vector2( 2, 3 ), 56, Vector2( 3, 0 ), 216, Vector2( 3, 1 ), 219, Vector2( 3, 2 ), 27, Vector2( 3, 3 ), 24, Vector2( 4, 0 ), 144, Vector2( 4, 1 ), 146, Vector2( 4, 2 ), 18, Vector2( 4, 3 ), 16, Vector2( 5, 0 ), 176, Vector2( 5, 1 ), 182, Vector2( 5, 2 ), 434, Vector2( 5, 3 ), 50, Vector2( 5, 4 ), 178, Vector2( 6, 0 ), 248, Vector2( 6, 1 ), 255, Vector2( 6, 2 ), 507, Vector2( 6, 3 ), 59, Vector2( 6, 4 ), 251, Vector2( 7, 0 ), 440, Vector2( 7, 1 ), 447, Vector2( 7, 2 ), 510, Vector2( 7, 3 ), 62, Vector2( 7, 4 ), 446, Vector2( 8, 0 ), 152, Vector2( 8, 1 ), 155, Vector2( 8, 2 ), 218, Vector2( 8, 3 ), 26, Vector2( 8, 4 ), 154, Vector2( 9, 0 ), 184, Vector2( 9, 1 ), 191, Vector2( 9, 2 ), 506, Vector2( 9, 3 ), 58, Vector2( 9, 4 ), 186, Vector2( 10, 0 ), 443, Vector2( 10, 1 ), 254, Vector2( 10, 2 ), 442, Vector2( 10, 3 ), 190, Vector2( 11, 2 ), 250, Vector2( 11, 3 ), 187 ]
|
|
||||||
0/autotile/icon_coordinate = Vector2( 2, 1 )
|
|
||||||
0/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
0/autotile/spacing = 0
|
|
||||||
0/autotile/occluder_map = [ ]
|
|
||||||
0/autotile/navpoly_map = [ ]
|
|
||||||
0/autotile/priority_map = [ ]
|
|
||||||
0/autotile/z_index_map = [ ]
|
|
||||||
0/occluder_offset = Vector2( 0, 0 )
|
|
||||||
0/navigation_offset = Vector2( 0, 0 )
|
|
||||||
0/shape_offset = Vector2( 0, 0 )
|
|
||||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
0/shape_one_way = false
|
|
||||||
0/shape_one_way_margin = 0.0
|
|
||||||
0/shapes = [ ]
|
|
||||||
0/z_index = 0
|
|
||||||
1/name = "tileset_mk_16_16_nature_tileset_godot.png 1"
|
|
||||||
1/texture = ExtResource( 1 )
|
|
||||||
1/tex_offset = Vector2( 0, 0 )
|
|
||||||
1/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
1/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
1/tile_mode = 1
|
|
||||||
1/autotile/bitmask_mode = 1
|
|
||||||
1/autotile/bitmask_flags = [ Vector2( 1, 6 ), 432, Vector2( 1, 7 ), 438, Vector2( 1, 8 ), 54, Vector2( 1, 9 ), 48, Vector2( 2, 6 ), 504, Vector2( 2, 7 ), 511, Vector2( 2, 8 ), 63, Vector2( 2, 9 ), 56, Vector2( 3, 6 ), 216, Vector2( 3, 7 ), 219, Vector2( 3, 8 ), 27, Vector2( 3, 9 ), 24, Vector2( 4, 6 ), 144, Vector2( 4, 7 ), 146, Vector2( 4, 8 ), 18, Vector2( 4, 9 ), 16, Vector2( 5, 6 ), 176, Vector2( 5, 7 ), 182, Vector2( 5, 8 ), 434, Vector2( 5, 9 ), 50, Vector2( 5, 10 ), 178, Vector2( 6, 6 ), 248, Vector2( 6, 7 ), 255, Vector2( 6, 8 ), 507, Vector2( 6, 9 ), 59, Vector2( 6, 10 ), 251, Vector2( 7, 6 ), 440, Vector2( 7, 7 ), 447, Vector2( 7, 8 ), 510, Vector2( 7, 9 ), 62, Vector2( 7, 10 ), 446, Vector2( 8, 6 ), 152, Vector2( 8, 7 ), 155, Vector2( 8, 8 ), 218, Vector2( 8, 9 ), 26, Vector2( 8, 10 ), 154, Vector2( 9, 6 ), 184, Vector2( 9, 7 ), 191, Vector2( 9, 8 ), 506, Vector2( 9, 9 ), 58, Vector2( 9, 10 ), 186, Vector2( 10, 6 ), 443, Vector2( 10, 7 ), 254, Vector2( 10, 8 ), 442, Vector2( 10, 9 ), 190, Vector2( 11, 8 ), 250, Vector2( 11, 9 ), 187 ]
|
|
||||||
1/autotile/icon_coordinate = Vector2( 2, 7 )
|
|
||||||
1/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
1/autotile/spacing = 0
|
|
||||||
1/autotile/occluder_map = [ ]
|
|
||||||
1/autotile/navpoly_map = [ ]
|
|
||||||
1/autotile/priority_map = [ ]
|
|
||||||
1/autotile/z_index_map = [ ]
|
|
||||||
1/occluder_offset = Vector2( 0, 0 )
|
|
||||||
1/navigation_offset = Vector2( 0, 0 )
|
|
||||||
1/shape_offset = Vector2( 0, 0 )
|
|
||||||
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
1/shape_one_way = false
|
|
||||||
1/shape_one_way_margin = 0.0
|
|
||||||
1/shapes = [ ]
|
|
||||||
1/z_index = 0
|
|
||||||
2/name = "tileset_mk_16_16_nature_tileset_godot.png 2"
|
|
||||||
2/texture = ExtResource( 1 )
|
|
||||||
2/tex_offset = Vector2( 0, 0 )
|
|
||||||
2/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
2/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
2/tile_mode = 1
|
|
||||||
2/autotile/bitmask_mode = 1
|
|
||||||
2/autotile/bitmask_flags = [ Vector2( 13, 0 ), 432, Vector2( 13, 1 ), 438, Vector2( 13, 2 ), 54, Vector2( 13, 3 ), 48, Vector2( 14, 0 ), 504, Vector2( 14, 1 ), 511, Vector2( 14, 2 ), 63, Vector2( 14, 3 ), 56, Vector2( 15, 0 ), 216, Vector2( 15, 1 ), 219, Vector2( 15, 2 ), 27, Vector2( 15, 3 ), 24, Vector2( 16, 0 ), 144, Vector2( 16, 1 ), 146, Vector2( 16, 2 ), 18, Vector2( 16, 3 ), 16, Vector2( 17, 0 ), 176, Vector2( 17, 1 ), 182, Vector2( 17, 2 ), 434, Vector2( 17, 3 ), 50, Vector2( 17, 4 ), 178, Vector2( 18, 0 ), 248, Vector2( 18, 1 ), 255, Vector2( 18, 2 ), 507, Vector2( 18, 3 ), 59, Vector2( 18, 4 ), 251, Vector2( 19, 0 ), 440, Vector2( 19, 1 ), 447, Vector2( 19, 2 ), 510, Vector2( 19, 3 ), 62, Vector2( 19, 4 ), 446, Vector2( 20, 0 ), 152, Vector2( 20, 1 ), 155, Vector2( 20, 2 ), 218, Vector2( 20, 3 ), 26, Vector2( 20, 4 ), 154, Vector2( 21, 0 ), 184, Vector2( 21, 1 ), 191, Vector2( 21, 2 ), 506, Vector2( 21, 3 ), 58, Vector2( 21, 4 ), 186, Vector2( 22, 0 ), 443, Vector2( 22, 1 ), 254, Vector2( 22, 2 ), 442, Vector2( 22, 3 ), 190, Vector2( 23, 2 ), 250, Vector2( 23, 3 ), 187 ]
|
|
||||||
2/autotile/icon_coordinate = Vector2( 14, 1 )
|
|
||||||
2/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
2/autotile/spacing = 0
|
|
||||||
2/autotile/occluder_map = [ ]
|
|
||||||
2/autotile/navpoly_map = [ ]
|
|
||||||
2/autotile/priority_map = [ ]
|
|
||||||
2/autotile/z_index_map = [ ]
|
|
||||||
2/occluder_offset = Vector2( 0, 0 )
|
|
||||||
2/navigation_offset = Vector2( 0, 0 )
|
|
||||||
2/shape_offset = Vector2( 0, 0 )
|
|
||||||
2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
2/shape_one_way = false
|
|
||||||
2/shape_one_way_margin = 0.0
|
|
||||||
2/shapes = [ ]
|
|
||||||
2/z_index = 0
|
|
||||||
3/name = "tileset_mk_16_16_nature_tileset_godot.png 3"
|
|
||||||
3/texture = ExtResource( 1 )
|
|
||||||
3/tex_offset = Vector2( 0, 0 )
|
|
||||||
3/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
3/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
3/tile_mode = 1
|
|
||||||
3/autotile/bitmask_mode = 1
|
|
||||||
3/autotile/bitmask_flags = [ Vector2( 13, 6 ), 432, Vector2( 13, 7 ), 438, Vector2( 13, 8 ), 54, Vector2( 13, 9 ), 48, Vector2( 14, 6 ), 504, Vector2( 14, 7 ), 511, Vector2( 14, 8 ), 63, Vector2( 14, 9 ), 56, Vector2( 15, 6 ), 216, Vector2( 15, 7 ), 219, Vector2( 15, 8 ), 27, Vector2( 15, 9 ), 24, Vector2( 16, 6 ), 144, Vector2( 16, 7 ), 146, Vector2( 16, 8 ), 18, Vector2( 16, 9 ), 16, Vector2( 17, 6 ), 176, Vector2( 17, 7 ), 182, Vector2( 17, 8 ), 434, Vector2( 17, 9 ), 50, Vector2( 17, 10 ), 178, Vector2( 18, 6 ), 248, Vector2( 18, 7 ), 255, Vector2( 18, 8 ), 507, Vector2( 18, 9 ), 59, Vector2( 18, 10 ), 251, Vector2( 19, 6 ), 440, Vector2( 19, 7 ), 447, Vector2( 19, 8 ), 510, Vector2( 19, 9 ), 62, Vector2( 19, 10 ), 446, Vector2( 20, 6 ), 152, Vector2( 20, 7 ), 155, Vector2( 20, 8 ), 218, Vector2( 20, 9 ), 26, Vector2( 20, 10 ), 154, Vector2( 21, 6 ), 184, Vector2( 21, 7 ), 191, Vector2( 21, 8 ), 506, Vector2( 21, 9 ), 58, Vector2( 21, 10 ), 186, Vector2( 22, 6 ), 443, Vector2( 22, 7 ), 254, Vector2( 22, 8 ), 442, Vector2( 22, 9 ), 190, Vector2( 23, 8 ), 250, Vector2( 23, 9 ), 187 ]
|
|
||||||
3/autotile/icon_coordinate = Vector2( 14, 7 )
|
|
||||||
3/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
3/autotile/spacing = 0
|
|
||||||
3/autotile/occluder_map = [ ]
|
|
||||||
3/autotile/navpoly_map = [ ]
|
|
||||||
3/autotile/priority_map = [ ]
|
|
||||||
3/autotile/z_index_map = [ ]
|
|
||||||
3/occluder_offset = Vector2( 0, 0 )
|
|
||||||
3/navigation_offset = Vector2( 0, 0 )
|
|
||||||
3/shape_offset = Vector2( 0, 0 )
|
|
||||||
3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
3/shape_one_way = false
|
|
||||||
3/shape_one_way_margin = 0.0
|
|
||||||
3/shapes = [ ]
|
|
||||||
3/z_index = 0
|
|
||||||
4/name = "tileset_mk_16_16_nature_tileset_godot.png 4"
|
|
||||||
4/texture = ExtResource( 1 )
|
|
||||||
4/tex_offset = Vector2( 0, 0 )
|
|
||||||
4/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
4/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
4/tile_mode = 1
|
|
||||||
4/autotile/bitmask_mode = 1
|
|
||||||
4/autotile/bitmask_flags = [ Vector2( 0, 14 ), 432, Vector2( 0, 15 ), 438, Vector2( 0, 16 ), 54, Vector2( 0, 17 ), 48, Vector2( 1, 14 ), 504, Vector2( 1, 15 ), 511, Vector2( 1, 16 ), 63, Vector2( 1, 17 ), 56, Vector2( 2, 14 ), 216, Vector2( 2, 15 ), 219, Vector2( 2, 16 ), 27, Vector2( 2, 17 ), 24, Vector2( 3, 14 ), 144, Vector2( 3, 15 ), 146, Vector2( 3, 16 ), 18, Vector2( 3, 17 ), 16, Vector2( 4, 14 ), 176, Vector2( 4, 15 ), 182, Vector2( 4, 16 ), 434, Vector2( 4, 17 ), 50, Vector2( 4, 18 ), 178, Vector2( 5, 14 ), 248, Vector2( 5, 15 ), 255, Vector2( 5, 16 ), 507, Vector2( 5, 17 ), 59, Vector2( 5, 18 ), 251, Vector2( 6, 14 ), 440, Vector2( 6, 15 ), 447, Vector2( 6, 16 ), 510, Vector2( 6, 17 ), 62, Vector2( 6, 18 ), 446, Vector2( 7, 14 ), 152, Vector2( 7, 15 ), 155, Vector2( 7, 16 ), 218, Vector2( 7, 17 ), 26, Vector2( 7, 18 ), 154, Vector2( 8, 14 ), 184, Vector2( 8, 15 ), 191, Vector2( 8, 16 ), 506, Vector2( 8, 17 ), 58, Vector2( 8, 18 ), 186, Vector2( 9, 14 ), 443, Vector2( 9, 15 ), 254, Vector2( 9, 16 ), 442, Vector2( 9, 17 ), 190, Vector2( 10, 16 ), 250, Vector2( 10, 17 ), 187 ]
|
|
||||||
4/autotile/icon_coordinate = Vector2( 1, 15 )
|
|
||||||
4/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
4/autotile/spacing = 0
|
|
||||||
4/autotile/occluder_map = [ ]
|
|
||||||
4/autotile/navpoly_map = [ ]
|
|
||||||
4/autotile/priority_map = [ ]
|
|
||||||
4/autotile/z_index_map = [ ]
|
|
||||||
4/occluder_offset = Vector2( 0, 0 )
|
|
||||||
4/navigation_offset = Vector2( 0, 0 )
|
|
||||||
4/shape_offset = Vector2( 0, 0 )
|
|
||||||
4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
4/shape_one_way = false
|
|
||||||
4/shape_one_way_margin = 0.0
|
|
||||||
4/shapes = [ ]
|
|
||||||
4/z_index = 0
|
|
||||||
5/name = "tileset_mk_16_16_nature_tileset_godot.png 5"
|
|
||||||
5/texture = ExtResource( 1 )
|
|
||||||
5/tex_offset = Vector2( 0, 0 )
|
|
||||||
5/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
5/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
5/tile_mode = 1
|
|
||||||
5/autotile/bitmask_mode = 1
|
|
||||||
5/autotile/bitmask_flags = [ Vector2( 0, 20 ), 432, Vector2( 0, 21 ), 438, Vector2( 0, 22 ), 54, Vector2( 0, 23 ), 48, Vector2( 1, 20 ), 504, Vector2( 1, 21 ), 511, Vector2( 1, 22 ), 63, Vector2( 1, 23 ), 56, Vector2( 2, 20 ), 216, Vector2( 2, 21 ), 219, Vector2( 2, 22 ), 27, Vector2( 2, 23 ), 24, Vector2( 3, 20 ), 144, Vector2( 3, 21 ), 146, Vector2( 3, 22 ), 18, Vector2( 3, 23 ), 16, Vector2( 4, 20 ), 176, Vector2( 4, 21 ), 182, Vector2( 4, 22 ), 434, Vector2( 4, 23 ), 50, Vector2( 4, 24 ), 178, Vector2( 5, 20 ), 248, Vector2( 5, 21 ), 255, Vector2( 5, 22 ), 507, Vector2( 5, 23 ), 59, Vector2( 5, 24 ), 251, Vector2( 6, 20 ), 440, Vector2( 6, 21 ), 447, Vector2( 6, 22 ), 510, Vector2( 6, 23 ), 62, Vector2( 6, 24 ), 446, Vector2( 7, 20 ), 152, Vector2( 7, 21 ), 155, Vector2( 7, 22 ), 218, Vector2( 7, 23 ), 26, Vector2( 7, 24 ), 154, Vector2( 8, 20 ), 184, Vector2( 8, 21 ), 191, Vector2( 8, 22 ), 506, Vector2( 8, 23 ), 58, Vector2( 8, 24 ), 186, Vector2( 9, 20 ), 443, Vector2( 9, 21 ), 254, Vector2( 9, 22 ), 442, Vector2( 9, 23 ), 190, Vector2( 10, 22 ), 250, Vector2( 10, 23 ), 187 ]
|
|
||||||
5/autotile/icon_coordinate = Vector2( 1, 21 )
|
|
||||||
5/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
5/autotile/spacing = 0
|
|
||||||
5/autotile/occluder_map = [ ]
|
|
||||||
5/autotile/navpoly_map = [ ]
|
|
||||||
5/autotile/priority_map = [ ]
|
|
||||||
5/autotile/z_index_map = [ ]
|
|
||||||
5/occluder_offset = Vector2( 0, 0 )
|
|
||||||
5/navigation_offset = Vector2( 0, 0 )
|
|
||||||
5/shape_offset = Vector2( 0, 0 )
|
|
||||||
5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
5/shape_one_way = false
|
|
||||||
5/shape_one_way_margin = 0.0
|
|
||||||
5/shapes = [ ]
|
|
||||||
5/z_index = 0
|
|
||||||
6/name = "tileset_mk_16_16_nature_tileset_godot.png 6"
|
|
||||||
6/texture = ExtResource( 1 )
|
|
||||||
6/tex_offset = Vector2( 0, 0 )
|
|
||||||
6/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
6/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
6/tile_mode = 1
|
|
||||||
6/autotile/bitmask_mode = 1
|
|
||||||
6/autotile/bitmask_flags = [ Vector2( 25, 0 ), 432, Vector2( 25, 1 ), 438, Vector2( 25, 2 ), 54, Vector2( 25, 3 ), 48, Vector2( 26, 0 ), 504, Vector2( 26, 1 ), 511, Vector2( 26, 2 ), 63, Vector2( 26, 3 ), 56, Vector2( 27, 0 ), 216, Vector2( 27, 1 ), 219, Vector2( 27, 2 ), 27, Vector2( 27, 3 ), 24, Vector2( 28, 0 ), 144, Vector2( 28, 1 ), 146, Vector2( 28, 2 ), 18, Vector2( 28, 3 ), 16, Vector2( 29, 0 ), 176, Vector2( 29, 1 ), 182, Vector2( 29, 2 ), 434, Vector2( 29, 3 ), 50, Vector2( 29, 4 ), 178, Vector2( 30, 0 ), 248, Vector2( 30, 1 ), 255, Vector2( 30, 2 ), 507, Vector2( 30, 3 ), 59, Vector2( 30, 4 ), 251, Vector2( 31, 0 ), 440, Vector2( 31, 1 ), 447, Vector2( 31, 2 ), 510, Vector2( 31, 3 ), 62, Vector2( 31, 4 ), 446, Vector2( 32, 0 ), 152, Vector2( 32, 1 ), 155, Vector2( 32, 2 ), 218, Vector2( 32, 3 ), 26, Vector2( 32, 4 ), 154, Vector2( 33, 0 ), 184, Vector2( 33, 1 ), 191, Vector2( 33, 2 ), 506, Vector2( 33, 3 ), 58, Vector2( 33, 4 ), 186, Vector2( 34, 0 ), 443, Vector2( 34, 1 ), 254, Vector2( 34, 2 ), 442, Vector2( 34, 3 ), 190, Vector2( 35, 2 ), 250, Vector2( 35, 3 ), 187 ]
|
|
||||||
6/autotile/icon_coordinate = Vector2( 26, 1 )
|
|
||||||
6/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
6/autotile/spacing = 0
|
|
||||||
6/autotile/occluder_map = [ ]
|
|
||||||
6/autotile/navpoly_map = [ ]
|
|
||||||
6/autotile/priority_map = [ ]
|
|
||||||
6/autotile/z_index_map = [ ]
|
|
||||||
6/occluder_offset = Vector2( 0, 0 )
|
|
||||||
6/navigation_offset = Vector2( 0, 0 )
|
|
||||||
6/shape_offset = Vector2( 0, 0 )
|
|
||||||
6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
6/shape_one_way = false
|
|
||||||
6/shape_one_way_margin = 0.0
|
|
||||||
6/shapes = [ ]
|
|
||||||
6/z_index = 0
|
|
||||||
7/name = "tileset_mk_16_16_nature_tileset_godot.png 7"
|
|
||||||
7/texture = ExtResource( 1 )
|
|
||||||
7/tex_offset = Vector2( 0, 0 )
|
|
||||||
7/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
7/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
7/tile_mode = 1
|
|
||||||
7/autotile/bitmask_mode = 1
|
|
||||||
7/autotile/bitmask_flags = [ Vector2( 25, 6 ), 432, Vector2( 25, 7 ), 438, Vector2( 25, 8 ), 54, Vector2( 25, 9 ), 48, Vector2( 26, 6 ), 504, Vector2( 26, 7 ), 511, Vector2( 26, 8 ), 63, Vector2( 26, 9 ), 56, Vector2( 27, 6 ), 216, Vector2( 27, 7 ), 219, Vector2( 27, 8 ), 27, Vector2( 27, 9 ), 24, Vector2( 28, 6 ), 144, Vector2( 28, 7 ), 146, Vector2( 28, 8 ), 18, Vector2( 28, 9 ), 16, Vector2( 29, 6 ), 176, Vector2( 29, 7 ), 182, Vector2( 29, 8 ), 434, Vector2( 29, 9 ), 50, Vector2( 29, 10 ), 178, Vector2( 30, 6 ), 248, Vector2( 30, 7 ), 255, Vector2( 30, 8 ), 507, Vector2( 30, 9 ), 59, Vector2( 30, 10 ), 251, Vector2( 31, 6 ), 440, Vector2( 31, 7 ), 447, Vector2( 31, 8 ), 510, Vector2( 31, 9 ), 62, Vector2( 31, 10 ), 446, Vector2( 32, 6 ), 152, Vector2( 32, 7 ), 155, Vector2( 32, 8 ), 218, Vector2( 32, 9 ), 26, Vector2( 32, 10 ), 154, Vector2( 33, 6 ), 184, Vector2( 33, 7 ), 191, Vector2( 33, 8 ), 506, Vector2( 33, 9 ), 58, Vector2( 33, 10 ), 186, Vector2( 34, 6 ), 443, Vector2( 34, 7 ), 254, Vector2( 34, 8 ), 442, Vector2( 34, 9 ), 190, Vector2( 35, 8 ), 250, Vector2( 35, 9 ), 187 ]
|
|
||||||
7/autotile/icon_coordinate = Vector2( 26, 7 )
|
|
||||||
7/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
7/autotile/spacing = 0
|
|
||||||
7/autotile/occluder_map = [ ]
|
|
||||||
7/autotile/navpoly_map = [ ]
|
|
||||||
7/autotile/priority_map = [ ]
|
|
||||||
7/autotile/z_index_map = [ ]
|
|
||||||
7/occluder_offset = Vector2( 0, 0 )
|
|
||||||
7/navigation_offset = Vector2( 0, 0 )
|
|
||||||
7/shape_offset = Vector2( 0, 0 )
|
|
||||||
7/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
7/shape_one_way = false
|
|
||||||
7/shape_one_way_margin = 0.0
|
|
||||||
7/shapes = [ ]
|
|
||||||
7/z_index = 0
|
|
||||||
8/name = "tileset_mk_16_16_nature_tileset_godot.png 8"
|
|
||||||
8/texture = ExtResource( 1 )
|
|
||||||
8/tex_offset = Vector2( 0, 0 )
|
|
||||||
8/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
8/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
8/tile_mode = 1
|
|
||||||
8/autotile/bitmask_mode = 1
|
|
||||||
8/autotile/bitmask_flags = [ Vector2( 37, 0 ), 432, Vector2( 37, 1 ), 438, Vector2( 37, 2 ), 54, Vector2( 37, 3 ), 48, Vector2( 38, 0 ), 504, Vector2( 38, 1 ), 511, Vector2( 38, 2 ), 63, Vector2( 38, 3 ), 56, Vector2( 39, 0 ), 216, Vector2( 39, 1 ), 219, Vector2( 39, 2 ), 27, Vector2( 39, 3 ), 24, Vector2( 40, 0 ), 144, Vector2( 40, 1 ), 146, Vector2( 40, 2 ), 18, Vector2( 40, 3 ), 16, Vector2( 41, 0 ), 176, Vector2( 41, 1 ), 182, Vector2( 41, 2 ), 434, Vector2( 41, 3 ), 50, Vector2( 41, 4 ), 178, Vector2( 42, 0 ), 248, Vector2( 42, 1 ), 255, Vector2( 42, 2 ), 507, Vector2( 42, 3 ), 59, Vector2( 42, 4 ), 251, Vector2( 43, 0 ), 440, Vector2( 43, 1 ), 447, Vector2( 43, 2 ), 510, Vector2( 43, 3 ), 62, Vector2( 43, 4 ), 446, Vector2( 44, 0 ), 152, Vector2( 44, 1 ), 155, Vector2( 44, 2 ), 218, Vector2( 44, 3 ), 26, Vector2( 44, 4 ), 154, Vector2( 45, 0 ), 184, Vector2( 45, 1 ), 191, Vector2( 45, 2 ), 506, Vector2( 45, 3 ), 58, Vector2( 45, 4 ), 186, Vector2( 46, 0 ), 443, Vector2( 46, 1 ), 254, Vector2( 46, 2 ), 442, Vector2( 46, 3 ), 190, Vector2( 47, 2 ), 250, Vector2( 47, 3 ), 187 ]
|
|
||||||
8/autotile/icon_coordinate = Vector2( 38, 1 )
|
|
||||||
8/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
8/autotile/spacing = 0
|
|
||||||
8/autotile/occluder_map = [ ]
|
|
||||||
8/autotile/navpoly_map = [ ]
|
|
||||||
8/autotile/priority_map = [ ]
|
|
||||||
8/autotile/z_index_map = [ ]
|
|
||||||
8/occluder_offset = Vector2( 0, 0 )
|
|
||||||
8/navigation_offset = Vector2( 0, 0 )
|
|
||||||
8/shape_offset = Vector2( 0, 0 )
|
|
||||||
8/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
8/shape_one_way = false
|
|
||||||
8/shape_one_way_margin = 0.0
|
|
||||||
8/shapes = [ ]
|
|
||||||
8/z_index = 0
|
|
||||||
9/name = "tileset_mk_16_16_nature_tileset_godot.png 9"
|
|
||||||
9/texture = ExtResource( 1 )
|
|
||||||
9/tex_offset = Vector2( 0, 0 )
|
|
||||||
9/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
9/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
9/tile_mode = 1
|
|
||||||
9/autotile/bitmask_mode = 1
|
|
||||||
9/autotile/bitmask_flags = [ Vector2( 37, 6 ), 432, Vector2( 37, 7 ), 438, Vector2( 37, 8 ), 54, Vector2( 37, 9 ), 48, Vector2( 38, 6 ), 504, Vector2( 38, 7 ), 511, Vector2( 38, 8 ), 63, Vector2( 38, 9 ), 56, Vector2( 39, 6 ), 216, Vector2( 39, 7 ), 219, Vector2( 39, 8 ), 27, Vector2( 39, 9 ), 24, Vector2( 40, 6 ), 144, Vector2( 40, 7 ), 146, Vector2( 40, 8 ), 18, Vector2( 40, 9 ), 16, Vector2( 41, 6 ), 176, Vector2( 41, 7 ), 182, Vector2( 41, 8 ), 434, Vector2( 41, 9 ), 50, Vector2( 41, 10 ), 178, Vector2( 42, 6 ), 248, Vector2( 42, 7 ), 255, Vector2( 42, 8 ), 507, Vector2( 42, 9 ), 59, Vector2( 42, 10 ), 251, Vector2( 43, 6 ), 440, Vector2( 43, 7 ), 447, Vector2( 43, 8 ), 510, Vector2( 43, 9 ), 62, Vector2( 43, 10 ), 446, Vector2( 44, 6 ), 152, Vector2( 44, 7 ), 155, Vector2( 44, 8 ), 218, Vector2( 44, 9 ), 26, Vector2( 44, 10 ), 154, Vector2( 45, 6 ), 184, Vector2( 45, 7 ), 191, Vector2( 45, 8 ), 506, Vector2( 45, 9 ), 58, Vector2( 45, 10 ), 186, Vector2( 46, 6 ), 443, Vector2( 46, 7 ), 254, Vector2( 46, 8 ), 442, Vector2( 46, 9 ), 190, Vector2( 47, 8 ), 250, Vector2( 47, 9 ), 187 ]
|
|
||||||
9/autotile/icon_coordinate = Vector2( 38, 7 )
|
|
||||||
9/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
9/autotile/spacing = 0
|
|
||||||
9/autotile/occluder_map = [ ]
|
|
||||||
9/autotile/navpoly_map = [ ]
|
|
||||||
9/autotile/priority_map = [ ]
|
|
||||||
9/autotile/z_index_map = [ ]
|
|
||||||
9/occluder_offset = Vector2( 0, 0 )
|
|
||||||
9/navigation_offset = Vector2( 0, 0 )
|
|
||||||
9/shape_offset = Vector2( 0, 0 )
|
|
||||||
9/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
9/shape_one_way = false
|
|
||||||
9/shape_one_way_margin = 0.0
|
|
||||||
9/shapes = [ ]
|
|
||||||
9/z_index = 0
|
|
||||||
10/name = "tileset_mk_16_16_nature_tileset_godot.png 10"
|
|
||||||
10/texture = ExtResource( 1 )
|
|
||||||
10/tex_offset = Vector2( 0, 0 )
|
|
||||||
10/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
10/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
10/tile_mode = 1
|
|
||||||
10/autotile/bitmask_mode = 1
|
|
||||||
10/autotile/bitmask_flags = [ Vector2( 49, 0 ), 432, Vector2( 49, 1 ), 438, Vector2( 49, 2 ), 54, Vector2( 49, 3 ), 48, Vector2( 50, 0 ), 504, Vector2( 50, 1 ), 511, Vector2( 50, 2 ), 63, Vector2( 50, 3 ), 56, Vector2( 51, 0 ), 216, Vector2( 51, 1 ), 219, Vector2( 51, 2 ), 27, Vector2( 51, 3 ), 24, Vector2( 52, 0 ), 144, Vector2( 52, 1 ), 146, Vector2( 52, 2 ), 18, Vector2( 52, 3 ), 16, Vector2( 53, 0 ), 176, Vector2( 53, 1 ), 182, Vector2( 53, 2 ), 434, Vector2( 53, 3 ), 50, Vector2( 53, 4 ), 178, Vector2( 54, 0 ), 248, Vector2( 54, 1 ), 255, Vector2( 54, 2 ), 507, Vector2( 54, 3 ), 59, Vector2( 54, 4 ), 251, Vector2( 55, 0 ), 440, Vector2( 55, 1 ), 447, Vector2( 55, 2 ), 510, Vector2( 55, 3 ), 62, Vector2( 55, 4 ), 446, Vector2( 56, 0 ), 152, Vector2( 56, 1 ), 155, Vector2( 56, 2 ), 218, Vector2( 56, 3 ), 26, Vector2( 56, 4 ), 154, Vector2( 57, 0 ), 184, Vector2( 57, 1 ), 191, Vector2( 57, 2 ), 506, Vector2( 57, 3 ), 58, Vector2( 57, 4 ), 186, Vector2( 58, 0 ), 443, Vector2( 58, 1 ), 254, Vector2( 58, 2 ), 442, Vector2( 58, 3 ), 190, Vector2( 59, 2 ), 250, Vector2( 59, 3 ), 187 ]
|
|
||||||
10/autotile/icon_coordinate = Vector2( 50, 1 )
|
|
||||||
10/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
10/autotile/spacing = 0
|
|
||||||
10/autotile/occluder_map = [ ]
|
|
||||||
10/autotile/navpoly_map = [ ]
|
|
||||||
10/autotile/priority_map = [ ]
|
|
||||||
10/autotile/z_index_map = [ ]
|
|
||||||
10/occluder_offset = Vector2( 0, 0 )
|
|
||||||
10/navigation_offset = Vector2( 0, 0 )
|
|
||||||
10/shape_offset = Vector2( 0, 0 )
|
|
||||||
10/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
10/shape_one_way = false
|
|
||||||
10/shape_one_way_margin = 0.0
|
|
||||||
10/shapes = [ ]
|
|
||||||
10/z_index = 0
|
|
||||||
11/name = "tileset_mk_16_16_nature_tileset_godot.png 11"
|
|
||||||
11/texture = ExtResource( 1 )
|
|
||||||
11/tex_offset = Vector2( 0, 0 )
|
|
||||||
11/modulate = Color( 1, 1, 1, 1 )
|
|
||||||
11/region = Rect2( 0, 0, 960, 400 )
|
|
||||||
11/tile_mode = 1
|
|
||||||
11/autotile/bitmask_mode = 1
|
|
||||||
11/autotile/bitmask_flags = [ Vector2( 49, 6 ), 432, Vector2( 49, 7 ), 438, Vector2( 49, 8 ), 54, Vector2( 49, 9 ), 48, Vector2( 50, 6 ), 504, Vector2( 50, 7 ), 511, Vector2( 50, 8 ), 63, Vector2( 50, 9 ), 56, Vector2( 51, 6 ), 216, Vector2( 51, 7 ), 219, Vector2( 51, 8 ), 27, Vector2( 51, 9 ), 24, Vector2( 52, 6 ), 144, Vector2( 52, 7 ), 146, Vector2( 52, 8 ), 18, Vector2( 52, 9 ), 16, Vector2( 53, 6 ), 176, Vector2( 53, 7 ), 182, Vector2( 53, 8 ), 434, Vector2( 53, 9 ), 50, Vector2( 53, 10 ), 178, Vector2( 54, 6 ), 248, Vector2( 54, 7 ), 255, Vector2( 54, 8 ), 507, Vector2( 54, 9 ), 59, Vector2( 54, 10 ), 251, Vector2( 55, 6 ), 440, Vector2( 55, 7 ), 447, Vector2( 55, 8 ), 510, Vector2( 55, 9 ), 62, Vector2( 55, 10 ), 446, Vector2( 56, 6 ), 152, Vector2( 56, 7 ), 155, Vector2( 56, 8 ), 218, Vector2( 56, 9 ), 26, Vector2( 56, 10 ), 154, Vector2( 57, 6 ), 184, Vector2( 57, 7 ), 191, Vector2( 57, 8 ), 506, Vector2( 57, 9 ), 58, Vector2( 57, 10 ), 186, Vector2( 58, 6 ), 443, Vector2( 58, 7 ), 254, Vector2( 58, 8 ), 442, Vector2( 58, 9 ), 190, Vector2( 59, 8 ), 250, Vector2( 59, 9 ), 187 ]
|
|
||||||
11/autotile/icon_coordinate = Vector2( 50, 7 )
|
|
||||||
11/autotile/tile_size = Vector2( 16, 16 )
|
|
||||||
11/autotile/spacing = 0
|
|
||||||
11/autotile/occluder_map = [ ]
|
|
||||||
11/autotile/navpoly_map = [ ]
|
|
||||||
11/autotile/priority_map = [ ]
|
|
||||||
11/autotile/z_index_map = [ ]
|
|
||||||
11/occluder_offset = Vector2( 0, 0 )
|
|
||||||
11/navigation_offset = Vector2( 0, 0 )
|
|
||||||
11/shape_offset = Vector2( 0, 0 )
|
|
||||||
11/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
|
||||||
11/shape_one_way = false
|
|
||||||
11/shape_one_way_margin = 0.0
|
|
||||||
11/shapes = [ ]
|
|
||||||
11/z_index = 0
|
|
Before Width: | Height: | Size: 131 B |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/transparent16x16.png-f6f9707588e3381f4a86cbf58a077ee1.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/transparent16x16.png"
|
|
||||||
dest_files=[ "res://.import/transparent16x16.png-f6f9707588e3381f4a86cbf58a077ee1.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=true
|
|
||||||
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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=true
|
|
||||||
svg/scale=1.0
|
|
BIN
Sprites/Enemies/Eyeball_Boss_Spritesheet.png
Normal file
After Width: | Height: | Size: 635 B |
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="StreamTexture"
|
type="StreamTexture"
|
||||||
path="res://.import/fire_column_medium_11.png-1796e072c315c826fad5e137829db456.stex"
|
path="res://.import/Eyeball_Boss_Spritesheet.png-68d0e69f98fe7b38c9c73f0a64d2617b.stex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_11.png"
|
source_file="res://Sprites/Enemies/Eyeball_Boss_Spritesheet.png"
|
||||||
dest_files=[ "res://.import/fire_column_medium_11.png-1796e072c315c826fad5e137829db456.stex" ]
|
dest_files=[ "res://.import/Eyeball_Boss_Spritesheet.png-68d0e69f98fe7b38c9c73f0a64d2617b.stex" ]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -18,13 +18,13 @@ compress/mode=0
|
|||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
compress/hdr_mode=0
|
compress/hdr_mode=0
|
||||||
compress/bptc_ldr=0
|
compress/bptc_ldr=0
|
||||||
compress/normal_map=0
|
compress/normal_map=2
|
||||||
flags/repeat=0
|
flags/repeat=0
|
||||||
flags/filter=false
|
flags/filter=false
|
||||||
flags/mipmaps=false
|
flags/mipmaps=false
|
||||||
flags/anisotropic=false
|
flags/anisotropic=false
|
||||||
flags/srgb=2
|
flags/srgb=0
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=false
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/HDR_as_SRGB=false
|
process/HDR_as_SRGB=false
|
||||||
process/invert_color=false
|
process/invert_color=false
|
BIN
Sprites/Enemies/Projectiles/Glowing_Blue_Fireball.png
Normal file
After Width: | Height: | Size: 149 B |
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="StreamTexture"
|
type="StreamTexture"
|
||||||
path="res://.import/fire_column_medium_1.png-48b98f9a68bfaeaf7064e879938e5cfd.stex"
|
path="res://.import/Glowing_Blue_Fireball.png-fe4975267183b98e7938f4c5e42be857.stex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://Sprites/Assets/fire_column_medium_1.png"
|
source_file="res://Sprites/Enemies/Projectiles/Glowing_Blue_Fireball.png"
|
||||||
dest_files=[ "res://.import/fire_column_medium_1.png-48b98f9a68bfaeaf7064e879938e5cfd.stex" ]
|
dest_files=[ "res://.import/Glowing_Blue_Fireball.png-fe4975267183b98e7938f4c5e42be857.stex" ]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -18,13 +18,13 @@ compress/mode=0
|
|||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
compress/hdr_mode=0
|
compress/hdr_mode=0
|
||||||
compress/bptc_ldr=0
|
compress/bptc_ldr=0
|
||||||
compress/normal_map=0
|
compress/normal_map=2
|
||||||
flags/repeat=0
|
flags/repeat=0
|
||||||
flags/filter=false
|
flags/filter=false
|
||||||
flags/mipmaps=false
|
flags/mipmaps=false
|
||||||
flags/anisotropic=false
|
flags/anisotropic=false
|
||||||
flags/srgb=2
|
flags/srgb=0
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=false
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/HDR_as_SRGB=false
|
process/HDR_as_SRGB=false
|
||||||
process/invert_color=false
|
process/invert_color=false
|
Before Width: | Height: | Size: 157 KiB |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/demon_slime_FREE_v1.0_288x160_spritesheet.png-da4c04e9c38eb5ed99cae0d2f557eb77.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Enemies/demon_slime_FREE_v1.0_288x160_spritesheet.png"
|
|
||||||
dest_files=[ "res://.import/demon_slime_FREE_v1.0_288x160_spritesheet.png-da4c04e9c38eb5ed99cae0d2f557eb77.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 4.8 KiB |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/flaming skull design.png-6cdb00fac9a58170d068889a670f71dd.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Enemies/flaming skull design.png"
|
|
||||||
dest_files=[ "res://.import/flaming skull design.png-6cdb00fac9a58170d068889a670f71dd.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.9 KiB |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/hell-hound-jump.png-fb98aad763e717154d47c9a25ba1d282.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Enemies/hell-hound-jump.png"
|
|
||||||
dest_files=[ "res://.import/hell-hound-jump.png-fb98aad763e717154d47c9a25ba1d282.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -1,35 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="StreamTexture"
|
|
||||||
path="res://.import/hell-hound-run.png-591e4b1772e53a1946fa4c0e7f6d00c7.stex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Sprites/Enemies/hell-hound-run.png"
|
|
||||||
dest_files=[ "res://.import/hell-hound-run.png-591e4b1772e53a1946fa4c0e7f6d00c7.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
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
stream=false
|
|
||||||
size_limit=0
|
|
||||||
detect_3d=false
|
|
||||||
svg/scale=1.0
|
|
BIN
Sprites/Levels/Interactables/Teleport_Pad.png
Normal file
After Width: | Height: | Size: 183 B |
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="StreamTexture"
|
type="StreamTexture"
|
||||||
path="res://.import/hell-hound-idle.png-04adabe67f632c3810ca4f6f4217166b.stex"
|
path="res://.import/Teleport_Pad.png-feb3618f49108afe681ef3b951315b02.stex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://Sprites/Enemies/hell-hound-idle.png"
|
source_file="res://Sprites/Levels/Interactables/Teleport_Pad.png"
|
||||||
dest_files=[ "res://.import/hell-hound-idle.png-04adabe67f632c3810ca4f6f4217166b.stex" ]
|
dest_files=[ "res://.import/Teleport_Pad.png-feb3618f49108afe681ef3b951315b02.stex" ]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -18,13 +18,13 @@ compress/mode=0
|
|||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
compress/hdr_mode=0
|
compress/hdr_mode=0
|
||||||
compress/bptc_ldr=0
|
compress/bptc_ldr=0
|
||||||
compress/normal_map=0
|
compress/normal_map=2
|
||||||
flags/repeat=0
|
flags/repeat=0
|
||||||
flags/filter=false
|
flags/filter=false
|
||||||
flags/mipmaps=false
|
flags/mipmaps=false
|
||||||
flags/anisotropic=false
|
flags/anisotropic=false
|
||||||
flags/srgb=2
|
flags/srgb=0
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=false
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/HDR_as_SRGB=false
|
process/HDR_as_SRGB=false
|
||||||
process/invert_color=false
|
process/invert_color=false
|