Heartfall choices
Updated 2026-10-15 · Last checked 2026-10-15
Early choices select routes; later decisions can change reputation, evidence, gift flags, or ending locks. This table separates entry decisions from final checks so a last-minute reply is not mistaken for the whole unlock requirement.
We checked the unencrypted data in the official free Linux v1.01 build on 15 October 2026. These are data-derived route and ending conditions, not a claim that we played every branch. Later patches can change them. We do not redistribute the game, dialogue scripts, or ending artwork.


Opening choices and route changes
Save before the invitation. The main route also has exits in MR2 and MR3; entering another branch can make those invitations unavailable.
| Choice and context | Destination | Guide |
|---|---|---|
| Continue the opening with Scar into the desert. Do not accept another route invitation. If the Bad Boys alliance was formed, choose Forget at the first night oath reminder to remain on the main path. | Have We Been Here Before? | /routes/team-0/ |
| Build the hobbit base during the opening, then inspect it again at night instead of immediately dismantling it. Ask to remain there and confirm that you want to keep the base rather than leave with Scar. | The Dark Forest | /routes/team-1/ |
| During MR2, tell Martyn you are alone, ask whether he means working under Scar, and admit that it is not how you thought things would be. Finish YCS2MartynsAlarm to start the intervention chain; follow its magic-trick, cave, and confrontation tasks. ScarStrongarm in the desert finally changes MR2 into YCS3; either of its last replies enters the route. | Dog-Eat-Dog World | /routes/team-2/ |
| In the opening hobbit-hole subplot, accept Scott and Jimmy’s invitation to move to Flower Valley. Continue their request for sand and explosives. Declining the invitation leaves the hobbit-hole option instead. | Live, Laugh, Divorce | /routes/team-3/ |
| Meet Joel in the opening and accept his cabin/base invitation. Do this before building your own hobbit base: the built_hobbit_base flag changes that conversation to a refusal. | Ashes and Alliances | /routes/team-4/ |
| During MR2, accept Martyn’s invitation to commit a crime at the secret library. The accept outcome, not merely knowing where the library is, loads the investigation route. | You Should've Aimed for the Hand | /routes/team-5/ |
| During MR2, speak with Scott and Jimmy about the cows. Agree to join the heist and confirm that decision. Saying you have better things to do leaves you on the main route. | The Cow Heist | /routes/team-6/ |
| Complete the opening Jimmy/Joel alliance exchange, which sets bad_boys_formed. Continue Scar’s opening events; at the first night oath reminder, choose Remember. Forget instead returns to the main route. | Welcome Home, Ally | /routes/team-7/ |
| Complete Impulse’s opening Music Box material request, then agree to show him the secret library. Refusing to tell him or already committing to the Bad Boys alliance changes that conversation instead of loading IP1. | Music is Magic | /routes/team-8/ |
| On MR3, follow the goose in the forest, then agree to sabotage the Mystic Tree Grove. Following the goose without accepting the sabotage does not select the Court branch. | The Court of Last Chances | /routes/team-9/ |
| Use the opening forest fishing spot until you obtain the catalogue book. Read it and accept Gone Fishing. Declining throws the book back and does not load PF1. | Any-fin is possible! | /routes/team-10/ |
| During the opening, inspect the strange piece at the beach and pick it up. Leaving it alone does not load HWR1. The Bad Boys opening can remove this access, so make a separate opening save. | Wolf in Sheep's Wool | /routes/team-11/ |
Late choices and the checks they trigger
These outcomes depend on the active route and its earlier prerequisites. A flag being present is not necessarily a numeric threshold, and good reputation is a named check rather than a universal score.
| Route | Choice or state | Consequence | Guide |
|---|---|---|---|
| Have We Been Here Before? | Finish MR8 with mr_alt_ending_locked_in absent. Either fail the earlier mr_alt_ending_count >=4 check, or attack Martyn rather than take the blow in the alternate confrontation. | So That's How It Went | /routes/team-0/ |
| Have We Been Here Before? | Collect at least four mr_alt_ending_count increments before the MR7 check, take the blow for Scar in MR7ALTMartynMoment, then finish MR8. Taking the blow sets mr_alt_ending_locked_in. | That's Not How It Went | /routes/team-0/ |
| The Dark Forest | Reach DFA6 with both Bdubs and Etho at good reputation. Conditional Bdubs -> Conditional Etho -> Load Ending Beloved. | Alone, Beloved | /routes/team-1/ |
| The Dark Forest | Reach DFA6 with either Bdubs or Etho failing the good-reputation check. Either failed check loads the Die Together ending. | Die, Together | /routes/team-1/ |
| Dog-Eat-Dog World | Take the AllyBox/desert-finale path, reach the bridge-inspection scene, reject the claim that Scar could have sabotaged it, then complete the Martyn confession and final duel. | Back Where It Started | /routes/team-2/ |
| Dog-Eat-Dog World | On the desert-finale path, keep blaming Scar at the bridge. If yc_sided_with_martyn is already set, the alternate bridge scene forces this denial outcome. | All For Naught | /routes/team-2/ |
| Dog-Eat-Dog World | Reach the EnemyBox path with yc_end3_stack >=3 and yc_sided_with_martyn set. Complete the confrontation chain and return with yc_grian_injured absent. | I'll Be Waiting | /routes/team-2/ |
| Dog-Eat-Dog World | Follow the same EnemyBox chain but return with yc_grian_injured present. Defending Martyn in YCS7ASlowMotionTrainCrashEDIT is one explicit setter. | Almost Home | /routes/team-2/ |
| Live, Laugh, Divorce | At LLD7DuelChoice, take on Martyn yourself. In the following conversation, use either ordinary reply rather than the chicken-only reply. | Love Wins | /routes/team-3/ |
| Live, Laugh, Divorce | At LLD7DuelChoice, let Scott go. Follow the final Jimmy conversation to the Love Loses transition. | Love Loses | /routes/team-3/ |
| Live, Laugh, Divorce | At the last duel, let Jimmy go while Scott has good reputation. The hatefulness check selects Hate Loses. | Hate Loses | /routes/team-3/ |
| Live, Laugh, Divorce | Let Jimmy go while Scott does not have good reputation. This is a real ending transition, but v1.01 marks its gallery entry hidden. | Hate Wins | /routes/team-3/ |
| Live, Laugh, Divorce | Set lld_chicken_ending_unlock through the final Chick Chance interaction, take on Martyn yourself, then choose the reply crediting the chickens. | Happily Eggver After | /routes/team-3/ |
| Ashes and Alliances | In J6_Do_We_Stay?, choose to leave. Finish the J6-Leaving chain through the Martyn scene. | A Lonely Death | /routes/team-4/ |
| Ashes and Alliances | Choose to stay, complete the recruitment chain, and reach the war with j_self_sacrifice_count absent. Follow the Grian-flower and good-ending scenes. | A New Family | /routes/team-4/ |
| Ashes and Alliances | Choose to stay with j_self_sacrifice_count present. Follow the Joel-loss and Cleo-confrontation chain to its ending transition. | A Violent End | /routes/team-4/ |
| You Should've Aimed for the Hand | Complete the RWD investigation chain through RWD8_TheEnd. The route has one registered story ending in v1.01. | Can we go to the desert? | /routes/team-5/ |
| The Cow Heist | In FR5DesertMountain, refuse the fire investigation and persist in staying with Scar. Continue FR5-BadEnd to the final mountain conversation. | Scorched Earth | /routes/team-6/ |
| The Cow Heist | Agree to investigate the fire instead. Finish the investigation and Joel confession, then complete FR6 and FR7ForestEND. | Perennial Garden | /routes/team-6/ |
| Welcome Home, Ally | Finish BB5 with Scar, Jimmy, and Joel all passing the good-reputation checks. | To Have Your Alliances, and Keep Them Too | /routes/team-7/ |
| Welcome Home, Ally | Finish BB5 with Scar good, but at least one of Jimmy or Joel not good. | Together in the Desert | /routes/team-7/ |
| Welcome Home, Ally | Finish BB5 with Scar not good, but both Jimmy and Joel good. | It's Us Until the End | /routes/team-7/ |
| Welcome Home, Ally | Finish BB5 with Scar not good and at least one of Jimmy or Joel not good. | What Else Did You Expect | /routes/team-7/ |
| Music is Magic | In IP2, persistently refuse food in IP2_FoodForPearl or cleaning in IP2_LibraryCleanQuest, rejecting every chance to help, then finish the exclusion conversation. Relenting avoids that immediate ending. The IP3 exclusion scene also uses this ID. | Solitude | /routes/team-8/ |
| Music is Magic | Reach the false-flower branch in IP5 with evidence !=3, repeatedly refuse to play the Music Box, then destroy it. | Self-Inflicted Solitude | /routes/team-8/ |
| Music is Magic | Reach the Impulse-flower check with ip_strange_evidence exactly 3 and follow the revival scene. Collect the Etho trade clue, include Pearl in the dance, and finish the flower errand. | Dal Segno al Fine | /routes/team-8/ |
| Music is Magic | Reach the false-flower branch with evidence !=3, play the Music Box, and confirm the reset. | Dal Segno al Coda | /routes/team-8/ |
| Music is Magic | In IP5_BdubsBetrayal, stop Pearl at the final intervention instead of letting her kill Bdubs. The resulting fatal Pearl scene leads here; two event transitions share this ID. | Fallen Companions | /routes/team-8/ |
| The Court of Last Chances | Remain below eight fc_ending2_count increments at the FC6 check so Scar survives, complete the party/gratitude conversations, and finish ScarOffer2 in FC7. | A Home Where You Are | /routes/team-9/ |
| The Court of Last Chances | Reach at least eight fc_ending2_count increments at the FC6 check to enter the Scar-dead branch. Fail any good-reputation check for Mumbo, Pearl, Gem, or Lizzie in the finale, then finish LeaveCourt. | Minutes Past Midnight | /routes/team-9/ |
| The Court of Last Chances | Reach the Scar-dead branch through the FC6 counter check (at least eight), then pass all four finale good-reputation checks for Mumbo, Pearl, Gem, and Lizzie and finish Pearl’s rewind conversation. | Dusk to Dawn | /routes/team-9/ |
| Any-fin is possible! | Give Ren the guitar in PF4 without pf_missed_gift set, then complete the music gathering and Watcher-friends fishing sequence. | Bass Friends Forever: True Pacifish | /routes/team-10/ |
| Any-fin is possible! | Do not finish the True Pacifish branch. Sleep after the PF4 sequence with at least one pf_gifted_* flag, then finish PF5A; win, loss, and cheat all use this ending ID. | Fish or Be Fished: Fishmaster | /routes/team-10/ |
| Any-fin is possible! | Do not finish the True Pacifish branch. Sleep with none of the twelve pf_gifted_* flags, then complete PF5BVoid3. | Goodbye Krill World: Fishing Anonymous | /routes/team-10/ |
| Wolf in Sheep's Wool | At HWR7 TheEnd, choose to refuse to abandon your friends. This emits outcome1 and loads the bad-ending transition. | Never Alone Again | /routes/team-11/ |
| Wolf in Sheep's Wool | At HWR7 TheEnd, choose to do something reckless. Finish the portal sequence; either later relief/grief answer still emits outcome2. | A Promise Fulfilled | /routes/team-11/ |
Content settings are separate
The official pages describe toggles for sudden noises, flashing, bright colors, and swearing. These accessibility and content options are not an ending checklist. Additional route warnings are available in the in-game info menu.
Questions
Does the final choice alone determine a Heartfall ending?
Not always. The main alternate scene requires an earlier counter of at least four; Music is Magic checks exactly three evidence increments; several routes use reputation, gifts, or survival flags. Check the route-specific prerequisites before replaying the final scene.
Related pages
Sources
- Official Heartfall v1.01 download — Linux v1.01, checked 15 October 2026. Route names and ending IDs: game_staticdata.json; event conditions: game_sessions.json; choice outcomes: game_convos.json, in Data/Game Ready. Independently checked build data, not a developer-written walkthrough.
- Carrd — Divergence examples and toggles.