From da6bf3eadbafe9b6887b3c79e39936fe855b91a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Str=C3=B6mblom?= Date: Sun, 10 Feb 2019 13:19:23 +0100 Subject: [PATCH] Added calculation for morale loss. --- src/Services/Dominion/Actions/InvadeActionService.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Services/Dominion/Actions/InvadeActionService.php b/src/Services/Dominion/Actions/InvadeActionService.php index 2fc9cd9194..2691d764ae 100644 --- a/src/Services/Dominion/Actions/InvadeActionService.php +++ b/src/Services/Dominion/Actions/InvadeActionService.php @@ -301,6 +301,15 @@ public function invade(Dominion $dominion, Dominion $target, array $units): arra // >= 75%+ size: reduce -5% self morale // else < 75% size: reduce morale, linear scale from -5% morale at 75% size to -10% morale at 40% size // if $invasionSuccessful: reduce target morale by -5% + $dominion->morale -= 5; + if($landRatio < 0.75) { + $additionalMoraleLoss = max(round(((($landRatio - 0.4) * 100) / 7) - 5), -5); + $dominion->morale += $additionalMoraleLoss; + } + + if($isInvasionSuccessful) { + $target->morale -= 5; + } // MISC