1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-03 18:27:13 +08:00

feat: Add weapon system and attack functionality to Rooster character

- Introduced a weapons node in EntityBase for weapon management.
- Updated Rooster to include cooldown for attacks and weapon anchoring.
- Implemented attack method in Rooster to generate bullets.
- Enhanced BulletBase with life distance and lifetime properties.
- Created Chick character with animations and integrated into the world.
- Updated PurpleCrystal bullet behavior to move forward based on rotation.
- Refactored EntityBase to use a fields dictionary for attributes.
- Added FieldStore for managing entity-related constants.
- Adjusted GameRule to include bullet speed multiplier.
This commit is contained in:
2025-08-26 12:21:09 +08:00
parent ef8fd0db9f
commit 727c40e1f0
14 changed files with 149 additions and 40 deletions
+36
View File
@@ -0,0 +1,36 @@
[gd_scene load_steps=5 format=3 uid="uid://b0ncrvm8u4pox"]
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_goqmy"]
[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"]
[sub_resource type="SpriteFrames" id="SpriteFrames_xji3d"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_syddq")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_syddq")
}, {
"duration": 1.0,
"texture": ExtResource("3_064jv")
}],
"loop": true,
"name": &"walk",
"speed": 5.0
}]
[node name="Chick" instance=ExtResource("1_goqmy")]
[node name="texture" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_xji3d")
animation = &"walk"
[node name="statebar" parent="." index="2" node_paths=PackedStringArray("entity")]
entity = NodePath("..")
+4
View File
@@ -32,6 +32,7 @@ radius = 41.0122
[node name="Rooster" instance=ExtResource("1_e5pl8")]
script = ExtResource("2_oqdqd")
cooldownUnit = 200.0
[node name="texture" parent="." index="0"]
position = Vector2(0, -70)
@@ -42,6 +43,9 @@ animation = &"walk"
position = Vector2(12, 16)
shape = SubResource("CircleShape2D_h1v0q")
[node name="normal" type="Node2D" parent="texture/weapons" index="0"]
position = Vector2(54, -45)
[node name="statebar" parent="." index="2" node_paths=PackedStringArray("entity")]
position = Vector2(0, -151)
entity = NodePath("..")