diff --git a/components/Abstracts/EffectBase.tscn b/components/Abstracts/EffectBase.tscn index e43a974..7fadcfe 100644 --- a/components/Abstracts/EffectBase.tscn +++ b/components/Abstracts/EffectBase.tscn @@ -1,9 +1,17 @@ -[gd_scene load_steps=3 format=3 uid="uid://bcvuuy2m0pke0"] +[gd_scene load_steps=4 format=3 uid="uid://bcvuuy2m0pke0"] [ext_resource type="Script" uid="uid://0iwnvhdh645p" path="res://scripts/Statemachine/EffectController.gd" id="1_pt2rk"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_7cv4k"] +[sub_resource type="SpriteFrames" id="SpriteFrames_44wuf"] +animations = [{ +"frames": [], +"loop": true, +"name": &"spawn", +"speed": 5.0 +}] + [node name="EffectBase" type="Node2D"] z_index = 1 script = ExtResource("1_pt2rk") @@ -29,3 +37,9 @@ color = Color(1, 1, 1, 0) [node name="animator" type="AnimationPlayer" parent="stage"] unique_name_in_owner = true + +[node name="texture" type="AnimatedSprite2D" parent="stage"] +unique_name_in_owner = true +position = Vector2(50, 50) +sprite_frames = SubResource("SpriteFrames_44wuf") +animation = &"spawn" diff --git a/components/Bullets/QKSword.tscn b/components/Bullets/QKSword.tscn index a9eccc1..2bc7497 100644 --- a/components/Bullets/QKSword.tscn +++ b/components/Bullets/QKSword.tscn @@ -122,7 +122,7 @@ size = Vector2(146, 26) [node name="QKSword" instance=ExtResource("1_1ke2b")] script = ExtResource("2_x26jp") speed = 20.0 -baseDamage = 20.0 +baseDamage = 25.0 penerate = 1.0 penerateDamageReduction = 0.2 lifeTime = 3000.0 diff --git a/components/Effects/FooExplosion.tscn b/components/Effects/FooExplosion.tscn new file mode 100644 index 0000000..fcaa820 --- /dev/null +++ b/components/Effects/FooExplosion.tscn @@ -0,0 +1,87 @@ +[gd_scene load_steps=18 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"] +[ext_resource type="AudioStream" uid="uid://dkm4rld5hsevd" path="res://resources/sounds/effect/baozha.mp3" id="2_8b1u1"] +[ext_resource type="Texture2D" uid="uid://cehkdqa85b0ad" path="res://resources/effects/fooExplosion/Lv1_FooExplosion01.png" id="3_8b1u1"] +[ext_resource type="Texture2D" uid="uid://d2pg5hqpe2cp2" path="res://resources/effects/fooExplosion/Lv1_FooExplosion02.png" id="4_5pi6y"] +[ext_resource type="Texture2D" uid="uid://bykjgvhsf2dsu" path="res://resources/effects/fooExplosion/Lv1_FooExplosion03.png" id="5_k87jx"] +[ext_resource type="Texture2D" uid="uid://d0uq64amohrs7" path="res://resources/effects/fooExplosion/Lv1_FooExplosion04.png" id="6_arn3m"] +[ext_resource type="Texture2D" uid="uid://b2ywi78d7lg21" path="res://resources/effects/fooExplosion/Lv1_FooExplosion05.png" id="7_7ocvl"] +[ext_resource type="Texture2D" uid="uid://bihj346dfshj3" path="res://resources/effects/fooExplosion/Lv1_FooExplosion06.png" id="8_qdlyj"] +[ext_resource type="Texture2D" uid="uid://c1b3gnamtn2rn" path="res://resources/effects/fooExplosion/Lv1_FooExplosion07.png" id="9_bcn35"] +[ext_resource type="Texture2D" uid="uid://bo7cih0s2hx3g" path="res://resources/effects/fooExplosion/Lv1_FooExplosion08.png" id="10_4wpfv"] +[ext_resource type="Texture2D" uid="uid://cgisg4urhvrah" path="res://resources/effects/fooExplosion/Lv1_FooExplosion09.png" id="11_pg82r"] +[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"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("2_1ukt2") +}, { +"duration": 1.0, +"texture": ExtResource("3_8b1u1") +}, { +"duration": 1.0, +"texture": ExtResource("4_5pi6y") +}, { +"duration": 1.0, +"texture": ExtResource("5_k87jx") +}, { +"duration": 1.0, +"texture": ExtResource("6_arn3m") +}, { +"duration": 1.0, +"texture": ExtResource("7_7ocvl") +}, { +"duration": 1.0, +"texture": ExtResource("8_qdlyj") +}, { +"duration": 1.0, +"texture": ExtResource("9_bcn35") +}, { +"duration": 1.0, +"texture": ExtResource("10_4wpfv") +}, { +"duration": 1.0, +"texture": ExtResource("11_pg82r") +}, { +"duration": 1.0, +"texture": ExtResource("12_dhm5g") +}, { +"duration": 1.0, +"texture": ExtResource("13_41cg7") +}], +"loop": false, +"name": &"spawn", +"speed": 30.0 +}] + +[node name="Foo" instance=ExtResource("1_vi6cv")] +spawnSound = "spawn" +spawnTexture = "spawn" + +[node name="spawn" parent="sounds" index="0"] +stream = ExtResource("2_8b1u1") + +[node name="animator" parent="stage" index="0"] +libraries = { +&"": SubResource("AnimationLibrary_8b1u1") +} + +[node name="texture" parent="stage" index="1"] +scale = Vector2(0.4, 0.4) +sprite_frames = SubResource("SpriteFrames_kn8g0") +frame = 11 +frame_progress = 1.0 diff --git a/components/Weapons/Tree.tscn b/components/Weapons/Tree.tscn index 0bd088b..7d4ec1f 100644 --- a/components/Weapons/Tree.tscn +++ b/components/Weapons/Tree.tscn @@ -1,9 +1,51 @@ -[gd_scene load_steps=3 format=3 uid="uid://cx7nogfnv7s8t"] +[gd_scene load_steps=4 format=3 uid="uid://cx7nogfnv7s8t"] [ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_0lbwr"] [ext_resource type="Script" uid="uid://bqdyhwcd4jwmj" path="res://scripts/Contents/Weapons/Tree.gd" id="2_jsuc8"] +[ext_resource type="Texture2D" uid="uid://74n7umby4d4w" path="res://resources/weapons/ParryCounter.png" id="3_nwamk"] [node name="Tree" instance=ExtResource("1_0lbwr")] script = ExtResource("2_jsuc8") +avatarTexture = ExtResource("3_nwamk") +displayName = "扶桑元神" +quality = 4 +costBeachball = 900 oneShoot = true +store = { +"atk": 10, +"count": 1.0, +"foo": 1.0 +} +storeType = { +"atk": 1, +"count": 1, +"foo": 1 +} +descriptionTemplate = "进行[b]格挡[/b],化解飞来的子弹。 +每成功格挡一次,获得一点[b]气力[/b]。 +每拥有一点气力,闪避穿过敌人时对其贴上$foo层[b]符咒[/b],一段时间后符咒自动引爆, +召唤[b]乾坤剑[/b]穿透敌人。 + +乾坤剑造成$atk点伤害, +每次格挡最多化解$count个子弹。" cooldown = 0.0 +debugRebuild = true + +[node name="avatar" parent="container/info" index="0"] +texture = ExtResource("3_nwamk") + +[node name="beachball" parent="container/info/infos" index="1"] +count = 900 + +[node name="name" parent="container/info" index="2"] +displayName = "扶桑元神" +quality = 4 + +[node name="description" parent="container" index="2"] +text = "[center]进行[b]格挡[/b],化解飞来的子弹。 +每成功格挡一次,获得一点[b]气力[/b]。 +每拥有一点气力,闪避穿过敌人时对其贴上[color=cyan]1[/color]层[b]符咒[/b],一段时间后符咒自动引爆, +召唤[b]乾坤剑[/b]穿透敌人。 + +乾坤剑造成[color=cyan]10[/color]点伤害, +每次格挡最多化解[color=cyan]1[/color]个子弹。[/center]" diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion00.png b/resources/effects/fooExplosion/Lv1_FooExplosion00.png new file mode 100644 index 0000000..07e321d Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion00.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion00.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion00.png.import new file mode 100644 index 0000000..66b0f42 --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion00.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq80y83edetx3" +path="res://.godot/imported/Lv1_FooExplosion00.png-0df356b41f41f6092a9bb1652b63c922.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion00.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion00.png-0df356b41f41f6092a9bb1652b63c922.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/fooExplosion/Lv1_FooExplosion01.png b/resources/effects/fooExplosion/Lv1_FooExplosion01.png new file mode 100644 index 0000000..201b7ed Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion01.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion01.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion01.png.import new file mode 100644 index 0000000..e675357 --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion01.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cehkdqa85b0ad" +path="res://.godot/imported/Lv1_FooExplosion01.png-68bf3113277947648d8279d0bfdb097d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion01.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion01.png-68bf3113277947648d8279d0bfdb097d.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/fooExplosion/Lv1_FooExplosion02.png b/resources/effects/fooExplosion/Lv1_FooExplosion02.png new file mode 100644 index 0000000..8d21649 Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion02.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion02.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion02.png.import new file mode 100644 index 0000000..f51d296 --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion02.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2pg5hqpe2cp2" +path="res://.godot/imported/Lv1_FooExplosion02.png-aae254d5afcc3300fd26352bf0755644.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion02.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion02.png-aae254d5afcc3300fd26352bf0755644.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/fooExplosion/Lv1_FooExplosion03.png b/resources/effects/fooExplosion/Lv1_FooExplosion03.png new file mode 100644 index 0000000..0e086b5 Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion03.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion03.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion03.png.import new file mode 100644 index 0000000..b053ecc --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion03.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bykjgvhsf2dsu" +path="res://.godot/imported/Lv1_FooExplosion03.png-0e10aa6579aec41c19e6203d0f058645.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion03.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion03.png-0e10aa6579aec41c19e6203d0f058645.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/fooExplosion/Lv1_FooExplosion04.png b/resources/effects/fooExplosion/Lv1_FooExplosion04.png new file mode 100644 index 0000000..fab5e68 Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion04.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion04.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion04.png.import new file mode 100644 index 0000000..ecbd3d3 --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion04.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0uq64amohrs7" +path="res://.godot/imported/Lv1_FooExplosion04.png-47f8417164422428df5573e03db52542.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion04.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion04.png-47f8417164422428df5573e03db52542.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/fooExplosion/Lv1_FooExplosion05.png b/resources/effects/fooExplosion/Lv1_FooExplosion05.png new file mode 100644 index 0000000..b6cdfa6 Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion05.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion05.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion05.png.import new file mode 100644 index 0000000..e1036ae --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion05.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2ywi78d7lg21" +path="res://.godot/imported/Lv1_FooExplosion05.png-e7053aa245973761ac554d6fd5e77058.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion05.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion05.png-e7053aa245973761ac554d6fd5e77058.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/fooExplosion/Lv1_FooExplosion06.png b/resources/effects/fooExplosion/Lv1_FooExplosion06.png new file mode 100644 index 0000000..f31395c Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion06.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion06.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion06.png.import new file mode 100644 index 0000000..4104994 --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion06.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bihj346dfshj3" +path="res://.godot/imported/Lv1_FooExplosion06.png-554f03b8591fe4c6bb586c25c92dd99d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion06.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion06.png-554f03b8591fe4c6bb586c25c92dd99d.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/fooExplosion/Lv1_FooExplosion07.png b/resources/effects/fooExplosion/Lv1_FooExplosion07.png new file mode 100644 index 0000000..81e432b Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion07.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion07.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion07.png.import new file mode 100644 index 0000000..14af21f --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion07.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1b3gnamtn2rn" +path="res://.godot/imported/Lv1_FooExplosion07.png-6fa6f8e96ab1f80771386b46f8864404.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion07.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion07.png-6fa6f8e96ab1f80771386b46f8864404.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/fooExplosion/Lv1_FooExplosion08.png b/resources/effects/fooExplosion/Lv1_FooExplosion08.png new file mode 100644 index 0000000..c6fda38 Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion08.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion08.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion08.png.import new file mode 100644 index 0000000..de9655c --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion08.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bo7cih0s2hx3g" +path="res://.godot/imported/Lv1_FooExplosion08.png-d7231d7b4edbdab9a16d8cad0a51476c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion08.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion08.png-d7231d7b4edbdab9a16d8cad0a51476c.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/fooExplosion/Lv1_FooExplosion09.png b/resources/effects/fooExplosion/Lv1_FooExplosion09.png new file mode 100644 index 0000000..5e7a105 Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion09.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion09.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion09.png.import new file mode 100644 index 0000000..05b6c8b --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion09.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgisg4urhvrah" +path="res://.godot/imported/Lv1_FooExplosion09.png-147b5348099f6b500e932b6503afafcf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion09.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion09.png-147b5348099f6b500e932b6503afafcf.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/fooExplosion/Lv1_FooExplosion10.png b/resources/effects/fooExplosion/Lv1_FooExplosion10.png new file mode 100644 index 0000000..663b480 Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion10.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion10.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion10.png.import new file mode 100644 index 0000000..8043121 --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion10.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm4ih65h45qi8" +path="res://.godot/imported/Lv1_FooExplosion10.png-0dd1b5feaa95ffcae5a37a258a7b3ee8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion10.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion10.png-0dd1b5feaa95ffcae5a37a258a7b3ee8.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/fooExplosion/Lv1_FooExplosion11.png b/resources/effects/fooExplosion/Lv1_FooExplosion11.png new file mode 100644 index 0000000..eb849ba Binary files /dev/null and b/resources/effects/fooExplosion/Lv1_FooExplosion11.png differ diff --git a/resources/effects/fooExplosion/Lv1_FooExplosion11.png.import b/resources/effects/fooExplosion/Lv1_FooExplosion11.png.import new file mode 100644 index 0000000..8b0280b --- /dev/null +++ b/resources/effects/fooExplosion/Lv1_FooExplosion11.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpr2j2jed4yxm" +path="res://.godot/imported/Lv1_FooExplosion11.png-44353bf2f6dfa8ab9c991a076e881591.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/fooExplosion/Lv1_FooExplosion11.png" +dest_files=["res://.godot/imported/Lv1_FooExplosion11.png-44353bf2f6dfa8ab9c991a076e881591.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 new file mode 100644 index 0000000..05dfcbb Binary files /dev/null and b/resources/sounds/effect/baozha.mp3 differ diff --git a/resources/sounds/effect/baozha.mp3.import b/resources/sounds/effect/baozha.mp3.import new file mode 100644 index 0000000..9ed19ae --- /dev/null +++ b/resources/sounds/effect/baozha.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dkm4rld5hsevd" +path="res://.godot/imported/baozha.mp3-eb2f30dce98ee91c482d7e0c754d12a4.mp3str" + +[deps] + +source_file="res://resources/sounds/effect/baozha.mp3" +dest_files=["res://.godot/imported/baozha.mp3-eb2f30dce98ee91c482d7e0c754d12a4.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/resources/weapons/ParryCounter.png b/resources/weapons/ParryCounter.png new file mode 100644 index 0000000..706f7ed Binary files /dev/null and b/resources/weapons/ParryCounter.png differ diff --git a/resources/weapons/ParryCounter.png.import b/resources/weapons/ParryCounter.png.import new file mode 100644 index 0000000..d5bcfb2 --- /dev/null +++ b/resources/weapons/ParryCounter.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://74n7umby4d4w" +path="res://.godot/imported/ParryCounter.png-05b65344ef1eb04d0ffd824fc52e8ec1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/weapons/ParryCounter.png" +dest_files=["res://.godot/imported/ParryCounter.png-05b65344ef1eb04d0ffd824fc52e8ec1.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/scripts/Contents/Bullets/Parrier.gd b/scripts/Contents/Bullets/Parrier.gd index 7036c7c..acbe059 100644 --- a/scripts/Contents/Bullets/Parrier.gd +++ b/scripts/Contents/Bullets/Parrier.gd @@ -3,9 +3,13 @@ class_name ParrierBullet @export var parryRate: float = 1 +var parryiedTimes: int = 0 +var maxParryTimes: int = 1 + func hitBullet(bullet: BulletBase): # 当前子弹与其他子弹相撞 if BulletTool.canDamage(bullet, launcher): # 其他子弹可以使当前子弹的发射者受伤吗? - if MathTool.rate(parryRate): + if parryiedTimes < maxParryTimes && MathTool.rate(parryRate): # 一个刀光最多格挡多少个敌方子弹? + parryiedTimes += 1 # 生成格挡特效 var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 150) # 从子弹位置,面向其他子弹的方向前进150 eff.modulate = bullet.modulate.blend(bullet.texture.modulate) diff --git a/scripts/Contents/Bullets/ParryBall.gd b/scripts/Contents/Bullets/ParryBall.gd index 1597938..e583d40 100644 --- a/scripts/Contents/Bullets/ParryBall.gd +++ b/scripts/Contents/Bullets/ParryBall.gd @@ -20,6 +20,6 @@ func succeedToHit(_dmg: float, entity: EntityBase): # 当撞到敌人时 0 ): if bullet is QKSwordBullet: - bullet.position = entity.texture.global_position + MathTool.sampleInRing(50, 200) + bullet.position = entity.texture.global_position + MathTool.sampleInRing(200, 500) bullet.tracer = entity bullet.look_at(entity.getTrackingAnchor()) # 生成的乾坤剑面向敌人 diff --git a/scripts/Contents/Bullets/QKSword.gd b/scripts/Contents/Bullets/QKSword.gd index 4a7da49..0c7306e 100644 --- a/scripts/Contents/Bullets/QKSword.gd +++ b/scripts/Contents/Bullets/QKSword.gd @@ -3,11 +3,15 @@ class_name QKSwordBullet var tracer: EntityBase var attackedTracer: bool = false +var spawnSpeed: float = 1 +func register(): + spawnSpeed = randf_range(0.25, 1.75) + animator.speed_scale = spawnSpeed func ai(): if is_instance_valid(tracer) && !attackedTracer: look_at(tracer.getTrackingAnchor()) - if timeLived() > 1000: + if timeLived() > 1000 / spawnSpeed: PresetBulletAI.forward(self , rotation) # 前进 hitbox.disabled = false else: @@ -16,6 +20,6 @@ func succeedToHit(_dmg: float, entity: EntityBase): if entity == tracer: attackedTracer = true # 只需要命中一次目标就不需要继续前进了 EffectController.create( - ComponentManager.getEffect("CatBoom"), + ComponentManager.getEffect("FooExplosion"), entity.texture.global_position ).shot() diff --git a/scripts/Statemachine/EffectController.gd b/scripts/Statemachine/EffectController.gd index dcfc1ae..3b7208c 100644 --- a/scripts/Statemachine/EffectController.gd +++ b/scripts/Statemachine/EffectController.gd @@ -4,10 +4,12 @@ class_name EffectController @export var oneShot: bool = true @export var spawnSound: String = "" @export var spawnAnimation: String = "" +@export var spawnTexture: String = "" @onready var particles: GPUParticles2D = $"%particles" @onready var sounds: Node2D = $"%sounds" @onready var animator: AnimationPlayer = $"%animator" +@onready var texture: AnimatedSprite2D = $"%texture" func _ready(): register() @@ -18,17 +20,25 @@ func _ready(): sound.play() if spawnAnimation: animator.play(spawnAnimation) + if spawnTexture: + texture.play(spawnTexture) func shot(): - var cloned = particles.duplicate() as GPUParticles2D - cloned.emitting = true - add_child(cloned) + var childParticle = particles.duplicate() as GPUParticles2D + childParticle.emitting = true + add_child(childParticle) if oneShot: - await cloned.finished - cloned.queue_free() + await childParticle.finished + childParticle.queue_free() 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():