JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
/* Source of truth: src/*.twee. One passage per screen; all prose comes from setup.strings (src/strings.twee) via <<t "key" {vars}>> / setup.t(), in sv (code "se"), en and de. */
/* <<t "key" {vars}>> prints a string in the current language */ <<widget "t">><<print setup.t(_args[0], _args[1])>><</widget>> /* <<enemy form>> prints the current enemy's name: ia, da, IAC, DAC, WPN */ <<widget "enemy">><<if _args[0] is "DA">><<print setup.animal($enemy.id, "da")>><<elseif _args[0] is "IA">><<print setup.animal($enemy.id, "ia")>><<elseif _args[0] is "IAC">><<print ucfirst(setup.animal($enemy.id, "ia"))>><<elseif _args[0] is "DAC">><<print ucfirst(setup.animal($enemy.id, "da"))>><<elseif _args[0] is "WPN">><<print setup.animal($enemy.id, "weapon")>><</if>><</widget>> <<widget "setquestions">><<set _q to tags().includes("adventure") or passage() is "Question_popup" ? setup.stridsFraga(setup.fragaSteg()) : passage() is "Question_untimed2P" and $player2Turn and setup.qtypes[$parTyp] ? setup.makeType($parTyp) : setup.makeQuestions($tier, $player1Right + $player2Right)>><<if passage() is "Question_untimed2P" and not $player2Turn>><<set $parTyp to _q.type>><</if>><<set $questions to [_q]>><<set $questionnr to 0>><</widget>> /* <<tierchoice>>: the difficulty buttons for the quick modes */ <<widget "tierchoice">> <b><<t "tier.choose">></b><br> <div class="tierval"> <<for _t range (_args[0] is "utan-auto" ? [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "auto"])>><<capture _t>> <label class="tier-alt"><<print '<input type="radio" name="tier" value="' + _t + '"' + (State.variables.tier === _t || (_t === 1 && _args[0] === "utan-auto" && typeof State.variables.tier !== "number") ? ' checked' : '') + '>'>><b><<print setup.tierName(_t)>></b> <span class="dim"><<print setup.t("tier." + _t + ".desc")>></span></label> <</capture>><</for>> </div> <</widget>> <<widget "runlogknapp">><p class="avsluta"><<link `setup.t("runlog.open")`>><<run setup.popup.content("Dialog Runlog")>><<run setup.popup.open()>><</link>></p><</widget>> <<widget "slutkort">> <<run setup.advSpara()>> <div class="slut"> <div class="slut-poang"><span class="tal"><<print setup.advTotal()>></span><span class="enhet"><<t "end.points">></span><<if $advRank is 1>><span class="plats rekord"><<t "end.record">></span><<elseif $advRank>><span class="plats"><<print setup.t("end.rank", { n: $advRank })>></span><</if>></div> <<if setup.advPoang() > 0 or $vunnit>><h3><<t "end.questions">></h3><<print setup.advKortHtml()>><</if>> <div class="slut-rutor"><div class="ruta"><b>$player.level</b><span><<t "end.level">></span></div><div class="ruta"><b>$dag</b><span><<t "end.days">></span></div><div class="ruta"><b>$advRight / $advWrong</b><span><<t "end.right">> / <<t "end.wrong">></span></div><div class="ruta"><b><<print $advRight + $advWrong > 0 ? Math.round(100 * $advRight / ($advRight + $advWrong)) + "%" : "–">></b><span><<t "end.accuracy">></span></div><div class="ruta"><b>$copperTotal</b><span><<t "end.copperTotal">></span></div><div class="ruta"><b><<print $forrad>> kg</b><span><<t "end.meat">></span></div></div> <<if setup.antalTrofeer() > 0>><h3><<t "end.trophies">></h3><div class="trofeer"><<print setup.trofeHtml()>></div><</if>> <div class="varld"><<if not $advGlobal and setup.advTotal() > 0>><<print setup.varldKnapp()>><</if>></div> <div class="knappar"><<button `_args[0]`>><<run Save.browser.auto.clear()>><<script>>Engine.restart();<</script>><</button>><<button `setup.t("end.scoreboard")` 'Scoreboard_adventure'>><</button>></div> </div> <</widget>> <<widget "miljo">><<set _m to setup.miljo(_args[0])>><<if _m>><p class="miljo"><b>_m</b></p><</if>><</widget>> <<widget "playercash">><<print $player.copper>><</widget>> <<widget "showscoreboard">> <div class="tavla" @data-board="_args[0]"> <h2><<print setup.t({ tidsjakt: "utm.tidsjakt.title", treliv: "utm.treliv.title", adventure: "score.adventure" }[_args[0]])>></h2> <div class="tavla-flikar"><button type="button" data-flik="enhet"><<t "score.device">></button><button type="button" data-flik="varld"><<t "score.world">></button><button type="button" data-flik="vecka"><<t "score.week">></button></div> <label class="tavla-namn"><<print '<input type="checkbox"' + (setup.riktigaNamn() ? ' checked' : '') + '>'>> <<t "score.realNames">></label> <div id="tavla-lista"></div> </div> <</widget>>
<<set $log to []>> <<set $practice to recall("practice", { types: ["add20"], total: 10 })>><<set $questions to [setup.makeQuestions(1, 0)]>><<set $questionnr to 0>><<set $answer to "">><<set $avslutat to false>><<set $pIndex to 0>><<set $pRight to 0>><<set $pWrong to 0>><<set $pMisses to []>> <<run setup.TAVLOR.forEach(function (t) { var r = recall('scoreboard_' + t); if (r !== undefined) { State.variables['scoreboard_' + t] = r; } })>> <<script>>setPageElement("topheader", "Topheader"); setPageElement("headermenu", "Menu"); setPageElement("sidebar", "Right"); setPageElement("footer", "Footer");<</script>> <<set $player1Name to setup.t("start.p1")>><<set $player1Right to 0>><<set $player1Wrong to 0>><<set $player1Score to 0>> <<set $player2Name to setup.t("start.p2")>><<set $player2Right to 0>><<set $player2Wrong to 0>><<set $player2Score to 0>> <<set $player2Turn to false>> <<set $tier to 1>> <<set $answer to "">> <<set $huntSuccess to 0>> <<set $playerAction to "">> <<set $rightanswer to false>> <<set $enemyescape to 0>> <<set $damageToEnemy to 0>><<set $damageToPlayer to 0>> <<set $player to { name: "", health: 20, arrows: 0, flee: "false", copper: 20, level: 1, bow: "", knife: "knife" }>> <<set $playerMaxHealth to 20>> <<set $trophies to {}>><<set $packe to []>><<set $forrad to 0>><<set $vunnit to false>> <<set $advRight to 0>><<set $xp to 0>><<set $advWrong to 0>><<set $copperTotal to 0>> <<set $mark to "meadow">><<set $advTier to 1>> <<set $elkDead to false>> <<set $klocka to 6>><<set $dag to 1>><<set $vader to "">><<set $snoTacke to 0>><<set $vaderNytt to "">><<set $bar to { said: [], season: "", tally: 0, bits: [], met: false }>><<set $bergOppet to false>><<set $matt to false>><<set $mattTill to 0>><<set $utvilad to true>><<set $rum to true>> <<set $nivaText to "">> <<set $enemy to setup.nyFiende("partridge")>> <<set $enemyMaxHealth to $enemy.health>>
<<run Game.updateBar('#player-health', $playerMaxHealth, $player.health)>> <<run Game.updateBar('#enemy-health', $enemyMaxHealth, $enemy.health)>> <<script>>setPageElement("sidebar", "Right"); setPageElement("headermenu", "Menu"); setPageElement("topheader", "Topheader"); setPageElement("footer", "Footer");<</script>>
<<if tags().includes("adventure") and $dag > setup.DAGAR and not $vunnit and passage() isnot "Årets slut">><<goto "Årets slut">><</if>> <<if tags().includes("practice_head")>> <div class="status"><span><<print setup.t("practice.head", { i: Math.min($practice.total, $pIndex + (passage() === "Question_practice" ? 1 : 0)), n: $practice.total })>></span><span class="ok"><<t "head.correct">> $pRight</span><span class="fel"><<t "head.wrong">> $pWrong</span></div> <</if>> <<if tags().includes("rw_head")>> <div class="status"> <<if passage().includes("2P")>> <span>$player1Name</span><span class="ok"><<t "head.correct">> $player1Right</span><span class="fel"><<t "head.wrong">> $player1Wrong</span> <span>$player2Name</span><span class="ok"><<t "head.correct">> $player2Right</span><span class="fel"><<t "head.wrong">> $player2Wrong</span> <<else>> <span class="ok"><<t "head.correct">> $player1Right</span><span class="fel"><<t "head.wrong">> $player1Wrong</span><span><<t "head.total">>: $player1Score</span><span><<t "score.tier">>: <<print setup.tierName($tier)>></span> <</if>> <<if tags().includes("timer")>><span><<print setup.t("head.time", { n: '<span id="timedisplay">0</span>' })>><<repeat 100ms>><<replace "#timedisplay">><<= (time() / 1000).toFixed(0)>><</replace>><</repeat>></span><</if>> </div> <</if>>
<div id="landskap" aria-hidden="true"> <div class="h h-dag"></div><div class="h h-gryning"></div><div class="h h-skymning"></div><div class="h h-natt"></div> <div class="stjarnor"></div><div class="arm"><div class="sol"></div><div class="mane"></div></div><div class="dis"></div> <div class="fjall"></div><div class="fjalltopp"></div><div class="fjallsno"></div><div class="fjallskugga"></div><div class="berg berg-fjarr"></div><div class="berg berg-nar"></div><div class="grund"></div><div class="skog skog-bak"></div><div class="mark"></div><div class="skog skog-mitt"></div><div class="skog skog-fram"></div> <div class="morker"></div><div class="regn"><i class="r1"></i><i class="r2"></i><i class="r3"></i></div><div class="sno"><i class="s1"><b></b></i><i class="s2"><b></b></i><i class="s3"><b></b></i></div> </div> <div class="wrapper"> <header class="header"><div id="topheader"></div><nav id="headermenu"></nav></header> <div id="sidebar"></div> <article class="main"><div id="passages"></div></article> <footer class="footer" id="footer"></footer> </div>
<h1><<t "title">></h1><span class="tagline"><<t "launch.tagline">></span>
<button class="meny-knapp" type="button" @aria-label="setup.t('menu.menu')" aria-expanded="false">☰</button> <ul class="meny-lista"> <<if tags().includes("previous")>> <<set _previous to previous()>><li><<link `setup.t("menu.back")` _previous>><</link>></li> <<elseif tags().includes("scoreboard")>> <li><<link `setup.t("menu.scoreboards")`>><<run setup.popup.content('Dialog Scoreboards')>><<run setup.popup.open()>><</link>></li> <</if>> <<if setup.UTMPASS.test(passage())>> <li><<link `setup.t("menu.end")`>><<run setup.avsluta()>><</link>></li> <</if>> <<if setup.UTMPASS.test(passage()) or /^(Resultat_utmaning|Resultat_duell|(Question|Answer|Results)_practice)$/.test(passage())>> <li><<link `setup.t("menu.runlog")`>><<run setup.popup.content('Dialog Runlog')>><<run setup.popup.open()>><</link>></li> <</if>> <<if tags().includes("language")>> <li><<link `setup.t("menu.language")`>><<run setup.popup.content('Dialog Language')>><<run setup.popup.open()>><</link>></li> <</if>> <<if tags().includes("adventure")>> <li><<link `setup.t("side.log")`>><<run setup.popup.content('Dialog Log')>><<run setup.popup.open()>><</link>></li> <</if>> <<if setup.kanHelskarm()>><li><<link `setup.t(setup.arHelskarm() ? "menu.fullscreenExit" : "menu.fullscreen")`>><<run setup.helskarm()>><</link>></li><</if>> <li><<link `setup.t("menu.restart")`>><<run setup.popup.content('Dialog Restart')>><<run setup.popup.open()>><</link>></li> <li class="textstorlek"><span><<t "menu.textsize">></span><button type="button" data-text="-1" aria-label="A−">A−</button><button type="button" data-text="1" aria-label="A+">A+</button></li> </ul>
<<if tags().includes("adventure")>><<run setup.migrera()>> <div class="hud"> <div class="stat tid"><span @class="'tid-text' + (setup.dagarKvar() <= 7 ? ' sent' : '')"><<print setup.tidText()>></span><span class="forrad-pill" @style="'--p:' + Math.min(100, Math.round(100 * $forrad / setup.MAL)) + '%'" @title="setup.t('side.store')"><b><<t "side.store">></b> <<print $forrad>>/<<print setup.MAL>> kg</span><div class="tid-skala-holder"><div class="tid-matare" @title="setup.t('time.' + setup.tidKlass($klocka))"><<for _h to 0; _h lt 24; _h++>><i @class="'tid-h ' + setup.tidKlass(_h) + (_h === $klocka ? ' nu' : '')"></i><</for>></div><div class="tid-skala"><<for _h range [0, 6, 12, 18, 24]>><span><b class="lang"><<print (_h < 10 ? "0" : "") + _h + ":00">></b><b class="kort">_h</b></span><</for>></div></div></div> <div class="stat xp"><div class="medalj" @title="setup.t('side.level') + ' ' + $player.level"><span>$player.level</span></div><div class="bar"><div class="fyll xpfyll" @style="'width:' + Math.min(100, Math.round(100 * setup.xpInto() / 12)) + '%'"></div><span class="bar-text"><b><<t "side.xp">>:</b> <<print setup.xpText()>></span></div></div> <div class="stat hp"><div class="bar"><div class="fyll hpfyll" @style="'width:' + Math.max(0, Math.min(100, Math.round(100 * $player.health / $playerMaxHealth))) + '%'"></div><span class="bar-text"><b><<t "side.hp">>:</b> <span id="health">$player.health / $playerMaxHealth</span></span></div></div> <div class="stat rad"> <span class="post" @title="setup.t('cur.copper')"><span class="mynt" aria-hidden="true"></span><span class="val">$player.copper</span></span> <span class="post" @title="setup.t('side.arrows')"><span class="ikon" aria-hidden="true">🏹</span><span class="val">$player.arrows</span></span> <span class="post" @title="setup.t('side.pack')"><span class="ikon" aria-hidden="true">🎒</span><span class="val"><<print setup.packKg()>>/<<print setup.BARA>> kg</span></span> <span class="knapp"><<link `setup.t("side.gear")`>><<run setup.popup.content('Dialog Gear')>><<run setup.popup.open()>><</link>></span> </div> </div> <</if>>
<top><<t "gear.title">></top> <<if $player.bow is "">> <div class="vapen saknas"><div class="vapen-ikon">🏹</div><div class="vapen-text"><div class="vapen-namn"><<t "gear.noBow">></div><div class="vapen-besk"><<t "gear.noBow.text">></div></div></div> <<else>> <div class="vapen"><div class="vapen-ikon">🏹</div><div class="vapen-text"><div class="vapen-namn"><<print setup.vapenNamn("bow")>></div><div class="vapen-besk"><<print setup.t("gear." + $player.bow + ".text")>></div> <div class="vapen-rad"><span class="post"><b><<t "gear.damage">></b> <span class="skada-bar"><i @style="'width:' + Math.round(100 * setup.skadaMax('bow') / setup.SKADATAK) + '%'"></i></span> <<print setup.skadaText("bow")>></span><span class="post"><b><<t "gear.arrows">></b> $player.arrows</span><<if setup.nivaBonus() > 0>><span class="post dim"><<print setup.t("gear.bonus", { n: setup.nivaBonus() })>></span><</if>></div> <div class="vapen-not"><<t "gear.harder">></div></div></div> <</if>> <div class="vapen"><div class="vapen-ikon">🔪</div><div class="vapen-text"><div class="vapen-namn"><<print setup.vapenNamn("knife")>></div><div class="vapen-besk"><<print setup.t("gear." + $player.knife + ".text")>></div> <div class="vapen-rad"><span class="post"><b><<t "gear.damage">></b> <span class="skada-bar"><i @style="'width:' + Math.round(100 * setup.skadaMax('knife') / setup.SKADATAK) + '%'"></i></span> <<print setup.skadaText("knife")>></span><<if Math.floor(($player.level - 1) / 2) > 0>><span class="post dim"><<print setup.t("gear.bonus", { n: Math.floor(($player.level - 1) / 2) })>></span><</if>></div> </div></div>
<top><<t "runlog.title">></top> <<print setup.runlogHtml()>>
<top><<t "log.title">></top> <<if $log.length > 0>><div class="logg"><<for _entry range $log>><<if _entry and _entry.key>><div>» <<print setup.logText(_entry)>></div><</if>><</for>></div><<else>><p class="dim"><<t "log.empty">></p><</if>>
<<if passage() is "StoryLaunch">><center><a href="https://spectraformstudios.se" target="_blank">spectraformstudios.se</a><br> <<set _mail to ["support", "spectraformstudios.se"].join("@")>><a @href="'mailto:' + _mail + '?Subject=' + setup.t('title')" target="_top">_mail</a></center><</if>>
<top><<t "restart.title">></top> <<t "restart.text">><br><br> <center> <<button `setup.t("restart.yes")`>><<script>>Engine.restart();<</script>><</button>> <<button `setup.t("restart.no")`>><<run setup.popup.close()>><</button>> </center>
<top><<t "lang.title">></top> <<t "lang.text">><br><br> <center> <<button `setup.t("lang.se")`>><<run setup.i18n.setLang('se')>><</button>> <<button `setup.t("lang.en")`>><<run setup.i18n.setLang('en')>><</button>> <<button `setup.t("lang.de")`>><<run setup.i18n.setLang('de')>><</button>> </center>
<top><<t "score.title">></top> <<t "score.text">><br><br> <div class="tavlval"> <<button `setup.t("utm.tidsjakt.title")` 'Scoreboard_tidsjakt'>><<run setup.popup.close()>><</button>> <<button `setup.t("utm.treliv.title")` 'Scoreboard_treliv'>><<run setup.popup.close()>><</button>> <<button `setup.t("score.adventure")` 'Scoreboard_adventure'>><<run setup.popup.close()>><</button>> </div>
<<showscoreboard "tidsjakt">>
<<showscoreboard "treliv">>
<<showscoreboard "adventure">>
<div class="start"> <h2><<t "launch.welcome">></h2> <<set _info to recall("advInfo")>><<set _sparat to setup.harSparat()>> <div @class="'utm-kort meny-aventyr' + (_sparat ? ' med-nytt' : '')"> <<print '<button type="button" class="utm-val aventyr-val"><span class="utm-ikon">🏹</span><span class="utm-text"><b>' + setup.t("launch.adventure") + '</b><span>' + (_sparat ? (_info ? setup.t("launch.progress", { d: _info.dag, kg: _info.forrad, mal: setup.MAL }) : setup.t("launch.continue")) : setup.t("launch.adventure.desc")) + '</span></span></button>'>> <<if _sparat>><div class="nytt-aventyr"><<print '<button type="button" class="nytt-val"><span class="utm-ikon">↻</span><span class="utm-text"><b>' + setup.t("launch.newAdventure") + '</b><span>' + setup.t("launch.newAdventure.desc") + '</span></span></button>'>></div><</if>> </div> <h3 class="meny-rubrik"><<t "launch.challenges">></h3> <div class="utm-kort"> <<for _l range ["tidsjakt", "treliv", "duell"]>><<print '<button type="button" class="utm-val" data-lage="' + _l + '"><span class="utm-ikon">' + { tidsjakt: "⏱", treliv: "♥", duell: "⚔" }[_l] + '</span><span class="utm-text"><b>' + setup.t("utm." + _l + ".title") + (_l === "duell" ? ' <small>' + setup.t("utm.twoP") + '</small>' : '') + '</b><span>' + setup.t("utm." + _l + ".desc") + '</span></span></button>'>><</for>> </div> <h3 class="meny-rubrik"><<t "launch.practiceHead">></h3> <div class="utm-kort"><<print '<button type="button" class="utm-val trana-val"><span class="utm-ikon">✎</span><span class="utm-text"><b>' + setup.t("launch.practice") + '</b><span>' + setup.t("launch.practice.desc") + '</span></span></button>'>></div> <p class="upphovsratt"><<= setup.copyright>></p> </div>
<div id="p_header"><h2><<t `"utm." + $utmLage + ".title"`>></h2></div> <p class="text"><<print setup.t("utm." + $utmLage + ".rules", { b: ($utmLage !== "duell" ? setup.UTM[$utmLage].medalj[0] : 0), s: ($utmLage !== "duell" ? setup.UTM[$utmLage].medalj[1] : 0), g: ($utmLage !== "duell" ? setup.UTM[$utmLage].medalj[2] : 0) })>></p> <<if $utmLage is "duell">><b><<t "start.names">></b><br><<textbox "$player1Name" `setup.t("start.p1")` autofocus>><br><<textbox "$player2Name" `setup.t("start.p2")`>><br><br> <<else>><b><<t "start.name">></b><br><<textbox "$player1Name" `setup.t("start.anon")` autofocus>><br><br><</if>> <<tierchoice "utan-auto">><br> @@#kbnav;<<button `setup.t("start.go")`>><<run setup.readTier()>><<run setup.utmStart($utmLage, typeof $tier === "number" ? $tier : 1)>><<goto `$utmLage is "duell" ? "Duell" : "Spel_" + $utmLage`>><</button>>@@
<<set $utm.t0 to Date.now()>> <div class="utm-topp"><span class="utm-poang"><b><<print $utm.poang>></b> <<t "utm.points">></span><span class="utm-rekord"><<print setup.t("utm.record", { n: setup.utmRekord("tidsjakt") })>></span></div> <div id="utm-klocka" class="klocka"><div class="fyll"></div><span class="sek"></span></div> <<print setup.blixtHtml()>> <div class="fraga"><div class="etikett"><<t "q.question">> <<print setup.nivaHtml(setup.niva($utm.q.type))>></div><h1><<print setup.visa($utm.q)>></h1> <<textbox "$answer" "" autofocus>></div> @@#kbnav;<<button `setup.t("q.answer")`>><<run setup.utmSvar()>><</button>>@@ <<done>><<run setup.utmKlockaStart()>><</done>>
<<set $utm.t0 to Date.now()>> <div class="utm-topp"><span class="utm-poang"><b><<print $utm.poang>></b> <<t "utm.points">></span><span class="hjartan"><<print setup.hjartan()>></span><span class="utm-rekord"><<print setup.t("utm.record", { n: setup.utmRekord("treliv") })>></span></div> <<if $utm.serie > 0>><div @class="'serie m' + setup.utmMult($utm.serie)"><<print setup.t("utm.streak", { n: $utm.serie })>><<if setup.utmMult($utm.serie) > 1>> <b>×<<print setup.utmMult($utm.serie)>></b><<else>> <span class="dim"><<print setup.t("utm.toDouble", { n: 5 - $utm.serie })>></span><</if>></div><</if>> <<print setup.blixtHtml()>> <div class="fraga"><div class="etikett"><<t "q.question">> <<print setup.nivaHtml(setup.niva($utm.q.type))>></div><h1><<print setup.visa($utm.q)>></h1> <<textbox "$answer" "" autofocus>></div> @@#kbnav;<<button `setup.t("q.answer")`>><<run setup.utmSvar()>><</button>>@@
<<set _b to $utm.blixt>><<set $utm.blixt to null>> <div class="utm-topp"><span class="utm-poang"><b><<print $utm.poang>></b> <<t "utm.points">></span><span class="hjartan"><<print setup.hjartan()>></span></div> <div class="svar wrong"><b><<t "q.wrong">></b><<print setup.t("q.youWereWrong", { answer: setup.svarText(_b.given), right: setup.tal(_b.svar) })>><br><<print $utm.liv > 0 ? setup.t($utm.liv === 1 ? "utm.lives1" : "utm.livesN", { n: $utm.liv }) : setup.t("utm.noLives")>></div> <<if setup.hintFor($utm.felq)>><div class="tips"><span class="tips-rubrik"><<t "hint.label">></span><<print setup.hintFor($utm.felq)>></div><</if>> <<if $utm.liv > 0>>@@#kbnav;<<button `setup.t("utm.continue")`>><<run setup.utmNyFraga()>><<goto "Spel_treliv">><</button>>@@ <<else>>@@#kbnav;<<button `setup.t("utm.seeResult")`>><<run setup.utmSlut()>><</button>>@@<</if>>
<<set $utm.t0 to Date.now()>><<set _namn to ($utm.tur is 1 ? $player1Name : $player2Name)>> <<print setup.repHtml()>> <div @class="'tur-banner p' + $utm.tur"><<print setup.t("q.yourTurn", { name: setup.esc(_namn) })>></div> <div class="fraga"><div class="etikett"><<print setup.t("utm.round", { n: $utm.runda + 1 })>> <<print setup.nivaHtml(setup.niva($utm.q.type))>></div><h1><<print setup.visa($utm.q)>></h1> <<textbox "$answer" "" autofocus>></div> @@#kbnav;<<button `setup.t("q.answer")`>><<run setup.utmSvar()>><</button>>@@
<<set _namn to ($utm.tur is 1 ? $player1Name : $player2Name)>> <<print setup.repHtml()>> <div @class="'tur-banner p' + $utm.tur"><<print setup.t("utm.handOver", { name: setup.esc(_namn) })>></div> <p class="text center"><<t "utm.handOverText">></p> @@#kbnav;<<button `setup.t("utm.ready")` "Duell">><</button>>@@
<<set _a to $utm.svar[1]>><<set _b to $utm.svar[2]>><<set _vem to ($utm.drag > 0 ? $player1Name : $player2Name)>> <div id="p_header"><h2><<print setup.t("utm.round", { n: $utm.runda })>></h2></div> <p class="text center"><<print setup.visa($utm.q)>> = <b><<print setup.tal($utm.q.answer)>></b></p> <ul class="duell-svar"> <li @class="_a.ok ? 'ok' : 'fel'"><b><<print setup.esc($player1Name)>></b> <<print (_a.ok ? "✓ " : "✗ ") + setup.esc(setup.svarText(_a.g))>> <span class="dim">(<<print (_a.ms / 1000).toFixed(1)>> s)</span></li> <li @class="_b.ok ? 'ok' : 'fel'"><b><<print setup.esc($player2Name)>></b> <<print (_b.ok ? "✓ " : "✗ ") + setup.esc(setup.svarText(_b.g))>> <span class="dim">(<<print (_b.ms / 1000).toFixed(1)>> s)</span></li> </ul> <p class="text center"><b><<print $utm.drag is 0 ? setup.t("utm.noPull") : setup.t(_a.ok and _b.ok ? "utm.pullsFaster" : "utm.pulls", { name: setup.esc(_vem) })>></b></p> <<print setup.repHtml()>> @@#kbnav;<<button `setup.t($utm.vinst ? "utm.seeResult" : "utm.nextRound")`>><<run setup.duellNasta()>><</button>>@@
<<set _m to setup.utmMedalj()>><<set _M to setup.UTM[$utm.lage].medalj>> <div class="slut utm-slut"> <h2><<t `$utm.avslutat ? "utm.ended" : $utm.lage is "tidsjakt" ? "utm.timeUp" : "utm.outOfLives"`>></h2> <div class="slut-poang"><span class="tal"><<print $utm.poang>></span><span class="enhet"><<t "end.points">></span> <<if $utm.rank is 1 and $utm.poang > $utm.rekordFore>><span class="plats rekord"><<t "utm.newRecord">></span><<elseif $utm.rank>><span class="plats"><<print setup.t("end.rank", { n: $utm.rank })>></span><</if>></div> <div @class="'medalj m' + _m"><span class="medalj-ikon"><<print ["", "🥉", "🥈", "🥇"][_m]>></span><b><<t `"utm.medal." + _m`>></b><<if _m < 3>> <span class="dim"><<print setup.t("utm.toNext", { n: _M[_m] - $utm.poang, medal: setup.t("utm.medal." + (_m + 1)).toLowerCase() })>></span><</if>></div> <div class="slut-rutor"><div class="ruta"><b><<print $utm.ratt>></b><span><<t "utm.right">></span></div><div class="ruta"><b><<print $utm.fel>></b><span><<t "utm.wrong">></span></div><div class="ruta"><b><<print $utm.basta>></b><span><<t "utm.bestStreak">></span></div><div class="ruta"><b><<print setup.tierName(setup.utmSteg())>></b><span><<t "utm.topLevel">></span></div></div> <h3><<t "card.title">></h3><<print setup.kortHtml(1, true)>> <div id="varld" class="varld"><<if $utm.poang > 0>><<print setup.varldKnapp()>><</if>></div> <div class="knappar"><<button `setup.t("utm.again")`>><<run setup.utmStart($utm.lage, $utm.start)>><<goto `"Spel_" + $utm.lage`>><</button>><<button `setup.t("utm.menu")` "StoryLaunch">><</button>><<button `setup.t("end.scoreboard")` `"Scoreboard_" + $utm.lage`>><</button>></div> <<runlogknapp>> </div>
<<set _v to $utm.vinst or ($utm.rep > 0 ? 1 : $utm.rep < 0 ? 2 : 0)>> <div class="slut utm-slut"> <h2><<if _v is 0>><<t "utm.tieDuel">><<else>><<print setup.t("utm.winner", { name: setup.esc(_v is 1 ? $player1Name : $player2Name) })>><</if>></h2> <<if $utm.avslutat>><p class="dim center"><<t "utm.endedDuel">></p><</if>> <<print setup.repHtml()>> <div class="kort-par"><div><h3><<print setup.esc($player1Name)>></h3><<print setup.kortHtml(1, true)>></div><div><h3><<print setup.esc($player2Name)>></h3><<print setup.kortHtml(2, true)>></div></div> <div class="knappar"><<button `setup.t("utm.again")`>><<run setup.utmStart("duell", $utm.start)>><<goto "Duell">><</button>><<button `setup.t("utm.menu")` "StoryLaunch">><</button>></div> <<runlogknapp>> </div>
<div id="p_header"><h2><<t "practice.title">></h2></div> <<run setup.practiceInit()>> <div class="trana"> <div class="tval nivaval"><b><<t "practice.levels">></b> <<print setup.nivaChips()>></div> <p class="nivanot dim"><<t "practice.levelsNote">></p> <div class="tval"><<button `setup.t("practice.all")`>><<run setup.practiceSelect(true)>><</button>> <<button `setup.t("practice.clear")`>><<run setup.practiceSelect(false)>><</button>></div> <<for _cat range setup.practiceCats>> <fieldset class="tkat"><legend><<print setup.t("practice.cat." + _cat.id)>><span class="kat-val"><<print '<button type="button" data-kat="1">' + setup.t("practice.catAll") + '</button><button type="button" data-kat="0">' + setup.t("practice.catNone") + '</button>'>></span></legend> <<print setup.chipsHtml(_cat)>> </fieldset> <</for>> <fieldset class="tkat"><legend><<t "practice.count">></legend> <<for _n range [10, 20, 50]>><<capture _n>><label class="chip"><<print '<input type="radio" name="pcount" value="' + _n + '"' + (State.variables.practice.total === _n ? ' checked' : '') + '>'>> _n</label><</capture>><</for>> </fieldset> </div> <div id="pfel"></div> @@#kbnav;<<button `setup.t("practice.start")`>><<if setup.readPractice()>><<goto "Question_practice">><<else>><<replace "#pfel">><div class="svar wrong"><<t "practice.none">></div><</replace>><</if>><</button>>@@
<<set $pIndex += 1>><<set $questions to [setup.makePractice()]>><<set $questionnr to 0>><<set $answer to "">> <div class="fraga"><div class="etikett"><<t "q.question">> <<print setup.nivaHtml(setup.niva($questions[0].type))>></div><h1><<print setup.visa($questions[0])>></h1> <<textbox "$answer" "" autofocus>></div> @@#kbnav;<<button `setup.t("q.answer")` 'Answer_practice'>><</button>>@@
<<set _ok to setup.sammaSvar($answer, $questions[0].answer)>><<run setup.registrera(0, $questions[0], $answer, _ok, setup.POANG[setup.niva($questions[0].type)])>> <<if _ok>> <<set $pRight += 1>> <div class="svar right"><b><<t "q.correct">></b><<print setup.t("q.youWereRight", { answer: $answer })>></div> <<else>> <<set $pWrong += 1>><<run State.variables.pMisses.push({ question: State.variables.questions[0].question, answer: State.variables.questions[0].answer, given: State.variables.answer })>> <div class="svar wrong"><b><<t "q.wrong">></b><<print setup.t("q.youWereWrong", { answer: setup.svarText($answer), right: setup.tal($questions[0].answer) })>></div> <<if setup.hintFor($questions[0])>><div class="tips"><span class="tips-rubrik"><<t "hint.label">></span><<print setup.hintFor($questions[0])>></div><</if>> <</if>> <<if $pIndex gte $practice.total>> @@#kbnav;<<button `setup.t("practice.done")` 'Results_practice'>><</button>>@@ <<else>> @@#kbnav;<<button `setup.t("q.next")` 'Question_practice'>><</button>>@@ <</if>>
<div id="p_header"><h2><<t "practice.done">></h2></div> <p class="resultat"><<print setup.t("practice.result", { right: $pRight, n: $practice.total, pct: Math.round(100 * $pRight / $practice.total) })>></p> <<print setup.kortHtml(0, true)>> <<runlogknapp>> <<if $pMisses.length > 0>> <b><<t "practice.misses">></b> <ul class="missar"><<for _m range $pMisses>><li><span class="fr">_m.question</span> = <b><<print setup.tal(_m.answer)>></b> <span class="dim">(<<print setup.t("practice.gave", { a: _m.given })>>)</span></li><</for>></ul> <</if>> @@#kbnav;<<button `setup.t("practice.again")`>><<run setup.practiceReset()>><<goto "Question_practice">><</button>> <<button `setup.t("practice.change")` 'Start_practice'>><</button>> <<button `setup.t("practice.home")` 'StoryLaunch'>><</button>>@@
<h2><<t "adv.beginTitle">></h2> <p class="text"><<t "adv.goal">></p> <b><<t "start.name">></b><br> <<textbox "$player.name" `setup.t("start.anon")` autofocus>><br> @@#kbnav;<<button `setup.t("start.go")` 'Ett rum'>><<set $log to []>><<run setup.log('log.begin', { name: State.variables.player.name })>><<run setup.autosave()>><</button>>@@
<div id="p_header"><h2><<t "torget.title">></h2></div> <p class="text"><<print setup.tt("torget.text")>></p> <<miljo "town">> <ul class="val"> <li><<link `setup.t("torget.meadow") + " (" + setup.tim(setup.KOST.torgAng) + ")"` "Ängarna">><<run setup.tick(setup.KOST.torgAng)>><</link>></li> <li><<link `setup.t("torget.forest") + " (" + setup.tim(setup.KOST.torgSkog) + ")"` "Skogen">><<run setup.tick(setup.KOST.torgSkog)>><</link>></li> <li><<link `setup.t("torget.inn")` "Värdshuset">><</link>></li> <li><<link `setup.t("torget.fletcher")` "Fletchers pilar">><</link>></li> <li><<link `setup.t("torget.trader")` "Slaktaren">><</link>></li> </ul>
<div id="p_header"><h2><<t "inn.title">></h2></div> <p class="text"><<print setup.tt("inn.text")>></p> <<if $matText>><div class="svar right"><<print $matText>></div><<set $matText to "">><</if>> <ul class="val"> <<if $rum>><li><<link `setup.t("inn.roomGo")` "Ett rum">><</link>></li> <<elseif $player.copper gte 5>><li><<link `setup.t("inn.room")` "Ett rum">><<set $player.copper -= 5>><<set $rum to true>><</link>></li> <<else>><li><span class="stang"><<t "inn.room">></span></li><</if>> <li><<link `setup.t("inn.barkeep")` "Bartendern">><</link>></li> <<if $matt>><li><span class="stang"><<print setup.t("inn.full", { n: setup.mattKvar() })>></span></li> <<elseif $player.copper gte 5>><li><<link `setup.t("inn.meal") + " (" + setup.tim(setup.KOST.mat) + ")"`>><<set $player.copper -= 5>><<run setup.tick(setup.KOST.mat)>><<set $matt to true>><<set $mattTill to setup.nu() + 5>><<set $playerMaxHealth += 5>><<set $player.health to $playerMaxHealth>><<set $matText to setup.t("inn.mealDone")>><<goto "Värdshuset">><</link>></li> <<else>><li><span class="stang"><<t "inn.mealPoor">></span></li><</if>> <li><<link `setup.t("inn.out")` "Torget">><</link>></li> </ul>
<div id="p_header"><h2><<t "room.title">></h2></div> <p class="text"><<print setup.tt("room.text")>></p> <<if $somnText>><div class="svar right"><<print $somnText>></div><<set $somnText to "">><</if>> <ul class="val"> <<if $rum>><li><<link `setup.t("room.sleep")`>><<set $rum to false>><<set _niva to setup.sov()>><<set $somnText to setup.t("room.woke", { n: $dag, h: setup.klockText($klocka) }) + (_niva ? "<br><b>" + _niva + "</b>" : "")>><<goto "Ett rum">><</link>></li> <<else>><li><span class="stang"><<t "room.slept">></span></li><</if>> <li><<link `setup.t("room.leave")` "Värdshuset">><</link>></li> </ul>
<div id="p_header"><h2><<t "bar.title">></h2></div> <<set _sag to setup.vardinnan()>> <p class="text"><<print setup.halsning()>></p> <<if _sag.lean>><p class="text dim"><<t "bar.lean">></p><</if>> <p class="replik"><<print _sag.text>></p> <ul class="val"><li><<link `setup.t("bar.leave")` "Värdshuset">><</link>></li></ul>
<div id="p_header"><h2><<t "fletcher.title">></h2></div> <p class="text"><<print setup.tt("fletcher.text")>><<if $player.bow isnot "longbow">> <<t "fletcher.longbow">><</if>></p> <ul class="val"> <<if $player.bow is "">><li><span class="stang"><<t "fletcher.noBow">></span></li> <<elseif $player.arrows gte 30>><li><span class="stang"><<t "fletcher.full">></span></li> <<elseif $player.copper gte 3>> <li><<link `setup.t("fletcher.buy")` "Fletchers pilar">><<set $player.copper -= 3>><<set $player.arrows += 1>><</link>></li> <<if $player.copper gte 14 and $player.arrows lte 25>><li><<link `setup.t("fletcher.buy5")` "Fletchers pilar">><<set $player.copper -= 14>><<set $player.arrows += 5>><</link>></li><</if>> <<else>><li><span class="stang"><<t "fletcher.poor">></span></li><</if>> <<if $player.bow is "">> <<if $player.copper gte 30>><li><<link `setup.t("fletcher.shortbow")` "Fletchers pilar">><<set $player.copper -= 30>><<set $player.bow to "shortbow">><<set $player.arrows += 5>><</link>></li> <<else>><li><span class="stang"><<t "fletcher.shortbow">></span></li><</if>> <</if>> <<if $player.bow is "longbow">><li><span class="stang"><<t "fletcher.bowOwned">></span></li> <<elseif $player.copper gte 120>><li><<link `setup.t("fletcher.bow")` "Fletchers pilar">><<set $player.copper -= 120>><<set $player.bow to "longbow">><</link>></li> <<else>><li><span class="stang"><<t "fletcher.bow">></span></li><</if>> <<if $player.knife is "huntknife">><li><span class="stang"><<t "fletcher.knifeOwned">></span></li> <<elseif $player.copper gte 40>><li><<link `setup.t("fletcher.knife")` "Fletchers pilar">><<set $player.copper -= 40>><<set $player.knife to "huntknife">><</link>></li> <<else>><li><span class="stang"><<t "fletcher.knife">></span></li><</if>> <li><<link `setup.t("fletcher.leave")` "Torget">><</link>></li> </ul>
<div id="p_header"><h2><<t "trader.title">></h2></div> <p class="text"><<print setup.tt("trader.text")>></p> <<if $saljText>><div class="svar right"><<print $saljText>></div><<set $saljText to "">><</if>> <p class="text dim"><<print setup.t("trader.store", { kg: $forrad, mal: setup.MAL })>></p> <ul class="val"> <<if $packe.length > 0>> <<for _r range setup.packRader()>><li><span class="stang"><<print setup.t("trader.price", { n: _r.n, animal: _r.id, kg: _r.n * setup.djur[_r.id].kg, p: _r.n * setup.djur[_r.id].pris })>></span></li><</for>> <li><<link `setup.t("trader.sellAll", { kg: setup.packKg(), n: setup.packPris() })`>><<set _n to setup.packPris()>><<set _kg to setup.packKg()>><<set $player.copper += _n>><<set $copperTotal += _n>><<set $forrad += _kg>><<set $packe to []>><<set $saljText to setup.t("trader.sold", { n: _n, kg: _kg })>><<if setup.forradFullt()>><<set $vunnit to true>><<goto "Jaktens slut">><<else>><<goto "Slaktaren">><</if>><</link>></li> <<else>><li><span class="stang"><<t "trader.none">></span></li><</if>> <li><<link `setup.t("trader.leave")` "Torget">><</link>></li> </ul>
<<set $mark to "forest">><<set $advTier to 2>> <div id="p_header"><h2><<t "forest.title">></h2></div> <p class="text"><<print setup.tt("forest.text")>></p> <<miljo "forest">> <p class="text spar"><<print setup.tecken("forest")>></p> <ul class="val"> <li><<link `setup.t("ground.hunt") + " (" + setup.tim(setup.KOST.jakt) + ")"` `setup.jakt("forest")`>><<run setup.tick(setup.KOST.jakt)>><</link>></li> <li><<link `setup.t("ground.rest") + " (" + setup.tim(setup.KOST.vila) + ")"`>><<run setup.popup.content('Resting_popup')>><<run setup.popup.open()>><</link>></li> <<if $bergOppet>><li><<link `setup.t("forest.mountain") + " (" + setup.tim(setup.KOST.skogBerg) + ")"` "Berget">><<run setup.tick(setup.KOST.skogBerg)>><</link>></li> <<elseif $player.level gte setup.BERGNIVA>><li><span class="stang"><<t "forest.mountainAsk">></span></li> <<else>><li><span class="stang"><<t "forest.mountainLocked">></span></li><</if>> <li><<link `setup.t("ground.town") + " (" + setup.tim(setup.KOST.torgSkog) + ")"` "Torget">><<run setup.tick(setup.KOST.torgSkog)>><</link>></li> </ul>
<div id="p_header"><h2><<t "nogame.title">></h2></div> <p class="text"><<print setup.tt("nogame.text")>></p> <ul class="val"> <li><<link `setup.t("nogame.back")` `setup.markPassage()`>><</link>></li> </ul>
<<set $enemy to setup.slumpaFiende($mark)>><<set $enemyMaxHealth to $enemy.health>> <div id="p_header"><h2><<print setup.t("animal.title", { animal: $enemy.id })>></h2></div> <p class="text"><<print setup.t("animal." + $enemy.id + ".found")>></p> <ul class="val"> <li><<link `setup.t("animal.attack", { animal: State.variables.enemy.id })` "Hunting">><</link>></li> <li><<link `setup.t("animal.pass")` `setup.markPassage()`>><</link>></li> </ul>
<<set $enemy to setup.slumpaFiende($mark)>><<set $enemyMaxHealth to $enemy.health>><<set $avstand to "nara">> <div id="p_header"><h2><<print setup.t("animal.title", { animal: $enemy.id })>></h2></div> <p class="text"><<print setup.t("animal.attacked", { animal: $enemy.id })>></p> <ul class="val"> <li><<link `setup.t("animal.attack", { animal: State.variables.enemy.id })` "Hunting">><</link>></li> </ul>
<<set _da to setup.animal($enemy.id, "da")>> <div id="p_header"><h2><<print setup.t("hunt.title", { animal: $enemy.id })>></h2></div> <<if $playerAction is "bow">> <<if $player.arrows gte 1>> <<set $player.arrows -= 1>> <<if $rightanswer>> <<set $enemy.health -= $damageToEnemy>><<set $pilarTraff to ($pilarTraff or 0) + 1>> <div class="svar right"><b><<t "q.correct">></b><<t "hunt.bowShoot">> <<print setup.t($player.bow is "longbow" ? "hunt.hitLong" : "hunt.hit", { animal: $enemy.id, n: $damageToEnemy })>> <<if $enemy.health lt 1>><<set $enemy.health to 0>><br><<print setup.t("hunt.dead", { animal: $enemy.id })>><</if>></div> <<else>> <div class="svar wrong"><b><<t "q.wrong">></b><<t "hunt.bowShoot">> <<print setup.t("hunt.miss", { animal: $enemy.id })>></div> <<if setup.hintFor($questions[$questionnr])>><div class="tips"><span class="tips-rubrik"><<t "hint.label">></span><<print setup.hintFor($questions[$questionnr])>></div><</if>> <</if>> <<else>><div class="strid-rad"><<t "hunt.noArrows">></div><</if>> <<elseif $playerAction is "knife">> <<if $rightanswer>> <<set $enemy.health -= $damageToEnemy>> <div class="svar right"><b><<t "q.correct">></b><<t `$inrusning ? "hunt.knifeIn" : "hunt.knifeAttack"`>> <<print setup.t("hunt.hit", { animal: $enemy.id, n: $damageToEnemy })>> <<if $enemy.health lt 1>><<set $enemy.health to 0>><br><<print setup.t("hunt.dead", { animal: $enemy.id })>><</if>></div> <<else>> <div class="svar wrong"><b><<t "q.wrong">></b><<t `$inrusning ? "hunt.knifeIn" : "hunt.knifeAttack"`>> <<print setup.t("hunt.miss", { animal: $enemy.id })>></div> <<if setup.hintFor($questions[$questionnr])>><div class="tips"><span class="tips-rubrik"><<t "hint.label">></span><<print setup.hintFor($questions[$questionnr])>></div><</if>> <</if>> <<elseif $player.flee is "true">><div class="strid-rad"><<t "hunt.flee">></div><</if>> <<if $playerAction is "">> <<if $enemy.health gte 1>><p class="text"><b><<print setup.t("hunt.decide", { animal: $enemy.id })>></b></p><</if>> <<else>> <<if $enemyescape is 1>> <<set $enemy.flee to "true">><div class="strid-rad"><<print setup.t($rightanswer and $playerAction is "bow" ? ($pilarTraff gt 1 ? "hunt.boltedN" : "hunt.bolted1") : "hunt.escaped", { animal: $enemy.id })>></div><<if $rightanswer and $playerAction is "bow">><<set $blodspar to true>><<else>><<set $pilarTraff to 0>><</if>> <<elseif $enemy.health gte 1 and not setup.naraHall()>> <<if $playerAction is "bow" and setup.ANFALL[$enemy.id]>><<set $skott += 1>><<if $skott gte setup.ANFALL[$enemy.id]>><<set $avstand to "nara">><div class="strid-rad wrong"><<print setup.t("hunt.closes", { animal: $enemy.id })>></div><</if>><</if>> <<elseif $enemy.health gte 1>> <<set _miss to ($playerAction is "bow" or $playerAction is "knife") and not $rightanswer>> <<set $damageToPlayer to setup.fiendeSkada($enemy.id) + (_miss ? 1 : 0)>><<set $player.health -= $damageToPlayer>> <div class="strid-rad wrong"><<if _miss>><<t "hunt.offGuard">> <</if>><<print setup.t("hunt.enemyHits", { hits: setup.t("animal." + $enemy.id + ".hits"), n: $damageToPlayer })>><<if $player.health lte 0>><<set $player.health to 0>><br><b><<t "hunt.youDie">></b><</if>></div> <</if>> <</if>> <<if $nivaText>><div class="svar right"><b>$nivaText</b></div><<set $nivaText to "">><</if>> <<if $player.health gte 1>> <div class="strid"> <div id="player-health" class="health-bar"><div></div><b><<t "hunt.you">>:</b> <span>$player.health / $playerMaxHealth HP</span></div> <div id="enemy-health" class="health-bar"><div></div><b><<enemy DAC>>:</b> <span>$enemy.health / $enemyMaxHealth HP</span></div> </div> <<if $player.flee is "true">> <<set $playerAction to "">><<set $player.flee to "false">> <p class="text"><b><<print setup.t("hunt.youFled", { animal: $enemy.id })>></b></p><ul class="val"><li><<link `setup.t("hunt.cont")` `setup.markPassage()`>><</link>></li></ul> <<elseif $enemy.flee is "true" and $blodspar>> <<set $playerAction to "">><<set _tips to setup.sparTips()>> <p class="text"><<print setup.t("track.blood", { animal: $enemy.id })>><<if _tips>> <<print _tips>><</if>></p> <ul class="val"><li><<link `setup.t("track.follow") + " (" + setup.tim(1) + ")"` "Eftersök">><<run setup.tick(1)>><<set $fynd to setup.eftersok()>><</link>></li> <li><<link `setup.t("track.letGo")` `setup.markPassage()`>><<run setup.log('log.lost', { animal: State.variables.enemy.id })>><<set $blodspar to false>><<set $pilarTraff to 0>><</link>></li></ul> <<elseif $enemy.flee is "true">> <<run setup.log('log.lost', { animal: State.variables.enemy.id })>><<set $playerAction to "">> <p class="text"><b><<t "hunt.luck">></b></p><ul class="val"><li><<link `setup.t("hunt.cont")` `setup.markPassage()`>><</link>></li></ul> <<elseif $enemy.health lte 0>> <<run setup.log('log.killed', { animal: State.variables.enemy.id })>><<set $playerAction to "">><<set $huntSuccess += 1>> <<set $trophies[$enemy.id] to ($trophies[$enemy.id] or 0) + 1>> <<set _pilar to setup.pilarTillbaka()>><<if _pilar>><p class="text"><<print _pilar>></p><</if>> <<set _dj to setup.djur[$enemy.id]>> <<if _dj.boss>> <<set $elkDead to true>><<set $forrad += _dj.kg>><<run setup.log('log.elk', { kg: _dj.kg })>> <p class="text"><<print setup.t("elk.fetched", { kg: _dj.kg })>></p> <<if setup.forradFullt()>><<set $vunnit to true>><ul class="val"><li><<link `setup.t("hunt.cont")` "Jaktens slut">><</link>></li></ul> <<else>><ul class="val"><li><<link `setup.t("hunt.cont")` "Berget">><</link>></li></ul><</if>> <<elseif _dj.rovdjur>> <p class="text"><<t "hunt.predator">></p><ul class="val"><li><<link `setup.t("hunt.success")` `setup.markPassage()`>><</link>></li></ul> <<elseif setup.packKg() + _dj.kg lte setup.BARA>> <<set $packe.push($enemy.id)>> <p class="text"><<print setup.t("hunt.carry", { animal: $enemy.id, kg: _dj.kg })>></p><ul class="val"><li><<link `setup.t("hunt.success")` `setup.markPassage()`>><</link>></li></ul> <<else>> <p class="text"><<print setup.t("hunt.tooHeavy", { animal: $enemy.id, kg: _dj.kg, har: setup.packKg(), max: setup.BARA })>></p> <ul class="val"> <li><<link `setup.t("hunt.drag", { animal: State.variables.enemy.id }) + " (" + setup.tim(setup.slapTid(State.variables.mark)) + ")"`>><<run setup.tick(setup.slapTid($mark))>><<set $packe.push($enemy.id)>><<set $saljText to setup.t("hunt.dragged", { animal: $enemy.id })>><<goto "Slaktaren">><</link>></li> <li><<link `setup.t("hunt.leave")` `setup.markPassage()`>><</link>></li> </ul> <</if>> <<else>> <p class="text dim avstand"><<print setup.t(setup.naraHall() ? "hunt.range.nara" : "hunt.range.hall", { animal: $enemy.id })>></p> <ul class="val"> <<if $player.bow is "">><li><span class="stang"><<t "hunt.noBow">></span></li> <<elseif $player.arrows lt 1>><li><span class="stang"><<t "hunt.quiverEmpty">></span></li> <<else>><li><<link `setup.t("hunt.bow") + " (" + setup.vapenNamn("bow") + (setup.naraHall() ? ", " + setup.t("hunt.bowClose") : "") + ")"`>><<set $playerAction to "bow">><<set $damageToEnemy to setup.spelarSkada("bow")>><<run setup.popup.content('Question_popup')>><<run setup.popup.open()>><</link>></li><</if>> <li><<link `setup.t(setup.naraHall() ? "hunt.knife" : "hunt.knifeGo") + " (" + setup.vapenNamn("knife") + ")"`>><<set $inrusning to not setup.naraHall()>><<set $avstand to "nara">><<set $playerAction to "knife">><<set $damageToEnemy to setup.spelarSkada("knife")>><<run setup.popup.content('Question_popup')>><<run setup.popup.open()>><</link>></li> <<if not setup.djur[$enemy.id].boss>><li><<link `setup.t("hunt.run")` "Hunting">><<set $player.flee to "true">><<set $playerAction to "flee">><</link>></li><</if>> </ul> <</if>> <<else>> <ul class="val"><li><<link `setup.t("hunt.cont")` "Död">><</link>></li></ul> <</if>>
<<set _fynd to $fynd or "borta">><<set $blodspar to false>> <div id="p_header"><h2><<t "track.title">></h2></div> <p class="text"><<print setup.t("track." + _fynd, { animal: $enemy.id })>></p> <ul class="val"> <<if _fynd is "borta">><<run setup.log('log.lost', { animal: State.variables.enemy.id })>><<set $pilarTraff to 0>><li><<link `setup.t("hunt.cont")` `setup.markPassage()`>><</link>></li> <<elseif _fynd is "dod">><li><<link `setup.t("hunt.cont")` "Hunting">><<set $enemy.health to 0>><<set $enemy.flee to "false">><<set $playerAction to "">><</link>></li> <<else>><li><<link `setup.t("hunt.cont")` "Hunting">><<set $enemy.flee to "false">><<set $avstand to "nara">><<set $playerAction to "">><<set $enemyescape to 0>><</link>></li><</if>> </ul>
<<setquestions>> <top><<t "q.question">> <span class="steg-etikett"><<print setup.tierName(setup.fragaSteg())>></span></top> <p><<t "popup.q">></p> <div class="fraga"><h3><<print setup.visa($questions[$questionnr])>></h3><<textbox "$answer" "" autofocus>></div> @@#kbnav;<<button `setup.t("q.answer")` 'Question_result'>><<run setup.popup.close()>><</button>>@@
<<set _ok to setup.sammaSvar($answer, $questions[$questionnr].answer)>><<run setup.advSvar(_ok, $questions[$questionnr])>><<if _ok>><<set $rightanswer to true>><<set $enemyescape to (setup.skyggar() ? 1 : 0)>><<set $advRight += 1>><<set $xp += setup.xpFor(setup.fragaSteg())>> <<else>><<set $rightanswer to false>><<set $advWrong += 1>><<set $enemyescape to random(1, setup.djur[$enemy.id].flee)>><</if>> <<goto 'Hunting'>>
<<set $popupRest to true>><<run setup.tick(setup.KOST.vila)>><<run setPageElement("sidebar", "Right")>> <top><<t "rest.title">></top> <center> <h3>@@#healthpop;<b><<t "side.hp">>:</b> $player.health / $playerMaxHealth@@</h3> <<silently>> <<repeat 1s>> <<if $popupRest is true>> <<if $player.health gte Math.max(1, Math.floor($playerMaxHealth / 2))>><<replace "#healthpop">><<t "rest.half">><</replace>><<stop>><</if>> <<set $player.health++>> <<replace "#healthpop">><b><<t "side.hp">>:</b> $player.health / $playerMaxHealth<</replace>><<replace "#health">>$player.health / $playerMaxHealth<</replace>> <<if tags().includes("adventure") and passage() isnot "Ett rum" and random(3) is 1>> <<run setTimeout(function () { setup.popup.close(); }, 1)>><<set $popupRest to false>><<goto "Attacked">> <</if>> <<else>><<stop>><</if>> <</repeat>> <</silently>> @@#kbnav;<<button `setup.t("rest.stop")`>><<set $popupRest to false>><<run setup.popup.close()>><</button>>@@ </center>
<div id="p_header"><h2><<t "over.title">></h2></div> <p class="text"><<t "over.text">></p> <<slutkort `setup.t("over.again")`>>
<div id="p_header"><h2><<t "dead.title">></h2></div> <p class="text"><b><<print setup.t("dead.luck", { name: $player.name })>></b> <<print setup.t("dead.hunts", { n: $huntSuccess })>></p> <<slutkort `setup.t("dead.again")`>>
<<set $mark to "meadow">><<set $advTier to 1>> <div id="p_header"><h2><<t "meadow.title">></h2></div> <p class="text"><<print setup.tt("meadow.text")>></p> <<miljo "meadow">> <p class="text spar"><<print setup.tecken("meadow")>></p> <ul class="val"> <li><<link `setup.t("ground.hunt") + " (" + setup.tim(setup.KOST.jakt) + ")"` `setup.jakt("meadow")`>><<run setup.tick(setup.KOST.jakt)>><</link>></li> <li><<link `setup.t("ground.rest") + " (" + setup.tim(setup.KOST.vila) + ")"`>><<run setup.popup.content('Resting_popup')>><<run setup.popup.open()>><</link>></li> <li><<link `setup.t("ground.town") + " (" + setup.tim(setup.KOST.torgAng) + ")"` "Torget">><<run setup.tick(setup.KOST.torgAng)>><</link>></li> </ul>
<<set $mark to "mountain">><<set $advTier to 3>> <div id="p_header"><h2><<t "mountain.title">></h2></div> <p class="text"><<print setup.tt("mountain.text")>><<if not $elkDead>> <<t "mountain.elkHere">><</if>></p> <<miljo "mountain">> <p class="text spar"><<print setup.tecken("mountain")>></p> <ul class="val"> <li><<link `setup.t("ground.hunt") + " (" + setup.tim(setup.KOST.jakt) + ")"` `setup.jakt("mountain")`>><<run setup.tick(setup.KOST.jakt)>><</link>></li> <<if not $elkDead>><<if $player.bow isnot "longbow">><li><span class="stang"><<t "mountain.elkNoBow">></span></li><<elseif setup.gryning() and $utvilad>><li><<link `setup.t("mountain.elk") + " (" + setup.tim(setup.KOST.alg) + ")"` "Storälgen">><<run setup.tick(setup.KOST.alg)>><</link>></li><<else>><li><span class="stang"><<t "mountain.elkDawn">></span></li><</if>><</if>> <li><<link `setup.t("ground.rest") + " (" + setup.tim(setup.KOST.vila) + ")"`>><<run setup.popup.content('Resting_popup')>><<run setup.popup.open()>><</link>></li> <li><<link `setup.t("ground.down") + " (" + setup.tim(setup.KOST.skogBerg) + ")"` "Skogen">><<run setup.tick(setup.KOST.skogBerg)>><</link>></li> </ul>
<<set $enemy to setup.nyFiende("elk")>><<set $enemyMaxHealth to $enemy.health>><<set $advTier to 3>><<set $utvilad to false>> <div id="p_header"><h2><<print ucfirst(setup.animal("elk", "da"))>></h2></div> <p class="text"><<t "elk.text">></p> <ul class="val"> <li><<link `setup.t("elk.attack")` "Hunting">><</link>></li> <li><<link `setup.t("elk.retreat")` "Berget">><</link>></li> </ul>
<div id="p_header"><h2><<t "end.title">></h2></div> <p class="text"><<t "end.text">></p> <<slutkort `setup.t("dead.again")`>>