summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/Game.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-22 09:26:53 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-22 09:26:53 +0800
commitebe7f80bcf54189cc51a15bf17b99293b6ff57a3 (patch)
tree89fc4406662c2ff6bc39fbef8e806731709eecf2 /src/LivingVillage.Desktop/Game.fs
parentdbce686019230c7a1105f5cc4b7b258698201128 (diff)
downloadliving-village-ebe7f80bcf54189cc51a15bf17b99293b6ff57a3.tar.gz
feat(desktop): P26 夜晚冷月光 veil(纯渲染层)+ 灯笼光晕径向无方斑回归
Diffstat (limited to 'src/LivingVillage.Desktop/Game.fs')
-rw-r--r--src/LivingVillage.Desktop/Game.fs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/LivingVillage.Desktop/Game.fs b/src/LivingVillage.Desktop/Game.fs
index c6da443..537ae3b 100644
--- a/src/LivingVillage.Desktop/Game.fs
+++ b/src/LivingVillage.Desktop/Game.fs
@@ -1186,6 +1186,14 @@ type LivingVillageGame() as this =
let veilAlpha = M6Presentation.goldenVeilAlpha world.Tick
if veilAlpha > 0 then
spriteBatch.Draw(pixel, Rectangle(0, 0, viewport.Width, viewport.Height), VillageArt.premultiply 255 150 70 veilAlpha)
+
+ // Cool moonlight wash on top of the night scene: a premultiplied blue veil whose
+ // alpha is a pure tick function (zero by day, suppressed through dusk/dawn warmth).
+ // Like the golden veil it adds light and can never saturate to white.
+ let moonAlpha = M6Presentation.moonlightVeilAlpha world.Tick
+ if moonAlpha > 0 then
+ let mr, mg, mb = M6Presentation.moonlightRgb
+ spriteBatch.Draw(pixel, Rectangle(0, 0, viewport.Width, viewport.Height), VillageArt.premultiply mr mg mb moonAlpha)
spriteBatch.End()
// Contextual floating prompt over the unique target; same CJK atlas font path as the HUD.