32 lines
919 B
GDScript
32 lines
919 B
GDScript
class_name Npc extends Person
|
|
|
|
const popup_template = preload("res://profile_popup.tscn")
|
|
var profile_popup
|
|
|
|
@export var is_player : bool = false
|
|
@onready var bt_player : BTPlayer = $BTPlayer
|
|
@export var movement_speed : float = 400.0
|
|
@onready var movement_target_position : Vector2 = global_position
|
|
@onready var nav_agent : NavigationAgent2D = $NavigationAgent2D
|
|
|
|
var data : AdventurerData = null
|
|
var interaction_target = null
|
|
var last_position : Vector2 = Vector2.ZERO
|
|
var stuck : bool = false
|
|
var stuck_time_remaining : float = 0
|
|
var busy : bool = false
|
|
var _activity : String = ""
|
|
var activity : String :
|
|
get:
|
|
return _activity
|
|
set(value):
|
|
_activity = value
|
|
if profile_popup:
|
|
profile_popup.change_activity(_activity)
|
|
@onready var bubble : SpeechBubble = $SpeechBubble
|
|
@export var interaction_range : float = 75
|
|
@export var stop_range : float = 25
|
|
|
|
signal navigation_finished()
|
|
signal navigation_failed()
|