message: Fix a bug where never losing a city is checked after the goal deadline
diff: @@ -1520,6 +1520,9 @@ class BaseGoal(object):
  def area_name(self, tile):
  return "\n".join([name for name, area in self.areas.items() if tile in area])
  + def past_end(self):
  + return self._iYear is not None and turn() > year(self._iYear)
  +
  def register(self, event, handler):
  setattr(self, handler.__name__, handler)
  self.instance_handlers.append((event, handler.__name__))
  @@ -2687,6 +2690,7 @@ class Trigger(Condition):
  @classproperty
  def noCityLost(cls):
  def checkCityLost(self, iOtherPlayer, bConquest):
  + if not self.past_end():
  self.fail()
  return cls.desc("NO_CITY_LOST").failable.handle("cityLost", checkCityLost).subclass("NoCityLost")
  @@ -2702,7 +2706,7 @@ class Trigger(Condition):
  @classproperty
  def neverConquer(cls):
  def checkCityAcquired(self, iOwner, city, bConquest):
  - if bConquest:
  + if bConquest and not self.past_end():
  self.fail()
  return cls.desc("NEVER_CONQUER").failable.handle("cityAcquired", checkCityAcquired).subclass("NeverConquer")
  