17 lines
402 B
GDScript
17 lines
402 B
GDScript
extends BTAction
|
|
class_name BTGrab
|
|
func tick(tick: Tick) -> int:
|
|
var npc = tick.actor
|
|
var bb = tick.blackboard
|
|
if npc.get_meta("agression") < 100.0:
|
|
return FAILED
|
|
var pattack = npc.get_meta("agression") / 1000.0
|
|
if pattack < randf():
|
|
return FAILED
|
|
if !npc.get_meta("grabbing"):
|
|
var best = bb.get("closest_enemy")
|
|
if !best:
|
|
return FAILED
|
|
grabbing.grab_character(npc, best)
|
|
return OK
|