From f8e0bb2747611729a564ca8c394b1f008c684321 Mon Sep 17 00:00:00 2001 From: Bohaska <73286691+Bohaska@users.noreply.github.com> Date: Wed, 22 May 2024 09:29:18 +0800 Subject: [PATCH] Check existing base when upgrading rejects trying to upgrade more than 1 level at a time, rejects creating anything other than a level 1 base in airports without a base --- airline-web/app/controllers/AirlineApplication.scala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/airline-web/app/controllers/AirlineApplication.scala b/airline-web/app/controllers/AirlineApplication.scala index b299de569..ae3712163 100644 --- a/airline-web/app/controllers/AirlineApplication.scala +++ b/airline-web/app/controllers/AirlineApplication.scala @@ -270,6 +270,15 @@ class AirlineApplication @Inject()(cc: ControllerComponents) extends AbstractCon return Some("Not enough cash to build/upgrade the base") } + val existingBase = airline.getBases().find(_.airport.id == targetBase.airport.id) + if (existingBase != undefined) { + if (targetBase.scale != existingBase.scale + 1) { + return Some(s"Can only upgrade base to level ${existingBase.scale + 1}") + } + } else if (targetBase.scale != 1) { + return Some(s"Base does not exist yet, can only build level 1 base") + } + if (targetBase.scale == 1) { //building something new if (airline.getHeadQuarter().isDefined) { //building non-HQ AllianceSource.loadAllianceMemberByAirline(airline).filter(_.role != AllianceRole.APPLICANT).foreach { allianceMember =>