Grazing particles and sound

This commit is contained in:
Marco 2025-07-03 15:18:51 +02:00
commit 847d33ad4e
14 changed files with 246 additions and 134 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=67 format=3 uid="uid://rimplblbptcd"]
[gd_scene load_steps=69 format=3 uid="uid://rimplblbptcd"]
[ext_resource type="Script" uid="uid://88smibkin17p" path="res://Scripts/Components/FSM/3DPlayer/IsoPlayerFSMProxy.cs" id="1_cc7e7"]
[ext_resource type="Texture2D" uid="uid://ddwhrlrgj6i00" path="res://Sprites/Actors/Cirno.png" id="1_vex34"]
@ -38,6 +38,7 @@
[ext_resource type="Texture2D" uid="uid://bf37ce6jskdel" path="res://Sprites/SmallHitbox.png" id="32_chmen"]
[ext_resource type="Script" uid="uid://byiv30s1ahdyh" path="res://Scripts/Components/Actors/3D/PlayerCrosshairModule3D.cs" id="33_iw7um"]
[ext_resource type="Texture2D" uid="uid://cf2855sd3hqty" path="res://Sprites/Actors/Aiming_Reticule_Small.png" id="34_chmen"]
[ext_resource type="Script" uid="uid://pqsd8h60urrc" path="res://Scripts/Components/FSM/3DPlayer/PlayerGrazingModule3D.cs" id="39_gndug"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_fg04g"]
radius = 0.342937
@ -63,26 +64,21 @@ radius = 1.20117
[sub_resource type="Resource" id="Resource_c4ide"]
script = ExtResource("27_5v3dv")
DamageType = 0
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_fjg1v"]
script = ExtResource("27_5v3dv")
DamageType = 1
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_hed00"]
script = ExtResource("27_5v3dv")
DamageType = 2
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_q2flx"]
script = ExtResource("27_5v3dv")
DamageType = 3
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_k7ckg"]
@ -99,14 +95,11 @@ metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_v2m0j"]
script = ExtResource("27_5v3dv")
DamageType = 0
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_awrib"]
script = ExtResource("27_5v3dv")
DamageType = 1
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_nfrn8"]
@ -123,20 +116,16 @@ metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_m1iep"]
script = ExtResource("27_5v3dv")
DamageType = 0
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_ckpe7"]
script = ExtResource("27_5v3dv")
DamageType = 4
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_p5rkw"]
script = ExtResource("27_5v3dv")
DamageType = 5
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="SphereShape3D" id="SphereShape3D_p313o"]
@ -202,6 +191,10 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_nk07c"]
height = 0.91430664
radius = 0.80566406
[node name="IsoPlayerFsm" type="CharacterBody3D" node_paths=PackedStringArray("PlayerFSM")]
collision_layer = 2
collision_mask = 17
@ -220,7 +213,7 @@ _inputProvider = NodePath("../../InputProvider")
AnimationProvider = NodePath("../../AnimationProvider")
Storage = NodePath("../../Storage")
DamageReceiver = NodePath("../../DamageReceiver")
_moduleNodes = [NodePath("../../InputProvider"), NodePath("../../MovementModule"), NodePath("../../ShadowModule"), NodePath("../../InteractionController"), NodePath("../../ActivationProvider"), NodePath("../../WeaponModule"), NodePath("../../CrosshairModule")]
_moduleNodes = [NodePath("../../InputProvider"), NodePath("../../MovementModule"), NodePath("../../ShadowModule"), NodePath("../../InteractionController"), NodePath("../../ActivationProvider"), NodePath("../../WeaponModule"), NodePath("../../CrosshairModule"), NodePath("../../GrazingModule")]
[node name="Dead" type="Node" parent="StateMachine" node_paths=PackedStringArray("_motivationProvider", "_inputProvider", "_healthProvider", "_animationProvider")]
script = ExtResource("5_ok250")
@ -449,5 +442,15 @@ texture_filter = 0
render_priority = 1
sprite_frames = SubResource("SpriteFrames_gndug")
[node name="GrazingModule" type="Area3D" parent="." node_paths=PackedStringArray("Shield")]
collision_layer = 0
collision_mask = 128
script = ExtResource("39_gndug")
Shield = NodePath("../DamageReceiver/ShieldProvider")
[node name="CollisionShape3D" type="CollisionShape3D" parent="GrazingModule"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.12463379, 0)
shape = SubResource("CylinderShape3D_nk07c")
[connection signal="area_entered" from="AcidDetector" to="AcidDeathModule" method="OnAcidCollision"]
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]

View file

@ -124,26 +124,21 @@ animations = [{
[sub_resource type="Resource" id="Resource_c4ide"]
script = ExtResource("25_12erk")
DamageType = 0
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_fjg1v"]
script = ExtResource("25_12erk")
DamageType = 1
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_hed00"]
script = ExtResource("25_12erk")
DamageType = 2
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_q2flx"]
script = ExtResource("25_12erk")
DamageType = 3
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_k7ckg"]
@ -160,14 +155,11 @@ metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_v2m0j"]
script = ExtResource("25_12erk")
DamageType = 0
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_awrib"]
script = ExtResource("25_12erk")
DamageType = 1
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_nfrn8"]
@ -184,20 +176,16 @@ metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_m1iep"]
script = ExtResource("25_12erk")
DamageType = 0
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_ckpe7"]
script = ExtResource("25_12erk")
DamageType = 4
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="Resource" id="Resource_p5rkw"]
script = ExtResource("25_12erk")
DamageType = 5
Attribute = 0
metadata/_custom_type_script = "uid://ddsqqfx1usc3j"
[sub_resource type="CircleShape2D" id="CircleShape2D_igu66"]
@ -209,61 +197,6 @@ radius = 17.2627
[sub_resource type="CircleShape2D" id="CircleShape2D_g3wua"]
radius = 9.0
[sub_resource type="AnimationNodeTransition" id="AnimationNodeTransition_es1gk"]
input_0/name = "up"
input_0/auto_advance = false
input_0/break_loop_at_end = false
input_0/reset = true
input_1/name = "down"
input_1/auto_advance = false
input_1/break_loop_at_end = false
input_1/reset = true
input_2/name = "left"
input_2/auto_advance = false
input_2/break_loop_at_end = false
input_2/reset = true
input_3/name = "right"
input_3/auto_advance = false
input_3/break_loop_at_end = false
input_3/reset = true
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4f2wn"]
animation = &"Walk_Down"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_fnw0c"]
blend_point_0/node = SubResource("AnimationNodeAnimation_4f2wn")
blend_point_0/pos = 0.0
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_12erk"]
animation = &"Walk_Up"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_c4ide"]
blend_point_0/node = SubResource("AnimationNodeAnimation_12erk")
blend_point_0/pos = 0.0
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_fjg1v"]
graph_offset = Vector2(-110.364, 39.7151)
nodes/Transition/node = SubResource("AnimationNodeTransition_es1gk")
nodes/Transition/position = Vector2(706.667, 53.3333)
nodes/Walk_Down/node = SubResource("AnimationNodeBlendSpace1D_fnw0c")
nodes/Walk_Down/position = Vector2(426.667, 253.333)
nodes/Walk_Up/node = SubResource("AnimationNodeBlendSpace1D_c4ide")
nodes/Walk_Up/position = Vector2(426.667, 53.3333)
nodes/output/position = Vector2(280, 133.333)
node_connections = [&"Transition", 0, &"Walk_Up", &"Transition", 1, &"Walk_Down"]
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hed00"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_q2flx"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_k7ckg"]
states/BlendTree/node = SubResource("AnimationNodeBlendTree_fjg1v")
states/BlendTree/position = Vector2(401.333, 98.4444)
states/Start/position = Vector2(192, 98.963)
transitions = ["Start", "BlendTree", SubResource("AnimationNodeStateMachineTransition_hed00"), "BlendTree", "End", SubResource("AnimationNodeStateMachineTransition_q2flx")]
[sub_resource type="Animation" id="Animation_awrib"]
length = 0.001
tracks/0/type = "value"
@ -320,6 +253,61 @@ _data = {
&"Walk_Up": SubResource("Animation_v2m0j")
}
[sub_resource type="AnimationNodeTransition" id="AnimationNodeTransition_es1gk"]
input_0/name = "up"
input_0/auto_advance = false
input_0/break_loop_at_end = false
input_0/reset = true
input_1/name = "down"
input_1/auto_advance = false
input_1/break_loop_at_end = false
input_1/reset = true
input_2/name = "left"
input_2/auto_advance = false
input_2/break_loop_at_end = false
input_2/reset = true
input_3/name = "right"
input_3/auto_advance = false
input_3/break_loop_at_end = false
input_3/reset = true
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4f2wn"]
animation = &"Walk_Down"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_fnw0c"]
blend_point_0/node = SubResource("AnimationNodeAnimation_4f2wn")
blend_point_0/pos = 0.0
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_12erk"]
animation = &"Walk_Up"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_c4ide"]
blend_point_0/node = SubResource("AnimationNodeAnimation_12erk")
blend_point_0/pos = 0.0
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_fjg1v"]
graph_offset = Vector2(-110.364, 39.7151)
nodes/output/position = Vector2(280, 133.333)
nodes/Transition/node = SubResource("AnimationNodeTransition_es1gk")
nodes/Transition/position = Vector2(706.667, 53.3333)
nodes/Walk_Down/node = SubResource("AnimationNodeBlendSpace1D_fnw0c")
nodes/Walk_Down/position = Vector2(426.667, 253.333)
nodes/Walk_Up/node = SubResource("AnimationNodeBlendSpace1D_c4ide")
nodes/Walk_Up/position = Vector2(426.667, 53.3333)
node_connections = [&"Transition", 0, &"Walk_Up", &"Transition", 1, &"Walk_Down"]
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hed00"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_q2flx"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_k7ckg"]
states/BlendTree/node = SubResource("AnimationNodeBlendTree_fjg1v")
states/BlendTree/position = Vector2(401.333, 98.4444)
states/Start/position = Vector2(192, 98.963)
transitions = ["Start", "BlendTree", SubResource("AnimationNodeStateMachineTransition_hed00"), "BlendTree", "End", SubResource("AnimationNodeStateMachineTransition_q2flx")]
[sub_resource type="CircleShape2D" id="CircleShape2D_fnw0c"]
radius = 2.05679
@ -550,13 +538,16 @@ vframes = 4
[node name="AnimationTree" type="AnimationTree" parent="."]
root_node = NodePath(".")
libraries = {
&"": SubResource("AnimationLibrary_nfrn8")
}
tree_root = SubResource("AnimationNodeStateMachine_k7ckg")
anim_player = NodePath("AnimationPlayer")
parameters/BlendTree/Transition/current_state = ""
parameters/BlendTree/Transition/transition_request = ""
parameters/BlendTree/Transition/current_index = -1
parameters/BlendTree/Walk_Down/blend_position = 0
parameters/BlendTree/Walk_Up/blend_position = 0
parameters/BlendTree/Walk_Down/blend_position = 0.0
parameters/BlendTree/Walk_Up/blend_position = 0.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="AnimationTree"]
libraries = {
@ -600,7 +591,6 @@ script = ExtResource("42_awrib")
Shield = NodePath("../DamageReceiver/ShieldProvider")
[node name="CollisionShape2D" type="CollisionShape2D" parent="GrazingModule"]
visible = false
shape = SubResource("CircleShape2D_awrib")
[node name="FreezeModule" type="Node2D" parent="." node_paths=PackedStringArray("Shield", "InputProvider")]