local Battler = require("scenes.battlesystem.actors.battler") local Ennemy = Battler:extend() local gui = require "game.modules.gui" function Ennemy:new(world, x, y, id, number) Ennemy.super.new(self, world, x, y, 0) self.isEnnemy = true self.ennid = id or "motobug" self.actionPerTurn = 2 self:receiveDatas() self.hp = self.data.stats.hpmax self.pp = self.data.stats.ppmax self.shownHP = self.hp self.side = "ennemy" end function Ennemy:draw() local x, y = self.maputils.gridToPixel(self.x, self.y, true) love.graphics.setColor(1, 0, 0, 1) love.graphics.rectangle("fill", x - 8, y - 32, 16, 32) love.graphics.setColor(1, 1, 1, 1) end function Ennemy:drawHUD() local x, y = self.maputils.gridToPixel(self.x, self.y, true) love.graphics.setColor(0, 0, 0, 1) gui.drawBar(x - 14, y - 38, 26, 4) love.graphics.setColor(248/255, 160/255, 0, 1) local bar = math.floor(24 * (self.shownHP / self.data.stats.hpmax)) gui.drawBar(x - 14, y - 37, bar, 2) love.graphics.setColor(1, 1, 1, 1) end function Ennemy:drawIcon(x, y) love.graphics.setColor(1, 0, 0, 1) love.graphics.rectangle("fill", x, y, 16, 16) love.graphics.setColor(1, 1, 1, 1) end function Ennemy:receiveDatas() self.data = game.ennemies:getEnnemyData(self.ennid) end function Ennemy:setHP(value, relative) if (relative) then value = self.hp + value end self.hp = value self.tweens:newTween(0, 0.1, {shownHP = self.hp}, 'inCubic') if (self.hp <= 0) then self:destroy() end end function Ennemy:getStats() return self.data.stats end return Ennemy