innit bruv
|
@ -0,0 +1,2 @@
|
|||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
|
@ -0,0 +1,2 @@
|
|||
# Godot 4+ specific ignores
|
||||
.godot/
|
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dkmyxyvpl85g0"
|
||||
path="res://.godot/imported/Exit.wav-42d000ddbf0b6ebf79adbad52d692253.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Audio/Exit.wav"
|
||||
dest_files=["res://.godot/imported/Exit.wav-42d000ddbf0b6ebf79adbad52d692253.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cfsd1yxpufm37"
|
||||
path="res://.godot/imported/GhostCage.wav-45c5901f05c06eb9ef2b68303959329c.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Audio/GhostCage.wav"
|
||||
dest_files=["res://.godot/imported/GhostCage.wav-45c5901f05c06eb9ef2b68303959329c.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dskvseq1btvs"
|
||||
path="res://.godot/imported/GhostMove.wav-8c28f92402b9222b3e6ebaa59f53ffe8.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Audio/GhostMove.wav"
|
||||
dest_files=["res://.godot/imported/GhostMove.wav-8c28f92402b9222b3e6ebaa59f53ffe8.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://n8c3n35qsjep"
|
||||
path="res://.godot/imported/Snore.wav-5bc687a819cd5c05b79dd35641962914.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Audio/Snore.wav"
|
||||
dest_files=["res://.godot/imported/Snore.wav-5bc687a819cd5c05b79dd35641962914.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bc85ifri7xmmv"
|
||||
path="res://.godot/imported/reset.wav-36f86b6021adc185635930bd7464724c.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Audio/reset.wav"
|
||||
dest_files=["res://.godot/imported/reset.wav-36f86b6021adc185635930bd7464724c.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
|
@ -0,0 +1,120 @@
|
|||
[gd_scene load_steps=17 format=3 uid="uid://b8d22amvt6eq5"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/Cage.cs" id="1_4c405"]
|
||||
[ext_resource type="Texture2D" uid="uid://c38fo4o7uf5c3" path="res://Sprite Sheets/OoB elements.png" id="2_118wr"]
|
||||
[ext_resource type="Texture2D" uid="uid://s2cmbu5hdci" path="res://Sprite Sheets/RedElements.png" id="3_kud6c"]
|
||||
[ext_resource type="AudioStream" uid="uid://cfsd1yxpufm37" path="res://Audio/GhostCage.wav" id="4_nqwdl"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_odfan"]
|
||||
atlas = ExtResource("2_118wr")
|
||||
region = Rect2(20, 100, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_unqc5"]
|
||||
atlas = ExtResource("2_118wr")
|
||||
region = Rect2(40, 100, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1j6p8"]
|
||||
atlas = ExtResource("2_118wr")
|
||||
region = Rect2(60, 100, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tenkj"]
|
||||
atlas = ExtResource("2_118wr")
|
||||
region = Rect2(0, 100, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tnw78"]
|
||||
atlas = ExtResource("3_kud6c")
|
||||
region = Rect2(20, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_25g0x"]
|
||||
atlas = ExtResource("3_kud6c")
|
||||
region = Rect2(40, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vstcx"]
|
||||
atlas = ExtResource("3_kud6c")
|
||||
region = Rect2(60, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1kmtk"]
|
||||
atlas = ExtResource("3_kud6c")
|
||||
region = Rect2(0, 60, 20, 20)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_nv51w"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_odfan")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_unqc5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1j6p8")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Active",
|
||||
"speed": 4.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tenkj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tnw78")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_25g0x")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vstcx")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"RedActive",
|
||||
"speed": 4.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1kmtk")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"RedIdle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2xrrd"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ly7aa"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_rd330"]
|
||||
radius = 1.0
|
||||
|
||||
[node name="Cage" type="StaticBody2D" groups=["Cage", "Obsticals"]]
|
||||
script = ExtResource("1_4c405")
|
||||
|
||||
[node name="CageSprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_nv51w")
|
||||
animation = &"RedIdle"
|
||||
|
||||
[node name="CageCollision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_2xrrd")
|
||||
|
||||
[node name="Probe" type="Area2D" parent="."]
|
||||
|
||||
[node name="ProbeCollision" type="CollisionShape2D" parent="Probe"]
|
||||
shape = SubResource("RectangleShape2D_ly7aa")
|
||||
debug_color = Color(0.823529, 0, 0.964706, 0.419608)
|
||||
|
||||
[node name="Trigger" type="Area2D" parent="." groups=["Cage"]]
|
||||
|
||||
[node name="TriggerArea" type="CollisionShape2D" parent="Trigger"]
|
||||
shape = SubResource("CircleShape2D_rd330")
|
||||
debug_color = Color(1, 0.278431, 0, 0.419608)
|
||||
|
||||
[node name="GhostCaged" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("4_nqwdl")
|
||||
|
||||
[connection signal="area_entered" from="Probe" to="." method="_on_probe_area_entered"]
|
|
@ -0,0 +1,185 @@
|
|||
[gd_scene load_steps=25 format=3 uid="uid://hf82gpyeklob"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/Chloek.cs" id="1_x07mb"]
|
||||
[ext_resource type="Texture2D" uid="uid://b46im6jq0mlly" path="res://Sprite Sheets/OoBchloek.png" id="1_xfs1o"]
|
||||
[ext_resource type="AudioStream" uid="uid://bc85ifri7xmmv" path="res://Audio/reset.wav" id="5_4jtyw"]
|
||||
[ext_resource type="AudioStream" uid="uid://n8c3n35qsjep" path="res://Audio/Snore.wav" id="6_y2rkm"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fwbha"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(0, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lpsy1"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(40, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_m1rse"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(60, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8xxry"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(20, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jfd5m"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(0, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_biq41"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(0, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fhik1"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(20, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hfd2b"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(40, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hmixo"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(60, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tmruu"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(0, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i51bp"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(20, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e1v3f"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(40, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hk5jp"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(60, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bksly"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(20, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fjfwr"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(40, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8sjpi"]
|
||||
atlas = ExtResource("1_xfs1o")
|
||||
region = Rect2(0, 60, 20, 20)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_0mab5"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 0.5,
|
||||
"texture": SubResource("AtlasTexture_fwbha")
|
||||
}, {
|
||||
"duration": 4.0,
|
||||
"texture": SubResource("AtlasTexture_lpsy1")
|
||||
}, {
|
||||
"duration": 0.5,
|
||||
"texture": SubResource("AtlasTexture_m1rse")
|
||||
}, {
|
||||
"duration": 0.5,
|
||||
"texture": SubResource("AtlasTexture_8xxry")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jfd5m")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Action",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_biq41")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fhik1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hfd2b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hmixo")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Eepy",
|
||||
"speed": 0.5
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tmruu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i51bp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e1v3f")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hk5jp")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Idle",
|
||||
"speed": 1.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bksly")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fjfwr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bksly")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8sjpi")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fuxcj"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_08gyr"]
|
||||
radius = 1.0
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nebtc"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[node name="Chloek" type="StaticBody2D" groups=["Player"]]
|
||||
script = ExtResource("1_x07mb")
|
||||
|
||||
[node name="ChloekSprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_0mab5")
|
||||
animation = &"Action"
|
||||
|
||||
[node name="ChloekCollision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_fuxcj")
|
||||
|
||||
[node name="Probe" type="Area2D" parent="."]
|
||||
collision_priority = 2.0
|
||||
|
||||
[node name="ProbeCollision" type="CollisionShape2D" parent="Probe"]
|
||||
shape = SubResource("CircleShape2D_08gyr")
|
||||
debug_color = Color(0.227451, 1, 0, 0.419608)
|
||||
|
||||
[node name="ChloekArea" type="Area2D" parent="." groups=["Player"]]
|
||||
|
||||
[node name="ProbeCollision" type="CollisionShape2D" parent="ChloekArea"]
|
||||
shape = SubResource("RectangleShape2D_nebtc")
|
||||
debug_color = Color(1, 0, 0.0823529, 0.419608)
|
||||
|
||||
[node name="Reset" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("5_4jtyw")
|
||||
|
||||
[node name="Snore" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("6_y2rkm")
|
||||
|
||||
[connection signal="body_entered" from="Probe" to="." method="_on_probe_body_entered"]
|
||||
[connection signal="body_exited" from="Probe" to="." method="_on_probe_body_exited"]
|
||||
[connection signal="body_entered" from="ChloekArea" to="." method="_on_chloek_area_body_entered"]
|
|
@ -0,0 +1,187 @@
|
|||
[gd_scene load_steps=24 format=3 uid="uid://ctdil7060o2ft"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/EvilEye.cs" id="1_rs1vb"]
|
||||
[ext_resource type="Texture2D" uid="uid://c38fo4o7uf5c3" path="res://Sprite Sheets/OoB elements.png" id="2_5twu4"]
|
||||
[ext_resource type="Texture2D" uid="uid://s2cmbu5hdci" path="res://Sprite Sheets/RedElements.png" id="3_cx72f"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jbvl0"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_58np4"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(0, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yxe3q"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(20, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6my5q"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(40, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_k47nl"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(60, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5i4nk"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(0, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tvexn"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(20, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ecmlx"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(40, 20, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fmj7h"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(60, 20, 20, 20)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_idpyl"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_58np4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yxe3q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6my5q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_k47nl")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5i4nk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tvexn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ecmlx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fmj7h")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"RedIdle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_touwc"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(20, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e32cu"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(40, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bb1a6"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(60, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v623e"]
|
||||
atlas = ExtResource("2_5twu4")
|
||||
region = Rect2(0, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uh28t"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(20, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_syf28"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(40, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_c7xii"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(60, 0, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_byk38"]
|
||||
atlas = ExtResource("3_cx72f")
|
||||
region = Rect2(0, 0, 20, 20)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_sejyh"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_touwc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e32cu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bb1a6")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Active",
|
||||
"speed": 3.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v623e")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uh28t")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_syf28")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_c7xii")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"RedActive",
|
||||
"speed": 3.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_byk38")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"RedIdle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ufm3y"]
|
||||
radius = 1.0
|
||||
|
||||
[node name="EvilEye" type="StaticBody2D" groups=["Obsticals"]]
|
||||
script = ExtResource("1_rs1vb")
|
||||
|
||||
[node name="EvilEyeCollision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_jbvl0")
|
||||
debug_color = Color(0, 0.403922, 0.0784314, 0.419608)
|
||||
|
||||
[node name="EvilEyeBall" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_idpyl")
|
||||
animation = &"Idle"
|
||||
|
||||
[node name="EvilEyeLid" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_sejyh")
|
||||
animation = &"Idle"
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_ufm3y")
|
||||
debug_color = Color(1, 1, 1, 0.419608)
|
||||
|
||||
[node name="FacingProbe" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="FacingProbe"]
|
||||
shape = SubResource("CircleShape2D_ufm3y")
|
||||
debug_color = Color(1, 1, 1, 0.419608)
|
||||
|
||||
[connection signal="area_entered" from="Area2D" to="." method="_on_area_2d_area_entered"]
|
|
@ -0,0 +1,29 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://b6ox70gr6e6ej"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/Exit.cs" id="1_64j0q"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3ppe6c48t58p" path="res://Sprite Sheets/Stairs.png" id="2_wx8pc"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_73b6m"]
|
||||
atlas = ExtResource("2_wx8pc")
|
||||
region = Rect2(0, 0, 20, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1dat3"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_v03qc"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[node name="Exit" type="StaticBody2D"]
|
||||
script = ExtResource("1_64j0q")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = SubResource("AtlasTexture_73b6m")
|
||||
|
||||
[node name="ExitShape" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_1dat3")
|
||||
|
||||
[node name="ExitArea" type="Area2D" parent="."]
|
||||
|
||||
[node name="ExitAreaShape" type="CollisionShape2D" parent="ExitArea"]
|
||||
shape = SubResource("RectangleShape2D_v03qc")
|
||||
|
||||
[connection signal="area_entered" from="ExitArea" to="." method="_on_exit_area_area_entered"]
|
|
@ -0,0 +1,148 @@
|
|||
[gd_scene load_steps=19 format=3 uid="uid://crtwv7phv71wq"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/Ghost.cs" id="1_1xbhw"]
|
||||
[ext_resource type="Texture2D" uid="uid://c38fo4o7uf5c3" path="res://Sprite Sheets/OoB elements.png" id="2_cshgs"]
|
||||
[ext_resource type="AudioStream" uid="uid://dskvseq1btvs" path="res://Audio/GhostMove.wav" id="3_qcwa8"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lwyws"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(40, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u44yj"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(60, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_70m7p"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(40, 80, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f0cly"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(60, 80, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ojfnu"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(0, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_eslxr"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(20, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ar12j"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(20, 80, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_11207"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(0, 80, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_36mmi"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(20, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uilw5"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(0, 60, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fvhei"]
|
||||
atlas = ExtResource("2_cshgs")
|
||||
region = Rect2(0, 80, 20, 20)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_heqvb"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lwyws")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u44yj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 6.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_70m7p")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f0cly")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Moving",
|
||||
"speed": 11.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ojfnu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_eslxr")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Pre-Idle",
|
||||
"speed": 3.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ar12j")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_11207")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Stopping",
|
||||
"speed": 2.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_36mmi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uilw5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fvhei")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Wind-Up",
|
||||
"speed": 9.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wmrwe"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_3sffk"]
|
||||
radius = 1.0
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4d2vn"]
|
||||
size = Vector2(9.95312, 9.95312)
|
||||
|
||||
[node name="Ghost" type="StaticBody2D" groups=["Ghost", "Obsticals"]]
|
||||
script = ExtResource("1_1xbhw")
|
||||
|
||||
[node name="GhostSprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_heqvb")
|
||||
animation = &"Pre-Idle"
|
||||
|
||||
[node name="ObsticalCollision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_wmrwe")
|
||||
|
||||
[node name="Probe" type="Area2D" parent="."]
|
||||
|
||||
[node name="ProbeCollision" type="CollisionShape2D" parent="Probe"]
|
||||
shape = SubResource("CircleShape2D_3sffk")
|
||||
debug_color = Color(0.945098, 0.235294, 0, 0.419608)
|
||||
|
||||
[node name="GhostArea" type="Area2D" parent="." groups=["Ghost"]]
|
||||
|
||||
[node name="ProbeCollision" type="CollisionShape2D" parent="GhostArea"]
|
||||
shape = SubResource("RectangleShape2D_4d2vn")
|
||||
debug_color = Color(0.443137, 0.6, 0, 0.419608)
|
||||
|
||||
[node name="GhostMove" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("3_qcwa8")
|
||||
|
||||
[connection signal="body_entered" from="Probe" to="." method="_on_probe_body_entered"]
|
||||
[connection signal="body_exited" from="Probe" to="." method="_on_probe_body_exited"]
|
||||
[connection signal="area_entered" from="GhostArea" to="." method="_on_ghost_area_area_entered"]
|
||||
[connection signal="area_exited" from="GhostArea" to="." method="_on_ghost_area_area_exited"]
|
|
@ -0,0 +1,129 @@
|
|||
[gd_scene load_steps=15 format=3 uid="uid://bisrejbnlhlui"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c38fo4o7uf5c3" path="res://Sprite Sheets/OoB elements.png" id="1_46tey"]
|
||||
[ext_resource type="Script" path="res://Scripts/lazer.cs" id="1_nwmk1"]
|
||||
[ext_resource type="Texture2D" uid="uid://s2cmbu5hdci" path="res://Sprite Sheets/RedElements.png" id="3_g3f15"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e38kv"]
|
||||
atlas = ExtResource("1_46tey")
|
||||
region = Rect2(0, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aqypj"]
|
||||
atlas = ExtResource("1_46tey")
|
||||
region = Rect2(20, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v1pfp"]
|
||||
atlas = ExtResource("1_46tey")
|
||||
region = Rect2(40, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5s8na"]
|
||||
atlas = ExtResource("1_46tey")
|
||||
region = Rect2(60, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hcq4o"]
|
||||
atlas = ExtResource("3_g3f15")
|
||||
region = Rect2(0, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_scn70"]
|
||||
atlas = ExtResource("3_g3f15")
|
||||
region = Rect2(20, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_73s05"]
|
||||
atlas = ExtResource("3_g3f15")
|
||||
region = Rect2(40, 40, 20, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3p3so"]
|
||||
atlas = ExtResource("3_g3f15")
|
||||
region = Rect2(60, 40, 20, 20)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_h30y6"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e38kv")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"0",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aqypj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"1",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v1pfp")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"2",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5s8na")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"3",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hcq4o")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Red0",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_scn70")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Red1",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_73s05")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Red2",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3p3so")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Red3",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7qsrl"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_6ocbt"]
|
||||
radius = 1.0
|
||||
|
||||
[node name="Lazer" type="StaticBody2D" groups=["Lazer", "Obsticals"]]
|
||||
z_index = 1
|
||||
script = ExtResource("1_nwmk1")
|
||||
|
||||
[node name="LazerSprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_h30y6")
|
||||
animation = &"1"
|
||||
|
||||
[node name="LazerCollision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_7qsrl")
|
||||
debug_color = Color(0, 0.647059, 0.207843, 0.419608)
|
||||
|
||||
[node name="Probe" type="Area2D" parent="."]
|
||||
|
||||
[node name="ProbeCollision" type="CollisionShape2D" parent="Probe"]
|
||||
shape = SubResource("CircleShape2D_6ocbt")
|
||||
debug_color = Color(1, 1, 1, 0.419608)
|
||||
|
||||
[connection signal="body_entered" from="Probe" to="." method="_on_probe_body_entered"]
|
|
@ -0,0 +1,19 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://bbvpjrnarl7qb"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/Entrance.cs" id="1_mdwv8"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3ppe6c48t58p" path="res://Sprite Sheets/Stairs.png" id="2_i2ie3"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1k2yg"]
|
||||
atlas = ExtResource("2_i2ie3")
|
||||
region = Rect2(0, 20, 20, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f1wnt"]
|
||||
|
||||
[node name="Entrance" type="StaticBody2D"]
|
||||
script = ExtResource("1_mdwv8")
|
||||
|
||||
[node name="EntranceSprite" type="Sprite2D" parent="."]
|
||||
texture = SubResource("AtlasTexture_1k2yg")
|
||||
|
||||
[node name="EntranceShape" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_f1wnt")
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://blc3rwn0ou250"
|
||||
path="res://.godot/imported/Icon.png-33e63688031d53466d4d656c73cf10ca.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Icon.png"
|
||||
dest_files=["res://.godot/imported/Icon.png-33e63688031d53466d4d656c73cf10ca.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
|
@ -0,0 +1,23 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://chytvp1xokydh"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dpvsvhuvstab6" path="res://Tile Maps/Walls.tscn" id="1_4fwnf"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbvpjrnarl7qb" path="res://Entities/entrance.tscn" id="2_e38t4"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6ox70gr6e6ej" path="res://Entities/Exit.tscn" id="3_nf86x"]
|
||||
[ext_resource type="Texture2D" uid="uid://cxf3ijccwan4y" path="res://Sprite Sheets/title.png" id="4_ei3cf"]
|
||||
|
||||
[node name="0" type="Node2D" groups=["Level"]]
|
||||
show_behind_parent = true
|
||||
|
||||
[node name="Walls" parent="." instance=ExtResource("1_4fwnf")]
|
||||
layer_0/tile_data = PackedInt32Array(393224, 65536, 196608, 327688, 131072, 196608, 262152, 131072, 196608, 196616, 131072, 196608, 131080, 131072, 196608, 65544, 131072, 196608, 8, 131072, 196608, -65528, 131072, 196608, -131064, 131072, 196608, -196600, 131072, 196608, -262136, 131072, 196608, -327672, 131072, 196608, -393208, 131072, 196608, -458744, 65536, 65536, 393223, 131072, 65536, 327687, 65536, 1, 262151, 65536, 1, 196615, 65536, 1, 131079, 0, 65537, 65543, 131072, 131072, 7, 0, 196609, -65529, 65536, 1, -131065, 65536, 1, -196601, 65536, 1, -262137, 65536, 1, -327673, 65536, 1, -393209, 65536, 1, -458745, 131072, 0, 393222, 131072, 65536, 327686, 65536, 1, 262150, 65536, 1, 196614, 0, 65537, 131078, 65536, 0, 65542, 65537, 196613, 6, 65536, 131072, -65530, 0, 196609, -131066, 65536, 1, -196602, 65536, 1, -262138, 65536, 1, -327674, 65536, 1, -393210, 65536, 1, -458746, 131072, 0, 393221, 131072, 65536, 327685, 65536, 1, 262149, 65536, 1, 196613, 131072, 0, 131077, 1, 196608, 65541, 65537, 196610, 5, 1, 65536, -65531, 131072, 65536, -131067, 65536, 1, -196603, 65536, 1, -262139, 65536, 1, -327675, 65536, 1, -393211, 65536, 1, -458747, 131072, 0, 393220, 131072, 65536, 327684, 65536, 1, 262148, 65536, 1, 196612, 131072, 0, 131076, 65537, 65540, 65540, 1, 1, 4, 65537, 4, -65532, 131072, 65536, -131068, 65536, 1, -196604, 65536, 1, -262140, 65536, 1, -327676, 65536, 1, -393212, 65536, 1, -458748, 131072, 0, 393219, 131072, 65536, 327683, 65536, 1, 262147, 65536, 1, 196611, 131072, 0, 131075, 65537, 65540, 65539, 1, 1, 3, 65537, 4, -65533, 131072, 65536, -131069, 65536, 1, -196605, 65536, 1, -262141, 65536, 1, -327677, 65536, 1, -393213, 65536, 1, -458749, 131072, 0, 393218, 131072, 65536, 327682, 65536, 1, 262146, 65536, 1, 196610, 131072, 0, 131074, 65537, 65540, 65538, 1, 1, 2, 65537, 4, -65534, 131072, 65536, -131070, 65536, 1, -196606, 65536, 1, -262142, 65536, 1, -327678, 65536, 1, -393214, 65536, 1, -458750, 131072, 0, 393217, 131072, 65536, 327681, 65536, 1, 262145, 65536, 1, 196609, 131072, 0, 131073, 65537, 65540, 65537, 1, 1, 1, 65537, 4, -65535, 131072, 65536, -131071, 65536, 1, -196607, 65536, 1, -262143, 65536, 1, -327679, 65536, 1, -393215, 65536, 1, -458751, 131072, 0, 393216, 131072, 65536, 327680, 65536, 1, 262144, 65536, 1, 196608, 131072, 0, 131072, 65537, 65540, 65536, 1, 1, 0, 65537, 4, -65536, 131072, 65536, -131072, 65536, 1, -196608, 65536, 1, -262144, 65536, 1, -327680, 65536, 1, -393216, 65536, 1, -458752, 131072, 0, 458751, 131072, 65536, 393215, 65536, 1, 327679, 65536, 1, 262143, 131072, 0, 196607, 65537, 65540, 131071, 1, 1, 65535, 65537, 4, -1, 131072, 65536, -65537, 65536, 1, -131073, 65536, 1, -196609, 65536, 1, -262145, 65536, 1, -327681, 65536, 1, -393217, 131072, 0, 458750, 131072, 65536, 393214, 65536, 1, 327678, 65536, 1, 262142, 131072, 0, 196606, 65537, 65540, 131070, 1, 1, 65534, 65537, 4, -2, 131072, 65536, -65538, 65536, 1, -131074, 65536, 1, -196610, 65536, 1, -262146, 65536, 1, -327682, 65536, 1, -393218, 131072, 0, 458749, 131072, 65536, 393213, 65536, 1, 327677, 65536, 1, 262141, 131072, 0, 196605, 65537, 65540, 131069, 1, 1, 65533, 65537, 4, -3, 131072, 65536, -65539, 65536, 1, -131075, 65536, 1, -196611, 65536, 1, -262147, 65536, 1, -327683, 65536, 1, -393219, 131072, 0, 458748, 131072, 65536, 393212, 65536, 1, 327676, 65536, 1, 262140, 131072, 0, 196604, 65537, 65540, 131068, 1, 1, 65532, 65537, 4, -4, 131072, 65536, -65540, 65536, 1, -131076, 65536, 1, -196612, 65536, 1, -262148, 65536, 1, -327684, 65536, 1, -393220, 131072, 0, 458747, 131072, 65536, 393211, 65536, 1, 327675, 65536, 1, 262139, 131072, 0, 196603, 65537, 65540, 131067, 1, 1, 65531, 65537, 4, -5, 131072, 65536, -65541, 65536, 1, -131077, 65536, 1, -196613, 65536, 1, -262149, 65536, 1, -327685, 65536, 1, -393221, 131072, 0, 458746, 131072, 65536, 393210, 65536, 1, 327674, 65536, 1, 262138, 131072, 0, 196602, 1, 131072, 131066, 65537, 131074, 65530, 1, 0, -6, 131072, 65536, -65542, 65536, 1, -131078, 65536, 1, -196614, 65536, 1, -262150, 65536, 1, -327686, 65536, 1, -393222, 131072, 0, 458745, 131072, 65536, 393209, 65536, 1, 327673, 65536, 1, 262137, 0, 1, 196601, 65536, 65536, 131065, 65537, 131077, 65529, 65536, 196608, -7, 0, 131073, -65543, 65536, 1, -131079, 65536, 1, -196615, 65536, 1, -262151, 65536, 1, -327687, 65536, 1, -393223, 131072, 0, 458744, 131072, 65536, 393208, 65536, 1, 327672, 65536, 1, 262136, 65536, 1, 196600, 0, 1, 131064, 131072, 196608, 65528, 0, 131073, -8, 65536, 1, -65544, 65536, 1, -131080, 65536, 1, -196616, 65536, 1, -262152, 65536, 1, -327688, 65536, 1, -393224, 131072, 0, 458743, 65536, 131072, 393207, 131072, 131072, 327671, 131072, 131072, 262135, 131072, 131072, 196599, 131072, 131072, 131063, 131072, 131072, 65527, 131072, 131072, -9, 131072, 131072, -65545, 131072, 131072, -131081, 131072, 131072, -196617, 131072, 131072, -262153, 131072, 131072, -327689, 131072, 131072, -393225, 65536, 0)
|
||||
|
||||
[node name="Entrance" parent="." instance=ExtResource("2_e38t4")]
|
||||
position = Vector2(-130, 30)
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3_nf86x")]
|
||||
position = Vector2(130, 30)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(-0.999999, 12)
|
||||
scale = Vector2(0.4, 0.4)
|
||||
texture = ExtResource("4_ei3cf")
|
|
@ -0,0 +1,44 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://cct7y0ssl1fcm"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dpvsvhuvstab6" path="res://Tile Maps/Walls.tscn" id="1_jfu23"]
|
||||
[ext_resource type="PackedScene" uid="uid://crtwv7phv71wq" path="res://Entities/Ghost.tscn" id="2_2btfm"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8d22amvt6eq5" path="res://Entities/Cage.tscn" id="3_rvgy6"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctdil7060o2ft" path="res://Entities/EvilEye.tscn" id="4_iwwua"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbvpjrnarl7qb" path="res://Entities/entrance.tscn" id="5_03flp"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6ox70gr6e6ej" path="res://Entities/Exit.tscn" id="6_2do8j"]
|
||||
|
||||
[node name="2" type="Node2D" groups=["Level"]]
|
||||
show_behind_parent = true
|
||||
|
||||
[node name="Walls" parent="." instance=ExtResource("1_jfu23")]
|
||||
layer_0/tile_data = PackedInt32Array(393224, 65536, 196608, 327688, 131072, 196608, 262152, 131072, 196608, 196616, 131072, 196608, 131080, 131072, 196608, 65544, 196608, 458754, 8, 196608, 65536, -65528, 196608, 327682, -131064, 131072, 196608, -196600, 131072, 196608, -262136, 131072, 196608, -327672, 131072, 196608, -393208, 131072, 196608, -458744, 65536, 65536, 393223, 131072, 65536, 327687, 65536, 1, 262151, 65536, 1, 196615, 65536, 1, 131079, 65536, 1, 65543, 131072, 0, 7, 65537, 196613, -65529, 131072, 65536, -131065, 65536, 1, -196601, 65536, 1, -262137, 65536, 1, -327673, 65536, 1, -393209, 65536, 1, -458745, 131072, 0, 393222, 131072, 65536, 327686, 65536, 1, 262150, 65536, 1, 196614, 65536, 1, 131078, 65536, 1, 65542, 131072, 0, 6, 1, 4, -65530, 131072, 65536, -131066, 65536, 1, -196602, 65536, 1, -262138, 65536, 1, -327674, 65536, 1, -393210, 65536, 1, -458746, 131072, 0, 393221, 131072, 65536, 327685, 65536, 1, 262149, 65536, 1, 196613, 65536, 1, 131077, 65536, 1, 65541, 131072, 0, 5, 1, 4, -65531, 131072, 65536, -131067, 65536, 1, -196603, 65536, 1, -262139, 65536, 1, -327675, 65536, 1, -393211, 65536, 1, -458747, 131072, 0, 393220, 131072, 65536, 327684, 65536, 1, 262148, 65536, 1, 196612, 65536, 1, 131076, 65536, 1, 65540, 131072, 0, 4, 1, 4, -65532, 131072, 65536, -131068, 65536, 1, -196604, 65536, 1, -262140, 65536, 1, -327676, 65536, 1, -393212, 65536, 1, -458748, 131072, 0, 393219, 131072, 65536, 327683, 65536, 1, 262147, 65536, 1, 196611, 65536, 1, 131075, 65536, 1, 65539, 131072, 0, 3, 1, 4, -65533, 131072, 65536, -131069, 65536, 1, -196605, 65536, 1, -262141, 65536, 1, -327677, 65536, 1, -393213, 65536, 1, -458749, 131072, 0, 393218, 131072, 65536, 327682, 65536, 1, 262146, 65536, 1, 196610, 65536, 1, 131074, 65536, 1, 65538, 131072, 0, 2, 1, 4, -65534, 131072, 65536, -131070, 65536, 1, -196606, 65536, 1, -262142, 65536, 1, -327678, 65536, 1, -393214, 65536, 1, -458750, 131072, 0, 393217, 131072, 65536, 327681, 65536, 1, 262145, 65536, 1, 196609, 65536, 1, 131073, 65536, 1, 65537, 131072, 0, 1, 1, 4, -65535, 131072, 65536, -131071, 65536, 1, -196607, 65536, 1, -262143, 65536, 1, -327679, 65536, 1, -393215, 65536, 1, -458751, 131072, 0, 393216, 131072, 65536, 327680, 65536, 1, 262144, 65536, 1, 196608, 0, 65537, 131072, 131072, 131072, 65536, 65536, 0, 0, 1, 4, -65536, 65536, 131072, -131072, 131072, 131072, -196608, 0, 196609, -262144, 65536, 1, -327680, 65536, 1, -393216, 65536, 1, -458752, 131072, 0, 458751, 131072, 65536, 393215, 65536, 1, 327679, 65536, 1, 262143, 131072, 0, 196607, 65537, 65541, 131071, 1, 65540, 65535, 65537, 6, -1, 1, 65540, -65537, 65537, 5, -131073, 131072, 65536, -196609, 65536, 1, -262145, 65536, 1, -327681, 65536, 1, -393217, 131072, 0, 458750, 131072, 65536, 393214, 65536, 1, 327678, 65536, 1, 262142, 0, 1, 196606, 131072, 196608, 131070, 65536, 65536, 65534, 1, 4, -2, 131072, 65537, -65538, 196608, 65536, -131074, 0, 65538, -196610, 65536, 1, -262146, 65536, 1, -327682, 65536, 1, -393218, 131072, 0, 458749, 131072, 65536, 393213, 65536, 1, 327677, 0, 65537, 262141, 131072, 131072, 196605, 0, 196609, 131069, 131072, 0, 65533, 1, 65539, -3, 1, 65540, -65539, 65537, 65539, -131075, 131072, 65536, -196611, 65536, 1, -262147, 65536, 1, -327683, 65536, 1, -393219, 131072, 0, 458748, 131072, 65536, 393212, 0, 65537, 327676, 65536, 0, 262140, 65537, 196613, 196604, 65536, 131072, 131068, 65536, 0, 65532, 1, 4, -4, 0, 0, -65540, 1, 4, -131076, 131072, 65536, -196612, 65536, 1, -262148, 65536, 1, -327684, 65536, 1, -393220, 131072, 0, 458747, 131072, 65536, 393211, 131072, 0, 327675, 65537, 65541, 262139, 1, 196610, 196603, 1, 458758, 131067, 1, 65540, 65531, 1, 196610, -5, 65537, 196612, -65541, 1, 6, -131077, 131072, 65536, -196613, 65536, 1, -262149, 65536, 1, -327685, 65536, 1, -393221, 131072, 0, 458746, 131072, 65536, 393210, 0, 1, 327674, 65536, 65536, 262138, 1, 131072, 196602, 1, 0, 131066, 131072, 196609, 65530, 65537, 65540, -6, 1, 1, -65542, 65537, 4, -131078, 131072, 65536, -196614, 65536, 1, -262150, 65536, 1, -327686, 65536, 1, -393222, 131072, 0, 458745, 131072, 65536, 393209, 65536, 1, 327673, 0, 1, 262137, 131072, 196608, 196601, 131072, 196608, 131065, 196608, 2, 65529, 1, 196614, -7, 65537, 131076, -65543, 1, 0, -131079, 131072, 65536, -196615, 65536, 1, -262151, 65536, 1, -327687, 65536, 1, -393223, 131072, 0, 458744, 131072, 65536, 393208, 65536, 1, 327672, 65536, 1, 262136, 65536, 1, 196600, 65536, 1, 131064, 131072, 0, 65528, 65537, 131077, -8, 65536, 196608, -65544, 131072, 196608, -131080, 0, 131073, -196616, 65536, 1, -262152, 65536, 1, -327688, 65536, 1, -393224, 131072, 0, 458743, 65536, 131072, 393207, 131072, 131072, 327671, 131072, 131072, 262135, 131072, 131072, 196599, 131072, 131072, 131063, 196608, 393218, 65527, 196608, 65536, -9, 196608, 262146, -65545, 131072, 131072, -131081, 131072, 131072, -196617, 131072, 131072, -262153, 131072, 131072, -327689, 131072, 131072, -393225, 65536, 0)
|
||||
|
||||
[node name="Entrance" parent="." instance=ExtResource("5_03flp")]
|
||||
position = Vector2(-150, 10)
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("6_2do8j")]
|
||||
position = Vector2(150, 10)
|
||||
|
||||
[node name="EvilEye" parent="." instance=ExtResource("4_iwwua")]
|
||||
position = Vector2(-10, 50)
|
||||
activated = true
|
||||
direction = 3
|
||||
|
||||
[node name="EvilEye2" parent="." instance=ExtResource("4_iwwua")]
|
||||
position = Vector2(-10, -30)
|
||||
activated = true
|
||||
direction = 4
|
||||
|
||||
[node name="Cage" parent="." instance=ExtResource("3_rvgy6")]
|
||||
position = Vector2(-90, 90)
|
||||
triggerPos = Vector2(-10, -30)
|
||||
|
||||
[node name="Cage2" parent="." instance=ExtResource("3_rvgy6")]
|
||||
position = Vector2(-70, 70)
|
||||
triggerPos = Vector2(-10, 50)
|
||||
|
||||
[node name="Ghost" parent="." instance=ExtResource("2_2btfm")]
|
||||
position = Vector2(-90, -10)
|
||||
|
||||
[node name="Ghost2" parent="." instance=ExtResource("2_2btfm")]
|
||||
position = Vector2(-110, -10)
|
|
@ -0,0 +1,89 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://dah42e0gs8xri"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dpvsvhuvstab6" path="res://Tile Maps/Walls.tscn" id="1_03cvs"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbvpjrnarl7qb" path="res://Entities/entrance.tscn" id="2_7ppm3"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6ox70gr6e6ej" path="res://Entities/Exit.tscn" id="3_05itb"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctdil7060o2ft" path="res://Entities/EvilEye.tscn" id="4_1ndjk"]
|
||||
[ext_resource type="PackedScene" uid="uid://crtwv7phv71wq" path="res://Entities/Ghost.tscn" id="5_gfbar"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8d22amvt6eq5" path="res://Entities/Cage.tscn" id="6_bups4"]
|
||||
|
||||
[node name="3" type="Node2D" groups=["Level"]]
|
||||
show_behind_parent = true
|
||||
|
||||
[node name="Walls" parent="." instance=ExtResource("1_03cvs")]
|
||||
layer_0/tile_data = PackedInt32Array(393224, 65536, 196608, 327688, 131072, 196608, 262152, 131072, 196608, 196616, 131072, 196608, 131080, 131072, 196608, 65544, 196608, 458754, 8, 196608, 65536, -65528, 65536, 196611, -131064, 196608, 65536, -196600, 196608, 65536, -262136, 196608, 65536, -327672, 65536, 196611, -393208, 196608, 65536, -458744, 0, 65539, 393223, 131072, 65536, 327687, 65536, 1, 262151, 65536, 1, 196615, 65536, 1, 131079, 65536, 1, 65543, 131072, 0, 7, 65537, 196613, -65529, 196608, 0, -131065, 1, 196608, -196601, 65537, 196612, -262137, 1, 65536, -327673, 131072, 131073, -393209, 65537, 196613, -458745, 196608, 0, 393222, 131072, 65536, 327686, 65536, 1, 262150, 65536, 1, 196614, 65536, 1, 131078, 65536, 1, 65542, 131072, 0, 6, 1, 4, -65530, 196608, 0, -131066, 65537, 65540, -196602, 1, 1, -262138, 65537, 1, -327674, 65537, 196612, -393210, 1, 6, -458746, 196608, 0, 393221, 131072, 65536, 327685, 65536, 1, 262149, 65536, 1, 196613, 65536, 1, 131077, 65536, 1, 65541, 131072, 0, 5, 1, 4, -65531, 196608, 0, -131067, 1, 131072, -196603, 65537, 196609, -262139, 1, 1, -327675, 1, 1, -393211, 65537, 4, -458747, 196608, 0, 393220, 131072, 65536, 327684, 65536, 1, 262148, 65536, 1, 196612, 65536, 1, 131076, 65536, 1, 65540, 131072, 0, 4, 1, 4, -65532, 196608, 131074, -131068, 65536, 65536, -196604, 65537, 65540, -262140, 1, 1, -327676, 1, 1, -393212, 65537, 4, -458748, 196608, 0, 393219, 131072, 65536, 327683, 65536, 1, 262147, 65536, 1, 196611, 0, 65537, 131075, 131072, 131072, 65539, 65536, 0, 3, 1, 4, -65533, 65536, 131072, -131069, 65536, 0, -196605, 1, 131072, -262141, 65537, 131076, -327677, 65537, 131074, -393213, 1, 0, -458749, 196608, 0, 393218, 131072, 65536, 327682, 65536, 1, 262146, 65536, 1, 196610, 131072, 0, 131074, 1, 196608, 65538, 65537, 196612, 2, 65537, 196610, -65534, 65537, 196612, -131070, 1, 65536, -196606, 65536, 196608, -262142, 65536, 65536, -327678, 1, 4, -393214, 65536, 196608, -458750, 196608, 2, 393217, 131072, 65536, 327681, 65536, 1, 262145, 65536, 1, 196609, 131072, 0, 131073, 65537, 65540, 65537, 1, 1, 1, 1, 1, -65535, 1, 1, -131071, 65537, 4, -196607, 131072, 65536, -262143, 131072, 0, -327679, 1, 4, -393215, 131072, 65536, -458751, 131072, 0, 393216, 131072, 65536, 327680, 65536, 1, 262144, 65536, 1, 196608, 131072, 0, 131072, 1, 131072, 65536, 65537, 131076, 0, 65537, 131074, -65536, 65537, 131076, -131072, 1, 0, -196608, 131072, 65536, -262144, 131072, 0, -327680, 1, 4, -393216, 131072, 65536, -458752, 131072, 0, 458751, 131072, 65536, 393215, 65536, 1, 327679, 65536, 1, 262143, 0, 1, 196607, 131072, 196608, 131071, 65536, 65536, 65535, 1, 4, -1, 131072, 65537, -65537, 196608, 65536, -131073, 196608, 262146, -196609, 65536, 0, -262145, 1, 4, -327681, 131072, 65536, -393217, 131072, 0, 458750, 131072, 65536, 393214, 65536, 1, 327678, 65536, 1, 262142, 65536, 1, 196606, 65536, 1, 131070, 131072, 0, 65534, 1, 65539, -2, 1, 65540, -65538, 1, 65540, -131074, 1, 65540, -196610, 1, 65540, -262146, 1, 3, -327682, 131072, 65536, -393218, 131072, 0, 458749, 131072, 65536, 393213, 65536, 1, 327677, 65536, 1, 262141, 65536, 1, 196605, 65536, 1, 131069, 131072, 0, 65533, 1, 4, -3, 65536, 196608, -65539, 196608, 458754, -131075, 196608, 65536, -196611, 131072, 1, -262147, 1, 4, -327683, 131072, 65536, -393219, 131072, 0, 458748, 131072, 65536, 393212, 65536, 1, 327676, 65536, 1, 262140, 65536, 1, 196604, 65536, 1, 131068, 131072, 0, 65532, 1, 4, -4, 131072, 65536, -65540, 131072, 0, -131076, 1, 196608, -196612, 65537, 196612, -262148, 1, 6, -327684, 131072, 65536, -393220, 131072, 0, 458747, 131072, 65536, 393211, 65536, 1, 327675, 65536, 1, 262139, 65536, 1, 196603, 65536, 1, 131067, 131072, 0, 65531, 1, 4, -5, 131072, 65536, -65541, 131072, 0, -131077, 65537, 65540, -196613, 1, 1, -262149, 65537, 4, -327685, 131072, 65536, -393221, 131072, 0, 458746, 131072, 65536, 393210, 65536, 1, 327674, 65536, 1, 262138, 65536, 1, 196602, 65536, 1, 131066, 131072, 0, 65530, 1, 4, -6, 131072, 65536, -65542, 131072, 0, -131078, 65537, 65540, -196614, 1, 1, -262150, 65537, 4, -327686, 131072, 65536, -393222, 131072, 0, 458745, 131072, 65536, 393209, 65536, 1, 327673, 65536, 1, 262137, 65536, 1, 196601, 65536, 1, 131065, 131072, 0, 65529, 1, 4, -7, 131072, 65536, -65543, 131072, 0, -131079, 65537, 65540, -196615, 1, 1, -262151, 65537, 4, -327687, 131072, 65536, -393223, 131072, 0, 458744, 131072, 65536, 393208, 65536, 1, 327672, 65536, 1, 262136, 65536, 1, 196600, 65536, 1, 131064, 131072, 0, 65528, 65537, 131077, -8, 131072, 65536, -65544, 131072, 0, -131080, 1, 131072, -196616, 65537, 131076, -262152, 1, 0, -327688, 131072, 65536, -393224, 131072, 0, 458743, 65536, 131072, 393207, 131072, 131072, 327671, 131072, 131072, 262135, 131072, 131072, 196599, 131072, 131072, 131063, 196608, 393218, 65527, 196608, 65536, -9, 196608, 262146, -65545, 196608, 393218, -131081, 196608, 65536, -196617, 196608, 65536, -262153, 196608, 65536, -327689, 196608, 262146, -393225, 65536, 0)
|
||||
|
||||
[node name="Entrance" parent="." instance=ExtResource("2_7ppm3")]
|
||||
position = Vector2(-150, 10)
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3_05itb")]
|
||||
position = Vector2(150, 10)
|
||||
|
||||
[node name="EvilEye" parent="." instance=ExtResource("4_1ndjk")]
|
||||
position = Vector2(10, 50)
|
||||
red = true
|
||||
direction = 3
|
||||
|
||||
[node name="EvilEye2" parent="." instance=ExtResource("4_1ndjk")]
|
||||
position = Vector2(10, -30)
|
||||
activated = true
|
||||
direction = 4
|
||||
|
||||
[node name="EvilEye3" parent="." instance=ExtResource("4_1ndjk")]
|
||||
position = Vector2(30, -30)
|
||||
activated = true
|
||||
direction = 4
|
||||
|
||||
[node name="EvilEye4" parent="." instance=ExtResource("4_1ndjk")]
|
||||
position = Vector2(30, 50)
|
||||
red = true
|
||||
direction = 3
|
||||
|
||||
[node name="Ghost" parent="." instance=ExtResource("5_gfbar")]
|
||||
position = Vector2(-110, -70)
|
||||
|
||||
[node name="Ghost2" parent="." instance=ExtResource("5_gfbar")]
|
||||
position = Vector2(-90, -70)
|
||||
|
||||
[node name="Ghost3" parent="." instance=ExtResource("5_gfbar")]
|
||||
position = Vector2(-70, -70)
|
||||
|
||||
[node name="Cage" parent="." instance=ExtResource("6_bups4")]
|
||||
position = Vector2(110, -30)
|
||||
triggerPos = Vector2(30, -30)
|
||||
|
||||
[node name="Cage2" parent="." instance=ExtResource("6_bups4")]
|
||||
position = Vector2(70, -70)
|
||||
red = true
|
||||
triggerPos = Vector2(10, 50)
|
||||
|
||||
[node name="Cage3" parent="." instance=ExtResource("6_bups4")]
|
||||
position = Vector2(70, -50)
|
||||
red = true
|
||||
triggerPos = Vector2(30, 50)
|
||||
|
||||
[node name="EvilEye5" parent="." instance=ExtResource("4_1ndjk")]
|
||||
position = Vector2(50, 50)
|
||||
red = true
|
||||
direction = 3
|
||||
|
||||
[node name="EvilEye6" parent="." instance=ExtResource("4_1ndjk")]
|
||||
position = Vector2(50, -30)
|
||||
activated = true
|
||||
direction = 4
|
||||
|
||||
[node name="Cage4" parent="." instance=ExtResource("6_bups4")]
|
||||
position = Vector2(150, -110)
|
||||
triggerPos = Vector2(50, -30)
|
||||
|
||||
[node name="Cage5" parent="." instance=ExtResource("6_bups4")]
|
||||
position = Vector2(150, -70)
|
||||
red = true
|
||||
triggerPos = Vector2(50, 50)
|
||||
|
||||
[node name="Cage6" parent="." instance=ExtResource("6_bups4")]
|
||||
position = Vector2(150, -50)
|
||||
triggerPos = Vector2(10, -30)
|
||||
|
||||
[node name="Ghost4" parent="." instance=ExtResource("5_gfbar")]
|
||||
position = Vector2(-130, -70)
|
|
@ -0,0 +1,23 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://cs4kq18viam5l"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dpvsvhuvstab6" path="res://Tile Maps/Walls.tscn" id="1_uuhwr"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbvpjrnarl7qb" path="res://Entities/entrance.tscn" id="2_r5den"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6ox70gr6e6ej" path="res://Entities/Exit.tscn" id="3_mfm5l"]
|
||||
[ext_resource type="Texture2D" uid="uid://df3sih1nkiy3" path="res://Sprite Sheets/orb.png" id="4_mewc7"]
|
||||
|
||||
[node name="6" type="Node2D"]
|
||||
show_behind_parent = true
|
||||
|
||||
[node name="Walls" parent="." instance=ExtResource("1_uuhwr")]
|
||||
layer_0/tile_data = PackedInt32Array(393224, 65536, 196608, 327688, 131072, 196608, 262152, 131072, 196608, 196616, 131072, 196608, 131080, 131072, 196608, 65544, 131072, 196608, 8, 131072, 196608, -65528, 131072, 196608, -131064, 131072, 196608, -196600, 131072, 196608, -262136, 131072, 196608, -327672, 131072, 196608, -393208, 131072, 196608, -458744, 65536, 65536, 393223, 131072, 65536, 327687, 65536, 1, 262151, 65536, 1, 196615, 65536, 1, 131079, 65536, 1, 65543, 65536, 1, 7, 65536, 1, -65529, 65536, 1, -131065, 65536, 1, -196601, 65536, 1, -262137, 65536, 1, -327673, 65536, 1, -393209, 65536, 1, -458745, 131072, 0, 393222, 131072, 65536, 327686, 65536, 1, 262150, 65536, 1, 196614, 65536, 1, 131078, 65536, 1, 65542, 65536, 1, 6, 65536, 1, -65530, 65536, 1, -131066, 65536, 1, -196602, 65536, 1, -262138, 65536, 1, -327674, 65536, 1, -393210, 65536, 1, -458746, 131072, 0, 393221, 131072, 65536, 327685, 65536, 1, 262149, 65536, 1, 196613, 65536, 1, 131077, 0, 65537, 65541, 131072, 131072, 5, 131072, 131072, -65531, 131072, 131072, -131067, 0, 196609, -196603, 65536, 1, -262139, 65536, 1, -327675, 65536, 1, -393211, 65536, 1, -458747, 131072, 0, 393220, 131072, 65536, 327684, 65536, 1, 262148, 65536, 1, 196612, 0, 65537, 131076, 65536, 0, 65540, 1, 196608, 4, 65537, 196612, -65532, 1, 65536, -131068, 65536, 131072, -196604, 0, 196609, -262140, 65536, 1, -327676, 65536, 1, -393212, 65536, 1, -458748, 131072, 0, 393219, 131072, 65536, 327683, 65536, 1, 262147, 65536, 1, 196611, 131072, 0, 131075, 1, 196608, 65539, 65537, 131073, 3, 1, 1, -65533, 65537, 1, -131069, 1, 65536, -196605, 131072, 65536, -262141, 65536, 1, -327677, 65536, 1, -393213, 65536, 1, -458749, 131072, 0, 393218, 131072, 65536, 327682, 65536, 1, 262146, 0, 65537, 196610, 65536, 0, 131074, 65537, 65540, 65538, 1, 1, 2, 1, 1, -65534, 1, 1, -131070, 65537, 4, -196606, 65536, 131072, -262142, 0, 196609, -327678, 65536, 1, -393214, 65536, 1, -458750, 131072, 0, 393217, 131072, 65536, 327681, 65536, 1, 262145, 131072, 0, 196609, 1, 196608, 131073, 65537, 131073, 65537, 1, 1, 1, 1, 1, -65535, 1, 1, -131071, 65537, 1, -196607, 1, 65536, -262143, 131072, 65536, -327679, 65536, 1, -393215, 65536, 1, -458751, 131072, 0, 393216, 131072, 65536, 327680, 65536, 1, 262144, 131072, 0, 196608, 65537, 65540, 131072, 1, 1, 65536, 1, 1, 0, 1, 1, -65536, 1, 1, -131072, 1, 1, -196608, 65537, 4, -262144, 131072, 65536, -327680, 65536, 1, -393216, 65536, 1, -458752, 131072, 0, 458751, 131072, 65536, 393215, 65536, 1, 327679, 131072, 0, 262143, 1, 131072, 196607, 65537, 196609, 131071, 1, 1, 65535, 1, 1, -1, 1, 1, -65537, 65537, 65537, -131073, 1, 0, -196609, 131072, 65536, -262145, 65536, 1, -327681, 65536, 1, -393217, 131072, 0, 458750, 131072, 65536, 393214, 65536, 1, 327678, 0, 1, 262142, 65536, 65536, 196606, 1, 131072, 131070, 65537, 131076, 65534, 65537, 131074, -2, 65537, 131076, -65538, 1, 0, -131074, 65536, 196608, -196610, 0, 131073, -262146, 65536, 1, -327682, 65536, 1, -393218, 131072, 0, 458749, 131072, 65536, 393213, 65536, 1, 327677, 65536, 1, 262141, 0, 1, 196605, 131072, 196608, 131069, 65536, 65536, 65533, 1, 4, -3, 65536, 196608, -65539, 131072, 196608, -131075, 0, 131073, -196611, 65536, 1, -262147, 65536, 1, -327683, 65536, 1, -393219, 131072, 0, 458748, 131072, 65536, 393212, 65536, 1, 327676, 65536, 1, 262140, 65536, 1, 196604, 65536, 1, 131068, 131072, 0, 65532, 1, 4, -4, 131072, 65536, -65540, 65536, 1, -131076, 65536, 1, -196612, 65536, 1, -262148, 65536, 1, -327684, 65536, 1, -393220, 131072, 0, 458747, 131072, 65536, 393211, 65536, 1, 327675, 65536, 1, 262139, 65536, 1, 196603, 65536, 1, 131067, 131072, 0, 65531, 1, 4, -5, 131072, 65536, -65541, 65536, 1, -131077, 65536, 1, -196613, 65536, 1, -262149, 65536, 1, -327685, 65536, 1, -393221, 131072, 0, 458746, 131072, 65536, 393210, 65536, 1, 327674, 65536, 1, 262138, 65536, 1, 196602, 65536, 1, 131066, 131072, 0, 65530, 1, 4, -6, 131072, 65536, -65542, 65536, 1, -131078, 65536, 1, -196614, 65536, 1, -262150, 65536, 1, -327686, 65536, 1, -393222, 131072, 0, 458745, 131072, 65536, 393209, 65536, 1, 327673, 65536, 1, 262137, 65536, 1, 196601, 65536, 1, 131065, 131072, 0, 65529, 1, 4, -7, 131072, 65536, -65543, 65536, 1, -131079, 65536, 1, -196615, 65536, 1, -262151, 65536, 1, -327687, 65536, 1, -393223, 131072, 0, 458744, 131072, 65536, 393208, 65536, 1, 327672, 65536, 1, 262136, 65536, 1, 196600, 65536, 1, 131064, 131072, 0, 65528, 65537, 131077, -8, 131072, 65536, -65544, 65536, 1, -131080, 65536, 1, -196616, 65536, 1, -262152, 65536, 1, -327688, 65536, 1, -393224, 131072, 0, 458743, 65536, 131072, 393207, 131072, 131072, 327671, 131072, 131072, 262135, 131072, 131072, 196599, 131072, 131072, 131063, 196608, 393218, 65527, 196608, 65536, -9, 196608, 262146, -65545, 131072, 131072, -131081, 131072, 131072, -196617, 131072, 131072, -262153, 131072, 131072, -327689, 131072, 131072, -393225, 65536, 0)
|
||||
|
||||
[node name="Entrance" parent="." instance=ExtResource("2_r5den")]
|
||||
position = Vector2(-150, 10)
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3_mfm5l")]
|
||||
visible = false
|
||||
position = Vector2(70, 10)
|
||||
|
||||
[node name="Orb" type="Sprite2D" parent="."]
|
||||
position = Vector2(70, 10)
|
||||
texture = ExtResource("4_mewc7")
|
|
@ -0,0 +1,17 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://dw5ynb50358lf"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dpvsvhuvstab6" path="res://Tile Maps/Walls.tscn" id="1_ns0wd"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbvpjrnarl7qb" path="res://Entities/entrance.tscn" id="2_1c3h6"]
|
||||
[ext_resource type="Texture2D" uid="uid://blwjhfghty128" path="res://Sprite Sheets/ending.png" id="3_ctyw7"]
|
||||
|
||||
[node name="7" type="Node2D"]
|
||||
show_behind_parent = true
|
||||
|
||||
[node name="Walls" parent="." instance=ExtResource("1_ns0wd")]
|
||||
|
||||
[node name="Entrance" parent="." instance=ExtResource("2_1c3h6")]
|
||||
position = Vector2(-10, 10)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
scale = Vector2(0.35, 0.35)
|
||||
texture = ExtResource("3_ctyw7")
|
|
@ -0,0 +1,21 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://064vl41gb8mg"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/OoB.cs" id="1_bhg74"]
|
||||
[ext_resource type="PackedScene" uid="uid://hf82gpyeklob" path="res://Entities/Chloek.tscn" id="3_cpfrx"]
|
||||
[ext_resource type="PackedScene" uid="uid://chytvp1xokydh" path="res://Levels/0.tscn" id="3_ehgst"]
|
||||
[ext_resource type="AudioStream" uid="uid://dkmyxyvpl85g0" path="res://Audio/Exit.wav" id="4_gcnb1"]
|
||||
|
||||
[node name="OutofBody" type="Node2D"]
|
||||
script = ExtResource("1_bhg74")
|
||||
|
||||
[node name="MainCamera" type="Camera2D" parent="."]
|
||||
top_level = true
|
||||
zoom = Vector2(3, 3)
|
||||
|
||||
[node name="Chloek" parent="." instance=ExtResource("3_cpfrx")]
|
||||
position = Vector2(-250, 10)
|
||||
|
||||
[node name="0" parent="." instance=ExtResource("3_ehgst")]
|
||||
|
||||
[node name="ExitDoot" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("4_gcnb1")
|
|
@ -0,0 +1,75 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Cage : StaticBody2D
|
||||
{
|
||||
|
||||
private Area2D probe; // probe to detect ghosts triggers
|
||||
private Area2D cageTrigger; // an area to tell other objects that it has collected a ghost
|
||||
private AnimatedSprite2D sprite; // animated sprite of cage
|
||||
private AudioStreamPlayer GhostCaged; //an audio track
|
||||
public bool activated; //if activated
|
||||
|
||||
[Export]
|
||||
public bool red; //do you want it cherry flavored?
|
||||
[Export] // you can edit this in the inspector
|
||||
public Vector2 triggerPos; // where the trigger will get sent after a ghost is collected
|
||||
|
||||
private void _on_probe_area_entered(Area2D area)
|
||||
{
|
||||
if (area.IsInGroup("Ghost")) // if probe detects a ghost's probe
|
||||
{
|
||||
cageTrigger.GlobalPosition = triggerPos; //sends trigger to specified position
|
||||
if(activated == false)
|
||||
{
|
||||
GhostCaged.Play();
|
||||
area.GetParent().QueueFree(); //deletes the ghost
|
||||
RemoveFromGroup("Cage"); //the cage is no longer considered a cage for the ghost's collision checks
|
||||
activated = true; //activation animations can play
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Called when the node enters the scene tree for the first time.
|
||||
public override void _Ready()
|
||||
{
|
||||
//setting values that can't be preloaded
|
||||
probe = GetNode<Area2D>("Probe");
|
||||
sprite = GetNode<AnimatedSprite2D>("CageSprite");
|
||||
GhostCaged = GetNode<AudioStreamPlayer>("GhostCaged");
|
||||
cageTrigger = GetNode<Area2D>("Trigger");
|
||||
}
|
||||
|
||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
animations();
|
||||
}
|
||||
|
||||
private void animations()
|
||||
{
|
||||
// animations for the cage are determined by it's activation, not a timer like the player or ghost
|
||||
if(red == false)
|
||||
{
|
||||
if (activated == true)
|
||||
{
|
||||
sprite.Play("Active");
|
||||
}
|
||||
if (activated == false)
|
||||
{
|
||||
sprite.Play("Idle");
|
||||
}
|
||||
}
|
||||
if(red == true)
|
||||
{
|
||||
if (activated == true)
|
||||
{
|
||||
sprite.Play("RedActive");
|
||||
}
|
||||
if (activated == false)
|
||||
{
|
||||
sprite.Play("RedIdle");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,165 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Chloek : StaticBody2D
|
||||
{
|
||||
private Area2D probe; // probe to find the tile in the in the direction of the player's movement
|
||||
private AnimatedSprite2D sprite; // animated sprite of player
|
||||
public Vector2 spriteMovement; // 2d vector dictating sprite's independant movement
|
||||
private AudioStreamPlayer Interact;
|
||||
private AudioStreamPlayer Reset;
|
||||
private AudioStreamPlayer Snore;
|
||||
private bool canMove = true; // if the player can move
|
||||
private bool blocked; // if the player shouldn't move
|
||||
private int pause; //timer for when processing needs to occur
|
||||
private int idle; // timer for idling based actions (animations mostly)
|
||||
private int snoreTimer; //timer for snoring
|
||||
private Vector2 movement; //last movement direction
|
||||
|
||||
private void _on_probe_body_entered(Node2D body) //a bit slow to respond, but it does it's job most of the time
|
||||
{
|
||||
if (body.IsInGroup("Wall")) // if probe detects walls
|
||||
{
|
||||
blocked = true; // stops from moving
|
||||
}
|
||||
if (body.IsInGroup("Obsticals") && !body.IsInGroup("Lazer")) // if probe detects an obstical that isnt a lazer
|
||||
{
|
||||
blocked = true; //stops from moving;
|
||||
}
|
||||
// previous two can probably be lumped into one if statement
|
||||
}
|
||||
|
||||
private void _on_probe_body_exited(Node2D body)
|
||||
{
|
||||
if (body.IsInGroup("Wall")) //if probe detects walls
|
||||
{
|
||||
blocked = false; // allow moving
|
||||
}
|
||||
if (body.IsInGroup("Obsticals") && !body.IsInGroup("Lazer")) //if probe detects an obstical that isnt a lazer
|
||||
{
|
||||
blocked = false; // allow moving
|
||||
}
|
||||
}
|
||||
|
||||
private void _on_chloek_area_body_entered(Node2D body)
|
||||
{
|
||||
//this "bounces" the player back if they enter a lazer
|
||||
//I only need this becuase Lazers break normal collision checks
|
||||
if (body.IsInGroup("Lazer"))
|
||||
{
|
||||
pause = 0;
|
||||
canMove = true;
|
||||
probe.Position = movement * -1;
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Ready() // on startup
|
||||
{
|
||||
// setting starting coditions for variables
|
||||
probe = GetNode<Area2D>("Probe");
|
||||
sprite = GetNode<AnimatedSprite2D>("ChloekSprite");
|
||||
Interact = GetNode<AudioStreamPlayer>("Interact");
|
||||
Reset = GetNode<AudioStreamPlayer>("Reset");
|
||||
Snore = GetNode<AudioStreamPlayer>("Snore");
|
||||
spriteMovement = Position;
|
||||
}
|
||||
|
||||
public override void _PhysicsProcess(double delta) // can update multipul times a frame so movment happens propperly
|
||||
{
|
||||
//finished tasks become functions
|
||||
if (pause == 0)
|
||||
{
|
||||
move();
|
||||
animations();
|
||||
}
|
||||
else {pause--;}
|
||||
}
|
||||
|
||||
public void animations()
|
||||
{
|
||||
idle++;
|
||||
if (sprite.GlobalPosition != Position) //if intending to move
|
||||
{
|
||||
if (idle > 0)
|
||||
{
|
||||
idle = 0;
|
||||
}
|
||||
}
|
||||
|
||||
switch (idle) //switch case for all time based animations
|
||||
{
|
||||
case 0: sprite.Play("Walk"); break;
|
||||
case 1: sprite.Play("Idle"); sprite.Stop(); break;
|
||||
case 1200: sprite.Play("Idle"); break;
|
||||
case 1900: sprite.Play("Eepy"); break;
|
||||
}
|
||||
if(idle >= 1900)
|
||||
{
|
||||
if(snoreTimer > 400)
|
||||
{
|
||||
Snore.Play();
|
||||
snoreTimer = 0;
|
||||
}
|
||||
else {snoreTimer++;}
|
||||
}
|
||||
else {snoreTimer = 0;}
|
||||
|
||||
spriteMovement = spriteMovement.MoveToward(Position, 1f); // sprite lags behind player position slightly
|
||||
sprite.GlobalPosition = spriteMovement; //seems redundant but is nessesary
|
||||
}
|
||||
|
||||
public void move()
|
||||
{
|
||||
if (canMove == true && blocked == false) //if player can move and isnt walking into something
|
||||
{
|
||||
spriteMovement = Position; //sprite snaps to previous position
|
||||
Position = probe.GlobalPosition; //player position changes to probe's position
|
||||
canMove = false; //prevents the player from moving every chance they get
|
||||
}
|
||||
else
|
||||
{
|
||||
canMove = false; //prevents the player from walking as soon as they aren't blocked
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionPressed("Reset"))
|
||||
{
|
||||
Reset.Play();
|
||||
}
|
||||
if(pause == 0) //pauses delay movement enough so that you can't walk into walls
|
||||
{
|
||||
if (@event.IsActionPressed("Up"))
|
||||
{
|
||||
movement = new Vector2(0,-20);
|
||||
canMove = true;
|
||||
pause = 3;
|
||||
}
|
||||
|
||||
else if (@event.IsActionPressed("Down"))
|
||||
{
|
||||
movement = new Vector2(0,20);
|
||||
canMove = true;
|
||||
pause = 3;
|
||||
}
|
||||
|
||||
else if (@event.IsActionPressed("Left"))
|
||||
{
|
||||
movement = new Vector2(-20,0);
|
||||
sprite.FlipH = true; //sprite flips to face left
|
||||
canMove = true;
|
||||
pause = 3;
|
||||
}
|
||||
|
||||
else if (@event.IsActionPressed("Right"))
|
||||
{
|
||||
movement = new Vector2(20,0);
|
||||
sprite.FlipH = false; //sprite flips to face right
|
||||
canMove = true;
|
||||
pause = 3;
|
||||
}
|
||||
probe.Position = movement; //i could do this without movement, but i need it so that other sections can use it.
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Entrance : StaticBody2D
|
||||
{
|
||||
// even more basic than the exit, this just makes sure the player is in the starting location when swapping between levels
|
||||
public override void _Ready()
|
||||
{
|
||||
GetNode<StaticBody2D>("/root/OutofBody/Chloek").GlobalPosition = Position;
|
||||
// looks funny when this is gone, but this just makes sure that between levels the player's sprite is teleported with the actual player
|
||||
GetNode<Chloek>("/root/OutofBody/Chloek").spriteMovement = Position;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,146 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class EvilEye : StaticBody2D
|
||||
{
|
||||
private Area2D probe; // probe for positioning lazer beams
|
||||
private AnimatedSprite2D lidSprite; // animated sprite of eye lid
|
||||
private AnimatedSprite2D ballSprite; // animated sprite of eye ball
|
||||
private bool spriteStop; // for sprites which only happen once
|
||||
public int frame = 0; // frame of lazer's animation
|
||||
private int pause; // timer to help with syncing up the lazer beams
|
||||
|
||||
[Export]
|
||||
public bool red; //do you want it cherry flavored?
|
||||
[Export] //can be tweaked in inspector
|
||||
public bool activated; // if activated
|
||||
[Export]
|
||||
public int direction; // left-1 right-2 up-3 down-4
|
||||
|
||||
|
||||
private void _on_area_2d_area_entered(Area2D area)
|
||||
{
|
||||
if (area.IsInGroup("Cage")) // if probe detects an obstical
|
||||
{
|
||||
activated = !activated; //inverts the activation status of the eye (on -> off, off -> on)
|
||||
}
|
||||
}
|
||||
|
||||
// Called when the node enters the scene tree for the first time.
|
||||
public override void _Ready()
|
||||
{
|
||||
//setting variables that can't be preloaded
|
||||
probe = GetNode<Area2D>("FacingProbe");
|
||||
lidSprite = GetNode<AnimatedSprite2D>("EvilEyeLid");
|
||||
ballSprite = GetNode<AnimatedSprite2D>("EvilEyeBall");
|
||||
//fun fact: despite only having one animation, it has to be activated within the code or else it's a still image
|
||||
if(red == false)
|
||||
{
|
||||
ballSprite.Play("Idle");
|
||||
}
|
||||
if(red == true)
|
||||
{
|
||||
ballSprite.Play("RedIdle");
|
||||
}
|
||||
//direction for placing newly spawned lazerbeams
|
||||
switch (direction)
|
||||
{
|
||||
case 1: lidSprite.Rotation = 3.1416f; probe.Position = new Vector2(-20,0); break;
|
||||
case 2: lidSprite.Rotation = 0; probe.Position = new Vector2(20,0); break;
|
||||
case 3: lidSprite.Rotation = 4.712f; probe.Position = new Vector2(0,-20); break;
|
||||
case 4: lidSprite.Rotation = 1.5708f; probe.Position = new Vector2(0,20); break;
|
||||
}
|
||||
}
|
||||
|
||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
//everything below this is so that all of the lazers sync with eachother
|
||||
if (pause == 0)
|
||||
{
|
||||
//allowing the lazers to move
|
||||
for(int i = 0; i < GetChildCount(); i++)
|
||||
{
|
||||
if(GetChild(i).IsInGroup("Lazer"))
|
||||
{
|
||||
var child = GetChild(i) as lazer;
|
||||
child.pause = 0;
|
||||
}
|
||||
}
|
||||
//creates more lazers if activated
|
||||
if(activated == true)
|
||||
{
|
||||
var packedLazer = GD.Load<PackedScene>("res://Entities/Lazer.tscn");
|
||||
var lazer = packedLazer.Instantiate() as lazer;
|
||||
lazer.Position = probe.Position;
|
||||
lazer.direction = direction;
|
||||
AddChild(lazer);
|
||||
}
|
||||
//this syncs animations
|
||||
if(red == false)
|
||||
{
|
||||
for(int i = 0; i < GetChildCount(); i++)
|
||||
{
|
||||
if(GetChild(i).IsInGroup("Lazer"))
|
||||
{
|
||||
var child = GetChild(i) as lazer;
|
||||
child.sprite.Play(frame.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
if(red == true)
|
||||
{
|
||||
for(int i = 0; i < GetChildCount(); i++)
|
||||
{
|
||||
if(GetChild(i).IsInGroup("Lazer"))
|
||||
{
|
||||
var child = GetChild(i) as lazer;
|
||||
child.sprite.Play("Red" + frame.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
//small frame timer
|
||||
frame++;
|
||||
if(frame > 3) {frame = 0;}
|
||||
|
||||
pause = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
pause--;
|
||||
}
|
||||
animations();
|
||||
}
|
||||
|
||||
private void animations()
|
||||
{
|
||||
//since these are one time only animations, I need to stop them from looping
|
||||
//similar to the cage, these are dependant on activation status and not a timer
|
||||
if(red == false)
|
||||
{
|
||||
if (activated == true && spriteStop == false)
|
||||
{
|
||||
lidSprite.Play("Active");
|
||||
spriteStop = true;
|
||||
}
|
||||
if (activated == false)
|
||||
{
|
||||
lidSprite.Play("Idle");
|
||||
spriteStop = false;
|
||||
}
|
||||
}
|
||||
if(red == true)
|
||||
{
|
||||
if (activated == true && spriteStop == false)
|
||||
{
|
||||
lidSprite.Play("RedActive");
|
||||
spriteStop = true;
|
||||
}
|
||||
if (activated == false)
|
||||
{
|
||||
lidSprite.Play("RedIdle");
|
||||
spriteStop = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Exit : StaticBody2D
|
||||
{
|
||||
// no variable, no nothing, just detects the player and tells the game that it should increment the level counter
|
||||
private void _on_exit_area_area_entered(Area2D area)
|
||||
{
|
||||
if (area.IsInGroup("Player")) //if player is in exit
|
||||
{
|
||||
GetNode<OoB>("/root/OutofBody").Level = GetNode<OoB>("/root/OutofBody").Level + 1;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,187 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Ghost : StaticBody2D
|
||||
{
|
||||
//I just tweaked the player code, cause it works.
|
||||
|
||||
private Area2D probe; // probe to find the tile in the in the direction of the ghost's movement
|
||||
private AnimatedSprite2D sprite; // animated sprite of ghost
|
||||
private AudioStreamPlayer GhostMove;//some audio tracks
|
||||
private AudioStreamPlayer GhostCage;
|
||||
private Vector2 spriteMovement; // 2d vector dictating sprite's independant movement
|
||||
private bool canMove = true; // if next step can be taken
|
||||
private bool blocked; // if the player should noy move
|
||||
private int pause; //timer for when processing needs to occur
|
||||
private int idle = 99; // timer for idling based actions (animations mostly) starts high enough to skip certain animations on startup
|
||||
public bool activated; //if activated by player
|
||||
public bool facing; //if player is facing
|
||||
public bool moving; //probably redundant but it works
|
||||
public float storedSpin; //what the actual rotation of the object is used mostly for the sprite
|
||||
|
||||
private void _on_probe_body_entered(Node2D body)
|
||||
{
|
||||
if (body.IsInGroup("Wall")) // if probe detects walls
|
||||
{
|
||||
blocked = true; // stops from moving
|
||||
canMove = false;
|
||||
activated = false; //stops the constant movement from reoccuring until the player reactivates it
|
||||
}
|
||||
if (body.IsInGroup("Obsticals") && !body.IsInGroup("Cage") && !body.IsInGroup("Lazer")) // if probe detects an obstical that isn't a cage or lazer
|
||||
{
|
||||
blocked = true; //stops from moving
|
||||
canMove = false;
|
||||
activated = false; //stops the constant movement from reoccuring until the player reactivates it
|
||||
}
|
||||
if (body == GetNode<StaticBody2D>("/root/OutofBody/Chloek")) // if probe detects the player somehow
|
||||
{
|
||||
blocked = true; //stops from moving
|
||||
canMove = false;
|
||||
activated = false; //stops the constant movement from reoccuring until the player reactivates it
|
||||
}
|
||||
}
|
||||
|
||||
private void _on_probe_body_exited(Node2D body)
|
||||
{
|
||||
if (body.IsInGroup("Wall")) //if probe detects walls
|
||||
{
|
||||
blocked = false; // allow moving
|
||||
}
|
||||
if (body.IsInGroup("Obsticals") && !body.IsInGroup("Lazer")) //if probe detects a non-lazer obstical
|
||||
{
|
||||
blocked = false; // allow moving
|
||||
}
|
||||
if (body == GetNode<StaticBody2D>("/root/OutofBody/Chloek")) //if probe detects player
|
||||
{
|
||||
blocked = false; // allow moving
|
||||
}
|
||||
}
|
||||
|
||||
private void _on_ghost_area_area_entered(Area2D area)
|
||||
{
|
||||
if (area == GetNode<Area2D>("/root/OutofBody/Chloek/Probe"))
|
||||
{
|
||||
facing = true; //the player is facing the ghost
|
||||
}
|
||||
}
|
||||
|
||||
private void _on_ghost_area_area_exited(Area2D area)
|
||||
{
|
||||
if (area == GetNode<Area2D>("/root/OutofBody/Chloek/Probe"))
|
||||
{
|
||||
facing = false; //the player is no longer facing the ghost
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override void _Ready() // on startup
|
||||
{
|
||||
// setting starting coditions for variables
|
||||
probe = GetNode<Area2D>("Probe");
|
||||
sprite = GetNode<AnimatedSprite2D>("GhostSprite");
|
||||
GhostMove = GetNode<AudioStreamPlayer>("GhostMove");
|
||||
GhostCage = GetNode<AudioStreamPlayer>("GhostCage");
|
||||
spriteMovement = Position;
|
||||
}
|
||||
|
||||
public override void _PhysicsProcess(double delta) // updates multipul times a frame so movment happens propperly
|
||||
{
|
||||
//finished tasks become functions
|
||||
if (pause == 0)
|
||||
{
|
||||
move();
|
||||
}
|
||||
else {pause--;}
|
||||
|
||||
animations();
|
||||
}
|
||||
|
||||
public void animations()
|
||||
{
|
||||
idle++;
|
||||
if (sprite.GlobalPosition != Position) //if intending to move
|
||||
{
|
||||
if (idle > 0)
|
||||
{
|
||||
idle = 0;
|
||||
}
|
||||
}
|
||||
//all time based animations here
|
||||
switch (idle)
|
||||
{
|
||||
case 0: sprite.Play("Moving"); break;
|
||||
case 1: sprite.Play("Stopping"); break;
|
||||
case 60: sprite.Play("Pre-Idle"); break;
|
||||
case 100: sprite.Play("Idle"); break;
|
||||
}
|
||||
|
||||
if (idle >= 60)
|
||||
{
|
||||
sprite.Rotation = 0;
|
||||
}
|
||||
else if (idle == 0)
|
||||
{
|
||||
sprite.Rotation = storedSpin;
|
||||
}
|
||||
|
||||
spriteMovement = spriteMovement.MoveToward(Position, 10f); // sprite moves towards ghost's position
|
||||
sprite.GlobalPosition = spriteMovement; //seems redundant
|
||||
}
|
||||
|
||||
public void move()
|
||||
{
|
||||
if (canMove == true && blocked == false && facing == true || moving == true && blocked == false && canMove == true) //if ghost can move
|
||||
{
|
||||
GhostMove.Play();
|
||||
spriteMovement = Position; //sprite snaps to previous position
|
||||
Position = probe.GlobalPosition; //ghost position changes to probe's position
|
||||
moving = true; //allows constant movement
|
||||
}
|
||||
else
|
||||
{
|
||||
//disables constant movement
|
||||
canMove = false;
|
||||
activated = false;
|
||||
moving = false;
|
||||
}
|
||||
}
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionPressed("Action"))
|
||||
{
|
||||
//actions are handled by the ghost not the player
|
||||
activated = true;
|
||||
canMove = true;
|
||||
}
|
||||
if(activated == false)
|
||||
{
|
||||
//all rotations are stored as radians not degrees
|
||||
if (@event.IsActionPressed("Up"))
|
||||
{
|
||||
probe.Position = new Vector2(0,-20);
|
||||
storedSpin = 4.712f; //sprite flips to face up
|
||||
pause = 3;
|
||||
}
|
||||
else if (@event.IsActionPressed("Down"))
|
||||
{
|
||||
probe.Position = new Vector2(0,20);
|
||||
storedSpin = 1.5708f; //sprite flips to face down
|
||||
pause = 3;
|
||||
}
|
||||
|
||||
else if (@event.IsActionPressed("Left"))
|
||||
{
|
||||
probe.Position = new Vector2(-20,0);
|
||||
storedSpin = 3.1416f; //sprite flips to face left
|
||||
pause = 3;
|
||||
}
|
||||
|
||||
else if (@event.IsActionPressed("Right"))
|
||||
{
|
||||
probe.Position = new Vector2(20,0);
|
||||
storedSpin = 0; //sprite flips to face right
|
||||
pause = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class OoB : Node2D
|
||||
{
|
||||
public int currentLevel = 0; //the current level, so that level only changese when it changes
|
||||
private AudioStreamPlayer ExitDoot; //just an audio track
|
||||
[Export]
|
||||
public int Level = 0; //level counter, 0 is main menue, all else is normal
|
||||
|
||||
public override void _Ready() // on startup
|
||||
{
|
||||
ExitDoot = GetNode<AudioStreamPlayer>("ExitDoot");
|
||||
}
|
||||
|
||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
if(Level != currentLevel) //if the level has changed
|
||||
{
|
||||
ExitDoot.Play();
|
||||
for(int i = 0; i < GetChildCount(); i++)
|
||||
{
|
||||
if(GetChild(i).IsInGroup("Level"))
|
||||
{
|
||||
GetChild(i).QueueFree(); //removing current level
|
||||
}
|
||||
}
|
||||
if(Level == 7)
|
||||
{
|
||||
for(int i = 0; i < GetChildCount(); i++)
|
||||
{
|
||||
if(GetChild(i).IsInGroup("Player"))
|
||||
{
|
||||
GetChild(i).QueueFree(); //removing current level
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//making new level
|
||||
var packedLevel = GD.Load<PackedScene>("res://Levels/" + Level.ToString() + ".tscn");
|
||||
var instanceLevel = packedLevel.Instantiate();
|
||||
AddChild(instanceLevel);
|
||||
currentLevel = Level;
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionPressed("Reset"))
|
||||
{
|
||||
for(int i = 0; i < GetChildCount(); i++)
|
||||
{
|
||||
if(GetChild(i).IsInGroup("Level"))
|
||||
{
|
||||
GetChild(i).QueueFree(); //removing current level
|
||||
}
|
||||
}
|
||||
|
||||
//making new level
|
||||
var packedLevel = GD.Load<PackedScene>("res://Levels/" + Level.ToString() + ".tscn");
|
||||
var instanceLevel = packedLevel.Instantiate();
|
||||
AddChild(instanceLevel);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class lazer : StaticBody2D
|
||||
{
|
||||
//named lazer because Zs are cooler than Ss
|
||||
//I just tweaked the ghost code, cause it works.
|
||||
|
||||
private Area2D probe; // probe to find the tile in the in the direction of the lazer's movement
|
||||
public AnimatedSprite2D sprite; // animated sprite of lazer
|
||||
private bool destroy; //if lazer should be destroyed
|
||||
public int pause = 3; //timer for when processing needs to occur
|
||||
//hmm this seems similar to the one from EvilEye... sure would make it easy to share this variable between them...
|
||||
public int direction; //left-1 right-2 up-3 down-4
|
||||
|
||||
private void _on_probe_body_entered(Node2D body)
|
||||
{
|
||||
if (body.IsInGroup("Wall")) // if probe detects walls
|
||||
{
|
||||
destroy = true; //next update the lazer will be erased
|
||||
}
|
||||
if (body.IsInGroup("Obsticals") && !body.IsInGroup("Lazer") && !body.IsInGroup("Ghost")) // if probe detects non-lazer, non-ghost obsticals
|
||||
{
|
||||
destroy = true; //next update the lazer will be erased
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Ready() // on startup
|
||||
{
|
||||
// setting starting coditions for variables
|
||||
probe = GetNode<Area2D>("Probe");
|
||||
sprite = GetNode<AnimatedSprite2D>("LazerSprite");
|
||||
//yeah. it's kinda obvious that everything the lazer can do is determined by the evil eye, huh.
|
||||
switch (direction)
|
||||
{
|
||||
case 1: sprite.Rotation = 3.1416f; probe.Position = new Vector2(-20,0); break;
|
||||
case 2: sprite.Rotation = 0; probe.Position = new Vector2(20,0); break;
|
||||
case 3: sprite.Rotation = 4.712f; probe.Position = new Vector2(0,-20); break;
|
||||
case 4: sprite.Rotation = 1.5708f; probe.Position = new Vector2(0,20); break;
|
||||
}
|
||||
}
|
||||
|
||||
public override void _PhysicsProcess(double delta) // updates multipul times a frame so movment happens propperly
|
||||
{
|
||||
//finished tasks become functions
|
||||
if (pause == 0)
|
||||
{
|
||||
//destruction happens before everything else
|
||||
//think of it as a permanent break();
|
||||
if(destroy == true)
|
||||
{
|
||||
QueueFree();
|
||||
}
|
||||
move();
|
||||
pause = 3;
|
||||
//no animations because the lazer gets synced by it's parent
|
||||
}
|
||||
}
|
||||
public void move()
|
||||
{
|
||||
//just goes forwards really fast
|
||||
GlobalPosition = probe.GlobalPosition; //player position changes to probe's position
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
<Project Sdk="Godot.NET.Sdk/4.2.1">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<RootNamespace>SharpofBody</RootNamespace>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,7 @@
|
|||
<Project Sdk="Godot.NET.Sdk/4.1.2">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<RootNamespace>SharpofBody</RootNamespace>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,7 @@
|
|||
<Project Sdk="Godot.NET.Sdk/4.1.3">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<RootNamespace>SharpofBody</RootNamespace>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,7 @@
|
|||
<Project Sdk="Godot.NET.Sdk/4.2.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<RootNamespace>SharpofBody</RootNamespace>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sharp of Body", "Sharp of Body.csproj", "{5E08DAE9-E4FE-431A-BD44-41A98FD1CC78}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
ExportDebug|Any CPU = ExportDebug|Any CPU
|
||||
ExportRelease|Any CPU = ExportRelease|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{5E08DAE9-E4FE-431A-BD44-41A98FD1CC78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5E08DAE9-E4FE-431A-BD44-41A98FD1CC78}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5E08DAE9-E4FE-431A-BD44-41A98FD1CC78}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
|
||||
{5E08DAE9-E4FE-431A-BD44-41A98FD1CC78}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
|
||||
{5E08DAE9-E4FE-431A-BD44-41A98FD1CC78}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
|
||||
{5E08DAE9-E4FE-431A-BD44-41A98FD1CC78}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
After Width: | Height: | Size: 2.0 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c38fo4o7uf5c3"
|
||||
path="res://.godot/imported/OoB elements.png-55a74cbec86fc99b23487e8adb8c8365.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprite Sheets/OoB elements.png"
|
||||
dest_files=["res://.godot/imported/OoB elements.png-55a74cbec86fc99b23487e8adb8c8365.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b46im6jq0mlly"
|
||||
path="res://.godot/imported/OoBchloek.png-46639d269be2a20e8fcd35f2ede2a88c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprite Sheets/OoBchloek.png"
|
||||
dest_files=["res://.godot/imported/OoBchloek.png-46639d269be2a20e8fcd35f2ede2a88c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://s2cmbu5hdci"
|
||||
path="res://.godot/imported/RedElements.png-2950f6e44c119a000580cde113dc50f1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprite Sheets/RedElements.png"
|
||||
dest_files=["res://.godot/imported/RedElements.png-2950f6e44c119a000580cde113dc50f1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 454 B |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3ppe6c48t58p"
|
||||
path="res://.godot/imported/Stairs.png-2e6044dc937417741cdfcd17b46031bf.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprite Sheets/Stairs.png"
|
||||
dest_files=["res://.godot/imported/Stairs.png-2e6044dc937417741cdfcd17b46031bf.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
After Width: | Height: | Size: 19 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://blwjhfghty128"
|
||||
path="res://.godot/imported/ending.png-1537741371763dac8b5adfbc9d49b3d1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprite Sheets/ending.png"
|
||||
dest_files=["res://.godot/imported/ending.png-1537741371763dac8b5adfbc9d49b3d1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 262 B |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://df3sih1nkiy3"
|
||||
path="res://.godot/imported/orb.png-1682212627fc5271622d0c62aa7bf387.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprite Sheets/orb.png"
|
||||
dest_files=["res://.godot/imported/orb.png-1682212627fc5271622d0c62aa7bf387.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
After Width: | Height: | Size: 279 B |
After Width: | Height: | Size: 23 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cxf3ijccwan4y"
|
||||
path="res://.godot/imported/title.png-0955398c8b2e56927687aae36b701aa2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprite Sheets/title.png"
|
||||
dest_files=["res://.godot/imported/title.png-0955398c8b2e56927687aae36b701aa2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://xtmwg12nv46a"
|
||||
path="res://.godot/imported/OoB Floors.png-119a3c098f20de6107fa1e40c2af116f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Tile Maps/OoB Floors.png"
|
||||
dest_files=["res://.godot/imported/OoB Floors.png-119a3c098f20de6107fa1e40c2af116f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
After Width: | Height: | Size: 824 B |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c2qwlucibqbu0"
|
||||
path="res://.godot/imported/OoB Walls.png-28f4639f7d4f3ff10a3b3302f8834d7d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Tile Maps/OoB Walls.png"
|
||||
dest_files=["res://.godot/imported/OoB Walls.png-28f4639f7d4f3ff10a3b3302f8834d7d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
|
@ -0,0 +1,16 @@
|
|||
[gd_resource type="AudioBusLayout" format=3 uid="uid://cwj2e5er4rbr3"]
|
||||
|
||||
[resource]
|
||||
bus/0/volume_db = -3.76831
|
||||
bus/1/name = &"FootSteps"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = -10.5236
|
||||
bus/1/send = &"Master"
|
||||
bus/2/name = &"Quiet"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = -18.3165
|
||||
bus/2/send = &"Master"
|
|
@ -0,0 +1,108 @@
|
|||
[preset.0]
|
||||
|
||||
name="Linux/X11"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../Downloads/OutofBody.x86_64"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
export DISPLAY=:0
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
dotnet/include_scripts_content=false
|
||||
dotnet/include_debug_symbols=true
|
||||
dotnet/embed_build_outputs=false
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="Windows Desktop"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../Downloads/OutofBody.exe"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
codesign/enable=false
|
||||
codesign/timestamp=true
|
||||
codesign/timestamp_server_url=""
|
||||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PackedStringArray()
|
||||
application/modify_resources=true
|
||||
application/icon=""
|
||||
application/console_wrapper_icon=""
|
||||
application/icon_interpolation=0
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
application/export_angle=0
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||
$settings = New-ScheduledTaskSettingsSet
|
||||
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||
Start-ScheduledTask -TaskName godot_remote_debug
|
||||
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||
dotnet/include_scripts_content=false
|
||||
dotnet/include_debug_symbols=true
|
||||
dotnet/embed_build_outputs=false
|
|
@ -0,0 +1,78 @@
|
|||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=5
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Out of Body"
|
||||
config/version="V1.0"
|
||||
run/main_scene="res://OoB.tscn"
|
||||
config/features=PackedStringArray("4.2", "C#", "GL Compatibility")
|
||||
boot_splash/bg_color=Color(0, 0, 0, 1)
|
||||
boot_splash/show_image=false
|
||||
boot_splash/fullsize=false
|
||||
boot_splash/use_filter=false
|
||||
config/icon="res://Icon.png"
|
||||
|
||||
[audio]
|
||||
|
||||
buses/default_bus_layout=""
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=1024
|
||||
window/size/viewport_height=768
|
||||
window/size/mode=3
|
||||
window/size/borderless=true
|
||||
window/stretch/mode="viewport"
|
||||
window/stretch/scale_mode="integer"
|
||||
window/vsync/vsync_mode=0
|
||||
|
||||
[dotnet]
|
||||
|
||||
project/assembly_name="Sharp of Body"
|
||||
|
||||
[input]
|
||||
|
||||
Up={
|
||||
"deadzone": 0.5,
|
||||
"events": [null, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
Down={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
Left={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
Right={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
Action={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":90,"physical_keycode":0,"key_label":0,"unicode":122,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
Reset={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":114,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[rendering]
|
||||
|
||||
textures/canvas_textures/default_texture_filter=0
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
renderer/rendering_method.mobile="gl_compatibility"
|