@Override
	public void draw(Graphics g, int offsetX, int offsetY){
		int x = tileX - offsetX;
		int y = tileY - offsetY;
		if (x < -2 || x > 40 || y < -2 || y > 40){
			onScreen = false;
			return;
		}
		onScreen = true;
		float tX = x * 16 + Settings.CAM_X + movingValueX;
		float tY = y * 16 + Settings.CAM_Y + movingValueY;
		boundingRect.setX(tX - 16);
		boundingRect.setY(tY - 16);
		setX(tX);
		setY(tY);
		center.x = getX() + actor.getSpriteWidth() * 8;
		center.y = getY() + actor.getSpriteHeight() * 8;
		anim.draw(tX, tY);
		if (isHooked){
			g.setColor(Color.red);
			g.fillRect(tX, tY - 2, actor.getSpriteWidth() * 16, 2);
			g.setColor(Color.green);
			float ratio = (float) (ms.getHp() / (ms.getMaxHP() * 1.0));
			g.fillRect(tX, tY - 2, actor.getSpriteWidth() * ratio * 16, 2);
		}
	}