Mob Death: Stop Movement and Remove Material

main
Luna Brovchuk 2023-10-01 20:46:39 +02:00
parent 185a87a828
commit 138584b335
4 changed files with 9 additions and 5 deletions

View File

@ -25,7 +25,7 @@ flip_h = true
use_parent_material = true use_parent_material = true
frames = ExtResource( 1 ) frames = ExtResource( 1 )
animation = "idle" animation = "idle"
frame = 4 frame = 1
playing = true playing = true
centered = false centered = false

View File

@ -5,10 +5,10 @@
[ext_resource path="res://res/shaders/colorize.tres" type="Material" id=3] [ext_resource path="res://res/shaders/colorize.tres" type="Material" id=3]
[sub_resource type="RectangleShape2D" id=1] [sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 3.5, 3.5 ) extents = Vector2( 4, 4 )
[sub_resource type="RectangleShape2D" id=2] [sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 3.5, 9 ) extents = Vector2( 7, 11 )
[sub_resource type="Animation" id=4] [sub_resource type="Animation" id=4]
resource_name = "RESET" resource_name = "RESET"
@ -48,7 +48,7 @@ tracks/0/loop_wrap = true
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PoolRealArray( 0, 2 ), "times": PoolRealArray( 0, 0.9 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ true, false ] "values": [ true, false ]

View File

@ -129,7 +129,7 @@ func _physics_process(delta):
velocity = move_and_slide(velocity * speed_multiplier) velocity = move_and_slide(velocity * speed_multiplier)
choose_target() choose_target()
if target != null and is_instance_valid(target): if target != null and is_instance_valid(target) and not target.dead:
target.material = outline_material target.material = outline_material
if recharge_timer >= get_recharge(): if recharge_timer >= get_recharge():

View File

@ -12,6 +12,7 @@ var frozen_time = 2
var poisoned_time = 3 var poisoned_time = 3
var poisoned_damage = 5 var poisoned_damage = 5
var poison_damage_timer = .0 var poison_damage_timer = .0
var death_position
var frozen = false var frozen = false
@ -22,6 +23,8 @@ func deal_damage(amount):
func death(): func death():
dead = true dead = true
$Sprite.playing = false
death_position = self.global_position
$Area2D.call_deferred("free") $Area2D.call_deferred("free")
remove_from_group("enemy") remove_from_group("enemy")
material = empty_material material = empty_material
@ -29,6 +32,7 @@ func death():
func _physics_process(delta): func _physics_process(delta):
if dead: if dead:
self.global_position = death_position
dead_timer += delta dead_timer += delta
$Sprite.modulate.a = 1 - (dead_timer / 2) $Sprite.modulate.a = 1 - (dead_timer / 2)
if dead_timer >= 2.0: if dead_timer >= 2.0: