Added ExplosionParticles

This commit is contained in:
2025-11-24 16:40:43 +03:00
parent ce33ff76e8
commit 98294afeab
9 changed files with 216 additions and 18 deletions
@@ -9,6 +9,7 @@ extends BlastProjectile
$Sprite2D_E, $Sprite2D_SE, $Sprite2D_S, $Sprite2D_SW,
$Sprite2D_W, $Sprite2D_NW, $Sprite2D_N, $Sprite2D_NE,
]
@onready var explosion_particles : ExplosionParticles = $ExplosionParticles
var target : AbstractShip = null
@@ -54,3 +55,16 @@ func _update_sprite(velocity: Vector2) -> void:
sprite.hide()
sprites[index].show()
func _process_hit_for_projectile(_collided_body: Node2D) -> void:
for sprite in sprites:
sprite.hide()
explosion_particles.emitting = true
set_physics_process(false)
collision_mask = 0
blast.collision_mask = 0
func _on_explosion_particles_finished() -> void:
queue_free()
@@ -1,7 +1,8 @@
[gd_scene load_steps=18 format=3 uid="uid://dukgbg13ujkv2"]
[gd_scene load_steps=20 format=3 uid="uid://dukgbg13ujkv2"]
[ext_resource type="PackedScene" uid="uid://betr5ry5tc75e" path="res://game/entities/weapons/blast_projectile.tscn" id="1_0mcat"]
[ext_resource type="Script" uid="uid://dkvur5bdwg3sr" path="res://game/entities/weapons/launcher/launcher_projectile.gd" id="2_6hdsf"]
[ext_resource type="PackedScene" uid="uid://bhxib2ltpkcbf" path="res://game/entities/other/explosion_particles.tscn" id="3_iqm85"]
[ext_resource type="Texture2D" uid="uid://gh7mwehpqfco" path="res://particle_textures/flame_medium.tres" id="3_kos01"]
[ext_resource type="Script" uid="uid://dftb7hg5f06b5" path="res://game/health_system/damage/explosion_damage.gd" id="3_ycnsk"]
[ext_resource type="Texture2D" uid="uid://oj86smpsipw4" path="res://images/projectiles.png" id="4_kxgpk"]
@@ -60,6 +61,18 @@ metadata/_custom_type_script = "uid://dftb7hg5f06b5"
[sub_resource type="CircleShape2D" id="CircleShape2D_kxgpk"]
radius = 16.0
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_iqm85"]
lifetime_randomness = 0.2
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 16.0
angle_min = -179.99998
angle_max = 180.00002
spread = 180.0
gravity = Vector3(0, 0, 0)
turbulence_enabled = true
turbulence_noise_speed = Vector3(0.1, 0.1, 0.1)
[node name="LauncherProjectile" instance=ExtResource("1_0mcat")]
collision_layer = 0
collision_mask = 0
@@ -105,3 +118,9 @@ collision_layer = 0
collision_mask = 0
damage = SubResource("Resource_kos01")
shape = SubResource("CircleShape2D_kxgpk")
[node name="ExplosionParticles" parent="." index="12" instance=ExtResource("3_iqm85")]
process_material = SubResource("ParticleProcessMaterial_iqm85")
amount_ratio = 0.05
[connection signal="finished" from="ExplosionParticles" to="." method="_on_explosion_particles_finished"]