1037 lines
33 KiB
Plaintext
1037 lines
33 KiB
Plaintext
[gd_scene load_steps=47 format=3 uid="uid://clbhclvndl73s"]
|
|
|
|
[ext_resource type="Script" uid="uid://cy77v0f8ysxdn" path="res://Char/Player/States/Player_State_Machine.gd" id="1_8b1ok"]
|
|
[ext_resource type="PackedScene" uid="uid://dd7k3qbsw1bhq" path="res://Char/Char_Components/After_Image/after_image_component.tscn" id="2_decx5"]
|
|
[ext_resource type="Script" uid="uid://c3evnbnu55wyg" path="res://Char/Player/States/Player_Idle_Battle.gd" id="3_pu8qh"]
|
|
[ext_resource type="PackedScene" uid="uid://dkgg53dn8lr3k" path="res://Char/Char_Components/Petals_Leaves/Sakura_Component.tscn" id="3_q3boy"]
|
|
[ext_resource type="Script" uid="uid://ivsb676j6ymo" path="res://Char/Player/States/Player_Run.gd" id="4_8gmn7"]
|
|
[ext_resource type="Script" uid="uid://usn2b841v0e" path="res://Char/Player/States/Player_Run_To_Idle.gd" id="5_o8lre"]
|
|
[ext_resource type="Script" uid="uid://b3qdqr4f88tel" path="res://Char/Player/States/Player_Jump.gd" id="6_pj6pc"]
|
|
[ext_resource type="Script" uid="uid://lip17xk6ycgj" path="res://Char/Player/States/Player_Squat.gd" id="6_rk7vx"]
|
|
[ext_resource type="Script" uid="uid://blmxhheiqno3m" path="res://Char/Player/States/Player_Roll.gd" id="7_f3k8f"]
|
|
[ext_resource type="Script" uid="uid://dx7idxrq88pha" path="res://Char/Player/States/Player_Fall.gd" id="7_l6ktk"]
|
|
[ext_resource type="Script" uid="uid://b3ovdc2fiasfo" path="res://Char/Player/States/Player_Wall_Slide.gd" id="8_0jioi"]
|
|
[ext_resource type="Script" uid="uid://b71px30wip3gu" path="res://Char/Player/States/Player_Wall_Jump.gd" id="9_omn5s"]
|
|
[ext_resource type="Script" uid="uid://be7lbkwkjnli7" path="res://Char/Player/States/Player_Attack.gd" id="12_qfaga"]
|
|
[ext_resource type="Texture2D" uid="uid://lrtnjluxb6yv" path="res://Char/Player/Shadow/Art/attack.png" id="15_ej1a7"]
|
|
[ext_resource type="Texture2D" uid="uid://e4kcxlgaihk3" path="res://Char/Player/Shadow/Art/jump.png" id="18_uw7wr"]
|
|
[ext_resource type="Texture2D" uid="uid://csiepgsoqspfg" path="res://Char/Player/Shadow/Art/roll.png" id="19_wrj2y"]
|
|
[ext_resource type="Texture2D" uid="uid://cdm13dsiyl6v2" path="res://Char/Player/Shadow/Art/wall_jump.png" id="23_d7rnr"]
|
|
[ext_resource type="Texture2D" uid="uid://demy7blir6oe3" path="res://Char/Player/Shadow/Art/idle_battle.png" id="23_ghobu"]
|
|
[ext_resource type="Texture2D" uid="uid://cd0vubrirnt5c" path="res://Char/Player/Shadow/Art/squat.png" id="28_0cch5"]
|
|
[ext_resource type="Texture2D" uid="uid://b1072sap5bgkb" path="res://Char/Player/Shadow/Art/wall_slide.png" id="33_gn6av"]
|
|
[ext_resource type="Texture2D" uid="uid://c2ug3srik26lk" path="res://Char/Player/Shadow/Art/run_to_idle.png" id="35_hn0oh"]
|
|
[ext_resource type="Texture2D" uid="uid://bcd7fyuacobpj" path="res://Char/Player/Shadow/Art/run.png" id="35_neogm"]
|
|
[ext_resource type="Texture2D" uid="uid://co7hggu2mljlb" path="res://Char/Player/Dragon/Art/spr_dragon_attack_0.png" id="67_r4cet"]
|
|
[ext_resource type="Texture2D" uid="uid://bged4gw2kxak4" path="res://Char/Player/Dragon/Art/spr_dragon_attack_1.png" id="68_yibrd"]
|
|
[ext_resource type="PackedScene" uid="uid://c4ighm8k5x65y" path="res://Char/Player/Player_Components/player_attack_component.tscn" id="72_m8ad3"]
|
|
[ext_resource type="PackedScene" uid="uid://dnlln6iv8ksy2" path="res://Char/Player/Player_Components/hit_stop_component.tscn" id="74_nx5vo"]
|
|
[ext_resource type="Script" uid="uid://btvbc6o6gwpms" path="res://Char/Char_Components/fx_component.gd" id="74_x0fc2"]
|
|
[ext_resource type="PackedScene" uid="uid://mhcxla3f3vac" path="res://Char/Player/Player_Components/hit_queue_processor.tscn" id="75_cx437"]
|
|
[ext_resource type="PackedScene" uid="uid://b6sngy5ab6s24" path="res://Char/Player/Player_Components/player_dash_component.tscn" id="75_r8ire"]
|
|
|
|
[sub_resource type="GDScript" id="GDScript_8meo2"]
|
|
script/source = "extends CharacterBody2D
|
|
|
|
var gravity = ProjectSettings.get_setting(\"physics/2d/default_gravity\")
|
|
@onready var floor_raycast = self.get_node(\"Detector/Floor\")
|
|
@onready var floor_l_raycast = self.get_node(\"Detector/Floor_L\")
|
|
@onready var floor_r_raycast = self.get_node(\"Detector/Floor_R\")
|
|
@onready var slope_l_raycast = self.get_node(\"Detector/Slope_L\")
|
|
@onready var slope_r_raycast = self.get_node(\"Detector/Slope_R\")
|
|
@onready var one_way_floor_raycast = self.get_node(\"Detector/One_Way_Floor\")
|
|
@onready var rope_raycast = self.get_node(\"Detector/Rope\")
|
|
@onready var rope_raycast_l = self.get_node(\"Detector/Rope_L\")
|
|
@onready var rope_raycast_r = self.get_node(\"Detector/Rope_R\")
|
|
@onready var wall_raycast = self.get_node(\"Detector/Wall/Wall\")
|
|
|
|
var can_attack = true
|
|
var can_dash = true
|
|
var add_attack_up_velocity = true
|
|
var can_gameplay_input = true
|
|
|
|
# 绳索
|
|
var _last_rope_contact := false
|
|
var rope : Node2D = null
|
|
|
|
func _physics_process(_delta):
|
|
rope_check()
|
|
|
|
func set_floor_raycasts_enabled(enabled: bool) -> void:
|
|
floor_raycast.enabled = enabled
|
|
floor_l_raycast.enabled = enabled
|
|
floor_r_raycast.enabled = enabled
|
|
slope_l_raycast.enabled = enabled
|
|
slope_r_raycast.enabled = enabled
|
|
|
|
func set_can_gameplay_input(value: bool) -> void:
|
|
if can_gameplay_input != value:
|
|
can_gameplay_input = value
|
|
|
|
func set_one_way_mask_value(mask_name: String, value: bool)-> void:
|
|
if mask_name == 'on_way_floor':
|
|
self.set_collision_mask_value(21,value)
|
|
elif mask_name == 'rope':
|
|
self.set_collision_mask_value(26,value)
|
|
elif mask_name == 'all':
|
|
self.set_collision_mask_value(26,value)
|
|
self.set_collision_mask_value(21,value)
|
|
|
|
func is_on_slope() -> String:
|
|
if floor_raycast.is_colliding() and floor_l_raycast.is_colliding() and floor_r_raycast.is_colliding():
|
|
return \"\"
|
|
if slope_l_raycast.is_colliding():
|
|
return \"L\"
|
|
if slope_r_raycast.is_colliding():
|
|
return \"R\"
|
|
return \"\"
|
|
|
|
func is_on_ground():
|
|
#if self.is_on_floor() and floor_raycast.is_colliding() or slope_l_raycast.is_colliding() or slope_r_raycast.is_colliding():
|
|
if self.is_on_floor() and (floor_raycast.is_colliding() or slope_l_raycast.is_colliding() or slope_r_raycast.is_colliding() or floor_l_raycast.is_colliding() or floor_r_raycast.is_colliding() or is_on_rope()):
|
|
return true
|
|
else:
|
|
return false
|
|
|
|
func is_on_one_way_ground():
|
|
return one_way_floor_raycast.is_colliding()
|
|
|
|
func face_wall():
|
|
return wall_raycast.is_colliding()
|
|
|
|
func is_on_rope():
|
|
return rope_raycast.is_colliding() or rope_raycast_l.is_colliding() or rope_raycast_r.is_colliding()
|
|
|
|
func rope_check() -> void:
|
|
# 创建射线数组以便统一处理
|
|
var raycasts = [rope_raycast, rope_raycast_l, rope_raycast_r]
|
|
var has_rope_contact = false
|
|
var current_rope = null
|
|
var current_collider = null
|
|
|
|
# 遍历所有射线
|
|
for raycast in raycasts:
|
|
if raycast.is_colliding():
|
|
var collider = raycast.get_collider()
|
|
|
|
# 如果碰撞到的是绳索部件
|
|
if collider:
|
|
has_rope_contact = true
|
|
current_collider = collider
|
|
current_rope = collider.get_parent().get_parent()
|
|
break # 找到第一个有效的绳索碰撞就退出循环
|
|
|
|
# 处理绳索接触逻辑
|
|
if has_rope_contact:
|
|
if !_last_rope_contact: # 首次接触绳索
|
|
_last_rope_contact = true
|
|
rope = current_rope
|
|
# 每帧都更新绳索接触点
|
|
if rope.has_method(\"handle_player_rope_contact\"):
|
|
rope.handle_player_rope_contact(current_collider)
|
|
elif _last_rope_contact: # 失去接触
|
|
_last_rope_contact = false
|
|
if rope.has_method(\"handle_player_rope_exit\"):
|
|
rope.handle_player_rope_exit()
|
|
rope = null
|
|
"
|
|
|
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_g868p"]
|
|
radius = 22.0
|
|
height = 60.0
|
|
|
|
[sub_resource type="Animation" id="Animation_otybg"]
|
|
resource_name = "Attack"
|
|
length = 0.3
|
|
step = 0.01
|
|
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("15_ej1a7")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 0.02, 0.22, 0.23, 0.24, 0.25, 0.26),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Vector2(-13, -29), Vector2(-20, -27), Vector2(-18, -32), Vector2(-14, -32), Vector2(7, -34), Vector2(8, -33), Vector2(0, -34)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("Sprite2D:region_rect")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0, 0.02, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(488, 26, 61, 57), Rect2(12, 130, 77, 54), Rect2(328, 121, 79, 63), Rect2(15, 217, 71, 70), Rect2(199, 217, 65, 67), Rect2(360, 219, 62, 65), Rect2(518, 216, 45, 68), Rect2(38, 316, 44, 68)]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:rotation")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0, 0.02),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 1,
|
|
"values": [0.305433, 0.0]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_sem5a"]
|
|
resource_name = "Dash_1"
|
|
length = 0.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("68_yibrd")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector2(1.78814e-06, -30)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_mcrul"]
|
|
resource_name = "Dash_2"
|
|
length = 0.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("67_r4cet")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector2(13, -30)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_caa4o"]
|
|
resource_name = "Fall"
|
|
length = 0.2
|
|
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("18_uw7wr")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1),
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
"update": 1,
|
|
"values": [Vector2(4, -31), Vector2(1, -39), Vector2(4, -42)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:region_rect")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1),
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(35, 231, 59, 61), Rect2(150, 215, 64, 77), Rect2(273, 209, 62, 83)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_wspq3"]
|
|
resource_name = "Idle_Battle"
|
|
length = 0.8
|
|
loop_mode = 1
|
|
step = 0.1
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("Sprite2D:position")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.2, 0.3, 0.5, 0.6, 0.7),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Vector2(4, -34), Vector2(4, -33), Vector2(4, -34), Vector2(3, -34), Vector2(2, -33), Vector2(3, -34)]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("Sprite2D:texture")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [ExtResource("23_ghobu")]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:region_rect")
|
|
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": [Rect2(25, 17, 51, 67), Rect2(125, 17, 51, 67), Rect2(225, 18, 50, 66), Rect2(325, 17, 51, 67), Rect2(25, 117, 51, 67), Rect2(125, 117, 49, 67), Rect2(225, 118, 46, 66), Rect2(325, 117, 48, 67)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_rtm6k"]
|
|
resource_name = "Jump"
|
|
length = 0.2
|
|
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("18_uw7wr")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1, 0.15),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Vector2(2, -35.2), Vector2(2, -39), Vector2(5, -37), Vector2(7, -35)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:region_rect")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1, 0.15),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(41, 121, 38, 71), Rect2(159, 115, 46, 77), Rect2(279, 118, 51, 74), Rect2(399, 123, 54, 69)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_sy4nv"]
|
|
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("23_ghobu")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector2(4, -34)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("../Hurt/CollisionShape2D:disabled")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/path = NodePath("Sprite2D:region_rect")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Rect2(25, 17, 51, 67)]
|
|
}
|
|
tracks/5/type = "value"
|
|
tracks/5/imported = false
|
|
tracks/5/enabled = true
|
|
tracks/5/path = NodePath("Sprite2D:rotation")
|
|
tracks/5/interp = 1
|
|
tracks/5/loop_wrap = true
|
|
tracks/5/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [0.0]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_hwf1e"]
|
|
resource_name = "Roll"
|
|
length = 0.28
|
|
step = 0.02
|
|
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("19_wrj2y")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 0.1, 0.16, 0.24),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Vector2(2, -41), Vector2(2, -37), Vector2(2, -25), Vector2(2, -29)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0, 0.28),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 0,
|
|
"values": [0.5, 1.0]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("../Hurt/CollisionShape2D:disabled")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [true]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/path = NodePath("Sprite2D:region_rect")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/keys = {
|
|
"times": PackedFloat32Array(0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.22, 0.24, 0.26),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(0, 0, 96, 88), Rect2(104, 0, 96, 88), Rect2(200, 0, 96, 88), Rect2(304, 0, 96, 88), Rect2(0, 104, 96, 88), Rect2(96, 104, 96, 88), Rect2(200, 104, 96, 88), Rect2(304, 104, 96, 88), Rect2(0, 216, 96, 88), Rect2(104, 216, 96, 88), Rect2(208, 216, 88, 88), Rect2(304, 216, 88, 88), Rect2(8, 320, 88, 72), Rect2(104, 320, 88, 72)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_arpr5"]
|
|
resource_name = "Run"
|
|
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("35_neogm")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 0.1, 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),
|
|
"update": 1,
|
|
"values": [Vector2(-1, -33), Vector2(-2, -31), Vector2(-2, -30), Vector2(-2, -31.5), Vector2(-2, -32.5), Vector2(-2, -31.5), Vector2(-2, -31), Vector2(-2, -30), Vector2(-2, -31.5)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.3]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:region_rect")
|
|
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": [Rect2(29, 17, 61, 66), Rect2(147, 21, 61, 62), Rect2(266, 21, 61, 62), Rect2(386, 20, 63, 60), Rect2(27, 119, 65, 62), Rect2(148, 117, 63, 66), Rect2(268, 120, 60, 63), Rect2(388, 121, 61, 62), Rect2(30, 220, 61, 60), Rect2(149, 220, 63, 61)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_jv5y0"]
|
|
resource_name = "Run_To_Idle"
|
|
length = 0.35
|
|
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("35_hn0oh")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Vector2(-12, -31), Vector2(-6, -31), Vector2(-4, -32), Vector2(-2, -32.5), Vector2(0, -33), Vector2(1, -33), Vector2(4, -34)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [1.0]
|
|
}
|
|
tracks/3/type = "method"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("../Player_State_Machine/Run_To_Idle")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0.05),
|
|
"transitions": PackedFloat32Array(1),
|
|
"values": [{
|
|
"args": [],
|
|
"method": &"_floor_dust"
|
|
}]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/path = NodePath("Sprite2D:region_rect")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(0, 22, 67, 62), Rect2(116, 22, 58, 62), Rect2(228, 21, 49, 63), Rect2(329, 21, 49, 63), Rect2(35, 119, 43, 65), Rect2(140, 119, 39, 65), Rect2(239, 117, 51, 67)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_fdmlk"]
|
|
resource_name = "Squat"
|
|
length = 0.16
|
|
step = 0.02
|
|
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("28_0cch5")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [Vector2(-3, -34)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0, 0.16),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 1,
|
|
"values": [0.5, 1.0]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:region_rect")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(0, 0, 80, 80), Rect2(80, 0, 80, 80), Rect2(160, 0, 80, 80), Rect2(240, 0, 80, 80), Rect2(0, 80, 80, 80), Rect2(80, 80, 80, 80), Rect2(160, 80, 80, 80), Rect2(240, 80, 80, 80)]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/path = NodePath("Sprite2D:rotation")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [0.0]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_sybvl"]
|
|
resource_name = "Wall_Jump"
|
|
length = 0.65
|
|
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("23_d7rnr")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:position")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [Vector2(2, -27)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [2.5]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:region_rect")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(88, 8, 64, 88), Rect2(168, 8, 64, 88), Rect2(248, 8, 72, 88), Rect2(328, 8, 72, 88), Rect2(408, 8, 72, 88), Rect2(8, 104, 72, 96), Rect2(88, 104, 72, 96), Rect2(168, 104, 72, 96), Rect2(248, 104, 72, 96)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_fiuvk"]
|
|
resource_name = "Wall_Slide"
|
|
length = 0.6
|
|
loop_mode = 1
|
|
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("33_gn6av")]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Sprite2D:region_rect")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [Rect2(16, 104, 48, 96), Rect2(96, 104, 48, 96), Rect2(176, 104, 48, 96), Rect2(256, 104, 48, 96), Rect2(16, 104, 48, 96), Rect2(96, 104, 48, 96), Rect2(176, 104, 48, 96), Rect2(256, 104, 48, 96), Rect2(16, 104, 48, 96), Rect2(96, 104, 48, 96), Rect2(176, 104, 48, 96), Rect2(256, 104, 48, 96)]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("Sprite2D:rotation")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [0.0]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("Sprite2D:position")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector2(2, -30)]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/path = NodePath("AnimationPlayer:speed_scale")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [0.5]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_irhps"]
|
|
_data = {
|
|
&"Attack": SubResource("Animation_otybg"),
|
|
&"Dash_1": SubResource("Animation_sem5a"),
|
|
&"Dash_2": SubResource("Animation_mcrul"),
|
|
&"Fall": SubResource("Animation_caa4o"),
|
|
&"Idle_Battle": SubResource("Animation_wspq3"),
|
|
&"Jump": SubResource("Animation_rtm6k"),
|
|
&"RESET": SubResource("Animation_sy4nv"),
|
|
&"Roll": SubResource("Animation_hwf1e"),
|
|
&"Run": SubResource("Animation_arpr5"),
|
|
&"Run_To_Idle": SubResource("Animation_jv5y0"),
|
|
&"Squat": SubResource("Animation_fdmlk"),
|
|
&"Wall_Jump": SubResource("Animation_sybvl"),
|
|
&"Wall_Slide": SubResource("Animation_fiuvk")
|
|
}
|
|
|
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_dcd6n"]
|
|
radius = 13.0
|
|
height = 60.0
|
|
|
|
[node name="Player" type="CharacterBody2D" groups=["Player"]]
|
|
z_index = 6
|
|
collision_mask = 66584576
|
|
floor_constant_speed = true
|
|
floor_max_angle = 1.0472
|
|
floor_snap_length = 10.0
|
|
platform_on_leave = 2
|
|
platform_floor_layers = 18350080
|
|
platform_wall_layers = 2097152
|
|
script = SubResource("GDScript_8meo2")
|
|
|
|
[node name="After_Image_Component" parent="." instance=ExtResource("2_decx5")]
|
|
|
|
[node name="Sakura_Component" parent="." instance=ExtResource("3_q3boy")]
|
|
|
|
[node name="Player_State_Machine" type="Node" parent="."]
|
|
script = ExtResource("1_8b1ok")
|
|
|
|
[node name="Idle_Battle" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("3_pu8qh")
|
|
|
|
[node name="Run" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("4_8gmn7")
|
|
|
|
[node name="Run_To_Idle" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("5_o8lre")
|
|
|
|
[node name="Squat" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("6_rk7vx")
|
|
|
|
[node name="Roll" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("7_f3k8f")
|
|
|
|
[node name="Jump" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("6_pj6pc")
|
|
|
|
[node name="Fall" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("7_l6ktk")
|
|
|
|
[node name="Wall_Slide" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("8_0jioi")
|
|
|
|
[node name="Wall_Jump" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("9_omn5s")
|
|
|
|
[node name="Attack" type="Node" parent="Player_State_Machine"]
|
|
script = ExtResource("12_qfaga")
|
|
|
|
[node name="Body_Physics" type="CollisionShape2D" parent="."]
|
|
visible = false
|
|
position = Vector2(0, -30)
|
|
shape = SubResource("CapsuleShape2D_g868p")
|
|
|
|
[node name="Body_Animation" type="Node2D" parent="."]
|
|
metadata/_edit_lock_ = true
|
|
|
|
[node name="Sprite2D" type="Sprite2D" parent="Body_Animation"]
|
|
position = Vector2(4, -34)
|
|
texture = ExtResource("23_ghobu")
|
|
region_enabled = true
|
|
region_rect = Rect2(25, 17, 51, 67)
|
|
|
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="Body_Animation"]
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_irhps")
|
|
}
|
|
|
|
[node name="Detector" type="Node2D" parent="."]
|
|
|
|
[node name="Wall" type="Node2D" parent="Detector"]
|
|
|
|
[node name="Wall" type="RayCast2D" parent="Detector/Wall"]
|
|
position = Vector2(0, -34)
|
|
target_position = Vector2(26, 0)
|
|
collision_mask = 2097152
|
|
|
|
[node name="Floor" type="RayCast2D" parent="Detector"]
|
|
target_position = Vector2(0, 8)
|
|
collision_mask = 35127296
|
|
|
|
[node name="Floor_L" type="RayCast2D" parent="Detector"]
|
|
target_position = Vector2(-8, 8)
|
|
collision_mask = 18350080
|
|
|
|
[node name="Floor_R" type="RayCast2D" parent="Detector"]
|
|
target_position = Vector2(8, 8)
|
|
collision_mask = 18350080
|
|
|
|
[node name="Rope" type="RayCast2D" parent="Detector"]
|
|
target_position = Vector2(0, 15)
|
|
collision_mask = 33554432
|
|
|
|
[node name="Rope_L" type="RayCast2D" parent="Detector"]
|
|
target_position = Vector2(-9, 15)
|
|
collision_mask = 33554432
|
|
|
|
[node name="Rope_R" type="RayCast2D" parent="Detector"]
|
|
target_position = Vector2(10, 15)
|
|
collision_mask = 33554432
|
|
|
|
[node name="Slope_L" type="RayCast2D" parent="Detector"]
|
|
position = Vector2(0, -3)
|
|
target_position = Vector2(-15, 0)
|
|
collision_mask = 16777216
|
|
hit_from_inside = true
|
|
|
|
[node name="Slope_R" type="RayCast2D" parent="Detector"]
|
|
position = Vector2(0, -3)
|
|
target_position = Vector2(15, 0)
|
|
collision_mask = 16777216
|
|
hit_from_inside = true
|
|
|
|
[node name="One_Way_Floor" type="RayCast2D" parent="Detector"]
|
|
visible = false
|
|
target_position = Vector2(0, 10)
|
|
collision_mask = 1048576
|
|
|
|
[node name="Hit" type="Node2D" parent="."]
|
|
|
|
[node name="Player_Attack_Component" parent="Hit" instance=ExtResource("72_m8ad3")]
|
|
position = Vector2(0, -25)
|
|
|
|
[node name="Player_Dash_Component" parent="Hit" instance=ExtResource("75_r8ire")]
|
|
position = Vector2(0, -28)
|
|
|
|
[node name="Hit_Queue_Processor" parent="Hit" instance=ExtResource("75_cx437")]
|
|
|
|
[node name="Hit_Stop_Component" parent="Hit" instance=ExtResource("74_nx5vo")]
|
|
|
|
[node name="Hurt" type="Area2D" parent="."]
|
|
visible = false
|
|
metadata/_edit_lock_ = true
|
|
|
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurt"]
|
|
position = Vector2(0, -30)
|
|
shape = SubResource("CapsuleShape2D_dcd6n")
|
|
debug_color = Color(0.913161, 0.221281, 0.489025, 0.42)
|
|
|
|
[node name="Cameras" type="Node2D" parent="."]
|
|
visible = false
|
|
|
|
[node name="Camera" type="Camera2D" parent="Cameras"]
|
|
zoom = Vector2(1.3, 1.3)
|
|
limit_left = -16
|
|
limit_top = 0
|
|
limit_right = 1726
|
|
limit_bottom = 435
|
|
position_smoothing_enabled = true
|
|
|
|
[node name="Camera_Shake" type="Camera2D" parent="Cameras"]
|
|
enabled = false
|
|
zoom = Vector2(1.3, 1.3)
|
|
|
|
[node name="FX_Component" type="Node2D" parent="."]
|
|
script = ExtResource("74_x0fc2")
|
|
|
|
[node name="pos_wall_jump_dust" type="Marker2D" parent="FX_Component"]
|
|
position = Vector2(0, -23)
|