[gd_scene format=3 uid="uid://b7yp28gfrqj5w"] [ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_f7kh1"] [ext_resource type="AudioStream" uid="uid://cer3lxbxqw5pq" path="res://resources/sounds/effect/sword1.mp3" id="2_ccsa1"] [ext_resource type="Texture2D" uid="uid://caf67vt47y180" path="res://resources/bullets/swords/broom.svg" id="2_nqryj"] [ext_resource type="AudioStream" uid="uid://bm2o8hu7nyqh1" path="res://resources/sounds/effect/sword3.mp3" id="3_23nu4"] [ext_resource type="Script" uid="uid://ckc6guqib3rno" path="res://scripts/Statemachine/SyncTransform.gd" id="3_ihf3m"] [sub_resource type="Animation" id="Animation_ccsa1"] length = 0.001 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:rotation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0) } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".:modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("%hitbox:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("sword/trail:emitting") 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("sword/trail:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } [sub_resource type="Animation" id="Animation_nqryj"] resource_name = "destroy" length = 0.5 step = 0.1 [sub_resource type="Animation" id="Animation_ihf3m"] resource_name = "loop" loop_mode = 1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:rotation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 6.28319] } [sub_resource type="Animation" id="Animation_gwhbm"] resource_name = "spawn" length = 2.7 step = 0.05 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:rotation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(0, 0, 0, 0, 2, 2), "points": PackedFloat32Array(-1.57, 0, 0, 0.4, -2, 1.57, -0.4, 2, 0, 0, -1.57, -0.4, -2, 0, 0, 0, -0.3, 0, 0, 0, 0, 0, 0, 0.3, 0, 1.57, 0, 0, 0, 0), "times": PackedFloat32Array(0.2, 0.95, 1.7, 2, 2.4, 2.7) } tracks/1/type = "bezier" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".:scale:x") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0, 0, 2, 2, 2, 2, 2), "points": PackedFloat32Array(0, -0.25, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0.05, 0, 1.5, -0.05, 0, 0.05, 0, 0.5, -0.15, 0, 0.9999999, 0, 0.5, 0, 0, 0, 1, 2, 0, 0, 0, 0), "times": PackedFloat32Array(0, 0.35, 1.7, 1.8, 2, 2.2, 2.4) } tracks/2/type = "bezier" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath(".:scale:y") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "handle_modes": PackedInt32Array(2, 0, 2, 2, 2, 0, 2), "points": PackedFloat32Array(0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0.05, 0, 1.5, -0.05, 0, 0.05, 0, 0.5, -0.15, 0, 0, 0, 0.5, 0, 0, 0, 1, 2, 0, 0, 0, 0), "times": PackedFloat32Array(0, 0.35, 1.7, 1.8, 2, 2.2, 2.4) } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath(".:modulate") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.2, 2.4, 2.7), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("%hitbox:disabled") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.5, 0.65, 1, 1.25, 1.7, 1.9, 2.2, 2.4), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 1, "values": [true, false, true, false, true, false, true, false, true] } tracks/5/type = "audio" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("audio") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("2_ccsa1") }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("3_23nu4") }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("2_ccsa1") }, { "end_offset": 0.0, "start_offset": 0.0, "stream": ExtResource("3_23nu4") }], "times": PackedFloat32Array(0.4, 0.9, 1.6, 2.15) } tracks/5/use_blend = true tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("sword/trail:emitting") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0, 2.2, 2.7), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [false, true, false] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("sword/trail:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 2.2), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [false, true] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_ccsa1"] _data = { &"RESET": SubResource("Animation_ccsa1"), &"destroy": SubResource("Animation_nqryj"), &"loop": SubResource("Animation_ihf3m"), &"spawn": SubResource("Animation_gwhbm") } [sub_resource type="Curve" id="Curve_buajx"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_2tlcd"] curve = SubResource("Curve_buajx") [sub_resource type="Curve" id="Curve_hsyiq"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.5), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_m4ahn"] curve = SubResource("Curve_hsyiq") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_h2e5u"] particle_flag_disable_z = true spread = 0.0 initial_velocity_min = 300.0 initial_velocity_max = 300.0 gravity = Vector3(0, 0, 0) scale_curve = SubResource("CurveTexture_m4ahn") alpha_curve = SubResource("CurveTexture_2tlcd") [sub_resource type="RectangleShape2D" id="RectangleShape2D_ccsa1"] size = Vector2(259.81308, 36.189156) [node name="SwingSword" unique_id=5571707 instance=ExtResource("1_f7kh1")] displayName = "扫帚" motionType = 0 penerate = 1.0 autoSpawnAnimation = true freeAfterSpawn = true [node name="texture" parent="." index="0" unique_id=162977358] scale = Vector2(2, 2) [node name="animator" parent="texture" index="0" unique_id=1114087117] libraries/ = SubResource("AnimationLibrary_ccsa1") [node name="sword" type="Sprite2D" parent="texture" index="2" unique_id=48557012] position = Vector2(220, 0) rotation = 3.1415927 texture = ExtResource("2_nqryj") [node name="trail" type="GPUParticles2D" parent="texture/sword" index="0" unique_id=513809675] z_index = -1 amount = 10 texture = ExtResource("2_nqryj") preprocess = 1.0 visibility_rect = Rect2(-200, -50, 400, 100) local_coords = true process_material = SubResource("ParticleProcessMaterial_h2e5u") [node name="hitbox" parent="." index="1" unique_id=175349408 node_paths=PackedStringArray("target")] position = Vector2(439.70004, 16.243788) rotation = -3.1046665 scale = Vector2(2, 2) shape = SubResource("RectangleShape2D_ccsa1") script = ExtResource("3_ihf3m") target = NodePath("../texture/sword") enablePosition = true enableRotation = true enableScale = true