aboutsummaryrefslogtreecommitdiff
path: root/riot/angrydev.gd
blob: 5e791411192fb1c4857b3855e8f46e762a800c2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
extends Node2D
class_name AngryDev

var min_pitchfork_rotation : float = -15.0
var max_pitchfork_rotation : float = 50.0
export var rotation_speed : float = 1
var target: Manager = null
var total_tick = 0.0
export var speed : float = 100.0
onready var pitchfork : Sprite = $pitchfork


func interpolate(a, b, progress):
	return a + (b-a) * progress

func _process(delta : float) -> void:
	total_tick += delta
	var normalized_progress = (sin(total_tick * rotation_speed) + 1.0) / 2.0
	var rot = interpolate(min_pitchfork_rotation, max_pitchfork_rotation, normalized_progress)
	pitchfork.rotation_degrees = rot


func _physics_process(delta: float) -> void:
	var normalized_move = (target.position - position).normalized()
	
	position += normalized_move * delta * speed


func rotate_towards(player: Node2D) -> void:
	if player.position.x > position.x:
		scale.x = -abs(scale.x)