From e75fac7291959bcb7d1c95b1b261a0791ac9dded Mon Sep 17 00:00:00 2001 From: Vari Date: Thu, 19 Dec 2024 20:45:43 +0100 Subject: [PATCH] Added mapping to reduce the values of random selected picked challenges by a percentage. --- .../Api/Player/MetadataController.php | 55 ++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/dist/app/Http/Controllers/Api/Player/MetadataController.php b/dist/app/Http/Controllers/Api/Player/MetadataController.php index e93587a..4dcfd61 100644 --- a/dist/app/Http/Controllers/Api/Player/MetadataController.php +++ b/dist/app/Http/Controllers/Api/Player/MetadataController.php @@ -21,6 +21,48 @@ class MetadataController extends Controller { + + /** + * Mapping from + */ + const PICKED_CHALLENGE_REDUCTION_MAPPING = [ + '/Game/Challenges/Progression/General/Challenge_Downing_Hunter.Challenge_Downing_Hunter' => 74.49, + '/Game/Challenges/Progression/General/Challenge_Execution_Hunter.Challenge_Execution_Hunter' => 76.19, + '/Game/Challenges/Progression/General/Challenge_Ressources_Runner.Challenge_Ressources_Runner' => 58.05, + '/Game/Challenges/Progression/General/Challenge_Travel_Hunter.Challenge_Travel_Hunter' => 52.38, + '/Game/Challenges/Progression/General/Challenge_Travel_Runner.Challenge_Travel_Runner' => 50.00, + '/Game/Challenges/Progression/General/Challenge_Hacking_Hunter.Challenge_Hacking_Hunter' => 85.71, + '/Game/Challenges/Progression/General/Challenge_Drones_Hunter.Challenge_Drones_Hunter' => 95.24, + '/Game/Challenges/Progression/General/Challenge_TeamActions_Runner.Challenge_TeamActions_Runner' => 47.09, + '/Game/Challenges/Progression/General/Challenge_HunterClose_Runner.Challenge_HunterClose_Runner' => 76.19, + '/Game/Challenges/Progression/General/Challenge_Damage_Hunter.Challenge_Damage_Hunter' => 40.48, + '/Game/Challenges/Progression/General/Challenge_ConstructDefeats_Runner.Challenge_ConstructDefeats_Runner' => 73.54, + '/Game/Challenges/Progression/General/Challenge_Heal_Runner.Challenge_Heal_Runner' => 52.38, + '/Game/Challenges/Progression/General/Challenge_RingOut_Hunter.Challenge_RingOut_Hunter' => 58.33, + '/Game/Challenges/Progression/General/Challenge_Supercharge_Hunter.Challenge_Supercharge_Hunter' => 78.57, + '/Game/Challenges/Progression/General/Challenge_TakeDamage_Runner.Challenge_TakeDamage_Runner' => 57.14, + '/Game/Challenges/Progression/General/Challenge_Evade_Runner.Challenge_Evade_Runner' => 70.24, + '/Game/Challenges/Progression/General/Challenge_Climb_Runner.Challenge_Climb_Runner' => 86.11, + '/Game/Challenges/Challenge_Deliver_Runner.Challenge_Deliver_Runner' => 57.14, + '/Game/Challenges/Progression/General/Challenge_Mark_Runner.Challenge_Mark_Runner' => 71.43, + '/Game/Challenges/Progression/General/Challenge_Reveal_Hunter.Challenge_Reveal_Hunter' => 94.29, + '/Game/Challenges/Progression/General/Challenge_HackCrates_Hunter.Challenge_HackCrates_Hunter' => 42.86, + '/Game/Challenges/Progression/General/Challenge_SpendNPI_Runner.Challenge_SpendNPI_Runner' => 42.86, + '/Game/Challenges/Progression/General/Challenge_CollectAmmo.Challenge_CollectAmmo' => 52.38, + '/Game/Challenges/Progression/General/Challenge_CollectWeaponUpgrades_Runner.Challenge_CollectWeaponUpgrades_Runner' => 52.38, + '/Game/Challenges/Progression/General/Challenge_CollectHealthCrates.Challenge_CollectHealthCrates' => 90.48, + '/Game/Challenges/Progression/General/Challenge_DisableDrones_Runner.Challenge_DisableDrones_Runner' => 61.90, + '/Game/Challenges/Challenge_DroneCharger_Hunter.Challenge_DroneCharger_Hunter' => 66.67, + '/Game/Challenges/Progression/General/Challenge_Stomp_Hunter.Challenge_Stomp_Hunter' => 50.00, + '/Game/Challenges/Progression/General/Challenge_Aim_Hunter.Challenge_Aim_Hunter' => 42.86, + '/Game/Challenges/Progression/General/Challenge_DangerClose_Runner.Challenge_DangerClose_Runner' => 76.19, + '/Game/Challenges/Progression/General/Challenge_SurviveAChase_Runner.Challenge_SurviveAChase_Runner' => 64.29, + '/Game/Challenges/Progression/General/Challenge_AssistAChase_Runner.Challenge_AssistAChase_Runner' => 28.57, + '/Game/Challenges/Progression/General/Challenge_Exit_Runner.Challenge_Exit_Runner' => 42.86, + '/Game/Challenges/Progression/General/Challenge_BloodMode_Runner.Challenge_BloodMode_Runner' => 42.86, + '/Game/Challenges/Progression/General/Challenge_LastMAnStanding_Hunter.Challenge_LastManStanding_Hunter' => 42.86, + ]; + public function initOrGetGroups(InitOrGetGroupsRequest $request) { $response = new InitOrGetGroupsResponse(); @@ -56,6 +98,8 @@ public function initOrGetGroups(InitOrGetGroupsRequest $request) return json_encode($response); } + + public function updateMetadataGroup(UpdateMetadataGroupRequest $request) { switch ($request->group) { @@ -106,8 +150,8 @@ private function handleUpdateCharacterMetadata(UpdateMetadataGroupRequest &$requ foreach ($picked['list'] as $challenge) { $challengeId = Uuid::fromHexadecimal(new Hexadecimal($challenge['challengeId'])); - $completionValue = $challenge['challengeCompletionValue']; $assetPath = $challenge['challengeAsset']; + $completionValue = static::reducePickedChallengeCompletionValue($assetPath, $challenge['challengeCompletionValue']); $newPicked = new PickedChallenge([ 'id' => $challengeId->toString(), @@ -169,4 +213,13 @@ private function handleFactionMetadata(UpdateMetadataGroupRequest &$request): st throw new \Exception('Handle Update Faction Metadata not implemented yet'); return false; } + + public static function reducePickedChallengeCompletionValue( + string $challengeBlueprint, + string $originalAmount, + ): int { + if(isset(static::PICKED_CHALLENGE_REDUCTION_MAPPING[$challengeBlueprint])) + return $originalAmount * (static::PICKED_CHALLENGE_REDUCTION_MAPPING[$challengeBlueprint] / 100); + return $originalAmount; + } }