diff --git a/public/assets/js/app.js b/public/assets/js/app.js index 25418e9..d1a2f9f 100755 --- a/public/assets/js/app.js +++ b/public/assets/js/app.js @@ -747,7 +747,6 @@ document.addEventListener('DOMContentLoaded', () => { const avatarEndpoint = '/api/avatar.php'; const avatarOptionalProbabilityMap = { avatar_lorelei_glasses_variant: 'glassesProbability', - avatar_lorelei_hair_variant: 'hairProbability', avatar_lorelei_beard_variant: 'beardProbability', avatar_lorelei_earrings_variant: 'earringsProbability', }; @@ -757,7 +756,16 @@ document.addEventListener('DOMContentLoaded', () => { if (!seed) return null; const params = new URLSearchParams({ seed }); + const hairValue = Object.prototype.hasOwnProperty.call(overrides, 'avatar_lorelei_hair_variant') + ? overrides.avatar_lorelei_hair_variant + : readAvatarValue(form, 'avatar_lorelei_hair_variant'); + params.set('hairProbability', '100'); + if (hairValue) { + params.set('hairVariant', hairValue); + } + avatarComponentFields.forEach((field) => { + if (field === 'avatar_lorelei_hair_variant') return; const value = Object.prototype.hasOwnProperty.call(overrides, field) ? overrides[field] : readAvatarValue(form, field); diff --git a/src/App/Avatar/Lorelei.php b/src/App/Avatar/Lorelei.php index 3a16de0..967bf23 100644 --- a/src/App/Avatar/Lorelei.php +++ b/src/App/Avatar/Lorelei.php @@ -101,7 +101,6 @@ final class Lorelei ]; $optionalMap = [ 'avatar_lorelei_glasses_variant' => ['variant' => 'glassesVariant', 'probability' => 'glassesProbability'], - 'avatar_lorelei_hair_variant' => ['variant' => 'hairVariant', 'probability' => 'hairProbability'], 'avatar_lorelei_beard_variant' => ['variant' => 'beardVariant', 'probability' => 'beardProbability'], 'avatar_lorelei_earrings_variant' => ['variant' => 'earringsVariant', 'probability' => 'earringsProbability'], ]; @@ -112,6 +111,11 @@ final class Lorelei } } + $query['hairProbability'] = '100'; + if ($avatar['avatar_lorelei_hair_variant'] !== '') { + $query['hairVariant'] = $avatar['avatar_lorelei_hair_variant']; + } + foreach ($optionalMap as $key => $params) { if ($avatar[$key] === '') { $query[$params['probability']] = '0';