JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
<<linkreplace"go into the dungeon">> <<set $floor11 = either("monster","monster","monster","monster","chest","empty","empty")>> <<set $floor12 = either("monster","monster","monster","monster","chest","empty","empty")>> <<set $floor13 = either("monster","monster","monster","monster","chest","empty","empty")>> <<set $floor14 = either("monster","monster","monster","monster","chest","empty","empty")>> <<set $floor1_1 = either("monster","monster","monster","monster","chest","empty","empty")>> <<set $floor1_2 = either("monster","monster","monster","monster","chest","empty","empty")>> <<set $floor1_3 = either("monster","monster","monster","monster","chest","empty","empty")>> <<if random(1,100) <= 15>> <<set $floor1_1 to true>> <</if>> <<if random(1,100) <= 15>> <<set $floor1_2 to true>> <</if>> <<if random(1,100) <= 15>> <<set $floor1_3 to true>> <</if>> <<goto"floor1start">> <</linkreplace>>
<<set $currentpassage to $floor1start>> [[floor11]]
<<set $currentpassage = $floor11>> <<include "RoomSetup">> [[floor12]] [[floor1start]] <<if $floor1_1 is true>> [[floor1_1]] <</if>>
<<set $currentpassage = $floor12>> <<include "RoomSetup">> [[floor11]] [[floor13]] <<if $floor1_2 is true>> [[floor1_2]] <</if>>
<<set $currentpassage = $floor13>> <<include "RoomSetup">> [[floor12]] [[floor14]] [[floor12]] <<if $floor1_3 is true>> [[floor1_3]] <</if>>
<<set $currentpassage = $floor14>> <<include "RoomSetup">> [[floor1boss]] [[floor13]]
<<set $currentpassage = $floor1_3>> <<include "RoomSetup">> [[floor13]]
<<set $currentpassage = $floor1_1>> <<include "RoomSetup">> [[leave->floor11]]
<<set $currentpassage = $floor1_2>> <<include "RoomSetup">> [[floor12]]
<<set $floor1_1 to "">> <<set $floor1_2 to "">> <<set $floor1_3 to "">> <<set $floor11 to "">> <<set $floor12 to "">> <<set $floor13 to "">> <<set $floor14 to "">> <<set $dungeon to false>> <<set $statue to false>> <<set $currentpassage to "">> <<set $floor1start to "">> <<set $floor1boss to "">> <<set $class to "">> <<set $enemyattack to 1>> <<set $enemyhp to 1>> <<set $monster to "">> <<set $enemydefense to 1>> <<set $attackname to "">> <<set $enemyfinaldamage to 0>> <<set $bossmpmax to 15>> <<set $bosshpmax to 100>> <<set $bossdefense to 2>> <<set $bossmp to 15>> <<set $yourdamage to 10>> <<set $bossfinaldamage to 0>> <<set $bossdamage to 5>> <<set $bosshp to 100>> <<set $text1 to "">> <<set $text2 to "">> <<set $text3 to "">> <<set $text4 to "">> <<set $text5 to "">> <<set $text6 to "">> <<set $day to 1>> <<set $timeofday to 1>> <<set $counter1 to 1>> <<set $gold to 15>> <<set $dmgCost = 10>> <<set $mpCost = 10>> <<set $hpCost = 10>> <<set $merchant to false>> <<set $item to 0>> <<set $potion to 2>> <<set $carma to 0>> <<set $fairy to 0>> <<set $honey to false>> <<set $merchantquest1 to false>> <<set $merchantquest1talked to false>> <<set $death to 0>> <<set $merchantpotion to false>> <<set $statuedick to false>> <<set $penis to 0>> <<set $herb to 0>>
<<set $currentpassage to $floor1boss>>
<<if $currentpassage is "monster">> <<switch random(1,5)>> <<case 1>> You encounter a slime. [[fight it->fight]] <<set $class to "slime">> <<set $enemyattack to 4>> <<set $enemyhp to 10>> <<case 2>> A goblin jumps out from the shadows! [[fight it->fight]] <<set $class to "goblin">> <<set $enemyattack to 4>> <<set $enemyhp to 10>> <<case 3>> A skeleton warrior blocks your path. [[fight it->fight]] <<set $class to "skeleton">> <<set $enemyattack to 4>> <<set $enemyhp to 10>> <<case 4>> A giant spider descends from the ceiling! <<set $monster to "spider">> <<set $class to "spider">> <<set $enemyattack to 4>> <<set $enemyhp to 10>> [[fight it->fight]] <<case 5>> A dark mage steps forward, grinning. [[fight it->fight]] <<set $class to "mage">> <<set $enemyattack to 4>> <<set $enemyhp to 10>> <</switch>> <</if>> <<if $currentpassage is "chest">> <<switch random(1,3)>> <<case 1>> You find an item on the ground <<case 2>> You find an item on the ground <<case 3>> You find a small chest <</switch>> <</if>> <<if $currentpassage is "empty">> The room is empty <</if>>
<<nobr>> <<if $class is "goblin">> <<set $enemyhp to 10>> <<set $enemyattack to 1>> <<set $enemydefense to 1>> <<elseif $class is "shaman">> <<set $enemyhp to 50>> <<set $enemydefense to 1>> <<set $enemyattack to 5>> <<set $text1 to "AAHR DEAD YOU!!!">> <<elseif $class is "kobolt">> <<set $enemyhp to 15>> <<set $enemyattack to 2>> <<set $enemydefense to 2>> <<elseif $class is "ent">> <<set $enemyhp to 100>> <<set $enemyattack to 5>> <<set $enemydefense to 5>> <<set $text1 to "Stay away from the nest!!">> <</if>> <div id="battle-ui"> <!-- Left Side --> <div class="left-column"> <br> <!-- Stats Box --> <div id="stats-box" class="stats-box"> <div id="stats-contents"> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> </div> </div> <br> <br> <!-- Menu Box --> <div class="menu-box"> <div><<link "Attack">> <<set $bossfinaldamage to $bossdamage - $enemydefense>> <<if $bossfinaldamage <0>> <<set $bossfinaldamage to 0>> <</if>> <<set $enemyhp to $enemyhp - $bossfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "You attack the monster for $bossfinaldamage damage">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#enemy-health">> health : <<print $enemyhp>> <</replace>> <<if $enemyhp <= 0>> <<goto "Victory">> <<else>> <<include "enemyattack">> <</if>> <</link>> </div> <div id="magic-button" style="cursor: pointer;">Magic</div> <div id="items-button" style="cursor: pointer;">Items</div> </div> </div> <!-- Right Side --> <div class="right-column"> <!-- Enemy Display shifted right --> <div style="margin-left: 60px;"> <div style="border: 2px solid white; background-color: black; width: 400px; height: 300px; display: flex; align-items: center; justify-content: center; padding: 0px; box-sizing: border-box;"> <<if $class is "slime">> <img src="images/slime.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "mage">> <img src="images/mage.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "skeleton">> <img src="images/skeleton.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "goblin">> <img src="images/goblin.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "kobolt">> <img src="images/kobolt.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "slime">> <img src="images/slime.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "spider">> <img src="images/spider.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "bee">> <img src="images/bee.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "shaman">> <img src="images/shaman.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <<elseif $class is "ent">> <img src="images/ent.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> <</if>> </div> </div> <!-- Text Box with ID --> <div class="text-box" id="text-box"> $text1<br> $text2<br> $text3<br> $text4<br> $text5<br> $text6<br> </div> </div> </div> <div id="boss-box" class="boss-box"> You have $bosshp HP You have $bossmp MP You have $bossdefense DF </div> <!-- Item Window --> <div id="item-window" class="item-window"> <h4>Select an item:</h4> <ul id="item-list"> <<include "items">> </ul> </div> <!-- Magic Window --> <div id="magic-window" class="magic-window"> <h4>Select a spell:</h4> <ul> <li> <<link "Fire 1 MP">> <<if $bossmp < 1>> <<set $text1 = "Not enough MP to cast Fire!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<else>> <<set $random to random(2, 4)>> <<set $yourdamage to $bossdamage + $random>> <<set $bossfinaldamage to Math.max(0, $yourdamage - $enemydefense)>> <<set $enemyhp to Math.max(0, $enemyhp - $bossfinaldamage)>> <<set $bossmp to Math.max(0, $bossmp - 1)>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "You cast Fire and deal " + $bossfinaldamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#enemy-health">> health : <<print $enemyhp>> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<script>> setTimeout(() => { const magicWindow = document.getElementById("magic-window"); if (magicWindow) { magicWindow.style.display = "none"; } }, 10); <</script>> <!-- Check for win condition --> <<if $enemyhp <= 0>> <<goto "Victory">> <<else>> <<include "enemyattack">> <</if>> <</if>> <</link>> </li> <li> <<link "Heal 3 MP">> <<if $bossmp < 3>> <<set $text1 = "Not enough MP to cast Heal">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<else>> <<set $bosshp to $bosshp +3>> <<set $bossmp to $bossmp -3>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "You cast Heal and gain 3 HP">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#enemy-health">> health : <<print $enemyhp>> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<script>> setTimeout(() => { const magicWindow = document.getElementById("magic-window"); if (magicWindow) { magicWindow.style.display = "none"; } }, 10); <</script>> <!-- Check for win condition --> <<if $enemyhp <= 0>> <<goto "Victory">> <<else>> <<include "enemyattack">> <</if>> <</if>> <</link>> </li> <li> <<link "Ice 1 MP">> <<if $bossmp < 1>> <<set $text1 = "Not enough MP to cast Ice">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<else>> <<set $random to random(2, 4)>> <<set $yourdamage to $bossdamage + $random>> <<set $bossfinaldamage to Math.max(0, $yourdamage - $enemydefense)>> <<set $enemyhp to Math.max(0, $enemyhp - $bossfinaldamage)>> <<set $bossmp to Math.max(0, $bossmp - 1)>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "You cast Ice and deal " + $bossfinaldamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#enemy-health">> health : <<print $enemyhp>> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<script>> setTimeout(() => { const magicWindow = document.getElementById("magic-window"); if (magicWindow) { magicWindow.style.display = "none"; } }, 10); <</script>> <!-- Check for win condition --> <<if $enemyhp <= 0>> <<goto "Victory">> <<else>> <<include "enemyattack">> <</if>> <</if>> <</link>> </li> </ul> </div> <!-- JS to toggle windows --> <script> var itemsButton = document.getElementById('items-button'); var itemWindow = document.getElementById('item-window'); itemsButton.addEventListener('click', function() { var currentDisplay = window.getComputedStyle(itemWindow).display; itemWindow.style.display = currentDisplay === 'none' ? 'block' : 'none'; }); var magicButton = document.getElementById('magic-button'); var magicWindow = document.getElementById('magic-window'); magicButton.addEventListener('click', function() { var currentDisplay = window.getComputedStyle(magicWindow).display; magicWindow.style.display = currentDisplay === 'none' ? 'block' : 'none'; }); </script> <</nobr>>
<<if $class is "ent">> with a decicive blow, you hit the ent and it goes to the ground. It does not seem dead, but it gives you enaugh time to take the flower. [[take the flower and run->go outside]] <<set $flower to true>> <<elseif $class is "shaman">> <div class="map-container"> <<set $statue to true>> <img src="images/locations/forest/statue2.jpg"> <!-- CHAT BOX --> <div id="mentor-text" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.75); color:white; padding:18px 28px; border-radius:8px; font-size:18px; display:none; z-index:1000;"> </div> <!-- BUTTONS --> <div id="btn1" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> There, it's dead. So how do I get stronger? </div> <div id="btn2" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Tribute? </div> <div id="btn3" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> So I have to pay you?? </div> <div id="btn4" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> And the other one? </div> </div> <<script>> $(document).on(':passagedisplay', function () { const display = $('#mentor-text'); /* RESET */ $('#mentor-text').hide(); $('#btn1,#btn2,#btn3,#btn4').hide(); /* SHOW BUTTONS */ function showButtons(...ids){ ids.forEach(id => $('#'+id).fadeIn(200)); } function hideButtons(...ids){ ids.forEach(id => $('#'+id).hide()); } /* START SCENE */ setTimeout(function(){ display.text("Good job.").fadeIn(300); showButtons('btn1'); },600); /* BUTTON HANDLERS */ /* FIRST BUTTON */ $('#btn1').off().on('click', function(){ hideButtons('btn1'); display.text("That's easy. Come back to me and give a tribute and I will make you stronger."); setTimeout(function(){ showButtons('btn2'); },1200); }); /* SECOND BUTTON */ $('#btn2').off().on('click', function(){ hideButtons('btn2'); display.text("Yes. A tribute. I think gold should suffice."); setTimeout(function(){ showButtons('btn3'); },1200); }); /* THIRD BUTTON */ $('#btn3').off().on('click', function(){ hideButtons('btn3'); display.text("I mean, that's one way. I will make you stronger."); setTimeout(function(){ showButtons('btn4'); },1200); }); /* FOURTH BUTTON */ $('#btn4').off().on('click', function(){ hideButtons('btn4'); display.text("You will find out soon enough. Now go."); setTimeout(function(){ SugarCube.Engine.play("go outside"); },2000); }); }); <</script>> <<set $text1 to "">> <<set $text2 to "">> <<set $text3 to "">> <<set $text4 to "">> <<set $text5 to "">> <<set $text6 to "">> <<elseif $day is 2 && $counter1 is 1>> <<set $counter1 to $counter1 +1>> <<set $text1 = "the second goblin attacks you">> <<set $text2 = "">> <<set $text3 = "">> <<set $text4 = "">> <<set $text5 = "">> <<set $text6 = "">> <<goto"fight">> <<elseif $counter1 is 2>> <<set $counter1 to 3>> <<set $merchant to true>> <div class="map-container"> <img src="images/locations/forest/merchant.jpg"> <!-- Chat box --> <div id="chat-box" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.8); color:#fff; padding:20px 30px; border-radius:8px; font-size:18px; max-width:70vw; text-align:center; z-index:1000;"> Thank you for saving me. Can I give you something as a thank you? </div> <!-- First set of buttons (vertical on right) --> <div id="choice-buttons-1" style="position:absolute; top:40%; right:15%; display:flex; flex-direction:column; gap:15px; z-index:1000;"> <button class="choice-btn" data-choice="gold">Do you have some gold on you?</button> <button class="choice-btn" data-choice="items">You have some items?</button> <button class="choice-btn" data-choice="no-thank">No need to thank me</button> </div> <!-- Second set of buttons (initially hidden, vertical on right) --> <div id="choice-buttons-2" style="position:absolute; top:40%; right:15%; display:none; flex-direction:column; gap:15px; z-index:1000;"> <button class="second-btn" data-choice="sure">Sure, I will bring you to a safe place</button> <br> <button class="second-btn" data-choice="suit-yourself">Suit yourself</button> </div> </div> <<script>> $(document).ready(function() { // Initialize player variables if not already if (State.variables.gold === undefined) State.variables.gold = 0; if (State.variables.potion === undefined) State.variables.potion = 0; if (State.variables.item === undefined) State.variables.item = 0; // First set of buttons $('.choice-btn').on('click', function() { const choice = $(this).data('choice'); $('#choice-buttons-1').hide(); // Hide first buttons const display = $('#chat-box'); if (choice === 'gold') { State.variables.gold += 10; // Give gold display.text("I have some gold on me, take it."); } else if (choice === 'items') { State.variables.potion += 1; // Give potion State.variables.item += 1; // Increase item count display.text("I make potions from herbs I find in the forest. Here, take some."); } else if (choice === 'no-thank') { display.text("Thank you kind stranger."); } // After 1.5s, show the next chat and the two buttons setTimeout(function() { display.text("So be it. Would you be against that I accompany you?"); $('#choice-buttons-2').fadeIn(200); }, 1500); }); // Second set of buttons (Good/Evil +1 floating effect) $('.second-btn').on('click', function() { const choice = $(this).data('choice'); // Create floating indicator const indicator = $('<div class="floating-indicator"></div>'); if (choice === 'sure') { indicator.text('+1 Good').css('color', 'deepskyblue'); } else { indicator.text('+1 Evil').css('color', 'red'); } // Position it center bottom of screen indicator.css({ position: 'fixed', bottom: '50px', left: '50%', transform: 'translateX(-50%)', fontSize: '24px', fontWeight: 'bold', zIndex: 2000, }); $('body').append(indicator); // Animate upward indicator.animate({ bottom: '150px', opacity: 0 }, 1200, function() { $(this).remove(); // Remove after animation // Then go to passage SugarCube.Engine.play('go outside'); }); }); }); <</script>> <style> .choice-btn, .second-btn { background:rgba(76,175,80,0.8); color:#fff; border:none; padding:12px 20px; font-size:16px; border-radius:6px; cursor:pointer; user-select:none; transition:background 0.2s; width:220px; } .choice-btn:hover, .second-btn:hover { background:rgba(56,142,60,0.9); } /* Optional: floating indicator animation */ .floating-indicator { pointer-events: none; } </style> <<set $text1 to "">> <<set $text2 to "">> <<set $text3 to "">> <<set $text4 to "">> <<set $text5 to "">> <<set $text6 to "">> <<elseif $class is "bee">> You defeted the bee. You take some honey and quickly get out of the hive, as you hear more bees approaching. [[leave->go outside]] <<set $honey to true>> <<set $text1 to "">> <<set $text2 to "">> <<set $text3 to "">> <<set $text4 to "">> <<set $text5 to "">> <<set $text6 to "">> <<else>> <<set $text1 to "">> <<set $text2 to "">> <<set $text3 to "">> <<set $text4 to "">> <<set $text5 to "">> <<set $text6 to "">> the $class goes to the ground defeated. <<linkreplace "search the body">> <<switch random(1, 5)>> <<case 1>> <<set $gold += 15>> You find 15 gold. [[Go outside->go outside]] <<case 2>> <<set $gold += 15>> <<set $potion += 1>> <<set $item += 1>> You find 15 gold and a potion. [[Go outside->go outside]] <<case 3>> <<set $gold += 7>> You find 7 gold. [[Go outside->go outside]] <<case 4>> <<set $gold += 17>> You find 17 gold. [[Go outside->go outside]] <<case 5>> <<set $gold += 10>> You find 10 gold. [[Go outside->go outside]] <</switch>> <</linkreplace>> <<set $enemyhp to 100>> <</if>> <<set $enemyhp to 10>>
<<nobr>> <<if $class is "ent">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 15>> <<set $attackname = "light attack">> <<case 2>> <<set _spellDamage = 22>> <<set $attackname = "heavy attack">> <<case 3>> <<set _spellDamage = 15>> <<set $attackname = "light attack">> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used " + $attackname + " and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <</if>> <<if $class is "shaman">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 4>> <<set $attackname = "attack">> <<case 2>> <<set _spellDamage = 7>> <<set $attackname = "Fire">> <<case 3>> <<set _spellDamage = 5>> <<set $attackname = "Water">> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used " + $attackname + " and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <</if>> <<if $class is "bee">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 8>> <<set $attackname = "sting">> <<case 2>> <<set _spellDamage = 5>> <<set $attackname = "slash">> <<case 3>> <<set _spellDamage = 7>> <<set $attackname = "heavy slash">> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used " + $attackname + " and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <</if>> <<if $class is "slime">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 1>> <<set $attackname = "Attack 1">> <<case 2>> <<set _spellDamage = 2>> <<set $attackname = "Attack 2">> <<case 3>> <<set _spellDamage = 3>> <<set $attackname = "Attack 3">> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used " + $attackname + " and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <<elseif $class is "kobolt">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 5>> <<set $attackname = "Slash">> <<case 2>> <<set _spellDamage = 10>> <<set $attackname = "heavy slash">> <<case 3>> <<set _spellDamage = 5>> <<set $attackname = "Slash">> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used $attackname and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<elseif $class is "goblin">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 5>> <<set $attackname = "Slash">> <<case 2>> <<set _spellDamage = 10>> <<set $attackname = "heavy slash">> <<case 3>> <<set _spellDamage = 5>> <<set $attackname = "Slash">> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used $attackname and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<elseif $class is "spider">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 10>> <<set $attackname = "Double Attack">> <<case 2>> <<set _spellDamage = 3>> <<set $attackname = "Attack">> <<case 3>> <<set _spellDamage = 0>> <<set $attackname = "Put poison on his knife.">> <<set $enemyattack to $enemyattack +3>> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used $attackname and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <<elseif $class is "mage">> <<switch random(1, 3)>> <<case 1>> <<set _spellDamage = 5>> <<set $attackname = "Fireball">> <<case 2>> <<set _spellDamage = 4>> <<set $attackname = "Lightning Bolt">> <<case 3>> <<set _spellDamage = 3>> <<set $attackname = "Ice Shard">> <</switch>> <<set $enemyfinaldamage to _spellDamage + $enemyattack - $bossdefense>> <<if $enemyfinaldamage < 0>> <<set $enemyfinaldamage to 0>> <</if>> <<set $bosshp to $bosshp - $enemyfinaldamage>> <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "Enemy used $attackname and dealt " + _spellDamage + " damage!">> <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP You have <<print $bossdefense>> DF <</replace>> <<replace "#stats-contents">> <div class="name-box">$class</div> <div>defense : $enemydefense</div> <div id="enemy-health">health : $enemyhp</div> <div>baseattack : $enemyattack</div> <</replace>> <<if $bosshp <= 0>> <<goto "Defeat">> <</if>> <</if>> <</nobr>>
<<nobr>> <<if $item == 0>> <li>You don't have any items</li> <<else>> <<if $potion > 0>> <li> <<link "Potion (+25 HP) ($potion)">> <<set $item -= 1>> <<set $potion -= 1>> <<set $bosshp += 25>> /* Shift combat log */ <<set _t1 = $text1>> <<set _t2 = $text2>> <<set _t3 = $text3>> <<set _t4 = $text4>> <<set _t5 = $text5>> <<set $text6 = _t5>> <<set $text5 = _t4>> <<set $text4 = _t3>> <<set $text3 = _t2>> <<set $text2 = _t1>> <<set $text1 = "You drink a potion and recover 25 HP!">> /* Update combat log */ <<replace "#text-box">> <<print $text1>><br> <<print $text2>><br> <<print $text3>><br> <<print $text4>><br> <<print $text5>><br> <<print $text6>><br> <</replace>> /* Update boss HP/MP display */ <<replace "#boss-box">> You have <<print $bosshp>> HP You have <<print $bossmp>> MP <</replace>> /* REFRESH ITEM LIST */ <<replace "#item-list">> <<include "items">> <</replace>> /* Close item window */ <<script>> setTimeout(() => { const itemWindow = document.getElementById("item-window"); if (itemWindow) { itemWindow.style.display = "none"; } }, 10); <</script>> <!-- Enemy turn --> <<if $enemyhp > 0>> <<include "enemyattack">> <<else>> <<goto "Victory">> <</if>> <</link>> </li> <<else>> <li>You don't have any potions</li> <</if>> <</if>> <</nobr>>
<<if $day >=7>> <div class="map-container"> <img src="images/locations/cabin/tes.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1466,967,1342,857,1349,779,1361,695,1400,673,1408,614,1434,602,1475,632,1482,680,1487,714,1492,773,1502,850,1463,853,1488,946" data-passage="advert" data-popup="talk to her" class="hotspot"></polygon> <polygon points="705,1064,21,1065,387,765,627,749" data-passage="sleep" data-popup="Go to sleep" class="hotspot"></polygon> <polygon points="1420,521,1695,510,1690,842,1430,742" data-passage="go outside" data-popup="Go outside" class="hotspot"></polygon> <polygon points="1120,732,1034,698,1130,682,1312,712,1193,729" data-passage="armory" data-popup="Go to the armory" class="hotspot"></polygon> </svg> </div> <<else>> <div class="map-container"> <<if $merchantquest1 is true and $merchantpotion is false>> <img src="images/locations/cabin/potion.png"> <</if>> <img src="images/locations/cabin/room.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="705,1064,21,1065,387,765,627,749" data-passage="sleep" data-popup="Go to sleep" class="hotspot"></polygon> <polygon points="1420,521,1695,510,1690,842,1430,742" data-passage="go outside" data-popup="Go outside" class="hotspot"></polygon> <polygon points="1120,732,1034,698,1130,682,1312,712,1193,729" data-passage="armory" data-popup="Go to the armory" class="hotspot"></polygon> </svg> </div> <</if>>
<!-- If anybody is reading this code: I'm sorry. A normal IF statement didn't work, so brute force it is. --> <<if $merchant == true && $timeofday == 3>> <div class="map-container"> <<if $day >=5 && $merchantquest1 is false>> <img src="images/locations/cabin/merchant_questmarker.png"> <</if>> <img src="images/locations/cabin/cabin_merchant.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1030,674,1035,562,1095,542,1120,569,1130,666,1095,678" data-passage="merchant" class="hotspot" data-popup="Visit the merchant"></polygon> <polygon points="674,523,757,528,764,682,676,679" data-passage="cabin" class="hotspot" data-popup="Go to the Cabin"></polygon> <!-- Forest hotspot --> <polygon points="1417,599,1241,560,1258,534,1227,472,1275,482,1244,450,1280,450,1246,429,1275,424,1258,407,1239,334,1263,287,1287,367,1305,329,1331,373,1361,341,1387,371,1419,360,1439,392,1472,382,1499,422,1494,382,1529,404,1555,344,1585,378,1590,326,1631,443,1646,562" class="hotspot" data-popup="Its to late to go out"></polygon> </svg> </div> <<elseif $merchant == true && $timeofday < 3>> <div class="map-container"> <<if $day >=5 && $merchantquest1 is false>> <img src="images/locations/cabin/merchant_questmarker.png"> <</if>> <img src="images/locations/cabin/cabin_merchant.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1030,674,1035,562,1095,542,1120,569,1130,666,1095,678" data-passage="merchant" class="hotspot" data-popup="Visit the merchant"></polygon> <polygon points="674,523,757,528,764,682,676,679" data-passage="cabin" class="hotspot" data-popup="Go to the Cabin"></polygon> <polygon points="1417,599,1241,560,1258,534,1227,472,1275,482,1244,450,1280,450,1246,429,1275,424,1258,407,1239,334,1263,287,1287,367,1305,329,1331,373,1361,341,1387,371,1419,360,1439,392,1472,382,1499,422,1494,382,1529,404,1555,344,1585,378,1590,326,1631,443,1646,562" class="hotspot" data-popup="Go to the Forest?"></polygon> </svg> </div> <<elseif $merchant == false && $timeofday == 3>> <div class="map-container"> <img src="images/locations/cabin/cabin.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="674,523,757,528,764,682,676,679" data-passage="cabin" class="hotspot" data-popup="Go to the Cabin"></polygon> <!-- Forest hotspot --> <polygon points="1417,599,1241,560,1258,534,1227,472,1275,482,1244,450,1280,450,1246,429,1275,424,1258,407,1239,334,1263,287,1287,367,1305,329,1331,373,1361,341,1387,371,1419,360,1439,392,1472,382,1499,422,1494,382,1529,404,1555,344,1585,378,1590,326,1631,443,1646,562" class="hotspot" data-popup="Its to late to go out"></polygon> </svg> </div> <<else>> <div class="map-container"> <img src="images/locations/cabin/cabin.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="674,523,757,528,764,682,676,679" data-passage="cabin" class="hotspot" data-popup="Go to the Cabin"></polygon> <polygon points="1417,599,1241,560,1258,534,1227,472,1275,482,1244,450,1280,450,1246,429,1275,424,1258,407,1239,334,1263,287,1287,367,1305,329,1331,373,1361,341,1387,371,1419,360,1439,392,1472,382,1499,422,1494,382,1529,404,1555,344,1585,378,1590,326,1631,443,1646,562" class="hotspot" data-popup="Go to the Forest?"></polygon> </svg> </div> <</if>>
<<set $timeofday to $timeofday +1>> <<if $day is 2 && $timeofday is 2>> <<set $class to "goblin">> <div class="map-container"> <img src="images/locations/forest/forest_event_merchant.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1115,1058,1116,950,732,945,748,1058,891,1056" data-passage="fight" class="hotspot" data-popup="fight"></polygon> </svg> </div> <<elseif $day is 4 && $statue is false>> <div class="map-container"> <img src="images/locations/forest/statue.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="853,637,866,511,864,486,909,330,951,486,966,489,963,611,966,636" data-passage="statue" class="hotspot" data-popup="take a closer look"></polygon> </svg> </div> <<else>> <<switch random(1, 6)>> <<case 1>> <<if $merchantquest1 is false and $merchantquest1talked is true>> <<set $class to "ent">> <div class="map-container"> <img src="images/locations/forest/flower.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="983,942,1312,942,1316,1042,983,1048"" data-passage="flower" class="hotspot" data-popup="take flower"></polygon> </svg> </div> <<else>> <<set $class to "goblin">> <div class="map-container"> <img src="images/locations/forest/forest_goblin.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1115,1058,1116,950,732,945,748,1058,891,1056" data-passage="fight" class="hotspot" data-popup="fight"></polygon> </svg> </div> <</if>> <<case 4>> <<switch random(1, 2)>> <<case 1>> <<set $class to "goblin">> <div class="map-container"> <img src="images/locations/forest/forest_goblin.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1115,1058,1116,950,732,945,748,1058,891,1056" data-passage="fight" class="hotspot" data-popup="fight"></polygon> </svg> </div> <<case 2>> <<set $class to "kobolt">> <div class="map-container"> <img src="images/locations/forest/forest_kobolt.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1115,1058,1116,950,732,945,748,1058,891,1056" data-passage="fight" class="hotspot" data-popup="fight"></polygon> </svg> </div> <</switch>> <<case 5>> <<set $class to "event">> <<if $day >2>> <div class="map-container"> <img src="images/locations/forest/fairy_1.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="532,959,1280,966,1285,1059,533,1064,532,1009" data-passage="fairy" class="hotspot" data-popup="take a closer look"></polygon> </svg> </div> <<else>> <<set $class to "goblin">> <div class="map-container"> <img src="images/locations/forest/forest_goblin.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1115,1058,1116,950,732,945,748,1058,891,1056" data-passage="go outside" class="hotspot" data-popup="take a look"></polygon> </svg> </div> <</if>> <<case 2>> <<if $fairy is 2>> <div class="map-container"> <img src="images/locations/forest/bee.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="532,959,1280,966,1285,1059,533,1064,532,1009" data-passage="beecave" class="hotspot" data-popup="follow the bee"></polygon> </svg> </div> <<else>> <<set $class to "goblin">> <div class="map-container"> <img src="images/locations/forest/forest_goblin.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1115,1058,1116,950,732,945,748,1058,891,1056" data-passage="fight" class="hotspot" data-popup="fight"></polygon> </svg> </div> <</if>> <<case 6>> <<switch random(1, 4)>> <<case 1>> <div class="map-container"> <img src="images/locations/forest/house.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="535,958,1456,952,1461,1078,533,1071" data-passage="go outside" class="hotspot" data-popup="leave"></polygon> </svg> </div> <<case 2>> <div class="map-container"> <img src="images/locations/forest/deer.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="535,958,1456,952,1461,1078,533,1071" data-passage="go outside" class="hotspot" data-popup="leave"></polygon> </svg> </div> <<case 3>> <div class="map-container"> <img src="images/locations/forest/harpy.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="535,958,1456,952,1461,1078,533,1071" data-passage="go outside" class="hotspot" data-popup="leave"></polygon> </svg> </div> <<case 4>> <div class="map-container"> <img src="images/locations/forest/woman.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="535,958,1456,952,1461,1078,533,1071" data-passage="go outside" class="hotspot" data-popup="leave"></polygon> </svg> </div> <</switch>> <<case 3>> <<set $herb to $herb +1>> <div class="map-container"> <img src="images/locations/forest/forest_herb.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1115,1058,1116,950,732,945,748,1058,891,1056" data-passage="go outside" class="hotspot" data-popup="leave"></polygon> </svg> </div> <</switch>> <</if>>
$class stands over you. <<if $death is 0>> [[Your Vision goes black->death1]] <<elseif $death is 1>> [[Your Vision goes black->death2]] <<else>> [[not yet made so i will revive you->sleep]] <</if>> <<set $text1 to "">> <<set $text2 to "">> <<set $text3 to "">> <<set $text4 to "">> <<set $text5 to "">> <<set $text6 to "">>
<<if $day is 4 && $statue is false>> You have the feeling you should not sleep yet. [[stand up->cabin]] <<else>> <<nobr>> <<if $merchantquest1 is true and $merchantpotion is false>> <<linkreplace"take a look at the potion from the merchant">><br> <br> You look at the potion <br><img src="images/locations/cabin/sleep/potion.jpg"> <br>You are pretty sure that this is not a health potion. <br> [[drink it anyway->potion]] <</linkreplace>> <</if>> <br><<linkreplace"masturbate">><br> You think about some hot babes, while you stroke your dick.<br> <<switch random(1, 15)>> <<case 1>> <img src="images/locations/cabin/sleep/1.gif"> <<case 2>> <img src="images/locations/cabin/sleep/2.gif"> <<case 3>> <img src="images/locations/cabin/sleep/3.gif"> <<case 4>> <img src="images/locations/cabin/sleep/4.gif"> <<case 5>> <img src="images/locations/cabin/sleep/5.gif"> <<case 6>> <img src="images/locations/cabin/sleep/6.gif"> <<case 7>> <img src="images/locations/cabin/sleep/7.gif"> <<case 8>> <img src="images/locations/cabin/sleep/8.gif"> <<case 9>> <img src="images/locations/cabin/sleep/9.gif"> <<case 10>> <img src="images/locations/cabin/sleep/10.gif"> <<case 11>> <img src="images/locations/cabin/sleep/11.gif"> <<case 12>> <img src="images/locations/cabin/sleep/12.gif"> <<case 13>> <img src="images/locations/cabin/sleep/13.gif"> <<case 14>> <img src="images/locations/cabin/sleep/14.gif"> <<case 15>> <img src="images/locations/cabin/sleep/15.gif"> <</switch>> <br> <<linkreplace"Cum">> <br>You cum<br> <img src="images/locations/cabin/sleep/cum.gif"> <<timed 2s>> <<goto"cabin">> <</timed>> <</linkreplace>> <</linkreplace>> <br> <<linkreplace" just sleep">> You sleep through the night. You recovered your HP and MP. <<goto "cabin">> <</linkreplace>> <<set $timeofday to 1>> <<set $day to $day +1>> <</nobr>> <</if>> <<set $bosshp to $bosshpmax>> <<set $bossmp to $bossmpmax>>
In a future version [[cabin]]
<<if $timeofday is 1>> morning <<elseif $timeofday is 2>> evening <<elseif $timeofday is 3>> night <</if>> You have $bossmp MP You have $bosshp HP You have $gold Gold $bossdamage damage
v1 patreon tease V2 deathv3 wall goblin more quest armory weapons defense
<div class="map-container"> <img src="images/locations/cabin/merchant.jpg"> <!-- CHAT BOX --> <div id="merchant-text" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.75); color:white; padding:18px 28px; border-radius:8px; font-size:18px; display:none; z-index:1000;"> </div> <!-- INITIAL BUTTONS --> <div id="buy-potion" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Buy Potion<br>16 Gold </div> <div id="ask-question" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Ask him a question </div> <div id="quest-request" style="display:none; position:absolute; top:60%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Listen to his request </div> <div id="give-flower" style="display:none; position:absolute; top:65%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> I got your flower </div> <div id="leave" style="display:none; position:absolute; top:75%; right:10%; background:red; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Leave </div> <!-- QUEST RESPONSE BUTTONS --> <div id="quest-yes" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Sure </div> <div id="quest-reluctant" style="display:none; position:absolute; top:60%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> If I have to </div> <!-- QUESTION BUTTONS --> <div id="q1" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> So what are you? </div> <div id="q2" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> What are you doing here? </div> <div id="q3" style="display:none; position:absolute; top:60%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> I have some herbs, can you make potions out of them? </div> <div id="q4" style="display:none; position:absolute; top:70%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> I saw something tiny behind a flower. Like a small human or something. </div> <<nobr>> <!-- NEW POTION MAKING BUTTONS --> <div id="make-1-potion" style="display:none; position:absolute; top:65%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Make me 1 potion </div> <div id="make-5-potions" style="display:none; position:absolute; top:70%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Make me 5 potions </div> <</nobr>> </div> <<script>> $(document).on(':passagedisplay', function () { const display = $('#merchant-text'); let v = State.variables; /* RESET */ $('#merchant-text').hide(); $('#buy-potion').hide(); $('#ask-question').hide(); $('#quest-request').hide(); $('#give-flower').hide(); $('#leave').hide(); $('#quest-yes').hide(); $('#quest-reluctant').hide(); $('#q1').hide(); $('#q2').hide(); $('#q3').hide(); $('#q4').hide(); $('#make-1-potion').hide(); $('#make-5-potions').hide(); /* SHOW INITIAL BUTTONS */ function showInitialButtons(){ $('#buy-potion').fadeIn(200); $('#ask-question').fadeIn(200); // Quest offer if(v.day >= 5 && v.merchantquest1 == false && v.merchantquest1talked == false){ $('#quest-request').fadeIn(200); } // Quest complete if(v.merchantquest1talked == true && v.flower == true && v.merchantquest1 == false){ $('#give-flower').fadeIn(200); } $('#leave').fadeIn(200); } function hideInitialButtons(){ $('#buy-potion').hide(); $('#ask-question').hide(); $('#quest-request').hide(); $('#give-flower').hide(); $('#leave').hide(); } function hideQuestions(){ $('#q1').hide(); $('#q2').hide(); $('#q3').hide(); $('#q4').hide(); $('#make-1-potion').hide(); $('#make-5-potions').hide(); } /* GREETING */ setTimeout(function(){ if(v.day >=5 && v.merchantquest1 == false){ display.text("Merchant: I have a request. May you listen to it?").fadeIn(300); }else{ display.text("Merchant: Welcome traveler.").fadeIn(300); } showInitialButtons(); },1200); /* BUY POTION */ $('#buy-potion').off().on('click', function(){ if(v.gold >= 16){ v.gold -= 16; v.potion = (v.potion || 0) + 1; v.item = (v.item || 0) + 1; display.text("Merchant: Here is your potion."); } else { display.text("Merchant: You don't have enough gold."); } }); /* ASK QUESTION */ $('#ask-question').off().on('click', function(){ hideInitialButtons(); display.text("Merchant: Sure, ask."); setTimeout(function(){ $('#q1').fadeIn(200); $('#q2').fadeIn(200); $('#q3').fadeIn(200); if(v.fairy == 1){ $('#q4').fadeIn(200); } },800); }); /* QUEST REQUEST */ $('#quest-request').off().on('click', function(){ hideInitialButtons(); display.text("Merchant: I saw in the forest a rare flower I wanted to get, but I was too afraid to get it. Could you get it? I would give you a special potion if you bring it to me."); setTimeout(function(){ $('#quest-yes').fadeIn(200); $('#quest-reluctant').fadeIn(200); },1000); }); /* QUEST ACCEPT */ $('#quest-yes').off().on('click', function(){ $('#quest-yes').hide(); $('#quest-reluctant').hide(); v.merchantquest1talked = true; display.text("Merchant: Excellent. I will wait for the flower."); setTimeout(showInitialButtons,2000); }); $('#quest-reluctant').off().on('click', function(){ $('#quest-yes').hide(); $('#quest-reluctant').hide(); v.merchantquest1talked = true; display.text("Merchant: I appreciate it. Bring it when you find it."); setTimeout(showInitialButtons,2000); }); /* GIVE FLOWER */ $('#give-flower').off().on('click', function(){ hideInitialButtons(); display.text("Merchant: I thank you so much and as I promised you. Here is that special potion. It is actually pretty valuable."); setTimeout(function(){ display.text("He hands you a potion."); v.flower = false; v.merchantquest1 = true; v.merchantquest1talked = false; v.potion = (v.potion || 0) + 1; v.item = (v.item || 0) + 1; setTimeout(showInitialButtons,2000); },2500); }); /* QUESTIONS */ $('#q1').off().on('click', function(){ hideQuestions(); display.text("Merchant: I am an Angramus. Have you never seen us before?"); setTimeout(showInitialButtons,2500); }); $('#q2').off().on('click', function(){ hideQuestions(); display.text("Merchant: I am here because there are a bunch of rare herbs in the forest."); setTimeout(showInitialButtons,2500); }); $('#q3').off().on('click', function(){ hideQuestions(); hideInitialButtons(); display.text("Merchant: I sure can."); setTimeout(function(){ $('#make-1-potion').fadeIn(200); $('#make-5-potions').fadeIn(200); $('#leave').fadeIn(200); },800); }); $('#q4').off().on('click', function(){ hideQuestions(); display.text("Merchant: That was probably a fairy. If you want to catch her, you can lure her out with some honey. I think I saw some bees in the forest."); if (v.fairy == 1){ v.fairy = 2; } setTimeout(showInitialButtons,4000); }); /* MAKE 1 POTION */ $('#make-1-potion').off().on('click', function(){ if(v.herbs >= 1){ v.herbs -= 1; v.potion = (v.potion || 0) + 1; v.item = (v.item || 0) + 1; display.text("Merchant: Here is your potion."); } else { display.text("Merchant: You don't have enough herbs."); } $('#make-1-potion').hide(); $('#make-5-potions').hide(); setTimeout(showInitialButtons,1200); }); /* MAKE 5 POTIONS */ $('#make-5-potions').off().on('click', function(){ if(v.herbs >= 5){ v.herbs -= 5; v.potion = (v.potion || 0) + 5; v.item = (v.item || 0) + 5; display.text("Merchant: Here are your 5 potions."); } else { display.text("Merchant: You don't have enough herbs."); } $('#make-1-potion').hide(); $('#make-5-potions').hide(); setTimeout(showInitialButtons,1200); }); /* LEAVE */ $('#leave').off().on('click', function(){ SugarCube.Engine.play("go outside"); }); }); <</script>>
<<if $honey is false>> <div class="map-container"> <img src="images/locations/forest/fairy_gone.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="532,936,1280,943,1285,1036,533,1041" data-passage="go outside" class="hotspot" data-popup="its already gone"></polygon> </svg> </div> <<if $fairy is 0>> <<set $fairy to $fairy +1>> <</if>> <<else>> <div class="map-container"> <img src="images/locations/forest/fairy_2.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="532,936,1280,943,1285,1036,533,1041" data-passage="fairy2" class="hotspot" data-popup="offer some honey"></polygon> </svg> </div> <</if>>
<div class="map-container"> <img src="images/locations/forest/beecave.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="1889,449,1409,452,1405,627,1884,630" data-passage="beehive" class="hotspot" data-popup="enter cave"></polygon> <polygon points="1884,663,1404,666,1400,841,1879,844" data-passage="go outside" class="hotspot" data-popup="don`t enter cave"></polygon> </svg> </div>
<<set $class to "bee">> <<set $text1 to "Intruder! Must defend hive!">> <<set $text2 to "">> <<set $text3 to "">> <<set $text4 to "">> <<set $text5 to "">> <<set $text6 to "">> <<set $enemyhp to 40>> <<set $enemydefense to 4>> <<set $enemyattack to 5>> <div class="map-container"> <img src="images/locations/forest/beehive.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="534,967,1284,967,1285,1060,534,1062" data-passage="fight" class="hotspot" data-popup="enter cave"></polygon> </svg> </div>
<div class="map-container"> <img src="images/locations/forest/fairy.jpg"> <!-- CHAT BOX --> <div id="fairy-chat" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.8); color:white; padding:20px 30px; border-radius:8px; font-size:18px; max-width:70vw; text-align:center; display:none; z-index:1000;"> </div> <!-- BUTTONS --> <div id="fairy-buttons" style="position:absolute; top:45%; right:15%; display:none; flex-direction:column; gap:15px; z-index:1000;"> <button class="fairy-choice" data-choice="sure"> Sure </button> <button class="fairy-choice" data-choice="show"> Only if you can show me something nice </button> </div> </div> <<script>> $(document).on(':passagedisplay', function(){ const display = $('#fairy-chat'); let v = State.variables; /* INTRO CHAT */ setTimeout(function(){ display.text("Uuh honey. Can I have some kind human?").fadeIn(300); },500); /* SHOW BUTTONS */ setTimeout(function(){ $('#fairy-buttons').fadeIn(300); },1200); /* PLAYER CHOICES */ $('.fairy-choice').off().on('click', function(){ const choice = $(this).data('choice'); $('#fairy-buttons').hide(); const indicator = $('<div class="floating-indicator"></div>'); /* GOOD CHOICE */ if(choice === 'sure'){ v.carma += 1; display.text("Fairy: Thank you kind human! I love honey!"); indicator.text('+1 Good').css('color','deepskyblue'); setTimeout(function(){ display.text("The fairy happily flies away."); },1800); /* GO OUTSIDE */ setTimeout(function(){ SugarCube.Engine.play("go outside"); },4000); } /* EVIL CHOICE */ if(choice === 'show'){ v.carma -= 1; display.text("Fairy: Hehe... watch this!"); indicator.text('+1 Evil').css('color','red'); /* GO TO FAIRY3 AFTER LINE */ setTimeout(function(){ SugarCube.Engine.play("fairy3"); },2500); } /* FLOATING INDICATOR */ indicator.css({ position:'fixed', bottom:'50px', left:'50%', transform:'translateX(-50%)', fontSize:'24px', fontWeight:'bold', zIndex:2000 }); $('body').append(indicator); indicator.animate({bottom:'150px', opacity:0},1200,function(){ $(this).remove(); }); }); }); <</script>> <style> .fairy-choice{ background:rgba(76,175,80,0.85); color:white; border:none; padding:12px 22px; font-size:16px; border-radius:6px; cursor:pointer; width:230px; transition:background 0.2s; } .fairy-choice:hover{ background:rgba(56,142,60,0.95); } .floating-indicator{ pointer-events:none; } </style>
<div class="map-container"> <img src="images/locations/forest/fairy_3.jpg"> <!-- CHAT BOX --> <div id="fairy-chat" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.8); color:white; padding:20px 30px; border-radius:8px; font-size:18px; max-width:70vw; text-align:center; display:none; z-index:1000;"> </div> <!-- BUTTONS --> <div id="fairy-buttons" style="position:absolute; top:45%; right:15%; display:none; flex-direction:column; gap:15px; z-index:1000;"> <button class="fairy-choice" data-choice="right"> And you where right. </button> <button class="fairy-choice" data-choice="more"> Lovely sight. How about a bit more? </button> </div> </div> <<script>> $(document).on(':passagedisplay', function(){ const display = $('#fairy-chat'); /* FIRST LINE */ setTimeout(function(){ display.text("And like the view? I heard humans liked these.").fadeIn(300); },500); /* SHOW BUTTONS */ setTimeout(function(){ $('#fairy-buttons').fadeIn(300); },1500); /* PLAYER CHOICES */ $('.fairy-choice').off().on('click', function(){ const choice = $(this).data('choice'); $('#fairy-buttons').hide(); /* OPTION 1 */ if(choice === 'right'){ display.text("The fairy blows you a kiss. Bye handsome human."); setTimeout(function(){ SugarCube.Engine.play("go outside"); },3500); } /* OPTION 2 */ if(choice === 'more'){ display.text("I am flattered but this maiden does not give herself up so easily. Maybe at another time."); setTimeout(function(){ SugarCube.Engine.play("go outside"); },4000); } }); }); <</script>> <style> .fairy-choice{ background:rgba(76,175,80,0.85); color:white; border:none; padding:12px 22px; font-size:16px; border-radius:6px; cursor:pointer; width:260px; transition:background 0.2s; } .fairy-choice:hover{ background:rgba(56,142,60,0.95); } </style>
<<set $class to "shaman">> <div class="map-container"> <img src="images/locations/forest/statue2.jpg"> <!-- CHAT BOX --> <div id="statue-text" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.75); color:white; padding:18px 28px; border-radius:8px; font-size:18px; display:none; z-index:1000;"> </div> <!-- BUTTONS --> <div id="btn1" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Oh wow. a statue, that can talk on its own. </div> <div id="btn2" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> I am not one of your worshippers strange lady. </div> <div id="btn3" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> a deal? </div> <div id="btn4" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> and whats in it for me? </div> <div id="btn5" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> And whats the catch? </div> <div id="btn6" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> That seems fair. </div> <div id="btn7" style="display:none; position:absolute; top:40%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Cut your finger and place your hand on the stone. </div> <div id="btn8" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> What? </div> </div> <<script>> $(document).on(':passagedisplay', function () { const display = $('#statue-text'); let v = State.variables; /* RESET */ $('#statue-text').hide(); $('#btn1,#btn2,#btn3,#btn4,#btn5,#btn6,#btn7,#btn8').hide(); /* SHOW BUTTONS */ function showButtons(...ids){ ids.forEach(id => $('#'+id).fadeIn(200)); } function hideButtons(...ids){ ids.forEach(id => $('#'+id).hide()); } /* START SCENE */ setTimeout(function(){ display.text("Wonderful, a worshipper that can talk more than two sentences.").fadeIn(300); showButtons('btn1','btn2'); },600); /* BUTTON HANDLERS */ /* FIRST CHOICE */ $('#btn1,#btn2').off().on('click', function(){ hideButtons('btn1','btn2'); display.text("It does not matter, human. Do you want to make a deal?"); setTimeout(function(){ showButtons('btn3','btn4'); },1200); }); /* SECOND CHOICE */ $('#btn3,#btn4').off().on('click', function(){ hideButtons('btn3','btn4'); display.text("Human. I am offering you a deal of a lifetime. Form a pact with me and I will give you strength!"); setTimeout(function(){ showButtons('btn5'); },1400); }); /* THIRD CHOICE */ $('#btn5').off().on('click', function(){ hideButtons('btn5'); display.text("Lets say I am imprisoned here by some damn goblin shaman and I need you to kill it."); setTimeout(function(){ showButtons('btn6'); },1400); }); /* FOURTH CHOICE */ $('#btn6').off().on('click', function(){ hideButtons('btn6'); display.text("Perfect. I need some of your blood for the pact. Just sprinkle some on my statue."); setTimeout(function(){ showButtons('btn7'); },1400); }); /* FIFTH CHOICE */ $('#btn7').off().on('click', function(){ hideButtons('btn7'); display.text("Good. Good. Feel my power and now go fight."); setTimeout(function(){ showButtons('btn8'); },1400); }); /* SIXTH CHOICE */ $('#btn8').off().on('click', function(){ hideButtons('btn8'); display.text("You hear some growling..."); setTimeout(function(){ SugarCube.Engine.play("fight"); },3500); }); }); <</script>>
<div class="map-container"> <img src="images/locations/forest/statue2.jpg"> <!-- CHAT BOX --> <div id="boss-chat" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.75); color:white; padding:18px 28px; border-radius:8px; font-size:18px; display:none; z-index:1000;"> </div> <!-- FIRST BUTTONS --> <div id="tribute-buttons-1" style="position:absolute; top:40%; right:10%; display:none; flex-direction:column; gap:15px; z-index:1000;"> <div id="make-stronger" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Make me stronger </div> <div id="leave" style="background:red; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Leave </div> </div> <!-- SECOND BUTTONS --> <div id="tribute-buttons-2" style="position:absolute; top:50%; right:10%; display:none; flex-direction:column; gap:15px; z-index:1000;"> <div id="dmg" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> </div> <div id="mp" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> </div> <div id="hp" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> </div> <div id="back" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Back </div> </div> <!-- MERCHANT POTION EVENT BUTTONS --> <div id="smell-different" style="display:none; position:absolute; top:50%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> I smell different? </div> <div id="what-button" style="display:none; position:absolute; top:60%; right:10%; background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> What? </div> </div> <<script>> $(document).on(':passagedisplay', function() { const display = $('#boss-chat'); let v = State.variables; /* INITIALIZE COSTS */ if (v.dmgCost === undefined) v.dmgCost = 10; if (v.mpCost === undefined) v.mpCost = 10; if (v.hpCost === undefined) v.hpCost = 10; /* RESET */ display.hide(); $('#tribute-buttons-1').hide(); $('#tribute-buttons-2').hide(); $('#smell-different').hide(); $('#what-button').hide(); /* START DIALOGUE */ setTimeout(function() { if(v.merchantpotion){ display.text("You smell different.").fadeIn(300); $('#smell-different').fadeIn(200); $('#leave').fadeIn(200); }else{ display.text("Hello there, what can I do for you?").fadeIn(300); $('#tribute-buttons-1').fadeIn(200); } },500); /* MERCHANT POTION EVENT */ $('#smell-different').off().on('click', function(){ $('#smell-different').hide(); display.text("You smell somehow manly and alluring. I dont like that. Maybe I will change that?"); setTimeout(function(){ $('#what-button').fadeIn(200); },900); }); $('#what-button').off().on('click', function(){ $('#what-button').hide(); display.text("Don't mind me."); v.merchantpotion = false; v.statuedick = true; setTimeout(function(){ SugarCube.Engine.play(State.passage); },1200); }); /* FIRST BUTTONS */ $('#make-stronger').off().on('click', function(){ $('#tribute-buttons-1').hide(); display.text("Offer your tribute then.").fadeIn(300); $('#dmg').text("Increase Damage (" + v.dmgCost + " Gold)"); $('#mp').text("Increase MP (" + v.mpCost + " Gold)"); $('#hp').text("Increase HP (" + v.hpCost + " Gold)"); $('#tribute-buttons-2').fadeIn(200); }); $('#leave').off().on('click', function(){ SugarCube.Engine.play("go outside"); }); /* SECOND BUTTONS */ function hideTribute(){ $('#tribute-buttons-2').hide(); } /* DAMAGE */ $('#dmg').off().on('click', function(){ if(v.gold >= v.dmgCost){ v.gold -= v.dmgCost; v.bossdamage = (v.bossdamage || 0) + 1; v.dmgCost += 5; display.text("Your damage increased."); hideTribute(); setTimeout(function(){ SugarCube.Engine.play(State.passage); },200); }else{ display.text("You don't have enough gold."); } }); //* MP */ $('#mp').off().on('click', function(){ if(v.gold >= v.mpCost){ v.gold -= v.mpCost; v.bossmpmax = (v.bossmpmax || 0) + 5; v.mpCost += 5; display.text("Your MP increased."); hideTribute(); setTimeout(function(){ SugarCube.Engine.play(State.passage); },200); }else{ display.text("You don't have enough gold."); } }); /* HP */ $('#hp').off().on('click', function(){ if(v.gold >= v.hpCost){ v.gold -= v.hpCost; v.bosshpmax = (v.bosshpmax || 0) + 10; v.hpCost += 5; display.text("Your HP increased."); hideTribute(); setTimeout(function(){ SugarCube.Engine.play(State.passage); },200); }else{ display.text("You don't have enough gold."); } }); /* BACK */ $('#back').off().on('click', function(){ $('#tribute-buttons-2').hide(); display.text("Hello there, what can I do for you?").fadeIn(300); $('#tribute-buttons-1').fadeIn(200); }); }); <</script>>
<div class="map-container"> <img src="images/locations/forest/flower+enemy.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="983,942,1312,942,1316,1042,983,1048"" data-passage="flower2" class="hotspot" data-popup="take flower"></polygon> </svg> </div> <<set $enemyattack to 30>>
<div class="map-container"> <img src="images/locations/forest/flower+enemy2.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="983,942,1312,942,1316,1042,983,1048"" data-passage="fight" class="hotspot" data-popup="fight"></polygon> </svg> </div> <<if $death is 1>> <<set $class to "ent">> <</if>>
You embrace the cold feeling of having died. <<set $death to $death +1>> <<timed 1s>> .<<timed 1s>> ..<<timed 1s>> ...<<timed 1s>> But if you are dead, why are you feeling something? <span style="color: red;">Are you wondering why you are not dead?</span> <<linkreplace"try to answere">> You try to respond, but you cant. <span style="color: red;">Dont respond. Its ok. I told you there was another way of getting stronger.</span> <span style="color: red;">So what you say. I take a bit from you and you get something from me?</span> <span style="color: red;">Deal?</span> [[Deal->death1wakeup]] <</linkreplace>> <</timed>> <</timed>> <</timed>> <</timed>>
You wake up. Your whole body hurts. Somehow you fell stronger, but you feel weaker, you dont know what that statue took from you, but you know, that this should not happen to often. HP has increased by 20 MP has increased by 10 Damage has increased by 5 <<set $bossmpmax to $bossmpmax +5>> <<set $bosshpmax to $bosshpmax +20>> <<set $bosshp to $bosshpmax>> <<set $bossmp to $bossmpmax>> <<set $bossdamage to $bossdamage +5>> [[stand up->cabin]]
You open the lid of the potion and drink the whole potion in one go. Probably not the best idea, but its to late to think anything now. .<<timed 1s>> ..<<timed 1s>> ...<<timed 1s>> ....<<timed 1s>> You wait for an effect. But nothing happens. It seems you battled with an ent for some shiny water..... [[go to sleep->potion2]] <</timed>> <</timed>> <</timed>> <</timed>>
<div id="scene"> You wake up and feel your lower half burning. <<link "take a look">> <<replace "#scene">> You look in your pants to see your penis having swollen to a massive size. <img src="images/locations/cabin/sleep/dick.png"> You touch your now massive dick and feel a rush of pleasure. <<link "start masturbating">> <<replace "#scene">> <img src="images/locations/cabin/sleep/masturbation.gif"> You furiously keep stroking your dick until... <<link "You cum">> <<replace "#scene">> <img src="images/locations/cabin/sleep/cumbig.gif"> You start to cum mountains of cum. It does not seem to stop at all. After a while, it stopped. You are completely exhausted and a small puddle of cum is beneath you. The whole room smells like cum and sex. You once again look at your dick. To your surprise it has reverted back to its normal size. Maybe a bit bigger than before. It seems the merchant gave you some strange potion. <<set $merchantpotion = true>> [[stand up->cabin]] <</replace>> <</link>> <</replace>> <</link>> <</replace>> <</link>> </div> <<set $penis to $penis +1>>
<<if $dickstatue is false>> Nothin happend. You need something else [[sleep]] <<else>> You embrace the cold feeling of having died. But then you feel your lower region being touched. At first, it is warm and pleasant, but the sensation quickly grows into overwhelming pleasure. <span style="color:red;">what a pleasent aroma. So manly</span> It doesn’t stop and you cum hard. But the feeling does not stop. What was once a pleasent touch turns into a sharp sting. <span style="color:red;">Give me more!</span> You feel, as something is sucking on your dick, <span style="color:red;">Thats it. </span> [[Before the feeling become unbearable, you wake up.->death2wakeup]] <</if>> <<set $death to $death +1>> <<set $penis to $penis -1>>
You wake up. Your whole body hurts. The thing that hurts the most is your penis, which feels bruised, as something was handling it to harshly. <<linkreplace" look in your pants">> You look into your pants and to your surprise, your once above average penis has shrunk. <img src="images/locations/cabin/sleep/average.jpg"> It is now only average. HP has increased by 20 MP has increased by 10 Damage has increased by 5 <<set $bossmpmax to $bossmpmax +5>> <<set $bosshpmax to $bosshpmax +20>> <<set $bosshp to $bosshpmax>> <<set $bossmp to $bossmpmax>> <<set $bossdamage to $bossdamage +5>> [[stand up->cabin]] <</linkreplace>>
<<link "Patreon">><<script>>window.open('https://www.patreon.com/Alexgamesandso/membership')<</script>><</link>>
<div class="map-container"> <img src="images/headertext.jpg"> <svg viewBox="0 0 1920 1080" class="map-overlay"> <polygon points="410,778,1579,783,1585,899,407,894,407,820" data-passage="cabin" data-popup="Start the game" class="hotspot"></polygon> <polygon points="397,915,1575,919,1576,1030,399,1023,401,983" data-passage="patreon" data-popup="Get the next Version" class="hotspot"></polygon> </svg> </div> 397,931,1566,934,1576,1046,399,1039"
<<linkreplace"learn whats new in the next version">> <<link "Patreon">><<script>>window.open('https://www.patreon.com/Alexgamesandso/membership')<</script>><</link>> <</linkreplace>>
<div class="map-container"> <!-- Background image --> <img id="patreon-bg" src="images/locations/cabin/test.jpg"> <!-- CHAT BOX --> <div id="patreon-chat" style="position:absolute; bottom:5%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.75); color:white; padding:18px 28px; border-radius:8px; font-size:18px; display:none; z-index:1000;"> </div> <!-- BUTTONS --> <div id="patreon-buttons" style="position:absolute; top:50%; right:10%; display:none; flex-direction:column; gap:15px; z-index:1000;"> <div id="btn-sure" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Sure </div> <div id="btn-whats" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> What's in it for me? </div> </div> <div id="patreon-buttons-2" style="position:absolute; top:60%; right:10%; display:none; flex-direction:column; gap:15px; z-index:1000;"> <div id="btn-ok-patreon" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> Ok, take me to the Patreon </div> <div id="btn-not-convinced" style="background:green; color:white; padding:18px 35px; border-radius:10px; cursor:pointer;"> I am still not convinced </div> </div> </div> <<script>> $(document).on(':passagedisplay', function() { const display = $('#patreon-chat'); // Hide all initially display.hide(); $('#patreon-buttons').hide(); $('#patreon-buttons-2').hide(); // Show greeting and first buttons setTimeout(function(){ display.text("Hello there. I am Alex. I am here to ask you kindly to go to my Patreon.").fadeIn(300); $('#patreon-buttons').fadeIn(200); },500); // --- FIRST BUTTONS --- $('#btn-sure').off().on('click', function(){ $('#patreon-buttons').hide(); display.text("Thank you! Redirecting you..."); // Open Patreon in new tab window.open('https://www.patreon.com/Alexgamesandso/membership'); // Send back to cabin passage setTimeout(function(){ SugarCube.Engine.play("cabin"); }, 800); }); $('#btn-whats').off().on('click', function(){ $('#patreon-buttons').hide(); // Change background $('#patreon-bg').attr('src','images/locations/cabin/test2.jpg'); display.text("How about this ?"); // Show second set of buttons setTimeout(function(){ $('#patreon-buttons-2').fadeIn(200); }, 800); }); // --- SECOND BUTTONS --- $('#btn-ok-patreon').off().on('click', function(){ $('#patreon-buttons-2').hide(); display.text("Thank you! Redirecting you..."); window.open('https://www.patreon.com/Alexgamesandso/membership'); setTimeout(function(){ SugarCube.Engine.play("cabin"); }, 800); }); $('#btn-not-convinced').off().on('click', function(){ $('#patreon-buttons-2').hide(); display.text("Let me show you what is new..."); setTimeout(function(){ SugarCube.Engine.play("patreon"); }, 1500); // Delay before sending to patreon passage }); }); <</script>>