I have this method which should shoot a "fireball" to my character from the enemy but it only does damage and skip the movement from the enemy to player and I can't get the problem.
public void shoot(RangeEnemy enemy, Character character)
{
World world = enemy.getWorld();
RangeFire shoot = new RangeFire();
world.addObject(shoot, enemy.getX(), enemy.getY());
shoot.turnTowards(character.getX(), character.getY());
shoot.move(speed);
if(shoot.isTouching(Character.class))
{
character.setHealth(character.getHealth() - damage);
world.removeObject(shoot);
}
else if (shoot.isTouching(null) || shoot.isAtEdge())
{
world.removeObject(shoot);
}
}

