code-game-jam-drop-plafond-.../scenes/enemies/slime.gd

51 lines
1.1 KiB
GDScript3
Raw Normal View History

2025-01-24 18:38:25 +01:00
extends CharacterBody2D
const SPEED = 100.0
@onready var player = get_parent().get_node("Player_Melodie")
var player_position = Vector2.ZERO
var target_position = Vector2.ZERO
var move_timer = 2
2025-01-25 01:44:33 +01:00
var next_degat = 1
var vie = 4
2025-01-24 18:38:25 +01:00
2025-01-25 01:44:33 +01:00
func take_damage(dmg : int) :
vie -= dmg
if vie <= 0:
queue_free()
2025-01-24 18:38:25 +01:00
func _physics_process(delta: float) -> void:
player_position = player.position
target_position = (player_position - position).normalized()
move_and_slide()
2025-01-25 01:44:33 +01:00
next_degat -= delta
2025-01-24 18:38:25 +01:00
for i in get_slide_collision_count():
var collision = get_slide_collision(i)
2025-01-25 01:44:33 +01:00
if collision.get_collider_shape().get_instance_id() == player.get_child(1).get_instance_id():
if next_degat <= 0:
player.take_damage(2)
next_degat = 1
2025-01-24 18:38:25 +01:00
func _process(delta: float) -> void:
var direction : Vector2
if move_timer > 0 :
move_timer -= delta
direction = Vector2.ZERO
else :
direction = target_position
2025-01-24 23:02:29 +01:00
$AnimatedSprite2D.play("Generic")
2025-01-24 18:38:25 +01:00
velocity = direction * SPEED
2025-01-25 01:44:33 +01:00
func Collision(body: Node2D) -> void:
print(body)
if body.is_in_group("Player") :
body.take_damage(1)