Cradle of Ash VVitching Hour © 2024 Lily Ounekeo IFID bd70dd06-710f-44f0-84c6-9159d9da2ff2<!-- GAME INFO --> (set: $game to (dm: 'version', '0.2.3', 'author', 'Lily Ounekeo', 'title', 'Cradle of Ash', 'series', 'VVitching Hour', 'synopsis', 'After a day spent hounded, Gavril welcomes the appearance of a cottage in the fog. Rain is in the air, and the night grows darker still.', 'startPassage', 'startPassage', 'coverArt', '<div class="cover-art"><img src="images/cover/cover.jpg"></div>', 'coverArtHover', '<div class="cover-art hover-opacity"><img src="images/cover/cover.jpg"></div>' )) <!-- SAVE FILE --> (set: $savefile to '') <!-- SET CHARACTERS --> (display: 'characters') (display: 'nametags') <!-- SET LOCATION --> (display: 'locations') (set: $startPassageLocation to 'locationPath') <!-- SET GAMEPLAY OBJECTS --> (display: 'items') (display: 'entries') (display: 'notes') (display: 'observations') (display: 'score') <!-- SET VARIABLES --> (display: 'variablesBase') (display: 'variablesTrack'){ <div class='game-menu-container oc'> (display: 'oLoadGame') (display: 'oStartGame') </div> }(link: 'Begin a new story.')[(goto: $game's startPassage)](linkgoto: 'Continue the current story.', $returnLocation){ (if: (saved-games:) contains $savefile)[ (link: 'Load the last saved story.')[(loadgame: $savefile)] (else:)[(set: $dialogLoadFail to (dialog: "<h1>Load Failed</h1>No saved story could be found.", "Return."))]] (else:)[<!--do nothing-->] }{ (replace: ?textReset)[] (linkrepeat: 'Start the story over.')[(display: 'oStartGameNewConfirm')] }{ (replace: ?textReset)[ (set: $dialogBoxConfirmStartNew to (confirm: "<h1>Start over?</h1><br>Starting over means the game will reset, and you will lose unsaved progress made in your current game.", "Do not start over.", "Start over.")) (if: $dialogBoxConfirmStartNew)[(reload:)] (else:)[<!--do nothing-->] ] }{ (replace: ?textScore)[] (link: $toggleExpandProgress)[(replace: ?textScoreHeader)[(display: 'oViewScoreClose')$goToAnchorHeader]] }<!-- END STORY --> (set: $endStoryEnabled to false) <!-- MAP --> (set: $currentLocationName to '') (set: $currentFloorName to '') (set: $currentSceneName to '') (set: $mapURL to '') (set: $mapImage to '') (set: $floor1 to 'First Floor - ') (set: $floorB to 'Basement - ') (set: $floorG to 'Ground Floor - ') <!-- PASSAGE LOCATION LINKS --> (set: $returnLocaton to $startPassageLocation) (set: $returnName to 'Return.') (set: $oReturn to "<div class='o'>(linkgoto: $returnName, $returnLocation)</div>") <!-- SAVE AND LOAD --> (set: $oSave to 'Save') (set: $oLoad to 'Load') (set: $oSaved to '<span class="b-grey">Saved</span>') (set: $oLoadNoFile to '<span class="b-grey">Load</span>') (set: $dialogBoxConfirmStartNew to false) <!-- MENU --> (set: $gameCoverImgName to $game's title) (set: $gameInfo to "(print: $game's series): (print: $game's title)") (set: $mapName to 'Map') (set: $inventoryName to 'Inventory') (set: $noteName to 'Notes') (set: $observationName to 'Observations') (set: $observationHidden to "<div class='grey'>&#8212</div>") (set: $displayItemAdded to false) <!-- BUTTONS --> (set: $oClose to "(linkgoto: 'Return', $returnLocation)") (set: $oTop to "(linkrepeat: $toggleClose)[(gotourl: '#')]") (set: $optionHidden to "<span class='grey'>&#8212</span>") <!-- ANCHOR HEADER --> (set: $anchorHeader to "<a id='anchorHeader'>") (set: $goToAnchorHeader to "(gotourl: '#anchorHeader')") <!-- ARROW BUTTONS --> (set: $toggleClose to "<div class='b-arrow-bottom'><span class='baseline-up'><span class='arrow up'></span></span></div>") (set: $toggleTagMap to "<span class='toggle-tag'>$mapName</span>") (set: $toggleTagProgress to "<span class='toggle-tag'>Measurements</span>") (set: $toggleExpandMap to "<div class='b-arrow-top'>$toggleTagMap<span class='baseline-down'><span class='arrow down'></span></span></div>") (set: $toggleCloseMap to "<div class='b-arrow-top'>$toggleTagMap<span class='baseline-down'></span></div>") (set: $toggleExpandProgress to "<div class='b-arrow-top'>$toggleTagProgress<span class='baseline-down'><span class='arrow down'></span></span></div>") (set: $toggleCloseProgress to "<div class='b-arrow-top'>$toggleTagProgress<span class='baseline-down'></span></div>") <!-- SCORE DISPLAY --> (set: $scoreCount to '') (set: $scoreMax to '') (set: $scoreItem to "(print: $score's itemCount)/(print: $score's itemMax) (print: $score's itemName)") (set: $scoreEntry to "(print: $score's entryCount)/(print: $score's entryMax) (print: $score's entryName)") (set: $scoreNote to "(print: $score's noteCount)/(print: $score's noteMax) (print: $score's noteName)") (set: $scoreObservation to "(print: $score's observationCount)/(print: $score's observationMax) (print: $score's observationName)") <!-- GAME SETTINGS --> (set: $gameThemeDark to false) (set: $bGameThemeName to 'Theme') (set: $bGameThemeIcon to '<span class="large">&#9681;</span>') (set: $gameFontSizeLarge to false) (set: $bGameFontSizeName to 'Text') (set: $bGameFontSizeIcon to '<span class="large">&#9712;</span>')#<!-- PROGRESSION --> (set: $speakGirl to false) (set: $girlDead to false) (set: $girlDeadInside to false) (set: $girlDeadOutside to false) (set: $sleepEvent to false) (set: $sleepEventInside to false) (set: $sleepEventOutside to false) (set: $bothyMorningReady to false) #<!-- CHARACTER --> (set: $girlName to "(print: $girl's nameFull)") (set: $selectedName to "(print: $player's name)") (set: $name0 to "(print: $player's name)") (set: $name1 to 'Tolyen') (set: $name2 to 'Ruadhan') (set: $name3 to 'Artrius') #<!-- ITEM --> (set: $itemCigaretteCount to 5) (set: $itemAxeScored to false) #<!-- ACTION --> (set: $smokeCigarettesBothyNight to false) (set: $smokeCigarettesBothyMorning to false) (set: $smokeCigarettesStream to false)<!-- PLAYER --> (set: $player to (dm: 'name', 'Gavril', 'nameFull', 'Gavril Corragain', 'title', 'The Shadow', 'gender', 'male', 'portrait', '<div class="portrait-gavril-shadow-mask"></div>', 'portraitS', '<div class="portrait-gavril-shadow-mask small"></div>', 'portraitD', '<div class="portrait-gavril-shadow-mask decision"></div>', 'portraitH', '<div class="portrait-gavril-shadow-mask hover-opacity"></div>', 'journal', 'List', 'journalLC', 'list', 'description', "The Shadow is an outlaw, independent, instinctive, and impulsive. He takes advantage of opportunities as they come, shifting identities and wandering unmoored from society's pilings. As a lone wolf of many trades but of little faith, he has no inclination toward witchcraft, religions, or allegiances. His skills and experiences are many and diverse, but anchor in neither aspirations nor order leaves him aimless and adrift." )) <!-- PRIMARY CHARACTERS --> (set: $girl to (dm: 'name', 'Girl', 'nameFull', 'Neva' ))(set: $GAVRIL to "<span class='name-tag'>Gavril</span>") (set: $GIRL to "<span class='name-tag'>Girl</span>") (set: $GAMEKEEPER to "<span class='name-tag'>Gamekeeper</span>") (set: $GAVRIL_GIRL to "<span class='name-tag'>Gavril and Girl</span>")(set: $endStory to (dm: 'name', 'End' )) (set: $hour to (dm: 'nameInside', 'Wet Blue Thing', 'nameOutside', 'Again and Again' )) (set: $forest to (dm: 'name', 'Harrow Les', 'path', 'Path', 'stream', 'Stream', 'thicket', 'Thicket' )) (set: $bothy to (dm: 'name', 'Bothy', 'grounds', 'Grounds', 'shed', 'Shed', 'interior', 'Hearth' )){ <!-- FOREST --> (if: (passage: $returnLocation)'s tags contains 'forest')[ (set: $currentLocationName to $forest's name) (if: (passage: $returnLocation)'s tags contains 'path')[ (set: $currentSceneName to $forest's path) (set: $mapURL to "images/maps/forest-path.jpg")] (elseif: (passage: $returnLocation)'s tags contains 'stream')[ (set: $currentSceneName to $forest's stream) (set: $mapURL to "images/maps/forest-stream.jpg")] (else:)[<!--do nothing-->]] <!-- BOTHY --> (elseif: (passage: $returnLocation)'s tags contains 'bothy')[ (set: $currentLocationName to $bothy's name) (if: (passage: $returnLocation)'s tags contains 'grounds')[ (set: $currentSceneName to $bothy's grounds) (set: $mapURL to "images/maps/bothy-grounds.jpg")] (elseif: (passage: $returnLocation)'s tags contains 'shed')[ (set: $currentSceneName to $bothy's shed) (set: $mapURL to "images/maps/bothy-shed.jpg")] (elseif: (passage: $returnLocation)'s tags contains 'interior')[ (set: $currentSceneName to $bothy's interior) (set: $mapURL to "images/maps/bothy-interior.jpg")] (else:)[<!--do nothing-->]] }{ <!-- MAP PLAQUE --> <div class='map-plaque'> <h1>(print: $currentLocationName)</h1> (print: $currentFloorName)(print: $currentSceneName) </div> <!-- MAP LINK --> <div class='small-link'>(linkgoto: 'Expand map >', 'displayMapExpand')</div> <div class='small-link'>(linkrepeat: 'Open map in new browser tab >')[(openurl: $mapURL)]</div> <!-- MAP IMAGE --> (set: $mapImage to "<img src='" + $mapURL + "'>") <div class='map-container'><div class='map-thumbnail'>$mapImage</div></div> (link: $toggleClose)[(replace: ?mapThumbnailHeader)[(display: 'oViewMapThumbnail')(gotourl: '#map')]] <!-- MAP ZOOM SCRIPT --> (display: 'wheelZoomScript') }{ (replace: ?mapThumbnail)[] (link: $toggleExpandMap)[(replace: ?mapThumbnailHeader)[(display: 'oViewMapThumbnailClose')$goToAnchorHeader]] }{ (replace: ?mapThumbnail)[(display: 'displayMap')] (link: $toggleCloseMap)[(replace: ?mapThumbnailHeader)[(display: 'oViewMapThumbnail')]] }{ <script> /*! Wheelzoom 4.0.1 license: MIT http://www.jacklmoore.com/wheelzoom modified by Lily Ounekeo for VVitching Hour https://vvitchinghour.com */ window.wheelzoom = (function(){ var defaults = { zoom: 0.3, maxZoom: 6, initialZoom: 1.1, initialX: 0, initialY: 0.3, }; var main = function(img, options){ if (!img || !img.nodeName || img.nodeName !== 'IMG') { return; } var settings = {}; var width; var height; var bgWidth; var bgHeight; var bgPosX; var bgPosY; var previousEvent; var transparentSpaceFiller; function setSrcToBackground(img) { img.style.backgroundRepeat = 'no-repeat'; img.style.backgroundImage = 'url("'+img.src+'")'; transparentSpaceFiller = 'data:image/svg+xml;base64,'+window.btoa('<svg xmlns="http://www.w3.org/2000/svg" width="'+img.naturalWidth+'" height="'+img.naturalHeight+'"></svg>'); img.src = transparentSpaceFiller; } function updateBgStyle() { if (bgPosX > 0) { bgPosX = 0; } else if (bgPosX < width - bgWidth) { bgPosX = width - bgWidth; } if (bgPosY > 0) { bgPosY = 0; } else if (bgPosY < height - bgHeight) { bgPosY = height - bgHeight; } img.style.backgroundSize = bgWidth+'px '+bgHeight+'px'; img.style.backgroundPosition = bgPosX+'px '+bgPosY+'px'; } function reset() { bgWidth = width; bgHeight = height; bgPosX = bgPosY = 0; updateBgStyle(); } function onwheel(e) { var deltaY = 0; e.preventDefault(); if (e.deltaY) { // FireFox 17+ (IE9+, Chrome 31+?) deltaY = e.deltaY; } else if (e.wheelDelta) { deltaY = -e.wheelDelta; } // As far as I know, there is no good cross-browser way to get the cursor position relative to the event target. // We have to calculate the target element's position relative to the document, and subtrack that from the // cursor's position relative to the document. var rect = img.getBoundingClientRect(); var offsetX = e.pageX - rect.left - window.pageXOffset; var offsetY = e.pageY - rect.top - window.pageYOffset; // Record the offset between the bg edge and cursor: var bgCursorX = offsetX - bgPosX; var bgCursorY = offsetY - bgPosY; // Use the previous offset to get the percent offset between the bg edge and cursor: var bgRatioX = bgCursorX/bgWidth; var bgRatioY = bgCursorY/bgHeight; // Update the bg size: if (deltaY < 0) { bgWidth += bgWidth*settings.zoom; bgHeight += bgHeight*settings.zoom; } else { bgWidth -= bgWidth*settings.zoom; bgHeight -= bgHeight*settings.zoom; } if (settings.maxZoom) { bgWidth = Math.min(width*settings.maxZoom, bgWidth); bgHeight = Math.min(height*settings.maxZoom, bgHeight); } // Take the percent offset and apply it to the new size: bgPosX = offsetX - (bgWidth * bgRatioX); bgPosY = offsetY - (bgHeight * bgRatioY); // Prevent zooming out beyond the starting size if (bgWidth <= width || bgHeight <= height) { reset(); } else { updateBgStyle(); } } function drag(e) { e.preventDefault(); bgPosX += (e.pageX - previousEvent.pageX); bgPosY += (e.pageY - previousEvent.pageY); previousEvent = e; updateBgStyle(); } function removeDrag() { document.removeEventListener('pointerup', removeDrag); document.removeEventListener('pointermove', drag); } // Make the background draggable function draggable(e) { e.preventDefault(); previousEvent = e; document.addEventListener('pointermove', drag); document.addEventListener('pointerup', removeDrag); } function load() { var initial = Math.max(settings.initialZoom, 1); if (img.src === transparentSpaceFiller) return; var computedStyle = window.getComputedStyle(img, null); width = parseInt(computedStyle.width, 10); height = parseInt(computedStyle.height, 10); bgWidth = width * initial; bgHeight = height * initial; bgPosX = -(bgWidth - width) * settings.initialX; bgPosY = -(bgHeight - height) * settings.initialY; setSrcToBackground(img); img.style.backgroundSize = bgWidth+'px '+bgHeight+'px'; img.style.backgroundPosition = bgPosX+'px '+bgPosY+'px'; img.addEventListener('wheelzoom.reset', reset); img.addEventListener('wheel', onwheel); img.addEventListener('pointerdown', draggable); } var destroy = function (originalProperties) { img.removeEventListener('wheelzoom.destroy', destroy); img.removeEventListener('wheelzoom.reset', reset); img.removeEventListener('load', load); img.removeEventListener('pointerup', removeDrag); img.removeEventListener('pointermove', drag); img.removeEventListener('pointerdown', draggable); img.removeEventListener('wheel', onwheel); img.style.backgroundImage = originalProperties.backgroundImage; img.style.backgroundRepeat = originalProperties.backgroundRepeat; img.src = originalProperties.src; }.bind(null, { backgroundImage: img.style.backgroundImage, backgroundRepeat: img.style.backgroundRepeat, src: img.src }); img.addEventListener('wheelzoom.destroy', destroy); options = options || {}; Object.keys(defaults).forEach(function(key){ settings[key] = options[key] !== undefined ? options[key] : defaults[key]; }); if (img.complete) { load(); } img.addEventListener('load', load); }; // Do nothing in IE9 or below if (typeof window.btoa !== 'function') { return function(elements) { return elements; }; } else { return function(elements, options) { if (elements && elements.length) { Array.prototype.forEach.call(elements, function (node) { main(node, options); }); } else if (elements && elements.nodeName) { main(elements, options); } return elements; }; } }()); wheelzoom(document.querySelectorAll('img')); </script> }(set: $inv to (a:)) (set: $item to (dm: 'name', 'ITEM NAME', 'list', 'ITEM LISTED NAME', 'image00', 'IMAGE0', 'image01', 'IMAGE1', 'image02', 'IMAGE2', 'description', 'ITEM DESCRIPTION' )) (set: $itemAxe to (dm: 'name', 'Splitting Axe', 'list', 'Splitting Axe', 'image00', '<img src="images/items/splitting-axe-00.png">', 'image01', '<img src="images/items/splitting-axe-01.png">', 'imageBloody00', '<img src="images/items/splitting-axe-bloody-00.png">', 'imageBloody01', '<img src="images/items/splitting-axe-bloody-01.png">', 'description', "Indelible stains darken the axe's handle around the beard. The heavy head is intended for a downward swing of splitting wood, cleaving along with the grain of wood, rather than across it. It would do just as well for Gavril's purpose." )) (set: $itemPheasant to (dm: 'name', 'Pheasant', 'list', 'Pheasant', 'image00', '<img src="images/items/pheasant-00.png">', 'image01', '<img src="images/items/pheasant-01.png">', 'description', "This pheasant was poached off a lord's estate earlier in the day, an act which precipitated the dog bite on Gavril's arm. The bird is the plan for dinner tonight." )) (set: $itemPheasantFeathers to (dm: 'name', 'Pheasant Tail Feathers', 'list', 'Pheasant Tail Feathers', 'image00', '<img src="images/items/pheasant-tail-00.png">', 'image01', '<img src="images/items/pheasant-tail-01.png">', 'image02', '<img src="images/items/pheasant-tail-02.png">', 'image03', '<img src="images/items/pheasant-tail-03.png">', 'imageBroken00', '<img src="images/items/pheasant-tail-broken-00.png">', 'imageBroken01', '<img src="images/items/pheasant-tail-broken-01.png">', 'imageBroken02', '<img src="images/items/pheasant-tail-broken-02.png">', 'imageBroken03', '<img src="images/items/pheasant-tail-broken-03.png">', 'description', "Like anything elevated to discretionary status, pheasants are symbols of people's whims, from nobility to sexuality to death. Warriors, mystics, prophets, and poets appear inclined to channeling confidence from so-imbued items plucked from creatures sacred in parts. In a Saracielean funeral rite, which Gavril had learned about one night at the institution, burying the dead with a pheasant tail feather ensured the soul of the deceased could sign his or her name at the Tower of Tongues. This rite assumed one had the ability to write one's own name--and that one even had a name. Otherwise, entry was forbidden. There were many stories about urchins and rogues attempting to steal into the eternal library, as well as certain lessons of morality to be had from their attempts, but Gavril had wandered off without hearing those adventures. Knowing people take pains to acquire common materials they consecrate is enough to go by. Gavril saves the feathers to make a profit from anyone who might see value in them." )) (set: $itemCigarettes to (dm: 'name', 'Cigarettes ((print: $itemCigaretteCount))', 'list', 'Cigarettes ((print: $itemCigaretteCount))', 'image00', '<img src="images/items/cigarette-tin-koshka-harvest-face.png">', 'image01', '<img src="images/items/cigarette-tin-koshka-harvest-open-05.png">', 'image02', '<img src="images/items/cigarette-tin-koshka-harvest-close-05.png">', 'imageClose00', '<img src="images/items/cigarette-tin-koshka-harvest-close-00.png">', 'imageClose01', '<img src="images/items/cigarette-tin-koshka-harvest-close-01.png">', 'imageClose02', '<img src="images/items/cigarette-tin-koshka-harvest-close-02.png">', 'imageClose03', '<img src="images/items/cigarette-tin-koshka-harvest-close-03.png">', 'imageClose04', '<img src="images/items/cigarette-tin-koshka-harvest-close-04.png">', 'imageOpen00', '<img src="images/items/cigarette-tin-koshka-harvest-open-00.png">', 'imageOpen01', '<img src="images/items/cigarette-tin-koshka-harvest-open-01.png">', 'imageOpen02', '<img src="images/items/cigarette-tin-koshka-harvest-open-02.png">', 'imageOpen03', '<img src="images/items/cigarette-tin-koshka-harvest-open-03.png">', 'imageOpen04', '<img src="images/items/cigarette-tin-koshka-harvest-open-04.png">', 'description', "(if: $itemCigaretteCount > 0)[The Black Koshka cigarettes are rolled and sorted inside a hinged tin decorated for the harvest season. Gavril could sell the tin to collectors or back to manufacturers once he was through with its contents. The cigarettes taste full and deep and so strongly of clove that they prick the eyes, claw through the lungs, sizzle the nostrils, and invite a cottony dizziness into the head. Gavril has (if: $itemCigaretteCount > 1)[(print: $itemCigaretteCount) cigarettes](else:)[one cigarette] left.](else:)[Gavril is quite aware that he has run out of cigarettes. Who knows when he will find another one?]"))(set: $entry to (dm: 'title', 'ENTRY TITLE', 'description', 'ENTRY DESCRIPTION', 'owned', false, 'done', false, 'scored', false )) (set: $entryCleanWound to (dm: 'description', 'wash arm', 'owned', false, 'done', false, 'scored', false )) (set: $entryEnterBothy to (dm: 'description', 'go inside', 'owned', false, 'done', false, 'scored', false )) (set: $entryBuildFire to (dm: 'description', 'build fire', 'owned', false, 'done', false, 'scored', false )) (set: $entryCook to (dm: 'description', 'prep dinner', 'owned', false, 'done', false, 'scored', false )) (set: $entryGetAxe to (dm: 'description', 'get axe', 'owned', false, 'done', false, 'scored', false )) (set: $entrySplitFirewood to (dm: 'description', 'split wood', 'owned', false, 'done', false, 'scored', false ))(set: $noteList to (a:)) (set: $note to (dm: 'name', 'NOTE NAME', 'description', "NOTE DESCRIPTION" )) (set: $noteWoodcutterBlock to (dm: 'name', "Weeping Witch Trees", 'description', "There was a legend about weeping witch trees near the mountainous border of Scarsgar. Unlike most elsewhere in Harrow Les, these ash trees had coarse charcoal bark and no foliage upon their drooping limbs. Instead of drinking sunlight, they drank blood. Mandrakes flourished beneath their skirts, for men were compelled to hang themselves from the branches upon the sight of their grief. One winter long ago, a group of lumberers was tasked to clear a copse of witch trees for a road. In their journals, the lumberers reported hearing shrieks coming from the trees at the first axe blows. The flesh of the trunks, and the fluid spurting from the gashes, was as red as blood. Affrighted but not as discouraged, the lumberers continued trudging upon mandrakes and felling trees one after another, till by evening, they came upon the last witch tree. The tree was an elder, thick and knotty with branches which twisted down and stroked mandrake rosettes. Rather than made brittle and broken, the tree appeared more hardened in age. It would be toilsome to take down. The lumberers decided to engage with it the morning following and retired to their camp. Never did they get to it. Days later, when their supervisors arrived to berate them for delays, they found the camp had been abandoned. The supervisors followed a trail of discarded clothing leading them further into the work site, where they discovered the ancient tree and a silhouette of horror against a colorless sky: shreds of the lumberers' skins and entrails draped across the branches, as if the tree had plucked apart each man and organ with interest most exquisite." )) (set: $noteTheOldWays to (dm: 'name', 'The Old Ways', 'description', "Creatures of the night had begun roaming. Grey wolves of Harrow Les were larger and bolder than any other in Caireleon, and not too off the highway in a lull of birdsong did Gavril spy tracks of a loner--a desperate kind of animal. If it had not been wasted to bone by starvation, it would have been urged to risks by the very same pangs. The witches had said animals, from little insects to great beasts, still walked the Old Ways. Only when the skies were black, perhaps save for the portal of the moon, could humans momentarily become attuned to the ancient instincts they had long lost. In those quiet hours, humans regained the hunger of beasts, luck was as bad as convenient, madness illuminated, and lords of darkness granted forbidden wishes. Yet it was only fear of the night for which people devised excuses. Gavril did not fear it, but a starving lone wolf on the prowl commanded more advantages in those hours than he, so he took a practical eye to the relationship. There was no need to prove grit, pride, or glory by wandering blind into the fog, and he needed not make up tales to say so." )) (set: $noteCountyDaley to (dm: 'name', 'After the War', 'description', "When they had said the war had ended, Gavril found himself crossing the patchwork crop fields, pastures, and vineyards of County Daley with no employment, no home, and no family to return to. He had none before the summoning, either, so it was just as well. In Daley, he took up odd jobs along the wildflower roads, but work unpaid or paid by pursuit kept him from settling. When he passed the county line into Harrow, he embraced the advantages of the sepulchural forest and its inherent deterrents. He crept into an abandoned Calaiean asylum, which was crumbling under devil's porridge, and made a small fire in the kitchen to ward off the cold. The cold was the least of his worries. Deep into the night, as he considered staying for another, there was a stirring from the blackness of the basement, and he knew then he was not alone." )) (set: $noteOrphanage to (dm: 'name', 'Orphanage', 'description', "Along the water crags perched the old city Duskair, which guarded in itself, among fugitives and scourges of the sea, a cold and damp Calaiean orphanage where Gavril had spent his cub years in trouble, in punishment, and imprisoned. Nights were of the isolated drips on tin buckets and sagging confines, the sea fog shushing his misery, and the currachs by the piers, creaking on about shores he could never see. Salt was in his eyes, in his ears, and on his tongue, but he had not even a taste of freedom. It was the deep churning of the abyss--a dream of drowning, deafening as it was deadening--which rocked him to sleep night after night." )) (set: $noteCircle to (dm: 'name', 'The Circle', 'description', "The Circle was the predominant religion of Calaiel the Judge, the Heartless, God of Life and Death, Ends and Endlessness. While most observance was stark and humble, a deep crimson red represented the hole where Calaiel's heart had once been inside his bosom. Red ribbons, flags, and banners marked holy days. Bishops were gowned in the color. Ardent members of Scions of the Circle, the youth organization of the Circle, adored the red scarves, sashes, and arm bands which contrasted against their grey rainment. Long ago, where the walls dripped and the sea salted his wounds, Gavril had been bound by that red." )) (set: $noteGirl to (dm: 'name', 'Girl', 'description', 'The girl had life in her. No longer.' ))(set: $observation to (dm: 'girlName', false, 'girlBasket', false, 'girlHistory', false, 'girlMother', false, 'girlGrandmother', false, 'girlMarked', false, 'girlMove', false, 'touchGirl', false, 'searchBasket', false, 'searchBasket2', false, 'girlFeather', false, 'chopGirl', false, 'returnAxe', false, 'washMorning', false, 'watchStream', false, 'bloodStump', false, 'cigarettesNone', false )) <!-- OBSERVATION DESCRIPTION --> (set: $obsGirlName to "<div class='bullet'>Learned the girl's name.</div>") (set: $obsGirlBasket to "<div class='bullet'>Learned the basket contains biscuits.</div>") (set: $obsGirlHistory to "<div class='bullet'>Learned the bothy used to belong to the girl's grandmother.</div>") (set: $obsGirlMother to "<div class='bullet'>Learned the girl had a concerned mother.</div>") (set: $obsGirlGrandmother to "<div class='bullet'>Learned the girl's grandmother was accused of witchcraft.</div>") (set: $obsGirlMarked to "<div class='bullet'>Talked about the brimstone cross brand.</div>") (set: $obsGirlMove to "<div class='bullet'>Thought the girl made a movement.</div>") (set: $obsTouchGirl to "<div class='bullet'>Touched the girl's belly.</div>") (set: $obsSearchBasket to "<div class='bullet'>Finished off the goods in the basket.</div>") (set: $obsSearchBasket2 to "<div class='bullet'>Completely finished off the goods in the basket, and the other scraps besides.</div>") (set: $obsGirlFeather to "<div class='bullet'>Thought about leaving a feather on the body.</div>") (set: $obsChopGirl to "<div class='bullet'>Thought about chopping up the body.</div>") (set: $obsReturnAxe to "<div class='bullet'>Returned the axe.</div>") (set: $obsWashMorning to "<div class='bullet'>Washed in the stream in the morning.</div>") (set: $obsWatchStream to "<div class='bullet'>Watched the current in the stream.</div>") (set: $obsBloodStump to "<div class='bullet'>The woodcutter's block appeared to be gurgling up blood.</div>") (set: $obsCigarettesNone to "<div class='bullet'>Ran out of cigarettes.</div>")(set: $score to (dm: 'itemName', 'Items', 'entryName', 'Entries', 'noteName', '$noteName', 'observationName', '$observationName', 'itemCount', 0, 'entryCount', 0, 'noteCount', 0, 'observationCount', 0, 'itemMax', 4, 'entryMax', 6, 'noteMax', 6, 'observationMax', 17 ))(set: $score's itemCount to it + 1)(set: $score's entryCount to it + 1)(set: $score's noteCount to it + 1)(set: $score's observationCount to it + 1)(print: "<progress value='" + (text: $scoreCount) + "' max='" + (text: $scoreMax) + "'></progress>"){ <div class='score-option'> (set: $scoreCount to $score's itemCount) (set: $scoreMax to $score's itemMax) (if: $scoreCount is $scoreMax)[ <div class='col-score-name score-done'>$scoreItem</div> <div class='col-score-bar score-done'>(display: 'scoreBar')</div>] (else:)[ <div class='col-score-name'>$scoreItem</div> <div class='col-score-bar'>(display: 'scoreBar')</div>] </div> }{ <div class='score-option'> (set: $scoreCount to $score's entryCount) (set: $scoreMax to $score's entryMax) (if: $scoreCount is $scoreMax)[ <div class='col-score-name score-done'>$scoreEntry</div> <div class='col-score-bar score-done'>(display: 'scoreBar')</div>] (else:)[ <div class='col-score-name'>$scoreEntry</div> <div class='col-score-bar'>(display: 'scoreBar')</div>] </div> }{ <div class='score-option'> (set: $scoreCount to $score's noteCount) (set: $scoreMax to $score's noteMax) (if: $scoreCount is $scoreMax)[ <div class='col-score-name score-done'>$scoreNote</div> <div class='col-score-bar score-done'>(display: 'scoreBar')</div>] (else:)[ <div class='col-score-name'>$scoreNote</div> <div class='col-score-bar'>(display: 'scoreBar')</div>] </div> }{ <div class='score-option'> (set: $scoreCount to $score's observationCount) (set: $scoreMax to $score's observationMax) (if: $scoreCount is $scoreMax)[ <div class='col-score-name score-done'>$scoreObservation</div> <div class='col-score-bar score-done'>(display: 'scoreBar')</div>] (else:)[ <div class='col-score-name'>$scoreObservation</div> <div class='col-score-bar'>(display: 'scoreBar')</div>] </div> }{ $anchorHeader <!-- DISPLAY SCORE --> <div class='grid-score'> (display: 'scoreTitle')<br> <div class='score-option'>(linkgoto: "(display: 'optionScoreInventory')</div>",'inventoryMenu')</div> <div class='score-option'>(linkgoto: "(display: 'optionScoreJournal')",'journalMenu')</div> <div class='score-option'>(linkgoto: "(display: 'optionScoreNotes')",'noteMenu')</div> <div class='score-option'>(linkgoto: "(display: 'optionScoreObservation')",'observationMenu')</div> </div> (link: $toggleClose)[(replace: ?textScoreHeader)[(display: 'oViewScore')]] }{ (replace: ?textScore)[(display: 'displayScore')] (link: $toggleCloseProgress)[(replace: ?textScoreHeader)[(display: 'oViewScore')]] }{ <div class='header-main'> <h1>(print: $game's title)</h1> <h2>(print: $game's series)</h2> <h3>(print: $game's author) | (print: $game's version)</h3> </div> } { <div class='game-menu-container'> (display: 'synopsis') (link: "(print: $game's coverArtHover)")[(goto: $returnLocation)] <div class='oc'> (display: 'oContinueGame') (display: 'oLoadGame') (display: 'oStartGameNew') </div> |textScoreHeader>[](display: 'oViewScore')|textScore>[] </div> |textReset>[] }- Header includes main navigation menu. - Footer includes game menu, save menu, and return link/close button.{ <!-- PASSAGE HISTORY --> (unless: (passage:)'s tags contains 'menu' or (passage:)'s tags contains 'eventReturn' or (passage:)'s tags contains 'event')[(set: $returnLocation to (passage:)'s name)] <!-- MAIN HEADER --> (unless: (passage:)'s tags contains 'eventReturn' or (passage:)'s tags contains 'event' or (passage:)'s name contains 'gameInfo' or (passage:)'s tags contains 'endStory' or (passage:)'s tags contains 'title')[(display: 'navMenu')] }{ <!-- RETURN LINK --> (if: (passage:)'s tags contains 'eventReturn')[<br>$oReturn] (if: (passage:)'s tags contains 'endStory')[ <div class='oc'><br><br>(link: 'END')[(reload:)]</div> |textScoreHeader>[](display: 'oViewScore')|textScore>[] ] }{ <!-- MAIN FOOTER --> <!-- SHOW ITEM ADDED --> (if: $displayItemAdded)[ <div class='item-small'>(display: 'itemInteract')(display: 'itemDisplay')</div> (set: $displayItemAdded to false) ] <!-- IF NOT EVENT, SHOW GAME MENU FOOTER --> (if: (passage:)'s tags contains 'eventReturn' or (passage:)'s tags contains 'event' or (passage:)'s tags contains 'endStory')[<!--do nothing-->] (else:)[(display: 'gameMenu')] }{<span class='b'>$oClose</span>}{ <nav> <div class='col-nav-left'><div class='b'> (display: 'bInventory') (display: 'bJournal') (display: 'bNotes') (display: 'bObservations') </div></div> <div class='col-nav-right'> (display: 'cardMenu') </div> </nav> }{ (if: (passage:)'s tags contains 'game-menu')[ <footer><div class='grid-footer'> <div class='col-footer-left'>(display: 'bGameInfo')</div> <div class='col-footer-right'>(display: 'bChangeGameTheme')(display: 'bChangeFontSize')(display: 'bClose')</div> </footer> ] (elseif: (passage:)'s tags contains 'title')[ <footer><div class='grid-footer'> <div class='col-footer-left'></div> <div class='col-footer-right'>(display: 'bChangeGameTheme')(display: 'bChangeFontSize')</div> </footer> ] (elseif: (passage:)'s tags contains 'menu')[ <footer><div class='grid-footer'> <div class='col-footer-left'>(display: 'bGameInfo')</div> <div class='col-footer-right'>(display: 'bClose')</div> </div></footer>] (else:)[ <!-- MAP --> $anchorHeader (display: 'map') |mapThumbnailHeader>[](display: 'oViewMapThumbnail')|mapThumbnail>[] <!-- FOOTER --> <footer><div class='grid-footer'> <div class='col-footer-left'>(display: 'bGameInfo')</div> <div class='col-footer-right'>(display: 'bSave')(display: 'bLoad')</div> </div></footer> ] }{ <span class='b'> (unless: (passage:)'s name contains 'gameInfo')[(linkgoto: '$gameInfo', 'gameInfo')] (else:)[(linkgoto: "<span class='grey'>$gameInfo</span>", '$returnLocation')] </span> }{ <span class='b'> (link: $oSave)[ (if: (savegame: $savefile))[$oSaved] (else:)[(set: $dialogSaveFail to (dialog: "<h1>Save Failed</h1>The game could not be saved.", "Return."))] ]</span> }{ <span class='b'> (if: (saved-games:) contains $savefile)[ (link: $oLoad)[(loadgame: $savefile)] (else:)[(set: $dialogLoadFail to (dialog: "<h1>Load Failed</h1>No saved story could be found.", "Return."))]] (else:)[$oLoadNoFile]</span> }Character card portraits.{ (display: 'bPortraitCardPlayer') }<div class='card'>(print: $player's portrait)<div class='card-name'><h1>(print: $player's title)</h1>(print: $player's nameFull)</div></div><div class='card-small hover-opacity'>(print: $player's portraitS)</div><div class='card-small opacity-highlight'>(print: $player's portraitS)</div><div class='card-decision'>(print: $player's portraitD)</div>(unless: (passage:)'s name contains 'portraitPlayer')[(linkgoto: "(display: 'portraitCardPlayerHover')", 'portraitPlayer')](else:)[(linkgoto: "(display: 'portraitCardPlayerHoverHighlight')", $returnLocation)]{ <div class='header-main'> <h1>Portrait of (print: $player's title)</h1> <h2>(print: $player's nameFull)</h2> </div> } { <div class='grid-card'> <div class='col-card'>(link: "(print: $player's portraitH)")[(goto: $returnLocation)]</div> <div class='col-info-card'>(print: $player's description)</div> </div> } $oTop{ (if: (history:) contains 'bothySplitFirewood')[ (set: $player's portrait to '<div class="portrait-gavril-shadow-shirtless-scruff-dog-bite"></div>') (set: $player's portraitS to '<div class="portrait-gavril-shadow-shirtless-scruff-dog-bite small"></div>') (set: $player's portraitD to '<div class="portrait-gavril-shadow-shirtless-scruff-dog-bite decision"></div>') (set: $player's portraitH to '<div class="portrait-gavril-shadow-shirtless-scruff-dog-bite hover-opacity"></div>') ] (else:)[ (set: $player's portrait to '<div class="portrait-gavril-shadow-mask-down-scruff"></div>') (set: $player's portraitS to '<div class="portrait-gavril-shadow-mask-down-scruff small"></div>') (set: $player's portraitD to '<div class="portrait-gavril-shadow-mask-down-scruff decision"></div>') (set: $player's portraitH to '<div class="portrait-gavril-shadow-mask-down-scruff hover-opacity"></div>') ] }- Game themes - Font size<span class='b'>(linkrepeat: $bGameThemeName)[(if: not $gameThemeDark)[(display: 'gameThemeSetDark')](else:)[(display: 'gameThemeSetLight')]]</span>{ (print: "<script>document.documentElement.style.setProperty('--color-bg', '#f5f6f7')</script>") (print: "<script>document.documentElement.style.setProperty('--color-bg-semi-transparent', '#f5f6f7CC')</script>") (print: "<script>document.documentElement.style.setProperty('--color-bg-light', '#fafbfc')</script>") (print: "<script>document.documentElement.style.setProperty('--color-font-body', '#606162')</script>") (print: "<script>document.documentElement.style.setProperty('--color-font-light', '#969798')</script>") (print: "<script>document.documentElement.style.setProperty('--color-font-disabled', '#b4b5b6')</script>") (print: "<script>document.documentElement.style.setProperty('--color-link', '#728296')</script>") (print: "<script>document.documentElement.style.setProperty('--color-link-hover', '#425160')</script>") (print: "<script>document.documentElement.style.setProperty('--color-border', '#dcddde')</script>") (print: "<script>document.documentElement.style.setProperty('--color-border-transparent', '#f5f6f700')</script>") (print: "<script>document.documentElement.style.setProperty('--color-border-dialogue', '#c8c9ca')</script>") (set: $gameThemeDark to false) }{ (print: "<script>document.documentElement.style.setProperty('--color-bg', '#202122')</script>") (print: "<script>document.documentElement.style.setProperty('--color-bg-semi-transparent', '#202122CC')</script>") (print: "<script>document.documentElement.style.setProperty('--color-bg-light', '#404142')</script>") (print: "<script>document.documentElement.style.setProperty('--color-font-body', '#b4b5b6')</script>") (print: "<script>document.documentElement.style.setProperty('--color-font-light', '#b4b5b6')</script>") (print: "<script>document.documentElement.style.setProperty('--color-font-disabled', '#717273')</script>") (print: "<script>document.documentElement.style.setProperty('--color-link', '#aeb6c3')</script>") (print: "<script>document.documentElement.style.setProperty('--color-link-hover', '#c8c9ca')</script>") (print: "<script>document.documentElement.style.setProperty('--color-border', '#606162')</script>") (print: "<script>document.documentElement.style.setProperty('--color-border-transparent', '#60616200')</script>") (print: "<script>document.documentElement.style.setProperty('--color-border-dialogue', '#606162')</script>") (set: $gameThemeDark to true) }<span class='b'>(linkrepeat: $bGameFontSizeName)[(if: not $gameFontSizeLarge)[(display: 'gameFontSizeSetLarge')](else:)[(display: 'gameFontSizeSetDefault')]]</span>{ (print: "<script>document.documentElement.style.setProperty('--value-font-size-default', '0.93em')</script>") (print: "<script>document.documentElement.style.setProperty('--value-line-height-default', '1.7em')</script>") (print: "<script>document.documentElement.style.setProperty('--value-font-size-header', '150%')</script>") (set: $gameFontSizeLarge to false) }{ (print: "<script>document.documentElement.style.setProperty('--value-font-size-default', '1.2em')</script>") (print: "<script>document.documentElement.style.setProperty('--value-line-height-default', '2.0em')</script>") (print: "<script>document.documentElement.style.setProperty('--value-font-size-header', '155%')</script>") (set: $gameFontSizeLarge to true) }Messages using <div class='m'></div>{ <div class='m'>(print: $item's name) added to inventory.</div> (set: $displayItemAdded to true) }{<div class='m'>(print: $item's name) removed from inventory.</div>}{<div class='m'>(if: $player's gender is 'male')[(print: $player's name) updated his (print: $player's journalLC).](elseif: $player's gender is 'female')[(print: $player's name) updated her (print: $player's journalLC).](else:)[(print: $player's name) updated their (print: $player's journalLC).]</div>}{<div class='m'>(print: $player's name) noted (print: $note's name).</div>}Main game menus.(unless: (passage:)'s name contains 'inventoryMenu')[(linkgoto: $inventoryName, 'inventoryMenu')](else:)[(linkgoto: "<span class='grey'>$inventoryName</span>", '$returnLocation')](unless: (passage:)'s name contains 'journalMenu')[(linkgoto: "(print: $player's journal)", 'journalMenu')](else:)[(linkgoto: "<span class='grey'>(print: $player's journal)</span>", '$returnLocation')](unless: (passage:)'s name contains 'noteMenu')[(linkgoto: $noteName, 'noteMenu')](else:)[(linkgoto: "<span class='grey'>$noteName</span>", '$returnLocation')](unless: (passage:)'s name contains 'observationMenu')[(linkgoto: $observationName, 'observationMenu')](else:)[(linkgoto: "<span class='grey'>$observationName</span>", '$returnLocation')]{ <div class='header-main'> <h1>(print: $player's name)'s $inventoryName</h1> </div> } { <div class='grid-menu'> <div class='col-list'>(display: 'itemList')</div> <div class='col-info'>|textInfo>[]</div> </div> }{ <div class='header-main'> <h1>(print: $player's name)'s (print: $player's journal)</h1> </div> } { (if: $entryCleanWound's owned)[(display: 'entryCleanWound')] { (if: $entryEnterBothy's owned)[ (display: 'entryEnterBothy') (if: $entryEnterBothy's done)[ (display: 'entryBuildFire')]] } (if: $entryCook's owned)[(display: 'entryCook')] (if: $entryGetAxe's owned or $inv contains $itemAxe)[(display: 'entryGetAxe')] (if: $entrySplitFirewood's owned)[(display: 'entrySplitFirewood')] } $oTop{ <div class='header-main'> <h1>(print: $player's name)'s $noteName</h1> </div> } { <div class='grid-menu'> <div class='col-list'>(display: 'noteList')</div> <div class='col-info'>|textInfo>[]</div> </div> }{ <div class='header-main'> <h1>(print: $player's name)'s $observationName</h1> </div> } { (if: $observation's girlName)[$obsGirlName](else:)[$observationHidden] (if: $observation's girlBasket)[$obsGirlBasket](else:)[$observationHidden] (if: $observation's girlHistory)[$obsGirlHistory](else:)[$observationHidden] (if: $observation's girlMother)[$obsGirlMother](else:)[$observationHidden] (if: $observation's girlGrandmother)[$obsGirlGrandmother](else:)[$observationHidden] (if: $observation's girlMarked)[$obsGirlMarked](else:)[$observationHidden] (if: $observation's girlMove)[$obsGirlMove](else:)[$observationHidden] (if: $observation's touchGirl)[$obsTouchGirl](else:)[$observationHidden] (if: $observation's girlFeather)[$obsGirlFeather](else:)[$observationHidden] (if: $observation's chopGirl)[$obsChopGirl](else:)[$observationHidden] (if: $observation's returnAxe)[$obsReturnAxe](else:)[$observationHidden] (if: $observation's searchBasket)[$obsSearchBasket](else:)[$observationHidden] (if: $observation's searchBasket2)[$obsSearchBasket2](else:)[$observationHidden] (if: $observation's bloodStump)[$obsBloodStump](else:)[$observationHidden] (if: $observation's washMorning)[$obsWashMorning](else:)[$observationHidden] (if: $observation's watchStream)[$obsWatchStream](else:)[$observationHidden] (if: $observation's cigarettesNone)[$obsCigarettesNone](else:)[$observationHidden] } $oTop{ (if: $inv's length <= 0)[$observationHidden](else:)[ <div class='o'> (for: each _item, ...$inv)[(linkrepeat: _item's list)[(replace: ?textInfo)[(set: $item to _item)(display: 'itemDescription')$goToAnchorHeader]]] </div>] } $anchorHeader<h1>(print: $item's name)</h1> (print: $item's description) (display: 'itemInteract')(display: 'itemDisplay') $oTop{ (if: $noteList's length <= 0)[$observationHidden](else:)[ <div class='o'> (for: each _item, ...$noteList)[(linkrepeat: _item's name)[(replace: ?textInfo)[(set: $note to _item)(display: 'noteDescription')$goToAnchorHeader]]] </div>] } $anchorHeader<h1>(print: $note's name)</h1> (print: $note's description) $oTopManage items.{ (set: $inv to it + (a: $item)) (display: 'addScoreItem') (display: 'messageItemAdd') }{ (set: $inv to it + (a: $item)) (display: 'addScoreItem') }{ (if: $inv contains $item)[ (set: $inv to it - (a: $item)) (display: 'messageItemRemove')] }{ (if: $inv contains $item)[ (set: $inv to it - (a: $item))] }{ (set: $item to $itemCigarettes) (display: 'invAddNoMessage') }{ (set: $item to $itemCigarettes) (display: 'addObservationCigarettesNone') }{ (set: $item to $itemPheasant) (display: 'invAddNoMessage') }{ (set: $item to $itemAxe) (if: not $itemAxeScored)[ (set: $itemAxeScored to true) (display: 'invAdd')] (else:)[ (set: $inv to it + (a: $item)) (display: 'messageItemAdd') ] }{ (set: $item to $itemAxe) (display: 'invRemove') }{ (set: $item to $itemPheasantFeathers) (display: 'invAdd') }{ (set: $item to $itemPheasantFeathers) (display: 'invRemove') }Manage journal entries.{(if: $entryCleanWound's done)[(print: "<div class='bullet strike'>" + $entryCleanWound's description + "</div>")] (else:)[(print: "<div class='bullet'>" + $entryCleanWound's description + "</div>")]}{(if: not $entryCleanWound's owned)[(set: $entryCleanWound's owned to true)]}{ (if: not $entryCleanWound's done)[ (set: $entryCleanWound's done to true) (display: 'messageJournalUpdate') (if: not $entryCleanWound's scored)[ (set: $entryCleanWound's scored to true) (display: 'addScoreEntry')] ] }{(if: $entryEnterBothy's done)[(print: "<div class='bullet strike'>" + $entryEnterBothy's description + "</div>")] (else:)[(print: "<div class='bullet'>" + $entryEnterBothy's description + "</div>")]}{(if: not $entryEnterBothy's owned)[(set: $entryEnterBothy's owned to true)]}{ (if: not $entryEnterBothy's done)[ (set: $entryEnterBothy's done to true) (display: 'messageJournalUpdate') (if: not $entryEnterBothy's scored)[ (set: $entryEnterBothy's scored to true) (display: 'addScoreEntry')] ] }{(if: $entryBuildFire's done)[(print: "<div class='bullet strike'>" + $entryBuildFire's description + "</div>")] (else:)[(print: "<div class='bullet'>" + $entryBuildFire's description + "</div>")]}{(if: not $entryBuildFire's owned)[(set: $entryBuildFire's owned to true)]}{ (if: not $entryBuildFire's done)[ (set: $entryBuildFire's done to true) (display: 'messageJournalUpdate') (if: not $entryBuildFire's scored)[ (set: $entryBuildFire's scored to true) (display: 'addScoreEntry')] ] }{(if: $entryCook's done)[(print: "<div class='bullet strike'>" + $entryCook's description + "</div>")] (else:)[(print: "<div class='bullet'>" + $entryCook's description + "</div>")]}{(if: not $entryCook's owned)[(set: $entryCook's owned to true)]}{ (if: not $entryCook's done)[ (set: $entryCook's done to true) (display: 'addEntryGetAxe') (display: 'addEntrySplitFirewood') (display: 'messageJournalUpdate') (if: not $entryCook's scored)[ (set: $entryCook's scored to true) (display: 'addScoreEntry')] ] }{(if: $entryGetAxe's done)[(print: "<div class='bullet strike'>" + $entryGetAxe's description + "</div>")] (else:)[(print: "<div class='bullet'>" + $entryGetAxe's description + "</div>")]}{(if: not $entryGetAxe's owned)[(set: $entryGetAxe's owned to true)]}{ (if: not $entryGetAxe's done)[ (set: $entryGetAxe's done to true) (display: 'messageJournalUpdate') (if: not $entryGetAxe's scored)[ (set: $entryGetAxe's scored to true) (display: 'addScoreEntry')] ] }{(if: $entrySplitFirewood's done)[(print: "<div class='bullet strike'>" + $entrySplitFirewood's description + "</div>")] (else:)[(print: "<div class='bullet'>" + $entrySplitFirewood's description + "</div>")]}{(if: not $entrySplitFirewood's owned)[(set: $entrySplitFirewood's owned to true)]}{ (if: not $entrySplitFirewood's done)[ (set: $entrySplitFirewood's done to true) (if: not $entrySplitFirewood's scored)[ (set: $entrySplitFirewood's scored to true) (display: 'addScoreEntry')] ] }Manage notes.{ (set: $noteList to it + (a: $note)) (display: 'addScoreNote') (display: 'messageNoteAdd') }{ (set: $note to $noteWoodcutterBlock) (display: 'noteAdd') }{ (set: $note to $noteTheOldWays) (display: 'noteAdd') }{ (set: $note to $noteCountyDaley) (display: 'noteAdd') }{ (set: $note to $noteOrphanage) (display: 'noteAdd') }{ (set: $note to $noteCircle) (display: 'noteAdd') }Manage observations.{ (set: $observation's girlName to true) (display: 'addScoreObservation') }{ (set: $observation's girlBasket to true) (display: 'addScoreObservation') }{ (set: $observation's girlHistory to true) (display: 'addScoreObservation') }{ (set: $observation's girlMove to true) (display: 'addScoreObservation') }{ (set: $observation's touchGirl to true) (display: 'addScoreObservation') }{ (set: $observation's searchBasket to true) (display: 'addScoreObservation') }{ (set: $observation's girlFeather to true) (display: 'addScoreObservation') }{ (set: $observation's chopGirl to true) (display: 'addScoreObservation') }{ (set: $observation's returnAxe to true) (display: 'addScoreObservation') }{ (set: $observation's girlMother to true) (display: 'addScoreObservation') }{ (set: $observation's girlGrandmother to true) (display: 'addScoreObservation') }{ (set: $observation's washMorning to true) (display: 'addScoreObservation') }{ (set: $observation's girlMarked to true) (display: 'addScoreObservation') }{ (set: $observation's watchStream to true) (display: 'addScoreObservation') }{ (set: $observation's bloodStump to true) (display: 'addScoreObservation') }{ (if: $itemCigaretteCount > 0)[ (set: $itemCigaretteCount to it - 1) (if: not $observation's cigarettesNone and $itemCigaretteCount <= 0)[ (set: $observation's cigarettesNone to true) (display: 'addScoreObservation')] ] }Game title, shown on startup. "Start Story Here" on "title" passage.{ <div class='header-main'> <h1>(print: $game's title)</h1> <h2>(print: $game's series)</h2> </div> } { <div class='game-menu-container'> (display: 'synopsis') (link: "(print: $game's coverArtHover)")[(goto: $game's startPassage)] (display: 'displayTitleOptions') </div> }<div class='synopsis'>(print: $game's synopsis)</div>{ <div class='header-main'> <h1>(print: $forest's path)</h1> <h2>(print: $forest's name)</h2> </div> } Gavril did not blame dogs. His small years had been spent shaking, drooling, and bleeding in the alleys of Duskair amongst cornered beasts and their masters. Now in the depths of Harrow Les, he was far from the crashes of the western coast, but the waves were still calling him home. He held his elbow above a raw forearm, which had been split by an animal that had known no other way. If he could smell the insides of his own flesh, so could others who had a lapping for blood. Earlier in the day a shortcut off the railway had found him on private estate grounds. The scene was verdant and reserved, hardly touched by the war. Curiosity, opportunity, and an empty stomach turned him to temptation. The pheasants were contained; the dogs, chained; and the gamekeeper, out of sight. Several of the birds were ripening in the next shed over. Gavril stole into the storehouse and patted through the flock. He had barely bagged a prize when he heard shuffling and a strike, then smelled sweat and smoke. A fellow rounded the corner, pinching a cigarette between his lips and flicking a match down into the mud. They came to face one another, and a lazy salutation drawled between them: <div class='d'>$GAVRIL Spare a kiss, well?</div> <div class='d'>$GAMEKEEPER Piss off.</div> Even as Gavril hopped the barbed wire, the gamekeeper's dog was on him. He did manage to escape with a bird, a rather small one. He headed toward low clouds. When he came across a highway, he lingered in the cover of the woods under a drizzle of rain. Although he had dressed the wound, his arm throbbed as if the dog were still clinging on. He thought to follow the road to the next town over and get it carved out by an unscrupulous surgeon. Instead, he cut across the highway, ducking from one thicket into another, out of scent of laymen and the law. Deep in the forest where the highway was a memory, the appearance of a cottage beneath an ash canopy made him wary. He was not looking to announce himself should a patrol happen by, but the bothy's dark windows and cold chimney appealed to his sense of security against other, more seasoned hunters of the forest. A stream flowed not too far from the bothy beyond a field of grass and moss. If Gavril were to stay the night, shelter and water were provided. { (display: 'setPlayer') <div class='o'>(linkgoto: 'Take a look round.', $startPassageLocation) }End story.{ <div class='o'>(linkgoto: 'Leave the bothy behind.', 'endStory')</div> }{ <div class='header-main'> <h1>(print: $endStory's name)</h1> </div> } The fog was the air at dawn, all in Gavril's eyes and nose and ears, spreading and growing whiter. It paled the path he was to take deeper into the forest, as if the depths faded to light. (if: $girlDeadInside)[Inside the bothy, there was peace. He had not made her desperate enough. Someone would make a story about her desperation.(if: $observation's touchGirl)[ Someone would make her try to save her shame.]](elseif: $girlDeadOutside)[She did see him, he was certain. She did turn, and she did look. He did not cross the bridge, for it was not his way.] Songbirds were awakening. (if: $inv contains $itemAxe)[He tossed the axe into the thicket, wearied of it. ]His arm throbbed, his head was heavy, and his gut clenched and coiled, but he gazed into the white sea before him and could not be kept from it. The institution did not seem so far away now. He followed the scent of rain into the forest erasure, and he whistled to the unseen warblers in the ash keys even as he knew they sang not for him. He was not one of their kind.Harrow Les{ <div class='o'> (unless: (passage:)'s name contains 'locationBothy')[(display: 'toBothy')] (unless: (passage:)'s name contains 'sceneStream')[(display: 'toStream')] (unless: (passage:)'s name contains 'locationPath' or (passage:)'s name contains 'startPassage')[(display: 'toPath')] </div> }{ (linkgoto: 'Go to the forest path.', 'locationPath') } { <div class='header-main'> <h1>(print: $forest's path)</h1> <h2>(print: $forest's name)</h2> </div> } { (if: $sleepEvent)[(display: 'path2')] (elseif: $girlDead)[(display: 'path1')(if: $girlDeadOutside and not $sleepEvent)[(display: 'interactBody')]] (else:)[(display: 'path0')(display: 'searchThicket')] (display: 'toForestScenes') } (if: $endStoryEnabled)[(display: 'toEndStory')]Ash of ancient girth loomed out of the fog. The forest seemed petrified but for trickling fireflies, motes weaving in the moonlight, and the sudden flutter of shadows that, once disturbed, returned into the thicket from which they fled. Among the roots stood a stone bothy. It was a stout building claimed by moss and ivy. A wooden bridge laid over a stream connected a path from the cottage to the direction of the highway, somewhere gone in the fog. { (if: $entryBuildFire's done)[ A warm glow filled the bothy windows.](else:)[ The bothy windows were black wells, the sort curious children fell into and afterward haunted.] (if: $entryCleanWound's done)[ The stream was a small ways from the building, beyond thick weaves of grass and moss.](else:)[ A look beyond the building, through a carpet of grass and moss, there was a stream where Gavril could dampen the swelling of his wound.] } Rain slickened the forest darkness so that the blackness itself seemed to gleam. The moon slipped through holes in the clouds and, as the sheets of rain came and went, shone down on the slouching bothy(if: $girlDeadOutside)[ and the crumpled mound on the bridge]. Although the storm had passed, rain lingered in the air, in the trees, in the earth, and over the bridge toward the highway.(if: $girlDeadOutside)[ The body was gone.] Player makes a choice from a selection of cards.{ <div class='grid-decision-option-hidden center-v'> <div class='col-option-info'>$optionHidden</div> </div> }{ <div class='grid-decision'> (linkgoto: "(display: 'optionName0')", 'selectedName0') (linkgoto: "(display: 'optionName1')", 'selectedName1') (linkgoto: "(display: 'optionName2')", 'selectedName2') (linkgoto: "(display: 'optionName3')", 'selectedName3') </div> }{ <div class='grid-decision-option'> <div class='col-option-info'>Naught's for (print: $player's name). Not yet.</div> </div> }{ <div class='grid-decision-option'> <div class='col-option-info'>A hard one like $name1 would do.</div> </div> }{ <div class='grid-decision-option'> <div class='col-option-info'>Let's in $name2.</div> </div> }The girl set her portion of the pheasant down on the counter. She had not stripped it, but she was done. <div class='d'>$GIRL Pleased to meet you, $selectedName. I'm $girlName.</div> <div class='d'>$GAVRIL A pleasure.</div> They remained on their seats, separated, and made no gestures to reach one another. (if: $speakGirl is false)[(set: $speakGirl to true)](display: 'addObservationGirlName'){ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Names</h3> </div> } Gavril was known to the witches at the institution. It was the name their redhead rogue went by when they called him to fetch, to play, to bed. He did not think too hard about it. <div class='d'>$GAVRIL $name0 is my name.</div> (set: $selectedName to $name0) (display: 'selectedNameGreet'){ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Names</h3> </div> } Gavril had known more than one $name1. One was a fourteen-year-old farmboy who made himself out to be sixteen so that he could join the army. After the war, Gavril and an old army comrade were taking rings from the dead when they spied the lad's tombstone. The old comrade remarked, "Imagine that? The little bur was eighteen after all." The comrade was Saracielean, and Gavril did not have cause to explain to him that $name1's mother made the day of birth on his gravestone as they saw it because she feared delivering her boy to Calaiel a liar. The other $name1 was a cat. <div class='d'>$GAVRIL $name1, they call me.</div> (set: $selectedName to $name1) (display: 'selectedNameGreet'){ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Names</h3> </div> } $name2 was the name of a keeper where Gavril had learned his manners. He thought $name2 might have been a butcher in a previous occupation because the man knew how to handle slabs of fresh meat coming and going, and he was selectively tender when he found a special cut. He had an abrasive red beard that smelled like rum, but his hands were even rougher. His fists were bricks, ruddy all over and coarse on the skin. His fingers scraped like oak bark, and when they ran over chapped lips, they made them split and bleed. He loved to jangle the chains--shake up the juices for flavor, as he used to shout, for there, everyone was shouting and screaming and shaking and juicy. <div class='d'>$GAVRIL $name2 is what I'm known by.</div> (set: $selectedName to $name2) (display: 'selectedNameGreet')Character interaction.{ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Names</h3> </div> } Gavril looked her up and down. He saw in her face and her stiff body that she did not like that. <div class='d'>$GAVRIL And what shall you be called?</div> She used the food scraps as a barrier, gazing upon them and then her toes instead of upon him. <div class='d'>$GIRL It's common courtesy that one introduce oneself before asking.</div> <div class='d'>$GAVRIL Would all arbitrary conditions be the guts of every sack from sky to sea, wouldn't I've a shoe off the pier, now wouldn't I've? No matter, well.</div> He would humor her because keeping her smile up made the night easier. (display: 'decisionName'){ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Road to Town</h3> </div> } Gavril wondered why she did not take the main road, where if she were to encounter a highwayman, a guardsman would be just as likely to intercept. Perhaps she was clever and knew they were one and the same. He would have liked to run with her for a day, to see what kind of girl she made herself to be toward men of the morn. Then he might steal into the eve with her and see what she was when she did not want to be seen. He thought to ask her about herself, but she was quicker to the questioning. <div class='d'>$GIRL How long have you been here?</div> <div class='d'>$GAVRIL Not a day before you.</div> <div class='d'>$GIRL How long will you stay?</div> <div class='d'>$GAVRIL Till I go.</div> <div class='d'>$GIRL When will that be?</div> <div class='d'>$GAVRIL Do you not want me here?</div> The girl shook her head, wide-eyed. He was quite amused that she believed him to have been offended. <div class='d'>$GIRL I didn't mean to make it sound that way. It's not my business whether you go or stay. I was only curious.</div> <div class='d'>$GAVRIL By dawn, I fly. I'll not trouble you a night more after the quiet hours.</div> A smile or twitch tugged at the corner of her lips. <div class='d'>$GIRL You aren't troubling me, $selectedName. I only thought perhaps you were on this road for a reason.</div> <div class='d'>$GAVRIL And you are?</div> <div class='d'>$GIRL I was on my way to visit my grandmother.</div> <div class='d'>$GAVRIL (if: $observation's girlBasket)[In town, yeah? Where you're headed?](else:)[Where to? Cross the highway, I'd wager, for you'd been on in earnest, weren't you? Was walking straight into the dark, you were.]</div> The girl offered him an apologetic smile, as if she had not meant to mislead him. <div class='d'>$GIRL No. Here. This was her home.</div> <div class='d'>$GAVRIL Was?</div> <div class='d'>$GIRL Well, she's passed on now. That's why I was surprised to see someone here, although I suppose I shouldn't have been. It's been years. My grandmother died when I was too young to understand. She died alone. They didn't give her a proper Calaiean burial.</div> She fell into a contemplative state of mind, and Gavril remained quiet. He thought she might have wanted to say more that way. For a brief moment, she was almost animated, but she guarded herself again from him. (display: 'addObservationGirlHistory') { <div class='o'> (if: $observation's girlName is false)[(linkgoto: 'Ask the girl for her name.', 'girlName')](else:)[ (if: $observation's girlHistory is false)[(linkgoto: 'Ask the girl about herself.', 'girlHistory')] (elseif: $observation's girlGrandmother is false)[(linkgoto: 'Ask the girl about her grandmother.', 'girlGrandmother')] ] (if: $observation's girlBasket is false)[(linkgoto: 'Ask the girl about her basket.', 'girlBasket')](else:)[ (if: $observation's girlMother is false)[(linkgoto: 'Ask the girl about her mother.', 'girlMother')] (elseif: $observation's girlMarked is false)[(linkgoto: 'Observe the girl.', 'girlMarked')] ] (linkgoto: 'Invite the girl to an after-dinner smoke.', 'girlSmoke') </div> }{ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Goods in the Basket</h3> </div> } The basket carried biscuits and cheese. Gavril had been catching more than a whiff of them, as the sea had honed his sense of smell, and Duskains were known to sniff out cakes from rats' nests. Even more Duskain was to throw the cake out and, instead, eat the rats. A good Duskain is a dumb Duskain, or he'll rat you out. Never lend a Duskain a knife, or he'll stab you in the back. Take a Duskain to a pub and you take him to his death. The only free Duskain is a drowned Duskain. Among the biscuits and cheese, the girl might have tucked in a bottle of wine. Gavril indicated the basket with a curt nod. <div class='d'>$GAVRIL The air of it's like a braid of bread.</div> She turned her ear toward him, uncertainty in her brows. <div class='d'>$GAVRIL Who's fired the stone beneath the eve?</div> <div class='d'>$GIRL What?</div> <div class='d'>$GAVRIL In the oven. Only bakery's in hours now's a furnace in the brim. Where'd you a dozen on the brink of the quiet?</div> <div class='d'>$GIRL It's only some unleavened butter biscuits. I baked them myself.</div> <div class='d'>$GAVRIL Not from your kitchen?</div> <div class='d'>$GIRL My mother sells them.</div> <div class='d'>$GAVRIL No, not the kitchen. The shop, you sneaky scuttler.</div> She was embarrassed. <div class='d'>$GAVRIL And the coat? Your merry ma's, too, is it?</div> <div class='d'>$GIRL I'll post it back.</div> <div class='d'>$GAVRIL From where? Taking off to town cross the highway?</div> <div class='d'>$GIRL I was hoping to find board there.</div> <div class='d'>$GAVRIL And a living?</div> <div class='d'>$GIRL Yes. That's not much to ask for, is it?</div> <div class='d'>$GAVRIL It isn't.</div> She turned from him, troubled by her admissions. Her ankles were crossed, and the tips of her toes barely skirted the floor. (display: 'addObservationGirlBasket'){ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Mother</h3> </div> } Gavril could not understand mothers. He did not have one and did not think too much about them. <div class='d'>$GAVRIL Left with your ma's tatter and stock, then. She shoo you?</div> The girl made a decisive frown, appearing bothered that he had passed judgment on her mother. The casting around of such authority was reserved only for the pious, he had long ago learned and in this moment recalled. <div class='d'>$GIRL I've gone of my own accord.</div> <div class='d'>$GAVRIL Under shadows. Wouldn't she be worried?</div> <div class='d'>$GIRL Yes, she'd be very worried. She's always worried.</div> <div class='d'>$GAVRIL Isn't a mother to be always worried?</div> <div class='d'>$GIRL There's a difference when you are protected and when you are kept. I suppose it's hard to know when you've not been subjected yourself.</div> Gavril had spent many nights in pubs listening to weepers under hardship. He did not have to say anything. More often than not, if he were to say something, they would take offense, and nothing short of repaying him a bloody lip or black eye for his opinion might tame them. <div class='d'>$GIRL What about your mother?</div> <div class='d'>$GAVRIL What of my ma?</div> <div class='d'>$GIRL What is she like?</div> <div class='d'>$GAVRIL I've not a ma.</div> <div class='d'>$GIRL All Calaiel's children have mothers.</div> <div class='d'>$GAVRIL I'm no child of Calaiel. No mother'd bore me. Was a demon that begot me, a little nightmare was I, seized upon by the Corrupt and the Wrong. Bastard of a fiend.</div> The girl's curiosity and sympathy left her, for she saw he was not taking her questions seriously. <div class='d'>$GIRL Matters of demons are no joke.</div> <div class='d'>$GAVRIL Was what they said.</div> <div class='d'>$GIRL Who?</div> <div class='d'>$GAVRIL The orphanage.</div> She spoke quietly, almost to herself. <div class='d'>$GIRL No good Calaiean mother would abandon her baby.</div> <div class='d'>$GAVRIL Not yours?</div> Her cross glare cut through him. He was thrilled to see her so stern, but she put herself in check once more. <div class='d'>$GIRL Of course not. My mother didn't abandon me.</div> <div class='d'>$GAVRIL She's a good mamka, they're sure to say.</div> He smiled, and she turned away from him but not quick enough to hide the troubles weighing her brow. (display: 'addObservationGirlMother'){ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Marked</h3> </div> } In the firelight Gavril saw the girl was not a waif, neither a jewel to be exhibited, but a well-to-do worker with hands and knees for washing and scrubbing and kneading. He supposed she was the daughter of a miller or a baker, not any shopgirl. He could see her at the bakery counter, flour up to her elbows, apron bow loosened by the day's labor, bold black hair straying from her shawl and braid, and a mischievous smile and swing of the shoulder for the special boys who asked her for a knot. Then there was the mother, looming over that very shoulder, monitoring her methods and measurements, and glaring off the most strapping of customers. The girl was doing her own reading, although her glances bounced off him the moment she strayed too near. The whole of his upper body--piercings, scars, tattoos, dog bite, and brand--seemed to overwhelm her. She struggled wrangling in her curiosity. Gavril did not find or seek offense where one need not to be. She was not used to the things he was. Likewise, he was not to her own experiences. A moment of difference could turn into what the institution booker professed as an opportunity for shared education. Gavril had many moments of shared education with the witches. Perhaps the little baker was the particular type of good-mannered collie wanting for a scandal yet too timid to seek one herself. The shimmer in her eye indicated her interest. Her cheeks glowed. <div class='d'>$GAVRIL Haven't you ever spied a ruffian about your window? A tall, dark man, tongue sweet and eyes wrong?</div> <div class='d'>$GIRL That's not the sort of thing you should be asking a lady.</div> <div class='d'>$GAVRIL But a lady has eyes, she does. And a mouth for her opinion. Her protest.</div> Her blush deepened, and he hooked his thumbs into his trousers and let her at her own pace. He was having his own grand time taking her in. He could see her in the early morning, pleating her hair before a looking glass. She would be quite comfortable in the morning because there would be plenty of sunlight in her attic, and she would drift through the falling dust, her shift aglow in the light and the shadow of the body beneath it. <div class='d'>$GIRL Does it... Are you still hurting?</div> Her eyes moved no higher than the rings pierced through his nipples, then fled to her hands on the countertop. Words greatly affected her, and she fell in line with witches and priests who chose them carefully and deliberately, consecrating and forbidding at will. She did want to clarify, but she withheld from invoking the ill, the names of forbidden parts. <div class='d'>$GAVRIL What?</div> She smiled a little, more at her own foolishness, it seemed, than for him. <div class='d'>$GAVRIL And what?</div> <div class='d'>$GIRL Your arm.</div> She was too reluctant to make use of her opportunities after all. He went alongside her direction, as their current flowed. <div class='d'>$GAVRIL Aye, my arm. Never did it.</div> <div class='d'>$GIRL What happened?</div> <div class='d'>$GAVRIL Same's you, only I was caught.</div> <div class='d'>$GIRL I wasn't stealing. I baked them myself.</div> He thought of the apron that could have been knotted behind her neck and her fingers knowing the way to undo it. She did not appear so interested in his arm or the circumstances of his injury, as cads of all sort were involved in such unsavory activities, and she did not seem to like him steering the conversation toward her own business. He remained quiet. After a moment, she braved his sight once more, still only fleetingly. <div class='d'>$GIRL Is that not the word of Calaiel upon your breast?</div> He had underestimated the diligence of her eyes. Perhaps reading was no labor for her, for she was one to do well and eagerly in a school. She would know by heart the venom injected into his. Her pastor and teachers made great importance of the soul and the vessel which carried it, assigning the right and wrong as written by mortals before them. The soul was the essence of judgment, the history, memory, and knowing of an individual. Battle or scourge scars could strengthen a soul. Tattoos weakened it, for human flesh was not divine flesh, and inscriptions upon it were vanity. Through all the girl's inquiries of his body, it was his failings she was after. They all were, for they needed a soul to save for a soul themselves. <div class='d'>$GAVRIL Aye, verse and no more. But it's not the color, not the gash, not is it?</div> <div class='d'>$GIRL But it's been marred.</div> <div class='d'>$GAVRIL Aye, it has.</div> <div class='d'>$GIRL How awful it must have been.</div> <div class='d'>$GAVRIL Know what this little burn means? Do you want to see?</div> The brand on his sternum was the brimstone cross, the vertical line with a slant down through it, slashed across the heart if the brander burned it on right. The brand had been seared in unevenly across his breast, but it still cut the heart and the Calaiean passage over it. The keepers had debated whether it was right to foul the word of Calaiel, but they went ahead because he was to be soon dead in any case. She would have learned about branding in her parochial studies, if only to be terrorized off a life of crime, but perhaps she had never defined different patterns or come face-to-face with condemned cattle and beheld their deformities. What good was a symbol to warn and to punish, he wondered, if the innocent could not understand its meaning? <div class='d'>$GAVRIL Will you not look?</div> He touched the crooked rood to make her look, but she did not look. <div class='d'>$GAVRIL Do you not want to?</div> The girl played with the carcass of her food for a while. Then she looked. <div class='d'>$GIRL What does it mean?</div> <div class='d'>$GAVRIL Means I've killed a man.</div> She stopped touching the scraps. <div class='d'>$GIRL In the war?</div> <div class='d'>$GAVRIL Sure. But a medal's for that. Does this have the look of a medal to you?</div> Her eyes dropped in a sweep of shame. Although he did not mean to sound caustic, she appeared mortified by the way her question made her seem. <div class='d'>$GAVRIL The rood's for murder.</div> Her thoughts now were not on herself. He saw her tingling ears, the flicker in her eye, and the sudden coldness grasping her breast--that countenance of an innocent facing mortality. <div class='d'>$GAVRIL It means it's not to the gods I go. Not yours, not another's, not into the whole gilded cage. It's away with me, to the pits where no gods dare themselves go.</div> <div class='d'>$GIRL Calaiel is the judge of that.</div> <div class='d'>$GAVRIL Was a Calaiean priest who'd condemned me.</div> <div class='d'>$GIRL He must have had good reason. Who was it, then?</div> <div class='d'>$GAVRIL Who?</div> <div class='d'>$GIRL Who did you kill?</div> <div class='d'>$GAVRIL Many.</div> Her face grew grey to hear, but she kept most of her composure. After all, she would have expected as much from a heathen, and a man with no surprises was no man worth smoke round the table. She made a small, shaky sigh, and he did not push the conversation. He thought opening himself to her would have opened her as well, but she had stopped smiling. (display: 'addObservationGirlMarked'){ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Sharing</h3> </div> } Gavril opened the Black Koshka tin toward the girl. She seemed taken aback. Out of politeness, she accepted one cigarette. He used a match to bring her close to him. Her face was speckled and without makeup, and her black eyes rolled up in wariness, although it looked more like she was on her knees. The scent of the floral perfume was not hers at all but fogged up within the fur of her coat. She herself smelled bland. She coughed violently into his face. He plucked the cigarette from her fingers before she dropped it. She threw herself back into her seat, hacking and giggling all at once. He let the warm smoke unfurl deep down inside his body, slow and thorough. She avoided showing him her face, which was perhaps red and leaking, yet if she had looked at him, she would have seen he thought no less of her. When her convulsing ended, she rubbed her eyes and nose and made little sniffles, still deeming herself unsuitable for sight. He chucked his cigarette into the stove and went to her, and he placed a hand high and full on her back. She stopped sniveling suddenly, frozen under his palm, although he did not pat or squeeze. She turned her shoulder first, then her head, to face him, and her small laugh made her jumpy. She wanted to apologize for her indecorous reception. It was her first. She would have said so in a small voice. He heard her before she could say it herself. She did not speak, and neither did he, and her smile abandoned her because he did not reciprocate it. Her eyes had become red-rimmed like a sick cow's, so wide yet so dark and wild, shaken by panic. He saw in them the pleading and the yearning of a girl in grave trouble. Her face felt burnished and familiar, a face he had years ago stroked on the boy who watched from the looking glass. There was a sadness about her that he thought they could share. He believed she would have wanted to share with him all sorts of things--stories, affection, secrets--but she was too afraid.(if: $speakGirl)[(if: $observation's girlName)[ She had given him her name, yet that was but a toe in the surf.](if: $observation's girlBasket)[ The basket was no significant matter, for she had reasons to save its contents for herself, and he did not begrudge her that.](if: $observation's girlGrandmother)[ Her grandmother had broken from the Circle, as he had, as she might have longed to do.](if: $observation's girlMother)[ She was already in the midst of escape from a mother who tried keeping her from the world.](if: $observation's girlHistory)[ The town over the highway would not settle her. No place would.](if: $observation's girlMarked)[ She had gone looking for change, and although a murderer was quite a garish way to find it, she needed not to fear him.]] The sea was deep, and she was afraid to look down into the abyss. He wanted to bring her under and hold her there with him. She would be a little frightened at first, but eventually, she would get used to it. He had. He dared to lean down toward her, but after nosing nothing but the perfumed air two or three times, he did not seem to get any nearer, so he lunged. He muffled her gasp with a hard kiss and caught her wrists when her arms flapped, and he pressed on. Her lips were stiff and tasted like the pheasant and clove, and she made such delicious juicy noises inside his mouth. He kept having to twist her and wring her still, but she would not be still, and he wanted to snap her arms off so she would stop worming about so much. She knocked over her stool drawing back from him, but the cottage was so small. He seized her once more, lifted her onto the counter, and searched through her coat for her thighs, and she shrieked like the mad. She would not stop screaming, not be still. He grabbed her shawl, her hair, and her ears and again encased her mouth within his and teased her to let him in. From his stomach rose an urge to sink his teeth into her wet flesh, but it was he who was bitten. The offense which parted them was not the nip but the raking of her fingernails into the open gashes on his arm. He shoved himself off the girl, and she stumbled onto the floor. He towered over her, squeezing his arm and sucking on his tongue, swallowing blood. The hearthfire was in her eyes, which were sore with tears, and on the spittle glinting off her lips. Although she was speechless, the echo of her shriek beat into his heart and pounded through his head. <div class='d'>$GAVRIL Were it not you who come on to me? You, who inquired, grew ripe on my breath, though you withheld yourself. You leashed me, you filthy harlot, infectious whore. You did pull, and what was I but bound? It was your hand that drew, your slutty cunt that fruited, bade me harvest.</div> She was stunned, but he was shaking, and he nodded with the noise surging through his bloodstream. <div class='d'>$GAVRIL It was you, you who wouldn't dare yourself. So dared you to make me. You did. No matter, well. It's done.</div> Fright clouded that face he had felt. He saw only now that had pulled much of her red shawl and black plait uneven. A moment earlier, she had drawn his blood, and now she was sprawled on the floor, innocent again. He scraped his tongue along his teeth, sure to dig deep into the wound as it rode by. No, he thought. She had been innocent. He backed off her, biting down the chaos which had been bellowing from somewhere inside him and making him prate. He would have given her a hand, but she would have slapped it away if she had any sense left. She had every right to. He stepped away from her, toward the counter, and the floorboards creaked under the weight of him. He picked up her barstool, uprighted it where it was, and began touching his clothes, although he did not know what to do with them. She remained on the floor, having not moved at all, watching him writhe within his own skin. <div class='d'>$GAVRIL This morning, there was a good girl...</div> He stopped and did not start again, eyes landing where she had grasped him. His chest ached very much, and he wanted to be rid of the feeling, but his head had become light and galvanized, and he could not find his cigarette tin. He had to get his hands on something. The girl was confused, then alarmed. The fur on her coat lifted like hair on a nervous arm. She was about to fly. (display: 'removeItemCigarettes')<div class='o'>(linkgoto: 'Ask her to wait. To stay.', 'girlBeg')</div>{ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Grandmother</h3> </div> } Gavril thought she might have wanted permission to continue talking about herself. She seemed outwardly reserved, yet inside she needed someone to hear her and to listen(if: $observation's girlMother)[, and she did not very well have that at home with her mother]. <div class='d'>$GAVRIL Your baba, she was a right darling, yeah?</div> The girl's countenance softened, and Gavril wanted to feel how soft her cheeks had become. <div class='d'>$GIRL Yes, a devoted Calaiean, true to Calaiel and His word.</div> <div class='d'>$GAVRIL But she was alone.</div> <div class='d'>$GIRL Alone with Calaiel. She chose her path herself, though others tried to force exile upon her. She'd been accused of witchcraft, you see.</div> <div class='d'>$GAVRIL Aye, I see.</div> <div class='d'>$GIRL She wasn't a witch at all. She became a hermit out here by her own choosing, built this cottage herself, grew her own fruits and vegetables, chopped her own wood. She wasn't a witch, but nobody believed her because... well, I don't know why. She could sense evil and knew where evil lurked. It was Calaiel's word that guided her, not witchcraft. She wasn't a witch.</div> The girl's cheeks had begun to speckle with ardor. <div class='d'>$GIRL The accusations just wouldn't end. She'd been accused again because soldiers were disappearing around her cottage. She did let them into her home. The law said anyone with a home was to quarter our soldiers.</div> <div class='d'>$GAVRIL Aye, I know it. Disappeared, did they? How's that?</div> The girl leaned forward in her seat, and Gavril did, too. <div class='d'>$GIRL Witches. It was in the papers. The soldiers were found strung up like scarecrows deeper in the forest, all headless. It was certainly not my grandmother's doing at all. She sheltered them from the dark ones, but they didn't heed her warnings and went where she told them not to go. She used to tell me to not venture into the thicket, for that's where all the witches are.</div> He grunted an agreement. <div class='d'>$GAVRIL And the lawmen, they accused your grandmother of the deed?</div> <div class='d'>$GIRL They wanted to hang her, but my mother said Calaiel had need of her in His circle in the heavens. She'd proven to Him more than enough and passed her trials, and He accepted her into His fold before the arrogance of mortals could make their judgment. He'd never abandoned her, even if His children had. It's His judgment and His alone when we give Him our ultimate sacrifice. Still, she was burned to ash so that witches and demons couldn't claim her body. If she'd made any pact with them, it would have been broken, but I think... I think she should have been buried.</div> <div class='d'>$GAVRIL Wasn't a witch, was she?</div> The girl regained her distance from him. <div class='d'>$GIRL Of course she wasn't.</div> (if: $observation's girlMother)[ <div class='d'>$GAVRIL Your ma didn't think she was a witch?</div> She gave him a strange look, as if she were exasperated but did not want to show him so. <div class='d'>$GIRL No, she didn't. We were the only two who believed in my grandmother. I remember sitting in my grandmother's garden with them, eating fresh strawberries we'd just picked. My mother loves strawberries.</div> ] The girl clasped her hands and avoided looking at him, then she continued. <div class='d'>$GIRL I wanted to seek my grandmother's guidance before continuing on my way, to make sure I'm doing right on Calaiel's path. I thought I could hear her and feel her, perhaps if I'd come by the garden again.</div> <div class='d'>$GAVRIL A séance?</div> <div class='d'>$GIRL No, not a séance. A prayer and a blessing.</div> <div class='d'>$GAVRIL What do you need a prayer and a blessing for?</div> <div class='d'>$GIRL A hard time, that's all.</div> She pulled her knees together and made a sigh nearly imperceptible. She had not wanted to say so much to him. She seemed to think he was patronizing her, disrespecting her grandmother(if: $observation's girlMother)[, belittling her mother]. Perhaps it had turned out that way. (display: 'addObservationGirlGrandmother'){ (set: $scoreItemPer to ($score's itemCount/$score's itemMax)) (set: $scoreEntryPer to ($score's entryCount/$score's entryMax)) (set: $scoreNotePer to ($score's noteCount/$score's noteMax)) (set: $scoreObservationPer to ($score's observationCount/$score's observationMax)) (if: $score's itemCount >= $score's itemMax and $score's entryCount >= $score's entryMax and $score's noteCount >= $score's noteMax and $score's observationCount >= $score's observationMax)[(print: 'LOREKEEPER')] (elseif: $scoreObservationPer >= $scoreItemPer and $scoreObservationPer >= $scoreNotePer and $scoreObservationPer >= $scoreEntryPer)[(print: 'INVESTIGATOR')] (elseif: $scoreNotePer >= $scoreItemPer and $scoreNotePer >= $scoreEntryPer and $scoreNotePer >= $scoreObservationPer)[(print: 'SCHOLAR')] (elseif: $scoreEntryPer >= $scoreItemPer and $scoreEntryPer >= $scoreNotePer and $scoreEntryPer >= $scoreObservationPer)[(print: 'ARCHIVIST')] (elseif: $scoreItemPer >= $scoreEntryPer and $scoreItemPer >= $scoreNotePer and $scoreItemPer >= $scoreObservationPer)[(print: 'COLLECTOR')] (else:)[(print: 'READER')] }{ <!-- MAP PLAQUE --> <div class='header-main'> <h1>(print: $currentLocationName)</h1> <h2'>(print: $currentFloorName)(print: $currentSceneName)</h2> </div> </left> } { <!-- MAP IMAGE --> (linkgoto: "<div class='map-container'><div class='map-expand'>$mapImage</div></div>", '$returnLocation') }{ (display: 'addItemCigarettes') (display: 'addItemPheasant') (display: 'addEntryCleanWound') (display: 'addEntryEnterBothy') (display: 'addEntryCook') }{ (set: $item to $itemPheasant) (display: 'invRemove') }{ (set: $note to $noteGirl) (display: 'noteAdd') }{ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Return to Sea</h3> </div> } His movement spurred her faster, and she made for the door, but he was already there between her and escape. She fell back one step, unable to grasp a thing to steady herself. The rain was gentle now, a drumroll distant and hushed as she. <div class='d'>$GIRL But why?</div> He hardly heard her, and now it was he who did not much look at her. <div class='d'>$GIRL Please let me go.</div> He did not move out of her way, and neither did he say a thing, and they continued listening to the rain. (if: $observation's girlName)[<div class='d'>$GIRL $selectedName... Is that your name, or isn't it?</div> <div class='d'>$GAVRIL If it isn't?</div>](else:)[<div class='d'>$GIRL I don't even know your name.</div> <div class='d'>$GAVRIL What does a name matter?</div>] <div class='d'>$GIRL What will you do with me?</div> The weight of the rifle on his back hung neatly against his bare skin. He did not remember grabbing it, but there it was on him. <div class='d'>$GAVRIL (if: $observation's girlMarked)[A murderer's cross, you did glance. What's it now to you, before the shadow of the mark? A small thing, a little body, a warm life at the mercy of the cold. What is it a murderer does?](else:)[Was it on your mind when you'd taken the trail, and me by the block, feller in hand? Was it on your mind when I'd offered haven and locked us within? Was it on your mind at all? Because it was on mine.]</div> The girl blanched. <div class='d'>$GIRL Your thoughts are ill. Since you've laid your eyes on me, you've been set to doom.</div> <div class='d'>$GAVRIL Haven't I? What if I wanted only to share one peace, a tale, a bird? You partook. Was it not enough?</div> <div class='d'>$GIRL Enough for what?</div> <div class='d'>$GAVRIL For you.</div> <div class='d'>$GIRL Please let me go.</div> The cold draft came in waves, and rain seemed promised through the night. He wanted it to be so. <div class='d'>$GIRL Please let me go. I won't speak of this night or anything to do with you, (if: $observation's girlMarked)[or what you've done, ]or what you've wanted to do. No one will be looking for you on my account. And I'll pray for you. I'll pray silently, and no one will know.</div> <div class='d'>$GAVRIL I want none of your prayers.</div> <div class='d'>$GIRL Yes--no, of course not. I know they mean nothing to you.</div> Was she not a good girl, he thought, who had been praised in her community for her intelligence, and now, she was blustering nonsense? He knew of the pain of pride, that she did not like even a rogue--especially a rogue--to think her stupid. She looked directly at him, as if to dispel the words not spoken. <div class='d'>$GIRL Take my shawl. It's very dear, given to me by my mother, from her very own mother, my dear grandmother. I'll give it to you in exchange for my life.</div> <div class='d'>$GAVRIL I want none of your idols.</div> <div class='d'>$GIRL I have no money, no other possessions... only the biscuits and wine. In the basket. It was for... It's all yours.</div> <div class='d'>$GAVRIL I want none of your things. Your speech suits me not.</div> Her voice had been quavering higher, and she swallowed her chirrups. Her blushing was the color of shame, he saw. Shame consumed her in every breath, every step, every blink of an eye. Shame was her life. He moved closer one step. She shrank from him, sinking into the warm glow of her prison. Standing apart from him, with the walls of the cottage surrounding her and the rain hushing, she appeared much smaller. <div class='d'>$GIRL What can I give you? I have nothing else. And yet... you wanted this, didn't you? You wanted...</div> Her gaze did not drop, but for a moment, his did. She offered, but it was no choice of hers. His depravity would be convenient and palatable for heralds to reason why he could do what they wanted him to do: seize her hair, splay her thighs, and crush her over the counter or on the floor or in the hard bed until her bones cracked and he, empty. There was not much to do about the girl or the rogue, except that they were an innocent victim, a hanged man, and a perfect story for the papers. Her hand had risen to her shoulder, where her fingertips--tinted pink by his own vessels--vanished into the fur coat. Although she had offered, she hesitated. He was not a minister to be bought by bribery. He was not a god to be fed flattery and virgins. They could think what they would. He had neither power nor ambition to stop that. Values of the devout were not his own, and he desired neither them nor their opinion. <div class='d'>$GAVRIL You put a high price on delusion and make a prize out of the meaningless. I want none of your treasures.</div> <div class='d'>$GIRL It's not my treasure. It's not my prize.</div> Her eyes were watery and quivering, but deep in their blackness, they were steady and calm. The hand on her shoulder turned, opening her palm toward him. The sight of her exposed wrist, tendons and veins defenseless, made his jaw ache. <div class='d'>$GIRL (if: $observation's girlMarked)[You are better than who you were long ago(if: $observation's girlName)[, $selectedName. If that's not your name, it doesn't matter. It's how I know you]. ]The rain brought us together tonight. Isn't that right?</div> She paused at Gavril's heavy breath, a grunt that betrayed him. For some reason, he felt as if he had exposed all, too much, although he did not know what she read from him. Where she was once so small, she was now very large, close to him, and her eyes and breath were like the sea--dark, coming and going. <div class='d'>$GIRL There is strength in you. You're good now, I can see. I hear it in your voice. Kindness and laughter. Loneliness. Longing. Hope. You're not without them. "It was when He, with His very own eyes, beheld the field of traitors, enemies of His name stripped and strewn, whereupon He spread His arms and, within robes red from the blood of them, enfolded into His open breast--"</div> <div class='d'>$GAVRIL "--the weak and the unwitting."</div> His mouth had gone dry, his voice hoarse and not his own. <div class='d'>$GIRL "He said unto them, 'If not for the hurt of your lies, the sorrow of your deceit, and the pain of your betrayal against your Divine Lord Judge and Executioner, and your brothers and sisters, mothers and fathers, children and kin in kind, couldst I not render unto you...'"</div> <div class='d'>$GAVRIL_GIRL "'... the truest love of Mine, which when named, is thus named...'"</div> <div class='d'>$GAVRIL "'... forgiveness.'"</div> He grunted again, a laugh or sneer that did not quite come out. <div class='d'>$GIRL By Calaiel, a soul can change for the good, even if his body is scarred, even if he once lost his way. You have changed, and you can return. You can be forgiven. You will be forgiven,(if: $observation's girlName)[ $selectedName,] because I forgive you.</div> A long refrain of rain pattered on the windows and the roof above and around them. The storm was drifting away, but inside Gavril, the sea was still calling him home. (display: 'decisionTrigger'){ <div class='grid-decision-option'> <div class='col-option-info'>$name3.</div> </div> }{ <div class='header-main'> <h1>(print: $girl's name)</h1> <h3>Names</h3> </div> } $name3 could not exact revenge, for he need not ever know. Gavril had been using that witch's name plenty enough. No harm had yet come, and were harm to rear up, would it be set upon the one called Artrius. By then, Gavril would no longer be that man. <div class='d'>$GAVRIL $name3.</div> (set: $selectedName to $name3) (display: 'selectedNameGreet'){ <div class='grid-decision'> (linkgoto: "(display: 'optionTrigger0')", 'selectedTrigger0') (linkgoto: "(display: 'optionTrigger1')", 'selectedTrigger1') </div> }{ <div class='grid-decision-option'> <div class='col-option-info'>Keep her.</div> </div> }{ <div class='grid-decision-option'> <div class='col-option-info'>Let her go.</div> </div> }{ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Keep Her</h3> </div> } He saw that she noticed his flinch, for she had not taken her eyes off his. Yet he did not move away from the door. Quietly, soothingly, her breath did not disturb the settling of the dust. <div class='d'>$GIRL What do you want from me?</div> <div class='d'>$GAVRIL Perhaps life, said I, and I'd again say.</div> He knew his words to be wrong the moment they came. She had known since the beginning. <div class='d'>$GIRL No. You ask for death.</div> The rifle seemed so long in the small room. When he trained it on her, she pressed her lips together. Not a prayer would be spoken. <div class='d'>$GAVRIL Amn't in want of anything.</div> She was no longer afraid. He did not know where she found her peace. <div class='d'>$GAVRIL Not a thing.</div> He heard the shot, and he felt it. The girl was sprawled on the floor before the gentle crackle of the hearth cleared his ears. He breathed in deeply the smell of a hunt, of the frost fog in the forest, and of a distant and vague autumn morning divided by gunfire. The aroma of the pheasant carcass returned him to the bothy. When the mumbling of the hearth and night descended once more, Gavril jerked open the breech of his rifle and let the spent cartridge clink on the floor. He set the rifle on the counter, beside the girl's basket. The ache in his arm had begun to flare up again, like a stirring inside the flesh of the wound. { (set: $girlDead to true)(set: $girlDeadInside to true) <div class='o'>(linkgoto: 'Listen to the rain.', 'sceneBothyInteriorGirl')</div> }{ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Let Her Go</h3> </div> } He saw that she noticed his flinch, for she had not taken her eyes off his. Only when he turned his body did he know she had been holding her breath, for she made a shy exhale. She seemed to want to say something more. He unbolted the door, drawing out a harsh sound, and shoved it open. The cold and the rain rushed in. He had opened the door for her, but he wanted the rain, too. <div class='d'>$GAVRIL Go.</div> She hesitated. He thought it was what she had been asking for. <div class='d'>$GAVRIL Go!</div> <div class='d'>$GIRL I'm sorry.</div> <div class='d'>$GAVRIL Get out.</div> <div class='d'>$GIRL May Calaiel have mercy on the godless.</div> She flew by him softly, regretfully. He slammed the door shut and rested his forehead on it. He was alone in the cottage, separated from the rain, which beat on the door and which he could smell. When her scent was a wisp, a sudden thrashing inside of him grew into a growl, then a snarl. <div class='o'>(linkgoto: 'Follow her.', 'bothyGirlKill')</div>{(linkgoto: 'Go to the stream.', 'sceneStream')} { <div class='header-main'> <h1>(print: $forest's stream)</h1> <h2>(print: $forest's name)</h2> </div> } { (if: $sleepEvent)[(display: 'stream2')](elseif: $entryCleanWound's done or $girlDead)[(display: 'stream1')](elseif: not $entryCleanWound's done and not $sleepEvent and not $girlDead)[(display: 'stream0')] } { (display: 'washStream') (display: 'searchStream') (display: 'toForestScenes') }Gavril descended the mossy bank to the stream bed. Under a mist that pooled into the channel, the water flowed clear. He was aware of the romance about a waterfall as gentle as the slope before him, for it seemed so unoffending and pristine. It was not impossible to drown in the shallows. Under the pooling mist, the water was clear. A rustling in the underbrush tempted the imagination, but Gavril was not one to be fond of pursuing dreams. The low morning mists obscured the stream's coming and going, but up close, the water was clear with a silver sheen. Gavril heard rustling in the brush, the shuffling of squirrels, leverets, and small birds. { <div class='o'>(linkgoto: 'Explore deeper in the thicket.', 'thicketSearchDeeper')</div> } { <div class='header-main'> <h1>(print: $forest's thicket)</h1> <h2>(print: $forest's name)</h2> <h3>Deeper in the Forest</h3> </div> } Gavril crept into the thicket but barely breached the darkness before a low growl somewhere in the forest's belly made the ash keys flutter. He backed out of the threat as quietly as he had entered. He had already wrestled one beast in the day, and his injured arm was an attraction to the monsters lurking in the night. He had not meant to tease. (unless: $noteList contains $noteTheOldWays)[ (display: 'addNoteTheOldWays')](if: not $entryCleanWound's done and not $girlDead)[<div class='o'>(linkgoto: 'Wash the arm wound.', 'streamClean0')</div> ](elseif: $sleepEvent)[{ <div class='o'> (if: not $observation's washMorning)[(linkgoto: 'Wash up for the morning.', 'streamClean1')] (elseif: not $observation's watchStream and $inv contains $itemCigarettes)[(linkgoto: 'Smoke a cigarette.', 'streamClean2')] (else:)[(linkgoto: 'Watch the stream.', 'streamClean2')] </div>}]{ <div class='header-main'> <h1>(print: $forest's stream)</h1> <h2>(print: $forest's name)</h2> <h3>Wash the Wound</h3> </div> } Gavril adjusted the rifle on his back as he waded into the stream. The cold felt like a cage and freedom all at once. He stooped over the water, dazed by the moonlight flashing around his ankles, then quickly shut his eyes and plunged his hands into the whirls. The water sucked the fire and blood from his arm. The molosser had been one of many muscular marvels bred and trained to fell boars, bears, and blackguards. Once a dog closed its jaws, no key but command or death could unlock the trap. The lord of the estate paid in blood for single-minded guardians. The animal that had got the rogue had been a very good dog. Gavril washed his face, stilled his chattering teeth, wiped the water from his eyes, and inhaled the scent ingrained in his palms. He rinsed the wound, his hands, and his face once more, then returned to the grass. (display: 'doneEntryCleanWound')(display: 'changePortraitPlayer'){ <div class='header-main'> <h1>(print: $forest's stream)</h1> <h2>(print: $forest's name)</h2> <h3>Morning Wash</h3> </div> } Gavril dropped his rifle(if: $inv contains $itemAxe)[ and axe] and waded into the stream, bent, and gulped the icy water by handfuls. His stomach knotted, and he retched up the water he had just drunk. He continued to heave, even after nothing else was coming out, and as the bouts subsided, he flushed the sourness from his nostrils and mouth. He staggered to the bank, took ahold of the grass and roots, and sat. Trembling, he wrapped his arms around himself and smelled the water, the fog, and the old rain upon them.(if: not $observation's washMorning)[(display: 'addObservationWashMorning')] (if: not $entryCleanWound's done)[ (display: 'doneEntryCleanWound')]{ <div class='header-main'> <h1>(print: $forest's stream)</h1> <h2>(print: $forest's name)</h2> <h3>Where the Stream Flows</h3> </div> } (if: not $observation's watchStream)[Gavril found the Black Koshka tin in his trouser pocket. He lit a cigarette and huffed in the morning chill. Thoughts came and went, as they did, like the breaths caught in his eyelashes and blinked away. His stomach turned again, and he sucked in the heat of his cigarette to calm it. If he followed the stream into the thicket, he might have found trout, but he was not certain fish would satisfy. The pheasant had not. He craved fatter meat. Bloodier meat. He rubbed his shoulder, then his arm. His skin was unsettled. He tossed the end of his cigarette into the water and watched it go.(display: 'removeItemCigarettes')(display: 'addObservationWatchStream')](else:)[The water roved like caravans on merchant lines, never still, always in danger. If he reclined in the stream, he could close his eyes, let the torrents flood his ears, and drift until the water took off his skin. Someone might have found what was left of him. No, he thought. No one would find him.] { (if: not $girlDead)[<div class='o'>(linkgoto: 'Examine the stream.', 'streamSearchDownstream')</div>] } { <div class='header-main'> <h1>(print: $forest's stream)</h1> <h2>(print: $forest's name)</h2> <h3>Downstream</h3> </div> } Further downstream, the water trickled lightly and at an even pace. Gavril walked along the bank, thinking of the time he and a County Daley maid had rolled in the mud behind her papka's barn. Her fingernails were chewed down, but her grip was no less piercing, even with pond slime slicking his body. As they were crying out into each other's ears, her brother, who was passing by on the hill, suddenly made a shocked gasp of his own. Gavril would have got him to join, if their old man had not appeared just then and scattered them all with a shotgun. Gavril never saw those farmers again, not after that night when the brother fetched him his clothes and then fled without another look or word. It had been such a mundane encounter, he was not sure why he remembered it at all. Their ruddy faces and their long white teeth reminded him of the dog. It had been a good dog. (unless: $noteList contains $noteCountyDaley)[ (display: 'addNoteCountyDaley')]Bothy{ <div class='o'> (display: 'toBothyInterior') (display: 'toShed') </div> } { (if: (passage:)'s name contains 'sceneBothyInterior')[(linkgoto: 'Exit the cottage.', 'locationBothy')] (elseif: (passage:)'s name contains 'sceneShed')[(linkgoto: 'Return to the bothy grounds.', 'locationBothy')] (else:)[(linkgoto: 'Go to the bothy.', 'locationBothy')] } { <div class='header-main'> <h1>(print: $bothy's grounds)</h1> <h2>(print: $bothy's name)</h2> </div> } (if: $sleepEvent)[(display: 'bothy3')](elseif: $girlDead)[(display: 'bothy2')](elseif: $entryBuildFire's done)[(display: 'bothy1')](else:)[(display: 'bothy0')]{ (display: 'splitFirewood') (display: 'getAxe') (display: 'searchBothy') (display: 'toBothyScenes') (display: 'toForestScenes') }The bothy's grounds were borderd by a rail fence and blanketed by patches of grass and lush grey-green moss. A stack of weathered logs, set aside for firewood, made up a portion of the fence, and a large tree stump in the middle of the field served as the woodcutting block. The faint path from the thicket split from the bothy's door to a shed leaning against one of its walls. The cobbled look of the place told Gavril of its long years of solitude. The stack of logs where the garden fence ended was more like a pile than a wall. Visitors had already taken the ideal wood, and any left were darkened under moss. The blur of firelight pulsed behind stains streaking the cottage's windows. A little light provided a lot of unfounded security. At the very least, Gavril could see patches of the ground in the dark, and the fence, wood stack, and woodcutter's block were carved out from the forest background. Gavril stood outside the cottage, struck by the rain. Although low rumbles rode the clouds, the earth beneath him seemed to tremble. The storm had moved on from the cottage, and several small prey animals which had sought shelter during the night were rising with the sun, clambering to seize bounties the rain had unearthed. { <div class='header-main'> <h1>(print: $bothy's grounds)</h1> <h2>(print: $bothy's name)</h2> <h3>Split Wood</h3> </div> } Gavril leaned the axe against the large tree stump, set his rifle down nearby, and approached the log stack at the fence. A blanket of moss clutched it together, a roof not unlike the bothy's. He peeled a few solid logs from under the greenery, to the flurry of salamanders, woodlice, and spiders. Ash was quick to season, easy to split, and steady to burn, wet or dry. He would not be around to enjoy them. For a moment, he questioned what had prompted him to bend his back in the service of others. It was not for them he labored. By then, he had already carried the logs to the woodcutter's block, and he had nothing against finishing a job he had started. He set his feet and secured the axe in both hands. The first thud called up a shiver through the dog bite. He adjusted his grip and delivered the next blows until he had split an armful. Distant thunder made him look up and smell the announcing storm. A red oblong figure appeared from the fog. Gavril thought blood was in his eye, but the crimson was on the road, breaths in the air and footfalls weary. He made the form out to be a girl, hardly beyond a blink of womanhood, wearing an oversized mink coat and a red shawl. In the blue cloak of the night, the red flag was as vibrant and lonesome as the last poppy of the season. (display: 'doneEntrySplitFirewood') <div class='o'>(linkgoto: 'Meet the girl.', 'bothyGirlMeet')</div>{ <div class='header-main'> <h1>(print: $bothy's grounds)</h1> <h2>(print: $bothy's name)</h2> </div> } The girl was not yet at the bridge when she had halted at the sound of the door opening a second time. His rifle hung from his shoulder, only a slip away from his hands, and it did slip. She started her pace slowly once more, then stopped again. She began to look over her shoulder. A flash of her face, whitened in moonlight and darkened by the two pits of her eyes and one beside, spiraled into the forest blackness following a crack and an echo. He did not hear her body collapsing, but he smelled her upon the earth. He pulled back the bolt and let the leaves catch the spent cartridge, and his arm burned, and the rain went on. (set: $girlDead to true)(set: $girlDeadOutside to true)<div class='o'>(linkgoto: 'Listen to the rain.', 'locationBothy')</div>{(if: $sleepEvent)[(linkgoto: 'Enter the cottage.', 'sceneBothyInteriorMorning')] (elseif: $girlDead)[(linkgoto: 'Enter the cottage.', 'sceneBothyInteriorGirl')] (else:)[(linkgoto: 'Enter the cottage.', 'sceneBothyInterior')]} { <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> </div> } { <!-- Fire not built --> (if: not $entryBuildFire's done)[ (if: not $entryEnterBothy's done)[(display: 'interior0')] (else:)[(display: 'interior1')] <div class='o'> (linkgoto: 'Build a fire in the stove.', 'interiorBuildFire') </div> ] <!-- Fire built, pheasant not cooked --> (elseif: $entryBuildFire's done and not $entryCook's done)[ (display: 'interior2') <div class='o'> (linkgoto: 'Prepare the pheasant for dinner.', 'interiorCook') </div> ] <!-- Fire built, pheasant cooked --> (else:)[(display: 'interior3')] } <div class='o'>(display: 'toBothy')</div>The latch clattered as Gavril shut the door. A muddied quietness settled over his shoulders. The cottage was a single room with unshuttered windows and a masonry stove. A counter built into the wall beside the hearth accommodated backless chairs for two. A wooden cot, bare, had been glued into one corner opposite the door, which could be reinforced by an iron bolt. Cobwebs spanned the ceiling and clustered in the stove's alcove, where a small pile of firewood had been left by a previous traveler. (display: 'doneEntryEnterBothy') The bothy walls did well to muffle forest songs, leaving a void within which a wayward mind could roost and breed. A small pile of firewood in the stove's alcove had been left by a previous traveler. The warmth from the stove invited Gavril's hands nearer. He liked the feel of it at the tips of his fingers and over the dog bite. The fire would be hot in time as he made preparations for dinner. The hum of fire in the hearth and a building aroma of dinner on the stove lulled Gavril into an unguarded state as it was in the evenings at the institution library in the company of misfits and dreamers. He straightened his back and shook himself from reverie, which came too readily in his weariness. Splitting firewood and bringing it in would keep him from succumbing to slumber too soon. He had not even had dinner and the smoke after. { <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Build Fire</h3> </div> } Among the equipment Gavril had not gambled away, destroyed, or otherwise lost in his latest adventures was a matchbook. He had found it on someone somewhere, perhaps at the same time he had acquired the cigarettes. He shoved the bothy's remaining firewood into the stove and collected loose chips and bark scattered in the firewood alcove for tinder. He did not have many matches left and kept steady hands in spite of the dog bite. The blue night sparked into amber. As smoke billowed up the chimney, he put his face closer to the stove. The most satisfying part of dinner was the smoke after. He remained on his haunches for a while, watching the flames swiping for his cheeks(if: not $entryCleanWound's done)[, but it was his arm that prickled as if sparks had hit it]. With the hearth and his stomach grumbling to life, he would be set to prepare the pheasant. (display: 'doneEntryBuildFire')(display: 'changePortraitPlayer'){ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Prepare the Pheasant</h3> </div> } Gavril lit a Black Koshka over the hearth's fire, cocked it between his lips, and began plucking the pheasant's tail feathers. One at a time, with a knife from his boot, he clipped off the bird's legs and wings, pressed the knife into a gash at the neck, and rent the head clean from the body. He paused once to savor a deep surge of smoke, then wrangled the bird out of its skin. His weakened arm gave protest at the process, but the demands of his stomach were stronger. He had the sudden yearning to cradle a domra and strum up ballads. He hummed a song about a rifleman spotting a warbler, freedom and death in his sights. The ranks had made him sentimental when he thought he could not be, but it was echoes from the institution halls which came to haunt him. He made an incision at the pheasant's end, hooked two fingers inside the rubbery cold, and drew out the entrails. At the institution, the witches wasted no viscera. Morsels not pickled in jars accumulating round the library hearth, for research and offerings and other spells, were tossed to the man in the basement. He and the witches had many a warm night gathered at the hearth in song, in dance, and in ritual, where firelight and shadows were one. He did not like to admit warm nights because that was not altogether the truth of it. The witches convened in a half circle within the cone of hearthlight, draped among furniture he had appropriated or had fashioned himself for them. Sometimes, he might join; most times, he would not. If he did, he lurked just shy of their inner circle, close enough to be called upon yet shadowed from the commitment to conversation. He did not engage with the witches as they did one another, for he was no witch, merely a witch's bitch. They played music from paper. He did not know how to read the bars. He did not like to be lured into believing they saw him as their equal, even as they shared with him their fire and song. When the pheasant was stripped, emptied, and mounted in the stove, and with the area made tidy as it was when he arrived, Gavril let the hunter's ballad ride a plume unfinished. With a few turns and a moment, his meal would be ready at last. He could pass the time by replacing the firewood. The gesture endured in honor among travelers, but for him, it was no honor, no abstraction, and no camaraderie. It was a simple way of life to abandon an area as it had been before approach, to leave no ownership of a disturbance, and to erase history of oneself. Gavril's days as a man of opportunity were stickier than mold. The ability to disappear at will, or never be detected at all, outlived each of the masks he donned and shed. He did not practice or uphold traditions and values religously, out of pride or expectations, or within a moral standard. He simply did as he wished, at any moment desired, to the extent of his capabilities--informed by experience yet bound neither to the past nor to the future. So it was splitting firewood to replenish the bothy that would fill his idle moments of drooling for dinner, steal his mind from pointless longing, and direct him toward practical courses of action. It would be something to do(if: $inv contains $itemAxe)[, and he had an axe ready for the work](else:)[, and all he needed was an axe for the work]. (if: not $entryCleanWound's done)[ As well, with no more distractions about dinner preparations, he could also visit the stream and clean the throbbing gashes on his arm.] He flicked the butt of his cigarette into the stove. { (display: 'removeItemCigarettes') (display: 'removeItemPheasant') (display: 'addItemPheasantFeathers') (display: 'doneEntryCook') } <div class='o'>(if: $inv contains $itemAxe)[(linkgoto: 'Go split firewood.','sceneBothyInterior')](else:)[(linkgoto: 'Go find an axe.','sceneBothyInterior')]</div>{ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Dinner</h3> </div> } Dinner's aroma fell out with the light, and Gavril closed and bolted the door after following the girl inside. She stopped in the middle of the room, gasping from the rain and cold, when she heard the iron gliding. He walked around her to the hearth, deposited the split wood into the alcove, and set down his rifle against the counter. The weight of water was on his shoulders. He removed his harness, his jerkin, and his shirt, each layer a layer too soon for the girl. She was studying him closer now that they were confined. He made no performance of it to save her further shame, because dignity seemed very important to her. He stripped to the waist, showing her sights she was afraid to see. He mopped up the running smears of blood on his arm with his shirt. The rain had soothed the wound, and it was no more a bother to him for a few hours at least. The gashes, which had initially alarmed her, paled to the other marks she discovered upon him. He had been tattooed, pierced, and scarred by gutter and cell. Down his sternum lay a prominent brand, disturbed flesh spread out in the shape of cross. Despite the Circle's fixation on retribution and penitence, the girl did not appear to recognize its meaning. Rather, she rubbed her thumbs along the handle of her basket, too embarrassed to truly see. But she was curious. He pulled the pheasant from the fire, tore off a breast and thigh, and served them to her skewered, urchin-style. She squinted at its crudeness, then removed her gloves and accepted the fowl on a stick. It was a safe distraction. <div class='d'>$GAVRIL Go on, have a sit and a suckle. Didn't I a scheme for a pair, so all have we's a scrap of cocky clock.</div> He pulled out a barstool for her. She eyed it warily as well--looking much harder at it than she had done him--then set her basket on the counter and climbed atop the stool, wheezing a little through the nostrils. The rain had thrilled her. It had allowed her to laugh, and he thought she did feel as he felt in the storm. Free. Yet water was a turbulent force, and a little good spin could take a very bad turn. It was their ability to adapt that sealed them within a stone tomb, barred from the storm. Returning to the stove, Gavril plucked apart the remaining quarters of their dinner, taking the other half of the breast and a thigh for himself. It was a small bird. <div class='d'>$GAVRIL If you'd a cane of a pit, a sicky's slog's down your gulls. If not, I'm likely to it. Won't a casing or a thumb be left, so. Sure all's on the skid?</div> He received no reply. He thought he might have been muttering, and she had not heard or understood him. When he turned to her, he realized she had been staring at him, for she preoccupied herself in haste by tossing her gaze out the window. <div class='d'>$GAVRIL Shameplant, aren't you?</div> She offered him an apologetic sigh. <div class='d'>$GIRL You've made a good fire. It's quite warm in here.</div> <div class='d'>$GAVRIL Skin it.</div> She appeared bewildered. <div class='d'>$GAVRIL Death's old sheath. The rended on your back. Your tatter. Your coat, dove. It's wet. Off with it, now.</div> Another flush of embarrassment broke through her pallor. She did not remove her fur coat, as wet and wilted as it was, but instead undid only the top button. She had little more beneath the fur than a thin linen cloth. Her shift. <div class='d'>$GIRL Well, I'm neither deaf nor daft. It's warm well enough.</div> There, he thought. She was not so timid if he questioned her intelligence. <div class='d'>$GAVRIL Didn't I a notion by. A neighbor's bow, is all. The queller, well? The shawl.</div> She did not remove her shawl. He dragged out the other chair beside her and sat. She was startled by the scraping furniture. Even after he tucked into the fowl, she hesitated to taste her share. When she did test the wild, it was but a nibble. They ate without conversation. When Gavril finished his meal and sucked out the bones, the girl was still working on her portion, perching it on the smallest tips of her fingers and barely opening her mouth, as if afraid to make a sound. She would try to turn her eyes on him when she did not think he was looking. He was not afraid of her looking, and she herself manufactured her own boundaries. Of course, he thought, her people had a hand in that. She meant well enough for herself. She had set her basket on the furthest end of the counter, out of his reach. <div class='o'>(linkgoto: 'Sit a while.', 'sceneBothyInteriorGirl')</div>{ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>The Two</h3> </div> } (if: $girlDeadInside)[The rain fanned against the window panes and seeped through the bottom corners. A verdant stain slumped from sill to floorboards, pooling somewhere under the counter. And on the floor, too, lay the body. { (display: 'interactBody') (display: 'basketAndSmoke') <div class='o'>(linkgoto: 'Go to sleep.', 'sleepEventInside')</div> } <div class='o'>(display: 'toBothy')</div>](elseif: $girlDeadOutside)[The rain lightly battered the walls of the cottage. A flicker of lightning and a grave rumble led Gavril to the basket which had been left on the counter. { (display: 'basketAndSmoke') <div class='o'>(linkgoto: 'Go to sleep.', 'sleepEventOutside')</div> } <div class='o'>(display: 'toBothy')</div>](else:)[(display: 'interiorGirl0')]Gavril and the girl were gathered inside the bothy, lit alike by the hearth's bloom, unalike by the shadows casting thoughts onto their faces. (display: 'displayTalkGirl'){ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Dawn</h3> </div> } (if: not $bothyMorningReady)[Gavril's trousers, portyanki, and boots had been flung and scattered around the cot, across the room from where he had got up. (if: $girlDeadInside)[He tripped over the body getting to his clothes, then dropped himself on the cot](else:)[He pressed his body into the stone wall for support, stayed there until the cold reached his bones, then staggered to the cot, dropped down on it,] and made an effort to get his legs into his trousers. He wrapped his feet carefully, (if: not $girlDeadInside)[kicking the drying mud off his feet and ]thinking about the road ahead through the haze muddling his mind. With a deep breath, he drew up his boots and then slumped where he sat for another moment longer, cradling the bleary flare that was his arm.(set: $bothyMorningReady to true) ]The fire in the stove had gone out completely, and stains of age and rain filtered the dawn. In the cold, the room grew greyer as the morning matured. { (if: $girlDeadInside)[(display: 'interactBody')] (display: 'basketAndSmoke') } <div class='o'>(display: 'toBothy')</div>{(linkgoto: 'Enter the shed.', 'sceneShed')}{ <div class='header-main'> <h1>(print: $bothy's shed)</h1> <h2>(print: $bothy's name)</h2> </div> } (if: $sleepEvent)[(display: 'shed2')](elseif: $entryGetAxe's done)[(display: 'shed1')](else:)[(display: 'shed0')] (display: 'searchShed') <div class='o'>(display: 'toBothy')</div>The shed smelled musty and fungal. Gavril did not need to see or feel the walls to know his surroundings. His nose was close enough, and slices of moonlight shone through the cracks in the planks that made up the shed's structure. A large blanket chest was nearly obscured by shadows converging in the corner.The longer Gavril stayed in the shed, the closer the walls seemed to creep.Petrichor penetrated the shed's wooden walls. The cracks in the boards glowed with a pale morning light. Rustles of leaves, ash keys, and birds overhead were made gentle by the shed walls.{ <div class='o'>(linkgoto: "Examine the woodcutter's block.", 'bothySearchStump')</div> } { <div class='header-main'> <h1>(print: $bothy's grounds)</h1> <h2>(print: $bothy's name)</h2> <h3>Woodcutter's Block</h3> </div> } (if: $sleepEvent)[Gavril stood by the old tree stump for some time, looking at the dark red stains upon the rings and grain of the wood. The rain appeared to have opened the block's most ancient wounds. It seemed to suffer, as water seeped from its reddened pits and grooves like a cup running over, or a man's gut blown out. (if: not $observation's bloodStump)[(display: 'addObservationBloodStump')]](else:)[(if: $entryBuildFire's done)[Light from the bothy windows touched the crevices left on the old tree stump. Gavril dragged his fingers over the surface, tickled by the texture swept under them. When the rings ended, gashes put years and tales on it. The dampness in the air had penetrated the wood and made it feel soft, and it sat in the seductive aroma of a long, faintly present past. The air around it seemed colder, like an aftermath. Ghosts, witches and priests might have found. (unless: $noteList contains $noteWoodcutterBlock)[ (display: 'addNoteWoodcutterBlock')]](else:)[The woodcutter's block had once been the trunk of a large ash tree. It glistened in the wet atmosphere as if drinking from the air, appearing like oil in the darkness. ]]{ <div class='o'> (if: $girlDead and $inv contains $itemAxe)[(linkgoto: 'Return the axe.', 'shedReturnAxe')] (elseif: not $girlDead)[ (linkgoto: 'Look around the shed.', 'shedSearchCorner') (linkgoto: 'Search the chest.', 'shedSearchChest')] </div> }{ <div class='header-main'> <h1>(print: $bothy's shed)</h1> <h2>(print: $bothy's name)</h2> <h3>Where the Walls Met</h3> </div> } Gavril found a spade, poles, and clothes lines tucked in the corner beside the chest, but these were nothing he wanted or needed. The corner itself seemed to be flayed open, like a trap waiting to close around him. Such a cold darkness often sent him back to Duskair, to the room that was empty but for his body bared where the walls met and wept. Wherever he was, past or present, water and brine were on him. The sea drifted in when he thought he had roosted and, time and time again, eroded his foothold and swept him out into the abyss. He rummaged through the items in the corner for no reason in particular, smelling the breath of rain through the walls. He only needed one night, no more. (unless: $noteList contains $noteOrphanage)[ (display: 'addNoteOrphanage')]{ <div class='header-main'> <h1>(print: $bothy's shed)</h1> <h2>(print: $bothy's name)</h2> <h3>Blanket Chest</h3> </div> } (if: not $entryGetAxe's done)[The chest's contents were meager: an empty beer bottle, clothespins, a crushed cap. As Gavril dug through the items, his knuckle hit a heavy blade partially wrapped in a dirty rag. (display: 'addItemAxe')(display: 'addEntryGetAxe')(display: 'doneEntryGetAxe')](else:)[Gavril scuffed up dirt under his fingernails as he lifted the lid. Beneath its groan, he found a scatter of uncurious curiosities. ]{ <div class='header-main'> <h1>(print: $bothy's shed)</h1> <h2>(print: $bothy's name)</h2> <h3>Return the Axe</h3> </div> } Gavril no longer needed the axe and placed it inside the chest. (display: 'addObservationReturnAxe') (display: 'removeItemAxe')(if: $girlDead and not $observation's returnAxe and not ($inv contains $itemAxe))[<div class='o'>(linkgoto: 'Retrieve the axe.', 'bothyGetAxe')</div> ]{ <div class='header-main'> <h1>(print: $bothy's grounds)</h1> <h2>(print: $bothy's name)</h2> <h3>Finishing the Job</h3> </div> } Gavril rocked the axe out of the woodcutter's block. The haft was cold by the rain, and the head was even colder. (display: 'addItemAxe'){ <div class='o'> (if: (history:) contains 'takeCoat')[(unless: (history:) contains 'touchGirl')[(linkgoto: 'Touch the place that moved.', 'touchGirl')]](else:)[(linkgoto: 'Take the coat.', 'takeCoat')] (unless: (history:) contains 'leaveFeather')[(linkgoto: 'Leave a pheasant tail feather with the body.','leaveFeather')] (if: $inv contains $itemAxe)[(unless: (history:) contains 'chopGirl')[(linkgoto: 'Chop up the body.','chopGirl')]] </div> } { <div class='header-main'> (if: $girlDeadInside)[ <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> ] (else:)[ <h1>(print: $forest's path)</h1> <h2>(print: $forest's name)</h2> ] <h3>The Shift</h3> </div> } The coat would not be worth much with blood on it, but there was always a buyer. He hunched over the body and rolled it onto its back. The girl had a slight build and turned easily, although her arms flopped like spider legs, her neck was crooked and made her head dangle about, and the core of her weight was oddly distributed. He unbuttoned the coat. He had been right about her shift, a fine linen. It could fit one of the witches at the institution, for she was the size of the youngest. He began unlacing it. Around her neck, she wore a Calaiean knot ring on a chain. It would have been given to her when she came of age, in a ritual where teachings of circles, cycles, loops, and hoops went round and round for hours. Gavril had long since pawned off his own. He continued down the placket, then thought he saw her move. He drew back from the body(if: $girlDeadInside)[, and his shadow fled off her](else:)[, and raindrops wet her clothes]. The belly was distended. (if: not $observation's girlMove)[(display: 'addObservationGirlMove')]{ <div class='header-main'> (if: $girlDeadInside)[ <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> ] (else:)[ <h1>(print: $forest's path)</h1> <h2>(print: $forest's name)</h2> ] <h3>A Movement</h3> </div> } Gavril knelt closer to the body. His fingers burrowed into the fabric folded around her. He thought he felt a movement, but he was not sure if it was his own or if he imagined it. He cupped his palm over the curve of her belly and waited. Minutes passed, and there was no more. (display: 'addNoteGirl')(display: 'addObservationTouchGirl'){ <div class='header-main'> (if: $girlDeadInside)[ <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> ] (else:)[ <h1>(print: $forest's path)</h1> <h2>(print: $forest's name)</h2> ] <h3>Token</h3> </div> } She had been an educated one, and reading and writing had been hardly a thought to her. She must have written her name thousands of times, over and over, without a moment questioning it. He might have laid one feather on her, but she was Calaiean. (if: not $observation's girlFeather)[(display: 'addObservationGirlFeather')](if: $girlDeadInside)[ { <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>A Thought</h3> </div> } Gavril had an impulse to use the axe. His blood went hot. He stood over the body, which looked like one of those dolls dressed up in a shop window. Doll makers had to put them together, one limb at a time, and they sat at their desks, putting on the legs and the arms and the head, and if they were mechanical, they might have separate fingers or mouths or eyelids that came in pieces. He stepped back, bumped his leg on the cot, and sat down with the axe across his lap. He determined the exertion would have been more of a bother than it was worth. She had so many parts.](else:)[{ <div class='header-main'> <h1>(print: $forest's path)</h1> <h2>(print: $forest's name)</h2> <h3>A Thought</h3> </div> } Gavril had an impulse to use the axe. His blood went hot. But as he stood over the body, he set the axe flat along his leg and pondered how to go about it. He was tired, and there would be no point. The labor would have been for naught, for nocturnal scavengers were sure to claim the body and clean it by dawn. He looked up and around through the rain. He felt exposed standing on the open bridge alone, under the lapses of moonlight between the clouds.] (display: 'addObservationChopGirl'){ <div class='o'> (if: $observation's searchBasket)[(linkgoto: 'Scavenge for leftovers.', 'basketSearch')](else:)[(linkgoto: 'Look in the basket.', 'basketSearch')] (if: $sleepEvent and $smokeCigarettesBothyMorning is false and $inv contains $itemCigarettes)[(linkgoto: 'Smoke a cigarette.', 'smokeCigaretteMorning')](elseif: $sleepEvent is false and $smokeCigarettesBothyNight is false and $inv contains $itemCigarettes)[(linkgoto: 'Smoke a cigarette.', 'smokeCigaretteNight')] </div> } { <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Goods in the Basket</h3> </div> } { (if: $sleepEvent)[(display: 'basket1')] (else:)[(display: 'basket0')] }(if: not $observation's searchBasket)[He did not know why he expected something else to be inside the basket. He did not trust her simplicity, but the contents were as he smelled, as she said: a package of thin biscuits wrapped in paper and twine, hard cheese, and an unopened bottle of Wellswan red wine. He slouched on one of the stools, then straightened up and picked everything out of the basket. He pulled out his knife and cut himself a corner off the cheese. The wine, he uncorked and, along with the food, finished. (display: 'addObservationSearchBasket')](else:)[Gavril was dismayed to remember he had already finished off all the food and wine in the basket. He could have saved a morsel for the road, but it was too late now. ](if: $observation's searchBasket2)[Nothing was left to eat or drink. ](elseif: $observation's searchBasket)[Gavril upturned the bottle of wine onto his lips, but there were only dregs, which he sucked out and swallowed. His hands shook over scraps on the counter, and he found cold remains of the pheasant and chewed on them til the bones snapped between his teeth and sliced into his gums. He coughed up bits of tendon and spit blood. The pale light from the window delivered sharp pains to his head. His arm drummed. His body seemed empty and heavy all at once, barely held together by the bones. He craved warmth, something around him, something to lean against. He needed another cigarette. (display: 'addObservationSearchBasket2')](else:)[Gavril stumbled to the counter(if: $girlDeadInside)[, for he failed to properly coordinate round the body he knew was at his feet,] and dumped out all the contents of the basket. A packet of thin biscuits wrapped in paper and twine, hard cheese, and an unopened bottle of wine rolled out onto the counter. He uncorked the wine and drank with his eyes shut, then ripped open the biscuits and cheese with his teeth and ate whatever could go down. After his feast, he gripped the counter, shaking halfway off the stool, and heaved up the meal he had just consumed. (display: 'addObservationSearchBasket')]{ (set: $observation's searchBasket2 to true) (display: 'addScoreObservation') }{ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Night Fog</h3> </div> } { (if: $girlDeadInside)[Gavril found the Black Koshka tin in his trouser pocket. He lit a cigarette and sat on the edge of the cot. He listened to the crinkle of soft rain. The windows were empty darkness, and the firelight had dimmed so that the corners of the cottage faded to black. The girl's braid was long enough to loop around her neck. Perhaps mean boys had pulled it, and she would not have been happy about that.] (else:)[Gavril searched for a moment for the Black Koshka tin and matches, found them in his trousers, then lit a cigarette and sat on the edge of the cot. He listened to the crinkle of soft rain and embers. He closed his eyes. A stray thought, quickly fled, made them open. Her face had been so white.] } (set: $smokeCigarettesBothyNight to true)(display: 'removeItemCigarettes'){ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>Morning Fog</h3> </div> } { (if: $girlDeadInside)[Gavril searched for a moment for the Black Koshka tin and matches, found them in his trousers, and lit a cigarette and sat on the edge of the cot. The smoke gathered into the light of the solid grey windows, rising then rolling down, down to the floor so it appeared dust was sprinkling upon her.] (else:)[Gavril found the Black Koshka tin in his trouser pocket. He lit a cigarette and sat on the edge of the cot. The smoke gathered into the light of the white-grey windows. The rain had passed, but the trees were still heavy with it. He could not quite define the trees he saw on the other side of the window panes, only a moving smear of shapes, like a face left too long underwater. He needed fresh air and another cigarette.] } (set: $smokeCigarettesBothyMorning to true)(display: 'removeItemCigarettes'){ <div class='header-main'> <h1>(print: $hour's nameInside)</h1> </div> } Gavril pulled off his boots and lay on the cot, which was no more than a plank on four legs, as such were to bear the seabound deceased. The fire from the hearth made his shadow breathe on the wall he faced. Raindrops played a lullaby, only it was not a lullaby but the war ballad of the soldier and songbird, and when his eyes closed, he sank. A stinging cold caressed his cheek. He could not open his eyes, but he saw himself sitting on the cot in the dark, naked to the frigid air. The cold blistered his cheek again. She rose from the floor at his feet, mink coat scraping the inside of his thighs. She was a small girl, and he wanted to hold a small girl. He raised a hand toward her, but she opened the basket between them. She wanted to share with him. He looked in. The fresh biscuits were wrapped in soft white linen. They smelled like cakes, sugary and pungent. He reached into the basket and lifted out the white linen, which seemed to bleed red in his hands. He unfolded the dampened cloth in his lap, and in it was a very small wet blue thing. He cradled the thing in his palms and brought it to his nose, where its aroma thickened. It was a drowned shriveled thing, sweet and ripe. It filled his mouth, grasped his lips and teeth and tongue, and crawled down his throat into his stomach. It roiled inside, then curled up and went to sleep. He too began to drowse. The cold enveloped him. The lullaby was in his ear. He realized the girl had been humming his song, stroking the inside of his arm. (set: $sleepEvent to true)(set: $sleepEventInside to true)<div class='o'>(linkgoto: 'Sleep.', 'morningEvent')</div>{ <div class='header-main'> <h1>(print: $hour's nameOutside)</h1> </div> } Gavril pulled off his boots and lay on the cot, which was no more than a plank on four legs, as such were to bear the seabound deceased. The fire from the hearth made his shadow breathe on the wall he faced. Droplets trickled from leaves and eaves, then there was a timid approach--footsteps light and barely falling, and a scratch at the door so slight and so shy. Then a thud. The axe. And he sank. The iron bolt shed from its casing, and the door creaked. The cold raised his skin and lifted him from where he had sunk and lured him, bared in all, across the threshold into the rain. He moved without moving, walked without waking, and saw nothing through the raindrops clinging onto his long eyelashes until the shadows brought him to the mound on the bridge. He bent over her and grasped her coat, with its fur like knives cutting into his hands and arms. She did not move, but he made her. Over and over again did they move. Between her legs, she was colder than the rain, and something with small claws and teeth reached out from inside her and seized him. Not a peep came from her under his sweat and sway, and when he was done, trembling from the cold grasp, he set her down. The thing inside her beckoned still. He lay within her where he just was, and she tasted as the rain pooling where he nested. The thing reached into him, slipped inside his mouth, down his throat, into his stomach where its hands and feet lodged. He could not feel or hear much else but for the rain pelting the wooden bridge, her thighs enveloping his ears, and the lapping of his tongue over leftover blood. Then he was on the cot once more, head on the cutter's block and the weight of an edge upon his neck. The empty wall enthralled him. Rain and footfalls faded. Out the window, he saw echoes of her from behind, the wet, white crescent of her face, turning again and again and again. (set: $sleepEvent to true)(set: $sleepEventOutside to true)<div class='o'>(linkgoto: 'Sleep.', 'morningEvent')</div>{ <div class='header-main'> <h1>(print: $bothy's interior)</h1> <h2>(print: $bothy's name)</h2> <h3>The Morning After</h3> </div> } The scent of a retreating storm and wet wood opened his lungs and let a cold shiver shake his eyes open. At first he did not recognize the scene before him, uncertain and out of his own skin. (if: not $girlDeadInside)[Then he saw the wooden floorboards, crooked and dusted. He was on the floor](else:)[Then he saw her hair, and his nose was in it. He was on the floor, nestled against the body], naked and knees drawn up, a bruise on the corner of his eye socket, and a breath of blood in his mouth. An aching all over made him curl up tighter, and he looked down into himself and saw his arm had reopened. A broad splinter was wedged down the length of it, skewered through the dog bite and welling up the surrounding flesh. The splinter had snapped off a floorboard. The carving and stain beneath him indicated so. He dug his forefinger and thumb into his arm, snagged the end of the shard and an incidental bit of flesh, and dragged the piece out of the limb. Its exit was searing, and when it was done, he coiled into himself once again. He had no recollection of falling off the cot. He remembered he had been trying to get up, but a leaden force kept weighing him down and towing him back, and he felt vividly frustrated, angry, and drained fighting the whole while. It had been a dream like any other, urgent and vague. The dream's contents were lost to him, which did not surprise him because he hardly ever recalled fancies of the night the way the witches did and wanted him to. He was a different self, himself yet not himself, and he could not very well explain it. The witches liked to analyze: What did you dream last night? How many were in your hand? Did you feel angry then? Scared? What color was it? What did it taste like? What were you wearing? Were you blackout drunk again? Did you sink? Have you been taking your medication? Who were you sleeping with? The questions were air, but the past and probable were often weapons wielded against him. He preferred to keep to the senses of his waking hours. Dizziness, nausea, and a splitting headache were all that remained of this dream, and those, he could feel and then shake off. Yet something else was also left. His gut twisted suddenly but just as quickly unwound. An emptiness dropped into the pit of his stomach like a phantom ship's anchor, not altogether there yet solid enough for a hold. He was hungry again. He propped himself up on his good arm, dragged his (if: $girlDeadOutside)[muddy ]feet rightside up, and rubbed his elbow above the wound. (display: 'enableEndStory')<div class='o'>(linkgoto: 'Prepare to head out.', 'sceneBothyInteriorMorning')</div>{(set: $endStoryEnabled to true)}{ <div class='header-main'> <h1>(print: $bothy's grounds)</h1> <h2>(print: $bothy's name)</h2> <h3>Little Red Poppy</h3> </div> } The girl appeared determined on the path, strong-willed in purpose and more so against strangers. Her gloved hands were stones around the handle of her basket, and her black pebble eyes shined a light even as they were cast upon the ground. Gavril hitched up his rifle and moved to meet the girl, stopping ahead of her down the fence. She waddled by, as her coat was so lush. She had tiny sloping shoulders under the coat of fur and walked as if she wanted to be older--but not too much older--than her years. <div class='d'>$GAVRIL Heyo.</div> The girl did not stop, although he was certain she had seen him at the woodcutter's block. He was certain she had heard his call. Wet leaves on her shawl and mud on her palms and the flap of coat over her knees marked her journey's hardships. With a coat as warm as that, she was out for a considerable excursion, most likely to the highway, to the next town, then wherever beyond, but she had not gone too far from where she had begun. Her basket smelled of bread, and she, of wet earth and perfume. No doubt other creatures had been aroused. <div class='d'>$GAVRIL Heyo there, poppy-o-braid.</div> The trees trembled under a faint roll of thunder, and she kept on. The night had already come, but she was set on her way. He advanced after her, dangling the axe at his side. He thought too late that he should not have carried it along to greet her. <div class='d'>$GAVRIL A ways from the hearth, are you. And with the burden of an ass, no less. Off to the edge, then? Shaking, are you? Cold is the air, but colder is the hour. Where to in the gown of the wind?</div> She turned to him, and he minded his distance, flattening the axe against his thigh so as to not send her skittering. She inhaled deeply under the layers of her garments, but her voice, by way of taking leave, came out faintly in the cold. <div class='d'>$GIRL Good night, sir.</div> <div class='d'>$GAVRIL Well now, why not a hail?</div> She blushed and started off once more. His long legs brought him ahead, and his presence barred her path. She shrank beside the fence. He leaned against the rail in front of her and frightened a sallow moth, which crossed between them. How big and black and shimmery her eyes were. She set her feet firmly on the ground. Her red shawl was a wreath around her cheeks, a noose around her neck. <div class='d'>$GAVRIL Seems to me you're aching, footsore, lungs ablaze. What's chased you to the floor, perhaps? Or who's harried you from home?</div> <div class='d'>$GIRL Calaiel is our home. "All you who love and all you who lack, from the haven of home to the valleys beyond, fill the cavern which is His crimson breast."</div> The timbre of her voice was clean and smooth, and a heft of confidence weighed her breath. Religion did teach its sheep to growl. <div class='d'>$GAVRIL Should think there's a decency in you then, with what you preach. Retching's no flattery. Well?</div> A little smile curved her lips, as did one his. <div class='d'>$GAVRIL Then schooling's not mannered you? Have I no question that you'll give but a breath? All's asked I was to your health.</div> She tucked her chin behind her coat collar, unable to conceal a shy smile, unable to give his interrogation satisfaction. <div class='d'>$GIRL Quite an inquisitive fellow you are.</div> He realized why her eyes were so attractive. They were like black mirrors, the beads of a clever little rat that could slip in and out of the smallest openings. If there were no holes, she would chew one right through him. But she had to be desperate for that. <div class='d'>$GIRL I thought I heard wolves. The moon's nearly full, and the highway's only there. I'd best be going.</div> <div class='d'>$GAVRIL You'd not make the highway before a beast's belly for what you're carrying. By the looks of it, you've met more than a bustle in the bristle already.</div> She brought the basket closer to herself. To divert his eyes, she nodded toward the bothy glow, but he did not turn. <div class='d'>$GIRL Your light?</div> <div class='d'>$GAVRIL Come in.</div> A howl picked up the ash trees' seed pods and sent waves rustling. The premonition of rain carried the creature's shriek in the darkness. Gavril offered her a smirk when no doom followed. A slight twitch of fright came and went on the girl's brow. Wild calls were no matter of laughing to her. He had an impression of her options: spend the night with a braying heathen, or feed the nightmares of Harrow Les. As for himself, he had been avoiding people all day, but he was no boor. He could open his arms to others so long as he kept his eyes, too, open. Some company was not unwanted. <div class='d'>$GIRL I'm sorry. You're mistaken. I only didn't expect... I didn't realize the cottage was occupied.</div> <div class='d'>$GAVRIL What stands is occupied. I've a fowl on the shaft, which you're most welcome to.</div> She hesitated but he knew she had already made up her mind. It was indecorous to leap at invitations. That was practically inviting oneself; thus, not an invitation at all but an imposition. She was plain and simple, too agreeable to be the star of the county but darling enough to be missed. <div class='d'>$GAVRIL Come on, well.</div> He extended the hand without the axe, but it was his shredded arm. She did not take it. If an animal's call did not lure her, the sky finally cracked into thunder and rain. The cold pellets hit hard, startling her and awakening him. She squeaked out a bashful laugh, convinced into his hospitality by what she may have believed to be the blessed contrivance of her god. The ice crawled down his neck and spine, under his clothes, and into his arm. He let her ahead of him. She took strides up the path to the bothy almost too long for her and glanced back at him. The rope of her wet black braid swung one way and another, at once free and yet bound. He buried the axe in the woodcutter's block, gathered the firewood, and went after her. (display: 'removeItemAxe')(display: 'addNoteCircle')(display: 'changePortraitPlayer') <div class='o'>(linkgoto: 'Enter the cottage.', 'sceneBothyInteriorGirlEvent')</div>(if: $girlDead is false and $entryCook's done and $inv contains $itemAxe)[<div class='o'>(linkgoto: 'Split firewood.', 'bothySplitFirewood')</div> ]{ <!-- AXE --> (if: $item's name contains 'Splitting Axe' and $endStoryEnabled and $girlDeadOutside)[ (set: $item's image00 to $item's imageBloody00) (set: $item's image01 to $item's imageBloody01) ] <!-- PHEASANT TAIL FEATHERS --> (elseif: $item's name contains 'Pheasant Tail Feathers' and $endStoryEnabled)[ (set: $item's image00 to $item's imageBroken00) (set: $item's image01 to $item's imageBroken01) (set: $item's image02 to $item's imageBroken02) (set: $item's image03 to $item's imageBroken03) ] <!-- CIGARETTES --> (elseif: $item's name contains 'Cigarettes')[ (if: $itemCigaretteCount <= 0)[ (set: $item's image01 to $item's imageOpen00) (set: $item's image02 to $item's imageClose00)] (elseif: $itemCigaretteCount is 1)[ (set: $item's image01 to $item's imageOpen01) (set: $item's image02 to $item's imageClose01)] (elseif: $itemCigaretteCount is 2)[ (set: $item's image01 to $item's imageOpen02) (set: $item's image02 to $item's imageClose02)] (elseif: $itemCigaretteCount is 3)[ (set: $item's image01 to $item's imageOpen03) (set: $item's image02 to $item's imageClose03)] (elseif: $itemCigaretteCount is 4)[ (set: $item's image01 to $item's imageOpen04) (set: $item's image02 to $item's imageClose04)] (else:)[ (set: $item's image00 to $item's image00) (set: $item's image01 to $item's image01)] ] (else:)[] }{ <!-- CYCLE REVERSE: FOUR IMAGES --> (if: $item's name contains 'Pheasant Tail Feathers')[ <div class='item hover-opacity'>(cyclinglink: $item's image00, $item's image01, $item's image02, $item's image03, $item's image02, $item's image01)</div> ] <!-- CYCLE REVERSE: THREE IMAGES --> (elseif: $item's name contains 'Cigarettes')[ <div class='item hover-opacity'>(cyclinglink: $item's image00, $item's image01, $item's image02, $item's image01)</div> ] <!-- DEFAULT ITEM IMAGE DISPLAY: FLIP BETWEEN TWO IMAGES --> (else:)[ <div class='item hover-opacity'>(cyclinglink: $item's image00, $item's image01)</div> ] }