hero-mark-2/objects/enemy/pigs/spoink.gd
2025-07-17 15:55:45 -06:00

33 lines
959 B
GDScript

extends "res://objects/enemy/enemy.gd"
export var jump_height: float
export var jump_distance: float
export var gravity: float
export var direction: float = 1.0
var velocity: Vector2 = Vector2.ZERO
var landed: bool = false
onready var body: Node2D = $Body
onready var sprite: Sprite = $Body/Sprite
func _physics_process(delta: float) -> void:
death_blood_offset = body.position + Vector2(0.0, -4.0)
if not landed:
velocity.y += gravity * delta
body.position += velocity * delta
if body.position.y >= 0.0:
landed = true
velocity = Vector2.ZERO
body.position.y = 0.0
sprite.frame = 1
direction *= -1.0
var tween = create_tween().set_process_mode(Tween.TWEEN_PROCESS_PHYSICS)
tween.tween_property(sprite, "frame", 0, 0.0).set_delay(0.5)
tween.tween_property(self, "velocity", Vector2(jump_distance * direction, -jump_height), 0.0)
tween.tween_property(self, "landed", false, 0.0)
tween.tween_callback(tween, "kill")