Files
sidescroller-project/sidescroller/scenes/Player.tscn

727 lines
21 KiB
Plaintext
Raw Normal View History

2025-06-11 17:54:55 +02:00
[gd_scene load_steps=38 format=3 uid="uid://c3w3n7ysd02bd"]
2025-06-04 18:25:54 +02:00
[ext_resource type="Texture2D" uid="uid://c1my4xbvhsdq8" path="res://assets/textures/Player Idle 144x144.png" id="1_p0vlq"]
[ext_resource type="Texture2D" uid="uid://crkx6pt8e4cmc" path="res://assets/textures/player new jump 144x144.png" id="2_qu4a1"]
[ext_resource type="Texture2D" uid="uid://dvy7cws4egkmh" path="res://assets/textures/player fall 144x144.png" id="3_70d11"]
[ext_resource type="Texture2D" uid="uid://d11goqqiewsdg" path="res://assets/textures/player run 144x144.png" id="4_cw2d6"]
[ext_resource type="Texture2D" uid="uid://dletf8p3wr4n4" path="res://assets/textures/player air spin 144x144.png" id="5_khinc"]
[ext_resource type="Texture2D" uid="uid://cox74najv0828" path="res://assets/textures/player crouch-walk 144x144.png" id="6_70d11"]
[ext_resource type="Texture2D" uid="uid://co5l6328i3y76" path="res://assets/textures/Player Crouch-Idle 144x144.png" id="6_cw2d6"]
2025-06-11 17:54:55 +02:00
[ext_resource type="Script" uid="uid://c0iqbs1ms86cw" path="res://scripts/State Machine.gd" id="9_bruh7"]
[ext_resource type="Texture2D" uid="uid://d4dnvylog631n" path="res://assets/textures/ledge hang 144x144.png" id="9_sfy4j"]
[ext_resource type="Script" uid="uid://cawr3av2aa8jb" path="res://scripts/playercrouch.gd" id="10_6eyey"]
[ext_resource type="Texture2D" uid="uid://cry06ubemcrcf" path="res://assets/textures/player ledge climb 144x144.png" id="10_b8lor"]
[ext_resource type="Script" uid="uid://dyee6xwb8js1s" path="res://scripts/playerrun.gd" id="11_p7iby"]
[ext_resource type="Script" uid="uid://dhvehwhg63p2h" path="res://scripts/playercrouchwalk.gd" id="11_srp4u"]
[ext_resource type="Script" uid="uid://d0cc7xgq16onu" path="res://scripts/playerjump.gd" id="12_0rnld"]
[ext_resource type="Script" uid="uid://bcnm70o0yo87k" path="res://scripts/playerwallrun.gd" id="13_srp4u"]
[ext_resource type="Script" uid="uid://cgsyaphtn6k6q" path="res://scripts/playerdoublejump.gd" id="14_61ith"]
[ext_resource type="Script" uid="uid://d34ia87aolokd" path="res://scripts/playeridle.gd" id="14_jfpux"]
[ext_resource type="Script" uid="uid://bxkdsl12qa7jy" path="res://scripts/playerwallrunpushoff.gd" id="16_61ith"]
[ext_resource type="Script" uid="uid://whap2d3r3yk" path="res://scripts/playerfall.gd" id="16_jfpux"]
[ext_resource type="Script" uid="uid://c46i4062efgw1" path="res://scripts/playerledgegrab.gd" id="19_ebwui"]
[ext_resource type="Script" uid="uid://boe7p8pcolkln" path="res://scripts/playerclimbup.gd" id="21_gv3ic"]
2025-06-04 18:25:54 +02:00
[sub_resource type="GDScript" id="GDScript_khinc"]
script/source = "extends CharacterBody2D
"
2025-06-11 17:54:55 +02:00
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gv3ic"]
size = Vector2(58, 86.5)
2025-06-04 18:25:54 +02:00
[sub_resource type="Animation" id="Animation_6eyey"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("1_p0vlq")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [10]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
2025-06-11 17:54:55 +02:00
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../Sprite2D:offset")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="Animation" id="Animation_6e537"]
resource_name = "climb up"
length = 0.5
step = 0.03
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("10_b8lor")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [5]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.0909091, 0.181818, 0.30303, 0.454545),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4]
}
2025-06-04 18:25:54 +02:00
[sub_resource type="Animation" id="Animation_cw2d6"]
resource_name = "crouch idle"
2025-06-11 17:54:55 +02:00
loop_mode = 1
2025-06-04 18:25:54 +02:00
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("6_cw2d6")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [10]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
}
[sub_resource type="Animation" id="Animation_khinc"]
resource_name = "crouch walk"
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("6_70d11")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [10]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
}
[sub_resource type="Animation" id="Animation_p7iby"]
resource_name = "double jump"
length = 0.55
step = 0.05
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("5_khinc")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [6]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5]
}
[sub_resource type="Animation" id="Animation_o4126"]
resource_name = "fall"
length = 0.05
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("3_70d11")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_bruh7"]
resource_name = "idle"
length = 0.95
loop_mode = 1
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("1_p0vlq")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [10]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
}
[sub_resource type="Animation" id="Animation_d3wef"]
resource_name = "jump"
length = 0.55
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("2_qu4a1")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [6]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5]
}
2025-06-11 17:54:55 +02:00
[sub_resource type="Animation" id="Animation_gv3ic"]
resource_name = "ledge hang"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("9_sfy4j")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.0666667),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.0333333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../Sprite2D:offset")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
2025-06-04 18:25:54 +02:00
[sub_resource type="Animation" id="Animation_lkdrv"]
resource_name = "run"
length = 0.81
loop_mode = 1
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Sprite2D:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("4_cw2d6")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../Sprite2D:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [8]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Sprite2D:vframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite2D:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_0rnld"]
_data = {
&"RESET": SubResource("Animation_6eyey"),
2025-06-11 17:54:55 +02:00
&"climb up": SubResource("Animation_6e537"),
2025-06-04 18:25:54 +02:00
&"crouch idle": SubResource("Animation_cw2d6"),
&"crouch walk": SubResource("Animation_khinc"),
&"double jump": SubResource("Animation_p7iby"),
&"fall": SubResource("Animation_o4126"),
&"idle": SubResource("Animation_bruh7"),
&"jump": SubResource("Animation_d3wef"),
2025-06-11 17:54:55 +02:00
&"ledge hang": SubResource("Animation_gv3ic"),
2025-06-04 18:25:54 +02:00
&"run": SubResource("Animation_lkdrv")
}
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bruh7"]
2025-06-11 17:54:55 +02:00
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sfy4j"]
2025-06-04 18:25:54 +02:00
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6eyey"]
[node name="Player" type="CharacterBody2D"]
script = SubResource("GDScript_khinc")
[node name="Sprite2D" type="Sprite2D" parent="."]
2025-06-11 17:54:55 +02:00
position = Vector2(0, -48)
2025-06-04 18:25:54 +02:00
texture = ExtResource("1_p0vlq")
hframes = 10
frame = 1
[node name="mainbody" type="CollisionShape2D" parent="."]
position = Vector2(0, -43)
2025-06-11 17:54:55 +02:00
shape = SubResource("RectangleShape2D_gv3ic")
2025-06-04 18:25:54 +02:00
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(0, -90)
2025-06-11 17:54:55 +02:00
[node name="RootMotion" type="Node" parent="."]
2025-06-04 18:25:54 +02:00
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
root_node = NodePath("../Camera2D")
libraries = {
&"": SubResource("AnimationLibrary_0rnld")
}
autoplay = "idle"
2025-06-11 17:54:55 +02:00
[node name="topcheck1" type="RayCast2D" parent="."]
2025-06-04 18:25:54 +02:00
position = Vector2(-29, -50)
target_position = Vector2(0, -37)
2025-06-11 17:54:55 +02:00
[node name="topcheck2" type="RayCast2D" parent="."]
2025-06-04 18:25:54 +02:00
position = Vector2(29, -50)
target_position = Vector2(0, -37)
[node name="wallrunrcright1" type="RayCast2D" parent="."]
position = Vector2(0, -22)
2025-06-11 17:54:55 +02:00
target_position = Vector2(120, 0)
2025-06-04 18:25:54 +02:00
[node name="wallrunrcright2" type="RayCast2D" parent="."]
position = Vector2(0, -97)
2025-06-11 17:54:55 +02:00
target_position = Vector2(120, 0)
2025-06-04 18:25:54 +02:00
[node name="wallrunrcleft1" type="RayCast2D" parent="."]
position = Vector2(0, -22)
2025-06-11 17:54:55 +02:00
target_position = Vector2(-120, 0)
2025-06-04 18:25:54 +02:00
[node name="wallrunrcleft2" type="RayCast2D" parent="."]
position = Vector2(0, -97)
2025-06-11 17:54:55 +02:00
target_position = Vector2(-120, 0)
2025-06-04 18:25:54 +02:00
2025-06-11 17:54:55 +02:00
[node name="wallcheckleft" type="ShapeCast2D" parent="."]
position = Vector2(-28, -60)
scale = Vector2(0.5, 0.8)
2025-06-04 18:25:54 +02:00
shape = SubResource("RectangleShape2D_bruh7")
2025-06-11 17:54:55 +02:00
[node name="wallcheckright" type="ShapeCast2D" parent="."]
position = Vector2(28, -60)
scale = Vector2(0.5, 0.8)
shape = SubResource("RectangleShape2D_sfy4j")
[node name="floorcheck" type="RayCast2D" parent="."]
position = Vector2(0, -47)
2025-06-04 18:25:54 +02:00
[node name="ledgecollision" type="CollisionShape2D" parent="."]
position = Vector2(0, -90)
2025-06-11 17:54:55 +02:00
scale = Vector2(3.5, 1e-05)
2025-06-04 18:25:54 +02:00
shape = SubResource("RectangleShape2D_6eyey")
2025-06-11 17:54:55 +02:00
[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("player", "initial_state")]
script = ExtResource("9_bruh7")
player = NodePath("..")
initial_state = NodePath("PlayerIdle")
[node name="PlayerCrouch" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("10_6eyey")
player = NodePath("../..")
metadata/_custom_type_script = "uid://cawr3av2aa8jb"
[node name="PlayerCrouchWalk" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("11_srp4u")
player = NodePath("../..")
metadata/_custom_type_script = "uid://dhvehwhg63p2h"
[node name="PlayerRun" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("11_p7iby")
player = NodePath("../..")
metadata/_custom_type_script = "uid://dyee6xwb8js1s"
[node name="PlayerJump" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("12_0rnld")
player = NodePath("../..")
metadata/_custom_type_script = "uid://d0cc7xgq16onu"
[node name="PlayerDoubleJump" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("14_61ith")
player = NodePath("../..")
metadata/_custom_type_script = "uid://cgsyaphtn6k6q"
[node name="PlayerWallrun" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("13_srp4u")
player = NodePath("../..")
metadata/_custom_type_script = "uid://bcnm70o0yo87k"
[node name="PlayerWallrunPushoff" type="Node" parent="StateMachine"]
script = ExtResource("16_61ith")
metadata/_custom_type_script = "uid://bxkdsl12qa7jy"
[node name="PlayerIdle" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("14_jfpux")
player = NodePath("../..")
metadata/_custom_type_script = "uid://d34ia87aolokd"
[node name="PlayerFall" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("16_jfpux")
player = NodePath("../..")
metadata/_custom_type_script = "uid://whap2d3r3yk"
[node name="PlayerLedgeGrab" type="Node" parent="StateMachine" node_paths=PackedStringArray("player")]
script = ExtResource("19_ebwui")
player = NodePath("../..")
metadata/_custom_type_script = "uid://c46i4062efgw1"
[node name="PlayerClimbUp" type="Node" parent="StateMachine"]
script = ExtResource("21_gv3ic")
metadata/_custom_type_script = "uid://boe7p8pcolkln"