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")
|