summaryrefslogtreecommitdiff
path: root/Scenes/MonsterSquare.gd
blob: 89ae2e37324a121b1533f5489ad9a4c3409dbe41 (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
extends Monster

onready var cardinal = Vector2.UP

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

func _ready():
	._ready()
	dir_i = 0
	if randf() < 0.5:
		cardinal = Vector2.RIGHT

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

	var next_tile = monster_pos
	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 = (dir_i + 1) % 4

	return action

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