diff options
Diffstat (limited to 'src/LivingVillage.Desktop/Game.fs')
| -rw-r--r-- | src/LivingVillage.Desktop/Game.fs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/LivingVillage.Desktop/Game.fs b/src/LivingVillage.Desktop/Game.fs index 1d50f3d..9464c8b 100644 --- a/src/LivingVillage.Desktop/Game.fs +++ b/src/LivingVillage.Desktop/Game.fs @@ -676,6 +676,21 @@ type LivingVillageGame() as this = world.Tick profile.WorldTint + // Warm lantern glows strengthen as night falls (pure function of tick phase). + if profile.LanternGlow > 0.3f then + let glow = profile.LanternGlow + let haloAlpha = int (90.0f * glow) + for prop in renderPlan.Props do + match prop.Kind with + | RiverLantern -> + let position = VillageArt.worldTile renderPlan prop.Position + let screenX = position.X * Sim.tilePixels - int camera.X + Sim.tilePixels / 2 + let screenY = position.Y * Sim.tilePixels - int camera.Y - Sim.tilePixels / 2 + spriteBatch.Draw(pixel, Rectangle(screenX - 22, screenY - 22, 60, 60), Color(252, 216, 148, int (float32 haloAlpha * 0.35f))) + spriteBatch.Draw(pixel, Rectangle(screenX - 14, screenY - 14, 44, 44), Color(252, 216, 148, haloAlpha)) + spriteBatch.Draw(pixel, Rectangle(screenX - 8, screenY - 8, 32, 32), Color(255, 236, 180, haloAlpha)) + | _ -> () + let avatarSpec = VillageArt.avatarSpriteSpec avatarFacing world.Tick VillageArt.drawCharacter spriteBatch artTextures camera world.Avatar.Pos avatarSpec profile.WorldTint |
