# Felix + Ravi 2.1.0 — Candlelit Secrets

Halloween now has a black, crimson and candlelight-gold atmosphere, a new pixel room and matching furniture, three costumes, two accessories, three collectible decorations, hidden clues, a quest board, Candle Circuit and a saved Halloween story. This update is for Android and Windows.

## Install and find it

Android: install **Felix-Ravi-Android-2.1.0.apk** over the existing app. Keep the existing app installed. The package ID and signing certificate are unchanged; Android Studio is not required. Confirm **2.1.0** on Home.

Windows: quit the old pair, extract the entire **Felix-Ravi-Desktop-2.1.0.zip** into a new folder and run **Start-Felix-Ravi.cmd**. The compiled app is included; existing progress uses the same per-user data folder.

On Home, look for **CANDLELIT SECRETS · 2.1** and open **Candlelit Secrets + theme toggle**. Switch **Halloween theme · on / off** ON for the new atmosphere. Open **Candlelit Secrets · quests, clues + decor** for the quest board and market.

Halloween remains a manual toggle. It does not switch itself on, expire or remove your items by date. Costumes, accessories, games, quests and story progress remain available with the theme off. The new room decorations and furniture colors appear with the theme on. Dark/light/system/scheduled mode remains a separate setting.

## The atmosphere

The retro interface uses near-black panels, crimson title bars and warm gold accents. The pixel room has a dark arched window, quiet candles, a waiting door, a book shelf and a loose floor tile. Purchased room furniture and the floating home corner get matching Halloween colors. Shared nap blankets also match the theme.

There are no new jump scares, sudden horror images, alarm sounds or countdowns in the new adventure. Candle Circuit is untimed. Existing optional gentle click/reward sounds keep their existing sound controls. Normal-weather effects and the older games keep their existing rules.

Seasonal idle dialogue adds 16 authored lines, shared across both characters, plus an ending-dependent callback. It follows existing chatter availability and alternating speaker turns. Mood options are now **Their usual moods**, **A sweet discovery**, **Listening closely**, **Candlelit calm** and **A knowing glance**. The four seasonal options use small, calm gestures with the theme on. They do not award currency or start a real nap. Actual sleep, wake/cancel behavior, all eight expressions and their artwork are retained.

## Costumes and accessories

One costume unlock covers both characters; each can wear a different choice. Costumes are animated layers over the ordinary outfit, and your normal accessory remains independent.

| Costume | Default price |
| --- | --- |
| Everyday outfit | Always available; removes the costume layer |
| Pumpkin Poncho | Free |
| Little Witch | Free |
| Little Ghost Cape | 12 Candy |
| Velvet Vampire | 18 Candy |
| **Crimson Regent — new** | **20 Candy** |
| **Candlekeeper — new** | **24 Candy** |
| **Moth Masquerade — new** | **28 Candy** |

The three new costumes use black fabric, crimson details and gold trim. Their heads and inner face areas stay clear so expressions remain visible across the animation states.

**Gold Moth Pin** and **Old Key Pendant** are free accessories for either companion. Wear them from the Candlelit Secrets board, or find them in the regular closet. One ordinary accessory is equipped at a time. The earlier wardrobe remains available.

## Clues and the waiting door

Visit their room and inspect the **wax seal on the window**, **note behind the books**, and **key under the loose tile**. The themed room has clickable spots for all three. The room's labeled inspect buttons and the quest board's inspect buttons are accessible alternatives to finding the small hotspots.

Each first discovery gives **2 Candy**. Inspecting a found clue shows it again without another reward. Reading a clue gives the room a short quiet period before an automatic scene can replace the text.

Finding all three clues unlocks **The Door That Waited**. The original **The Last Cushion** story and its five home memories remain separate and intact.

## The Door That Waited

Open its button in the Halloween collection or quest board after finding the clues. The episode has **18 pages**, **two choice points** and **four combinations of choices**. Decide how they approach the door, then what kindness they leave for the next visitor.

Ravi starts the first playthrough. Finished replays alternate the opening speaker, with authored dialogue for both. Each page and choice saves before advancing. Close to pause; reopen to resume. A failed save leaves the page available to retry.

The final **Keep this memory** button records the first route, gift and local-calendar date. A keepsake letter then appears in the themed room. Replays preserve the first ending. The story itself does not repeatedly award Candy; claim the one-time story quest on the board after finishing.

## Quest board

These five quests have no expiry or deadline. Claim a ready reward explicitly on the board. Claimed quests stay claimed in save transfers and do not pay again on replay.

| Quest | Candy |
| --- | --- |
| Find all three room clues | 8 |
| Solve Candle Circuit once | 6 |
| Unlock any new candlelit costume | 5 |
| Finish The Door That Waited | 10 |
| Place all three new decorations | 12 |

Candy remains separate from your ordinary currency. Completed eligible companion moments retain the existing default **+2** ordinary currency. The existing daily Candy reward defaults to **+5** once per local calendar day; owner settings can change it.

## Decorations

| Decoration | Default price |
| --- | --- |
| Raven portrait | 8 Candy |
| Crimson runner | 12 Candy |
| Moon cabinet | 16 Candy |

Choose **Unlock + place**, then **Put away** or **Place** for an owned decoration. Putting it away keeps ownership. These are themed-room decorations in fixed display spots; the four regular furniture pieces keep their 2.0 drag/arrow arrangement controls. The separate floating home corner keeps its combined furniture layout.

## Four minigames

Open the arcade and choose a game from the dropdown.

| Game | Rules | Finished-result Candy |
| --- | --- | --- |
| Candy Catch | Move the basket; catch sweets/stars and avoid bats. 25 active seconds or three bumps. | Zero for score 0; otherwise `min(12, 1 + floor(score / 3))` |
| Pumpkin Pairs | Find six pairs. No timer. | `4 + floor(score / 20)` |
| Lantern Lights | Repeat the demonstrated order over three rounds. | 3 per completed round |
| **Candle Circuit — new** | Rotate nine tiles to connect the left candle to the bottom-right lantern. No timer or lives to lose. Every board has a solution. | `4 + floor(score / 20)`, normally 5–9 |

Candle Circuit scores `max(20, 100 - 2 × rotations)`. On Windows, click tiles or use arrows and Enter/Space. Android supports taps and nine labeled rotate buttons. Connected pipes carry light across the gaps. Lit pipes use a brighter color.

Only finished results pay. Closing or replacing an unfinished round gives no Candy. Result receipts prevent a repeated save of the same recent result. Use **Save result** / **Save finished result** to retry a result that failed to save. Unfinished rounds are not exported. Existing game counts and best scores migrate without resetting.

## Owner controls

Use **Candy + costume owner controls · PIN** in the Halloween collection. The existing device-local owner PIN is required. It can change Candy balance, daily Candy, the five paid costume prices and availability, unlock costumes, and change the three decoration prices/availability/grants. Settings save together. Free costumes and accessories remain free. This is a local owner panel, not a global online administrator.

## Saves and transfers

Update **both devices to 2.1.0**. Export a `.frsave` through **Your space → Move / back up progress**, move the file and import it on the other device. Review the preview. Import replaces progress, makes the existing local backup and requires the destination owner PIN when configured.

New exports use **portable format 4**. They include the new collection, four-game history, quest claims, clue discoveries, decoration settings, current Halloween story page and first ending, alongside the 2.0 room and story data. Genuine formats 1, 2 and 3 still import. Old apps cannot read format 4.

Local saves migrate to **economy-v7.xml** on Windows and **wallet_v7** on Android, retaining the older v6 wallet. Custom old costume prices/availability, Candy, scores, clothes, furniture positions and unfinished 2.0 story progress are preserved. Owner PINs, account sessions, city, display/chatter preferences and permissions remain on the device.

Live account registration and cloud saves remain unconfigured. Offline play and manual save-file transfer are available. No live email/backend service was connected by this update. Orbit stays separate.

## Checks and practical limits

Both native apps compile. Tests cover all eight Halloween story paths including both opening speakers, every page through save serialization, 300 solved Candle Circuit boards per language, repeat reward guards, shared costume purchases, owner authorization/lock, native-store migration, failed-write rollback and Android ↔ Windows continuation. 900 traces from the older games match 2.0 exactly.

840 new wearable frames per platform were checked for frame bounds, crisp alpha, palette and a clear inner face area. Existing expression, sleep/cancel movement and original home-story core code are unchanged; expression tests pass. Text contrast checks pass for the new palette. New shared artwork matches across platforms at the same dimensions.

The APK keeps the same certificate and app ID, minimum API 26 and target API 35, with version code 19. No permissions or native ABI dependencies were added. The previous Discord download stall has not been reproduced or claimed fixed.

Actual phone/Android emulator/Windows UI operation, hosted account/email delivery and native protected-token storage were not run here. The preview is an interface illustration using production assets, not a screenshot of a running native app. See `VALIDATION.json` and `validation/candlelit/` in the source packages.
