Stop animations when enemy dies, fix pixel melt issue (was melting all of the elemental damage effects too)
This commit is contained in:
@@ -26,6 +26,7 @@ public partial class EnemyModelView2D : EnemyModelView, IEnemyModelView
|
||||
[Node] public AnimationPlayer WaterHitAnimation { get; set; } = default!;
|
||||
[Node] public AnimationPlayer CurseHitAnimation { get; set; } = default!;
|
||||
[Node] public AnimationPlayer EarthHitAnimation { get; set; } = default!;
|
||||
[Node] public Node2D VFXSprites { get; set; } = default!;
|
||||
|
||||
[ExportGroup("Enemy Model Properties")]
|
||||
[Export(PropertyHint.Range, "0.0, 1.0")]
|
||||
@@ -60,7 +61,9 @@ public partial class EnemyModelView2D : EnemyModelView, IEnemyModelView
|
||||
|
||||
public override void PlayDeathAnimation()
|
||||
{
|
||||
_stateMachine.Stop();
|
||||
AnimationPlayer.Stop();
|
||||
VFXSprites.Hide();
|
||||
LoadShader("res://src/vfx/shaders/PixelMelt.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 0.1f, 0.8f);
|
||||
|
||||
@@ -3884,6 +3884,7 @@ sprite_frames = SubResource("SpriteFrames_6drt6")
|
||||
animation = &"idle_left_walk"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -4389,6 +4389,7 @@ animation = &"idle_front_walk"
|
||||
offset = Vector2(400, 400)
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -5888,6 +5888,7 @@ sprite_frames = SubResource("SpriteFrames_673a4")
|
||||
animation = &"idle_back_walk"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -5028,6 +5028,7 @@ sprite_frames = SubResource("SpriteFrames_sobol")
|
||||
animation = &"idle_front"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -4732,6 +4732,7 @@ animation = &"idle_front_walk"
|
||||
offset = Vector2(400, 400)
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -5936,6 +5936,7 @@ animation = &"Idle FRONT"
|
||||
offset = Vector2(402.745, 400)
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -6698,6 +6698,7 @@ animation = &"idle_front_walk"
|
||||
offset = Vector2(500, 500)
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -5282,6 +5282,7 @@ sprite_frames = SubResource("SpriteFrames_6drt6")
|
||||
animation = &"idle_front"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
+1
@@ -5258,6 +5258,7 @@ sprite_frames = SubResource("SpriteFrames_6drt6")
|
||||
animation = &"idle_front"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
+1
@@ -5371,6 +5371,7 @@ sprite_frames = SubResource("SpriteFrames_6drt6")
|
||||
animation = &"idle_front"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -5331,6 +5331,7 @@ autoplay = "default"
|
||||
offset = Vector2(400, 375)
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -5505,6 +5505,7 @@ sprite_frames = SubResource("SpriteFrames_sobol")
|
||||
animation = &"idle_front"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -6637,6 +6637,7 @@ animation = &"idle_front"
|
||||
offset = Vector2(200, 200)
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -3796,6 +3796,7 @@ sprite_frames = SubResource("SpriteFrames_hypby")
|
||||
animation = &"idle_left_walk"
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
texture_filter = 1
|
||||
|
||||
@@ -5304,6 +5304,7 @@ autoplay = "default"
|
||||
offset = Vector2(400, 375)
|
||||
|
||||
[node name="VFXSprites" type="Node2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Rust Activation Effect" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport/VFXSprites"]
|
||||
position = Vector2(378.935, 478.985)
|
||||
|
||||
@@ -8,7 +8,7 @@ uniform float meltiness: hint_range(0.0, 16.0) = 1.0;
|
||||
|
||||
uniform bool reverse = false;
|
||||
|
||||
float psuedo_rand(float x) {
|
||||
float pseudo_rand(float x) {
|
||||
return mod(x * 2048103.0 + cos(x * 1912.0), 1.0);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ void fragment() {
|
||||
uv.y -= progress / UV.y;
|
||||
|
||||
// Created jagged edges for each pixel on the x-axis
|
||||
uv.y -= progress * meltiness * psuedo_rand(UV.x - mod(UV.x, TEXTURE_PIXEL_SIZE.x));
|
||||
uv.y -= progress * meltiness * pseudo_rand(UV.x - mod(UV.x, TEXTURE_PIXEL_SIZE.x));
|
||||
|
||||
COLOR = texture(TEXTURE, uv);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user