class_name BattleAction

var handle:String
var speedModifier:float
var canTargetMultiple:bool
var canTargetEnemy:bool
var canTargetAlly:bool
var preferAlly:bool

func _init(params:Dictionary) -> void:
  self.handle = params["handle"]
  self.speedModifier = params.get("speedModifier", 1.0)
  self.canTargetMultiple = params.get("canTargetMultiple", false)
  self.canTargetEnemy = params.get("canTargetEnemy", true)
  self.canTargetAlly = params.get("canTargetAlly", true)
  self.preferAlly = params.get("preferAlly", false)

func perform(params:Dictionary) -> void:
  assert(params.has("user"))
  assert(params.has("targets"))
  pass

func canFighterUse(_fighter:BattleFighter) -> bool:
  return true