Added water splash

This commit is contained in:
2026-06-17 21:49:07 +03:00
parent 8812915d3e
commit 3bb2fb9d8a
16 changed files with 106 additions and 16 deletions
@@ -14,6 +14,7 @@ var target_x := 0.0
@onready var sprite : Sprite2D = $CultistSprite
@onready var water_splash : GPUParticles2D = $WaterSplash
@onready var animated_sprite : AnimatedSprite2D = $SubViewport/CultistSprite
@onready var left_wall_high_ray : RayCast2D = $WallCheckHigh/LeftWallRay
@@ -48,6 +49,16 @@ func _physics_process(delta: float) -> void:
move_and_slide()
func kill(type := KillingArea.Type.None) -> void:
match type:
KillingArea.Type.Water:
SoundManager.play_sfx_stream(SoundManager.sfx_stream_splash, global_position)
water_splash.finished.connect(queue_free)
water_splash.restart()
_:
queue_free()
func update_x_velocity(direction: int, max_speed: float, delta: float) -> void:
velocity.x = move_toward(velocity.x, direction * max_speed, ACCELERATION * delta)
@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://but5aeh7y1s0f" path="res://game/characters/enemies/abstract_cultist.gd" id="1_2wrno"]
[ext_resource type="PackedScene" uid="uid://dtxiercm8dsfm" path="res://game/characters/enemies/cultist_sprite.tscn" id="2_tjvyk"]
[ext_resource type="PackedScene" uid="uid://8yd8f5x1hujv" path="res://game/characters/water_splash.tscn" id="2_w1t0g"]
[ext_resource type="PackedScene" uid="uid://dike8xgbqdut2" path="res://game/killing_area.tscn" id="3_tjvyk"]
[ext_resource type="PackedScene" uid="uid://bg7k6ovbk1xgm" path="res://game/characters/enemies/state_machine/cultist_state_machine.tscn" id="4_yu28k"]
[ext_resource type="PackedScene" uid="uid://bq1v55jv4c6qe" path="res://game/characters/enemies/state_machine/cultist_state.tscn" id="5_tu2pi"]
@@ -31,6 +32,9 @@ height = 28.0
collision_layer = 0
script = ExtResource("1_2wrno")
[node name="WaterSplash" parent="." unique_id=658940825 instance=ExtResource("2_w1t0g")]
position = Vector2(0, -14)
[node name="CultistSprite" type="Sprite2D" parent="." unique_id=797412888]
texture = SubResource("ViewportTexture_cqp7f")
+6 -1
View File
@@ -24,6 +24,7 @@ var _is_switching_needed := false
@onready var camera : Camera2D = $Camera2D
@onready var water_splash : GPUParticles2D = $WaterSplash
@onready var sprite : AnimatedSprite2D = $PlayerSprite
@onready var particles : GPUParticles2D = $GPUParticles2D
@onready var collision_switcher : CollisionSwitcher = $CollisionSwitcher
@@ -102,7 +103,11 @@ func _switch() -> void:
_is_switching_needed = true
func kill() -> void:
func kill(type := KillingArea.Type.None) -> void:
match type:
KillingArea.Type.Water:
SoundManager.play_sfx_stream(SoundManager.sfx_stream_splash, global_position)
water_splash.restart()
is_dead = true
+4
View File
@@ -1,6 +1,7 @@
[gd_scene format=3 uid="uid://dtcad8tdx78tg"]
[ext_resource type="Script" uid="uid://bb8kc32sggrn2" path="res://game/characters/player/player.gd" id="1_xln5q"]
[ext_resource type="PackedScene" uid="uid://8yd8f5x1hujv" path="res://game/characters/water_splash.tscn" id="2_eeksw"]
[ext_resource type="PackedScene" uid="uid://5qlocc0yu8ug" path="res://game/collision_switcher.tscn" id="2_j06tb"]
[ext_resource type="PackedScene" uid="uid://cvx6akiplg21s" path="res://game/characters/player/player_sprite.tscn" id="2_n6ad3"]
[ext_resource type="PackedScene" uid="uid://bdk23k2bypj8w" path="res://game/characters/player/state_machine/player_state_machine.tscn" id="4_ybe51"]
@@ -39,6 +40,9 @@ collision_layer = 128
collision_mask = 33
script = ExtResource("1_xln5q")
[node name="WaterSplash" parent="." unique_id=658940825 instance=ExtResource("2_eeksw")]
position = Vector2(0, -16)
[node name="PlayerSprite" parent="." unique_id=237719081 instance=ExtResource("2_n6ad3")]
animation = &"jump_right"
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://8yd8f5x1hujv"]
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_kh0h8"]
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 4.0
direction = Vector3(0, -1, 0)
spread = 10.0
initial_velocity_min = 50.0
initial_velocity_max = 75.0
gravity = Vector3(0, 98, 0)
[node name="WaterSplash" type="GPUParticles2D" unique_id=658940825]
emitting = false
amount = 32
lifetime = 1.3
one_shot = true
explosiveness = 0.9
fixed_fps = 10
process_material = SubResource("ParticleProcessMaterial_kh0h8")