Added level 7

This commit is contained in:
2026-01-11 16:56:16 +03:00
parent b22a62a111
commit 5314aac33a
27 changed files with 1557 additions and 883 deletions
+3 -422
View File
@@ -1,423 +1,9 @@
[gd_scene load_steps=47 format=3 uid="uid://bx0luh4vdob3q"]
[gd_scene load_steps=6 format=3 uid="uid://bx0luh4vdob3q"]
[ext_resource type="Script" uid="uid://but5aeh7y1s0f" path="res://game/characters/abstract_enemy.gd" id="1_2wrno"]
[ext_resource type="Texture2D" uid="uid://drk8j57acajrq" path="res://images/characters/cultist.png" id="2_mocsw"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="2_tjvyk"]
[ext_resource type="PackedScene" uid="uid://dtxiercm8dsfm" path="res://game/characters/enemy_sprite.tscn" id="2_tjvyk"]
[ext_resource type="PackedScene" uid="uid://dpvsvsd8pcjqn" path="res://game/player_killer.tscn" id="4_vecdo"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vecdo"]
shader = ExtResource("2_tjvyk")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
[sub_resource type="AtlasTexture" id="AtlasTexture_l58xb"]
atlas = ExtResource("2_mocsw")
region = Rect2(0, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_jrclg"]
atlas = ExtResource("2_mocsw")
region = Rect2(32, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_wwwee"]
atlas = ExtResource("2_mocsw")
region = Rect2(64, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_law7y"]
atlas = ExtResource("2_mocsw")
region = Rect2(96, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hme24"]
atlas = ExtResource("2_mocsw")
region = Rect2(128, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qawtf"]
atlas = ExtResource("2_mocsw")
region = Rect2(160, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_srxh4"]
atlas = ExtResource("2_mocsw")
region = Rect2(192, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_x6npu"]
atlas = ExtResource("2_mocsw")
region = Rect2(224, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_xavx3"]
atlas = ExtResource("2_mocsw")
region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_8t4m8"]
atlas = ExtResource("2_mocsw")
region = Rect2(32, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_3seah"]
atlas = ExtResource("2_mocsw")
region = Rect2(64, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_koyeg"]
atlas = ExtResource("2_mocsw")
region = Rect2(96, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_uw3v1"]
atlas = ExtResource("2_mocsw")
region = Rect2(128, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_265lf"]
atlas = ExtResource("2_mocsw")
region = Rect2(160, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tav7c"]
atlas = ExtResource("2_mocsw")
region = Rect2(192, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0xs27"]
atlas = ExtResource("2_mocsw")
region = Rect2(224, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tjvyk"]
atlas = ExtResource("2_mocsw")
region = Rect2(128, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vecdo"]
atlas = ExtResource("2_mocsw")
region = Rect2(64, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qly8p"]
atlas = ExtResource("2_mocsw")
region = Rect2(0, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_klrad"]
atlas = ExtResource("2_mocsw")
region = Rect2(160, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_rjy0i"]
atlas = ExtResource("2_mocsw")
region = Rect2(96, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ps2ar"]
atlas = ExtResource("2_mocsw")
region = Rect2(32, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ijx3p"]
atlas = ExtResource("2_mocsw")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_nm8xp"]
atlas = ExtResource("2_mocsw")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mocsw"]
atlas = ExtResource("2_mocsw")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_y256a"]
atlas = ExtResource("2_mocsw")
region = Rect2(160, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_8wpvf"]
atlas = ExtResource("2_mocsw")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vbirv"]
atlas = ExtResource("2_mocsw")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ntvg2"]
atlas = ExtResource("2_mocsw")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ssc8d"]
atlas = ExtResource("2_mocsw")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hrljr"]
atlas = ExtResource("2_mocsw")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ng7ok"]
atlas = ExtResource("2_mocsw")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_8s45y"]
atlas = ExtResource("2_mocsw")
region = Rect2(192, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qbqct"]
atlas = ExtResource("2_mocsw")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ga5mk"]
atlas = ExtResource("2_mocsw")
region = Rect2(224, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_yu2nn"]
atlas = ExtResource("2_mocsw")
region = Rect2(224, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_g4v8m"]
atlas = ExtResource("2_mocsw")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_20lqo"]
atlas = ExtResource("2_mocsw")
region = Rect2(192, 0, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_2wrno"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_l58xb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jrclg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wwwee")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_law7y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hme24")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qawtf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_srxh4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x6npu")
}],
"loop": true,
"name": &"chase_left",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xavx3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8t4m8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3seah")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_koyeg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uw3v1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_265lf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tav7c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0xs27")
}],
"loop": true,
"name": &"chase_right",
"speed": 20.0
}, {
"frames": [{
"duration": 10.0,
"texture": SubResource("AtlasTexture_tjvyk")
}],
"loop": true,
"name": &"fall_down",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_vecdo")
}],
"loop": true,
"name": &"fall_down_left",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_qly8p")
}],
"loop": true,
"name": &"fall_down_right",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_klrad")
}],
"loop": true,
"name": &"fall_up",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_rjy0i")
}],
"loop": true,
"name": &"fall_up_left",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_ps2ar")
}],
"loop": true,
"name": &"fall_up_right",
"speed": 5.0
}, {
"frames": [{
"duration": 4.0,
"texture": SubResource("AtlasTexture_ijx3p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nm8xp")
}, {
"duration": 5.0,
"texture": SubResource("AtlasTexture_ijx3p")
}],
"loop": true,
"name": &"idle_front",
"speed": 5.0
}, {
"frames": [{
"duration": 4.0,
"texture": SubResource("AtlasTexture_mocsw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y256a")
}, {
"duration": 5.0,
"texture": SubResource("AtlasTexture_mocsw")
}],
"loop": true,
"name": &"idle_rear",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8wpvf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vbirv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ntvg2")
}],
"loop": false,
"name": &"look_around_front_1",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ssc8d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hrljr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ng7ok")
}],
"loop": false,
"name": &"look_around_front_2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8s45y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qbqct")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ga5mk")
}],
"loop": false,
"name": &"look_around_rear_1",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_yu2nn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g4v8m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_20lqo")
}],
"loop": false,
"name": &"look_around_rear_2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_l58xb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jrclg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wwwee")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_law7y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hme24")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qawtf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_srxh4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x6npu")
}],
"loop": true,
"name": &"walk_left",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xavx3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8t4m8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3seah")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_koyeg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uw3v1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_265lf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tav7c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0xs27")
}],
"loop": true,
"name": &"walk_right",
"speed": 10.0
}]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_mocsw"]
radius = 4.0
height = 28.0
@@ -429,10 +15,7 @@ size = Vector2(32, 28)
collision_layer = 0
script = ExtResource("1_2wrno")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_vecdo")
sprite_frames = SubResource("SpriteFrames_2wrno")
animation = &"idle_front"
[node name="AnimatedSprite2D" parent="." instance=ExtResource("2_tjvyk")]
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 2)
@@ -485,6 +68,4 @@ collision_mask = 0
position = Vector2(0, 2)
shape = SubResource("RectangleShape2D_vecdo")
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animation_finished"]
[connection signal="animation_looped" from="AnimatedSprite2D" to="." method="_on_animation_looped"]
[connection signal="body_entered" from="PlayerTouchArea" to="." method="_on_player_touch_area_entered"]
+3 -14
View File
@@ -1,19 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://cutjutvd8dqqc"]
[gd_scene load_steps=4 format=3 uid="uid://cutjutvd8dqqc"]
[ext_resource type="PackedScene" uid="uid://d37eyum03h83i" path="res://game/characters/abstract_color_enemy.tscn" id="1_gj2ks"]
[ext_resource type="Script" uid="uid://c2knsjcp6faf6" path="res://game/characters/black_enemy.gd" id="2_332ds"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="3_3jy5n"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3jy5n"]
resource_local_to_scene = true
shader = ExtResource("3_3jy5n")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = true
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
[ext_resource type="Material" uid="uid://dggr8t4b30e3n" path="res://game/materials/enemy_black.tres" id="3_3jy5n"]
[node name="BlackEnemy" instance=ExtResource("1_gj2ks")]
collision_layer = 4
@@ -21,7 +10,7 @@ collision_mask = 3
script = ExtResource("2_332ds")
[node name="AnimatedSprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_3jy5n")
material = ExtResource("3_3jy5n")
[node name="CollisionSwitcher" parent="." index="2"]
initial_state = 0
+455
View File
@@ -0,0 +1,455 @@
[gd_scene load_steps=47 format=3 uid="uid://dtxiercm8dsfm"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_b6aoy"]
[ext_resource type="Texture2D" uid="uid://drk8j57acajrq" path="res://images/characters/cultist.png" id="2_yjsd7"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vecdo"]
shader = ExtResource("1_b6aoy")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
[sub_resource type="AtlasTexture" id="AtlasTexture_l58xb"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_jrclg"]
atlas = ExtResource("2_yjsd7")
region = Rect2(32, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_wwwee"]
atlas = ExtResource("2_yjsd7")
region = Rect2(64, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_law7y"]
atlas = ExtResource("2_yjsd7")
region = Rect2(96, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hme24"]
atlas = ExtResource("2_yjsd7")
region = Rect2(128, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qawtf"]
atlas = ExtResource("2_yjsd7")
region = Rect2(160, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_srxh4"]
atlas = ExtResource("2_yjsd7")
region = Rect2(192, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_x6npu"]
atlas = ExtResource("2_yjsd7")
region = Rect2(224, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_xavx3"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_8t4m8"]
atlas = ExtResource("2_yjsd7")
region = Rect2(32, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_3seah"]
atlas = ExtResource("2_yjsd7")
region = Rect2(64, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_koyeg"]
atlas = ExtResource("2_yjsd7")
region = Rect2(96, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_uw3v1"]
atlas = ExtResource("2_yjsd7")
region = Rect2(128, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_265lf"]
atlas = ExtResource("2_yjsd7")
region = Rect2(160, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tav7c"]
atlas = ExtResource("2_yjsd7")
region = Rect2(192, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0xs27"]
atlas = ExtResource("2_yjsd7")
region = Rect2(224, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tjvyk"]
atlas = ExtResource("2_yjsd7")
region = Rect2(128, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vecdo"]
atlas = ExtResource("2_yjsd7")
region = Rect2(64, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qly8p"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_klrad"]
atlas = ExtResource("2_yjsd7")
region = Rect2(160, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_rjy0i"]
atlas = ExtResource("2_yjsd7")
region = Rect2(96, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ps2ar"]
atlas = ExtResource("2_yjsd7")
region = Rect2(32, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ijx3p"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_nm8xp"]
atlas = ExtResource("2_yjsd7")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mocsw"]
atlas = ExtResource("2_yjsd7")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_y256a"]
atlas = ExtResource("2_yjsd7")
region = Rect2(160, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_yjsd7"]
atlas = ExtResource("2_yjsd7")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_b6aoy"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_voddl"]
atlas = ExtResource("2_yjsd7")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_soo8x"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_8wpvf"]
atlas = ExtResource("2_yjsd7")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vbirv"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ntvg2"]
atlas = ExtResource("2_yjsd7")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ssc8d"]
atlas = ExtResource("2_yjsd7")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hrljr"]
atlas = ExtResource("2_yjsd7")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ng7ok"]
atlas = ExtResource("2_yjsd7")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_8s45y"]
atlas = ExtResource("2_yjsd7")
region = Rect2(192, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qbqct"]
atlas = ExtResource("2_yjsd7")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ga5mk"]
atlas = ExtResource("2_yjsd7")
region = Rect2(224, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_yu2nn"]
atlas = ExtResource("2_yjsd7")
region = Rect2(224, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_g4v8m"]
atlas = ExtResource("2_yjsd7")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_20lqo"]
atlas = ExtResource("2_yjsd7")
region = Rect2(192, 0, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_2wrno"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_l58xb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jrclg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wwwee")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_law7y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hme24")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qawtf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_srxh4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x6npu")
}],
"loop": true,
"name": &"chase_left",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xavx3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8t4m8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3seah")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_koyeg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uw3v1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_265lf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tav7c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0xs27")
}],
"loop": true,
"name": &"chase_right",
"speed": 20.0
}, {
"frames": [{
"duration": 10.0,
"texture": SubResource("AtlasTexture_tjvyk")
}],
"loop": true,
"name": &"fall_down",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_vecdo")
}],
"loop": true,
"name": &"fall_down_left",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_qly8p")
}],
"loop": true,
"name": &"fall_down_right",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_klrad")
}],
"loop": true,
"name": &"fall_up",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_rjy0i")
}],
"loop": true,
"name": &"fall_up_left",
"speed": 5.0
}, {
"frames": [{
"duration": 5.0,
"texture": SubResource("AtlasTexture_ps2ar")
}],
"loop": true,
"name": &"fall_up_right",
"speed": 5.0
}, {
"frames": [{
"duration": 4.0,
"texture": SubResource("AtlasTexture_ijx3p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nm8xp")
}, {
"duration": 5.0,
"texture": SubResource("AtlasTexture_ijx3p")
}],
"loop": true,
"name": &"idle_front",
"speed": 5.0
}, {
"frames": [{
"duration": 4.0,
"texture": SubResource("AtlasTexture_mocsw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y256a")
}, {
"duration": 5.0,
"texture": SubResource("AtlasTexture_mocsw")
}],
"loop": true,
"name": &"idle_rear",
"speed": 5.0
}, {
"frames": [{
"duration": 3.0,
"texture": SubResource("AtlasTexture_yjsd7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b6aoy")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_voddl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_soo8x")
}],
"loop": true,
"name": &"look_around",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8wpvf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vbirv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ntvg2")
}],
"loop": false,
"name": &"look_around_front_1",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ssc8d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hrljr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ng7ok")
}],
"loop": false,
"name": &"look_around_front_2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8s45y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qbqct")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ga5mk")
}],
"loop": false,
"name": &"look_around_rear_1",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_yu2nn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g4v8m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_20lqo")
}],
"loop": false,
"name": &"look_around_rear_2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_l58xb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jrclg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wwwee")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_law7y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hme24")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qawtf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_srxh4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x6npu")
}],
"loop": true,
"name": &"walk_left",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xavx3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8t4m8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3seah")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_koyeg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uw3v1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_265lf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tav7c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0xs27")
}],
"loop": true,
"name": &"walk_right",
"speed": 10.0
}]
[node name="AnimatedSprite2D" type="AnimatedSprite2D"]
material = SubResource("ShaderMaterial_vecdo")
sprite_frames = SubResource("SpriteFrames_2wrno")
animation = &"look_around"
+3 -13
View File
@@ -1,18 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://cb0w6mt8g4mer"]
[gd_scene load_steps=4 format=3 uid="uid://cb0w6mt8g4mer"]
[ext_resource type="PackedScene" uid="uid://bx0luh4vdob3q" path="res://game/characters/abstract_enemy.tscn" id="1_q3s46"]
[ext_resource type="Script" uid="uid://cern5veiqkrkc" path="res://game/characters/gray_enemy.gd" id="2_olede"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="3_ho47d"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hsdrn"]
shader = ExtResource("3_ho47d")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 0.70000003325
shader_parameter/scale = 20.0
[ext_resource type="Material" uid="uid://dbkn3k0batj5w" path="res://game/materials/enemy_gray.tres" id="3_ho47d"]
[node name="GrayEnemy" instance=ExtResource("1_q3s46")]
collision_layer = 16
@@ -20,7 +10,7 @@ collision_mask = 35
script = ExtResource("2_olede")
[node name="AnimatedSprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_hsdrn")
material = ExtResource("3_ho47d")
[node name="LeftWallRay" parent="WallCheck" index="0"]
collision_mask = 35
+3 -404
View File
@@ -1,403 +1,8 @@
[gd_scene load_steps=53 format=3 uid="uid://dtcad8tdx78tg"]
[gd_scene load_steps=5 format=3 uid="uid://dtcad8tdx78tg"]
[ext_resource type="Script" uid="uid://bb8kc32sggrn2" path="res://game/characters/player.gd" id="1_xln5q"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="2_i05k5"]
[ext_resource type="PackedScene" uid="uid://5qlocc0yu8ug" path="res://game/collision_switcher.tscn" id="2_j06tb"]
[ext_resource type="Texture2D" uid="uid://bjccaucrio6ht" path="res://images/characters/player.png" id="2_n6ad3"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i05k5"]
shader = ExtResource("2_i05k5")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
[sub_resource type="AtlasTexture" id="AtlasTexture_v6e46"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qikhv"]
atlas = ExtResource("2_n6ad3")
region = Rect2(32, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_xtgne"]
atlas = ExtResource("2_n6ad3")
region = Rect2(64, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qvokx"]
atlas = ExtResource("2_n6ad3")
region = Rect2(96, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_cc0lq"]
atlas = ExtResource("2_n6ad3")
region = Rect2(128, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_dw7uy"]
atlas = ExtResource("2_n6ad3")
region = Rect2(160, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ecm54"]
atlas = ExtResource("2_n6ad3")
region = Rect2(192, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0l1kh"]
atlas = ExtResource("2_n6ad3")
region = Rect2(224, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_c3gpp"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_myk4l"]
atlas = ExtResource("2_n6ad3")
region = Rect2(32, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kwrpx"]
atlas = ExtResource("2_n6ad3")
region = Rect2(64, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0n461"]
atlas = ExtResource("2_n6ad3")
region = Rect2(96, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_bgbv2"]
atlas = ExtResource("2_n6ad3")
region = Rect2(128, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_h5vay"]
atlas = ExtResource("2_n6ad3")
region = Rect2(160, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_4u621"]
atlas = ExtResource("2_n6ad3")
region = Rect2(128, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tqwgk"]
atlas = ExtResource("2_n6ad3")
region = Rect2(64, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ly4f6"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_htqrf"]
atlas = ExtResource("2_n6ad3")
region = Rect2(160, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vkuli"]
atlas = ExtResource("2_n6ad3")
region = Rect2(96, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_457no"]
atlas = ExtResource("2_n6ad3")
region = Rect2(32, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_n6ad3"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_i05k5"]
atlas = ExtResource("2_n6ad3")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mrbkc"]
atlas = ExtResource("2_n6ad3")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_166ew"]
atlas = ExtResource("2_n6ad3")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kepaj"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_v8w1g"]
atlas = ExtResource("2_n6ad3")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ss7fc"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_14vf2"]
atlas = ExtResource("2_n6ad3")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_rfvyr"]
atlas = ExtResource("2_n6ad3")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_gjv0h"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_1qt2f"]
atlas = ExtResource("2_n6ad3")
region = Rect2(32, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_gdvfa"]
atlas = ExtResource("2_n6ad3")
region = Rect2(64, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mg2nh"]
atlas = ExtResource("2_n6ad3")
region = Rect2(96, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_gcjjm"]
atlas = ExtResource("2_n6ad3")
region = Rect2(128, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_e3g8f"]
atlas = ExtResource("2_n6ad3")
region = Rect2(160, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6pjby"]
atlas = ExtResource("2_n6ad3")
region = Rect2(192, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_b0cbm"]
atlas = ExtResource("2_n6ad3")
region = Rect2(224, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_dd46j"]
atlas = ExtResource("2_n6ad3")
region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_wvo82"]
atlas = ExtResource("2_n6ad3")
region = Rect2(32, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kdo6l"]
atlas = ExtResource("2_n6ad3")
region = Rect2(64, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hapb4"]
atlas = ExtResource("2_n6ad3")
region = Rect2(96, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_lof82"]
atlas = ExtResource("2_n6ad3")
region = Rect2(128, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6toyj"]
atlas = ExtResource("2_n6ad3")
region = Rect2(160, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_2eclv"]
atlas = ExtResource("2_n6ad3")
region = Rect2(192, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ojxu4"]
atlas = ExtResource("2_n6ad3")
region = Rect2(224, 32, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_v8w1g"]
animations = [{
"frames": [{
"duration": 2.0,
"texture": SubResource("AtlasTexture_v6e46")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_qikhv")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_xtgne")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_qvokx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cc0lq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dw7uy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ecm54")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0l1kh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c3gpp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_myk4l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kwrpx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0n461")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bgbv2")
}, {
"duration": 5.0,
"texture": SubResource("AtlasTexture_h5vay")
}],
"loop": false,
"name": &"death",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_4u621")
}],
"loop": true,
"name": &"fall_down",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_tqwgk")
}],
"loop": true,
"name": &"fall_down_left",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ly4f6")
}],
"loop": true,
"name": &"fall_down_right",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_htqrf")
}],
"loop": true,
"name": &"fall_up",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_vkuli")
}],
"loop": true,
"name": &"fall_up_left",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_457no")
}],
"loop": true,
"name": &"fall_up_right",
"speed": 5.0
}, {
"frames": [{
"duration": 3.0,
"texture": SubResource("AtlasTexture_n6ad3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i05k5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mrbkc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_166ew")
}, {
"duration": 4.0,
"texture": SubResource("AtlasTexture_kepaj")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 2.0,
"texture": SubResource("AtlasTexture_v8w1g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ss7fc")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_14vf2")
}],
"loop": false,
"name": &"look_around_1",
"speed": 5.0
}, {
"frames": [{
"duration": 2.0,
"texture": SubResource("AtlasTexture_rfvyr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ss7fc")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_v8w1g")
}],
"loop": false,
"name": &"look_around_2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_gjv0h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1qt2f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gdvfa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mg2nh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gcjjm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e3g8f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6pjby")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b0cbm")
}],
"loop": true,
"name": &"walk_left",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_dd46j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wvo82")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kdo6l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hapb4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lof82")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6toyj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2eclv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ojxu4")
}],
"loop": true,
"name": &"walk_right",
"speed": 20.0
}]
[ext_resource type="PackedScene" uid="uid://cvx6akiplg21s" path="res://game/characters/player_sprite.tscn" id="2_n6ad3"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_xln5q"]
radius = 4.0
@@ -407,10 +12,7 @@ collision_layer = 128
collision_mask = 113
script = ExtResource("1_xln5q")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
material = SubResource("ShaderMaterial_i05k5")
sprite_frames = SubResource("SpriteFrames_v8w1g")
animation = &"idle"
[node name="AnimatedSprite2D" parent="." instance=ExtResource("2_n6ad3")]
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 1)
@@ -432,6 +34,3 @@ one_shot = true
[node name="CoyoteTimeTimer" type="Timer" parent="."]
wait_time = 0.1
one_shot = true
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animation_finished"]
[connection signal="animation_looped" from="AnimatedSprite2D" to="." method="_on_animation_looped"]
+432
View File
@@ -0,0 +1,432 @@
[gd_scene load_steps=53 format=3 uid="uid://cvx6akiplg21s"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_57ht8"]
[ext_resource type="Texture2D" uid="uid://bjccaucrio6ht" path="res://images/characters/player.png" id="2_mi53p"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i05k5"]
shader = ExtResource("1_57ht8")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
[sub_resource type="AtlasTexture" id="AtlasTexture_v6e46"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qikhv"]
atlas = ExtResource("2_mi53p")
region = Rect2(32, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_xtgne"]
atlas = ExtResource("2_mi53p")
region = Rect2(64, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qvokx"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_cc0lq"]
atlas = ExtResource("2_mi53p")
region = Rect2(128, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_dw7uy"]
atlas = ExtResource("2_mi53p")
region = Rect2(160, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ecm54"]
atlas = ExtResource("2_mi53p")
region = Rect2(192, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0l1kh"]
atlas = ExtResource("2_mi53p")
region = Rect2(224, 128, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_c3gpp"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_myk4l"]
atlas = ExtResource("2_mi53p")
region = Rect2(32, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kwrpx"]
atlas = ExtResource("2_mi53p")
region = Rect2(64, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_0n461"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_bgbv2"]
atlas = ExtResource("2_mi53p")
region = Rect2(128, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_h5vay"]
atlas = ExtResource("2_mi53p")
region = Rect2(160, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_4u621"]
atlas = ExtResource("2_mi53p")
region = Rect2(128, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_tqwgk"]
atlas = ExtResource("2_mi53p")
region = Rect2(64, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ly4f6"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_htqrf"]
atlas = ExtResource("2_mi53p")
region = Rect2(160, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vkuli"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_457no"]
atlas = ExtResource("2_mi53p")
region = Rect2(32, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_n6ad3"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_i05k5"]
atlas = ExtResource("2_mi53p")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mrbkc"]
atlas = ExtResource("2_mi53p")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_166ew"]
atlas = ExtResource("2_mi53p")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kepaj"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mi53p"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_57ht8"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vfr3e"]
atlas = ExtResource("2_mi53p")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_v8w1g"]
atlas = ExtResource("2_mi53p")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ss7fc"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_14vf2"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_rfvyr"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_gjv0h"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_1qt2f"]
atlas = ExtResource("2_mi53p")
region = Rect2(32, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_gdvfa"]
atlas = ExtResource("2_mi53p")
region = Rect2(64, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mg2nh"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_gcjjm"]
atlas = ExtResource("2_mi53p")
region = Rect2(128, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_e3g8f"]
atlas = ExtResource("2_mi53p")
region = Rect2(160, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6pjby"]
atlas = ExtResource("2_mi53p")
region = Rect2(192, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_b0cbm"]
atlas = ExtResource("2_mi53p")
region = Rect2(224, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_dd46j"]
atlas = ExtResource("2_mi53p")
region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_wvo82"]
atlas = ExtResource("2_mi53p")
region = Rect2(32, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kdo6l"]
atlas = ExtResource("2_mi53p")
region = Rect2(64, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hapb4"]
atlas = ExtResource("2_mi53p")
region = Rect2(96, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_lof82"]
atlas = ExtResource("2_mi53p")
region = Rect2(128, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6toyj"]
atlas = ExtResource("2_mi53p")
region = Rect2(160, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_2eclv"]
atlas = ExtResource("2_mi53p")
region = Rect2(192, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ojxu4"]
atlas = ExtResource("2_mi53p")
region = Rect2(224, 32, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_v8w1g"]
animations = [{
"frames": [{
"duration": 2.0,
"texture": SubResource("AtlasTexture_v6e46")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_qikhv")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_xtgne")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_qvokx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cc0lq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dw7uy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ecm54")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0l1kh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c3gpp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_myk4l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kwrpx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0n461")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bgbv2")
}, {
"duration": 5.0,
"texture": SubResource("AtlasTexture_h5vay")
}],
"loop": false,
"name": &"death",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_4u621")
}],
"loop": true,
"name": &"fall_down",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_tqwgk")
}],
"loop": true,
"name": &"fall_down_left",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ly4f6")
}],
"loop": true,
"name": &"fall_down_right",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_htqrf")
}],
"loop": true,
"name": &"fall_up",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_vkuli")
}],
"loop": true,
"name": &"fall_up_left",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_457no")
}],
"loop": true,
"name": &"fall_up_right",
"speed": 5.0
}, {
"frames": [{
"duration": 3.0,
"texture": SubResource("AtlasTexture_n6ad3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i05k5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mrbkc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_166ew")
}, {
"duration": 4.0,
"texture": SubResource("AtlasTexture_kepaj")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 3.0,
"texture": SubResource("AtlasTexture_mi53p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_57ht8")
}, {
"duration": 3.0,
"texture": SubResource("AtlasTexture_vfr3e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_57ht8")
}],
"loop": true,
"name": &"look_around",
"speed": 5.0
}, {
"frames": [{
"duration": 2.0,
"texture": SubResource("AtlasTexture_v8w1g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ss7fc")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_14vf2")
}],
"loop": false,
"name": &"look_around_1",
"speed": 5.0
}, {
"frames": [{
"duration": 2.0,
"texture": SubResource("AtlasTexture_rfvyr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ss7fc")
}, {
"duration": 2.0,
"texture": SubResource("AtlasTexture_v8w1g")
}],
"loop": false,
"name": &"look_around_2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_gjv0h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1qt2f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gdvfa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mg2nh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gcjjm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e3g8f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6pjby")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b0cbm")
}],
"loop": true,
"name": &"walk_left",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_dd46j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wvo82")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kdo6l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hapb4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lof82")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6toyj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2eclv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ojxu4")
}],
"loop": true,
"name": &"walk_right",
"speed": 20.0
}]
[node name="AnimatedSprite2D" type="AnimatedSprite2D"]
material = SubResource("ShaderMaterial_i05k5")
sprite_frames = SubResource("SpriteFrames_v8w1g")
animation = &"look_around"
+3 -14
View File
@@ -1,19 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://bv2gahb4wxgb1"]
[gd_scene load_steps=4 format=3 uid="uid://bv2gahb4wxgb1"]
[ext_resource type="PackedScene" uid="uid://d37eyum03h83i" path="res://game/characters/abstract_color_enemy.tscn" id="1_3yi7g"]
[ext_resource type="Script" uid="uid://dmcpkytgiuedi" path="res://game/characters/white_enemy.gd" id="2_c7pdf"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="3_uj6yw"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gfhm1"]
resource_local_to_scene = true
shader = ExtResource("3_uj6yw")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
[ext_resource type="Material" uid="uid://ci7xuso12af5" path="res://game/materials/enemy_white.tres" id="3_uj6yw"]
[node name="WhiteEnemy" instance=ExtResource("1_3yi7g")]
collision_layer = 64
@@ -21,7 +10,7 @@ collision_mask = 33
script = ExtResource("2_c7pdf")
[node name="AnimatedSprite2D" parent="." index="0"]
material = SubResource("ShaderMaterial_gfhm1")
material = ExtResource("3_uj6yw")
[node name="LeftWallRay" parent="WallCheck" index="0"]
collision_mask = 33
+1 -1
View File
@@ -1,7 +1,7 @@
[gd_scene load_steps=15 format=3 uid="uid://b7mhdrj3b6loq"]
[ext_resource type="Script" uid="uid://5uqub2a6701b" path="res://game/doors/door.gd" id="1_vx1od"]
[ext_resource type="Material" uid="uid://dojhoc6ljpt1a" path="res://game/materials/gray_walls.tres" id="1_xelsh"]
[ext_resource type="Material" uid="uid://dojhoc6ljpt1a" path="res://game/materials/walls_gray.tres" id="1_xelsh"]
[ext_resource type="Texture2D" uid="uid://sfjjweantpja" path="res://images/level/doors.png" id="3_ymlcn"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cs8ri"]
+11 -8
View File
@@ -28,6 +28,16 @@ func _input(event: InputEvent) -> void:
pause_menu.show()
func _complete_level(player_position: Vector2) -> void:
SoundManager.play_sfx_stream(SoundManager.sfx_stream_level_completed, player_position)
get_tree().paused = true
completion_menu.show()
if SaveManager.completed_levels <= LevelManager.current_level_index:
SaveManager.completed_levels = LevelManager.current_level_index + 1
SaveManager.save()
func _on_player_dead() -> void:
get_tree().paused = true
game_over_menu.show()
@@ -35,11 +45,4 @@ func _on_player_dead() -> void:
func _on_level_end_entered(body: Node2D) -> void:
if body is Player:
var player_position := player.global_position
SoundManager.play_sfx_stream(SoundManager.sfx_stream_level_completed, player_position)
get_tree().paused = true
completion_menu.show()
if SaveManager.completed_levels <= LevelManager.current_level_index:
SaveManager.completed_levels = LevelManager.current_level_index + 1
SaveManager.save()
_complete_level(player.global_position)
+3 -3
View File
@@ -4,10 +4,10 @@
[ext_resource type="PackedScene" uid="uid://dtcad8tdx78tg" path="res://game/characters/player.tscn" id="2_r0ht6"]
[ext_resource type="PackedScene" uid="uid://dqu87loahl7wn" path="res://game/tiles/walls.tscn" id="3_3fw0b"]
[ext_resource type="Texture2D" uid="uid://due8mmt5ww1sf" path="res://images/level/walls.png" id="3_fnnmn"]
[ext_resource type="Material" uid="uid://dojhoc6ljpt1a" path="res://game/materials/gray_walls.tres" id="3_pi5fd"]
[ext_resource type="Material" uid="uid://d2o2o1w8kb51g" path="res://game/materials/white_walls.tres" id="5_6b8cu"]
[ext_resource type="Material" uid="uid://dojhoc6ljpt1a" path="res://game/materials/walls_gray.tres" id="3_pi5fd"]
[ext_resource type="Material" uid="uid://d2o2o1w8kb51g" path="res://game/materials/walls_white.tres" id="5_6b8cu"]
[ext_resource type="PackedScene" uid="uid://nfgx201cn4ti" path="res://game/tiles/traps.tscn" id="5_b7vts"]
[ext_resource type="Material" uid="uid://bhksbugqhxxa0" path="res://game/materials/black_walls.tres" id="6_x8k35"]
[ext_resource type="Material" uid="uid://bhksbugqhxxa0" path="res://game/materials/walls_black.tres" id="6_x8k35"]
[ext_resource type="PackedScene" uid="uid://dsts4y32slhnc" path="res://game/menu/pause_menu.tscn" id="7_l0xih"]
[ext_resource type="PackedScene" uid="uid://84lhc3yn8vub" path="res://game/menu/game_over_menu.tscn" id="8_b7vts"]
[ext_resource type="PackedScene" uid="uid://bareycqj42c6e" path="res://game/menu/completion_menu.tscn" id="11_3fw0b"]
+1 -1
View File
@@ -3,7 +3,7 @@
[ext_resource type="PackedScene" uid="uid://mpsu4g2b5h3a" path="res://game/levels/abstract_level.tscn" id="1_15okj"]
[ext_resource type="PackedScene" uid="uid://cojxqx5al7kyv" path="res://game/doors/locked_door.tscn" id="2_4ocoy"]
[ext_resource type="Texture2D" uid="uid://dfeeppi0orneg" path="res://images/level/moon.png" id="2_ia26y"]
[ext_resource type="Material" uid="uid://dojhoc6ljpt1a" path="res://game/materials/gray_walls.tres" id="2_tuvkr"]
[ext_resource type="Material" uid="uid://dojhoc6ljpt1a" path="res://game/materials/walls_gray.tres" id="2_tuvkr"]
[ext_resource type="PackedScene" uid="uid://b7mhdrj3b6loq" path="res://game/doors/door.tscn" id="3_crrvt"]
[ext_resource type="Texture2D" uid="uid://du56n63yrot7d" path="res://images/level/tree.png" id="3_o0jti"]
[ext_resource type="Texture2D" uid="uid://d3346lrt1c1oh" path="res://images/level/outdoor.png" id="3_wi6ud"]
+148
View File
@@ -0,0 +1,148 @@
extends AbstractLevel
const CUTSCENE_CAMERA_TIME = 5
const CUTSCENE_HAZE_TIME = 0.1
const CUTSCENE_HAZE_TIME_BY_PHASE : Dictionary[int, float] = {
1: CUTSCENE_HAZE_TIME,
3: CUTSCENE_HAZE_TIME,
5: CUTSCENE_HAZE_TIME,
7: CUTSCENE_HAZE_TIME,
}
var _cutscene_phase := 0
var _player_walk_speed : int
var _cutscene_player_speed_factor := 0.5
var _function_by_phase : Dictionary[int, Callable] = {
1: _do_cutscene_phase_one,
4: _do_cutscene_phase_four,
6: _do_cutscene_phase_six,
7: _do_cutscene_phase_seven,
}
@onready var cutscene_camera : Camera2D = $Cutscene/Camera2D
@onready var cutscene_haze : Polygon2D = $%CutsceneHaze
@onready var cutscene_thanks : Label = $CanvasLayer/MarginContainer/ThanksLabel
@onready var cutscene_haze_timer : Timer = $Cutscene/HazeTimer
@onready var cutscene_player_timer : Timer = $Cutscene/PlayerTimer
@onready var cutscene_enemy_timer : Timer = $Cutscene/EnemyTimer
@onready var cutscene_end_timer : Timer = $Cutscene/EndTimer
@onready var cutscene_fake_player : AnimatedSprite2D = $Cutscene/FakePlayer
@onready var cutscene_fake_enemy : AnimatedSprite2D = $Cutscene/FakeEnemy
@onready var enemy_waves_by_phase : Dictionary[int, Node2D] = {
3: $Cutscene/EnemyWaves/WaveOne,
5: $Cutscene/EnemyWaves/WaveTwo,
7: $Cutscene/EnemyWaves/WaveThree,
}
@onready var cutscene_room_center : Vector2 = $Cutscene/RoomCenter.position
@onready var PLAYER_TARGET_POSITION_BY_PHASE : Dictionary[int, Vector2] = {
1: $Cutscene/PlayerTargetPositions/PhaseOne.global_position,
2: $Cutscene/PlayerTargetPositions/PhaseTwo.global_position,
3: $Cutscene/PlayerTargetPositions/PhaseThree.global_position,
4: $Cutscene/PlayerTargetPositions/PhaseFour.global_position,
5: $Cutscene/PlayerTargetPositions/PhaseFive.global_position,
6: $Cutscene/FakeEnemy.global_position,
}
func _ready() -> void:
super._ready()
_player_walk_speed = player.max_speed
cutscene_haze.hide()
cutscene_fake_player.hide()
cutscene_fake_enemy.hide()
cutscene_thanks.hide()
for phase in enemy_waves_by_phase:
enemy_waves_by_phase[phase].hide()
func _show_cutscene_haze(time: float) -> void:
SoundManager.play_sfx_stream(SoundManager.sfx_stream_haze, cutscene_room_center)
cutscene_haze.show()
cutscene_haze_timer.start(time)
func _next_cutscene_phase() -> void:
_cutscene_phase += 1
if _function_by_phase.has(_cutscene_phase):
_function_by_phase[_cutscene_phase].call()
if CUTSCENE_HAZE_TIME_BY_PHASE.has(_cutscene_phase):
_show_cutscene_haze(CUTSCENE_HAZE_TIME_BY_PHASE[_cutscene_phase])
if enemy_waves_by_phase.has(_cutscene_phase):
enemy_waves_by_phase[_cutscene_phase].show()
if PLAYER_TARGET_POSITION_BY_PHASE.has(_cutscene_phase):
var target_pos := PLAYER_TARGET_POSITION_BY_PHASE[_cutscene_phase]
var time := _get_player_move_time(cutscene_fake_player.position, target_pos)
var tween : Tween = create_tween()
tween.tween_property(cutscene_fake_player, "position", target_pos, time)
tween.finished.connect(_next_cutscene_phase)
func _do_cutscene_phase_one() -> void:
player.queue_free()
cutscene_camera.position = player.position
cutscene_camera.enabled = true
cutscene_camera.make_current()
cutscene_fake_player.show()
cutscene_fake_player.play(Player.ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor)
var tween : Tween = create_tween()
tween.set_ease(Tween.EASE_IN_OUT)
tween.set_trans(Tween.TRANS_QUAD)
tween.tween_property(cutscene_camera, "position", cutscene_room_center, CUTSCENE_CAMERA_TIME)
func _do_cutscene_phase_four() -> void:
cutscene_fake_player.play(Player.ANIMATION_WALK_LEFT,_cutscene_player_speed_factor)
func _do_cutscene_phase_six() -> void:
_cutscene_player_speed_factor = 0.25
cutscene_fake_player.play(Player.ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor)
func _do_cutscene_phase_seven() -> void:
cutscene_fake_player.play("look_around", 0.5)
cutscene_player_timer.start()
func _get_player_move_time(initial_pos: Vector2, target_pos: Vector2) -> float:
var distance := initial_pos.distance_to(target_pos)
return distance / (_player_walk_speed * _cutscene_player_speed_factor)
func _on_level_end_entered(body: Node2D) -> void:
if body is Player:
_next_cutscene_phase()
func _on_haze_timer_timeout() -> void:
cutscene_haze.hide()
func _on_player_timer_timeout() -> void:
_show_cutscene_haze(CUTSCENE_HAZE_TIME)
cutscene_fake_player.queue_free()
cutscene_fake_enemy.show()
cutscene_fake_enemy.play("look_around", 0.5)
cutscene_enemy_timer.start()
func _on_enemy_timer_timeout() -> void:
cutscene_thanks.show()
cutscene_end_timer.start()
func _on_end_timer_timeout() -> void:
_complete_level(cutscene_room_center)
+1
View File
@@ -0,0 +1 @@
uid://lxye5wqo5suq
File diff suppressed because one or more lines are too long
+3 -2
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=8 format=3 uid="uid://b2rgtl2dyorip"]
[gd_scene load_steps=9 format=3 uid="uid://b2rgtl2dyorip"]
[ext_resource type="Script" uid="uid://w4ofprtn7lu8" path="res://game/managers/level_manager.gd" id="1_te7jw"]
[ext_resource type="PackedScene" uid="uid://dlpi1ptis3wna" path="res://game/levels/level_1.tscn" id="2_r84xe"]
@@ -7,7 +7,8 @@
[ext_resource type="PackedScene" uid="uid://cmp1cog2cbfh5" path="res://game/levels/level_4.tscn" id="5_yl05u"]
[ext_resource type="PackedScene" uid="uid://brysu1p6fw88n" path="res://game/levels/level_5.tscn" id="6_eo2u3"]
[ext_resource type="PackedScene" uid="uid://uanhjjloryf4" path="res://game/levels/level_6.tscn" id="7_da5al"]
[ext_resource type="PackedScene" uid="uid://cddh8nh54mrog" path="res://game/levels/level_7.tscn" id="8_rvthr"]
[node name="LevelManager" type="Node"]
script = ExtResource("1_te7jw")
levels = Array[PackedScene]([ExtResource("2_r84xe"), ExtResource("3_yl05u"), ExtResource("4_eo2u3"), ExtResource("5_yl05u"), ExtResource("6_eo2u3"), ExtResource("7_da5al")])
levels = Array[PackedScene]([ExtResource("2_r84xe"), ExtResource("3_yl05u"), ExtResource("4_eo2u3"), ExtResource("5_yl05u"), ExtResource("6_eo2u3"), ExtResource("7_da5al"), ExtResource("8_rvthr")])
+1
View File
@@ -30,6 +30,7 @@ const MUSIC_BUS = "Music"
@export var sfx_stream_door_locked : AudioStream
@export var sfx_stream_door_opening : AudioStream
@export var sfx_stream_door_unlocking : AudioStream
@export var sfx_stream_haze : AudioStream
@export var sfx_stream_jump : AudioStream
@export var sfx_stream_key_picked_up : AudioStream
@export var sfx_stream_level_completed : AudioStream
+3 -1
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=19 format=3 uid="uid://drk4dvbn78dva"]
[gd_scene load_steps=20 format=3 uid="uid://drk4dvbn78dva"]
[ext_resource type="Script" uid="uid://cx5qcukr66whc" path="res://game/managers/sound_manager.gd" id="1_cg0sy"]
[ext_resource type="AudioStream" uid="uid://d2suvaisb6w45" path="res://sound/ui/accept.wav" id="2_ge1il"]
@@ -16,6 +16,7 @@
[ext_resource type="AudioStream" uid="uid://txk8dq16levc" path="res://sound/sfx/key_picked_up.wav" id="8_wyfta"]
[ext_resource type="AudioStream" uid="uid://dy7qnen5k20mo" path="res://sound/sfx/player_spoted.wav" id="9_q7cyi"]
[ext_resource type="AudioStream" uid="uid://dg0t7fwu8u3m2" path="res://sound/sfx/door_unlocking.wav" id="10_lqyhh"]
[ext_resource type="AudioStream" uid="uid://capj5pjbrdpw5" path="res://sound/sfx/haze.wav" id="11_13qx5"]
[ext_resource type="AudioStream" uid="uid://ckmpft46wjgqs" path="res://sound/music/main_menu.wav" id="17_g6nb7"]
[ext_resource type="AudioStream" uid="uid://ttemdy7avyh7" path="res://sound/music/gameplay.wav" id="17_l5yxe"]
@@ -37,6 +38,7 @@ sfx_stream_door_closing = ExtResource("7_814q3")
sfx_stream_door_locked = ExtResource("8_lqyhh")
sfx_stream_door_opening = ExtResource("8_ounmg")
sfx_stream_door_unlocking = ExtResource("10_lqyhh")
sfx_stream_haze = ExtResource("11_13qx5")
sfx_stream_jump = ExtResource("6_22ptj")
sfx_stream_key_picked_up = ExtResource("8_wyfta")
sfx_stream_level_completed = ExtResource("7_22ptj")
+14
View File
@@ -0,0 +1,14 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://dggr8t4b30e3n"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_61jua"]
[resource]
resource_local_to_scene = true
shader = ExtResource("1_61jua")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = true
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
+13
View File
@@ -0,0 +1,13 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://dbkn3k0batj5w"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_b0yyf"]
[resource]
shader = ExtResource("1_b0yyf")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 0.70000003325
shader_parameter/scale = 20.0
+14
View File
@@ -0,0 +1,14 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://ci7xuso12af5"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_xngo8"]
[resource]
resource_local_to_scene = true
shader = ExtResource("1_xngo8")
shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0