local ActionParent = require "scenes.battlesystem.controllers.fighters.systems.actions.parent"
local FleeAction = ActionParent:extend()

function FleeAction:new(fighter)
  FleeAction.super.new(self, fighter)
end

function FleeAction:needTarget()
  return false, false
end

function FleeAction:startAction()
  core.debug:print("cbs/action", "Starting flee action")
  if (self.fighter.abstract.name == "shadow") then
    self.fighter.turns.hud:showMessage("You won't flee the battle")
    self:finishAction()
    return
  end

  local chanceToFlee = self.fighter.turnSystem:getChanceTooFlee(self.fighter.abstract.stats.speed)
  if (math.random(100) < chanceToFlee) then
    self.fighter.turnSystem.hud:showMessage("You flee the battle")
    self.fighter.turnSystem:fleeBattle()
  else
    self.fighter.turnSystem.hud:showMessage("You failed to flee the battle")
    self:finishAction()
  end

end

return FleeAction
