<<run setup.newGame()>>
<<set $prefs to {
music: true
}>><<run setup.migrateState()>>
<div id="sidebar-inner">
<div class="sb-title"><<img "title.jpg" "THE HUNT">></div>
<div class="sb-clock">
<span class="sb-day">Day <<print $day>></span>
<span class="sb-slot"><<print setup.timeLabel()>></span>
</div>
<<if passage() and not tags().includes("intro") and tags().includes("hub") and not setup.isNight() and not $problem.pending>>
<<set _here to passage()>>
<div class="sb-skip">
<<capture _here>>
<<link `"⏭ Skip to " + setup.nextSlotLabel()`>>
<<timecost 1>>
<<goto _here>>
<</link>>
<</capture>>
</div>
<</if>>
<<if passage() and not tags().includes("intro") and tags().includes("hub") and not $problem.pending and setup.config.debug.cheats>>
<<set _here to passage()>>
<div class="sb-skip">
<<capture _here>>
<<link "⏭ Skip day (dev)">>
<<run setup.advanceTime(setup.slotsLeftToday())>>
<<if $endState>><<goto "Ending">><<else>><<goto _here>><</if>>
<</link>>
<</capture>>
</div>
<</if>>
<div class="sb-block">
<<meter "Health" $health 100 "hp">>
<<meter "Energy" $energy 100 "en">>
</div>
<div class="sb-res">
<span class="sb-r"><span class="sb-rn">🪵 Materials</span><span class="sb-rv"><<print $res.materials>></span></span>
<span class="sb-r"><span class="sb-rn">🍖 Food</span><span class="sb-rv"><<print $res.food>></span></span>
<span class="sb-r"><span class="sb-rn">💊 Medicine</span><span class="sb-rv"><<print $res.medicine>></span></span>
</div>
<<set _rooms to setup.campRooms()>><<set _in to setup.rescuedCount()>>
<div class="sb-camp sb-beds">
<span class="sb-label">🛏 Rooms</span>
<span class="sb-count<<if _in > _rooms>> sb-over<</if>>"><<print Math.min(_in, _rooms)>>/<<print _rooms>><<if _in > _rooms>> · <<print _in - _rooms>> outside<</if>></span>
</div>
<<set _live to passage() and not tags().includes("intro")>>
<<if _live>>
<nav class="sb-nav">
<<if $problem.pending>>
<span class="disabled">⛺ Not yet</span>
<span class="disabled">👥 Not yet</span>
<<else>>
<<if $where is "beach" or ($where isnot "camp" and setup.isNight() and setup.locations[$where].canSleep)>>
<span class="disabled">⛺ Walk back</span>
<<else>>
<<link `$where is "camp" ? "⛺ Camp" : "⛺ Walk back"`>>
<<if $where isnot "camp">>
<<if setup.isNight()>>
<<run setup.goHomeFree()>>
<<else>>
<<set _walk to setup.walkHome()>>
<<timecost _walk>>
<</if>>
<</if>>
<<goto "Camp">>
<</link>>
<</if>>
<<link "👥 People">><<goto "Roster">><</link>>
<</if>>
<<set _wn to setup.whatsNext()>>
<<set _wnNew to setup.nextUnseen().length>>
<span @class="_wnNew ? 'nav-wrap has-new' : 'nav-wrap'"><<link "🧭 What's next">><<goto "WhatsNext">><</link>></span>
<<link "📖 Guide">><<goto "Guide">><</link>>
</nav>
<</if>>
<<if _live>>
<div @class="setup.supporterOK() ? 'sb-support is-patron' : 'sb-support'">
<<link `setup.supporterOK() ? "✦ Supporter cheats" : "★ Supporter cheats"`>><<goto "Supporter">><</link>>
<<if not setup.supporterOK()>><span class="sb-support-sub">Patreon · unlock cheats</span><</if>>
</div>
<</if>>
<p class="sb-settings">
<<link `$prefs.music ? "🔊 Music on" : "🔇 Music off"`>>
<<set $prefs.music to not $prefs.music>>
<<run setup.musicToggle()>>
<<run setTimeout(function () { UI.update(); }, 0)>>
<</link>>
<<if _live and setup.config.debug.cheats>> · <<link "⚙ Cheats">><<goto "Cheats">><</link>><</if>>
</p>
</div><<widget "img">>
<div class="img-frame">
<img @src="setup.img(_args[0])" @alt="_args[1]" @data-ph="_args[1]">
</div>
<</widget>>
<<widget "bedvid">>
<<if $cheatNoVideo>>
<div class="vid-off">clips hidden</div>
<<else>>
<<set _bfile to setup.bedClipUrl(_args[0], _args[1])>>
<<if _bfile>>
<div class="vid-frame">
<video @src="_bfile" playsinline loop autoplay preload="auto"></video>
</div>
<<else>>
<div class="bed-portrait"><<img `"girl_" + _args[0] + ".jpg"` `setup.characters[_args[0]].name`>></div>
<</if>>
<</if>>
<</widget>>
<<widget "bedcumvid">>
<<if $cheatNoVideo>>
<div class="vid-off">clips hidden</div>
<<else>>
<<set _cfile to setup.hisCumUrl(_args[0])>>
<<if _cfile>>
<div class="vid-frame">
<video @src="_cfile" playsinline loop autoplay preload="auto"></video>
</div>
<<else>>
<div class="bed-portrait"><<img `"girl_" + _args[0] + ".jpg"` `setup.characters[_args[0]].name`>></div>
<</if>>
<</if>>
<</widget>>
<<widget "jvid">>
<<if $cheatNoVideo>>
<div class="vid-off">clips hidden</div>
<<else>>
<<set _jf to setup.journeyUrl(_args[0])>>
<<if _jf>>
<div @class="'vid-frame' + (_args[1] ? ' vid-manual' : '')">
<<if _args[1]>>
<video @src="_jf" playsinline loop preload="metadata" data-manual="1"></video>
<<else>>
<video @src="_jf" playsinline loop autoplay preload="auto"></video>
<</if>>
</div>
<</if>>
<</if>>
<</widget>>
<<widget "vid">>
<<if $cheatNoVideo>>
<div class="vid-off">clips hidden</div>
<<else>>
<<set _tags to (_args[1] || "").split(",").filter(Boolean)>>
<<set _file to setup.resolveVideo(_args[0], _tags, _args[2], _args[3])>>
<<if _file>>
<div @class="'vid-frame' + (_args[4] ? ' vid-manual' : '')">
<<if _args[4]>>
<video @src="_file" playsinline loop preload="metadata" data-manual="1"></video>
<<else>>
<video @src="_file" playsinline loop autoplay preload="auto"></video>
<</if>>
</div>
<<else>>
<div class="vid-ph">[Video placeholder — <<print setup.characters[_args[0]].name>><<if _tags.length>> · <<print _tags.join(" · ")>><</if>>]</div>
<</if>>
<</if>>
<</widget>>
<<widget "clip">>
<<set _cf to setup.anyClip({ act: _args[0], place: _args[1], who: _args[2], seed: passage() + (_args[0] || "") })>>
<<if _cf>>
<div class="vid-frame vid-portrait vid-manual">
<video @src="_cf" playsinline loop preload="metadata" data-manual="1"></video>
</div>
<</if>>
<</widget>>
<<widget "herclip">>
<<set _cf to setup.anyClip({ from: "character", who: _args[0], act: _args[1], place: _args[2], slot: _args[3], seed: passage() + (_args[1] || "") })>>
<<if _cf>>
<div class="vid-frame vid-portrait vid-manual">
<video @src="_cf" playsinline loop preload="metadata" data-manual="1"></video>
</div>
<</if>>
<</widget>>
<<widget "music">>
<<run setup.playMusic(_args[0])>>
<</widget>>
<<widget "meter">>
<div @class="'meter meter-' + (_args[3] || '')">
<span class="meter-label"><<print _args[0]>></span>
<span class="meter-bar"><span class="meter-fill" @style="'width:' + Math.round(_args[1] / _args[2] * 100) + '%'"></span></span>
<span class="meter-val"><<print Math.round(_args[1])>></span>
</div>
<</widget>>
<<widget "traumarow">>
<<set _traClass to _args[1] >= 3 ? " trauma-crit" : _args[1] >= 2 ? " trauma-warn" : "">>
<div class="meter meter-tra">
<span class="meter-label"><<print _args[0]>></span>
<span @class="'meter-val' + _traClass"><<print setup.traumaPips(_args[1]) + " " + setup.traumaWord(_args[1])>></span>
</div>
<</widget>>
<<widget "cardtop">>
<<img _args[0] _args[1]>>
<div class="card-body">
<h3 class="card-title"><<print _args[1]>></h3>
<p class="card-status"><<print _args[2]>></p>
</div>
<</widget>>
<<widget "cardtext">>
<div class="card-body">
<h3 class="card-title"><<print _args[0]>></h3>
<p class="card-status"><<print _args[1]>></p>
</div>
<</widget>>
<<widget "gobeatblock">>
<<set _gwl to Array.isArray(_args[0]) ? _args[0] : (_args[0] ? [ _args[0] ] : [])>>
<<set _gsick to _gwl.find(function(w) { return setup.isBedbound(w); })>>
<<set _gcrit to not _gsick and _gwl.find(function(w) { return $girls[w].trauma >= setup.config.trauma.max; })>>
<<if _gsick>>
<span class="disabled">🔒 <<print setup.characters[_gsick].name.split(" ")[0]>> is sick</span>
<<elseif _gcrit>>
<span class="disabled">🔒 <<print setup.characters[_gcrit].name.split(" ")[0]>>'s trauma is critical</span>
<</if>>
<</widget>>
<<widget "gobeat">>
<<set _gwho to _args[0]>>
<<set _glabel to _args[1]>>
<<set _gid to _args[2]>>
<<set _gback to _args[3] or "Map">>
<<set _gwl to Array.isArray(_gwho) ? _gwho : (_gwho ? [ _gwho ] : [])>>
<<if _gwl.some(function(w) { return setup.isBedbound(w) || $girls[w].trauma >= setup.config.trauma.max; })>>
<<gobeatblock _gwho>>
<<else>>
<<capture _gid _gback>><<link _glabel>><<goto `setup.beatGo(_gid, _gback)`>><</link>><</capture>>
<</if>>
<</widget>>
<<widget "gobeatrun">>
<<set _gwho to _args[0]>>
<<set _glabel to _args[1]>>
<<set _gfn to _args[2]>>
<<set _gdest to _args[3]>>
<<set _gwl to Array.isArray(_gwho) ? _gwho : (_gwho ? [ _gwho ] : [])>>
<<if _gwl.some(function(w) { return setup.isBedbound(w) || $girls[w].trauma >= setup.config.trauma.max; })>>
<<gobeatblock _gwho>>
<<else>>
<<capture _gfn _gdest>><<link _glabel>><<run setup[_gfn]()>><<goto _gdest>><</link>><</capture>>
<</if>>
<</widget>>
<<widget "gotocard">>
<<set _gwho to _args[0]>>
<<set _glabel to _args[1]>>
<<set _gdest to _args[2]>>
<<set _gwl to Array.isArray(_gwho) ? _gwho : (_gwho ? [ _gwho ] : [])>>
<<if _gwl.some(function(w) { return setup.isBedbound(w) || $girls[w].trauma >= setup.config.trauma.max; })>>
<<gobeatblock _gwho>>
<<else>>
<<capture _gdest>><<link _glabel>><<goto _gdest>><</link>><</capture>>
<</if>>
<</widget>>
<<widget "carecard">>
<<set _ck to _args[0]>>
<<set _cw to setup.careAct(_ck).weight>>
<<set _cp to setup.previewCare($viewing, _ck)>>
<<set _cgo to _args[3]>>
<<set _clab to _args[2]>>
<<set _csick to _ck is "work" and setup.healthStatus($viewing) is "sick">>
<<set _cnight to _ck is "work" and setup.isNight()>>
<div @class="'card' + (_cp.done ? ' card-locked' : '')">
<div class="card-body">
<h3 class="card-title"><<print _args[1]>></h3>
<p class="card-status"><<print setup.careCostText(_ck)>></p>
</div>
<div class="card-actions">
<<if _cnight>>
<span class="disabled">🔒 Not at night</span>
<<elseif _csick>>
<span class="disabled">She's too weak for that</span>
<<elseif _cp.done>>
<span class="disabled">🔒 Already done today</span>
<<elseif setup.hasEnergy(_cw)>>
<<capture _cgo _clab>><<link _clab>><<goto _cgo>><</link>><</capture>>
<<else>>
<span class="disabled"><<print setup.tooTired(_cw)>></span>
<</if>>
<<if _args[4]>>
<<set _rlab to _args[4]>><<set _rgo to _args[5]>>
<<capture _rlab _rgo>><<link _rlab>><<goto _rgo>><</link>><</capture>>
<</if>>
</div>
</div>
<</widget>>
<<widget "girlcard">>
<<set _id to _args[0]>>
<<set _c to setup.characters[_id]>>
<<set _g to $girls[_id]>>
<div @class="'card girl-card status-' + _g.status + (_c.tier === 'lead' ? ' lead' : '')">
<<img `'girl_' + _id + '.jpg'` _c.name>>
<div class="card-body">
<h3 class="card-title"><<print _c.name>><<if _c.tier is "lead">> <span class="pip-lead">★</span><</if>></h3>
<p class="card-status"><<print _c.age>> · <<print _c.role>></p>
<<switch _g.status>>
<<case "missing">>
<p class="tag tag-missing">Still out there</p>
<<if $cheatShowAll>>
<div class="card-actions">
<<capture _id>><<link "Look">><<set $viewing to _id>><<goto "Person">><</link>><</capture>>
</div>
<</if>>
<<case "met">>
<p class="tag tag-met">Met — hasn't come in yet</p>
<<if $cheatShowAll>>
<div class="card-actions">
<<capture _id>><<link "Look">><<set $viewing to _id>><<goto "Person">><</link>><</capture>>
</div>
<</if>>
<<default>>
<<if _c.temperament>>
<p class="traits">
<<if _c.temperament>><span class="trait"><<print setup.resName(_c.temperament)>></span><</if>>
</p>
<</if>>
<<meter "Trust" _g.trust 100 "trust">>
<<meter "Health" _g.health 100 "hp">>
<<traumarow "Trauma" _g.trauma>>
<<set _hlab to setup.isBedbound(_id) ? "bedbound" : setup.isHurt(_id) ? "hurt" : "">>
<<if _g.job>><p class="card-job"><<print setup.jobs[_g.job].name>><<if _hlab>> · <<print _hlab>><</if>></p><<elseif _hlab>><p class="card-job"><<print _hlab is "bedbound" ? "In her tent" : "Hurt">></p><</if>>
<</switch>>
</div>
<<if _g.status is "camp" or _g.status is "settled">>
<div class="card-cover">
<<capture _id>><<link " ">><<set $viewing to _id>><<set $viewFrom to "Roster">><<goto "Person">><</link>><</capture>>
</div>
<</if>>
</div>
<</widget>>
<<widget "leadcard">>
<<set _lc to setup.characters[_args[0]]>>
<div class="card lead">
<<img `'girl_' + _args[0] + '.jpg'` _lc.name>>
<div class="card-body">
<h3 class="card-title"><<print _lc.name>> <span class="pip-lead">★</span></h3>
<p class="card-status"><<print _lc.age>> · <<print _lc.role>></p>
<p class="card-why"><<print _args[1]>></p>
</div>
</div>
<</widget>>
<<widget "peoplestrip">>
<<set _ids to _args[0]>>
<<set _scroll to _args[1]>>
<<set _dest to _args[2] || "Person">>
<<set _disabled to !!_args[3]>>
<<set _noNames to !!_args[4]>>
<div @class="'people-strip' + (_scroll ? ' people-strip-scroll' : '')">
<<if _ids.length is 0>>
<<if not _noNames>><p class="hint">Nobody here right now.</p><</if>>
<<else>>
<<for _i, _pid range _ids>>
<<capture _pid>>
<<set _pc to setup.characters[_pid]>>
<<if _disabled>>
<div class="people-chip people-chip-disabled">
<span class="chat-av"><<img `'girl_' + _pid + '.jpg'` _pc.name>></span>
<<if not _noNames>><span class="people-chip-name"><<print _pc.name.split(" ")[0]>></span><</if>>
</div>
<<else>>
<<set _chipLabel to '<span class="chat-av"><span class="img-frame"><img src="' +
setup.img('girl_' + _pid + '.jpg') + '" alt="' + _pc.name + '" data-ph="' + _pc.name +
'"></span></span>' + (_noNames ? '' : '<span class="people-chip-name">' + _pc.name.split(" ")[0] + '</span>')>>
<div class="people-chip">
<<link _chipLabel>><<set $viewing to _pid>><<if _dest is "Person">><<set $viewFrom to passage()>><</if>><<goto _dest>><</link>>
</div>
<</if>>
<</capture>>
<</for>>
<</if>>
</div>
<</widget>>
<<widget "changes">>
<<gain _args[0] setup.changesFor(_args[0])>>
<</widget>>
<<widget "reportrow">>
<<set _rid to _args[0]>>
<<set _rstat to setup.gainText(setup.changesFor(_rid), _rid)>>
<<if _rstat>>
<div class="report-line">
<div class="report-avatar"><<img `"girl_" + _rid + ".jpg"` setup.characters[_rid].name>></div>
<div class="report-text">
<p class="report-line-main">
<span class="report-line-name"><<print setup.characters[_rid].name.split(" ")[0]>></span>
<<if _rstat>><span @class="'report-line-stat ' + (setup.gainGood(setup.changesFor(_rid)) ? 'up' : 'down')"><<print _rstat>></span><</if>>
</p>
</div>
</div>
<</if>>
<</widget>>
<<widget "reportyou">>
<div class="report-line">
<div class="report-avatar report-avatar-you">👤</div>
<div class="report-text">
<p class="report-line-main">
<span class="report-line-name"><<print setup.pc()>></span>
<span class="report-line-stat up"><<print _args[0]>></span>
</p>
</div>
</div>
<</widget>>
<<widget "reportcamp">>
<<set _clabel to _args[0]>>
<<set _cstat to _args[1]>>
<div class="report-line">
<div class="report-avatar"><<img "loc_camp.jpg" "Camp">></div>
<div class="report-text">
<p class="report-line-main">
<span class="report-line-name"><<print _clabel>></span>
<span @class="'report-line-stat ' + (_args[2] || 'down')"><<print _cstat>></span>
</p>
</div>
</div>
<</widget>>
<<widget "say">>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _args[0] + ".jpg"` `setup.characters[_args[0]].name`>></div>
<div class="chat-bubble">
<span class="chat-name"><<print setup.characters[_args[0]].name.split(" ")[0]>></span>
<span class="chat-line"><<print _args[1]>></span>
</div>
</div>
<</widget>>
<<widget "yousay">>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name"><<print setup.pc()>></span>
<span class="chat-line"><<print _args[0]>></span>
</div>
</div>
<</widget>>
<<widget "problembeat">>
<<set _b to _args[0]>>
<<if _b.video>>
<<if _b.herclip>>
<<herclip _b.char _b.video>>
<<else>>
<<clip _b.video `_b.place or ""` `_b.who or ""`>>
<</if>>
<<elseif _b.who is "you">>
<<yousay _b.text>>
<<elseif _b.who>>
<<say _b.who _b.text>>
<<else>>
<p><<print _b.text>></p>
<</if>>
<</widget>>
<<widget "problemexchange">>
<<set _pr to _args[0]>>
<<set _pd to _args[1]>>
<<if _pr.exchange>>
<<for _eb range _pr.exchange(_pd)>>
<<problembeat _eb>>
<</for>>
<<else>>
<<if _pr.narration>><p><<print _pr.narration(_pd)>></p><</if>>
<<say _pd.jealous _pr.line(_pd)>>
<<if _pr.after>><p><<print _pr.after(_pd)>></p><</if>>
<</if>>
<</widget>>
<<widget "eventcheck">>
<<set _ec to setup.rollEvent(_args[0])>>
<<if _ec>>
<<set $pendingEvent to _ec>>
<<set $eventBack to _args[1] or "Camp">>
<<goto "CampEvent">>
<</if>>
<</widget>>
<<widget "gain">>
<<set _gtxt to setup.gainText(_args[1], _args[0])>>
<<if _gtxt>>
<p @class="'chat-gain ' + (setup.gainGood(_args[1]) ? 'up' : 'down')"><<print _gtxt>></p>
<</if>>
<</widget>>
<<widget "nightcall">>
<<if $where isnot "camp" and setup.isNight() and setup.locations[$where].canSleep>>
<div class="nightfall">
<p class="nightfall-t"><<print setup.label("island-beach", "nightTitle")>></p>
<p class="nightfall-s"><<print setup.label("island-beach", "nightText")>></p>
<div class="title-actions">
<<link `setup.label("island-beach", "sleepButton")`>>
<<run setup.sleepOnBeach()>>
<<if $endState>><<goto "Ending">><<else>><<goto "DayReport">><</if>>
<</link>>
</div>
</div>
<<elseif $where isnot "camp" and setup.isNight()>>
<div class="nightfall">
<p class="nightfall-t">It's already night.</p>
<p class="nightfall-s">There's nowhere out here to sleep.</p>
<div class="title-actions">
<<link "Head back to camp">>
<<run setup.goHomeFree()>>
<<goto "Camp">>
<</link>>
</div>
</div>
<</if>>
<</widget>>
<<widget "timecost">>
<<run setup.advanceTime(_args[0] || 1)>>
<<if $endState>><<goto "Ending">><</if>>
<</widget>>
<<widget "act">>
<<run setup.spendEnergy(_args[0])>>
<<timecost `setup.timeCost(_args[0])`>>
<</widget>>
<<widget "sleepgo">>
<<set _sob to setup.outburstCheck("sleep")>>
<<if _sob>>
<<goto `setup.outburstScene(_sob.key).passage`>>
<<else>>
<<run setup.sleepUntilMorning()>>
<<if $endState>><<goto "Ending">><<else>><<goto "DayReport">><</if>>
<</if>>
<</widget>>
<<widget "morning">>
<<if not $reportSeen and $lastDayLog and $lastDayLog.length and not $endState>>
<<goto "DayReport">>
<</if>>
<</widget>>
<<widget "encforce">>
<<set _id to _args[0]>>
<<set _c to setup.characters[_id]>>
<<yousay "I don't have time for you to think.">>
<p>You grab her arm and take her to camp.</p>
<p>Although she was happy to see the camp, she didn't like the way you treated her.</p>
<<run setup.forceHer(_id)>>
<p class="lede"><strong><<print _c.name>></strong> has now joined the camp.</p>
<div class="card-actions">
<<link "Back to camp">><<set _hs to setup.walkHome()>><<timecost _hs>><<goto "Camp">><</link>>
</div>
<</widget>>
<<widget "encmore">>
<<set _id to _args[0]>>
<<set _c to setup.characters[_id]>>
<<set _cond to setup.conditionOf(_id)>>
<<set _first to setup.rescuedCount() is 0>>
<<if _first>>
<<yousay "I have food and medicine too, at the camp.">>
<p>She seems happy hearing that.</p>
<<yousay "Let's go now before it gets dark.">>
<<else>>
<<yousay "There are other girls too.">>
<<say _id "Really? Are you telling the truth?">>
<<set _names to setup.girlsInCamp().map(function (g) { return setup.characters[g.id].name.split(" ")[0]; })>>
<<set _shown to _names.slice(0, 3)>>
<<set _list to _shown.length is 1 ? _shown[0] : _shown.slice(0, -1).join(", ") + " and " + _shown[_shown.length - 1]>>
<<if _names.length gt 3>><<set _list to _list + " and others">><</if>>
<<set _verb to _names.length is 1 ? "is" : "are">>
<<yousay `"Yes, " + _list + " " + _verb + " there."`>>
<p>She seems so happy listening to familiar names. She's totally convinced by you.</p>
<<if _cond.needs is "food">>
<<say _id "Do you have food too? I haven't eaten for days.">>
<<else>>
<<say _id "Do you have medicine? I'm hurt.">>
<</if>>
<<yousay "Yes, everything is available at camp. Let's go now before it gets dark.">>
<</if>>
<<set $girls[_id].status to "camp">>
<<run setup.stampCamp(_id)>>
<p class="lede"><strong><<print _c.name>></strong> has now joined the camp.</p>
<div class="card-actions">
<<link "Back to camp">><<set _hs to setup.walkHome()>><<timecost _hs>><<goto "Camp">><</link>>
</div>
<</widget>><<run setup.playMusic("encounter")>>
<h2>The flight</h2>
<p>The Kalliste Expedition took a long time to get in the air. A broadcaster, a research foundation, and a very large investment, all of it pointed at an island chain nobody had surveyed properly since the war.</p>
<p>One of the expedition's stated goals was to showcase women succeeding somewhere nobody expected them to. That made for a good documentary. A good documentary sells itself, and something that sells itself pulls in investors, so the grant came with one condition: crewed and staffed by women, end to end. Scientists, medics, divers, camera crew, cooks, fixers, flight deck. All of it.</p>
<p>Twenty women on the manifest and you. Their captain went down with dengue in a hotel in Balikpapan forty hours before departure. You were the only pilot on that airfield typed on the aircraft and willing to fly it. They signed you on the understanding that you'd be off the project by the end of the month.</p>
<p>The flight to Narsh was fourteen hours, to a remote camp on one of those islands. The expedition had arranged to land there and begin. You flew left seat. Nina Kovač flew right. She had already logged the weather and the fuel.</p>
<<link "Keep reading">><<goto "Intro_Cockpit">><</link>><<run setup.playMusic("encounter")>>
<h2>12 hours out</h2>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Captain. That forecast they handed us in Balikpapan is nine hours old, and it was wrong when they printed it.</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">What? That's why the weather's been acting strange. How did you know?</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">The cell they drew north of the chain isn't north of the chain. It's sitting on it.</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">Are you sure?</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Damn sure. We have two options: hold and burn fuel we don't have, or go round the east side, which adds ninety minutes.</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">East is the better call than sitting here burning fuel. Your decision?</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">Then we go east.</span>
</div>
</div>
<<link "Keep reading">><<goto "Intro_Crash">><</link>><<run setup.playMusic("encounter")>>
<h2>Then the left engine</h2>
<p>After a while the left engine started playing games. Riding through rough weather for hours might have done it. It didn't blow up. It surged, coughed, and slowly started losing oil pressure.</p>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Oil pressure left. Falling.</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">I see it.</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Fifteen. Ten. That's not the gauge, Captain. That's the engine.</span>
</div>
</div>
<p>You brought the left throttle back. It kept falling.</p>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">Shut it down. Feather it.</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Shutting down number one. Confirm number one.</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">Confirmed. Number one.</span>
</div>
</div>
<p>The right one took the full load. It ran for ninety seconds. Then it started doing exactly what the first one had done.</p>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Number two. Same signature.</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">Say again.</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">It's the same. Whatever ate the first one is in this one.</span>
</div>
</div>
<p>That was the moment the numbers stopped being a problem to solve and turned into a clock.</p>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">Nearest field?</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Narsh is the only open field, and since we deviated east, it's a long way off now.</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">Beach. Sandbar. Anything.</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Mangrove the whole way down. There is a beach, but it's too small and rarely visible.</span>
</div>
</div>
<p>There was complete silence for about three seconds. You could hear the airframe and nothing else.</p>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Captain. We have no options. We are going down. Pick where.</span>
</div>
</div>
<p>Out under the left wing the river delta came up out of the green. Brown, wide, running straight for about a mile before it broke apart into channels.</p>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">There. The river. That straight stretch.</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Say it properly.</span>
</div>
</div>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name">You</span>
<span class="chat-line">We are ditching. Call it.</span>
</div>
</div>
<p>She made the MAYDAY three times into an empty frequency. Position, souls on board, intentions. Nothing came back.</p>
<p>You came down the last thousand feet with the river filling the windscreen and Nina reading it to you a number at a time. Nose up. Wings dead level. Slowest you can hold her and still fly.</p>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Flap's full. Speed good. Two hundred feet. Wings level. Level. A hundred.</span>
</div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img "girl_nina.jpg" "Nina Kovač">></div>
<div class="chat-bubble">
<span class="chat-name">Nina</span>
<span class="chat-line">Fifty. Forty. Thirty. Hold the nose up. Hold it. <strong>Brace, brace, brace...</strong></span>
</div>
</div>
<p>You put it in the water. After that it starts coming apart into pieces. Cabin lights still on, underwater. Cold brown water climbing over the seat pans. And the voices of the girls in the passenger seats. Then Nina's hand flat on your chest, shoving you at the overwing exit.</p>
<p>Then the delta took you. Not the crash but the river. A whole rainy season of current, and you in it, going out and going down.</p>
<p class="lede">The last thing you are sure of is the sound of the aircraft behind you. Still full of people.</p>
<<link "Keep reading">><<goto "Intro_Alone">><</link>><<run setup.playMusic("jungle")>>
<h2>Somewhere downstream</h2>
<p>You come round face-down on a silt bank with your legs still in the water. No idea how long you've been there. Long enough to burn. Long enough for the tide to go out, come back, and leave a line of weed across your back.</p>
<p>No aircraft. No smoke. No wreckage but a seat cushion twenty metres up the bank. No marks in the silt except the ones you made crawling out of the river. You shout until your voice goes. Nothing answers that isn't a bird.</p>
<p>You are a long way from where you came down. Hours of current, in the dark, and the delta splits into a dozen channels before it reaches the sea. Twenty women went into that water in an aircraft that was still holding together when you left it.</p>
<p class="lede">They might all be alive. They might all be dead. The river split into a dozen channels below the crash site, so it's likely most of them are on their own too, same as you. There is one way to find out, and it is to go and look.</p>
<<link "So what now">><<goto "Intro_Name">><</link>><h2>One more thing</h2>
<p>You were a late addition and many of them might never have learned your name. You were the captain. That was enough.</p>
<p class="lede">"What should they call you, Captain?"</p>
<div class="name-entry">
<<textbox "$playerName" "" autofocus>>
<<link "That's me">>
<<set $playerName to setup.pc()>>
<<goto "Intro_Camp">>
<</link>>
</div>
<p class="hint">This is what the women will call you. Leave it blank and you stay "Captain".</p><<run setup.playMusic("camp")>>
<h2>Day one</h2>
<<img "loc_camp.jpg" "The camp on high ground above the delta">>
<p><<print setup.pc()>>, then.</p>
<p>It took you four days to walk the channels back up to the crash site. The tail section is stranded on a mudbank about a mile below where you put her down, tipped over, half full of river.</p>
<p>Empty. Seats up. Harnesses cut. Both overwing exits open and the raft gone from its stowage.</p>
<p>You stripped her of everything that would come loose: seat foam, cargo webbing, the galley water, a medical kit, a toolroll. Then you carried it up onto high ground above the delta, where the river can't reach it, and made a small place for you to stay. There's a firepit now. A rope line. One tent that keeps most of the rain off. It isn't a camp yet. It's the idea of one.</p>
<div class="title-actions">
<<link "Go to camp">><<goto "Camp">><</link>>
</div><<music "encounter">>
<div class="title-screen">
<<img "title.jpg" "THE HUNT">>
<h1>THE HUNT</h1>
<p class="content-note">This is an adult game. The story and everyone in it are completely fictional. By clicking the button below you agree that you are 18 or over, and that you are choosing to play it of your own free will.</p>
<div class="title-actions">
<<link "Let the adventure begin">><<run setup.newGame()>><<goto "Intro_Flight">><</link>>
<<link "Load a saved game">><<run UI.buildSaves()>><<run Dialog.open()>><</link>>
</div>
</div><h2>Cheats</h2>
<<if $cheatSaid>><div class="alert alert-capped"><<print $cheatSaid>></div><<set $cheatSaid to null>><</if>>
<<img "ui_supplies.jpg" "The store, counted">>
<p class="hint">Type what you want in the store and apply. Costs no time.</p>
<<set _m to $res.materials>><<set _f to $res.food>>
<<set _d to $res.medicine>>
<div class="cheat-block">
<div class="cheat-field"><label>🪵 Materials</label><<textbox "$cheatMaterials" _m>></div>
<div class="cheat-field"><label>🍖 Food</label><<textbox "$cheatFood" _f>></div>
<div class="cheat-field"><label>💊 Medicine</label><<textbox "$cheatMedicine" _d>></div>
<div class="cheat-row">
<<link "Apply">>
<<run setup.debug.setResource("materials", $cheatMaterials)>>
<<run setup.debug.setResource("food", $cheatFood)>>
<<run setup.debug.setResource("medicine", $cheatMedicine)>>
<<goto "Cheats">>
<</link>>
<<link "Back to camp">><<goto "Camp">><</link>>
</div>
</div>
<div class="cheat-block">
<h3>Checkpoint</h3>
<div class="cheat-row">
<<link "Jump in — 7 in camp">>
<<run setup.debug.checkpoint(7)>><<goto "Camp">>
<</link>>
<<link "12 in camp">>
<<run setup.debug.checkpoint(12)>><<goto "Camp">>
<</link>>
<<link "3 in camp">>
<<run setup.debug.checkpoint(3)>><<goto "Camp">>
<</link>>
</div>
</div>
<div class="cheat-block">
<h3>People</h3>
<div class="cheat-field">
<<checkbox "$cheatShowAll" false true autocheck>>
<label>Show every girl on the People screen</label>
</div>
</div>
<div class="cheat-block">
<h3>Weather</h3>
<p class="hint">Makes tonight's event the rain, ignoring the cooldown — still only hits whoever has no tent.</p>
<div class="cheat-row">
<<link "Force rain tonight">>
<<run setup.debug.forceRainTonight()>>
<<goto "Cheats">>
<</link>>
<<if $forceRain>><span class="hint">Armed — it'll rain when the day rolls over.</span><</if>>
</div>
</div>
<div class="cheat-block">
<h3>Wildlife</h3>
<p class="hint">Makes tonight's event the animal, ignoring the cooldown — frightens whoever has no tent.</p>
<div class="cheat-row">
<<link "Force animal tonight">>
<<run setup.debug.forceAnimalTonight()>>
<<goto "Cheats">>
<</link>>
<<if $forceAnimal>><span class="hint">Armed — it'll prowl when the day rolls over.</span><</if>>
</div>
</div>
<div class="cheat-block">
<h3>Recruit a specific woman</h3>
<p class="hint">Straight to camp at her own starting trust and full health — same as if you'd just found her. Nothing else is touched: flirt, chat and every gate start exactly where a fresh arrival's would.</p>
<div class="cheat-field">
<label>She</label>
<<listbox "$cheatRecruitId" autoselect>>
<<optionsfrom setup.debug.castNameMap()>>
<</listbox>>
</div>
<div class="cheat-row">
<<link "Recruit her">>
<<run setup.debug.recruitNow($cheatRecruitId)>>
<<goto "Camp">>
<</link>>
</div>
</div>
<div class="cheat-block">
<h3>Test a bed scene</h3>
<div class="cheat-row">
<<link "Jump straight into bed with Tessa">>
<<run setup.debug.recruitNow("tessa")>>
<<run setup.debug.catchUp("tessa")>>
<<if $camp.levels.quarters < 1>><<set $camp.levels.quarters to 1>><</if>>
<<if $camp.levels.tents < 1>><<set $camp.levels.tents to 1>><</if>>
<<run setup.bedStart("tessa", "Cheats")>>
<<goto "Bed">>
<</link>>
</div>
</div>
<div class="cheat-block">
<h3>Trust / Trauma / Health</h3>
<p class="hint">Fields are seeded from her live values, same as the store above. Setting one goes through the real adjust function as a delta, not a raw write — health crossing a floor still stands her down or ends her, exactly as it would in play.</p>
<div class="cheat-field">
<label>She</label>
<<listbox "$cheatStatId" autoselect>>
<<optionsfrom setup.debug.castNameMap()>>
<</listbox>>
</div>
<<if $cheatStatId and $girls[$cheatStatId]>>
<<set _cg to $girls[$cheatStatId]>>
<div class="cheat-field"><label>Trust</label><<textbox "$cheatTrust" _cg.trust>></div>
<div class="cheat-field"><label>Trauma (0–<<print setup.config.trauma.max>>)</label><<textbox "$cheatTrauma" _cg.trauma>></div>
<div class="cheat-field"><label>Health</label><<textbox "$cheatHealth" _cg.health>></div>
<div class="cheat-row">
<<link "Set">>
<<run setup.debug.setStats($cheatStatId, $cheatTrust, $cheatTrauma, $cheatHealth)>>
<<goto "Cheats">>
<</link>>
</div>
<p class="hint"><<print setup.characters[$cheatStatId].name>>: trust <<print Math.round(_cg.trust)>> · trauma <<print setup.traumaPips(_cg.trauma)>> <<print setup.traumaWord(_cg.trauma)>> · health <<print Math.round(_cg.health)>> · status <<print _cg.status>></p>
<</if>>
</div>
<div class="cheat-block">
<h3>In public</h3>
<div class="cheat-field">
<<checkbox "$cheatNoVideo" false true autocheck>>
<label>Hide every clip</label>
</div>
</div>
<div class="cheat-block">
<details class="cheat-fold">
<summary><h3>Camp events</h3><span class="cf-count"><<print setup.campEvents.length>></span></summary>
<<set _elive to setup.eventState().lastSlot is setup.slotStamp()>>
<<if _elive>>
<div class="cheat-row">
<<link "Let it roll again">><<run setup.debug.clearEventSlot()>><<goto "Cheats">><</link>>
</div>
<</if>>
<div class="cheat-events">
<<for _i, _ev range setup.campEvents>>
<<set _ekey to _ev.key>>
<<set _ecast to setup.debug.eventCast(_ekey)>>
<<set _eone to _ecast.id>>
<div @class="'cheat-event' + (_ecast.fits ? '' : ' cheat-event-off')">
<div class="ce-text">
<span class="ce-title"><<print _ev.title>></span>
<span class="ce-where"><<print _ev.needs>></span>
</div>
<div class="ce-go">
<<capture _ekey _eone>>
<<link `_ecast.fits ? "Play" : "Force"`>>
<<set $pendingEvent to { key: _ekey, id: _eone }>>
<<set $eventBack to "Cheats">>
<<goto "CampEvent">>
<</link>>
<</capture>>
</div>
</div>
<</for>>
</div>
</details>
</div>
<div class="cheat-block">
<details class="cheat-fold">
<summary><h3>Incidents</h3><span class="cf-count"><<print setup.incidents.length>></span></summary>
<div class="cheat-events">
<<for _i, _ic range setup.debug.incidentState()>>
<<set _ikey to _ic.key>>
<div @class="'cheat-event' + (_ic.fits ? '' : ' cheat-event-off')">
<div class="ce-text">
<span class="ce-title"><<print _ic.title>></span>
<span class="ce-where">
<<if _ic.armed>>waiting on the Camp screen
<<elseif _ic.onCooldown>>on cooldown until day <<print _ic.cooldownEnds>>
<<elseif _ic.done>>last played day <<print _ic.done>>
<<else>>never played<</if>>
</span>
</div>
<div class="ce-go">
<<capture _ikey>>
<<link `_ic.fits ? "Play" : "Force"`>>
<<if setup.debug.incidentNow(_ikey)>><<goto "Camp">><<else>><<set $cheatSaid to "Nothing happened: an incident needs at least two women in camp who are not sick.">><<goto "Cheats">><</if>>
<</link>>
<</capture>>
</div>
</div>
<</for>>
</div>
</details>
</div>
<div class="cheat-block">
<details class="cheat-fold">
<summary><h3>Outbursts</h3><span class="cf-count"><<print setup.outburstScenes.length>></span></summary>
<div class="cheat-events">
<<for _i, _os range setup.debug.outburstState()>>
<<set _okey to _os.key>>
<div @class="'cheat-event' + (_os.fits ? '' : ' cheat-event-off')">
<div class="ce-text">
<span class="ce-title"><<print _os.title>></span>
<span class="ce-where">
<<if _os.armed>>waiting on the Camp screen
<<elseif _os.due.length>>due for <<print _os.due.join(", ")>>
<<else>>nobody is at trauma level 3<</if>>
</span>
</div>
<div class="ce-go">
<<capture _okey>>
<<link `_os.fits ? "Play" : "Force"`>>
<<if setup.debug.outburstNow(_okey)>><<goto "Camp">><<else>><<set $cheatSaid to "Nothing happened: an outburst scene needs at least two women at camp who are not sick.">><<goto "Cheats">><</if>>
<</link>>
<</capture>>
</div>
</div>
<</for>>
</div>
</details>
</div>
<div class="cheat-block">
<details class="cheat-fold">
<summary><h3>Problems</h3><span class="cf-count"><<print Object.keys(setup.problems).length>></span></summary>
<div class="cheat-events">
<<for _i, _pr range setup.debug.problemState()>>
<<set _pkey to _pr.key>>
<div @class="'cheat-event' + (_pr.fits ? '' : ' cheat-event-off')">
<div class="ce-text">
<span class="ce-title"><<print _pr.title>></span>
<span class="ce-where">
<<if _pr.onCooldown>>on cooldown until day <<print _pr.cooldownEnds>>
<<elseif _pr.done>>last played day <<print _pr.done>>
<<else>>never played<</if>>
</span>
</div>
<div class="ce-go">
<<if _pr.onCooldown>>
<span class="disabled">On cooldown</span>
<<else>>
<<capture _pkey>>
<<link `_pr.fits ? "Play" : "Force"`>>
<<run setup.debug.problemNow(_pkey)>>
<<goto "Firepit">>
<</link>>
<</capture>>
<</if>>
</div>
</div>
<</for>>
</div>
</details>
</div>
<div class="cheat-block">
<details class="cheat-fold">
<summary><h3>Storyline</h3><span class="cf-count"><<print setup.storyline.length>></span></summary>
<<if setup.storyline.length is 0>>
<p class="cheat-now">No beats written yet.</p>
<</if>>
<<for _i, _sl range setup.debug.storyList()>>
<details class="cheat-fold cheat-subfold">
<summary>
<span class="ce-title"><<print _sl.title>></span>
<span class="cf-count"><<print _sl.done>>/<<print _sl.total>></span>
</summary>
<div class="cheat-events">
<<for _j, _sb range _sl.beats>>
<<set _sbid to _sb.id>>
<div @class="'cheat-event' + (_sb.state is 'ready' ? '' : ' cheat-event-off')">
<div class="ce-text">
<span class="ce-title"><<print _sb.title>></span>
<span class="ce-where"><<print _sb.state>></span>
</div>
<div class="ce-go">
<<capture _sbid>>
<<link "Play">><<goto `setup.debug.beatNow(_sbid)`>><</link>>
<</capture>>
</div>
</div>
<</for>>
</div>
</details>
<</for>>
</details>
</div>
<div class="cheat-block">
<details class="cheat-fold">
<summary><h3>Quests</h3><span class="cf-count"><<print Object.keys(setup.quests).length>></span></summary>
<<if Object.keys(setup.quests).length is 0>>
<p class="cheat-now">No quests written yet.</p>
<</if>>
<<for _i, _ql range setup.debug.questList()>>
<details class="cheat-fold cheat-subfold">
<summary>
<span class="ce-title"><<print _ql.title>></span>
<span class="cf-count"><<print _ql.done>>/<<print _ql.total>></span>
</summary>
<div class="cheat-events">
<<for _j, _qb range setup.quests[_ql.id].beats>>
<<set _qbid to _qb.id>>
<div @class="'cheat-event' + (setup.beatIsDone(_qbid) ? ' cheat-event-off' : '')">
<div class="ce-text">
<span class="ce-title"><<print _qb.title>></span>
<span class="ce-where"><<if setup.beatIsDone(_qbid)>>done<<else>>to play<</if>></span>
</div>
<div class="ce-go">
<<capture _qbid>>
<<link "Play">><<goto `setup.debug.beatNow(_qbid)`>><</link>>
<</capture>>
</div>
</div>
<</for>>
</div>
</details>
<</for>>
</details>
</div>
<div class="cheat-block">
<h3>One at a time</h3>
<<set _fs to setup.debug.findState()>>
<<if _fs.lastFoundOn is null>>
<p class="cheat-now"><strong>Open.</strong> Nobody has been found yet this run.</p>
<<elseif _fs.cooling>>
<p class="cheat-now"><strong>Closed.</strong> Somebody was found on day <<print _fs.lastFoundOn>> · nobody is findable for <<print _fs.daysLeft>> more day<<if _fs.daysLeft isnot 1>>s<</if>></p>
<<else>>
<p class="cheat-now"><strong>Open.</strong> Last find was day <<print _fs.lastFoundOn>>.</p>
<</if>>
</div>
<div class="cheat-block">
<h3>Leads</h3>
<<set _ls to setup.debug.leadState()>>
<p class="cheat-now"><strong><<print _ls.inCamp>> in camp</strong><<if _ls.metNotIn>> · <<print _ls.metNotIn>> found but not in camp<</if>><<if _ls.next>> · next is <<print setup.characters[_ls.next].name.split(" ")[0]>> at <<print _ls.nextAt>> in camp<<elseif _ls.moreLeads>> · that is every lead this version tells<<else>> · all five are in<</if>></p>
<p class="cheat-now">Version <<print setup.config.version.number>> · stops at <<print setup.characters[_ls.through].name.split(" ")[0]>> and <<print _ls.cap>> in camp<<if _ls.moreLeads>> · <<print _ls.moreLeads>> more lead<<if _ls.moreLeads > 1>>s<</if>> written and held back<</if>><<if _ls.capped>> · <strong>the island is shut</strong><</if>></p>
<<switch _ls.phase>>
<<case "none">>
<p class="cheat-now">No thread running.<<if _ls.next>> <<print _ls.nextAt - _ls.inCamp>> more in camp to open <<print setup.characters[_ls.next].name.split(" ")[0]>>'s.<</if>></p>
<<if _ls.next>>
<div class="cheat-row">
<<link "Open it now">><<run setup.debug.leadForceOpen()>><<goto "Cheats">><</link>>
</div>
<</if>>
<<case "quiet">>
<p class="cheat-now"><strong><<print setup.characters[_ls.id].name.split(" ")[0]>></strong> · quiet, day <<print _ls.day + 1>> of <<print _ls.of>> · nobody is findable anywhere</p>
<div class="cheat-row">
<<link "Skip to the word">><<run setup.debug.leadSkipQuiet()>><<goto "Cheats">><</link>>
</div>
<<case "word">>
<p class="cheat-now"><strong><<print setup.characters[_ls.id].name.split(" ")[0]>></strong> · the word is out — the card is on the camp screen now</p>
<div class="cheat-row">
<<link "Hear her out">><<goto `"LeadWord_" + _ls.id`>><</link>>
</div>
<<case "hunting">>
<p class="cheat-now"><strong><<print setup.characters[_ls.id].name.split(" ")[0]>></strong> · told · she is at the <<print setup.locations[_ls.zone].name.toLowerCase()>> and nothing else is findable until you go</p>
<</switch>>
<<if _ls.next or _ls.id>>
<div class="cheat-row">
<<link `"Go and meet " + setup.characters[_ls.id or _ls.next].name.split(" ")[0] + " now"`>>
<<run setup.debug.leadGoNow()>>
<<goto "LeadMeet">>
<</link>>
</div>
<</if>>
<div class="cheat-row">
<<for _li, _lp range setup.leadPlan()>>
<<capture _lp>>
<<if $girls[_lp.id].metOn isnot null>>
<<link `"Replay " + setup.characters[_lp.id].name.split(" ")[0] + "'s arrival"`>>
<<run setup.debug.leadReplay(_lp.id)>>
<<goto "Cheats">>
<</link>>
<</if>>
<</capture>>
<</for>>
</div>
</div>
<div class="cheat-block">
<h3>Jump to the end of v1.0.2</h3>
<p class="cheat-now">Everyone v1.0.2 tells is in camp with the trust they would have by now, tents for all, a small working camp, every beat and quest played. Only the swamp ending is left open. This overwrites the current run.</p>
<div class="cheat-row">
<<link "Jump to the end of v1.0.2">>
<<run setup.debug.jumpV102()>>
<<set $cheatSaid to "Jumped to the end of v1.0.2. The swamp ending is still waiting.">>
<<goto "Cheats">>
<</link>>
</div>
</div>
<div class="cheat-block">
<h3>Supporter menu</h3>
<<set _supOn to setup.supporterOK()>>
<p class="cheat-now"><strong><<if _supOn>>Tier <<print setup.supporterTier()>><<else>>Locked<</if>></strong> · codes are <code><<print setup.config.supporter.code>></code> / <code><<print setup.config.supporter.code2>></code> · steps <<print setup.config.supporter.step>> / <<print setup.config.supporter.bigStep>>, ceiling <<print setup.config.supporter.max>></p>
<div class="cheat-row">
<<link "Lock it (become a non-supporter)">>
<<run setup.debug.supporterSet(0)>><<goto "Cheats">>
<</link>>
<<link "Unlock tier 1 (skip the code)">>
<<run setup.debug.supporterSet(1)>><<goto "Cheats">>
<</link>>
<<link "Unlock tier 2 (skip the code)">>
<<run setup.debug.supporterSet(2)>><<goto "Cheats">>
<</link>>
</div>
</div>
<p class="cheat-now">In the store now: 🪵 <<print $res.materials>> · 🍖 <<print $res.food>> · 💊 <<print $res.medicine>></p><<set _ob to setup.outburstCheck()>>
<<if _ob>>
<<goto `setup.outburstScene(_ob.key).passage`>>
<<else>>
<<set _inc to setup.incidentCheck()>>
<<if _inc>><<goto `setup.incidentDef(_inc.key).passage`>><</if>>
<</if>>
<<morning>>
<<if $where isnot "camp">><<goto "Map">><</if>>
<<storycheck "Camp">>
<<eventcheck "camp" "Camp">>
<<run setup.playMusic(setup.zoneMusic("camp"))>>
<h2>Camp — Day <<print $day>>, <<print setup.timeLabel()>></h2>
<<img "loc_camp.jpg" "Firepit, lean-tos, a rope line strung between two trees">>
<<for _i, _sb range setup.storyCards()>>
<<beatcard _sb>>
<</for>>
<<run setup.leadThreadCheck()>>
<<if setup.leadWordWaiting()>>
<<set _lt to setup.leadTeller()>>
<div class="alert alert-lead">
<strong><<if _lt>><<print setup.characters[_lt].name.split(" ")[0]>> wants a word.<<else>>Somebody wants a word.<</if>></strong>
<div class="card-actions">
<<link "Hear her out">><<goto `"LeadWord_" + setup.leadThread().id`>><</link>>
</div>
</div>
<</if>>
<<if $lastHungry > 0>>
<div class="alert alert-hunger">
<strong><<if $lastHungry is 1>>Somebody went hungry last night.<<else>><<print $lastHungry>> people went hungry last night.<</if>></strong>
There wasn't enough food to go round.
</div>
<</if>>
<<if setup.sickInCamp().length>>
<div class="alert alert-hunger">
<strong><<print setup.sickInCamp().map(g => setup.characters[g.id].name.split(" ")[0]).join(", ")>>
<<if setup.sickInCamp().length is 1>>is<<else>>are<</if>> sick.</strong>
Not working, and getting worse every night <<if setup.sickInCamp().length is 1>>she is<<else>>they are<</if>> down there. Feed <<if setup.sickInCamp().length is 1>>her<<else>>them<</if>> and give <<if setup.sickInCamp().length is 1>>her<<else>>them<</if>> medicine.
</div>
<</if>>
<p><<print setup.rescuedCount()>> women in camp.</p>
<div class="card-grid">
<<if setup.rescuedCount()>>
<div class="card">
<<cardtop "act_people.jpg" "Around the Fire" `setup.isNight() ? "Empty — everyone's at their tents" : setup.isMorning() ? setup.rescuedCount() + " here" : setup.girlsInCamp().filter(function (g) { return !g.job; }).length + " here"`>>
<div class="card-actions"><<link "Take a look">><<goto "Firepit">><</link>></div>
</div>
<</if>>
<div class="card">
<<cardtop "act_map.jpg" "The Treeline" "Explore the island">>
<div class="card-actions"><<if setup.isMorning() and setup.rescuedCount()>><span class="disabled">Not yet — everyone's at the fire</span><<else>><<link "Head out">><<goto "MapMove">><</link>><</if>></div>
</div>
<div class="card">
<<cardtop "act_build.jpg" "Build" "See what you can build">>
<div class="card-actions"><<if setup.isMorning() and setup.rescuedCount()>><span class="disabled">Not yet — everyone's at the fire</span><<else>><<link "See what you can put up">><<goto "Build">><</link>><</if>></div>
</div>
<<if setup.rescuedCount()>>
<div class="card">
<<cardtop "act_jobs.jpg" "Assign Work" `setup.girlsInCamp().filter(g => g.job).length + " on jobs"`>>
<div class="card-actions"><<link "Say who does what">><<goto "Jobs">><</link>></div>
</div>
<</if>>
<<if $camp.levels.kitchen > 0>>
<div class="card">
<<cardtop setup.buildings.kitchen.image setup.buildings.kitchen.name `setup.isNight() ? "Empty — everyone's at their tents" : setup.isMorning() ? "Empty — everyone's around the fire" : setup.girlsInCamp().filter(function (g) { return g.job === "cook"; }).length + " here"`>>
<div class="card-actions"><<if setup.isMorning() and setup.rescuedCount()>><span class="disabled">Not yet — everyone's at the fire</span><<else>><<link "Look in">><<goto "Kitchen">><</link>><</if>></div>
</div>
<</if>>
<<if $camp.levels.infirmary > 0>>
<div class="card">
<<cardtop setup.buildings.infirmary.image setup.buildings.infirmary.name `setup.isNight() ? "Empty — everyone's at their tents" : setup.isMorning() ? "Empty — everyone's around the fire" : setup.girlsInCamp().filter(function (g) { return g.job === "medic"; }).length + " here"`>>
<div class="card-actions"><<if setup.isMorning() and setup.rescuedCount()>><span class="disabled">Not yet — everyone's at the fire</span><<else>><<link "Look in">><<goto "Infirmary">><</link>><</if>></div>
</div>
<</if>>
<div class="card">
<<set _pq to setup.hasPrivacy()>>
<<cardtop `_pq ? setup.buildings.quarters.image : "act_rest.jpg"` `_pq ? setup.buildings.quarters.name : "Your Tent"` `_pq ? "Rest, sleep and have fun with girls" : "Sleep, rest"`>>
<div class="card-actions"><<if setup.isMorning() and setup.rescuedCount()>><span class="disabled">Not yet — everyone's at the fire</span><<else>><<link "Turn in">><<goto "Quarters">><</link>><</if>></div>
</div>
<<if setup.rescuedCount()>>
<<set _bbCount to setup.girlsInCamp().filter(function (g) { return setup.isBedbound(g.id); }).length>>
<div class="card">
<<cardtop "loc_tents.jpg" "Tents" `setup.isNight() ? "The whole camp, asleep" : _bbCount ? _bbCount + " too weak to leave" : setup.isMorning() ? "Empty — everyone's around the fire" : "Empty — everyone's at work or the fire"`>>
<div class="card-actions"><<if setup.isMorning() and not _bbCount>><span class="disabled">Not yet — everyone's at the fire</span><<else>><<link "Look in">><<goto "Tents">><</link>><</if>></div>
</div>
<</if>>
</div><<morning>>
<h2>Tents</h2>
<<img "loc_tents.jpg" "Canvas and rope, and the whole camp asleep in it">>
<<if setup.isNight()>>
<p>Everyone's turned in for the night.</p>
<<peoplestrip `setup.girlsByTenure().slice(0, setup.campRooms()).map(function (g) { return g.id; })`>>
<<else>>
<<set _bedboundHere to setup.girlsInCamp().filter(function (g) { return setup.isBedbound(g.id); }).map(function (g) { return g.id; })>>
<<if _bedboundHere.length>>
<p>Mostly empty — everyone else is up and out.</p>
<<peoplestrip _bedboundHere>>
<<else>>
<p>Empty. Everyone's up and out.</p>
<<peoplestrip `[]`>>
<</if>>
<</if>>
<<link "Back to camp">><<goto "Camp">><</link>><<morning>>
<<run setup.problemCheck()>>
<h2>Around the Fire</h2>
<<img "act_people.jpg" "Whoever's got nowhere more specific to be">>
<<if $problem.pending>>
<<set _fireIds to setup.girlsByTenure().map(function (g) { return g.id; })>>
<<peoplestrip _fireIds false "Person" true true>>
<<elseif setup.isNight()>>
<<set _fireIds to setup.homelessNow().map(function (g) { return g.id; })>>
<<peoplestrip _fireIds false "" false true>>
<<elseif setup.isMorning()>>
<<set _fireIds to setup.girlsByTenure().filter(function (g) { return !setup.isBedbound(g.id); }).map(function (g) { return g.id; })>>
<<peoplestrip _fireIds false "" false true>>
<<else>>
<<set _fireIds to setup.girlsByTenure().filter(function (g) { return !g.job && !setup.isBedbound(g.id); }).map(function (g) { return g.id; })>>
<<peoplestrip _fireIds false "" false true>>
<</if>>
<<set _rb to setup.rescueReady()>>
<<if _rb and not $problem.pending>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Discuss rescue</h3></div>
<div class="card-actions"><<gobeat `setup.beat("rescue-01").cast` "Discuss" "rescue-01" "Firepit">></div>
</div>
</div>
<</if>>
<<if $problem.pending>>
<<set _prob to setup.problems[$problem.pending.key]>>
<<set _pdata to $problem.pending.data>>
<<set _pchoices to ($problem.pending.stage ? $problem.pending.stage.choices : _prob.choices)>>
<div class="alert alert-departure">
<<problemexchange _prob _pdata>>
<<if $problem.pending.stage>>
<<for _b range $problem.pending.stage.beats>>
<<problembeat _b>>
<</for>>
<</if>>
<div class="choices choices-stack">
<<for _i, _ch range _pchoices>>
<<capture _i _ch>>
<<link `typeof _ch.label === "function" ? _ch.label(_pdata) : _ch.label`>><<set $problemChoice to _i>><<goto "ProblemResolve">><</link>>
<</capture>>
<</for>>
</div>
</div>
<<else>>
<<if setup.isMorning()>>
<div><<link "Skip to midday">><<timecost `1 - $slot`>><<goto "Firepit">><</link>></div>
<</if>>
<div><<link "Back to camp">><<goto "Camp">><</link>></div>
<</if>><<set _prob to setup.problems[$problem.pending.key]>>
<<set _pdata to $problem.pending.data>>
<<set _peopleIds to _prob.people(_pdata)>>
<<set _beats to setup.problemResolve($problemChoice)>>
<h2>Around the Fire</h2>
<<problemexchange _prob _pdata>>
<<for _i, _b range _beats>>
<<problembeat _b>>
<</for>>
<<if $problem.pending>>
<div class="choices choices-stack">
<<for _i, _ch range $problem.pending.stage.choices>>
<<capture _i _ch>>
<<link `typeof _ch.label === "function" ? _ch.label(_pdata) : _ch.label`>><<set $problemChoice to _i>><<goto "ProblemResolve">><</link>>
<</capture>>
<</for>>
</div>
<<else>>
<<set _statPeople to _peopleIds.filter(function (pid) { return !!setup.gainText(setup.changesFor(pid), pid); })>>
<<if _statPeople.length>>
<div class="report-note">
<<for _i, _pid range _statPeople>>
<<reportrow _pid>>
<</for>>
</div>
<</if>>
<<link "Back">><<goto "Firepit">><</link>>
<</if>><<morning>>
<h2><<print setup.buildings.kitchen.name>></h2>
<<img setup.buildings.kitchen.image setup.buildings.kitchen.blurb>>
<p><<print setup.buildings.kitchen.blurb>></p>
<<if setup.isWorkingHours()>>
<<set _workingHere to setup.girlsInCamp().filter(function (g) { return g.job === "cook"; }).map(function (g) { return g.id; })>>
<<peoplestrip _workingHere true "WorkHelp">>
<<else>>
<p><<print setup.isMorning() ? "Empty. Everyone's still around the fire." : "Empty. Everyone's at their tents.">></p>
<<peoplestrip `[]` true>>
<</if>>
<<link "Back to camp">><<goto "Camp">><</link>><<morning>>
<h2><<print setup.buildings.infirmary.name>></h2>
<<img setup.buildings.infirmary.image setup.buildings.infirmary.blurb>>
<p><<print setup.buildings.infirmary.blurb>></p>
<<if setup.isWorkingHours()>>
<<set _workingHere to setup.girlsInCamp().filter(function (g) { return g.job === "medic"; }).map(function (g) { return g.id; })>>
<<peoplestrip _workingHere true "WorkHelp">>
<<else>>
<p><<print setup.isMorning() ? "Empty. Everyone's still around the fire." : "Empty. Everyone's at their tents.">></p>
<<peoplestrip `[]` true>>
<</if>>
<<link "Back to camp">><<goto "Camp">><</link>><<morning>>
<<run setup.playMusic(setup.zoneMusic($where))>>
<<set _here to setup.locations[$where]>>
<h2><<print _here.name>></h2>
<<img _here.image _here.name>>
<<set _night to $where isnot "camp" and setup.isNight()>>
<<nightcall>>
<<if not _night>>
<<if $where isnot "camp">>
<p class="zone-state"><<if $where isnot "beach">><span class="zone-danger"><<print setup.dangerLabel($where)>></span><</if>><<if setup.pickedOverLabel($where)>> · <<print setup.pickedOverLabel($where)>><</if>><<if _here.scoutBonus>> · You can see a long way from here<</if>></p>
<<set _isWorkZone to Object.keys(setup.jobs).some(function (jobId) { return setup.jobs[jobId].zone === $where; })>>
<<if _isWorkZone and setup.isWorkingHours()>>
<<set _workingHere to setup.girlsInCamp().filter(function (g) { return g.job && setup.jobs[g.job].zone === $where; }).map(function (g) { return g.id; })>>
<<if _workingHere.length>>
<<peoplestrip _workingHere true "WorkHelp">>
<</if>>
<</if>>
<div class="card-grid">
<<if not _here.noSearch>>
<div class="card">
<div class="card-body">
<h3 class="card-title"><<print _here.hunt || "Search for people">></h3>
<p class="card-status"><<print setup.costText("heavy")>></p>
<p class="card-gain"><<print Math.round(setup.findChance($where) * 100)>>% of finding someone</p>
</div>
<div class="card-actions">
<<if setup.hasEnergy("heavy")>>
<<link "Search">><<goto "Search">><</link>>
<<else>>
<span class="disabled"><<print setup.tooTired("heavy")>></span>
<</if>>
</div>
</div>
<</if>>
<<for _wi, _w range setup.locationWorks($where)>>
<<capture _wi _w>>
<div class="card">
<div class="card-body">
<h3 class="card-title"><<print _w.label>></h3>
<p class="card-status"><<print setup.costText("heavy")>></p>
<<if Object.keys(_w.yields).length>>
<p class="card-gain"><<print _w.note || Object.keys(_w.yields).join(", ")>></p>
<<else>>
<p class="card-gain">Nothing here worth carrying back.</p>
<</if>>
</div>
<div class="card-actions">
<<if Object.keys(_w.yields).length is 0>>
<span class="disabled">Nothing worth carrying back.</span>
<<elseif setup.hasEnergy("heavy")>>
<<link "Gather">><<set $gatherWork to _wi>><<goto "Gather">><</link>>
<<else>>
<span class="disabled"><<print setup.tooTired("heavy")>></span>
<</if>>
</div>
</div>
<</capture>>
<</for>>
</div>
<<if setup.eltReady() and $where is "crash_site">>
<<set _eltWho to setup.beatWho(setup.eltReady())>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Search for ELT</h3></div>
<div class="card-actions"><<gobeat _eltWho "Search" "elt-01" "Map">></div>
</div>
</div>
<</if>>
<<if setup.leadHunting() and $where is setup.leadZone()>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Investigate the plane</h3></div>
<div class="card-actions"><<link "Investigate">><<goto "LeadMeet">><</link>></div>
</div>
</div>
<</if>>
<<set _armedBeat to setup.storyArmed()>>
<<if _armedBeat and (_armedBeat.id is "fever-03" or _armedBeat.id is "fever-04") and $where is "swamp">>
<<capture _armedBeat>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Search for Moonleaf</h3></div>
<div class="card-actions"><<gobeat `setup.beatWho(_armedBeat)` "Search" `_armedBeat.id` "Map">></div>
</div>
</div>
<</capture>>
<</if>>
<<if _armedBeat and _armedBeat.id is "swamp-03" and $where is "swamp" and not setup.isNight()>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Gather moonleaf with Nina and Isha</h3></div>
<div class="card-actions"><<gobeat `["nina", "isha"]` "Go" "swamp-03" "Map">></div>
</div>
</div>
<</if>>
<<if _armedBeat and _armedBeat.id is "swamp-05" and $where is "dense_jungle" and not setup.isNight()>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Go to the open field</h3></div>
<div class="card-actions"><<gobeat "isha" "Go" "swamp-05" "Map">></div>
</div>
</div>
<</if>>
<<if setup.fieldGoToday() and $where is "dense_jungle" and not setup.isNight()>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Go to the open field</h3></div>
<div class="card-actions">
<<if setup.isBedbound("isha") or $girls.isha.trauma >= setup.config.trauma.max>>
<<gobeatblock "isha">>
<<else>>
<<link "Go">><<run setup.fieldReplayStart()>><<goto "StoryBeat">><</link>>
<</if>>
</div>
</div>
</div>
<</if>>
<<if _armedBeat and _armedBeat.id is "ridge-02" and $where is "ridge" and not setup.isNight()>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Explore ridge with Nina</h3></div>
<div class="card-actions"><<gobeat "nina" "Explore" "ridge-02" "Map">></div>
</div>
</div>
<<elseif setup.ridgeGoToday() and $where is "ridge" and not setup.isNight()>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Explore ridge with Nina</h3></div>
<div class="card-actions"><<gobeatrun "nina" "Explore" "ridgeReplayStart" "Story_Ridge_Trip">></div>
</div>
</div>
<</if>>
<<set _islandBeat to setup.questBeat("island")>>
<<if _islandBeat and _islandBeat.id is "island-01" and $where is "ridge" and not setup.isNight()>>
<div class="card-grid">
<div class="card card-blue">
<div class="card-body"><h3 class="card-title"><<print setup.label("island-01", "card")>></h3></div>
<div class="card-actions"><<gobeat `[]` `setup.label("island-01", "cardButton")` "island-01" "Map">></div>
</div>
</div>
<</if>>
<<if $where is "beach">>
<<set _raft to setup.raftState()>>
<<set _need to setup.raftNeeds()>>
<<if setup.raftKnown()>>
<p class="zone-state"><<print setup.label("island-beach", "raftStatus", { wood: _raft.wood, rope: _raft.rope, needWood: _need.wood, needRope: _need.rope })>></p>
<</if>>
<div class="card-grid">
<<if setup.raftCrossDue()>>
<div class="card card-blue">
<div class="card-body"><h3 class="card-title"><<print setup.label("way-to-island", "card")>></h3></div>
<div class="card-actions"><<link `setup.label("way-to-island", "cardButton")`>><<goto "Story_Island_Cross">><</link>></div>
</div>
<</if>>
<<if setup.miyuBeachDue()>>
<div class="card card-blue">
<div class="card-body"><h3 class="card-title"><<print setup.label("miyu-beach", "card")>></h3></div>
<div class="card-actions"><<gobeatrun "miyu" `setup.label("miyu-beach", "cardButton")` "miyuBeachStart" "Story_Beach_Morning">></div>
</div>
<</if>>
<<if _islandBeat and _islandBeat.id is "island-03" and not setup.isSlot("evening") and not setup.isNight()>>
<div class="card card-blue">
<div class="card-body"><h3 class="card-title"><<print setup.label("island-03", "card")>></h3></div>
<div class="card-actions"><<gobeat `[]` `setup.label("island-03", "cardButton")` "island-03" "Map">></div>
</div>
<</if>>
<<if _islandBeat and _islandBeat.id is "island-04" and not setup.isNight()>>
<div class="card card-blue">
<div class="card-body"><h3 class="card-title"><<print setup.label("island-04", "card")>></h3></div>
<div class="card-actions"><<gobeat `[]` `setup.label("island-04", "cardButton")` "island-04" "Map">></div>
</div>
<</if>>
<<if setup.raftKnown()>>
<div class="card">
<div class="card-body">
<h3 class="card-title"><<print setup.label("island-beach", setup.miyuHelps() ? "searchTitleMiyu" : "searchTitle")>></h3>
<p class="card-status"><<print setup.costText("heavy")>></p>
<p class="card-gain"><<print setup.label("island-beach", "searchNote")>></p>
</div>
<div class="card-actions">
<<if setup.hasEnergy("heavy")>>
<<link `setup.label("island-beach", "searchButton")`>><<goto "BeachSearch">><</link>>
<<else>>
<span class="disabled"><<print setup.tooTired("heavy")>></span>
<</if>>
</div>
</div>
<</if>>
<<if not setup.isNight()>>
<div class="card">
<<cardtext "Sleep until morning" "Wake up with full energy">>
<div class="card-actions">
<<link `setup.label("island-beach", "sleepButton")`>>
<<run setup.sleepOnBeach()>>
<<if $endState>><<goto "Ending">><<else>><<goto "DayReport">><</if>>
<</link>>
</div>
</div>
<</if>>
</div>
<</if>>
<</if>>
<div class="choices">
<<if $where is "river" and setup.locationUnlocked("beach")>>
<<link `setup.label("island-beach", "travel", { slots: setup.slotsText(setup.travelSlots("beach", "river")) })`>><<run setup.spendTravelEnergy()>><<set $where to "beach">><<timecost `setup.travelSlots("beach", "river")`>><<goto "Map">><</link>>
<</if>>
<<if _here.next and setup.locationUnlocked(_here.next)>>
<<set _nx to _here.next>>
<<capture _nx>><<link `"Travel to " + setup.locations[_nx].name`>><<run setup.spendTravelEnergy()>><<set $where to _nx>><<timecost `setup.travelSlots(_nx)`>><<goto "Map">><</link>><</capture>>
<</if>>
<<if _here.back and $where isnot "beach">>
<<set _bk to _here.back>>
<<capture _bk>><<link `$where is "beach" ? setup.label("island-beach", "back", { slots: setup.slotsText(setup.travelSlots(_bk, $where)) }) : "Back to " + setup.locations[_bk].name`>><<run setup.spendTravelEnergy()>><<set _bs to setup.travelSlots(_bk, $where)>><<set $where to _bk>><<timecost _bs>><<if _bk is "camp">><<goto "Camp">><<else>><<goto "Map">><</if>><</link>><</capture>>
<</if>>
</div>
<</if>><<set $workFrom to "Map">>
<<set _wid to $viewing>>
<<set _wc to setup.characters[_wid]>>
<<set _wg to $girls[_wid]>>
<<set _wjob to _wg.job ? setup.jobs[_wg.job] : null>>
<h2><<print _wc.name>></h2>
<<img `'girl_' + _wid + '.jpg'` _wc.name>>
<<set _wlabel to _wjob ? "Help her with " + _wjob.name.toLowerCase() : "Lend a hand">>
<<set _wcp to setup.previewCare(_wid, "work")>>
<div class="card-grid">
<<if setup.healthStatus(_wid) is "sick">>
<div class="card card-locked">
<div class="card-body">
<h3 class="card-title"><<print _wlabel>></h3>
<p class="card-status">She's too weak for that</p>
</div>
</div>
<<elseif setup.isNight()>>
<div class="card card-locked">
<div class="card-body">
<h3 class="card-title"><<print _wlabel>></h3>
<p class="card-status">🔒 Not at night</p>
</div>
</div>
<<elseif _wcp.done>>
<div class="card card-locked">
<div class="card-body">
<h3 class="card-title"><<print _wlabel>></h3>
<p class="card-status">🔒 Already done today</p>
</div>
</div>
<<elseif setup.hasEnergy(setup.careAct("work").weight)>>
<<set _wcardMarkup to '<span class="card-body"><h3 class="card-title">' + _wlabel +
'</h3><p class="card-status">' + setup.careCostText("work") + '</p></span>'>>
<div class="card card-button">
<<link _wcardMarkup>><<goto "ActWork">><</link>>
</div>
<<else>>
<div class="card card-locked">
<div class="card-body">
<h3 class="card-title"><<print _wlabel>></h3>
<p class="card-status"><<print setup.tooTired(setup.careAct("work").weight)>></p>
</div>
</div>
<</if>>
</div>
<<link "Back">><<goto "Map">><</link>><<morning>>
<<set _here to setup.locations[$where]>>
<h2>Move — <<print _here.name>></h2>
<div class="card-grid">
<<for _i, _exit range _here.exits>>
<<capture _exit>>
<<if setup.locationUnlocked(_exit)>>
<<set _dest to setup.locations[_exit]>>
<div class="card">
<<set _note to (not setup.versionFull()) and setup.leadHunting() and _exit is setup.leadZone() ? " · somebody was seen here" : "">>
<<cardtop _dest.image _dest.name `setup.slotsText(setup.travelSlots(_exit)) + " · " + setup.dangerLabel(_exit) + _note`>>
<div class="card-actions">
<<if setup.canTravel().ok>>
<<link "Travel">>
<<run setup.spendTravelEnergy()>>
<<set $where to _exit>>
<<timecost `setup.travelSlots(_exit)`>>
<<if _exit is "camp">><<goto "Camp">><<else>><<goto "Map">><</if>>
<</link>>
<</if>>
</div>
</div>
<</if>>
<</capture>>
<</for>>
</div>
<<link "Back">><<goto "Camp">><</link>><<set _wi to $gatherWork or 0>>
<<set _work to setup.locationWorks($where)[_wi]>>
<<set _got to setup.doGather($where, _wi)>>
<<timecost `setup.timeCost("heavy")`>>
<h2><<print _work.label>> — <<print setup.locations[$where].name>></h2>
<<img `_work.image || "act_gather.jpg"` `"Working the " + setup.locations[$where].name.toLowerCase()`>>
<<if Object.keys(_got).length>>
<p>You collected:</p>
<ul class="loot">
<<for _k, _n range _got>><li><<print _n>> <<print _k>></li><</for>>
</ul>
<<else>>
<p>Nothing worth the walk.</p>
<</if>>
<<link "Keep moving">><<goto "Map">><</link>><<set _out to setup.doSearch($where)>>
<<run setup.spendEnergy("heavy")>>
<<timecost `setup.timeCost("heavy")`>>
<<if $endState>><<goto "Ending">><</if>>
<<set _night to $where isnot "camp" and setup.isNight()>>
<<switch _out.result>>
<<case "found">>
<<set $viewing to _out.id>>
<<goto "Encounter">>
<<case "hazard">>
<h2>Bad ground</h2>
<p class="hazard-mark" aria-hidden="true">⚠</p>
<p>A piece of metal catches your foot.</p>
<p class="damage">−<<print _out.damage>> health.</p>
<<if not _night>>
<div class="choices">
<<link "Keep looking">><<goto "Map">><</link>>
<<link "Head back to camp">><<set _hs to setup.walkHome()>><<timecost _hs>><<goto "Camp">><</link>>
</div>
<</if>>
<<default>>
<h2>Nothing</h2>
<<img `setup.locations[$where].image` `"Searching the " + setup.locations[$where].name.toLowerCase()`>>
<p>You didn't find anyone.</p>
<<if not _night>>
<div class="choices">
<<if setup.hasEnergy("heavy")>>
<<link `"Search again (" + setup.costText("heavy") + ")"`>><<goto "Search">><</link>>
<<else>>
<span class="disabled"><<print setup.tooTired("heavy")>></span>
<</if>>
<<link "Move on">><<goto "Map">><</link>>
</div>
<</if>>
<</switch>>
<<nightcall>><<run setup.playMusic("encounter")>>
<<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<h2>You find someone</h2>
<<img `setup.findImage(_id, $where)` `"Someone in the " + setup.locations[$where].name.toLowerCase() + ", seen at a distance"`>>
<div class="who">
<<img `"girl_" + _id + ".jpg"` `_c.name`>>
<div class="who-text">
<h3 class="who-name"><<print _c.name>><<if _c.tier is "lead">> <span class="pip-lead">★</span><</if>></h3>
<p class="who-meta"><<print _c.age>> · <<print setup.resName(setup.mediaTagValue(_id, "ethnicity"))>> · <<print _c.role>></p>
<p class="who-bio">Sexual Temperament: <span @class="'temper temper-' + _c.temperament"><<print setup.resName(_c.temperament)>></span></p>
</div>
</div>
<div class="card-actions cta">
<<link "Talk to her">><<goto "EncounterTalk">><</link>>
</div><<run setup.playMusic("encounter")>>
<<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<h2>Talking to <<print _c.name.split(" ")[0]>></h2>
<div class="event-body">
<<yousay `"Hello, I'm " + setup.pc() + ". I was the captain of the plane."`>>
<<say _id `"My name is " + _c.name.split(" ")[0] + "."`>>
<<yousay "Are you alone, or have you found someone?">>
<<say _id "I'm all by myself.">>
<<yousay "I've made a small camp. Come with me.">>
<p>She thinks it over, deciding whether to trust you.</p>
</div>
<div id="enc-choice" class="choices choices-stack">
<<capture _id>>
<<link "Tell her more about the camp">>
<<replace "#enc-choice">><</replace>>
<<replace "#enc-outcome">><<encmore _id>><</replace>>
<</link>>
<<if setup.rescuedCount() is 0>>
<span class="disabled">Grab her arm and force her to camp</span>
<<else>>
<<link "Grab her arm and force her to camp">>
<<replace "#enc-choice">><</replace>>
<<replace "#enc-outcome">><<encforce _id>><</replace>>
<</link>>
<</if>>
<</capture>>
</div>
<div id="enc-outcome" class="event-body"></div><<morning>>
<<storycheck "Roster">>
<<eventcheck "roster" "Roster">>
<h2>People</h2>
<<set _roster to setup.campRoster($cheatShowAll)>>
<<set _allIds to _roster.leads.concat(_roster.others)>>
<<if $cheatShowAll>>
<div class="alert alert-capped">
<strong>Showing everyone.</strong>
This is the Cheats "show every girl" toggle — most of these are not in camp.
<<link "Turn it off">><<set $cheatShowAll to false>><<goto "Roster">><</link>>
</div>
<</if>>
<<if _allIds.length is 0>>
<p class="lede">Nobody here but you.</p>
<p class="hint">They're out there somewhere. Head out, pick a zone, and search it.</p>
<<else>>
<<if not $rosterSortBy or $rosterSortBy is "courage">><<set $rosterSortBy to "arrival">><</if>>
<<if not $rosterSortDir>><<set $rosterSortDir to "asc">><</if>>
<<set _sortOpts to { Arrival: "arrival", Trust: "trust", Trauma: "trauma", Health: "health", "Sexual Temperament": "temperament" }>>
<div class="sort-row">
<span class="sort-label">Sort by:</span>
<div id="roster-sort-by">
<<listbox "$rosterSortBy" autoselect>>
<<optionsfrom _sortOpts>>
<</listbox>>
</div>
<span class="sort-dir">
<<link `$rosterSortDir is "asc" ? "▲ Ascending" : "▼ Descending"`>>
<<set $rosterSortDir to $rosterSortDir is "asc" ? "desc" : "asc">>
<<goto "Roster">>
<</link>>
</span>
</div>
<<script>>
$("#roster-sort-by select").off("change.rosterSort").on("change.rosterSort", function () {
Engine.play("Roster");
});
<</script>>
<div class="card-grid">
<<for _i, _id range setup.sortRoster(_allIds, $rosterSortBy, $rosterSortDir)>><<girlcard _id>><</for>>
</div>
<</if>>
<<link "Back to camp">><<goto "Camp">><</link>><<morning>>
<<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<set _g to $girls[_id]>>
<<set _from to $viewFrom || "Roster">>
<<set _full to _from is "Roster">>
<h2><<print _c.name>></h2>
<<img `"girl_" + _id + ".jpg"` _c.name>>
<div class="person-head">
<p><<print _c.age>> · <<print setup.resName(setup.mediaTagValue(_id, "ethnicity"))>> · <<print _c.role>><<if _g.job>> · on <<print setup.jobs[_g.job].name>><</if>></p>
<p class="traits">
<<if _c.temperament>><span @class="'temper temper-' + _c.temperament"><<print setup.resName(_c.temperament)>></span><</if>>
<span @class="'hstatus hstatus-' + setup.healthStatus(_id)"><<print setup.healthStatusLabel(_id)>></span>
</p>
<<meter "Trust" _g.trust 100 "trust">>
<<meter "Health" _g.health 100 "hp">>
<<traumarow "Trauma" _g.trauma>>
<<if setup.isBedbound(_id)>>
<p class="hint hurt">She's too weak to leave her tent. Help her get better with available medicines.</p>
<<elseif setup.isHurt(_id)>>
<p class="hint hurt">She is unwell. She won't be able to do her job until she recovers.</p>
<</if>>
</div>
<<if _full>>
<<set _seen to setup.daysSinceSeen(_id)>>
<<set _fav to setup.positionName(setup.favouriteOf(_id))>>
<<set _knowsFav to setup.knowsFavourite(_id) and _fav>>
<<if _g.bedTimes or (_seen isnot null and _seen > 0) or _knowsFav>>
<details class="record">
<summary>Between you two</summary>
<<if _g.bedTimes>>
<p class="hint">You have fucked her <<print _g.bedTimes>> <<if _g.bedTimes is 1>>time<<else>>times<</if>>.</p>
<</if>>
<<if _knowsFav>>
<p class="hint">Her favourite: <<print _fav>>.</p>
<</if>>
<<if _seen isnot null and _seen > 0>>
<p class="hint">You last spent time with her <<print _seen>> <<if _seen is 1>>day<<else>>days<</if>> ago.</p>
<</if>>
</details>
<</if>>
<</if>>
<<if not _full>>
<<if setup.spentToday(_id)>>
<div class="alert alert-capped">
<strong>You've spent today with her.</strong>
Everything in the top half of this page is once a day, and you've used all of it. She'll still sit with you — come back in the morning.
</div>
<</if>>
<h3 class="sec-head">Spend time with her</h3>
<p class="sec-note">Builds trust. Each of these is <strong>once a day</strong>.</p>
<div class="card-grid">
<<set _tt to setup.tentTalkBeat(_id)>>
<<if _tt>>
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Talk</h3><<if _tt.talkNote>><p class="card-status"><<print _tt.talkNote>></p><</if>></div>
<div class="card-actions">
<<gobeat _id "Sit down with her" `_tt.id` "Person">>
</div>
</div>
<<elseif _id is "nina" and setup.ridgeUnlocked() and setup.isNight() and not setup.ridgeAgreedToday()>>
<<carecard "talk" "Talk" "Sit down with her" "ActTalk" "Ask her to goto ridge tomorrow" "ActRidgeAsk">>
<<else>>
<<carecard "talk" "Talk" "Sit down with her" "ActTalk">>
<</if>>
<<carecard "work" "Work alongside her" "Put your back into it" "ActWork">>
<<set _gdone to setup.careDoneToday(_id, "gift")>>
<<set _medCost to setup.config.careActions.giftMed.medicineCost>>
<<set _gkey to $res.medicine >= _medCost and $res.food <= 0 ? "giftMed" : "giftFood">>
<div @class="'card' + (_gdone ? ' card-locked' : '')">
<<cardtext "Bring her something" `setup.costText("light")`>>
<div class="card-actions">
<<if _gdone>>
<span class="disabled">🔒 Already done today</span>
<<elseif $res.food <= 0 and $res.medicine < _medCost>>
<span class="disabled">Nothing to spare.</span>
<<else>>
<<if $res.food > 0>>
<<link "Food">>
<<set $res.food-->>
<<set $giftKind to "giftFood">>
<<goto "ActGift">>
<</link>>
<</if>>
<<if $res.medicine >= _medCost>>
<<link "Medicine">>
<<set $res.medicine -= _medCost>>
<<set $giftKind to "giftMed">>
<<goto "ActGift">>
<</link>>
<</if>>
<</if>>
</div>
</div>
<<set _sdone to setup.careDoneToday(_id, "comfort")>>
<<set _stook to setup.comfortTakenTonight()>>
<<set _sblocked to _stook and _stook isnot _id>>
<div @class="'card' + (_sdone or _sblocked ? ' card-locked' : '') + (_g.trauma >= setup.config.trauma.highFrom ? ' card-golden' : '')">
<<cardtext "Sit with her tonight" "Reduces trauma">>
<div class="card-actions">
<<if _sdone>>
<span class="disabled">🔒 Already done today</span>
<<elseif _sblocked>>
<span class="disabled">🔒 One person a night.</span>
<<elseif not setup.isNight()>>
<span class="disabled">Not until nightfall.</span>
<<else>>
<<link "Stay a while">><<goto "ActComfort">><</link>>
<</if>>
</div>
</div>
</div>
<<if setup.intimacyOpen(_id)>>
<h3 class="sec-head">Intimacy</h3>
<div class="card-grid">
<<set _flirt to setup.canScene(_id, "flirt")>>
<<set _fdone to setup.careDoneToday(_id, "flirt")>>
<div @class="'card' + (_flirt.ok and not _fdone ? '' : ' card-locked')">
<<cardtext "Flirt" `setup.costText("light")`>>
<div class="card-actions">
<<if not _flirt.ok>>
<<set _fgate to setup.trustGate(_id, setup.config.trust.flirtGate)>>
<span class="disabled">🔒 <<print _g.trust < _fgate and setup.characters[_id].openTo.flirt ? "Needs trust " + _fgate : _flirt.why>></span>
<<elseif _fdone>>
<span class="disabled">🔒 Already done today</span>
<<elseif setup.hasEnergy("light")>>
<<link "Say it out loud">><<goto "ActFlirt">><</link>>
<<else>>
<span class="disabled"><<print setup.tooTired("light")>></span>
<</if>>
</div>
</div>
<<set _chat to setup.canChat(_id)>>
<<if _c.openTo.intimacy>>
<div @class="'card' + (_chat.ok ? '' : ' card-locked')">
<<cardtext "What she likes" `setup.costText("light")`>>
<div class="card-actions">
<<if _chat.ok>>
<<link "Talk to her">><<goto "Likes">><</link>>
<<else>>
<span class="disabled">🔒 <<print _chat.why>></span>
<</if>>
</div>
</div>
<</if>>
<<set _int to setup.canScene(_id, "intimacy")>>
<<set _fit to setup.bedReady()>>
<div @class="'card' + (_int.ok and _fit.ok ? '' : ' card-locked')">
<<cardtext "Take her to bed" `setup.slotsText(setup.config.player.bedSlots)`>>
<div class="card-actions">
<<if not _int.ok>>
<span class="disabled">🔒 <<print _int.why>></span>
<<elseif not _fit.ok>>
<span class="disabled">🔒 <<print _fit.why>></span>
<<else>>
<<link "Ask">><<set $askFrom to "Person">><<goto "AskBed">><</link>>
<</if>>
</div>
</div>
<<if setup.fieldAskReady(_id)>>
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Let's go to the field tomorrow</h3></div>
<div class="card-actions"><<link "Ask her">><<set $viewing to _id>><<goto "ActFieldAsk">><</link>></div>
</div>
<</if>>
</div>
<</if>>
<</if>>
<<if _full>>
<<link "Back to the roster">><<goto "Roster">><</link>>
<<else>>
<<link "Back">><<goto _from>><</link>>
<</if>><<run setup.playMusic(setup.zoneMusic("camp"))>>
<<set _id to $viewing>><<set _c to setup.characters[_id]>>
<<run setup.doCare(_id, "talk")>>
<<act "light">>
<h2>Talking</h2>
<<img `setup.sceneImage(_id, "talk")` `"Sitting with " + _c.name + " by the firepit"`>>
<p>You sit near <<print _c.name.split(" ")[0]>>. You guys talk about the flight, about her family, the smell of the swamp and what she'd do to a cold beer.</p>
<<if setup.gainText(setup.changesFor(_id), _id)>>
<div class="report-note">
<<reportrow _id>>
</div>
<</if>>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>><<run setup.playMusic(setup.zoneMusic("camp"))>>
<<set _id to $viewing>><<set _c to setup.characters[_id]>>
<<run setup.fieldAgree()>>
<h2>Talking</h2>
<div class="event-portrait"><<img `"girl_" + _id + ".jpg"` _c.name>></div>
<p>She agrees to go to the field tomorrow with you.</p>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>><<run setup.playMusic(setup.zoneMusic("camp"))>>
<<set _id to $viewing>><<set _c to setup.characters[_id]>>
<<run setup.ridgeAgree("you")>>
<h2>Talking</h2>
<<img `setup.sceneImage(_id, "talk")` `"Sitting with " + _c.name + " by the firepit"`>>
<p>She agrees to go to the ridge tomorrow with you.</p>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>><<set _id to $viewing>><<set _c to setup.characters[_id]>>
<<set _g to $girls[_id]>>
<<if setup.isNight()>>
<h2>Not now</h2>
<p class="lede">It's dark. Nobody's working at this hour.</p>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>>
<<elseif setup.healthStatus(_id) is "sick">>
<h2>Not like this</h2>
<p class="lede">She's too weak to be doing anything, let alone this.</p>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>>
<<else>>
<<run setup.playMusic(setup.zoneMusic("camp"))>>
<<set _job to _g.job ? setup.jobs[_g.job] : null>>
<<set _res to (_job and Object.keys(_job.output || {}).length) ? Object.keys(_job.output)[0]
: (_job and _job.campEffect and _job.campEffect.medicine) ? "medicine"
: "materials">>
<<set _mat to 2 + Math.floor(Math.random() * 3)>>
<<set $res[_res] to ($res[_res] || 0) + _mat>>
<<run setup.doCare(_id, "work")>>
<<run setup.spendEnergy(setup.careAct("work").weight)>><<timecost `setup.careSlots("work")`>>
<<set _place to _job ? (_job.zone ? setup.locations[_job.zone].name : _job.name) : "Camp">>
<<set _from to $workFrom || "Person">>
<<set $workFrom to null>>
<h2><<print _place>></h2>
<<if _from is "Map">>
<<img `"girl_" + _id + ".jpg"` _c.name>>
<<else>>
<<img "act_work.jpg" "Working alongside her">>
<</if>>
<<switch _g.job>>
<<case "fishing">>
<p>You wade the shallows with <<print _c.name.split(" ")[0]>>. You guys haul in fish, pull the lines and reset them.</p>
<<case "forage">>
<p>You pick through the underbrush with <<print _c.name.split(" ")[0]>>. You guys gather fruit, dig up roots and check what's edible.</p>
<<case "gather">>
<p>You work with <<print _c.name.split(" ")[0]>>. You guys lash frames, drag deadfall and tie off the knots.</p>
<<case "cook">>
<p>You cook with <<print _c.name.split(" ")[0]>>. You guys chop vegetables, stir the pot and keep the fire going.</p>
<<case "medic">>
<p>You sort supplies with <<print _c.name.split(" ")[0]>>. You guys restock bandages, count medicine and label the jars.</p>
<<default>>
<p>You work with <<print _c.name.split(" ")[0]>>. You guys get done what needs doing around camp.</p>
<</switch>>
<div class="report-note">
<<reportcamp "Camp" `"+" + _mat + " " + _res` "up">>
<<reportrow _id>>
</div>
<<link "Back">><<set $viewing to _id>><<goto _from>><</link>>
<</if>><<run setup.playMusic(setup.zoneMusic("camp"))>>
<<set _id to $viewing>><<set _c to setup.characters[_id]>>
<<set _gk to $giftKind or "giftFood">>
<<run setup.doCare(_id, _gk)>>
<<act "light">>
<h2>For her</h2>
<<img "act_gift.jpg" `"Handing something over to " + _c.name`>>
<<say _id "For me?">>
<<yousay "Yes, take it.">>
<<say _id `"Thank you so much, " + setup.pc() + "."`>>
<div class="report-note">
<<if setup.gainText(setup.changesFor(_id), _id)>>
<<reportrow _id>>
<</if>>
<<reportcamp "Camp" `_gk is "giftMed" ? "−" + setup.config.careActions.giftMed.medicineCost + " medicine" : "−1 food"`>>
</div>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>><<set _id to $viewing>><<set _c to setup.characters[_id]>><<set _g to $girls[_id]>>
<<if not setup.isNight()>>
<h2>Not yet</h2>
<p class="lede">It's <<print setup.timeLabel().toLowerCase()>>. Sitting up with somebody is a thing you do after dark.</p>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>>
<<else>>
<<run setup.doCare(_id, "comfort")>>
<<run setup.playMusic("camp")>>
<h2>Night watch</h2>
<<img `setup.sceneImage(_id, "night")` `"Sitting up with " + _c.name + " in the dark"`>>
<<if _g.trauma > 50>>
<p>She wakes badly, the way most of them do, and you're there before she's finished surfacing. You don't touch her. You say her name and the day and where she is, until she believes all three.</p>
<p>It takes an hour. You stay the hour.</p>
<<else>>
<p>Not much talking. The fire goes down to embers and the jungle does its enormous nightly racket and at some point she falls asleep sitting up against your shoulder, which she will absolutely deny in the morning.</p>
<</if>>
<<if setup.gainText(setup.changesFor(_id), _id)>>
<div class="report-note">
<<reportrow _id>>
</div>
<</if>>
<<link "Sleep">><<sleepgo>><</link>>
<</if>><<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<run setup.playMusic("camp")>>
<div class="chat-screen">
<div class="chat-head">
<div class="chat-who"><<img `"girl_" + _id + ".jpg"` _c.name>></div>
<div class="chat-who-text">
<h2><<print _c.name>></h2>
<p class="chat-progress"><<if setup.chatDone(_id)>>You know what she likes<<else>>Flirting<</if>></p>
</div>
</div>
<<if $flirtSaid>>
<div class="chat-body">
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-line"><<print $flirtSaid.say>></span></div>
</div>
<<for _i, _l range $flirtSaid.reply>>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-line"><<print _l>></span></div>
</div>
<</for>>
</div>
<div class="chat-close">
<<gain _id $flirtSaid>>
<div class="title-actions">
<<link "Back">><<set $flirtSaid to null>><<goto "Person">><</link>>
</div>
</div>
<<else>>
<div class="chat-choices">
<<for _i, _o range setup.flirtLines(_id)>>
<<capture _i>>
<<link `'<span class="chat-line">' + _o.say + '</span>'`>>
<<set $flirtSaid to setup.doFlirt(_id, _i)>>
<<act "light">>
<<goto "ActFlirt">>
<</link>>
<</capture>>
<</for>>
</div>
<</if>>
</div><<goto "Likes">><<set _lz to setup.leadZone()>>
<<if not _lz>>
<<goto "Camp">>
<<else>>
<<run setup.spendTravelEnergy()>>
<<set $where to _lz>>
<<timecost `setup.travelSlots(_lz)`>>
<<if $endState>><<goto "Ending">><<else>><<goto "LeadMeet">><</if>>
<</if>><<set _th to setup.leadThread()>>
<<if not _th>>
<<goto "Camp">>
<<else>>
<<set _id to _th.id>>
<<set _in to setup.leadIntroFor(_id)>>
<<run setup.playMusic("encounter")>>
<h2><<print setup.locations[$where].name>></h2>
<<img `setup.locations[$where].image` `setup.locations[$where].name`>>
<<if _id is "nina">>
<<set _t to setup.leadTeller()>>
<<set _tc to _t ? setup.characters[_t] : null>>
<<set _healthy to setup.girlsInCamp().filter(function (g) { return setup.healthStatus(g.id) is "healthy"; }).map(function (g) { return setup.characters[g.id].name.split(" ")[0]; })>>
<<set _with to _healthy.length is 0 ? "" : _healthy.length is 1 ? " with " + _healthy[0] : " with " + _healthy.slice(0, -1).join(", ") + " and " + _healthy[_healthy.length - 1]>>
<p>You went to the crash site<<print _with>>. You're trying to be as cautious as possible. As you reach the edge of the forest you can see the plane you crashed in, half filled with water. You wonder if there's really a girl in there — the plane's in no condition to live in. You're doubtful any animal could be either because it needs to go through the water to reach the plane.</p>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Girls, stay here. I'm going to check.</span></div>
</div>
<<if _tc>>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _t + ".jpg"` _tc.name>></div>
<div class="chat-bubble"><span class="chat-name"><<print _tc.name.split(" ")[0]>></span><span class="chat-line">Be careful, <<print setup.pc()>>. I'm scared.</span></div>
</div>
<p>You look at her.</p>
<</if>>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Don't worry, I'll be fine. And there's probably no animal in there anyway.</span></div>
</div>
<p>You move toward the split end of the plane, slow and careful, your wooden spear pointed ahead of you just in case.</p>
<p>Close to the water, you call out.</p>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Hello?</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Anybody there?</span></div>
</div>
<div class="title-actions">
<<link "And then">><<goto "LeadSee">><</link>>
</div>
<<else>>
<<for _i, _p range _in.arrive>><p><<print _p>></p><</for>>
<div class="title-actions">
<<link `_in.look`>><<goto "LeadSee">><</link>>
</div>
<</if>>
<</if>><<set _th to setup.leadThread()>>
<<if not _th>>
<<goto "Camp">>
<<else>>
<<set _id to _th.id>>
<<set _c to setup.characters[_id]>>
<<set _in to setup.leadIntroFor(_id)>>
<<run setup.playMusic("encounter")>>
<<run setup.leadMet(_id)>>
<div class="lead-reveal">
<h2 class="lead-title">Someone you know of</h2>
<div class="who lead-who">
<<img `"girl_" + _id + ".jpg"` `_c.name`>>
<div class="who-text">
<h3 class="who-name"><<print _c.name>> <span class="pip-lead">★</span></h3>
<p class="who-meta"><<print _c.age>> · <<print _c.role>></p>
<p class="traits">
<<if _c.temperament>><span class="trait"><<print setup.resName(_c.temperament)>></span><</if>>
</p>
</div>
</div>
<<if _id is "nina">>
<p>It's a face you know better than anyone's. Your co-pilot, the last person you remember from the crash, is standing in front of you. Happiness is all over her face, with a few tears in it.</p>
<div class="lead-talk">
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-name">Nina</span><span class="chat-line">Captain.</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Nina.</span></div>
</div>
<p>She jumps down into the water and comes running, and hugs you before you can say anything else. Still in your arms, eyes wet, smiling.</p>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-name">Nina</span><span class="chat-line">I thought I was going to die here. You can't imagine how scary it is, being alone out here.</span></div>
</div>
<p>Your own eyes go a little watery too. You put a hand in her hair.</p>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">It's fine now. You're not alone anymore.</span></div>
</div>
<p>You break the hug.</p>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">When did you get here? I checked a few days ago. There was nobody.</span></div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-name">Nina</span><span class="chat-line">I was deep in the forest. One night I nearly got attacked by a bear. That scared me enough that I went looking for the crash site the next day. Got here yesterday, praying somebody would come. Thank god you did.</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">The plane's full of water. How did you even sleep in there?</span></div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-name">Nina</span><span class="chat-line">I survived it. The forest was worse.</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">You won't have to be scared or alone anymore. You'll live with us.</span></div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-name">Nina</span><span class="chat-line">Us? You've found others too?</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Yeah. Some of them.</span></div>
</div>
<p>You point back toward the girls. Nina sees them and runs over, hugging each one.</p>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Girls, it's getting dark. Let's get back to camp.</span></div>
</div>
</div>
<p class="lede">Nina has now joined the camp.</p>
<div class="title-actions">
<<link "Get back to camp">><<set $viewing to _id>><<goto "LeadJoin">><</link>>
</div>
<<else>>
<<for _i, _p range _in.see>><p><<print _p>></p><</for>>
<div class="lead-talk">
<<for _i, _blk range _in.lines>>
<<if typeof _blk is "string">>
<p><<print _blk>></p>
<<elseif _blk.you>>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name"><<print setup.pc()>></span>
<span class="chat-line"><<print _blk.you>></span>
</div>
</div>
<<elseif _blk.her>>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble">
<span class="chat-name"><<print _c.name.split(" ")[0]>></span>
<span class="chat-line"><<print _blk.her>></span>
</div>
</div>
<</if>>
<</for>>
</div>
<div class="lead-talk">
<<for _i, _blk range _in.agree>>
<<if typeof _blk is "string">>
<p><<print _blk>></p>
<<elseif _blk.you>>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name"><<print setup.pc()>></span>
<span class="chat-line"><<print _blk.you>></span>
</div>
</div>
<<elseif _blk.her>>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble">
<span class="chat-name"><<print _c.name.split(" ")[0]>></span>
<span class="chat-line"><<print _blk.her>></span>
</div>
</div>
<</if>>
<</for>>
</div>
<div class="title-actions">
<<link "Walk back together">><<set $viewing to _id>><<goto "LeadJoin">><</link>>
</div>
<</if>>
</div>
<</if>><<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<run setup.leadJoin(_id)>>
<<run setup.playMusic("camp")>>
<<set _back to setup.walkHome()>>
<<timecost _back>>
<<if _id is "nina">>
<<run setup.advanceToNight()>>
<<if $endState>><<goto "Ending">><<else>><<goto "Camp">><</if>>
<<else>>
<h2>Back at camp</h2>
<<img "loc_camp.jpg" "Firepit, lean-tos, a rope line strung between two trees">>
<p><<print _c.name.split(" ")[0]>> walks into camp behind you and stops at the edge of the firelight to look at all of it before she comes any further in.</p>
<p>Whatever she is counting, she counts it twice.</p>
<p class="lede"><strong><<print _c.name>></strong> is in camp.</p>
<p class="hint">She's here — she isn't yours. Her trust starts where it starts, and everything after this is the ordinary work of days.</p>
<<if $endState>><<goto "Ending">><<else>>
<div class="title-actions">
<<link "Get on with it">><<goto "Camp">><</link>>
<<capture _id>><<link `"Sit with " + _c.name.split(" ")[0]`>><<set $viewing to _id>><<goto "Person">><</link>><</capture>>
</div>
<</if>>
<</if>><<set _t to setup.leadTeller()>><<set _tc to setup.characters[_t]>>
<<run setup.playMusic("camp")>>
<h2>What she saw</h2>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _t + ".jpg"` _tc.name>></div>
<div class="chat-bubble"><span class="chat-name"><<print _tc.name.split(" ")[0]>></span><span class="chat-line">I went back to the crash site today.</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Alone?</span></div>
</div>
<p>She bows her head, like she's guilty.</p>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _t + ".jpg"` _tc.name>></div>
<div class="chat-bubble"><span class="chat-name"><<print _tc.name.split(" ")[0]>></span><span class="chat-line">Yes.</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Didn't you think it was wise to tell me first?</span></div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _t + ".jpg"` _tc.name>></div>
<div class="chat-bubble"><span class="chat-name"><<print _tc.name.split(" ")[0]>></span><span class="chat-line">I'm sorry about that. But what I saw there, I thought I needed to tell you.</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Go on then. Tell me.</span></div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _t + ".jpg"` _tc.name>></div>
<div class="chat-bubble"><span class="chat-name"><<print _tc.name.split(" ")[0]>></span><span class="chat-line">Something's inside the plane. I don't know what it is. I heard a strange noise.</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Didn't you look inside? It could've been one of the girls.</span></div>
</div>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _t + ".jpg"` _tc.name>></div>
<div class="chat-bubble"><span class="chat-name"><<print _tc.name.split(" ")[0]>></span><span class="chat-line">No. I got scared. It could've been a bear, or worse, a tiger.</span></div>
</div>
<p>It could have been. A bear, a tiger, anything out there. Except you went out to the crash site yourself a few days back, and there was nobody in it. Could it really be a girl?</p>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _t + ".jpg"` _tc.name>></div>
<div class="chat-bubble"><span class="chat-name"><<print _tc.name.split(" ")[0]>></span><span class="chat-line"><<print setup.pc()>>, are you listening?</span></div>
</div>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-name"><<print setup.pc()>></span><span class="chat-line">Yeah, you did the right thing, not taking the risk. We'll be prepared first, then go look at the crash site.</span></div>
</div>
<p>You spend the rest of the day making sharp weapons from wood. It won't be much help against an actual tiger, but it'll give you something to fight with.</p>
<<run setup.leadTold()>>
<<link "End the conversation">><<goto "Camp">><</link>><<run setup.playMusic("camp")>>
<<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<set _g to $girls[_id]>>
<<set _first to _c.name.split(" ")[0]>>
<h2><<print _first>></h2>
<<img `setup.sceneImage(_id, "tease")` `_c.name + ", close"`>>
<<set _base to setup.canScene(_id, "tease")>>
<<if not _base.ok>>
<p class="lede"><<print _base.why>></p>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>>
<<else>>
<<set _prog to setup.teaseProgress(_id)>>
<p>She's close enough that neither of you is pretending this is a conversation any more.</p>
<p class="tease-run"><span class="tr-prog"><<print _prog.done>> of <<print _prog.total>></span></p>
<div class="card-grid">
<<for _i, _step range setup.teaseSteps>>
<<capture _step>>
<<set _can to setup.canTease(_id, _step.key)>>
<<set _done to setup.teaseDone(_id, _step.key)>>
<div @class="'card' + (_can.ok ? '' : ' card-locked')">
<<cardtext _step.label `setup.costText(_step.weight)`>>
<div class="card-actions">
<<if _can.today>>
<span class="disabled">🔒 Already done today</span>
<<elseif not _can.ok>>
<span class="disabled">🔒 <<print _can.why>></span>
<<elseif not setup.hasEnergy(_step.weight)>>
<span class="disabled"><<print setup.tooTired(_step.weight)>></span>
<<else>>
<<link `_done ? "Again" : _step.label`>>
<<set $teaseKey to _step.key>>
<<goto "TeaseStep">>
<</link>>
<</if>>
</div>
</div>
<</capture>>
<</for>>
</div>
<<link "Back">><<set $viewing to _id>><<goto "Person">><</link>>
<</if>><<run setup.playMusic("camp")>>
<<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<set _key to $teaseKey>>
<<set _step to setup.teaseStep(_key)>>
<<set _first to _c.name.split(" ")[0]>>
<<set _can to setup.canTease(_id, _key)>>
<<if not _can.ok>>
<h2>No</h2>
<p class="lede"><<print _can.why>></p>
<<link "Back">><<goto "Tease">><</link>>
<<else>>
<<set _out to setup.teaseTry(_id, _key)>>
<h2><<print _step.label>></h2>
<<vid _id `_step.mediaTags.join(",")` `setup.setFor(_id)` `_step.slot`>>
<<set _paras to setup.composeTease(_id, _key)>>
<<for _i, _p range _paras>><p><<print _p>></p><</for>>
<<if _key is "kiss">><<say _id "Right. That's that, then.">><</if>>
<<gain _id _out>>
<<act `_step.weight`>>
<<link "Back">><<goto "Tease">><</link>>
<</if>><<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<set _from to $askFrom or "Person">>
<<set $askFrom to null>>
<<run setup.playMusic("camp")>>
<<set _ask to setup.bedAsk(_id)>>
<<set _pq to setup.hasPrivacy()>>
<div class="chat-screen">
<div class="chat-head">
<div class="chat-who"><<img `"girl_" + _id + ".jpg"` _c.name>></div>
<div class="chat-who-text">
<h2><<print _c.name>></h2>
<p class="chat-progress">Sexual Temperament: <span @class="'temper temper-' + _c.temperament"><<print setup.resName(_c.temperament)>></span></p>
</div>
</div>
<div class="chat-body">
<<for _i, _m range _ask.lines>>
<<if _m.who is "you">>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-line"><<print _m.text>></span></div>
</div>
<<elseif _m.who is "her">>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-line"><<print _m.text>></span></div>
</div>
<<else>>
<p class="chat-note"><<print _m.text>></p>
<</if>>
<</for>>
</div>
<div class="chat-close">
<<if _ask.go>>
<<capture _from>>
<<link `_pq ? "Take her to your private quarter" : "Take her to your tent"`>>
<<run setup.bedStart(_id, _from)>>
<<goto "Bed">>
<</link>>
<</capture>>
<<else>>
<<capture _from>><<link "Back">><<goto _from>><</link>><</capture>>
<</if>>
</div>
</div><<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<run setup.playMusic("camp")>>
<div class="bed-screen">
<div class="bed-head">
<div class="alert-who bed-who">
<span class="chat-av"><<img `"girl_" + _id + ".jpg"` _c.name>></span>
<strong><<print _c.name>></strong> <span @class="'temper temper-' + _c.temperament"><<print setup.resName(_c.temperament)>></span>
</div>
<div id="bed-film"><<bedfilm>></div>
<div id="bed-bars"><<bedbars>></div>
<div id="bed-pop" class="bed-pop-layer"><<bedpop>></div>
</div>
<div class="bed-body">
<div id="bed-choices"><<bedchoices>></div>
</div>
</div><<widget "bedfilm">>
<<set _b to $bed>>
<<if _b.ended>>
<div class="bed-portrait"><<img `"girl_" + _b.id + ".jpg"` `setup.characters[_b.id].name`>></div>
<<elseif _b.justCame and setup.fuckUnlocked(_b.id)>>
<<bedcumvid _b.id>>
<<elseif _b.act>>
<<bedvid _b.id _b.act>>
<<else>>
<<bedvid _b.id "intro">>
<</if>>
<</widget>>
<<widget "bedbars">>
<<set _b to $bed>>
<<if _b.ended>>
<<else>>
<div class="bed-bars">
<<meter `setup.characters[_b.id].name.split(" ")[0]` _b.her 100 "hers">>
<<meter "You" _b.him 100 "his">>
<<meter "Energy" $energy 100 "en">>
</div>
<p class="bed-count"><<print setup.characters[_b.id].name.split(" ")[0]>> 💦×<<print _b.herComes>> · You 💦×<<print _b.hisComes>></p>
<</if>>
<</widget>>
<<widget "bedpop">>
<<set _b to $bed>>
<<if _b.herPop>>
<div class="bed-pop bed-pop-her"><span class="bed-pop-txt"><<print setup.characters[_b.id].name.split(" ")[0]>> cums</span><span class="bed-pop-icon">💦</span></div>
<<set _b.herPop to false>>
<</if>>
<<if _b.hisPop>>
<div class="bed-pop bed-pop-him"><span class="bed-pop-txt">You cum</span><span class="bed-pop-icon">💦</span></div>
<<set _b.hisPop to false>>
<</if>>
<</widget>>
<<widget "bedchoices">>
<<set _b to $bed>>
<<set _id to _b.id>>
<<if _b.ended>>
<<bedreport>>
<<elseif _b.justCame>>
<div class="card-actions bed-dials">
<<set _ready to setup.bedReady()>>
<<if _ready.ok>>
<<link "1 more round">><<run setup.bedResume()>><<bedstep>><</link>>
<<else>>
<span class="act-btn locked">
<span class="ab-name">1 more round</span>
<span class="ab-why"><<print _ready.why>></span>
</span>
<</if>>
<<link "Finish sex">><<run setup.bedStop("you")>><<bedstep>><</link>>
</div>
<<else>>
<<set _ready to setup.bedReady()>>
<<if _ready.ok>>
<div class="act-grid">
<<for _i, _a range setup.sexActs>>
<<capture _a>>
<<if setup.hasAct(_id, _a.key)>>
<<set _can to setup.canAct(_id, _a.key)>>
<<set _g to setup.gainBars(_id, _a.key)>>
<<if _can.ok>>
<<link `'<span class="ab-name">' + _a.label + (setup.isFirst(_id, _a.key) ? ' <span class="ab-first">✦</span>' : '') + (setup.isFavourite(_id, _a.key) and setup.knowsFavourite(_id) ? ' <span class="ab-star">★</span>' : '') + '</span><span class="ab-gain"><i class="ab-her" style="width:' + (_g.her * 20) + '%"></i><i class="ab-him" style="width:' + (_g.him * 20) + '%"></i></span>'`>>
<<run setup.bedDo(_a.key)>><<bedstep>>
<</link>>
<<else>>
<span class="act-btn locked">
<span class="ab-name"><<print _a.label>></span>
<span class="ab-why"><<print _can.why>></span>
</span>
<</if>>
<</if>>
<</capture>>
<</for>>
</div>
<<else>>
<p class="hint"><<print _ready.why>></p>
<</if>>
<div class="bed-dials">
<<link "Finish sex">><<run setup.bedStop("you")>><<bedstep>><</link>>
</div>
<</if>>
<</widget>>
<<widget "bedreport">>
<<set _b to $bed>>
<<set _id to _b.id>>
<h3>Sex summary</h3>
<p class="bed-count"><<print setup.characters[_id].name.split(" ")[0]>> 💦×<<print _b.herComes>> · You 💦×<<print _b.hisComes>></p>
<<changes _id>>
<<set _back to _b.from or "Person">>
<<capture _back _id>>
<<link `_back is "Quarters" ? "Get up" : "Back"`>>
<<run $bed = null>>
<<set $viewing to _id>>
<<timecost `setup.config.player.bedSlots`>>
<<goto _back>>
<</link>>
<</capture>>
<</widget>>
<<widget "bedstep">>
<<run setup.bedFilmHold()>>
<<replace "#bed-film">><<bedfilm>><</replace>>
<<replace "#bed-bars">><<bedbars>><</replace>>
<<replace "#bed-pop">><<bedpop>><</replace>>
<<replace "#bed-choices">><<bedchoices>><</replace>>
<</widget>><<set _e to $pendingEvent>>
<<if not _e or not setup.campEvent(_e.key)>>
<<goto `$eventBack or "Camp"`>>
<<else>>
<<set _ev to setup.campEvent(_e.key)>>
<<set _id to _e.id>>
<<set _c to setup.characters[_id]>>
<<set _name to _c.name.split(" ")[0]>>
<<set _oid to setup.eventOther(_e.key, _id)>>
<<set _oc to _oid ? setup.characters[_oid] : null>>
<<run setup.fireEvent(_e.key, _id)>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2><<print _ev.title>></h2>
<div @class="'event-portrait' + (_oc ? ' two' : '')">
<<img `"girl_" + _id + ".jpg"` _c.name>>
<<if _oc>><<img `"girl_" + _oid + ".jpg"` _oc.name>><</if>>
</div>
<div class="event-body">
<<for _i, _blk range setup.eventLines(_e.key, _id)>>
<<if typeof _blk is "string">>
<p><<print _blk>></p>
<<elseif _blk.clip>>
<<set _ec to setup.eventClipAt(_id, _blk.clip)>>
<<if _ec>>
<div class="event-clip"><<vid _id "" `_ec.set` `_ec.slot` true>></div>
<</if>>
<<elseif _blk.you>>
<div class="chat chat-you">
<div class="chat-bubble">
<span class="chat-name"><<print setup.pc()>></span>
<span class="chat-line"><<print _blk.you>></span>
</div>
</div>
<<elseif _blk.other and _oc>>
<div class="chat chat-her chat-other">
<div class="chat-av"><<img `"girl_" + _oid + ".jpg"` `_oc.name`>></div>
<div class="chat-bubble">
<span class="chat-name"><<print _oc.name.split(" ")[0]>></span>
<span class="chat-line"><<print _blk.other>></span>
</div>
</div>
<<elseif _blk.her>>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble">
<span class="chat-name"><<print _name>></span>
<span class="chat-line"><<print _blk.her>></span>
</div>
</div>
<</if>>
<</for>>
</div>
<<changes _id>>
<div class="title-actions">
<<link "Go on">>
<<set $pendingEvent to null>>
<<goto `$eventBack or "Camp"`>>
<</link>>
</div>
</div>
<</if>><<morning>>
<h2>Build</h2>
<p class="build-store">🪵 Materials <strong><<print $res.materials>></strong> · 💊 Medicine <strong><<print $res.medicine>></strong></p>
<p class="hint">Tents <<print setup.campRooms()>> for <<print setup.rescuedCount()>> people</p>
<div class="card-grid">
<<for _i, _bid range setup.buildOrder>>
<<capture _bid>>
<<set _b to setup.buildings[_bid]>>
<<set _lvl to $camp.levels[_bid]>>
<<set _can to setup.canBuild(_bid)>>
<<set _cost to setup.buildCost(_bid)>>
<<set _costStr to Object.keys(_cost).map(k => _cost[k] + " " + k).join(", ")>>
<<set _gain to _b.stats ? _b.stats(_lvl) : "">>
<div @class="'card' + (_can.locked ? ' is-locked' : '')">
<div class="card-body">
<h3 class="card-title"><<print setup.buildLabel(_bid)>></h3>
<p class="card-status"><<print _b.blurb>></p>
<<if _gain>><p class="card-gain"><<print _gain>></p><</if>>
</div>
<div class="card-actions">
<<if _can.locked>>
<p class="card-lock"><span class="lock-glyph">🔒</span> <span>N/A for this version.</span></p>
<<elseif _can.maxed>>
<span class="disabled"><<print _b.maxedText or "Maxed out for this version.">></span>
<<elseif not setup.hasEnergy("heavy")>>
<span class="disabled"><<print setup.tooTired("heavy")>></span>
<<elseif _can.ok>>
<<link `setup.buildVerb(_bid) + " — " + _costStr + " — " + setup.costText("heavy")`>>
<<set _c2 to setup.buildCost(_bid)>>
<<run Object.keys(_c2).forEach(k => { State.variables.res[k] -= _c2[k]; })>>
<<set $camp.levels[_bid]++>>
<<if _bid is "quarters" and _lvl is 0>>
<<set $camp.levels.tents++>>
<</if>>
<<run setup.logEvent("camp", "Built " + setup.buildings[_bid].name + ".")>>
<<act "heavy">>
<<goto "Build">>
<</link>>
<<else>>
<span class="disabled"><<print _can.why>> <<print _costStr>></span>
<</if>>
</div>
</div>
<</capture>>
<</for>>
</div>
<<link "Back to camp">><<goto "Camp">><</link>><<morning>>
<h2>Work Roster</h2>
<p>Assign girls to tasks they are good at for maximum productivity. ✦ means she's good at it.</p>
<<if setup.girlsInCamp().length is 0>>
<p class="hint">Nobody's in camp yet.</p>
<</if>>
<div class="card-grid">
<<for _i, _gg range setup.girlsInCamp()>>
<<capture _gg>>
<<set _c to setup.characters[_gg.id]>>
<div class="card">
<<cardtop `"girl_" + _gg.id + ".jpg"` _c.name `_c.role + " · " + (_gg.job ? setup.jobs[_gg.job].name : "unassigned")`>>
<<if _gg.health < setup.config.injury.hurtBelow>>
<p class="hint hurt"><<if setup.isBedbound(_gg.id)>>Confined to her tent. She can't take any work like this.<<else>>Too hurt to work right now.<</if>></p>
<<else>>
<div class="card-actions">
<<for _j, _jid range setup.jobOrder>>
<<capture _jid>>
<<set _job to setup.jobs[_jid]>>
<<if _gg.job isnot _jid and not (_job.requiresBuilding and setup.buildings[_job.requiresBuilding].locked)>>
<<if !_job.requiresBuilding or $camp.levels[_job.requiresBuilding] > 0>>
<<link `_job.name + (setup.aptitude(_gg.id, _jid) >= 1.15 ? " ✦" : setup.aptitude(_gg.id, _jid) <= 0.85 ? " ▾" : "")`>>
<<set $girls[_gg.id].job to _jid>>
<<goto "Jobs">>
<</link>>
<<else>>
<span class="disabled"><<print _job.name>> — needs the <<print setup.buildings[_job.requiresBuilding].name>></span>
<</if>>
<</if>>
<</capture>>
<</for>>
<<if _gg.job>>
<<link "Stand her down">><<set $girls[_gg.id].job to null>><<goto "Jobs">><</link>>
<</if>>
</div>
<</if>>
</div>
<</capture>>
<</for>>
</div>
<<link "Back to camp">><<goto "Camp">><</link>><<set _id to $viewing>>
<<set _c to setup.characters[_id]>>
<<set _st to setup.chatState(_id)>>
<<set _p to setup.chatProgress(_id)>>
<<if not setup.chatTalkedToday(_id)>><<run setup.chatBegin(_id)>><</if>>
<<run setup.playMusic("camp")>>
<div class="chat-screen">
<div class="chat-head">
<div class="chat-who"><<img `"girl_" + _id + ".jpg"` _c.name>></div>
<div class="chat-who-text">
<h2><<print _c.name>></h2>
<p class="chat-progress">Sexual Temperament: <span @class="'temper temper-' + _c.temperament"><<print setup.resName(_c.temperament)>></span></p>
</div>
</div>
<div class="chat-body">
<<for _i, _m range setup.chatLog(_id)>>
<<if _m.who is "you">>
<div class="chat chat-you">
<div class="chat-bubble"><span class="chat-line"><<print _m.text>></span></div>
</div>
<<elseif _m.who is "her">>
<div class="chat chat-her">
<div class="chat-av"><<img `"girl_" + _id + ".jpg"` `_c.name`>></div>
<div class="chat-bubble"><span class="chat-line"><<print _m.text>></span></div>
</div>
<<elseif _m.who is "gain">>
<p @class="'chat-gain ' + (_m.value > 0 ? 'up' : 'down')"><<if _m.value > 0>>+<</if>><<print _m.value>> trust</p>
<<else>>
<p class="chat-note"><<print _m.text>></p>
<</if>>
<</for>>
</div>
<<set _opts to setup.chatOptions(_id)>>
<<if _opts.length>>
<div class="chat-choices">
<<for _i, _o range _opts>>
<<capture _i>>
<<link `'<span class="chat-line">' + _o.say + '</span>'`>>
<<run setup.chatPick(_id, _i)>>
<<goto "Likes">>
<</link>>
<</capture>>
<</for>>
</div>
<</if>>
<<if _st.over>>
<div class="chat-close">
<<if _st.over is "done">>
<p class="unlocked"><<print _c.name>>'s favourite position unlocked: <strong><<print setup.positionName(setup.favouriteOf(_id))>></strong></p>
<</if>>
<div class="title-actions">
<<link "Back">><<goto "Person">><</link>>
</div>
</div>
<<elseif not _opts.length>>
<div class="chat-close">
<p class="hint"><<if _p.done>>You already know what she likes.<<else>>Nothing left to ask right now.<</if>></p>
<div class="title-actions">
<<link "Back">><<goto "Person">><</link>>
</div>
</div>
<</if>>
</div><<morning>>
<<storycheck "Quarters">>
<<eventcheck "quarters" "Quarters">>
<<run setup.playMusic("camp")>>
<<set _private to setup.hasPrivacy()>>
<h2><<if _private>>Your private quarter<<else>>Your tent<</if>></h2>
<<if _private>>
<<img setup.buildings.quarters.image "Your private quarter">>
<<else>>
<<img "act_rest.jpg" "A lean-to, a groundsheet, and no door">>
<</if>>
<<if _private>>
<p>Bigger and more comfortable than the last tent, and unlike the last tent, it gives you privacy.</p>
<<else>>
<p>A small tent that protects you from the rain.</p>
<</if>>
<div class="card-grid">
<div class="card">
<<cardtext "Lie down for a bit" `setup.slotsText(1) + " · +" + setup.config.player.restRecovery + " energy"`>>
<div class="card-actions">
<<if $energy >= setup.config.player.maxEnergy>>
<span class="disabled">You're not tired.</span>
<<else>>
<<link "Rest">>
<<set $restGain to Math.min(setup.config.player.maxEnergy - $energy, setup.config.player.restRecovery)>>
<<set $energy to $energy + $restGain>>
<<timecost 1>>
<<if $endState>><<goto "Ending">><<else>><<goto "Rested">><</if>>
<</link>>
<</if>>
</div>
</div>
<div class="card">
<<cardtext "Sleep until morning" "Wake up with full energy">>
<div class="card-actions">
<<link "Turn in">><<sleepgo>><</link>>
</div>
</div>
<<if setup.ridgeAskDue()>>
<div class="card card-blue">
<div class="card-body"><h3 class="card-title">Nina wants to talk to you</h3></div>
<div class="card-actions">
<<gotocard "nina" "Hear her out" "Story_Ridge_Ask">>
</div>
</div>
<</if>>
</div>
<<link "Back to camp">><<goto "Camp">><</link>><<run setup.playMusic("camp")>>
<<if setup.hasPrivacy()>>
<<img setup.buildings.quarters.image "Your private quarter">>
<<else>>
<<img "act_rest.jpg" "A lean-to, a groundsheet, and no door">>
<</if>>
<p>You rested for a while.</p>
<div class="report-note">
<<reportyou `"+" + Math.round($restGain) + " energy"`>>
</div>
<div class="card-actions">
<<link "Back">><<goto "Quarters">><</link>>
</div><<run setup.playMusic("camp")>>
<<set $reportSeen to true>>
<<run setup.autosave()>>
<h2>Day <<print $day>></h2>
<<img "act_dawn.jpg" "First light over the camp">>
<<if $lastDayLog.length is 0>>
<p>Nothing much happened.</p>
<<else>>
<p class="hint">What yesterday came to:</p>
<ul class="daylog">
<<for _i, _e range $lastDayLog>>
<li @class="'dl-' + _e.kind"><<print _e.text>></li>
<</for>>
</ul>
<</if>>
<p class="cheat-now">🪵 <<print $res.materials>> · 🍖 <<print $res.food>> · 💊 <<print $res.medicine>> · <<print setup.rescuedCount()>> in camp</p>
<div class="title-actions">
<<if setup.onBeach()>>
<<link "Get up">><<goto "Map">><</link>>
<<else>>
<<link "Get up">><<goto "Camp">><</link>>
<</if>>
</div><<run setup.nextMarkSeen()>>
<<set _wn to setup.whatsNext()>>
<<set _list to _wn.filter(function (r) { return r.now; }).concat(_wn.filter(function (r) { return !r.now; }))>>
<h2>What's next</h2>
<div class="next-list">
<<for _i, _r range _list>>
<<capture _r>>
<div @class="'next-card' + (_r.now ? ' is-now' : '')">
<div class="next-face">
<<if _r.image>><<img _r.image "">>
<<elseif _r.who>><<img `"girl_" + _r.who + ".jpg"` `setup.characters[_r.who].name`>>
<<else>><span class="next-glyph"><<print setup.nextGlyph(_r.kind)>></span><</if>>
</div>
<div class="next-body">
<p class="next-title"><<print _r.title>></p>
<p class="next-todo"><<print _r.todo>></p>
</div>
<<if _r.go>>
<div class="next-go"><<link "Go">><<goto _r.go>><</link>></div>
<</if>>
</div>
<</capture>>
<</for>>
</div>
<div class="title-actions">
<<link "Back to camp">><<goto "Camp">><</link>>
</div><h2>Guide</h2>
<div class="event-body">
<h3 class="sec-head">The map</h3>
<p>Travel between zones and either <strong>Search</strong> (look for a woman) or do the manual work yourself for gathering food, materials and medicine. Both cost time and energy.</p>
<p>If a girl is assigned to work at a map location, you can help her with her task too.</p>
<h3 class="sec-head">Time of day</h3>
<p>Your day moves through five slots: Morning, Midday, Afternoon, Evening, Night. Morning is breakfast and catching up at the Firepit, everyone's there. The day itself is for searching and working.</p>
<p>At night everyone heads to their tent. Anyone without one stays out at the Firepit instead, which costs her health every night. On top of that, some nights bring rain (more health lost) or a wild animal (raises trauma) for anyone still out there.</p>
<h3 class="sec-head">Camp</h3>
<p>Assign women to jobs for an automatic flow of resources to camp, and put up buildings. Focus on building or upgrading Storage to prevent food damage.</p>
<h3 class="sec-head">Girls</h3>
<p>Build trust with her to unlock sex.</p>
<p>Her health runs healthy → unwell → sick. Sick means she's confined to her tent: she's off her job and sex is closed until she's back to healthy or unwell. Food, medicine and rest help bring her back.</p>
<p>Some events can raise her trauma. There are 3 levels of trauma, and if it reaches critical (level 3), she'll act differently. Comfort her to bring her trauma back down or else she will keep acting strange.</p>
<p>Every woman also has a Sexual Temperament: Passionate, Reserved or Lustful. It's what makes her easier or harder to sleep with. Lustful opens up sooner, Reserved needs more trust first, Passionate is the middle ground.</p>
<h3 class="sec-head">🪵 Materials · 🍖 Food · 💊 Medicine</h3>
<p>Materials build things. Food feeds the camp every night. Run short of it and everyone loses health. Medicine helps sick recover.</p>
<h3 class="sec-head">Your Health & Energy</h3>
<p>Your health is critical. Unlike a girl's health, if it runs out you're dead and the game's over. So make sure to keep enough food in the camp. Energy is your daily budget: every action costs some, sleep refills it.</p>
<h3 class="sec-head">People</h3>
<p>There's a People button in the sidebar. It takes you to the People screen, where you can see the status of every girl, and monitor their health and trauma levels. You can also sort them by various things.</p>
<p>You're supposed to play this game at your own pace. Don't rush to find all the girls. Give each one time so you get the most out of the game. But while doing so, make sure to keep enough food in the camp: it's automatically consumed by everyone once a day. Early game is all about camp development and trust building. Once you have a few girls, the story gradually picks up.</p>
</div>
<div class="title-actions">
<<link "Back to camp">><<goto "Camp">><</link>>
</div><<widget "beatdone">>
<<run setup.beatDone(_args[0])>>
<</widget>>
<<widget "storycheck">>
<<set _spush to setup.storyPush()>>
<<if _spush>>
<<goto `setup.beatGo(_spush.id, _args[0])`>>
<</if>>
<</widget>>
<<widget "beatlines">>
<<set _bb to _args[0]>>
<<set _bid to _args[1]>>
<<for _bi, _blk range _bb.lines>>
<<if typeof _blk is "string">>
<p><<print _blk>></p>
<<elseif _blk.note>>
<<elseif _blk.lede>>
<p class="lede"><<print setup.fill(_blk.lede)>></p>
<<elseif _blk.image>>
<div class="event-image"><<img `_blk.image` "">></div>
<<elseif _blk.clip and _bb.journey>>
<<jvid `setup.journeyClip(_bb.journey, _blk.clip)` true>>
<<elseif _blk.clip>>
<<set _bfrom to setup.beatFrom(_bb, _blk)>>
<<if _bfrom is "character" and _bid>>
<<herclip _bid `_blk.clip` `_blk.place or ""` `_blk.slot or ""`>>
<<else>>
<<clip `_blk.clip` `_blk.place or ""` _bid>>
<</if>>
<<elseif _blk.you>>
<<yousay `setup.fill(_blk.you)`>>
<<elseif _blk.her and _bid>>
<<say _bid `setup.fill(_blk.her)`>>
<<elseif _blk.say>>
<<say _blk.say `setup.fill(_blk.text)`>>
<<elseif _blk.report>>
<<run setup.convoReport(_blk.report, _bb.id)>>
<div class="report-note">
<<for _ri, _rrow range _blk.report>>
<<reportrow _rrow.who>>
<</for>>
</div>
<<elseif _blk.button>>
<<set _bto to _blk.button.to>>
<div class="card-actions">
<<capture _bto>>
<<link `setup.fill(_blk.button.label)`>><<if _bto is "camp">><<set $where to "camp">><<goto "Camp">><<elseif _bto is "map">><<goto "Map">><<else>><<goto `$beatBack or "Camp"`>><</if>><</link>>
<</capture>>
</div>
<</if>>
<</for>>
<</widget>>
<<widget "beatcard">>
<<set _bc to _args[0]>>
<<set _bw to setup.beatWho(_bc)>>
<<set _bwl to (_bc.cast || (_bw ? [ _bw ] : []))>>
<<set _bsick to _bwl.find(function(w) { return setup.isBedbound(w); })>>
<<set _bcrit to not _bsick and _bwl.find(function(w) { return $girls[w].trauma >= setup.config.trauma.max; })>>
<div class="alert alert-story">
<<if _bw>>
<div class="alert-who">
<span class="chat-av"><<img `"girl_" + _bw + ".jpg"` `setup.characters[_bw].name`>></span>
<strong><<print _bc.title>></strong>
</div>
<<else>>
<strong><<print _bc.title>></strong>
<</if>>
<div class="card-actions">
<<if _bsick>>
<span class="disabled">🔒 <<print setup.characters[_bsick].name.split(" ")[0]>> is sick</span>
<<elseif _bcrit>>
<span class="disabled">🔒 <<print setup.characters[_bcrit].name.split(" ")[0]>>'s trauma is critical</span>
<<else>>
<<capture _bc>>
<<link "Hear her out">><<goto `setup.beatGo(_bc.id, "Camp")`>><</link>>
<</capture>>
<</if>>
</div>
</div>
<</widget>><<set _b to setup.beat($pendingBeat)>>
<<if not _b or not _b.lines>>
<<goto `$beatBack or "Camp"`>>
<<else>>
<<set _id to setup.beatWho(_b)>>
<<set _c to _id ? setup.characters[_id] : null>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2><<print _b.title>></h2>
<<if _b.noPortrait>>
<<elseif _b.cast>>
<div class="event-portrait cast">
<<for _ci, _cid range _b.cast>><<img `"girl_" + _cid + ".jpg"` `setup.characters[_cid].name`>><</for>>
</div>
<<elseif _c>>
<div class="event-portrait">
<<img `"girl_" + _id + ".jpg"` `_c.name`>>
</div>
<</if>>
<div class="event-body">
<<beatlines _b _id>>
</div>
<<run setup.beatPay(_b, _id)>>
<<if _id and not setup.beatHasReport(_b)>><<changes _id>><</if>>
<<run setup.beatDone(_b.id)>>
<<set $pendingBeat to null>>
<<if not _b.free>><<timecost 1>><</if>>
<<if not setup.beatHasButton(_b)>>
<div class="title-actions">
<<set _tc to _b.toCamp>>
<<capture _tc>><<link `_b.button or "Go on"`>><<if _tc>><<set _hs to setup.walkHome()>><<timecost _hs>><<goto "Camp">><<else>><<goto `$beatBack or "Camp"`>><</if>><</link>><</capture>>
</div>
<</if>>
</div>
<</if>><<switch $endState>>
<<case "death">><<goto "End_Death">>
<<default>><<goto "Camp">>
<</switch>><<run setup.playMusic("encounter")>>
<h2>Day <<print $day>></h2>
<p class="end-mark" aria-hidden="true">💀</p>
<p>Your health dropped to 0. Unfortunately you couldn't survive the wild.</p>
<<link "Again">><<run setup.newGame()>><<goto "Title">><</link>><div id="sup-body"><<include "SupporterBody">></div><<set _sup to setup.config.supporter>>
<<set _unlocked to setup.supporterOK()>>
<<set _tier to setup.supporterTier()>>
<div class="sup-page">
<<if not _unlocked>>
<header class="sup-hero">
<h2>Supporter cheats</h2>
<p class="sup-lede">Back the game on Patreon and unlock cheats.</p>
<div class="sup-hero-actions">
<a class="sup-cta" @href="setup.config.supporter.url" target="_blank" rel="noopener noreferrer">Support on Patreon</a>
<<link "A word from the developer">><<goto "DevNote">><</link>>
</div>
</header>
<section class="sup-code">
<h3 class="sup-sec">Already a patron?</h3>
<div class="sup-entry">
<<textbox "$supCode" "" autofocus>>
<<link "Unlock">>
<<if setup.supporterUnlock($supCode)>>
<<set $supCode to "">>
<<set $supBad to false>>
<<else>>
<<set $supBad to true>>
<</if>>
<<goto "Supporter">>
<</link>>
</div>
<<if $supBad>>
<p class="sup-bad">That code isn't right. Check for a stray space. Capitals don't matter.</p>
<</if>>
</section>
<<else>>
<header class="sup-hero is-patron">
<p class="sup-kicker">✦ Tier <<print _tier>> supporter</p>
<h2>Supporter cheats</h2>
<p class="sup-lede">Thank you. You're the reason this game continues.</p>
</header>
<section class="sup-block">
<h3 class="sup-sec">Camp stores</h3>
<div class="sup-panel">
<<for _i, _rk range _sup.resources>>
<<capture _rk>>
<div class="sup-row">
<span class="sup-label"><span class="sup-ico"><<print setup.resIcon(_rk)>></span><<print setup.resName(_rk)>></span>
<span class="sup-ctl">
<<link `"−" + _sup.bigStep`>><<run setup.supporterAdjust(_rk, -setup.config.supporter.bigStep)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<<link `"−" + _sup.step`>><<run setup.supporterAdjust(_rk, -setup.config.supporter.step)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<span class="sup-val"><<print $res[_rk]>></span>
<<link `"+" + _sup.step`>><<run setup.supporterAdjust(_rk, setup.config.supporter.step)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<<link `"+" + _sup.bigStep`>><<run setup.supporterAdjust(_rk, setup.config.supporter.bigStep)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
</span>
</div>
<</capture>>
<</for>>
</div>
</section>
<section class="sup-block">
<h3 class="sup-sec">Your name</h3>
<div class="sup-panel">
<div class="name-entry">
<<textbox "$playerName" $playerName>>
<<link "Save">>
<<set $playerName to setup.pc()>>
<<goto "Supporter">>
<</link>>
</div>
</div>
</section>
<<if _tier gte 2>>
<<set _crew to setup.girlsInCamp()>>
<<if not _crew.some(function (g) { return g.id === $supGirl; })>><<set $supGirl to null>><</if>>
<section class="sup-block">
<h3 class="sup-sec">Women in camp</h3>
<div class="sup-panel">
<<if _crew.length is 0>>
<p class="hint sup-pad">Nobody is in camp yet.</p>
<<else>>
<div class="sup-pick">
<<for _g range _crew>>
<<capture _g>>
<span @class="_g.id is $supGirl ? 'sup-chip is-on' : 'sup-chip'"><<link `setup.characters[_g.id].name.split(" ")[0]`>><<set $supGirl to _g.id>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>></span>
<</capture>>
<</for>>
</div>
<<if $supGirl>>
<<set _sg to $girls[$supGirl]>>
<<for _i, _stat range _sup.girlStats>>
<<capture _stat>>
<div class="sup-row sup-stat">
<span class="sup-statinfo">
<span class="sup-label"><<print _stat.charAt(0).toUpperCase() + _stat.slice(1)>></span>
<<if _stat is "trauma">>
<span class="sup-pips"><<print setup.traumaPips(_sg.trauma)>></span>
<span class="sup-word"><<print setup.traumaWord(_sg.trauma)>></span>
<<else>>
<span class="sup-bar"><i @style="'width:' + Math.max(0, Math.min(100, Math.round(_sg[_stat]))) + '%'"></i></span>
<</if>>
</span>
<span class="sup-ctl">
<<if _stat is "trauma">>
<<link "−1">><<run setup.supporterAdjustGirl($supGirl, _stat, -1)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<span class="sup-val"><<print _sg.trauma>></span>
<<link "+1">><<run setup.supporterAdjustGirl($supGirl, _stat, 1)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<<else>>
<<link `"−" + _sup.girlBigStep`>><<run setup.supporterAdjustGirl($supGirl, _stat, -setup.config.supporter.girlBigStep)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<<link `"−" + _sup.girlStep`>><<run setup.supporterAdjustGirl($supGirl, _stat, -setup.config.supporter.girlStep)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<span class="sup-val"><<print Math.round(_sg[_stat])>></span>
<<link `"+" + _sup.girlStep`>><<run setup.supporterAdjustGirl($supGirl, _stat, setup.config.supporter.girlStep)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<<link `"+" + _sup.girlBigStep`>><<run setup.supporterAdjustGirl($supGirl, _stat, setup.config.supporter.girlBigStep)>><<replace "#sup-body">><<include "SupporterBody">><</replace>><</link>>
<</if>>
</span>
</div>
<</capture>>
<</for>>
<<else>>
<p class="hint sup-pad">Pick a woman to adjust her.</p>
<</if>>
<</if>>
</div>
</section>
<</if>>
<p class="sup-more"><<link "A word from the developer">><<goto "DevNote">><</link>></p>
<</if>>
<footer class="sup-foot">
<<if _unlocked>><<link "Enter a different code">><<run setup.supporterLock()>><<set $supBad to false>><<goto "Supporter">><</link>><</if>>
<<link "Back">><<goto "Camp">><</link>>
</footer>
</div><<set _sup to setup.config.supporter>>
<h2>A word from the developer</h2>
<div class="sup-pitch">
<p>Hello there, I hope you are enjoying the game so far. If you have any complaints regarding the game, want to report a bug, or even have any suggestion regarding the game, please feel free to contact <a href="mailto:vyugames1211@gmail.com">vyugames1211@gmail.com</a>.</p>
<p class="sup-close">If the game was worth your evenings, please consider supporting it. Without your support I can't afford to build the next version.</p>
</div>
<div class="title-actions">
<a @href="setup.config.supporter.url" target="_blank" rel="noopener noreferrer">Support on Patreon</a>
<<link "Back">><<goto "Supporter">><</link>>
</div><<set _b to setup.beat($pendingBeat)>>
<<if not _b or _b.id isnot "fever-01">>
<<goto `$beatBack or "Camp"`>>
<<else>>
<<set _id to "nina">>
<<set _sick to setup.feverWho(0)>>
<<set _her to setup.feverName(0)>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>Nina wants a word</h2>
<div class="event-portrait">
<<img "girl_nina.jpg" "Nina Kovač">>
</div>
<div class="event-body">
<<say "nina" `_her + " has been running a fever."`>>
<<yousay "What?">>
<<say "nina" "Yes, she is not feeling well and it's getting worse.">>
<<yousay "We've got medicine in the store. Have you given her any?">>
<<say "nina" "I have. Early in the morning and just a few moments ago.">>
<<say "nina" "Medicine is not working. Fever comes down about an hour after a dose. Then it climbs back again.">>
<p>You look across the camp to where she is sitting in the shade with a blanket on in this heat.</p>
<<yousay "With our living condition, it might get worse at night.">>
<<say "nina" "I'll sit with her tonight and take care of her.">>
<<yousay "Oh Nina, you are a kind soul but you need to sleep as well. I'll stay with her.">>
<<say "nina" "No, I sleep badly anyway. So it's better I stay with her tonight.">>
<p>There is no arguing with her logic. You allow her to stay with <<print _her>> for the night.</p>
</div>
<<run setup.feverSicken(_sick)>><<run setup.feverMedicine()>>
<<run setup.beatPay(_b, _id)>>
<div class="report-note">
<<if setup.gainText(setup.changesFor(_sick), _sick)>>
<<reportrow _sick>>
<</if>>
<<reportcamp "Camp" "−4 medicine">>
</div>
<<run setup.beatDone(_b.id)>>
<<set $pendingBeat to null>>
<div class="card-actions">
<<link "Back">><<goto `$beatBack or "Camp"`>><</link>>
</div>
</div>
<</if>><<set _b to setup.beat($pendingBeat)>>
<<if not _b or _b.id isnot "fever-02">>
<<goto `$beatBack or "Camp"`>>
<<else>>
<<set _id to "nina">>
<<set _sick to setup.feverWho(1)>>
<<set _her to setup.feverName(1)>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>Nina wants a word</h2>
<div class="event-portrait">
<<img "girl_nina.jpg" "Nina Kovač">>
</div>
<div class="event-body">
<<say "nina" `_her + " got sick too."`>>
<<yousay "Is it the fever again?">>
<<say "nina" "Yes. Similar symptoms and fever escalating the same way.">>
<<say "nina" "If this continues, we will soon run out of medicine and even worse, the girls are not getting well.">>
<p>Worry shows on your face.</p>
<<say "nina" "I found something that might help.">>
<p>She takes something out of her jacket. A folded card, soft at the creases from being read.</p>
<<say "nina" "This came out of the medical kit. It's the tropical survival sheet — it has information about the medicinal plants found in this region.">>
<p>You keep listening. She continues.</p>
<<say "nina" "There's a plant on it. Moonleaf. It says the whole plant, boiled together, helps with various diseases including common cold and fever.">>
<<yousay "Where can we find it?">>
<<say "nina" "It grows in standing water. Which on this island means the swamp, but I'm not sure.">>
<p>You take the card off her and look at it.</p>
<<img "item_tropicalsheet.jpg" "The tropical survival sheet">>
<<yousay "The picture's faded. What else does it say about this moonleaf?">>
<<say "nina" "It's written that it's a small plant, ordinary green on top, but the underside of the leaf is almost silver. From the front there could be hundreds of plants matching the description.">>
<p>She takes the card back and folds it along the creases it already has.</p>
<<say "nina" "We're spending a lot of medicine and the girls aren't getting better. I'd say we give it a shot.">>
<<yousay "Tomorrow then?">>
<<say "nina" "Sure. I'll get food and water ready for tomorrow. You gather the gear.">>
<p>Before she leaves she comes to you, takes a handful of your shirt, and kisses you on the lips. 💋 You put your hand on her neck and kiss her back. Her lips feel wonderful.</p>
<<herclip "nina" "kiss" "" "kissing-dressed">>
<p>She breaks the kiss and looks straight into your eyes.</p>
<<say "nina" "Rest well, Captain. We have a long day tomorrow.">>
</div>
<<run setup.feverSicken(_sick)>><<run setup.feverMedicine()>>
<<run setup.beatPay(_b, _id)>>
<div class="report-note">
<<if setup.gainText(setup.changesFor(_sick), _sick)>>
<<reportrow _sick>>
<</if>>
<<reportcamp "Camp" "−4 medicine">>
</div>
<<run setup.beatDone(_b.id)>>
<<set $pendingBeat to null>>
<div class="card-actions">
<<link "Back">><<goto `$beatBack or "Camp"`>><</link>>
</div>
</div>
<</if>><<set _b to setup.beat($pendingBeat)>>
<<if not _b or _b.id isnot "fever-03">>
<<goto `$beatBack or "Camp"`>>
<<else>>
<<set _id to "nina">>
<<set _sickIds to setup.feverSick()>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>The swamp</h2>
<div class="event-portrait">
<<img "loc_swamp.jpg" "Standing water, black mud, trees to the waterline">>
</div>
<div class="event-body">
<p>Nina has the card in a plastic sleeve in her breast pocket and takes it out roughly every twenty minutes.</p>
<<say "nina" "Small plant. Silver underside on the leaf.">>
<<yousay "I remember.">>
<<say "nina" "I know. I'm saying it for me.">>
<p>You find plants with pale-looking undersides growing in four different patches. You show them to Nina.</p>
<<say "nina" "That's not it.">>
<<yousay "Are you sure?">>
<p>She responds hesitantly.</p>
<<say "nina" "I don't know.">>
<p>She pulls it up anyway, and puts it in the bag.</p>
<p>After hours of work, you both sit down to see what you've collected so far. Nina takes the plants out of the bag one by one and turns each leaf over.</p>
<<say "nina" "This one's underside isn't silver at all.">>
<p>She throws it aside.</p>
<<say "nina" "Wait. This one's close.">>
<<yousay "It's not quite silver underneath.">>
<p>She throws that one too. At last there's one left that looks similar to the diagram.</p>
<<say "nina" "Did you pick this one?">>
<<yousay "Yes. Look, the underside's almost silver.">>
<<say "nina" "Where did you find this?">>
<<yousay "In the branch of that tree.">>
<p>You point at a tall-looking tree nearby. Nina looks at you, unimpressed, and swats you on the head.</p>
<<say "nina" "First of all it doesn't grow on trees, it's a plant on the ground. And more to the point, it looks nothing like the diagram.">>
<p>She shows you the diagram. You look at it again. She's right — it looks nothing like it.</p>
<<yousay "Let's wrap up for tonight. We'll continue tomorrow.">>
<<say "nina" "I'm tired too. I've been staring at that drawing so long I can see moonleaf on every plant I look at.">>
</div>
<<for _hi, _hid range _sickIds>><<run setup.feverHurt(_hid, -10)>><</for>>
<<run setup.feverMedicine()>>
<<run setup.beatPay(_b, _id)>>
<div class="report-note">
<<for _hi, _hid range _sickIds>>
<<if setup.gainText(setup.changesFor(_hid), _hid)>><<reportrow _hid>><</if>>
<</for>>
<<reportcamp "Camp" "−4 medicine">>
</div>
<<run setup.beatDone(_b.id)>>
<<set $pendingBeat to null>>
<<run setup.advanceToNight()>>
<div class="card-actions">
<<link "Back to camp">>
<<run setup.spendTravelEnergy()>>
<<set $where to "camp">>
<<goto "Camp">>
<</link>>
</div>
</div>
<</if>><<set _b to setup.beat($pendingBeat)>>
<<if not _b or _b.id isnot "fever-04">>
<<goto `$beatBack or "Camp"`>>
<<else>>
<<set _id to "nina">>
<<set _ish to setup.characters.isha>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>The swamp</h2>
<div class="event-portrait">
<<img "loc_swamp.jpg" "Standing water, black mud, trees to the waterline">>
</div>
<div class="event-body">
<p>You're back in the water, hunting for moonleaf. Both of you search like your lives depend on it. A few hours in, you're still at it when you hear something — a noise, like movement in the water.</p>
<<say "nina" "I think I heard something.">>
<<yousay "I heard it too.">>
<<say "nina" "Could be crocs.">>
<<yousay "Shh. Don't make a sound. Don't move.">>
<p>You both go still and look toward the noise.</p>
<p>And that's when you see her.</p>
</div>
<div class="lead-reveal">
<h2 class="lead-title">Somebody was already here</h2>
<div class="who lead-who">
<<img "girl_isha.jpg" "Isha Green">>
<div class="who-text">
<h3 class="who-name"><<print _ish.name>> <span class="pip-lead">★</span></h3>
<p class="who-meta"><<print _ish.age>> · <<print _ish.role>></p>
<p class="traits">
<<if _ish.temperament>><span class="trait"><<print setup.resName(_ish.temperament)>></span><</if>>
</p>
</div>
</div>
<div class="lead-talk">
<p>Nina's voice comes out before she can stop it.</p>
<<say "nina" "Isha?">>
<p>You look at her, then back at the girl standing in front of you — torn clothes, a striking face, and eyes you can't quite place.</p>
<<say "isha" "You're real, aren't you? Or am I daydreaming?">>
<p>Nina goes to her, slowly, and takes her hand, eyes wet.</p>
<<say "nina" `setup.pc() + ", do you know who she is?"`>>
<p>You know she's one of the women from the plane. You're just not sure why Nina's asking.</p>
<<yousay "She's part of this expedition. Isn't she?">>
<<say "nina" "Not just that. She's a botanist. She's the only one of us who could actually help us find it.">>
<<say "isha" "Find what?">>
<<say "nina" "Some of the girls in camp are sick. There's a sheet in the medical kit about a plant — moonleaf. We've been searching since yesterday. Found nothing.">>
<p>Isha laughs, gently.</p>
<<say "isha" "You're searching in the wrong place. It grows at the edges of the swamp. Not in the water itself.">>
<<yousay "Can you help us find it?">>
<<say "isha" "Of course. But I have one condition. You take me back with you, to your camp.">>
<p>You glance at Nina. She's already smiling.</p>
<<say "nina" "Come on, Isha. Why would we leave you out here alone?">>
<<say "isha" "It's bad enough out here already. Food's scarce, and one more mouth to feed might be more trouble for you.">>
<<yousay "Your presence is worth more to us than any amount of food. This isn't us doing you a favor. We need you and your brain full of plant's information.">>
<p>You say it while smiling at her. She smiles back.</p>
<p>The three of you head for the edge of the swamp. After searching for a while, she finds it.</p>
<<say "isha" "Look. There it is.">>
<<img "item_moonleaf.jpg" "Moonleaf, growing at the swamp's edge">>
<p>You go near it. It's exactly how it's described on the tropical sheet. After looking for a while you pull it out by the roots.</p>
<<say "isha" "No!">>
<p>Nina and you both look at her, startled.</p>
<<say "isha" "It's a rare plant. There aren't many of them out here. You pick it by the stem, never the roots. Leave the roots and it grows back in a week or two.">>
<p>You try to press the uprooted plant back into the mud. Isha gently laughs at you watching you do that.</p>
<<say "isha" "That's not going to work. Just take it with you.">>
<p>You collect what's left growing nearby.</p>
<<yousay "That should do it. Let's get back to camp.">>
</div>
</div>
<div class="event-body">
<p>You bring Isha back to the sick women. She boils what you've collected and gets them to drink it. A few hours later, they're already starting to come round.</p>
<<run setup.leadJoin("isha")>>
<p class="lede"><strong><<print _ish.name>></strong> is in camp.</p>
</div>
<<run setup.feverBreak(30)>>
<<run setup.beatPay(_b, _id)>>
<<set _sickIds to setup.feverSick()>>
<<if _sickIds.some(function (sid) { return !!setup.gainText(setup.changesFor(sid), sid); })>>
<div class="report-note">
<<for _ci, _cid range _sickIds>>
<<reportrow _cid>>
<</for>>
</div>
<</if>>
<<run setup.beatDone(_b.id)>>
<<set $pendingBeat to null>>
<<timecost 1>>
<div class="card-actions">
<<link "Get back to camp">>
<<run setup.spendTravelEnergy()>>
<<set $where to "camp">>
<<goto "Camp">>
<</link>>
</div>
</div>
<</if>><<set _b to setup.beat($pendingBeat)>>
<<if not _b or _b.id isnot "swamp-03">>
<<goto "Map">>
<<else>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2><<print _b.title>></h2>
<div class="event-body">
<<beatlines _b>>
</div>
<<run setup.beatDone(_b.id)>>
<<set $pendingBeat to null>>
<<run setup.adjustHealth("isha", setup.config.story.swampBiteHealth - State.variables.girls.isha.health)>>
<<set _campIds to setup.girlsInCamp().map(function (g) { return g.id; })>>
<<for _ci, _cid range _campIds>>
<<run setup.adjustTrust(_cid, 5)>>
<</for>>
<div class="report-note">
<<for _ci, _cid range _campIds>>
<<reportrow _cid>>
<</for>>
</div>
<<if not setup.beatHasButton(_b)>>
<div class="card-actions"><<link "Continue">><<set $where to "camp">><<goto "Camp">><</link>></div>
<</if>>
</div>
<</if>><<set _b to setup.beat("ridge-02")>>
<<set _id to "nina">>
<<set _c to setup.characters[_id]>>
<<set _J to setup.journey("nina/way_to_ridge")>>
<<set _rep to setup.ridgeReplay()>>
<<set _done to setup.ridgeSceneDone()>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>Journey to ridge</h2>
<div class="event-portrait">
<<img `"girl_" + _id + ".jpg"` _c.name>>
</div>
<div class="event-body">
<<if not _rep>>
<p>It's a beautiful sunny day. Nina is wearing a purple dress with white dots on it. She is looking gorgeous. To your surprise she has sunglasses on and even a camera with her along with a water bottle. She even has a watch.</p>
<<yousay "Where did you find these?">>
<<say _id "Oh these. I found them under one of the seats in the plane while I stayed there for a night.">>
<<yousay "Do the camera and watch still work?">>
<<say _id "Nah, they're dead. But you know, I wanted to get the feeling that I'm going on a picnic.">>
<p>You felt sorry for her. Poor girl just wanted to feel alive. So you didn't make any comments roasting her although you had some in mind.</p>
<p>As you were walking up the hill, the wind was picking up. She was walking in front of you and her dress was being blown up by the wind, nearly showing her ass.</p>
<<jvid `_J.story.wind_dress` true>>
<<yousay "Hey Nina, the wind is being naughty.">>
<p>She stops, looks back and says something unexpected.</p>
<<say _id "I want to be naughty too.">>
<p>She bends down and pulls her dress up, showing you her ass.</p>
<<jvid `_J.story.pull_dress_up` true>>
<p>Boy, she really wants to feel alive today.</p>
<<say _id `setup.pc() + ", can I say something?"`>>
<<yousay "Yeah sure, but with your mouth right? 😉">>
<p>She laughs at your joke.</p>
<<say _id "I agreed to come with you today not because I wanted to explore but to spend some private time with you.">>
<p>You stay silent and keep listening to her.</p>
<<say _id "This only girl expedition was a stupid idea, thank god, the original pilot got sick, otherwise we wouldn't have got you.">>
<p>She smiles while looking at you and speaks.</p>
<<say _id "I like you a lot and I believe you feel the same. So would you mind getting a little naughty today?">>
<p>A beautiful girl is asking you for sex and you turning her down? No way. You keep your excitement suppressed and speak nonchalantly.</p>
<<yousay "How can I say no to you. So yeah, let's have sex.">>
<p>Nina looks so happy and starts undressing.</p>
<<elseif _rep.by is "you">>
<p>You both were climbing up, having a conversation with each other, when she says something.</p>
<<say _id "You brought me here to fuck me, didn't you?">>
<<yousay "You read my mind.">>
<<say _id "You sick pervert 😉">>
<p>You both laugh out loud.</p>
<<yousay "What are you waiting for? Come on, take off your dress.">>
<<say _id "Calm down, Mister. I am taking it off.">>
<<else>>
<<set _days to setup.daysSinceSex(_id)>>
<p>You both were climbing up, having a conversation with each other, when she says something.</p>
<<say _id "You got so busy recently that you've completely forgotten about me.">>
<<yousay "What do you mean?">>
<<say _id "Tell me one thing. When was the last time we had sex?">>
<<yousay "I don't know, maybe 3-4 days ago?">>
<<say _id `"No, it's been " + _days + " days. " + _days + " whole days."`>>
<p>You were a little shocked that she kept count.</p>
<<yousay "Yeah, I am sorry. I got a bit busy.">>
<<say _id "Busy fucking other girls?">>
<<yousay "Ohh, that's what it is. Someone is jealous.">>
<<say _id "No, I am not jealous.">>
<p>You keep looking at her.</p>
<<say _id "Alright. Maybe a little bit. Yes they need you too. But you didn't have any time for me?">>
<<yousay "So that's where the ridge plan came from, huh?">>
<p>Her face goes red, she smiles and looks down.</p>
<<yousay "I am really sorry about that. But today I am all yours.">>
<<say _id "Really? Shall I undress?">>
<p>She doesn't wait for your answer and starts taking her dress off.</p>
<</if>>
<<jvid `_J.story.undress` true>>
<span id="ridge-resume"></span>
<<say _id "Come to me, Captain.">>
<<if not _done>>
<div class="title-actions">
<<link "Let's get naughty">><<goto "Story_Ridge_Naughty">><</link>>
</div>
<<else>>
<p class="lede">You fucked Nina on the way to ridge.</p>
<p>Nina picks up her clothes and starts getting dressed.</p>
<<jvid `_J.story.pick_dress` true>>
<<yousay "Be quick, we need to get to the top of ridge and also need to go back to camp before it gets dark.">>
<p>You move forward while she is still dressing up.</p>
<<say _id `"Wait for me, " + setup.pc() + ". Just a minute."`>>
<p>You go to the top of ridge, from the top the view looks wonderful but no sign of any people nearby. Nina sits on a stone and gets lost in nature for a while when your voice interrupts her.</p>
<<yousay "Nina, let's go, it's getting darker.">>
<<say _id "Just 5 more minutes please.">>
<<yousay "Alright, but not more than that.">>
<p>After a while you march towards the camp.</p>
<</if>>
</div>
<<if _done>>
<<if not _rep and not setup.beatIsDone("ridge-02")>>
<<run setup.beatPay(_b, _id)>>
<<beatdone "ridge-02">>
<</if>>
<<set $pendingBeat to null>>
<<if not _rep>>
<div class="report-note">
<<reportrow _id>>
</div>
<</if>>
<div class="title-actions">
<<link "Back to camp">>
<<run setup.ridgeReplayEnd()>>
<<set $where to "camp">>
<<run setup.advanceToNight()>>
<<if $endState>><<goto "Ending">><<else>><<goto "Camp">><</if>>
<</link>>
</div>
<<script>>setTimeout(function () { var e = document.getElementById("ridge-resume"); if (e) { e.scrollIntoView({ block: "center" }); } }, 60);<</script>>
<</if>>
</div><<set _id to "nina">>
<<set _c to setup.characters[_id]>>
<<set _J to setup.journey("nina/way_to_ridge")>>
<<run setup.playMusic("camp")>>
<div class="bed-screen ridge-bed">
<div class="bed-head">
<div id="bed-film">
<div class="bed-portrait"><<img `"girl_" + _id + ".jpg"` _c.name>></div>
</div>
</div>
<div class="bed-body">
<div id="bed-choices">
<div class="act-grid">
<<for _i, _a range _J.numbered>>
<<capture _a>>
<<link `'<span class="ab-name">' + _a.label + '</span>'`>>
<<replace "#bed-film">><<jvid _a.file>><</replace>>
<</link>>
<</capture>>
<</for>>
</div>
<div class="bed-dials">
<<link "Finish sex">><<run setup.ridgeFinish()>><<goto "Story_Ridge_Trip">><</link>>
</div>
</div>
</div>
</div><<set _id to "nina">>
<<set _c to setup.characters[_id]>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>Nina wants to talk</h2>
<div class="event-portrait">
<<img `"girl_" + _id + ".jpg"` _c.name>>
</div>
<div class="event-body">
<<say _id "Can I ask something?">>
<<yousay "Sure.">>
<<say _id "Can we go to ridge tomorrow? I've been getting anxious lately. I think it will help me relax a little.">>
</div>
<div id="ridge-choice" class="choices choices-stack">
<<link "Okay, we'll go tomorrow">>
<<replace "#ridge-choice">><</replace>>
<<run setup.ridgeAgree("her")>>
<<replace "#ridge-outcome">>
<<yousay "Okay if you say so. Go rest tonight. We'll go tomorrow.">>
<<say "nina" `"Goodnight, " + setup.pc()`>>
<p>Nina leaves your tent.</p>
<div class="title-actions"><<link "Back">><<goto "Quarters">><</link>></div>
<</replace>>
<</link>>
<<link "Sorry, I will be busy tomorrow">>
<<replace "#ridge-choice">><</replace>>
<<run setup.ridgeRefuse()>>
<<replace "#ridge-outcome">>
<<yousay "Sorry, there's some very important work for tomorrow. I will be busy there. Maybe some other day.">>
<<say "nina" "It's okay, some other time then.">>
<p>Nina leaves your tent.</p>
<div class="title-actions"><<link "Back">><<goto "Quarters">><</link>></div>
<</replace>>
<</link>>
</div>
<div id="ridge-outcome" class="event-body"></div>
</div><<set _in to setup.incidentPending("snake")>>
<<if not _in>>
<<goto "Camp">>
<<else>>
<<set _s to _in.data.who>>
<<set _o to _in.data.other>>
<<set _sn to setup.characters[_s].name.split(" ")[0]>>
<<set _J to setup.journey("camp/snake")>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>A guest in camp</h2>
<div class="event-body">
<p>You hear <<print _sn>> screaming and run towards her. She is standing on a log by the firepit, pointing at the ground. Her whole arm is shaking.</p>
<<say _s "Snake! There's a snake!">>
<<yousay "Where?">>
<<say _s "Under the tarp. It's huge. It went right past my foot.">>
<<if _o>>
<<set _on to setup.characters[_o].name.split(" ")[0]>>
<p><<print _on>> comes running up behind you.</p>
<<say _o "Is it venomous?">>
<<say _s "I don't know! Ask it yourself.">>
<p><<print _on>> rolls her eyes.</p>
<</if>>
<<yousay "Wait here. I'll get a stick and the bucket.">>
<p>You come back with both. The snake is coiled under the tarp with its tongue flicking. You lift the edge of the tarp with the stick, very slowly. The snake slides out into the open.</p>
<<jvid `_J.story.floor` true>>
<<say _s "Be careful. Please.">>
<<yousay "Quiet now. Don't make a sound.">>
<p>You pin its head gently to the ground, then slide the stick under its body and lift. It's long and thick and angry, and it hangs from the stick like a wet rope. You lower it slowly into the bucket.</p>
<<jvid `_J.story.pick_stick` true>>
<<say _s "Is it... is it in?">>
<<yousay "Yeah, it's in.">>
<<if _o>>
<<say _o "So what do we do with it?">>
<<else>>
<<say _s "So what do we do with it?">>
<</if>>
<<jvid `_J.story.inside_bucket` true>>
<p>You look at the bucket. There's a lot of meat on it. Or you could carry it far into the jungle and let it go.</p>
</div>
<div id="inc-choice" class="choices choices-stack">
<<link `"Kill it for meat (+" + setup.config.incidents.snake.foodGain + " food)"`>>
<<replace "#inc-choice">><</replace>>
<<run setup.snakeEnd(true)>>
<<replace "#inc-outcome">>
<p>You take the bucket round behind the storage tarp. It's quick. You skin it and cut it into strips. When the smell reaches the fire, everyone drifts over, pale and a little curious. It isn't pretty, but it's food.</p>
<div class="report-note">
<<for _i, _pid range setup.incidentPresent()>>
<<reportrow _pid>>
<</for>>
<<reportcamp "Camp" `"+" + setup.config.incidents.snake.foodGain + " food"` "up">>
</div>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
<</replace>>
<</link>>
<<link "Let it go in the jungle">>
<<replace "#inc-choice">><</replace>>
<<run setup.snakeEnd(false)>>
<<replace "#inc-outcome">>
<p>You carry the bucket a long way down the trail, well past the treeline, and tip it out. It's gone into the leaves before you've taken a step back.</p>
<div class="report-note">
<<for _i, _pid range setup.incidentPresent()>>
<<reportrow _pid>>
<</for>>
</div>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
<</replace>>
<</link>>
</div>
<div id="inc-outcome" class="event-body"></div>
</div>
<</if>><<set _in to setup.incidentPending("woodCut")>>
<<if not _in>>
<<goto "Camp">>
<<else>>
<<set _i to _in.data.who>>
<<set _h to _in.data.other>>
<<set _in1 to setup.characters[_i].name.split(" ")[0]>>
<<set _hn to setup.characters[_h].name.split(" ")[0]>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>A bad cut</h2>
<div class="event-image"><<img "gathering_cut.jpg" "Somebody hurt while gathering wood">></div>
<div class="event-body">
<p>Somebody is shouting your name from the treeline. You run towards the trail and find <<print _hn>> coming up it with her arm round <<print _in1>>. She is pressing a cloth against <<print _in1>>'s forearm, and the cloth is soaked red.</p>
<<say _h "She's cut herself.">>
<<yousay "What happened?">>
<<say _i "I was cutting a branch. The blade slipped.">>
<<yousay "Let me see.">>
<p>You peel the cloth back. It's a long cut with clean edges, and it is still bleeding.</p>
<<yousay "Sit down. Both of you.">>
<p>You fetch the medical kit and clean the cut with boiled water. <<print _in1>> winces and doesn't make a sound. You close it with band-aids and wrap the arm tight.</p>
<<yousay "Keep it clean and dry. No more wood today. You rest.">>
<<say _h "I'll stay with her.">>
<p>She sits down next to <<print _in1>>.</p>
</div>
<<set _r to setup.woodCutEnd()>>
<div class="report-note">
<<reportrow _i>>
<<if _r and _r.used>><<reportcamp "Camp" `"−" + _r.used + " medicine"`>><</if>>
</div>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
</div>
<</if>><<set _in to setup.incidentPending("boar")>>
<<if not _in>>
<<goto "Camp">>
<<else>>
<<set _s to _in.data.who>>
<<set _sn to setup.characters[_s].name.split(" ")[0]>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>Raid on the storage</h2>
<div class="event-image"><<img "boar_raid.jpg" "A wild boar in the food storage">></div>
<div class="event-body">
<p>A scream comes from the food storage, loud and sharp. You run over. <<print _sn>> is backing away from the platform with both hands over her mouth, and other women are already running in from the firepit and the tents.</p>
<<say _s "Boar! There's a wild boar in the storage!">>
<<yousay "Everyone stay back.">>
<p>The boar lifts its head and stares at all of you.</p>
</div>
<div id="inc-choice" class="choices choices-stack">
<<link `"Try to capture it (" + Math.round(setup.config.incidents.boar.captureChance * 100) + "% chance)"`>>
<<replace "#inc-choice">><</replace>>
<<run setup.boarEnd(true)>>
<<replace "#inc-outcome">>
<<if setup.incidentState().result.ok>>
<p>You cut a length of rope from the tarp line and the women help you herd the boar into the corner between two crates. It charges once and you jump aside. The rope goes round its back legs. It takes all of you to drag it out.</p>
<<else>>
<p>You get the rope round one leg. Then the boar spins, hits the crates, and a whole shelf comes down. By the time you're back on your feet it's gone, and there is grain and dried fish all over the floor. Some of it is ruined.</p>
<</if>>
<div class="report-note">
<<reportcamp "Camp" `(setup.incidentState().result.delta > 0 ? "+" : "−") + Math.abs(setup.incidentState().result.delta) + " food"` `setup.incidentState().result.delta > 0 ? "up" : "down"`>>
</div>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
<</replace>>
<</link>>
<<link "Try to scare it away">>
<<replace "#inc-choice">><</replace>>
<<run setup.boarEnd(false)>>
<<replace "#inc-outcome">>
<p>You grab a pan and a stick and bang them together as hard as you can. The girls join in, shouting. The boar squeals, spins and runs away. It takes a sack of dried fish with it.</p>
<div class="report-note">
<<reportcamp "Camp" `"−" + Math.abs(setup.incidentState().result.delta) + " food"`>>
</div>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
<</replace>>
<</link>>
</div>
<div id="inc-outcome" class="event-body"></div>
</div>
<</if>><<set _in to setup.outburstPending("advance")>>
<<if not _in>>
<<goto "Camp">>
<<else>>
<<set _a to _in.data.who>>
<<set _b to _in.data.other>>
<<set _an to setup.characters[_a].name.split(" ")[0]>>
<<set _bn to setup.characters[_b].name.split(" ")[0]>>
<<set _J to setup.journey("camp/sexual_advance")>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>Out of line</h2>
<div class="event-body">
<p>You hear <<print _bn>> screaming for help. You go to the open ground at the edge of camp, near the treeline. What you see there shocks you. <<print _an>> is trying to rape <<print _bn>>.</p>
<<yousay `_an + ", what the fuck are you doing?"`>>
<p>She looks at you, then back at <<print _bn>>. She grabs a handful of hair and throws <<print _bn>> to the ground.</p>
<<jvid `_J.story.hair_throw` true>>
<<yousay `_an + ", have you gone mad? Get off her."`>>
<p><<print _an>> doesn't listen. Instead she tries to sit on <<print _bn>>'s face, trying to make <<print _bn>> lick her pussy.</p>
<<jvid `_J.story.force_lick` true>>
<p>You decide to interfere. You pull <<print _an>> away forcefully and send her off.</p>
<<yousay `"Are you okay, " + _bn + "?"`>>
<<say _b `setup.pc() + ", she has gone mad."`>>
<<yousay "Don't worry. I'll take care of it.">>
<p><<print _an>>'s mental state is critical. Help her reduce her trauma by sitting with her tonight.</p>
</div>
<<run setup.advanceEnd()>>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
</div>
<</if>><<set _in to setup.outburstPending("dumpFood")>>
<<if not _in>>
<<goto "Camp">>
<<else>>
<<set _a to _in.data.who>>
<<set _an to setup.characters[_a].name.split(" ")[0]>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>Food on the ground</h2>
<div class="event-body">
<p>You are about to lie down when you hear noises outside. You go out to check.</p>
<div class="event-image"><<img "food_dump.jpg" "Food scattered across the dirt by the storage">></div>
<p><<print _an>> is standing by the food storage with a sack in her arms. Food is scattered across the dirt, and she is still throwing more.</p>
<<yousay `_an + ", what are you doing?"`>>
<p>She doesn't answer. She tips the sack out and stares at you like she is daring you to say something.</p>
<<yousay `_an + ", stop. Put it down."`>>
<p>You take the sack out of her hands. Her whole body is shaking. You sit her down and stay with her until her breathing slows.</p>
<<say _a "I don't know why I did that. I couldn't stand it. I just needed to break something.">>
<<yousay "It's okay. I'm here.">>
<p>You gather up what food you can. Some of it is ruined.</p>
<<set _r to setup.dumpFoodEnd()>>
<p><<print _an>>'s mental state is critical. Help her reduce her trauma by sitting with her tonight.</p>
</div>
<div class="report-note">
<<reportcamp "Camp" `"−" + _r.lost + " food"`>>
</div>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
</div>
<</if>><<set _in to setup.outburstPending("repairElt")>>
<<if not _in>>
<<goto "Camp">>
<<else>>
<<set _a to _in.data.who>>
<<set _an to setup.characters[_a].name.split(" ")[0]>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2>The ELT</h2>
<div class="event-body">
<p>You wake up in the dark to the sound of someone crying. You pull on your boots and go outside. <<print _an>> is sitting by the crate where the ELT is kept, with the cloth pulled off it. She has the ELT in her lap and a needle in her hand, and she is crying while she is trying to fix it.</p>
<div class="event-image"><<img "fix_elt_outburst.jpg" "She is crying over the ELT with a needle in her hand">></div>
<<yousay `_an + ", what are you doing?"`>>
<<say _a "Fixing it. Can't you see?">>
<<yousay "Put it down. Please.">>
<<say _a "It's been days. Nobody is coming. This is the only way off this island and it's sitting in a box. I can't stay here. I can't. I'll fix it myself.">>
<<yousay "You don't have the tools, and you don't know how. If you cut the wrong wire it might never work again. We need to wait for Miyu.">>
<p>She grips it tighter. Her hands are shaking. Then she looks at the antenna wire hanging loose from the casing, and her face crumples.</p>
<<say _a "I just want to go home.">>
<<yousay "I know. So do I. That's why we can't afford to do any damage to the ELT.">>
<p>You take the ELT out of her hands, slowly. You wrap it back in the cloth and put it in the crate, then you sit down next to her and calm her down.</p>
<<run setup.repairEltEnd()>>
<p><<print _an>>'s mental state is critical. Help her reduce her trauma by sitting with her tonight.</p>
</div>
<div class="title-actions"><<link "Back to camp">><<goto "Camp">><</link>></div>
</div>
<</if>><<set _id to "nina">>
<<set _c to setup.characters[_id]>>
<<set _b to setup.beat("island-02")>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2><<print setup.label("island-02", "heading")>></h2>
<div class="event-portrait">
<<img `"girl_" + _id + ".jpg"` _c.name>>
</div>
<div class="event-body">
<<beatlines _b _id>>
</div>
<<run setup.beatDone("island-02")>>
<<set $pendingBeat to null>>
<div class="choices choices-stack"><<link `setup.label("island-02", "back")`>><<goto `$beatBack or "Camp"`>><</link>></div>
</div><<set _b to setup.beat("island-03")>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2><<print setup.label("island-03", "heading")>></h2>
<<img "loc_beach.jpg" "The beach">>
<div class="event-body">
<<beatlines _b "">>
</div>
<<run setup.storyFlag("raftKnown", true)>>
<<run setup.beatDone("island-03")>>
<<set $pendingBeat to null>>
<div class="title-actions"><<link `setup.label("island-03", "button")`>><<goto "Map">><</link>></div>
</div><<set _id to "miyu">>
<<set _c to setup.characters[_id]>>
<<set _b to setup.beat("island-04")>>
<<run setup.playMusic("encounter")>>
<<run setup.miyuArrive()>>
<div class="lead-reveal">
<h2 class="lead-title"><<print setup.label("island-04", "revealTitle")>></h2>
<div class="who lead-who">
<<img `"girl_" + _id + ".jpg"` _c.name>>
<div class="who-text">
<h3 class="who-name"><<print _c.name>> <span class="pip-lead">★</span></h3>
<p class="who-meta"><<print _c.age>> · <<print _c.role>></p>
<p class="traits">
<<if _c.temperament>><span class="trait"><<print setup.resName(_c.temperament)>></span><</if>>
</p>
</div>
</div>
<div class="lead-talk">
<<beatlines _b _id>>
</div>
<<run setup.storyFlag("miyuHelps", true)>>
<<run setup.beatDone("island-04")>>
<<set $pendingBeat to null>>
<div class="title-actions"><<link `setup.label("island-04", "button")`>><<goto "Map">><</link>></div>
</div><<set _got to setup.raftSearch()>>
<<run setup.spendEnergy("heavy")>>
<<run setup.beachGathered(_got)>>
<<timecost 1>>
<<if $endState>><<goto "Ending">><</if>>
<h2><<print setup.label("island-beach", "searchHeading")>></h2>
<<img "loc_beach.jpg" "The beach">>
<p><<print setup.label("island-beach", "searchText")>><<if setup.miyuHelps()>><<print setup.label("island-beach", "searchTextMiyu")>><</if>></p>
<ul class="loot">
<li><<print setup.label("island-beach", "lootWood", { n: _got.wood })>></li>
<li><<print setup.label("island-beach", "lootRope", { n: _got.rope })>></li>
</ul>
<<set _raft to setup.raftState()>>
<<set _need to setup.raftNeeds()>>
<p><<print setup.label("island-beach", "progress", { wood: _raft.wood, rope: _raft.rope, needWood: _need.wood, needRope: _need.rope })>></p>
<<link `setup.label("island-beach", "keepMoving")`>><<goto "Map">><</link>><<set _id to "miyu">>
<<set _c to setup.characters[_id]>>
<<set _done to setup.miyuBeachState().done>>
<<set _b1 to setup.convoBeat("miyu-beach-1")>>
<<set _b1.journey to "miyu/beach">>
<<set _b2 to setup.convoBeat("miyu-beach-2")>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2><<print setup.label("miyu-beach", "heading")>></h2>
<div class="event-portrait">
<<img "loc_beach.jpg" "The beach">>
</div>
<div class="event-body">
<<beatlines _b1 _id>>
<span id="beach-resume"></span>
<<if _done>>
<p class="lede"><<print setup.label("miyu-beach", "fucked")>></p>
<<beatlines _b2 _id>>
<</if>>
</div>
<<if not _done>>
<div class="title-actions">
<<link `setup.label("miyu-beach", "naughty")`>><<goto "Story_Beach_Naughty">><</link>>
</div>
<<else>>
<div class="title-actions">
<<link `setup.label("miyu-beach", "back")`>>
<<run setup.miyuBeachEnd()>>
<<timecost 1>>
<<if $endState>><<goto "Ending">><<else>><<goto "Map">><</if>>
<</link>>
</div>
<<script>>setTimeout(function () { var e = document.getElementById("beach-resume"); if (e) { e.scrollIntoView({ block: "center" }); } }, 60);<</script>>
<</if>>
</div><<set _id to "miyu">>
<<set _c to setup.characters[_id]>>
<<set _J to setup.journey("miyu/beach")>>
<<run setup.playMusic("camp")>>
<div class="bed-screen ridge-bed beach-bed">
<div class="bed-head">
<div id="bed-film">
<div class="bed-portrait"><<img `"girl_" + _id + ".jpg"` _c.name>></div>
</div>
</div>
<div class="bed-body">
<div id="bed-choices">
<div class="act-grid">
<<for _i, _a range _J.numbered>>
<<capture _a>>
<<link `'<span class="ab-name">' + _a.label + '</span>'`>>
<<replace "#bed-film">><<jvid _a.file>><</replace>>
<</link>>
<</capture>>
<</for>>
</div>
<div class="bed-dials">
<<link "Finish sex">><<run setup.miyuBeachFinish()>><<goto "Story_Beach_Morning">><</link>>
</div>
</div>
</div>
</div><<set _id to "miyu">>
<<set _b to setup.convoBeat("way-to-island")>>
<<run setup.playMusic("camp")>>
<div class="event-screen">
<h2><<print setup.label("way-to-island", "heading")>></h2>
<div class="event-body">
<<beatlines _b _id>>
<p class="lede"><<print setup.label("way-to-island", "endNote")>></p>
</div>
<div class="title-actions"><<link `setup.label("way-to-island", "button")`>><<goto "Map">><</link>></div>
</div>