summaryrefslogtreecommitdiff
path: root/Scenes/MonsterRandom.gd
blob: 9906ed673c7976df60fde80ce651abae9e71b6de (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
32
33
34
extends Monster

const directions = [Vector2(1,0), Vector2(0,1), Vector2(-1,0), Vector2(0,-1)]
var dir_i = 0
var moved = true

func _ready():
	._ready()
	dir_i = 0

func try_moving(player_pos : Vector2, monster_pos : Vector2) -> MonsterAction:
	var action = MonsterAction.new()

	if moved:
		moved = false
		action.type = MonsterActionType.IDLE
		return action
	else:
		moved = true

	var next_movement = directions[dir_i]
	var next_pos = monster_pos + next_movement

	if next_pos == player_pos:
		action.type = MonsterActionType.ATTACK
	else:
		action.type = MonsterActionType.MOVE
		action.dir = next_movement
		dir_i = randi()%4

	return action

func cor_attack(args : Array):
	yield(.cor_attack(args), "completed")