diff --git a/components/Bullets/Parrier.tscn b/components/Bullets/Parrier.tscn index 706c2e2..050916a 100644 --- a/components/Bullets/Parrier.tscn +++ b/components/Bullets/Parrier.tscn @@ -1,15 +1,30 @@ -[gd_scene load_steps=8 format=3 uid="uid://brt2q316hrswe"] +[gd_scene load_steps=7 format=3 uid="uid://brt2q316hrswe"] [ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_57y3f"] [ext_resource type="Script" uid="uid://bi7nde2rs0w4m" path="res://scripts/Contents/Bullets/Parrier.gd" id="2_li4th"] -[ext_resource type="Texture2D" uid="uid://cajy8iya7achn" path="res://resources/bullets/parrier/造型2.png" id="3_ksxds"] -[sub_resource type="Animation" id="Animation_hu1af"] +[sub_resource type="Animation" id="Animation_li4th"] +resource_name = "spawn" +length = 0.27 +step = 0.01 +tracks/0/type = "bezier" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%texture/..:parryRate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(1, -0.25, 0, 0.1, 0, 0, -0.27, 0, 0, 0), +"times": PackedFloat32Array(0, 0.27) +} + +[sub_resource type="Animation" id="Animation_ksxds"] length = 0.001 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath(".:scale:x") +tracks/0/path = NodePath("%texture/..:parryRate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -17,98 +32,16 @@ tracks/0/keys = { "points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0) } -tracks/1/type = "bezier" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:scale:y") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath(".:modulate") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} -tracks/3/type = "bezier" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("%texture/..:parryRate") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} - -[sub_resource type="Animation" id="Animation_ksxds"] -resource_name = "spawn" -step = 0.1 -tracks/0/type = "bezier" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:scale:x") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"handle_modes": PackedInt32Array(0, 2), -"points": PackedFloat32Array(0.8, -0.25, 0, 0, 0.5, 0, 0, 0.8, 0, 0), -"times": PackedFloat32Array(0, 1) -} -tracks/1/type = "bezier" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath(".:scale:y") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"handle_modes": PackedInt32Array(2, 2), -"points": PackedFloat32Array(0.8, 0, 0, 0, 0.5, 0, 0, 0.8, 0, 0), -"times": PackedFloat32Array(0, 1) -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath(".:modulate") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.2, 0.5, 1), -"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/3/type = "bezier" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("%texture/..:parryRate") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"handle_modes": PackedInt32Array(2, 2), -"points": PackedFloat32Array(1, 0, 0, 0.1, 0, 0, -1, 0, 0, 0), -"times": PackedFloat32Array(0, 1) -} [sub_resource type="AnimationLibrary" id="AnimationLibrary_k4ctn"] _data = { -&"RESET": SubResource("Animation_hu1af"), -&"spawn": SubResource("Animation_ksxds") +&"RESET": SubResource("Animation_ksxds"), +&"spawn": SubResource("Animation_li4th") } -[sub_resource type="RectangleShape2D" id="RectangleShape2D_57y3f"] -size = Vector2(54, 204) +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_li4th"] +radius = 60.0 +height = 200.0 [node name="Parrier" instance=ExtResource("1_57y3f")] script = ExtResource("2_li4th") @@ -119,17 +52,15 @@ autoSpawnAnimation = true freeAfterSpawn = true [node name="texture" parent="." index="0"] -scale = Vector2(1e-05, 1e-05) +modulate = Color(1, 1, 1, 0) +scale = Vector2(0.8, 0.8) [node name="animator" parent="texture" index="0"] libraries = { &"": SubResource("AnimationLibrary_k4ctn") } -[node name="anchor" type="Sprite2D" parent="texture" index="1"] -position = Vector2(96, -4) -texture = ExtResource("3_ksxds") - [node name="hitbox" parent="." index="1"] -position = Vector2(95, 0) -shape = SubResource("RectangleShape2D_57y3f") +position = Vector2(100, 0) +rotation = 1.5707964 +shape = SubResource("CapsuleShape2D_li4th") diff --git a/components/Effects/FooExplosion.tscn b/components/Effects/FooExplosion.tscn index fcaa820..4fa1db4 100644 --- a/components/Effects/FooExplosion.tscn +++ b/components/Effects/FooExplosion.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=18 format=3 uid="uid://cgdnkey2fhla4"] +[gd_scene load_steps=17 format=3 uid="uid://cgdnkey2fhla4"] [ext_resource type="PackedScene" uid="uid://bcvuuy2m0pke0" path="res://components/Abstracts/EffectBase.tscn" id="1_vi6cv"] [ext_resource type="Texture2D" uid="uid://cq80y83edetx3" path="res://resources/effects/fooExplosion/Lv1_FooExplosion00.png" id="2_1ukt2"] @@ -15,16 +15,9 @@ [ext_resource type="Texture2D" uid="uid://dm4ih65h45qi8" path="res://resources/effects/fooExplosion/Lv1_FooExplosion10.png" id="12_dhm5g"] [ext_resource type="Texture2D" uid="uid://bpr2j2jed4yxm" path="res://resources/effects/fooExplosion/Lv1_FooExplosion11.png" id="13_41cg7"] -[sub_resource type="Animation" id="Animation_1ukt2"] -resource_name = "spawn" -length = 0.4 - [sub_resource type="AnimationLibrary" id="AnimationLibrary_8b1u1"] -_data = { -&"spawn": SubResource("Animation_1ukt2") -} -[sub_resource type="SpriteFrames" id="SpriteFrames_kn8g0"] +[sub_resource type="SpriteFrames" id="SpriteFrames_8b1u1"] animations = [{ "frames": [{ "duration": 1.0, @@ -75,6 +68,9 @@ spawnTexture = "spawn" [node name="spawn" parent="sounds" index="0"] stream = ExtResource("2_8b1u1") +[node name="particles" parent="." index="1"] +lifetime = 0.01 + [node name="animator" parent="stage" index="0"] libraries = { &"": SubResource("AnimationLibrary_8b1u1") @@ -82,6 +78,6 @@ libraries = { [node name="texture" parent="stage" index="1"] scale = Vector2(0.4, 0.4) -sprite_frames = SubResource("SpriteFrames_kn8g0") +sprite_frames = SubResource("SpriteFrames_8b1u1") frame = 11 frame_progress = 1.0 diff --git a/components/Effects/Parrier.tscn b/components/Effects/Parrier.tscn new file mode 100644 index 0000000..18ecf80 --- /dev/null +++ b/components/Effects/Parrier.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=4 format=3 uid="uid://12ubhs2p8a27"] + +[ext_resource type="PackedScene" uid="uid://bcvuuy2m0pke0" path="res://components/Abstracts/EffectBase.tscn" id="1_yftgy"] +[ext_resource type="SpriteFrames" uid="uid://cegxrhkf6na6t" path="res://resources/effects/parrier/2/2.tres" id="2_7outc"] + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_6cpy3"] + +[node name="Parrier" instance=ExtResource("1_yftgy")] +spawnTexture = "spawn" + +[node name="particles" parent="." index="1"] +lifetime = 0.01 + +[node name="animator" parent="stage" index="0"] +libraries = { +&"": SubResource("AnimationLibrary_6cpy3") +} + +[node name="texture" parent="stage" index="1"] +position = Vector2(150, 50) +scale = Vector2(-0.4, 0.4) +sprite_frames = ExtResource("2_7outc") +frame = 6 +frame_progress = 1.0 diff --git a/components/Weapons/Tree.tscn b/components/Weapons/Tree.tscn index 8967b1b..c64aacb 100644 --- a/components/Weapons/Tree.tscn +++ b/components/Weapons/Tree.tscn @@ -13,7 +13,7 @@ typeTopic = 3 costBeachball = 900 oneShoot = true store = { -"atk": 20, +"atk": 35, "count": 1.0, "max": 3.0 } @@ -24,14 +24,14 @@ storeType = { } descriptionTemplate = "进行[b]格挡[/b],化解飞来的子弹。 每成功格挡一次,获得一点[b]气力[/b]。 -每拥有一点气力,闪避穿过敌人时对其贴上一层[b]符咒[/b],一段时间后符咒自动引爆, +每拥有一点气力,增加[color=yellow]1[/color]点冲刺初速度,闪避穿过敌人时对其贴上一层[b]符咒[/b],一段时间后符咒自动引爆, 召唤[b]乾坤剑[/b]穿透敌人。 乾坤剑造成$atk点伤害, 每次格挡最多化解$count个子弹, 体内最多储存$max点气力, 格挡时机越精确,成功率越高。" -cooldown = 0.0 +cooldown = 250.0 debugRebuild = true [node name="avatar" parent="container/info" index="0"] @@ -48,10 +48,10 @@ typeTopic = 3 [node name="description" parent="container" index="2"] text = "[center]进行[b]格挡[/b],化解飞来的子弹。 每成功格挡一次,获得一点[b]气力[/b]。 -每拥有一点气力,闪避穿过敌人时对其贴上一层[b]符咒[/b],一段时间后符咒自动引爆, +每拥有一点气力,增加[color=yellow]1[/color]点冲刺初速度,闪避穿过敌人时对其贴上一层[b]符咒[/b],一段时间后符咒自动引爆, 召唤[b]乾坤剑[/b]穿透敌人。 -乾坤剑造成[color=cyan]20[/color]点伤害, +乾坤剑造成[color=cyan]35[/color]点伤害, 每次格挡最多化解[color=cyan]1[/color]个子弹, 体内最多储存[color=cyan]3[/color]点气力, 格挡时机越精确,成功率越高。[/center]" diff --git a/resources/effects/parrier/0/0.tres b/resources/effects/parrier/0/0.tres new file mode 100644 index 0000000..467c394 --- /dev/null +++ b/resources/effects/parrier/0/0.tres @@ -0,0 +1,26 @@ +[gd_resource type="SpriteFrames" load_steps=5 format=3 uid="uid://cr71etd0eeule"] + +[ext_resource type="Texture2D" uid="uid://dqni3jvd1v40d" path="res://resources/effects/parrier/0/AttackEffect_ThrustDelay0.png" id="1_aedkl"] +[ext_resource type="Texture2D" uid="uid://cic3h2mcbfbkv" path="res://resources/effects/parrier/0/AttackEffect_ThrustDelay1.png" id="2_qk6hk"] +[ext_resource type="Texture2D" uid="uid://bt3d4r3jcexwx" path="res://resources/effects/parrier/0/AttackEffect_ThrustDelay2.png" id="3_nqrx7"] +[ext_resource type="Texture2D" uid="uid://d3cpxixdnhprt" path="res://resources/effects/parrier/0/AttackEffect_ThrustDelay3.png" id="4_x8cs1"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_aedkl") +}, { +"duration": 1.0, +"texture": ExtResource("2_qk6hk") +}, { +"duration": 1.0, +"texture": ExtResource("3_nqrx7") +}, { +"duration": 1.0, +"texture": ExtResource("4_x8cs1") +}], +"loop": false, +"name": &"spawn", +"speed": 15.0 +}] diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay0.png b/resources/effects/parrier/0/AttackEffect_ThrustDelay0.png new file mode 100644 index 0000000..d2115b7 Binary files /dev/null and b/resources/effects/parrier/0/AttackEffect_ThrustDelay0.png differ diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay0.png.import b/resources/effects/parrier/0/AttackEffect_ThrustDelay0.png.import new file mode 100644 index 0000000..0e51561 --- /dev/null +++ b/resources/effects/parrier/0/AttackEffect_ThrustDelay0.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqni3jvd1v40d" +path="res://.godot/imported/AttackEffect_ThrustDelay0.png-3977ab40be80bad352e99dd1767fb44e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/0/AttackEffect_ThrustDelay0.png" +dest_files=["res://.godot/imported/AttackEffect_ThrustDelay0.png-3977ab40be80bad352e99dd1767fb44e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay1.png b/resources/effects/parrier/0/AttackEffect_ThrustDelay1.png new file mode 100644 index 0000000..c89ae1a Binary files /dev/null and b/resources/effects/parrier/0/AttackEffect_ThrustDelay1.png differ diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay1.png.import b/resources/effects/parrier/0/AttackEffect_ThrustDelay1.png.import new file mode 100644 index 0000000..a1baa21 --- /dev/null +++ b/resources/effects/parrier/0/AttackEffect_ThrustDelay1.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cic3h2mcbfbkv" +path="res://.godot/imported/AttackEffect_ThrustDelay1.png-ce8e91caf324067e13b469cdf33fa52e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/0/AttackEffect_ThrustDelay1.png" +dest_files=["res://.godot/imported/AttackEffect_ThrustDelay1.png-ce8e91caf324067e13b469cdf33fa52e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay2.png b/resources/effects/parrier/0/AttackEffect_ThrustDelay2.png new file mode 100644 index 0000000..9416670 Binary files /dev/null and b/resources/effects/parrier/0/AttackEffect_ThrustDelay2.png differ diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay2.png.import b/resources/effects/parrier/0/AttackEffect_ThrustDelay2.png.import new file mode 100644 index 0000000..0fa7567 --- /dev/null +++ b/resources/effects/parrier/0/AttackEffect_ThrustDelay2.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt3d4r3jcexwx" +path="res://.godot/imported/AttackEffect_ThrustDelay2.png-cd72b7475ca9aa506dbdec89ec652cb3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/0/AttackEffect_ThrustDelay2.png" +dest_files=["res://.godot/imported/AttackEffect_ThrustDelay2.png-cd72b7475ca9aa506dbdec89ec652cb3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay3.png b/resources/effects/parrier/0/AttackEffect_ThrustDelay3.png new file mode 100644 index 0000000..d3f7fe3 Binary files /dev/null and b/resources/effects/parrier/0/AttackEffect_ThrustDelay3.png differ diff --git a/resources/effects/parrier/0/AttackEffect_ThrustDelay3.png.import b/resources/effects/parrier/0/AttackEffect_ThrustDelay3.png.import new file mode 100644 index 0000000..0f80b78 --- /dev/null +++ b/resources/effects/parrier/0/AttackEffect_ThrustDelay3.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3cpxixdnhprt" +path="res://.godot/imported/AttackEffect_ThrustDelay3.png-d78234aec4ba5cae83b351f5c8befc1f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/0/AttackEffect_ThrustDelay3.png" +dest_files=["res://.godot/imported/AttackEffect_ThrustDelay3.png-d78234aec4ba5cae83b351f5c8befc1f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/1/1.tres b/resources/effects/parrier/1/1.tres new file mode 100644 index 0000000..b7d6c43 --- /dev/null +++ b/resources/effects/parrier/1/1.tres @@ -0,0 +1,30 @@ +[gd_resource type="SpriteFrames" load_steps=6 format=3 uid="uid://33prhoaffs8x"] + +[ext_resource type="Texture2D" uid="uid://drcp0del8rgsh" path="res://resources/effects/parrier/1/Effect_AttackB0.png" id="1_0m4hx"] +[ext_resource type="Texture2D" uid="uid://c14m2xoe7wlbh" path="res://resources/effects/parrier/1/Effect_AttackB1.png" id="2_veosc"] +[ext_resource type="Texture2D" uid="uid://dprrvyaxj0o31" path="res://resources/effects/parrier/1/Effect_AttackB2.png" id="3_pjoe6"] +[ext_resource type="Texture2D" uid="uid://7m7q6ja1n7jj" path="res://resources/effects/parrier/1/Effect_AttackB3.png" id="4_6wwba"] +[ext_resource type="Texture2D" uid="uid://ddexadx6o6exi" path="res://resources/effects/parrier/1/Effect_AttackB4.png" id="5_851jf"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_0m4hx") +}, { +"duration": 1.0, +"texture": ExtResource("2_veosc") +}, { +"duration": 1.0, +"texture": ExtResource("3_pjoe6") +}, { +"duration": 1.0, +"texture": ExtResource("4_6wwba") +}, { +"duration": 1.0, +"texture": ExtResource("5_851jf") +}], +"loop": false, +"name": &"spawn", +"speed": 15.0 +}] diff --git a/resources/effects/parrier/1/Effect_AttackB0.png b/resources/effects/parrier/1/Effect_AttackB0.png new file mode 100644 index 0000000..2e9bdda Binary files /dev/null and b/resources/effects/parrier/1/Effect_AttackB0.png differ diff --git a/resources/effects/parrier/1/Effect_AttackB0.png.import b/resources/effects/parrier/1/Effect_AttackB0.png.import new file mode 100644 index 0000000..7fae8af --- /dev/null +++ b/resources/effects/parrier/1/Effect_AttackB0.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drcp0del8rgsh" +path="res://.godot/imported/Effect_AttackB0.png-ab5e5848a6a9f33d7cb22699bd063c6b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/1/Effect_AttackB0.png" +dest_files=["res://.godot/imported/Effect_AttackB0.png-ab5e5848a6a9f33d7cb22699bd063c6b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/1/Effect_AttackB1.png b/resources/effects/parrier/1/Effect_AttackB1.png new file mode 100644 index 0000000..486bf7e Binary files /dev/null and b/resources/effects/parrier/1/Effect_AttackB1.png differ diff --git a/resources/effects/parrier/1/Effect_AttackB1.png.import b/resources/effects/parrier/1/Effect_AttackB1.png.import new file mode 100644 index 0000000..5f0e3dc --- /dev/null +++ b/resources/effects/parrier/1/Effect_AttackB1.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c14m2xoe7wlbh" +path="res://.godot/imported/Effect_AttackB1.png-3d4fa19d75c511a5ba855ed2c28ecac5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/1/Effect_AttackB1.png" +dest_files=["res://.godot/imported/Effect_AttackB1.png-3d4fa19d75c511a5ba855ed2c28ecac5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/1/Effect_AttackB2.png b/resources/effects/parrier/1/Effect_AttackB2.png new file mode 100644 index 0000000..093ff77 Binary files /dev/null and b/resources/effects/parrier/1/Effect_AttackB2.png differ diff --git a/resources/effects/parrier/1/Effect_AttackB2.png.import b/resources/effects/parrier/1/Effect_AttackB2.png.import new file mode 100644 index 0000000..d69d67f --- /dev/null +++ b/resources/effects/parrier/1/Effect_AttackB2.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dprrvyaxj0o31" +path="res://.godot/imported/Effect_AttackB2.png-9980fcc6e64c3b823d8e52229c0538c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/1/Effect_AttackB2.png" +dest_files=["res://.godot/imported/Effect_AttackB2.png-9980fcc6e64c3b823d8e52229c0538c6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/1/Effect_AttackB3.png b/resources/effects/parrier/1/Effect_AttackB3.png new file mode 100644 index 0000000..9b221f6 Binary files /dev/null and b/resources/effects/parrier/1/Effect_AttackB3.png differ diff --git a/resources/effects/parrier/1/Effect_AttackB3.png.import b/resources/effects/parrier/1/Effect_AttackB3.png.import new file mode 100644 index 0000000..5b0c472 --- /dev/null +++ b/resources/effects/parrier/1/Effect_AttackB3.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7m7q6ja1n7jj" +path="res://.godot/imported/Effect_AttackB3.png-cbbb24b79b0578b3fdd6720c0adb7f56.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/1/Effect_AttackB3.png" +dest_files=["res://.godot/imported/Effect_AttackB3.png-cbbb24b79b0578b3fdd6720c0adb7f56.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/1/Effect_AttackB4.png b/resources/effects/parrier/1/Effect_AttackB4.png new file mode 100644 index 0000000..e771c97 Binary files /dev/null and b/resources/effects/parrier/1/Effect_AttackB4.png differ diff --git a/resources/effects/parrier/1/Effect_AttackB4.png.import b/resources/effects/parrier/1/Effect_AttackB4.png.import new file mode 100644 index 0000000..9b3e61c --- /dev/null +++ b/resources/effects/parrier/1/Effect_AttackB4.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddexadx6o6exi" +path="res://.godot/imported/Effect_AttackB4.png-2dee83f146863fa13a22bfe0319440ee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/1/Effect_AttackB4.png" +dest_files=["res://.godot/imported/Effect_AttackB4.png-2dee83f146863fa13a22bfe0319440ee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/2/2.tres b/resources/effects/parrier/2/2.tres new file mode 100644 index 0000000..54f189e --- /dev/null +++ b/resources/effects/parrier/2/2.tres @@ -0,0 +1,38 @@ +[gd_resource type="SpriteFrames" load_steps=8 format=3 uid="uid://cegxrhkf6na6t"] + +[ext_resource type="Texture2D" uid="uid://bjhe3vik4tryq" path="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png" id="1_yo7e3"] +[ext_resource type="Texture2D" uid="uid://bwkgdff32o7g1" path="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png" id="2_kfcht"] +[ext_resource type="Texture2D" uid="uid://mufrpnnomkpk" path="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png" id="3_log7y"] +[ext_resource type="Texture2D" uid="uid://csclv5al0on2k" path="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png" id="4_1d1ae"] +[ext_resource type="Texture2D" uid="uid://cxt56ccdugqg3" path="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png" id="5_k7vdj"] +[ext_resource type="Texture2D" uid="uid://dmcm4rljstsb8" path="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png" id="6_d81w8"] +[ext_resource type="Texture2D" uid="uid://biod5vk0jqn7q" path="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png" id="7_6h3wu"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_yo7e3") +}, { +"duration": 1.0, +"texture": ExtResource("2_kfcht") +}, { +"duration": 1.0, +"texture": ExtResource("3_log7y") +}, { +"duration": 1.0, +"texture": ExtResource("4_1d1ae") +}, { +"duration": 1.0, +"texture": ExtResource("5_k7vdj") +}, { +"duration": 1.0, +"texture": ExtResource("6_d81w8") +}, { +"duration": 1.0, +"texture": ExtResource("7_6h3wu") +}], +"loop": false, +"name": &"spawn", +"speed": 20.0 +}] diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png b/resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png new file mode 100644 index 0000000..72cdb29 Binary files /dev/null and b/resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png differ diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png.import b/resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png.import new file mode 100644 index 0000000..dc19144 --- /dev/null +++ b/resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjhe3vik4tryq" +path="res://.godot/imported/Effect_HoHoYee_AttackA2.png-6d7063517f55dbce31d45176424068e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA2.png" +dest_files=["res://.godot/imported/Effect_HoHoYee_AttackA2.png-6d7063517f55dbce31d45176424068e8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png b/resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png new file mode 100644 index 0000000..4997bb6 Binary files /dev/null and b/resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png differ diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png.import b/resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png.import new file mode 100644 index 0000000..900373d --- /dev/null +++ b/resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwkgdff32o7g1" +path="res://.godot/imported/Effect_HoHoYee_AttackA3.png-bcbaec1c23ee8f26457f2b22f820ce71.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA3.png" +dest_files=["res://.godot/imported/Effect_HoHoYee_AttackA3.png-bcbaec1c23ee8f26457f2b22f820ce71.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png b/resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png new file mode 100644 index 0000000..46473ca Binary files /dev/null and b/resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png differ diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png.import b/resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png.import new file mode 100644 index 0000000..8083fe3 --- /dev/null +++ b/resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mufrpnnomkpk" +path="res://.godot/imported/Effect_HoHoYee_AttackA4.png-025963e9518fdf06a85f82bac08da4b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA4.png" +dest_files=["res://.godot/imported/Effect_HoHoYee_AttackA4.png-025963e9518fdf06a85f82bac08da4b2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png b/resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png new file mode 100644 index 0000000..b637836 Binary files /dev/null and b/resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png differ diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png.import b/resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png.import new file mode 100644 index 0000000..cd9b092 --- /dev/null +++ b/resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csclv5al0on2k" +path="res://.godot/imported/Effect_HoHoYee_AttackA5.png-3bd888c81c636d8450d826ffa1114ff2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA5.png" +dest_files=["res://.godot/imported/Effect_HoHoYee_AttackA5.png-3bd888c81c636d8450d826ffa1114ff2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png b/resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png new file mode 100644 index 0000000..293b599 Binary files /dev/null and b/resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png differ diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png.import b/resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png.import new file mode 100644 index 0000000..9c4926e --- /dev/null +++ b/resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxt56ccdugqg3" +path="res://.godot/imported/Effect_HoHoYee_AttackA6.png-50c5eac1607796136ddc65fa4167c96a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA6.png" +dest_files=["res://.godot/imported/Effect_HoHoYee_AttackA6.png-50c5eac1607796136ddc65fa4167c96a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png b/resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png new file mode 100644 index 0000000..1e2377c Binary files /dev/null and b/resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png differ diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png.import b/resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png.import new file mode 100644 index 0000000..7522421 --- /dev/null +++ b/resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmcm4rljstsb8" +path="res://.godot/imported/Effect_HoHoYee_AttackA7.png-5d0088e221f5633843c9c932e8ceaf8c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA7.png" +dest_files=["res://.godot/imported/Effect_HoHoYee_AttackA7.png-5d0088e221f5633843c9c932e8ceaf8c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png b/resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png new file mode 100644 index 0000000..451197f Binary files /dev/null and b/resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png differ diff --git a/resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png.import b/resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png.import new file mode 100644 index 0000000..3767d32 --- /dev/null +++ b/resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://biod5vk0jqn7q" +path="res://.godot/imported/Effect_HoHoYee_AttackA8.png-7114520e085a13df888dc4b71d7e54bd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/parrier/2/Effect_HoHoYee_AttackA8.png" +dest_files=["res://.godot/imported/Effect_HoHoYee_AttackA8.png-7114520e085a13df888dc4b71d7e54bd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/resources/sounds/effect/baozha.mp3 b/resources/sounds/effect/baozha.mp3 index 05dfcbb..18e03c0 100644 Binary files a/resources/sounds/effect/baozha.mp3 and b/resources/sounds/effect/baozha.mp3 differ diff --git a/scripts/Contents/Bullets/Parrier.gd b/scripts/Contents/Bullets/Parrier.gd index 4efa62b..99a2095 100644 --- a/scripts/Contents/Bullets/Parrier.gd +++ b/scripts/Contents/Bullets/Parrier.gd @@ -8,12 +8,23 @@ var maxParryTimes: int = 1 var maxBallCount: int = 3 var atk: float = 0 +func spawn(): + var varians = randi_range(0, 1) + var inverts = [] + var frames = load("res://resources/effects/parrier/%d/%d.tres" % [varians, varians]) + var eff = EffectController.create(ComponentManager.getEffect("Parrier"), position) + eff.rotation = rotation + eff.scale.y *= MathTool.randomChoiceFrom([-1, 1]) + if varians in inverts: + eff.scale.x *= -1 + eff.texture.sprite_frames = frames + eff.shot() func hitBullet(bullet: BulletBase): # 当前子弹与其他子弹相撞 if BulletTool.canDamage(bullet, launcher): # 其他子弹可以使当前子弹的发射者受伤吗? if parryiedTimes < maxParryTimes && MathTool.rate(parryRate): # 一个刀光最多格挡多少个敌方子弹? parryiedTimes += 1 # 生成格挡特效 - var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 150) # 从子弹位置,面向其他子弹的方向前进150 + var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 200) # 从子弹位置,面向其他子弹的方向前进150 eff.modulate = bullet.modulate.blend(bullet.texture.modulate) eff.shot() # 摧毁其他子弹 diff --git a/scripts/Contents/Weapons/Tree.gd b/scripts/Contents/Weapons/Tree.gd index 6d489d2..36fb0a6 100644 --- a/scripts/Contents/Weapons/Tree.gd +++ b/scripts/Contents/Weapons/Tree.gd @@ -10,8 +10,8 @@ func attack(entity: EntityBase): for bullet in BulletBase.generate( ComponentManager.getBullet("Parrier"), entity, - entity.findWeaponAnchor("normal"), - entity.findWeaponAnchor("normal").angle_to_point(get_global_mouse_position()), + entity.texture.global_position, + entity.texture.global_position.angle_to_point(get_global_mouse_position()), ): if bullet is ParrierBullet: bullet.atk = readStore("atk") diff --git a/scripts/Statemachine/EffectController.gd b/scripts/Statemachine/EffectController.gd index 3b7208c..beeaafd 100644 --- a/scripts/Statemachine/EffectController.gd +++ b/scripts/Statemachine/EffectController.gd @@ -15,6 +15,10 @@ func _ready(): register() particles.emitting = false particles.one_shot = oneShot +func shot(): + var childParticle = particles.duplicate() as GPUParticles2D + childParticle.emitting = true + add_child(childParticle) var sound = sounds.get_node_or_null(spawnSound) if sound and sound.stream: sound.play() @@ -22,23 +26,20 @@ func _ready(): animator.play(spawnAnimation) if spawnTexture: texture.play(spawnTexture) -func shot(): - var childParticle = particles.duplicate() as GPUParticles2D - childParticle.emitting = true - add_child(childParticle) if oneShot: - await childParticle.finished - childParticle.queue_free() + if childParticle.emitting: + await childParticle.finished + childParticle.queue_free() + if spawnTexture: + if texture.is_playing(): + await texture.animation_finished + texture.hide() if spawnSound: - var sound: AudioStreamPlayer2D = sounds.get_node(spawnSound) if sound.playing: await sound.finished if spawnAnimation: if animator.is_playing(): await animator.animation_finished - if spawnTexture: - if texture.is_playing(): - await texture.animation_finished queue_free() func register():