diff --git a/components/Abstracts/BulletBase.tscn b/components/Abstracts/BulletBase.tscn index 2a9beb8..09907f6 100644 --- a/components/Abstracts/BulletBase.tscn +++ b/components/Abstracts/BulletBase.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://crtdkysmnkith"] +[gd_scene format=3 uid="uid://crtdkysmnkith"] [ext_resource type="Script" uid="uid://dp7c02tob106n" path="res://scripts/Statemachine/BulletBase.gd" id="1_pklpq"] @@ -38,19 +38,19 @@ _data = { [sub_resource type="CircleShape2D" id="CircleShape2D_ecl7m"] -[node name="BulletBase" type="Area2D"] +[node name="BulletBase" type="Area2D" unique_id=5571707] script = ExtResource("1_pklpq") -[node name="texture" type="AnimatedSprite2D" parent="."] +[node name="texture" type="AnimatedSprite2D" parent="." unique_id=162977358] unique_name_in_owner = true sprite_frames = SubResource("SpriteFrames_vypy3") -[node name="animator" type="AnimationPlayer" parent="texture"] +[node name="animator" type="AnimationPlayer" parent="texture" unique_id=1114087117] unique_name_in_owner = true -libraries = { -&"": SubResource("AnimationLibrary_dxweq") -} +libraries/ = SubResource("AnimationLibrary_dxweq") -[node name="hitbox" type="CollisionShape2D" parent="."] +[node name="audio" type="AudioStreamPlayer2D" parent="texture" unique_id=1167114186] + +[node name="hitbox" type="CollisionShape2D" parent="." unique_id=175349408] unique_name_in_owner = true shape = SubResource("CircleShape2D_ecl7m") diff --git a/components/Bullets/InfinitySword.tscn b/components/Bullets/InfinitySword.tscn index cdb5c35..9f14433 100644 --- a/components/Bullets/InfinitySword.tscn +++ b/components/Bullets/InfinitySword.tscn @@ -2,52 +2,144 @@ [ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_na6tw"] [ext_resource type="Script" uid="uid://b7vswg8ju8a0u" path="res://scripts/Contents/Bullets/InfinitySword.gd" id="2_nbqhn"] -[ext_resource type="Texture2D" uid="uid://dbltogf6kgtic" path="res://resources/bullets/infinity-sword/Effect_DangerJumpSlash5.png" id="2_v6780"] [ext_resource type="Texture2D" uid="uid://bp687pj8b7wv0" path="res://resources/bullets/infinity-sword/Effect_DangerJumpSlash6.png" id="3_nbqhn"] -[ext_resource type="Texture2D" uid="uid://btam58pjvht66" path="res://resources/bullets/infinity-sword/Effect_DangerJumpSlash7.png" id="4_d85mn"] -[ext_resource type="Texture2D" uid="uid://cpaqjor8cb8gb" path="res://resources/bullets/infinity-sword/Effect_DangerJumpSlash8.png" id="5_6n88i"] -[ext_resource type="Texture2D" uid="uid://ckmkpkkxpui3b" path="res://resources/bullets/infinity-sword/Effect_DangerJumpSlash9.png" id="6_bk7mn"] -[ext_resource type="Texture2D" uid="uid://fewvfwxtw5bu" path="res://resources/bullets/infinity-sword/Effect_DangerJumpSlash10.png" id="7_3cvbl"] [sub_resource type="SpriteFrames" id="SpriteFrames_c741v"] animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("2_v6780") -}, { -"duration": 1.0, "texture": ExtResource("3_nbqhn") -}, { -"duration": 1.0, -"texture": ExtResource("4_d85mn") -}, { -"duration": 1.0, -"texture": ExtResource("5_6n88i") -}, { -"duration": 1.0, -"texture": ExtResource("6_bk7mn") -}, { -"duration": 1.0, -"texture": ExtResource("7_3cvbl") }], "loop": false, "name": &"default", "speed": 15.0 }] +[sub_resource type="Animation" id="Animation_nbqhn"] +length = 0.001 +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), +"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)] +} + +[sub_resource type="Animation" id="Animation_d85mn"] +resource_name = "destroy" +length = 0.5 +step = 0.1 + +[sub_resource type="Animation" id="Animation_6n88i"] +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_bk7mn"] +resource_name = "spawn" +length = 2.0 +step = 0.05 +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, 0, 0, 2), +"points": PackedFloat32Array(0, -0.25, 0, 0, 0, 0.5, -0.25, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, -0.25, 0, 0, 0), +"times": PackedFloat32Array(0, 0.15, 1.85, 2) +} +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, 0, 0, 0), +"points": PackedFloat32Array(0, 0, 0, 0, 0, 0.5, -0.25, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, -0.25, 0, 0, 0), +"times": PackedFloat32Array(0, 0.15, 1.85, 2) +} +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.15, 1.85, 2), +"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)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_3cvbl"] +_data = { +&"RESET": SubResource("Animation_nbqhn"), +&"destroy": SubResource("Animation_d85mn"), +&"loop": SubResource("Animation_6n88i"), +&"spawn": SubResource("Animation_bk7mn") +} + [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_v6780"] radius = 124.0 height = 580.0 [node name="InfinitySword" unique_id=2133299016 instance=ExtResource("1_na6tw")] script = ExtResource("2_nbqhn") +speed = 25.0 +penerate = 1.0 +autoSpawnAnimation = true autoPlayTexture = true +freeAfterSpawn = true -[node name="texture" parent="." index="0"] +[node name="texture" parent="." index="0" unique_id=162977358] rotation = 2.9485245 -scale = Vector2(0.5, 0.5) +scale = Vector2(1e-05, 1e-05) sprite_frames = SubResource("SpriteFrames_c741v") -frame = 1 -[node name="hitbox" parent="." index="1"] +[node name="animator" parent="texture" index="0" unique_id=1114087117] +libraries/ = SubResource("AnimationLibrary_3cvbl") + +[node name="hitbox" parent="." index="1" unique_id=175349408] shape = SubResource("CapsuleShape2D_v6780") diff --git a/components/Bullets/Wuwei.tscn b/components/Bullets/Wuwei.tscn index f3039f7..bcb29b5 100644 --- a/components/Bullets/Wuwei.tscn +++ b/components/Bullets/Wuwei.tscn @@ -67,7 +67,6 @@ tracks/0/keys = { [sub_resource type="Animation" id="Animation_06poh"] resource_name = "spawn" length = 3.0 -loop_mode = 1 step = 0.1 tracks/0/type = "bezier" tracks/0/imported = false @@ -77,7 +76,7 @@ tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(2, 2), -"points": PackedFloat32Array(0, 0, 0, 3.5, 4, -1.57, -1, -2, 0, 0), +"points": PackedFloat32Array(0, 0, 0, 3.5, 4, -1.57, -2, -2, 0, 0), "times": PackedFloat32Array(0, 3) } tracks/1/type = "value" @@ -87,7 +86,7 @@ tracks/1/path = NodePath(".:modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 0.9, 2.7, 3), +"times": PackedFloat32Array(0, 0.9, 2.2, 3), "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)] @@ -99,11 +98,28 @@ tracks/2/path = NodePath("%hitbox:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 2.4, 3), +"times": PackedFloat32Array(0, 2, 3), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [true, false, false] } +tracks/3/type = "method" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%texture/..") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(1.3, 2), +"transitions": PackedFloat32Array(1, 1), +"values": [{ +"args": [], +"method": &"beReady" +}, { +"args": [], +"method": &"shoot" +}] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_57ptn"] _data = { @@ -114,21 +130,28 @@ _data = { } [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6ny68"] -radius = 55.20601 -height = 389.01526 +radius = 141.9448 +height = 725.7404 [node name="Wuwei" unique_id=326826451 instance=ExtResource("1_eg848")] script = ExtResource("2_vxgkj") +penerate = 1.0 +autoSpawnAnimation = true +freeAfterSpawn = true +metadata/_edit_vertical_guides_ = [406.0] -[node name="animator" parent="texture" index="0"] +[node name="animator" parent="texture" parent_id_path=PackedInt32Array(162977358) index="0" unique_id=1114087117] libraries/ = SubResource("AnimationLibrary_57ptn") -[node name="static" type="Sprite2D" parent="texture" index="1" unique_id=892692141] -position = Vector2(136.00002, 0) -scale = Vector2(0.37746382, 0.37746382) +[node name="static" type="Sprite2D" parent="texture" parent_id_path=PackedInt32Array(162977358) index="1" unique_id=892692141] +position = Vector2(300, 0) texture = ExtResource("2_6ny68") -[node name="hitbox" parent="." index="1"] -position = Vector2(112, -64) +[node name="anchorSpawn" type="Node2D" parent="texture/static" index="0" unique_id=1327931418] +unique_name_in_owner = true +position = Vector2(170.913, -7) + +[node name="hitbox" parent="." index="1" unique_id=175349408] +position = Vector2(235, -77) rotation = -0.29216617 shape = SubResource("CapsuleShape2D_6ny68") diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index e6adcf3..296806b 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=21 format=3 uid="uid://dky8574uqc18r"] +[gd_scene format=3 uid="uid://dky8574uqc18r"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"] [ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] [ext_resource type="PackedScene" uid="uid://cx7nogfnv7s8t" path="res://components/Weapons/Tree.tscn" id="3_0omr3"] +[ext_resource type="PackedScene" uid="uid://bbrllsqjmx0ie" path="res://components/Weapons/DaoStatue.tscn" id="3_jluqw"] [ext_resource type="PackedScene" uid="uid://c0n3igy4hucrg" path="res://components/Weapons/PurpleCrystal.tscn" id="3_joj4g"] [ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"] [ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"] @@ -86,14 +87,14 @@ animations = [{ [sub_resource type="CircleShape2D" id="CircleShape2D_h1v0q"] radius = 61.204575 -[node name="Rooster" instance=ExtResource("1_e5pl8")] +[node name="Rooster" unique_id=1711205167 instance=ExtResource("1_e5pl8")] script = ExtResource("2_oqdqd") displayName = "公鸡" useStatic = true metadata/_edit_horizontal_guides_ = [-188.0] metadata/_edit_vertical_guides_ = [71.0] -[node name="chargeParticle" type="GPUParticles2D" parent="." index="0"] +[node name="chargeParticle" type="GPUParticles2D" parent="." index="0" unique_id=1592717470] unique_name_in_owner = true position = Vector2(0, -54) amount = 100 @@ -102,11 +103,15 @@ process_material = SubResource("ParticleProcessMaterial_joj4g") [node name="weaponStore" parent="." index="2"] process_mode = 4 -[node name="PurpleCrystal" parent="weaponStore" index="0" instance=ExtResource("3_joj4g")] +[node name="DaoStatue" parent="weaponStore" index="0" unique_id=265403254 instance=ExtResource("3_jluqw")] +offset_bottom = 470.0 +debugRebuild = false + +[node name="PurpleCrystal" parent="weaponStore" index="1" unique_id=1666404074 instance=ExtResource("3_joj4g")] offset_bottom = 350.0 debugRebuild = false -[node name="Tree" parent="weaponStore" index="1" instance=ExtResource("3_0omr3")] +[node name="Tree" parent="weaponStore" index="2" unique_id=2010233768 instance=ExtResource("3_0omr3")] offset_bottom = 350.0 debugRebuild = false @@ -136,7 +141,7 @@ animation = &"idle" position = Vector2(8, -28) shape = SubResource("CircleShape2D_h1v0q") -[node name="normal" type="Node2D" parent="texture/weapons" index="0"] +[node name="normal" type="Node2D" parent="texture/weapons" index="0" unique_id=1939030218] position = Vector2(56, -69) [node name="statebar" parent="." index="5" node_paths=PackedStringArray("entity")] diff --git a/components/Effects/Danger.tscn b/components/Effects/Danger.tscn new file mode 100644 index 0000000..85e8977 --- /dev/null +++ b/components/Effects/Danger.tscn @@ -0,0 +1,130 @@ +[gd_scene format=3 uid="uid://ckf0a3lud88tq"] + +[ext_resource type="PackedScene" uid="uid://bcvuuy2m0pke0" path="res://components/Abstracts/EffectBase.tscn" id="1_oasek"] +[ext_resource type="Texture2D" uid="uid://bwc20hfm5jv8o" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper413.png" id="2_56n4r"] +[ext_resource type="AudioStream" uid="uid://g2j01jf3kap8" path="res://resources/sounds/effect/Flash2.ogg" id="2_agkww"] +[ext_resource type="Texture2D" uid="uid://bwtxy88f2hq7v" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper414.png" id="3_agkww"] +[ext_resource type="Texture2D" uid="uid://dexx7re4jsqex" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper1200.png" id="4_rvrve"] +[ext_resource type="Texture2D" uid="uid://dd67ngjhh10ku" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper1201.png" id="5_p01e2"] +[ext_resource type="Texture2D" uid="uid://chkv28f044rwb" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper1202.png" id="6_jaajp"] +[ext_resource type="Texture2D" uid="uid://e3v0u34fvig4" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper1203.png" id="7_lvgcl"] +[ext_resource type="Texture2D" uid="uid://c4k1m2mtwejwk" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper1204.png" id="8_dww55"] +[ext_resource type="Texture2D" uid="uid://c5gkd05tb32u8" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper1205.png" id="9_gwi08"] +[ext_resource type="Texture2D" uid="uid://mo0gjwh5amev" path="res://resources/effects/danger/Effect_Boss_YiGung_Upper1206.png" id="10_qnlj8"] + +[sub_resource type="Animation" id="Animation_agkww"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%texture:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("%texture: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)] +} + +[sub_resource type="Animation" id="Animation_rvrve"] +resource_name = "spawn" +length = 0.7 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%texture:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.45, 0.7), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("%texture:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.45, 0.7), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_p01e2"] +_data = { +&"RESET": SubResource("Animation_agkww"), +&"spawn": SubResource("Animation_rvrve") +} + +[sub_resource type="SpriteFrames" id="SpriteFrames_cau5v"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("2_56n4r") +}, { +"duration": 1.0, +"texture": ExtResource("3_agkww") +}, { +"duration": 1.0, +"texture": ExtResource("4_rvrve") +}, { +"duration": 1.0, +"texture": ExtResource("5_p01e2") +}, { +"duration": 1.0, +"texture": ExtResource("6_jaajp") +}, { +"duration": 1.0, +"texture": ExtResource("7_lvgcl") +}, { +"duration": 1.0, +"texture": ExtResource("8_dww55") +}, { +"duration": 1.0, +"texture": ExtResource("9_gwi08") +}, { +"duration": 1.0, +"texture": ExtResource("10_qnlj8") +}, { +"duration": 1.0, +"texture": ExtResource("10_qnlj8") +}], +"loop": false, +"name": &"spawn", +"speed": 20.0 +}] + +[node name="Danger" unique_id=609847951 instance=ExtResource("1_oasek")] +scale = Vector2(0.75, 0.75) +spawnSound = "spawn" +spawnAnimation = "spawn" +spawnTexture = "spawn" + +[node name="spawn" parent="sounds" index="0"] +stream = ExtResource("2_agkww") + +[node name="animator" parent="stage" index="0"] +libraries/ = SubResource("AnimationLibrary_p01e2") + +[node name="texture" parent="stage" index="1"] +sprite_frames = SubResource("SpriteFrames_cau5v") +frame = 9 +frame_progress = 1.0 diff --git a/components/Weapons/DaoStatue.tscn b/components/Weapons/DaoStatue.tscn index 31012d0..7e07a29 100644 --- a/components/Weapons/DaoStatue.tscn +++ b/components/Weapons/DaoStatue.tscn @@ -1,25 +1,39 @@ [gd_scene format=3 uid="uid://bbrllsqjmx0ie"] [ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_mps21"] +[ext_resource type="Script" uid="uid://cu42bwm2r05p6" path="res://scripts/Contents/Weapons/DaoStatue.gd" id="2_c82g6"] [ext_resource type="Texture2D" uid="uid://gwsychqkmv21" path="res://resources/weapons/Statue_Sword_Attack0.png" id="2_gx1sf"] +[ext_resource type="AudioStream" uid="uid://b3jn85pkl143b" path="res://resources/sounds/effect/Flash1.ogg" id="4_y3oaj"] [node name="DaoStatue" unique_id=265403254 instance=ExtResource("1_mps21")] +script = ExtResource("2_c82g6") avatarTexture = ExtResource("2_gx1sf") displayName = "道教石像" typeTopic = 1 store = { -"atk": 50, -"rate": 0.05 +"atk": 30, +"rate1": 0.02, +"rate2": 0.01, +"rate3": 0.1 } storeType = { "atk": 1, -"rate": 2 +"rate1": 2, +"rate2": 2, +"rate3": 2 } -descriptionTemplate = "挥出[b]无为之剑[/b],蓄力一段时间后挥出, -发射一道[b]次元斩[/b],造成$atk点伤害。 -攻击速度每降低1%,次元斩伤害+$rate" +descriptionTemplate = "挥出[b]天地之剑[/b],蓄力一段时间后, +发射一道[b]无量斩[/b],造成$atk点伤害。 + +攻击速度每降低[color=yellow]1%[/color],伤害+$rate2; +每失去[color=yellow]1[/color]点生命值,伤害+$rate1; +命中时每拥有[color=yellow]1[/color]层[b]气[/b],伤害+$rate3;" +cooldown = 3000.0 debugRebuild = true +[node name="attack" parent="sounds" index="0"] +stream = ExtResource("4_y3oaj") + [node name="avatar" parent="container/info" index="0"] texture = ExtResource("2_gx1sf") @@ -28,6 +42,9 @@ displayName = "道教石像" typeTopic = 1 [node name="description" parent="container" index="2"] -text = "[center]挥出[b]无为之剑[/b],蓄力一段时间后挥出, -发射一道[b]次元斩[/b],造成[color=cyan]50[/color]点伤害。 -攻击速度每降低1%,次元斩伤害+[color=cyan]5.0%[/color][/center]" +text = "[center]挥出[b]天地之剑[/b],蓄力一段时间后, +发射一道[b]无量斩[/b],造成[color=cyan]30[/color]点伤害。 + +攻击速度每降低[color=yellow]1%[/color],伤害+[color=cyan]1.0%[/color]; +每失去[color=yellow]1[/color]点生命值,伤害+[color=cyan]2.0%[/color]; +命中时每拥有[color=yellow]1[/color]层[b]气[/b],伤害+[color=cyan]10.0%[/color];[/center]" diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1200.png b/resources/effects/danger/Effect_Boss_YiGung_Upper1200.png new file mode 100644 index 0000000..38657a4 Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper1200.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1200.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper1200.png.import new file mode 100644 index 0000000..2f5e5df --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper1200.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dexx7re4jsqex" +path="res://.godot/imported/Effect_Boss_YiGung_Upper1200.png-6d275bc764d57bf3c5e24d2ce48b899f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper1200.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper1200.png-6d275bc764d57bf3c5e24d2ce48b899f.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/danger/Effect_Boss_YiGung_Upper1201.png b/resources/effects/danger/Effect_Boss_YiGung_Upper1201.png new file mode 100644 index 0000000..3192351 Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper1201.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1201.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper1201.png.import new file mode 100644 index 0000000..8d03ece --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper1201.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd67ngjhh10ku" +path="res://.godot/imported/Effect_Boss_YiGung_Upper1201.png-1be3e204662f7aa140cbd6af6c6ec5bf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper1201.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper1201.png-1be3e204662f7aa140cbd6af6c6ec5bf.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/danger/Effect_Boss_YiGung_Upper1202.png b/resources/effects/danger/Effect_Boss_YiGung_Upper1202.png new file mode 100644 index 0000000..dae25d2 Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper1202.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1202.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper1202.png.import new file mode 100644 index 0000000..4a8c1f2 --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper1202.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chkv28f044rwb" +path="res://.godot/imported/Effect_Boss_YiGung_Upper1202.png-206114566d2d02193cc25cc814eb2b19.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper1202.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper1202.png-206114566d2d02193cc25cc814eb2b19.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/danger/Effect_Boss_YiGung_Upper1203.png b/resources/effects/danger/Effect_Boss_YiGung_Upper1203.png new file mode 100644 index 0000000..9922aa1 Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper1203.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1203.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper1203.png.import new file mode 100644 index 0000000..5538fa7 --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper1203.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://e3v0u34fvig4" +path="res://.godot/imported/Effect_Boss_YiGung_Upper1203.png-deddbfcad8017013da76441662014f7a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper1203.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper1203.png-deddbfcad8017013da76441662014f7a.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/danger/Effect_Boss_YiGung_Upper1204.png b/resources/effects/danger/Effect_Boss_YiGung_Upper1204.png new file mode 100644 index 0000000..85d76cb Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper1204.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1204.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper1204.png.import new file mode 100644 index 0000000..0251ec7 --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper1204.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4k1m2mtwejwk" +path="res://.godot/imported/Effect_Boss_YiGung_Upper1204.png-d83cd741cf07e43edab4e7bd12920065.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper1204.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper1204.png-d83cd741cf07e43edab4e7bd12920065.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/danger/Effect_Boss_YiGung_Upper1205.png b/resources/effects/danger/Effect_Boss_YiGung_Upper1205.png new file mode 100644 index 0000000..73ca052 Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper1205.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1205.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper1205.png.import new file mode 100644 index 0000000..3de68a1 --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper1205.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5gkd05tb32u8" +path="res://.godot/imported/Effect_Boss_YiGung_Upper1205.png-5b75f37cb61198c1f3fd22e632582d58.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper1205.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper1205.png-5b75f37cb61198c1f3fd22e632582d58.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/danger/Effect_Boss_YiGung_Upper1206.png b/resources/effects/danger/Effect_Boss_YiGung_Upper1206.png new file mode 100644 index 0000000..82fcd1f Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper1206.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper1206.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper1206.png.import new file mode 100644 index 0000000..23c2e69 --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper1206.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mo0gjwh5amev" +path="res://.godot/imported/Effect_Boss_YiGung_Upper1206.png-e7ed0f4b14119872f615be1c67b7d200.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper1206.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper1206.png-e7ed0f4b14119872f615be1c67b7d200.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/danger/Effect_Boss_YiGung_Upper413.png b/resources/effects/danger/Effect_Boss_YiGung_Upper413.png new file mode 100644 index 0000000..7320d01 Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper413.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper413.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper413.png.import new file mode 100644 index 0000000..66f1c2d --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper413.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwc20hfm5jv8o" +path="res://.godot/imported/Effect_Boss_YiGung_Upper413.png-f6e26e361e2883d771d87e92d52ec6e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper413.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper413.png-f6e26e361e2883d771d87e92d52ec6e7.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/danger/Effect_Boss_YiGung_Upper414.png b/resources/effects/danger/Effect_Boss_YiGung_Upper414.png new file mode 100644 index 0000000..c88a723 Binary files /dev/null and b/resources/effects/danger/Effect_Boss_YiGung_Upper414.png differ diff --git a/resources/effects/danger/Effect_Boss_YiGung_Upper414.png.import b/resources/effects/danger/Effect_Boss_YiGung_Upper414.png.import new file mode 100644 index 0000000..d2223d5 --- /dev/null +++ b/resources/effects/danger/Effect_Boss_YiGung_Upper414.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwtxy88f2hq7v" +path="res://.godot/imported/Effect_Boss_YiGung_Upper414.png-09915daa075100c93d8379fdad895d70.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/effects/danger/Effect_Boss_YiGung_Upper414.png" +dest_files=["res://.godot/imported/Effect_Boss_YiGung_Upper414.png-09915daa075100c93d8379fdad895d70.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/InfinitySword.gd b/scripts/Contents/Bullets/InfinitySword.gd index b8750f5..7b0cde0 100644 --- a/scripts/Contents/Bullets/InfinitySword.gd +++ b/scripts/Contents/Bullets/InfinitySword.gd @@ -1,5 +1,12 @@ extends BulletBase class_name InfinitySwordBullet +var implused: Array[EntityBase] = [] + func ai(): PresetBulletAI.forward(self , rotation) +func succeedToHit(_dmg: float, entity: EntityBase): + if implused.has(entity): return + else: + implused.append(entity) + entity.impluse(Vector2.from_angle(rotation) * 1500) diff --git a/scripts/Contents/Bullets/Wuwei.gd b/scripts/Contents/Bullets/Wuwei.gd index ace12e7..c0feca9 100644 --- a/scripts/Contents/Bullets/Wuwei.gd +++ b/scripts/Contents/Bullets/Wuwei.gd @@ -1,5 +1,22 @@ extends BulletBase class_name WuweiBullet +@export var canMove: bool = true + +func ai(): + if canMove: + PresetBulletAI.lockLauncher(self , launcher, true) + look_at(get_global_mouse_position()) + func shoot(): - pass + for bullet in BulletBase.generate( + ComponentManager.getBullet("InfinitySword"), + launcher, + position + Vector2.from_angle(rotation) * 400, + rotation + ): + if bullet is InfinitySwordBullet: + bullet.baseDamage = baseDamage +func beReady(): + canMove = false + EffectController.create(ComponentManager.getEffect("Danger"), findAnchor("Spawn")).shot() diff --git a/scripts/Contents/Weapons/DaoStatue.gd b/scripts/Contents/Weapons/DaoStatue.gd new file mode 100644 index 0000000..7fc4906 --- /dev/null +++ b/scripts/Contents/Weapons/DaoStatue.gd @@ -0,0 +1,16 @@ +@tool +extends Weapon + +func attack(entity: EntityBase): + for bullet in BulletBase.generate( + ComponentManager.getBullet("Wuwei"), + entity, + entity.position, + entity.position.angle_to_point(get_global_mouse_position()) + ): + if bullet is WuweiBullet: + bullet.baseDamage = readStore("atk") + bullet.baseDamage *= (readStore("rate2") + 1) ** ((1.0 - entity.fields[FieldStore.Entity.ATTACK_SPEED]) * 100) + bullet.baseDamage *= (readStore("rate1") + 1) ** (entity.fields[FieldStore.Entity.MAX_HEALTH] - entity.health) + bullet.baseDamage *= (readStore("rate3") + 1) ** len(entity.getOrCreateCycleTimer("parry", 2000, 100).bullets) + return true diff --git a/scripts/Contents/Weapons/DaoStatue.gd.uid b/scripts/Contents/Weapons/DaoStatue.gd.uid new file mode 100644 index 0000000..51e36a2 --- /dev/null +++ b/scripts/Contents/Weapons/DaoStatue.gd.uid @@ -0,0 +1 @@ +uid://cu42bwm2r05p6 diff --git a/scripts/Statemachine/BulletBase.gd b/scripts/Statemachine/BulletBase.gd index 289f885..ae63458 100644 --- a/scripts/Statemachine/BulletBase.gd +++ b/scripts/Statemachine/BulletBase.gd @@ -104,6 +104,12 @@ func _physics_process(_delta: float) -> void: else: tryDestroy() +func findAnchor(anch: String): + var node = get_node_or_null("%anchor" + anch) + if node is Node2D: + return node.global_position + else: + return Vector2.ZERO func setupCuttable(cutSpeed: float): area_entered.connect( func(body):