mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-04 10:47: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:
@@ -114,6 +114,9 @@ tree_root = SubResource("AnimationNodeBlendSpace1D_51ube")
|
||||
anim_player = NodePath("..")
|
||||
parameters/blend_position = 1.0
|
||||
|
||||
[node name="weapons" type="Node2D" parent="texture"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="movebox" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_ce3to")
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://uj0aqhm8wgy8"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://uj0aqhm8wgy8"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_45mh7"]
|
||||
[ext_resource type="Script" path="res://scripts/Contents/Bullets/PurpleCrystal.gd" id="2_4lnlm"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7hyatbuieaj" path="res://resources/bullets/purple-crystal/frames/0.svg" id="2_ca3pq"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_r86b3"]
|
||||
@@ -17,10 +18,13 @@ animations = [{
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ty1as"]
|
||||
|
||||
[node name="PurpleCrystal" instance=ExtResource("1_45mh7")]
|
||||
script = ExtResource("2_4lnlm")
|
||||
speed = 5.0
|
||||
lifeDistance = 700.0
|
||||
|
||||
[node name="texture" parent="." index="0"]
|
||||
sprite_frames = SubResource("SpriteFrames_r86b3")
|
||||
|
||||
[node name="hitbox" parent="." index="1"]
|
||||
position = Vector2(0, -13)
|
||||
position = Vector2(12, 0)
|
||||
shape = SubResource("CircleShape2D_ty1as")
|
||||
|
||||
@@ -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("..")
|
||||
@@ -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("..")
|
||||
|
||||
Reference in New Issue
Block a user