diff --git a/components/Abstracts/EntityBase.tscn b/components/Abstracts/EntityBase.tscn index 4d13284..433b6e1 100644 --- a/components/Abstracts/EntityBase.tscn +++ b/components/Abstracts/EntityBase.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=40 format=3 uid="uid://cvogxi7mktumf"] -[ext_resource type="Script" path="res://scripts/Statemachine/EntityBase.gd" id="1_mvol6"] +[ext_resource type="Script" uid="uid://ds3j3f82li68h" path="res://scripts/Statemachine/EntityBase.gd" id="1_mvol6"] [ext_resource type="Texture2D" uid="uid://dwwpkn4q07ja2" path="res://icon.svg" id="2_7lpu0"] [ext_resource type="AudioStream" uid="uid://cn876dtp1ypqx" path="res://resources/sounds/effect/Collect.wav" id="2_qt0aq"] [ext_resource type="PackedScene" uid="uid://dcjqjqere8ets" path="res://components/UI/EntityStateBar.tscn" id="2_uje1g"] @@ -71,9 +71,9 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_daot2"] _data = { -"RESET": SubResource("Animation_sxh2u"), -"left": SubResource("Animation_vxanw"), -"right": SubResource("Animation_nuh11") +&"RESET": SubResource("Animation_sxh2u"), +&"left": SubResource("Animation_vxanw"), +&"right": SubResource("Animation_nuh11") } [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ao5k4"] @@ -165,8 +165,8 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_kbmff"] _data = { -"RESET": SubResource("Animation_3wcjn"), -"hurt": SubResource("Animation_wl2we") +&"RESET": SubResource("Animation_3wcjn"), +&"hurt": SubResource("Animation_wl2we") } [sub_resource type="Animation" id="Animation_n7kxn"] @@ -281,9 +281,9 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_vvkcp"] _data = { -"RESET": SubResource("Animation_n7kxn"), -"enter": SubResource("Animation_lg0kn"), -"exit": SubResource("Animation_nfj4q") +&"RESET": SubResource("Animation_n7kxn"), +&"enter": SubResource("Animation_lg0kn"), +&"exit": SubResource("Animation_nfj4q") } [sub_resource type="Curve" id="Curve_cs3iy"] @@ -410,7 +410,7 @@ shape = SubResource("CircleShape2D_buhm1") [node name="animator" type="AnimationPlayer" parent="texture"] unique_name_in_owner = true libraries = { -"": SubResource("AnimationLibrary_daot2") +&"": SubResource("AnimationLibrary_daot2") } [node name="animatree" type="AnimationTree" parent="texture/animator"] @@ -423,13 +423,13 @@ parameters/blend_position = 1.36 [node name="hurtAnimator" type="AnimationPlayer" parent="texture"] unique_name_in_owner = true libraries = { -"": SubResource("AnimationLibrary_kbmff") +&"": SubResource("AnimationLibrary_kbmff") } [node name="stageAnimator" type="AnimationPlayer" parent="texture"] unique_name_in_owner = true libraries = { -"": SubResource("AnimationLibrary_vvkcp") +&"": SubResource("AnimationLibrary_vvkcp") } [node name="weapons" type="Node2D" parent="texture"] @@ -445,9 +445,9 @@ process_material = SubResource("ParticleProcessMaterial_kndb2") unique_name_in_owner = true emitting = false amount = 100 -process_material = SubResource("ParticleProcessMaterial_f3xas") one_shot = true explosiveness = 1.0 +process_material = SubResource("ParticleProcessMaterial_f3xas") [node name="statebar" parent="." instance=ExtResource("2_uje1g")] unique_name_in_owner = true diff --git a/components/Characters/Chick.tscn b/components/Characters/Chick.tscn index f8e6dfd..39e1901 100644 --- a/components/Characters/Chick.tscn +++ b/components/Characters/Chick.tscn @@ -1,21 +1,20 @@ -[gd_scene load_steps=12 format=3 uid="uid://b0ncrvm8u4pox"] +[gd_scene load_steps=11 format=3 uid="uid://b0ncrvm8u4pox"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_goqmy"] -[ext_resource type="Script" path="res://scripts/Contents/Characters/Chick.gd" id="2_r6bub"] -[ext_resource type="Texture2D" uid="uid://7pkplcqqxvnp" path="res://resources/characters/chick/chick-a.svg" id="2_syddq"] -[ext_resource type="Texture2D" uid="uid://dj5dvqb8gsedr" path="res://resources/characters/chick/chick-b.svg" id="3_064jv"] +[ext_resource type="Script" uid="uid://b2gg1fh0bflu7" path="res://scripts/Contents/Characters/Chick.gd" id="2_r6bub"] [ext_resource type="AudioStream" uid="uid://b7pxuov1id0ho" path="res://resources/sounds/effect/Pew.mp3" id="3_ik1xf"] [ext_resource type="AudioStream" uid="uid://bgo8p1l77xrbe" path="res://resources/sounds/effect/Magic Spell.wav" id="4_2qabh"] [ext_resource type="AudioStream" uid="uid://b10u6iir6uvqn" path="res://resources/sounds/effect/BigLaser.wav" id="4_mrsne"] [ext_resource type="AudioStream" uid="uid://cee6rxv2uqynh" path="res://resources/sounds/effect/Flame.ogg" id="5_vcsbb"] [ext_resource type="PackedScene" uid="uid://dny25qkcvtaa2" path="res://components/Effects/FirePot.tscn" id="6_kvx3n"] [ext_resource type="AudioStream" uid="uid://dn6bijr513wyp" path="res://resources/sounds/effect/Drum Boing.wav" id="7_qjhwc"] +[ext_resource type="Texture2D" uid="uid://k0hcr5u2xlk6" path="res://resources/characters/chick/fox.png" id="8_k8ox8"] [sub_resource type="SpriteFrames" id="SpriteFrames_xji3d"] animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("2_syddq") +"texture": ExtResource("8_k8ox8") }], "loop": true, "name": &"idle", @@ -23,10 +22,7 @@ animations = [{ }, { "frames": [{ "duration": 1.0, -"texture": ExtResource("2_syddq") -}, { -"duration": 1.0, -"texture": ExtResource("3_064jv") +"texture": ExtResource("8_k8ox8") }], "loop": true, "name": &"walk", @@ -60,6 +56,7 @@ stream = ExtResource("7_qjhwc") [node name="texture" parent="." index="2"] position = Vector2(0, -37) sprite_frames = SubResource("SpriteFrames_xji3d") +animation = &"walk" [node name="normal" type="Node2D" parent="texture/weapons" index="0"] position = Vector2(30, -12) diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index b6a3c00..5b07429 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=15 format=3 uid="uid://bm7ymrri6pykb"] +[gd_scene load_steps=18 format=3 uid="uid://bm7ymrri6pykb"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"] -[ext_resource type="Script" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] +[ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] [ext_resource type="Texture2D" uid="uid://fn8qx72clh38" path="res://resources/characters/cock/rooster-a.svg" id="2_q0j6j"] [ext_resource type="AudioStream" uid="uid://dclinyhu256xi" path="res://resources/sounds/effect/Low Whoosh.mp3" id="3_4syso"] [ext_resource type="Texture2D" uid="uid://ci2ik43ce82uy" path="res://resources/characters/cock/rooster-b.svg" id="3_b0fgx"] @@ -9,8 +9,11 @@ [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"] [ext_resource type="PackedScene" uid="uid://bb1uh8k7gkhr7" path="res://components/Weapons/VectorStar.tscn" id="4_omfco"] +[ext_resource type="PackedScene" uid="uid://cxabqjo7skxev" path="res://components/Weapons/BigLaser.tscn" id="5_jpf7h"] [ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"] +[ext_resource type="PackedScene" uid="uid://b2qhes4apaxsj" path="res://components/Weapons/NuclearBomb.tscn" id="6_ldigc"] [ext_resource type="AudioStream" uid="uid://4wuuf1osk0yv" path="res://resources/sounds/effect/Low Boing.wav" id="6_m5px1"] +[ext_resource type="PackedScene" uid="uid://frwt0fgrpskb" path="res://components/Weapons/Meowmere.tscn" id="7_u4w6u"] [ext_resource type="AudioStream" uid="uid://b10u6iir6uvqn" path="res://resources/sounds/effect/BigLaser.wav" id="8_7dhim"] [sub_resource type="SpriteFrames" id="SpriteFrames_4v2ol"] @@ -50,6 +53,13 @@ debugRebuild = false [node name="VectorStar" parent="weaponStore" index="1" instance=ExtResource("4_omfco")] +[node name="BigLaser" parent="weaponStore" index="2" instance=ExtResource("5_jpf7h")] + +[node name="NuclearBomb" parent="weaponStore" index="3" instance=ExtResource("6_ldigc")] +debugRebuild = false + +[node name="Meowmere" parent="weaponStore" index="4" instance=ExtResource("7_u4w6u")] + [node name="sprint" parent="sounds" index="0"] stream = ExtResource("4_66s6c") diff --git a/project.godot b/project.godot index 0b4e3f1..c80f79c 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="ChickenVSBear" run/main_scene="res://components/Scenes/World.tscn" -config/features=PackedStringArray("4.3", "GL Compatibility") +config/features=PackedStringArray("4.5", "GL Compatibility") config/icon="res://icon.svg" [display] diff --git a/resources/characters/chick/fox.png b/resources/characters/chick/fox.png new file mode 100644 index 0000000..2719dfc Binary files /dev/null and b/resources/characters/chick/fox.png differ diff --git a/resources/characters/chick/fox.png.import b/resources/characters/chick/fox.png.import new file mode 100644 index 0000000..564c92e --- /dev/null +++ b/resources/characters/chick/fox.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://k0hcr5u2xlk6" +path="res://.godot/imported/fox.png-4f35dda7835b4b99df8da1b16cc06ef1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/characters/chick/fox.png" +dest_files=["res://.godot/imported/fox.png-4f35dda7835b4b99df8da1b16cc06ef1.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/AIPresets/Bullet.gd.uid b/scripts/Contents/AIPresets/Bullet.gd.uid new file mode 100644 index 0000000..bfc4bb8 --- /dev/null +++ b/scripts/Contents/AIPresets/Bullet.gd.uid @@ -0,0 +1 @@ +uid://cvlclu7l8ule7 diff --git a/scripts/Contents/AIPresets/Entity.gd.uid b/scripts/Contents/AIPresets/Entity.gd.uid new file mode 100644 index 0000000..725a4b8 --- /dev/null +++ b/scripts/Contents/AIPresets/Entity.gd.uid @@ -0,0 +1 @@ +uid://bom1pho1ivw1h diff --git a/scripts/Contents/Bullets/BigLaser.gd.uid b/scripts/Contents/Bullets/BigLaser.gd.uid new file mode 100644 index 0000000..634e439 --- /dev/null +++ b/scripts/Contents/Bullets/BigLaser.gd.uid @@ -0,0 +1 @@ +uid://b74jed1hoi0r6 diff --git a/scripts/Contents/Bullets/BossAttack/Bear/ArrowSeven.gd.uid b/scripts/Contents/Bullets/BossAttack/Bear/ArrowSeven.gd.uid new file mode 100644 index 0000000..0000558 --- /dev/null +++ b/scripts/Contents/Bullets/BossAttack/Bear/ArrowSeven.gd.uid @@ -0,0 +1 @@ +uid://dqeyybijpnr7d diff --git a/scripts/Contents/Bullets/BossAttack/Bear/ForeverRainbow.gd.uid b/scripts/Contents/Bullets/BossAttack/Bear/ForeverRainbow.gd.uid new file mode 100644 index 0000000..3262ac6 --- /dev/null +++ b/scripts/Contents/Bullets/BossAttack/Bear/ForeverRainbow.gd.uid @@ -0,0 +1 @@ +uid://crbn487ovawao diff --git a/scripts/Contents/Bullets/BossAttack/Bear/LightGun.gd.uid b/scripts/Contents/Bullets/BossAttack/Bear/LightGun.gd.uid new file mode 100644 index 0000000..af3176c --- /dev/null +++ b/scripts/Contents/Bullets/BossAttack/Bear/LightGun.gd.uid @@ -0,0 +1 @@ +uid://c3kvunlhwbwlu diff --git a/scripts/Contents/Bullets/BossAttack/Bear/SunDance.gd.uid b/scripts/Contents/Bullets/BossAttack/Bear/SunDance.gd.uid new file mode 100644 index 0000000..aebb5b2 --- /dev/null +++ b/scripts/Contents/Bullets/BossAttack/Bear/SunDance.gd.uid @@ -0,0 +1 @@ +uid://s4x12fc67qyf diff --git a/scripts/Contents/Bullets/BossAttack/KukeMC/HeavyCrystal.gd.uid b/scripts/Contents/Bullets/BossAttack/KukeMC/HeavyCrystal.gd.uid new file mode 100644 index 0000000..7409611 --- /dev/null +++ b/scripts/Contents/Bullets/BossAttack/KukeMC/HeavyCrystal.gd.uid @@ -0,0 +1 @@ +uid://fbrwaknikai8 diff --git a/scripts/Contents/Bullets/ChainGun.gd.uid b/scripts/Contents/Bullets/ChainGun.gd.uid new file mode 100644 index 0000000..03a7cc9 --- /dev/null +++ b/scripts/Contents/Bullets/ChainGun.gd.uid @@ -0,0 +1 @@ +uid://byf2b31r0dwh0 diff --git a/scripts/Contents/Bullets/ChickLaser.gd.uid b/scripts/Contents/Bullets/ChickLaser.gd.uid new file mode 100644 index 0000000..5bb46be --- /dev/null +++ b/scripts/Contents/Bullets/ChickLaser.gd.uid @@ -0,0 +1 @@ +uid://nygobyigq5sp diff --git a/scripts/Contents/Bullets/ChickSprint.gd.uid b/scripts/Contents/Bullets/ChickSprint.gd.uid new file mode 100644 index 0000000..0daedb0 --- /dev/null +++ b/scripts/Contents/Bullets/ChickSprint.gd.uid @@ -0,0 +1 @@ +uid://c2cw6tei72cv7 diff --git a/scripts/Contents/Bullets/Diamond.gd.uid b/scripts/Contents/Bullets/Diamond.gd.uid new file mode 100644 index 0000000..2ba7ea9 --- /dev/null +++ b/scripts/Contents/Bullets/Diamond.gd.uid @@ -0,0 +1 @@ +uid://d3bvwks7ty3af diff --git a/scripts/Contents/Bullets/FireScan.gd.uid b/scripts/Contents/Bullets/FireScan.gd.uid new file mode 100644 index 0000000..629a3be --- /dev/null +++ b/scripts/Contents/Bullets/FireScan.gd.uid @@ -0,0 +1 @@ +uid://dlg4g03ppdd2x diff --git a/scripts/Contents/Bullets/LGBTBullet.gd.uid b/scripts/Contents/Bullets/LGBTBullet.gd.uid new file mode 100644 index 0000000..4c6e232 --- /dev/null +++ b/scripts/Contents/Bullets/LGBTBullet.gd.uid @@ -0,0 +1 @@ +uid://b1y68fg5fwdnj diff --git a/scripts/Contents/Bullets/Meowmere.gd.uid b/scripts/Contents/Bullets/Meowmere.gd.uid new file mode 100644 index 0000000..af1c8fa --- /dev/null +++ b/scripts/Contents/Bullets/Meowmere.gd.uid @@ -0,0 +1 @@ +uid://dhv4nd02hoolr diff --git a/scripts/Contents/Bullets/MushroomPickaxe.gd.uid b/scripts/Contents/Bullets/MushroomPickaxe.gd.uid new file mode 100644 index 0000000..d6b58d4 --- /dev/null +++ b/scripts/Contents/Bullets/MushroomPickaxe.gd.uid @@ -0,0 +1 @@ +uid://dm3ftlkrogh8p diff --git a/scripts/Contents/Bullets/NuclearBomb.gd.uid b/scripts/Contents/Bullets/NuclearBomb.gd.uid new file mode 100644 index 0000000..c962be8 --- /dev/null +++ b/scripts/Contents/Bullets/NuclearBomb.gd.uid @@ -0,0 +1 @@ +uid://cvkucdol0sl2l diff --git a/scripts/Contents/Bullets/Pencil.gd.uid b/scripts/Contents/Bullets/Pencil.gd.uid new file mode 100644 index 0000000..43adfbc --- /dev/null +++ b/scripts/Contents/Bullets/Pencil.gd.uid @@ -0,0 +1 @@ +uid://bpqqhog5853f6 diff --git a/scripts/Contents/Bullets/PurpleCrystal.gd.uid b/scripts/Contents/Bullets/PurpleCrystal.gd.uid new file mode 100644 index 0000000..e240a25 --- /dev/null +++ b/scripts/Contents/Bullets/PurpleCrystal.gd.uid @@ -0,0 +1 @@ +uid://t1q1eq8fk0ro diff --git a/scripts/Contents/Bullets/RainbowCat.gd.uid b/scripts/Contents/Bullets/RainbowCat.gd.uid new file mode 100644 index 0000000..8212bcd --- /dev/null +++ b/scripts/Contents/Bullets/RainbowCat.gd.uid @@ -0,0 +1 @@ +uid://cqljq5nyy7sgu diff --git a/scripts/Contents/Bullets/SevenSoul.gd.uid b/scripts/Contents/Bullets/SevenSoul.gd.uid new file mode 100644 index 0000000..ff6a797 --- /dev/null +++ b/scripts/Contents/Bullets/SevenSoul.gd.uid @@ -0,0 +1 @@ +uid://tkgkjb7v65j8 diff --git a/scripts/Contents/Bullets/SoulBall.gd.uid b/scripts/Contents/Bullets/SoulBall.gd.uid new file mode 100644 index 0000000..8f0f7c0 --- /dev/null +++ b/scripts/Contents/Bullets/SoulBall.gd.uid @@ -0,0 +1 @@ +uid://bw3j6376wbsm diff --git a/scripts/Contents/Bullets/Star.gd.uid b/scripts/Contents/Bullets/Star.gd.uid new file mode 100644 index 0000000..0ff841e --- /dev/null +++ b/scripts/Contents/Bullets/Star.gd.uid @@ -0,0 +1 @@ +uid://bc2jvevaic06f diff --git a/scripts/Contents/Bullets/VectorStar.gd.uid b/scripts/Contents/Bullets/VectorStar.gd.uid new file mode 100644 index 0000000..4ab8dde --- /dev/null +++ b/scripts/Contents/Bullets/VectorStar.gd.uid @@ -0,0 +1 @@ +uid://cscu6wr43h3ky diff --git a/scripts/Contents/Bullets/WhiteSoul.gd.uid b/scripts/Contents/Bullets/WhiteSoul.gd.uid new file mode 100644 index 0000000..50b695c --- /dev/null +++ b/scripts/Contents/Bullets/WhiteSoul.gd.uid @@ -0,0 +1 @@ +uid://iylhd18nf5a1 diff --git a/scripts/Contents/Characters/Bear.gd.uid b/scripts/Contents/Characters/Bear.gd.uid new file mode 100644 index 0000000..d0cdb64 --- /dev/null +++ b/scripts/Contents/Characters/Bear.gd.uid @@ -0,0 +1 @@ +uid://cgmnlpa2w6n72 diff --git a/scripts/Contents/Characters/Chick.gd.uid b/scripts/Contents/Characters/Chick.gd.uid new file mode 100644 index 0000000..eb44702 --- /dev/null +++ b/scripts/Contents/Characters/Chick.gd.uid @@ -0,0 +1 @@ +uid://b2gg1fh0bflu7 diff --git a/scripts/Contents/Characters/Hen.gd.uid b/scripts/Contents/Characters/Hen.gd.uid new file mode 100644 index 0000000..d7d8534 --- /dev/null +++ b/scripts/Contents/Characters/Hen.gd.uid @@ -0,0 +1 @@ +uid://dsfht8qodraln diff --git a/scripts/Contents/Characters/KukeChild.gd.uid b/scripts/Contents/Characters/KukeChild.gd.uid new file mode 100644 index 0000000..a6e05b5 --- /dev/null +++ b/scripts/Contents/Characters/KukeChild.gd.uid @@ -0,0 +1 @@ +uid://cnkiruxkx0qgu diff --git a/scripts/Contents/Characters/KukeMC.gd.uid b/scripts/Contents/Characters/KukeMC.gd.uid new file mode 100644 index 0000000..5f5acf2 --- /dev/null +++ b/scripts/Contents/Characters/KukeMC.gd.uid @@ -0,0 +1 @@ +uid://cekuqnfohprpb diff --git a/scripts/Contents/Characters/Rooster.gd.uid b/scripts/Contents/Characters/Rooster.gd.uid new file mode 100644 index 0000000..31eecdf --- /dev/null +++ b/scripts/Contents/Characters/Rooster.gd.uid @@ -0,0 +1 @@ +uid://cthtupc6dtbav diff --git a/scripts/Contents/Panels/GameOver.gd.uid b/scripts/Contents/Panels/GameOver.gd.uid new file mode 100644 index 0000000..da0c1f6 --- /dev/null +++ b/scripts/Contents/Panels/GameOver.gd.uid @@ -0,0 +1 @@ +uid://bub7ku5qf2tpo diff --git a/scripts/Contents/Panels/MakeFeed.gd.uid b/scripts/Contents/Panels/MakeFeed.gd.uid new file mode 100644 index 0000000..c2718fc --- /dev/null +++ b/scripts/Contents/Panels/MakeFeed.gd.uid @@ -0,0 +1 @@ +uid://cegfj4bplbf08 diff --git a/scripts/Contents/Panels/Pause.gd.uid b/scripts/Contents/Panels/Pause.gd.uid new file mode 100644 index 0000000..fb5f125 --- /dev/null +++ b/scripts/Contents/Panels/Pause.gd.uid @@ -0,0 +1 @@ +uid://ba0tgtpjp34k8 diff --git a/scripts/Contents/Panels/Starter.gd.uid b/scripts/Contents/Panels/Starter.gd.uid new file mode 100644 index 0000000..3ebb0b8 --- /dev/null +++ b/scripts/Contents/Panels/Starter.gd.uid @@ -0,0 +1 @@ +uid://codlmfbuyis33 diff --git a/scripts/Contents/Panels/WeaponPanel.gd.uid b/scripts/Contents/Panels/WeaponPanel.gd.uid new file mode 100644 index 0000000..9bcabdf --- /dev/null +++ b/scripts/Contents/Panels/WeaponPanel.gd.uid @@ -0,0 +1 @@ +uid://bm4drvag20frp diff --git a/scripts/Contents/Wave.gd b/scripts/Contents/Wave.gd index 2c0d792..f59d59e 100644 --- a/scripts/Contents/Wave.gd +++ b/scripts/Contents/Wave.gd @@ -8,7 +8,7 @@ var from: float = 0 var to: float = 0 var per: int = 0 -static var current: int = 0 +static var current: int = 9 static var WAVE_NORMAL = [ Wave.create("Hen", 1, 5, false, 0, INF, 1), Wave.create("Chick", 0, 0, true, 9, INF, 15), @@ -17,8 +17,8 @@ static var WAVE_NORMAL = [ ] static var WAVE_TESTBOSS_ALL = [ Wave.create("Chick", 0, 0, true, 0, INF, 10), - Wave.create("KukeMC", 0, 0, true, 0, INF, 10), - Wave.create("Bear", 0, 0, true, 0, INF, 10), + Wave.create("KukeMC", 0, 0, true, 1, INF, 10), + Wave.create("Bear", 0, 0, true, 2, INF, 10), ] static var WAVE_TESTBOSS_KUKE = [ Wave.create("KukeMC", 0, 0, true, 0, INF, 10), diff --git a/scripts/Contents/Wave.gd.uid b/scripts/Contents/Wave.gd.uid new file mode 100644 index 0000000..a0d2b94 --- /dev/null +++ b/scripts/Contents/Wave.gd.uid @@ -0,0 +1 @@ +uid://c1x041e7oefs3 diff --git a/scripts/Contents/Weapons/BigLaser.gd.uid b/scripts/Contents/Weapons/BigLaser.gd.uid new file mode 100644 index 0000000..f4f1dd7 --- /dev/null +++ b/scripts/Contents/Weapons/BigLaser.gd.uid @@ -0,0 +1 @@ +uid://dx3ctln16ynbl diff --git a/scripts/Contents/Weapons/ChainGun.gd.uid b/scripts/Contents/Weapons/ChainGun.gd.uid new file mode 100644 index 0000000..a26235e --- /dev/null +++ b/scripts/Contents/Weapons/ChainGun.gd.uid @@ -0,0 +1 @@ +uid://dev0urlc13rxc diff --git a/scripts/Contents/Weapons/LGBTWeapon.gd.uid b/scripts/Contents/Weapons/LGBTWeapon.gd.uid new file mode 100644 index 0000000..97e1790 --- /dev/null +++ b/scripts/Contents/Weapons/LGBTWeapon.gd.uid @@ -0,0 +1 @@ +uid://cj72d1ckmojex diff --git a/scripts/Contents/Weapons/Meowmere.gd.uid b/scripts/Contents/Weapons/Meowmere.gd.uid new file mode 100644 index 0000000..5dc214e --- /dev/null +++ b/scripts/Contents/Weapons/Meowmere.gd.uid @@ -0,0 +1 @@ +uid://jr5idpte8epy diff --git a/scripts/Contents/Weapons/MushroomPickaxe.gd.uid b/scripts/Contents/Weapons/MushroomPickaxe.gd.uid new file mode 100644 index 0000000..610878d --- /dev/null +++ b/scripts/Contents/Weapons/MushroomPickaxe.gd.uid @@ -0,0 +1 @@ +uid://bmmf864uc3atu diff --git a/scripts/Contents/Weapons/NuclearBomb.gd.uid b/scripts/Contents/Weapons/NuclearBomb.gd.uid new file mode 100644 index 0000000..39e309a --- /dev/null +++ b/scripts/Contents/Weapons/NuclearBomb.gd.uid @@ -0,0 +1 @@ +uid://ctjdfkr4sef7y diff --git a/scripts/Contents/Weapons/PurpleCrystal.gd.uid b/scripts/Contents/Weapons/PurpleCrystal.gd.uid new file mode 100644 index 0000000..f07399a --- /dev/null +++ b/scripts/Contents/Weapons/PurpleCrystal.gd.uid @@ -0,0 +1 @@ +uid://cfgdvytfnwe8l diff --git a/scripts/Contents/Weapons/SevenSoul.gd.uid b/scripts/Contents/Weapons/SevenSoul.gd.uid new file mode 100644 index 0000000..85d58d4 --- /dev/null +++ b/scripts/Contents/Weapons/SevenSoul.gd.uid @@ -0,0 +1 @@ +uid://bxcyflpnuajnn diff --git a/scripts/Contents/Weapons/VectorStarWeapon.gd.uid b/scripts/Contents/Weapons/VectorStarWeapon.gd.uid new file mode 100644 index 0000000..a46267c --- /dev/null +++ b/scripts/Contents/Weapons/VectorStarWeapon.gd.uid @@ -0,0 +1 @@ +uid://bqalhq6akgpoc diff --git a/scripts/Contents/Weapons/WhiteSoul.gd.uid b/scripts/Contents/Weapons/WhiteSoul.gd.uid new file mode 100644 index 0000000..a2c18a2 --- /dev/null +++ b/scripts/Contents/Weapons/WhiteSoul.gd.uid @@ -0,0 +1 @@ +uid://cyvl1b2trt25e diff --git a/scripts/Debug/FeedFilter.gd.uid b/scripts/Debug/FeedFilter.gd.uid new file mode 100644 index 0000000..a7f69d2 --- /dev/null +++ b/scripts/Debug/FeedFilter.gd.uid @@ -0,0 +1 @@ +uid://y551ijop8ydy diff --git a/scripts/Debug/FeedHasField.gd.uid b/scripts/Debug/FeedHasField.gd.uid new file mode 100644 index 0000000..59bd4fc --- /dev/null +++ b/scripts/Debug/FeedHasField.gd.uid @@ -0,0 +1 @@ +uid://c15otrxi5wdhn diff --git a/scripts/Debug/FeedIsTopic.gd.uid b/scripts/Debug/FeedIsTopic.gd.uid new file mode 100644 index 0000000..e71997f --- /dev/null +++ b/scripts/Debug/FeedIsTopic.gd.uid @@ -0,0 +1 @@ +uid://b0joqfmviyewf diff --git a/scripts/Statemachine/BossBar.gd.uid b/scripts/Statemachine/BossBar.gd.uid new file mode 100644 index 0000000..a7dd361 --- /dev/null +++ b/scripts/Statemachine/BossBar.gd.uid @@ -0,0 +1 @@ +uid://bxwgt7rlke3xf diff --git a/scripts/Statemachine/BulletBase.gd.uid b/scripts/Statemachine/BulletBase.gd.uid new file mode 100644 index 0000000..30c5536 --- /dev/null +++ b/scripts/Statemachine/BulletBase.gd.uid @@ -0,0 +1 @@ +uid://dp7c02tob106n diff --git a/scripts/Statemachine/Circle.gd.uid b/scripts/Statemachine/Circle.gd.uid new file mode 100644 index 0000000..b095362 --- /dev/null +++ b/scripts/Statemachine/Circle.gd.uid @@ -0,0 +1 @@ +uid://dpai3dqenq645 diff --git a/scripts/Statemachine/ColorBar.gd.uid b/scripts/Statemachine/ColorBar.gd.uid new file mode 100644 index 0000000..453e466 --- /dev/null +++ b/scripts/Statemachine/ColorBar.gd.uid @@ -0,0 +1 @@ +uid://be7b037tpuy7x diff --git a/scripts/Statemachine/CooldownTimer.gd.uid b/scripts/Statemachine/CooldownTimer.gd.uid new file mode 100644 index 0000000..6717dc5 --- /dev/null +++ b/scripts/Statemachine/CooldownTimer.gd.uid @@ -0,0 +1 @@ +uid://cmfnvbmbf87cr diff --git a/scripts/Statemachine/DamageLabel.gd.uid b/scripts/Statemachine/DamageLabel.gd.uid new file mode 100644 index 0000000..12dadf2 --- /dev/null +++ b/scripts/Statemachine/DamageLabel.gd.uid @@ -0,0 +1 @@ +uid://bwccqf6qw7wxr diff --git a/scripts/Statemachine/EffectController.gd.uid b/scripts/Statemachine/EffectController.gd.uid new file mode 100644 index 0000000..0ec35c9 --- /dev/null +++ b/scripts/Statemachine/EffectController.gd.uid @@ -0,0 +1 @@ +uid://0iwnvhdh645p diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index 5bef567..56fc9aa 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -104,6 +104,7 @@ var currentStage: int = 0 var spawnTime: float = 0 func _ready(): + var peer=ENetMultiplayerPeer.new() spawnTime = WorldManager.getTime() register() var selfStatebar: EntityStateBar = $"%statebar" diff --git a/scripts/Statemachine/EntityBase.gd.uid b/scripts/Statemachine/EntityBase.gd.uid new file mode 100644 index 0000000..0ff447f --- /dev/null +++ b/scripts/Statemachine/EntityBase.gd.uid @@ -0,0 +1 @@ +uid://ds3j3f82li68h diff --git a/scripts/Statemachine/EntityStateBar.gd.uid b/scripts/Statemachine/EntityStateBar.gd.uid new file mode 100644 index 0000000..72a117a --- /dev/null +++ b/scripts/Statemachine/EntityStateBar.gd.uid @@ -0,0 +1 @@ +uid://cvrkf1f5ke6rh diff --git a/scripts/Statemachine/FeedName.gd.uid b/scripts/Statemachine/FeedName.gd.uid new file mode 100644 index 0000000..50211b6 --- /dev/null +++ b/scripts/Statemachine/FeedName.gd.uid @@ -0,0 +1 @@ +uid://qllscdsldcpq diff --git a/scripts/Statemachine/FieldShow.gd.uid b/scripts/Statemachine/FieldShow.gd.uid new file mode 100644 index 0000000..b855dde --- /dev/null +++ b/scripts/Statemachine/FieldShow.gd.uid @@ -0,0 +1 @@ +uid://cosrwhfwqba7c diff --git a/scripts/Statemachine/FullscreenPanelBase.gd.uid b/scripts/Statemachine/FullscreenPanelBase.gd.uid new file mode 100644 index 0000000..06c3a8f --- /dev/null +++ b/scripts/Statemachine/FullscreenPanelBase.gd.uid @@ -0,0 +1 @@ +uid://ddrkjfd6utfej diff --git a/scripts/Statemachine/ItemDropped.gd.uid b/scripts/Statemachine/ItemDropped.gd.uid new file mode 100644 index 0000000..b6b2d57 --- /dev/null +++ b/scripts/Statemachine/ItemDropped.gd.uid @@ -0,0 +1 @@ +uid://cfxrtel5gjia0 diff --git a/scripts/Statemachine/ItemShow.gd.uid b/scripts/Statemachine/ItemShow.gd.uid new file mode 100644 index 0000000..c43e829 --- /dev/null +++ b/scripts/Statemachine/ItemShow.gd.uid @@ -0,0 +1 @@ +uid://cl2orf01mb827 diff --git a/scripts/Statemachine/LeadingMark.gd.uid b/scripts/Statemachine/LeadingMark.gd.uid new file mode 100644 index 0000000..eead6fd --- /dev/null +++ b/scripts/Statemachine/LeadingMark.gd.uid @@ -0,0 +1 @@ +uid://clyli5ui8nysk diff --git a/scripts/Statemachine/ShaderStage.gd.uid b/scripts/Statemachine/ShaderStage.gd.uid new file mode 100644 index 0000000..cac87e6 --- /dev/null +++ b/scripts/Statemachine/ShaderStage.gd.uid @@ -0,0 +1 @@ +uid://cgb01lelfg73p diff --git a/scripts/Statemachine/SkillIcon.gd.uid b/scripts/Statemachine/SkillIcon.gd.uid new file mode 100644 index 0000000..9d6151f --- /dev/null +++ b/scripts/Statemachine/SkillIcon.gd.uid @@ -0,0 +1 @@ +uid://bp8catom6i0ul diff --git a/scripts/Statemachine/ThankMember.gd.uid b/scripts/Statemachine/ThankMember.gd.uid new file mode 100644 index 0000000..979c09a --- /dev/null +++ b/scripts/Statemachine/ThankMember.gd.uid @@ -0,0 +1 @@ +uid://btmuq7daclqig diff --git a/scripts/Statemachine/UIState.gd.uid b/scripts/Statemachine/UIState.gd.uid new file mode 100644 index 0000000..d11487f --- /dev/null +++ b/scripts/Statemachine/UIState.gd.uid @@ -0,0 +1 @@ +uid://bph6blsdbiklk diff --git a/scripts/Statemachine/Variants/VerticalColorBar.gd.uid b/scripts/Statemachine/Variants/VerticalColorBar.gd.uid new file mode 100644 index 0000000..dc2b8cd --- /dev/null +++ b/scripts/Statemachine/Variants/VerticalColorBar.gd.uid @@ -0,0 +1 @@ +uid://ck0k1md827tcn diff --git a/scripts/Statemachine/WeaponName.gd.uid b/scripts/Statemachine/WeaponName.gd.uid new file mode 100644 index 0000000..541f72f --- /dev/null +++ b/scripts/Statemachine/WeaponName.gd.uid @@ -0,0 +1 @@ +uid://vjqqs3jvkd2b diff --git a/scripts/Statemachine/WeaponShow.gd.uid b/scripts/Statemachine/WeaponShow.gd.uid new file mode 100644 index 0000000..b6cb92e --- /dev/null +++ b/scripts/Statemachine/WeaponShow.gd.uid @@ -0,0 +1 @@ +uid://ohfsaaweoxpb diff --git a/scripts/Structs/Feed.gd.uid b/scripts/Structs/Feed.gd.uid new file mode 100644 index 0000000..c043cd5 --- /dev/null +++ b/scripts/Structs/Feed.gd.uid @@ -0,0 +1 @@ +uid://nt81whieye7h diff --git a/scripts/Structs/Weapon.gd.uid b/scripts/Structs/Weapon.gd.uid new file mode 100644 index 0000000..a8525cb --- /dev/null +++ b/scripts/Structs/Weapon.gd.uid @@ -0,0 +1 @@ +uid://c7odfwtug8ds4 diff --git a/scripts/Tools/ArrayTool.gd.uid b/scripts/Tools/ArrayTool.gd.uid new file mode 100644 index 0000000..dea8831 --- /dev/null +++ b/scripts/Tools/ArrayTool.gd.uid @@ -0,0 +1 @@ +uid://dayxiga661iiw diff --git a/scripts/Tools/BulletTool.gd.uid b/scripts/Tools/BulletTool.gd.uid new file mode 100644 index 0000000..c282660 --- /dev/null +++ b/scripts/Tools/BulletTool.gd.uid @@ -0,0 +1 @@ +uid://dvievhvloal18 diff --git a/scripts/Tools/DirTool.gd.uid b/scripts/Tools/DirTool.gd.uid new file mode 100644 index 0000000..52410b5 --- /dev/null +++ b/scripts/Tools/DirTool.gd.uid @@ -0,0 +1 @@ +uid://dit53478a81kd diff --git a/scripts/Tools/EntityTool.gd.uid b/scripts/Tools/EntityTool.gd.uid new file mode 100644 index 0000000..8235a41 --- /dev/null +++ b/scripts/Tools/EntityTool.gd.uid @@ -0,0 +1 @@ +uid://ct2utx82wdtp diff --git a/scripts/Tools/FieldStore.gd.uid b/scripts/Tools/FieldStore.gd.uid new file mode 100644 index 0000000..a1cb39a --- /dev/null +++ b/scripts/Tools/FieldStore.gd.uid @@ -0,0 +1 @@ +uid://bk06kpxr0k4rb diff --git a/scripts/Tools/GameRule.gd.uid b/scripts/Tools/GameRule.gd.uid new file mode 100644 index 0000000..e31c9c7 --- /dev/null +++ b/scripts/Tools/GameRule.gd.uid @@ -0,0 +1 @@ +uid://exs0vgrq6wsc diff --git a/scripts/Tools/ItemStore.gd.uid b/scripts/Tools/ItemStore.gd.uid new file mode 100644 index 0000000..a1b38ed --- /dev/null +++ b/scripts/Tools/ItemStore.gd.uid @@ -0,0 +1 @@ +uid://k7fu6idrqho8 diff --git a/scripts/Tools/JsonTool.gd.uid b/scripts/Tools/JsonTool.gd.uid new file mode 100644 index 0000000..309804b --- /dev/null +++ b/scripts/Tools/JsonTool.gd.uid @@ -0,0 +1 @@ +uid://d1j3s7vpsndjt diff --git a/scripts/Tools/Managers/CameraManager.gd.uid b/scripts/Tools/Managers/CameraManager.gd.uid new file mode 100644 index 0000000..57e46ef --- /dev/null +++ b/scripts/Tools/Managers/CameraManager.gd.uid @@ -0,0 +1 @@ +uid://bs45p8w83d4b4 diff --git a/scripts/Tools/Managers/ComponentManager.gd.uid b/scripts/Tools/Managers/ComponentManager.gd.uid new file mode 100644 index 0000000..6535161 --- /dev/null +++ b/scripts/Tools/Managers/ComponentManager.gd.uid @@ -0,0 +1 @@ +uid://bsj5oatiwbpan diff --git a/scripts/Tools/Managers/WorldManager.gd.uid b/scripts/Tools/Managers/WorldManager.gd.uid new file mode 100644 index 0000000..97d38dc --- /dev/null +++ b/scripts/Tools/Managers/WorldManager.gd.uid @@ -0,0 +1 @@ +uid://d2oyyyg0b4qqd diff --git a/scripts/Tools/MathTool.gd.uid b/scripts/Tools/MathTool.gd.uid new file mode 100644 index 0000000..037a2a0 --- /dev/null +++ b/scripts/Tools/MathTool.gd.uid @@ -0,0 +1 @@ +uid://dyhh71xntyj7n diff --git a/scripts/Tools/QuickUI.gd.uid b/scripts/Tools/QuickUI.gd.uid new file mode 100644 index 0000000..741ec28 --- /dev/null +++ b/scripts/Tools/QuickUI.gd.uid @@ -0,0 +1 @@ +uid://ds1yvfs414ni2 diff --git a/scripts/Tools/TickTool.gd.uid b/scripts/Tools/TickTool.gd.uid new file mode 100644 index 0000000..f65041c --- /dev/null +++ b/scripts/Tools/TickTool.gd.uid @@ -0,0 +1 @@ +uid://c6nruemk8h1l diff --git a/shaders/BigLaser.gdshader.uid b/shaders/BigLaser.gdshader.uid new file mode 100644 index 0000000..500ff67 --- /dev/null +++ b/shaders/BigLaser.gdshader.uid @@ -0,0 +1 @@ +uid://d3aopn2f23pmi diff --git a/shaders/CooldownProgress.gdshader.uid b/shaders/CooldownProgress.gdshader.uid new file mode 100644 index 0000000..510c179 --- /dev/null +++ b/shaders/CooldownProgress.gdshader.uid @@ -0,0 +1 @@ +uid://u6weu6llk46k diff --git a/shaders/FilledRing.gdshader.uid b/shaders/FilledRing.gdshader.uid new file mode 100644 index 0000000..b2e08a4 --- /dev/null +++ b/shaders/FilledRing.gdshader.uid @@ -0,0 +1 @@ +uid://dfd73rom161o4 diff --git a/shaders/Light.gdshader.uid b/shaders/Light.gdshader.uid new file mode 100644 index 0000000..9f32771 --- /dev/null +++ b/shaders/Light.gdshader.uid @@ -0,0 +1 @@ +uid://le5wwd7wfwnj diff --git a/shaders/LightScan.gdshader.uid b/shaders/LightScan.gdshader.uid new file mode 100644 index 0000000..69e6bf1 --- /dev/null +++ b/shaders/LightScan.gdshader.uid @@ -0,0 +1 @@ +uid://dmxa67t5wshog diff --git a/shaders/LightTrack.gdshader.uid b/shaders/LightTrack.gdshader.uid new file mode 100644 index 0000000..e057347 --- /dev/null +++ b/shaders/LightTrack.gdshader.uid @@ -0,0 +1 @@ +uid://508o7t67vmuo diff --git a/shaders/Outline.gdshader.uid b/shaders/Outline.gdshader.uid new file mode 100644 index 0000000..bb8f352 --- /dev/null +++ b/shaders/Outline.gdshader.uid @@ -0,0 +1 @@ +uid://cwo4sew3w2b8q diff --git a/shaders/RedTemprature.gdshader.uid b/shaders/RedTemprature.gdshader.uid new file mode 100644 index 0000000..ff27ec7 --- /dev/null +++ b/shaders/RedTemprature.gdshader.uid @@ -0,0 +1 @@ +uid://6upc63ouwf6q diff --git a/shaders/Ring.gdshader.uid b/shaders/Ring.gdshader.uid new file mode 100644 index 0000000..b770f1e --- /dev/null +++ b/shaders/Ring.gdshader.uid @@ -0,0 +1 @@ +uid://cnc1n2042ntv5 diff --git a/shaders/SuperLight.gdshader.uid b/shaders/SuperLight.gdshader.uid new file mode 100644 index 0000000..2911bec --- /dev/null +++ b/shaders/SuperLight.gdshader.uid @@ -0,0 +1 @@ +uid://cduo4glknpowr diff --git a/shaders/VerticalSoften.gdshader.uid b/shaders/VerticalSoften.gdshader.uid new file mode 100644 index 0000000..d3e742c --- /dev/null +++ b/shaders/VerticalSoften.gdshader.uid @@ -0,0 +1 @@ +uid://lsfqr02hrouq diff --git a/shaders/crystal.gdshader b/shaders/crystal.gdshader new file mode 100644 index 0000000..cd3d782 --- /dev/null +++ b/shaders/crystal.gdshader @@ -0,0 +1,108 @@ +shader_type canvas_item; +render_mode blend_add; + +// --- Uniforms (可在编辑器中调整的参数) --- + +// 水晶的基础颜色 +uniform vec4 crystal_color : source_color = vec4(0.4, 0.8, 1.0, 1.0); +// 内部辉光的颜色 +uniform vec4 glow_color : source_color = vec4(0.8, 0.9, 1.0, 1.0); +// 高光的颜色 +uniform vec4 highlight_color : source_color = vec4(1.0, 1.0, 1.0, 1.0); + +// 控制水晶的整体大小 +uniform float scale = 1.0; +// 控制折射/扭曲的强度 +uniform float distortion_strength = 0.05; +// 控制内部细节的复杂度 +uniform float detail_noise_scale = 8.0; +// 控制闪烁的速度 +uniform float flicker_speed = 2.0; + + +// --- Helper Functions (辅助函数) --- + +// 一个简单的伪随机数生成器 +float random (in vec2 st) { + return fract(sin(dot(st.xy, vec2(12.9898, 78.233))) * 43758.5453123); +} + +// 2D 噪声函数,用于创建有机的内部纹理 +float noise (in vec2 st) { + vec2 i = floor(st); + vec2 f = fract(st); + + // 四个角的随机值 + float a = random(i); + float b = random(i + vec2(1.0, 0.0)); + float c = random(i + vec2(0.0, 1.0)); + float d = random(i + vec2(1.0, 1.0)); + + // 平滑插值 + vec2 u = f * f * (3.0 - 2.0 * f); + return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y; +} + + +// --- Main Shader Logic --- +void fragment() { + // 1. 将 UV 坐标归一化到 [-1, 1] 范围,并调整宽高比 + vec2 uv = (UV - 0.5) * 2.0; + uv.x *= SCREEN_PIXEL_SIZE.x / SCREEN_PIXEL_SIZE.y; + uv /= scale; + + // 2. 定义水晶的形状 (这里使用心形线作为基础,你也可以换成其他形状) + // 心形线公式: (x^2 + y^2 - 1)^3 - x^2 * y^3 = 0 + float heart_shape = (pow(uv.x * uv.x + uv.y * uv.y - 1.0, 3.0) - uv.x * uv.x * pow(uv.y, 3.0)); + + // 使用 smoothstep 创建一个柔和的边缘 + float crystal_mask = 1.0 - smoothstep(-0.1, 0.1, heart_shape); + + // 3. 创建内部折射/扭曲效果 + // 我们对坐标进行轻微的扰动,然后对水晶本身进行采样 + vec2 distorted_uv = uv + vec2(noise(uv * detail_noise_scale + TIME * 0.1), + noise(uv * detail_noise_scale + TIME * 0.1 + 100.0)) * distortion_strength; + float distorted_heart_shape = (pow(distorted_uv.x * distorted_uv.x + distorted_uv.y * distorted_uv.y - 1.0, 3.0) - distorted_uv.x * distorted_uv.x * pow(distorted_uv.y, 3.0)); + float refraction_mask = 1.0 - smoothstep(-0.1, 0.1, distorted_heart_shape); + + // 4. 创建内部辉光和细节 + // 使用噪声创建内部纹理 + float internal_noise = noise(uv * detail_noise_scale - TIME * 0.2); + // 将噪声值限制在水晶形状内 + float internal_glow = internal_noise * crystal_mask; + // 增强辉光效果 + internal_glow = pow(internal_glow, 2.0); + + // 5. 创建高光 + // 定义一个高光区域 + vec2 highlight_pos = uv - vec2(-0.2, 0.3); // 高光位置 + float highlight = 1.0 - smoothstep(0.0, 0.15, length(highlight_pos)); + // 让高光也受噪声影响,看起来不那么死板 + highlight *= (1.0 + noise(highlight_pos * 10.0) * 0.5); + // 高光也必须在水晶形状内 + highlight *= crystal_mask; + // 让高光更锐利 + highlight = pow(highlight, 8.0); + + // 6. 创建闪烁效果 + float flicker = 1.0 + (noise(vec2(TIME * flicker_speed)) - 0.5) * 0.2; + + // 7. 组合所有颜色 + vec4 final_color = vec4(0.0); + + // 基础水晶颜色 + final_color += crystal_color * crystal_mask; + + // 叠加内部辉光 + final_color += glow_color * internal_glow * 0.5; + + // 叠加高光 + final_color += highlight_color * highlight; + + // 应用闪烁 + final_color *= flicker; + + // 8. 输出最终颜色 + // 由于我们使用了 blend_add 混合模式,背景会自动透出 + COLOR = final_color; +} diff --git a/shaders/crystal.gdshader.uid b/shaders/crystal.gdshader.uid new file mode 100644 index 0000000..c43d0c3 --- /dev/null +++ b/shaders/crystal.gdshader.uid @@ -0,0 +1 @@ +uid://c7njrsv5c5v13