(function () {\n "use strict";\n version.extensions['soundMacros'] = {\n major: 1,\n minor: 1,\n revision: 2\n };\n var p = macros['playsound'] = {\n soundtracks: {},\n handler: function (a, b, c, d) {\n var loop = function (m) {\n if (m.loop == undefined) {\n m.loopfn = function () {\n this.play();\n };\n m.addEventListener('ended', m.loopfn, 0);\n } else m.loop = true;\n m.play();\n };\n var s = eval(d.fullArgs());\n if (s) {\n s = s.toString();\n var m = this.soundtracks[s.slice(0, s.lastIndexOf("."))];\n if (m) {\n if (b == "playsound") {\n m.play();\n } else if (b == "loopsound") {\n loop(m);\n } else if (b == "pausesound") {\n m.pause();\n } else if (b == "unloopsound") {\n if (m.loop != undefined) {\n m.loop = false;\n } else if (m.loopfn) {\n m.removeEventListener('ended', m.loopfn);\n delete m.loopfn;\n }\n } else if (b == "stopsound") {\n m.pause();\n m.currentTime = 0;\n } else if (b == "fadeoutsound" || b == "fadeinsound") {\n if (m.interval) clearInterval(m.interval);\n if (b == "fadeinsound") {\n if (m.currentTime>0) return;\n m.volume = 0;\n loop(m);\n } else {\n if (!m.currentTime) return;\n m.play();\n }\n var v = m.volume;\n m.interval = setInterval(function () {\n v = Math.min(1, Math.max(0, v + 0.005 * (b == "fadeinsound" ? 1 : -1)));\n m.volume = Math.easeInOut(v);\n if (v == 0 || v == 1) clearInterval(m.interval);\n if (v == 0) {\n m.pause();\n m.currentTime = 0;\n m.volume = 1;\n }\n }, 10);\n }\n }\n }\n }\n }\n macros['fadeinsound'] = p;\n macros['fadeoutsound'] = p;\n macros['unloopsound'] = p;\n macros['loopsound'] = p;\n macros['pausesound'] = p;\n macros['stopsound'] = p;\n macros['stopallsound'] = {\n handler: function () {\n var s = macros.playsound.soundtracks;\n for (var j in s) {\n\t\tif (s.hasOwnProperty(j)) {\n s[j].pause();\n if (s[j].currentTime) {\n\t\t s[j].currentTime = 0;\n\t\t }\n\t\t}\n }\n }\n }\n var div = document.getElementById("storeArea").firstChild;\n var fe = ["ogg", "mp3", "wav", "webm"];\n while (div) {\n var b = String.fromCharCode(92);\n var q = '"';\n var re = "['" + q + "]([^" + q + "']*?)" + b + ".(ogg|mp3|wav|webm)['" + q + "]";\n k(new RegExp(re, "gi"));\n div = div.nextSibling;\n }\n\n function k(c, e) {\n do {\n var d = c.exec(div.innerHTML);\n if (d) {\n var a = new Audio();\n if (a.canPlayType) {\n for (var i = -1; i < fe.length; i += 1) {\n if (i >= 0) d[2] = fe[i];\n if (a.canPlayType("audio/" + d[2])) break;\n }\n if (i < fe.length) {\n a.setAttribute("src", d[1] + "." + d[2]);\n a.interval = null;\n macros.playsound.soundtracks[d[1]] = a;\n } else console.log("Browser can't play '" + d[1] + "'");\n }\n }\n } while (d);\n }\n}());
To claim his reward Sir Makane stripped the king and the queen, and bid that they cavort with him in what figures three persons might arrange. He was a more vigorous companion to the queen than the king had ever been, and made the king know it; and he was a more vigorous companion to the king, and made the queen know it; no force a knight uses is excessive.<<if $deadprincess is 0>> Even the princess was involved until each royal party had been exhausted.<<endif>>\n\nAt which point none remained alert save for the cat who always sat to look upon the king and queen, in keeping with its station in the realm. It had not blinked at what it saw, and now it looked upon the knight.\n\n[[SLAY|10s]] / [[LAY|10l]]<<set $lay to $lay +1>>
<<set $lay to $lay +1>>Laying the royal pussy brought Sir Makane great renown among all men, who recognized him as the greatest knight. He was the most valorous knight, and the most chivalrous, and the most well beloved.\n\n<<if $slay gte 5>>When he finally died, at a ripe ancient age, he had slain enough deserving souls to earn a tribute from the reaper who stood at his bedside with a scythe. You are a most expedient fellow, the reaper said. You overfilled my coffers in your life, and in your death I will assure your name rings loud and clear down the millennia. Sir Lancelot will shrink away; Sir Tristram will cower; Sir Percival will scamper back to hide behind his mother's skirts; even the Once and Future King will bow before the famous SIR MAKANE.<<endif>><<if $lay gte 5>>When he finally died, at a ripe ancient age, he had sown more wild oats than any man, and children with his features ran amok through the kingdom. He floated into heaven where his soul was welcomed by a harem filled with nymphs and goddesses and satyrs muscular and horned, whose unquenchable appetites were equal only to his own. Meanwhile romances about him persisted on earth, and ballads were composed for his exploits, and when anyone dreamt about a courtly knight with a rose at a balcony, the knight they dreamt about was SIR MAKANE.<<endif>>\n
Sir Makane's heart was mightier still, and his lust mightier, and without arms he plunged into his struggle with the beast, plunging into the beast in that struggle. Any spectators would have marveled at his stamina in addressing every opening, and at the force with which he drove his weapon home. A knight never impaled a monster more, nor pulled as many fiery outcries from its maw, until its fighting coils had gone lax and it could no more stir than an old dog installed before a kitchen hearth.\n\nNews could not be contained that he had conquered the monster. It spread through every town and hamlet in the land. He was welcomed to court, where the king and queen gave him their praise, <<if $deadprincess gte 1>>although they were grieved that the princess had died before she could be saved<<endif>><<if $deadprincess is 0>>and showered him with gratitude for saving the princess<<endif>>.\n\n[[SLAY|8s]] / [[LAY|9l]]<<set $lay to $lay +1>>
@@font-size:2em;RAPE, PILLAGE, MAKANE!@@\nChandler Groover\n\n@@font-size:0.9em;//This game, as its title suggests, contains sex and violence, \nand not necessarily in a pleasant manner.//@@\n\nSLAY / [P][[LAY|1]]
Sir Makane's heart was mightier still. He took his sword in hand again and did do vicious battle with the beast, withstanding flames and poison claws and other attributes compiled from lesser creatures such as the lion, the giraffe, the serpent, and the porcupine into one horror that no history can tell about: an accurate description would burn through the page and scorch the scribe's fingers. How much the more wonderful, then, was Sir Makane's triumphant deadly blow.\n\nNews could not be contained that he had conquered the monster. It spread through every town and hamlet in the land. He was welcomed to court, where the king and queen gave him their praise, <<if $deadprincess gte 1>>although they were grieved that the princess had died before she could be saved<<endif>><<if $deadprincess is 0>>and showered him with gratitude for saving the princess<<endif>>.\n\n[[SLAY|8s]] / [[LAY|9l]]<<set $slay to $slay +1>>
For such a deprivation Sir Makane filleted the abbess just as though she were a fish served at a holy day supper. Her sister nuns he hacked into small pieces too, until the nunnery was painted crimson everywhere with virgin blood. This may not sound like justice, but it was not justice that these gorgeous nuns hid from mankind, and Sir Makane dealt with them properly.\n\nHe climbed higher into the craggy heights, and where the mountains dipped to shape a bowl between their peaks, there was a princess enchained on a slab. Her nude form was more succulent than fruit. She cast a pleading gaze at Sir Makane.\n\n[[SLAY|6s]] / [[LAY|6l]]<<set $slay to $slay +1>>
<<set $slay to $slay +1>>Slaying the royal pussy brought Sir Makane great renown among all men, who recognized him as the greatest knight. He was the most valorous knight, and the most chivalrous, and the most well beloved.\n\n<<if $slay gte 5>>When he finally died, at a ripe ancient age, he had slain enough deserving souls to earn a tribute from the reaper who stood at his bedside with a scythe. You are a most expedient fellow, the reaper said. You overfilled my coffers in your life, and in your death I will assure your name rings loud and clear down the millennia. Sir Lancelot will shrink away; Sir Tristram will cower; Sir Percival will scamper back to hide behind his mother's skirts; even the Once and Future King will bow before the famous SIR MAKANE.<<endif>><<if $lay gte 5>>When he finally died, at a ripe ancient age, he had sown more wild oats than any man, and children with his features ran amok through the kingdom. He floated into heaven where his soul was welcomed by a harem filled with nymphs and goddesses and satyrs muscular and horned, whose unquenchable appetites were equal only to his own. Meanwhile romances about him persisted on earth, and ballads were composed for his exploits, and when anyone dreamt about a courtly knight with a rose at a balcony, the knight they dreamt about was SIR MAKANE.<<endif>>
Sir Makane smote her head from her shoulders, and it was smitten far better than passing fair, with the blood gushing in such an excess that her sheep did imagine themselves in a rainstorm. And this was a good victory, because it was accomplished by a knight.\n\nBeside the road, as Sir Makane wandered the land, he came upon a peasant locked in stocks. She must have been imprisoned for some time because she was a piteous sight with her body begrimed. Take mercy on me please, sir knight, she said.\n\n[[SLAY|2s]] / [[LAY|2l]]<<set $slay to $slay +1>>
version.extensions["cyclinglinkMacro"]={major:3,minor:2,revision:0};macros.cyclinglink={handler:function(a,b,c){var rl="cyclingLink";\nfunction toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none");}switch(c[c.length-1]){case"end":var end=true;\nc.pop();break;case"out":var out=true;c.pop();break;}var v="";if(c.length&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift();}var h=state.history[0].variables;if(out&&h[v]===""){return;}var l=Wikifier.createInternalLink(a,null);\nl.className="internalLink cyclingLink";l.setAttribute("data-cycle",0);for(var i=0;\ni<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));var d=insertElement(null,"span",null,"cyclingLink"+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[ i ];l.setAttribute("data-cycle",i);}else{d.style.display="none";}new Wikifier(d,c[ i ]);\nif(on&&end&&i==c.length-1){l.parentNode.replaceChild(d,l);}else{l.appendChild(d);\n}}l.onclick=function(){var t=this.childNodes;var u=this.getAttribute("data-cycle")-0;\nvar m=t.length;toggleText(t[u]);u=(u+1);if(!(out&&u==m)){u%=m;if(v){h[v]=c[u];}}else{h[v]="";\n}if((end||out)&&u==m-(end?1:0)){if(end){var n=this.removeChild(t[u]);n.className=rl+"End";\nn.style.display="inline";this.parentNode.replaceChild(n,this);}else{this.parentNode.removeChild(this);\nreturn;}return;}toggleText(t[u]);this.setAttribute("data-cycle",u);};}};
#passages { margin-left: 18%; margin-top: 6%; margin-bottom: 0%; margin-right: 0%;}\n\n#passages { height:100%; width: 100%}\n\nbody [data-tags~=stars]{\n background-repeat: no-repeat;\n background-size: 100% 100%;\n}\nhtml [data-tags~=stars]{\n height: 100%\n}\n#passages p {\n text-indent: 10em;\n}
He cut her from her crown to her stomach before she had the chance to even bade him a good morn. It was a clean death, done without her knowledge that it had been done, which is the kindest death a man can give. Her palfrey was not spared either, although its neighing death was not as clean.\n\nBut he had barely finished with the lady when another knight approached clad in black plate. What knight are you to slay my lady thus? said the black knight. I, who art a truer knight and pure, shall strike thee down!\n\n[[SLAY|4s]] / [[LAY|4l]]<<set $slay to $slay +1>>
(function(){\nvar bs = String.fromCharCode(92);\nWikifier.formatters.unshift({\n name: "continuedLine",\n match: bs+bs+"s",\n handler: function(a) {\n a.nextMatch = a.matchStart+3;\n }\n});\n}());
One day as Sir Makane was laid beneath an apple tree a sunbeam struck his hand. He held a sword where no sword was before. Likewise a sunbeam struck his genitals and blessed his seed with great fecundity. From that moment onward he was the most glorious knight and could accomplish no deed that was wrong.\n\nWhilst crossing fields he met a shepherdess tending her flock. No maiden more comely might have been found in poetry or song. How passing fair the weather is today, the maiden said.\n\n[[SLAY|1s]] / [[LAY|1l]]
Twas fortunate that Sir Makane was not deprived. Upon the chancel floor he took her holiest holy, and other nuns yielded their holies in diverse cloisters. Not one nun could rebuke his advances, and not one nun was left with her virtue, but with virtues tenfold increased from having pleasured such a gallant knight.\n\nHe climbed higher into the craggy heights, and where the mountains dipped to shape a bowl between their peaks, there was a princess enchained on a slab. Her nude form was more succulent than fruit. She cast a pleading gaze at Sir Makane.\n\n[[SLAY|6s]] / [[LAY|6l]]<<set $lay to $lay +1>>
(function () {\n "use strict";\n version.extensions['replaceMacrosCombined'] = {\n major: 1,\n minor: 0,\n revision: 0\n };\n var nullobj = { handler: function () {} };\n function showVer(n,notrans) {\n\tn.innerHTML = "";\n\tnew Wikifier(n, n.tweecode);\n\tn.setAttribute("data-enabled", "true");\n\tn.style.display = "inline";\n\tn.classList.remove("revision-span-out");\n\tif (!notrans) {\n\t n.classList.add("revision-span-in");\n\t if (n.timeout) clearTimeout(n.timeout);\n\t n.timeout = setTimeout(function () {\n\t n.classList.remove("revision-span-in");\n\t }, 1);\n\t}\n }\n function hideVer(n,notrans) {\n\tn.setAttribute("data-enabled", "false");\n\tn.classList.remove("revision-span-in");\n\tif (n.timeout) clearTimeout(n.timeout);\n\tif (!notrans) {\n\t n.classList.add("revision-span-out");\n\t n.timeout = setTimeout(function () {\n\t if (n.getAttribute("data-enabled") == "false") {\n\t n.classList.remove("revision-span-out");\n\t n.style.display = "none";\n\t n.innerHTML = "";\n\t }\n\t }, 1000);\n\t} else {\n\t n.style.display = "none";\n\t n.innerHTML = "";\n\t}\n }\n function tagcontents(b, starttags, desttags, endtags, k) {\n var l = 0,\n c = "",\n tg, a, i;\n\tfunction tagfound(i, e) {\n for (var j = 0; j < e.length; j++) {\n if (a.indexOf("<<"+e[j], i) == i) {\n return e[j];\n }\n }\n }\n a = b.source.slice(k);\n for (i = 0; i < a.length; i++) {\n if (tg = tagfound(i, starttags)) {\n l++;\n }\n else if ((tg = tagfound(i, desttags)) && l == 0) {\n b.nextMatch = k + i + tg.length+4;\n return [c, tg];\n }\n else if (tg = tagfound(i, endtags)) {\n l--;\n if (l < 0) {\n return null;\n }\n }\n c += a.charAt(i);\n }\n return null;\n }\n var begintags = [];\n var endtags = [];\n function revisionSpanHandler(g, e, f, b) {\n\t var k = b.source.indexOf('>>', b.matchStart) + 2,\n\t vsns = [],\n\t\tvtype = e,\n\t\tflen = f.length,\n\t\tbecomes, c, cn, m, h, vsn; \n\t function mkspan(vtype) {\n\t h = insertElement(m, "span", null, "revision-span "+vtype);\n h.setAttribute("data-enabled", false);\n h.style.display = "none";\n\t\t h.tweecode = "";\n\t\t return h;\n\t }\n\t // Shorthand: <<tag "first">>second<<endtag>>\n\t if (this.shorthand && flen) {\n\t while(f.length > 0) {\n\t\t vsns.push([f.shift(),(this.flavour == "insert" ? "gains" : "becomes")]);\n\t\t}\n\t }\n\t else if (this.flavour == "insert" || (this.flavour=="continue" && this.trigger=="time")) {\n\t vsns.push(["","becomes"]);\n\t }\n\t // Read all versions\n\t if (this.flavour == "continue" && flen) {\n\t // <<continue>> consumes the rest of the passage\n\t\tb.nextMatch = k+b.source.slice(k).length;\n\t\tvsns.push([b.source.slice(k),vtype]);\n }\n\t else {\n\t becomes = ["becomes", "gains"];\n\t\tc = tagcontents(b, begintags, becomes.concat(endtags), endtags, k);\n\t\tif (c && endtags.indexOf(c[1]) == -1) {\n\t\t while (c) {\n\t\t\tvsns.push(c);\n\t\t\tc = tagcontents(b, begintags, becomes, endtags, b.nextMatch);\n\t\t }\n\t\t c = tagcontents(b, begintags, ["end" + e], endtags, b.nextMatch);\n\t\t}\n\t\tif (!c) {\n\t\t throwError(g, "can't find matching end" + e);\n\t\t return;\n\t\t}\n vsns.push(c);\n\t if (this.flavour == "continue") {\n\t // <<continue>> consumes the rest of the passage\n\t\t k = b.nextMatch;\n\t\t b.nextMatch = k+b.source.slice(k).length;\n\t\t vsns.push([b.source.slice(k),""]);\n }\n\t }\n\t if (this.flavour == "remove") {\n\t vsns.push(["","becomes"]);\n\t }\n\t console.log(JSON.stringify(vsns));\n\t // Create HTML\n cn = 0;\n m = insertElement(g, "span", null, e);\n\t m.setAttribute("data-flavour",this.flavour);\n h = mkspan("initial");\n\t vsn = vsns.shift();\n\t console.log(e+" "+vsn[0]);\n h.tweecode = vsn[0];\n\t showVer(h,true);\n while (vsns.length > 0) {\n if (vsn) {\n\t\t vtype = vsn[1];\n\t\t}\n vsn = vsns.shift();\n h = mkspan(vtype);\n h.tweecode = vsn[0];\n }\n\t // Make the trigger, if any\n\t if (typeof this.setup == "function") {\n\t this.setup(m,g,f);\n\t }\n }\n function quantity(m) {\n return (m.children.length-1)+(m.getAttribute("data-flavour")=="remove");\n }\n // Trigger setup functions;\n function revisionSetup(m,g,f) {\n m.className += " " + f[0].replace(" ", "_");\n showVer(m.firstChild,true);\n }\n function timeSetup(m,g,f) {\n\tfunction cssTimeUnit(s) {\n\t\tif (typeof s == "string") {\n\t\t if (s.slice(-2).toLowerCase() == "ms") {\n\t\t\treturn Number(s.slice(0, -2)) || 0;\n\t\t }\n\t\t else if (s.slice(-1).toLowerCase() == "s") {\n\t\t\treturn Number(s.slice(0, -1)) * 1000 || 0;\n\t\t }\n\t\t}\n\t\tthrowError(g, s + " isn't a CSS time unit");\n\t\treturn 0;\n\t}\n var fl = this.flavour;\n var tm = cssTimeUnit(f[0]);\n\tsetTimeout(function timefn() {\n\t var done = !revise("revise", m);\n\t if (!done) {\n\t setTimeout(timefn,tm);\n\t }\n }, tm);\n }\n function hoverSetup(m) {\n\tm.onmouseover = function () {\n\t\trevise("revise",m);\n\t};\n\tm.onmouseout = function () {\n\t\trevise("revert",m);\n\t};\n }\n function mouseSetup(m) {\n\tvar fl = this.flavour;\n\tm.onmouseenter = function () {\n\t\tvar done = !revise("revise", m);\n\t\tif (done) {\n\t\t this.onmouseenter = null;\n\t\t}\n\t};\n }\n function linkSetup(m,g,f) {\n\tvar fl = this.flavour,\n\t l = Wikifier.createInternalLink(),\n\t p = m.parentNode;\n\tl.className = "internalLink replaceLink";\n\tp.insertBefore(l, m);\n\tl.insertBefore(m, null);\n\tl.onclick = function () {\n\t\tvar p, done = false;\n\t\tif(m && m.parentNode == this) {\n\t\t\tdone = !revise("revise",m);\n\t\t\tscrollWindowTo(m);\n\t\t}\n\t\tif (done) {\n\t\t\tthis.parentNode.insertBefore(m,this);\n\t\t\tthis.parentNode.removeChild(this);\n\t\t}\n\t}\n }\n function visitedSetup(m,g,f) {\n\tvar i, done, shv = state.history[0].variables,\n\t\tos = "once seen",\n\t\td = (m.firstChild && (this.flavour == "insert"\n\t\t ? m.firstChild.nextSibling\n\t\t : m.firstChild).tweecode);\n\tshv[os] = shv[os] || {};\n\tif(d && !shv[os].hasOwnProperty(d)) {\n\t shv[os][d]=1;\n\t} else {\n\t for(i=shv[os][d]; i>0 && !done; i--) {\n\t done=!revise("revise",m,true);\n\t }\n\t if (shv[os].hasOwnProperty(d)) {\n\t shv[os][d]+=1;\n\t }\n\t}\n }\n // Variations\n [\n // Insert\n { name: "insert",\n\t flavour: "insert",\n\t trigger: "link",\n\t setup: linkSetup\n\t},\n { name: "timedinsert",\n\t flavour: "insert",\n\t trigger: "time",\n\t setup: timeSetup\n\t},\n { name: "insertion",\n\t flavour: "insert",\n\t trigger: "revisemacro",\n\t setup: revisionSetup\n\t},\n { name: "later",\n\t flavour: "insert",\n\t trigger: "visited",\n\t setup: visitedSetup\n\t},\n\t// Replace\n { name: "replace",\n\t flavour: "replace",\n\t trigger: "link",\n\t setup: linkSetup\n\t},\n { name: "timedreplace",\n\t flavour: "replace",\n\t trigger: "time",\n\t setup: timeSetup\n\t},\n { name: "mousereplace",\n\t flavour: "replace",\n\t trigger: "mouse",\n\t setup: mouseSetup\n\t},\n { name: "hoverreplace",\n\t flavour: "replace",\n\t trigger: "hover",\n\t setup: hoverSetup\n\t},\n { name: "revision",\n\t flavour: "replace",\n\t trigger: "revisemacro",\n\t setup: revisionSetup\n\t},\n\t// Remove\n\t/*\n { name: "remove",\n\t flavour: "remove",\n\t trigger: "link",\n\t setup: linkSetup\n\t},*/\n { name: "timedremove",\n\t flavour: "remove",\n\t trigger: "time",\n\t setup: timeSetup\n\t},\n { name: "mouseremove",\n\t flavour: "remove",\n\t trigger: "mouse",\n\t setup: mouseSetup\n\t},\n { name: "hoverremove",\n\t flavour: "remove",\n\t trigger: "hover",\n\t setup: hoverSetup\n\t},\n { name: "removal",\n\t flavour: "remove",\n\t trigger: "revisemacro",\n\t setup: revisionSetup\n\t},\n { name: "once",\n\t flavour: "remove",\n\t trigger: "visited",\n\t setup: visitedSetup\n\t},\n\t// Continue\n { name: "continue",\n\t flavour: "continue",\n\t trigger: "link",\n\t setup: linkSetup\n\t},\n { name: "timedcontinue",\n\t flavour: "continue",\n\t trigger: "time",\n\t setup: timeSetup\n\t},\n { name: "mousecontinue",\n\t flavour: "continue",\n\t trigger: "mouse",\n\t setup: mouseSetup\n\t},\n\t// Cycle\n { name: "cycle",\n\t flavour: "cycle",\n\t trigger: "revisemacro",\n\t setup: revisionSetup\n\t},\n { name: "mousecycle",\n\t flavour: "cycle",\n\t trigger: "mouse",\n\t setup: mouseSetup\n\t},\n { name: "timedcycle",\n\t flavour: "cycle",\n\t trigger: "time",\n\t setup: timeSetup\n\t}\n ].forEach(function(e) {\n\t\te.handler = revisionSpanHandler;\n\t\te.shorthand = (["link", "mouse", "hover"].indexOf(e.trigger)>-1);\n\t\tmacros[e.name] = e;\n\t\tmacros['end' + e.name] = nullobj;\n\t\tbegintags.push(e.name);\n\t\tendtags.push('end'+e.name);\n });\n\n function reviseAll(rt, rname) {\n var rall = document.querySelectorAll(".passage ."+rname),\n\t ret = false;\n for (var i = 0; i < rall.length; i++) {\n ret = ret || revise(rt,rall[i]);\n\t}\n\treturn ret;\n }\n function revise(rt, r, notrans) {\n var ind2, curr, next,\n\t ind = -1,\n rev = (rt == "revert"),\n rnd = (rt.indexOf("random") > -1),\n\t fl = r.getAttribute("data-flavour"),\n\t rc = r.childNodes,\n\t cyc = (fl=="cycle"),\n\t rcl = rc.length - 1;\n\t \n function doToGainerSpans(n, fn) {\n for (var k = n - 1; k >= 0; k--) {\n if (rc[k + 1].classList.contains("gains")) {\n fn(rc[k],notrans);\n }\n else break;\n }\n }\n\n\t for (var k = 0; k <= rcl; k++) {\n\t\tif (rc[k].getAttribute("data-enabled") == "true") {\n\t\t ind = k;\n\t\t}\n\t }\n\t if (rev) {\n\t\tind -= 1;\n\t }\n\t curr = (ind >= 0 ? rc[ind] : (cyc ? rc[rcl] : null));\n\t ind2 = ind;\n\t if (rnd) {\n\t\tind2 = (ind + (Math.floor(Math.random() * rcl))) % rcl;\n\t } \n\t next = ((ind2 < rcl) ? rc[ind2+1] : (cyc ? rc[0] : null));\n\t var docurr = (rev ? showVer : hideVer);\n\t var donext = (rev ? hideVer : showVer);\n\t if (curr) {\n\t\tif (!(next && next.classList.contains("gains")) || rnd) {\n\t\t docurr(curr,notrans);\n\t\t doToGainerSpans(ind, docurr,notrans);\n\t\t}\n\t }\n\t if (next) {\n\t\tdonext(next,notrans);\n\t\tif (rnd) {\n\t\t doToGainerSpans(ind2+1, donext,notrans);\n\t\t}\n\t }\n\t return (cyc ? true : (rev ? (ind > 0) : (ind2 < rcl-1)));\n }\n\n macros['revert'] = macros['revise'] = macros['randomise'] = macros['randomize'] = {\n handler: function (a, b, c) {\n var l, rev, rname;\n function disableLink(l) {\n l.style.display = "none";\n }\n function enableLink(l) {\n l.style.display = "inline";\n }\n function updateLink(l) {\n if (l.className.indexOf("random") > -1) {\n enableLink(l);\n return;\n }\n var rall = document.querySelectorAll(".passage ."+rname),\n cannext, canprev, i, ind, r, fl;\n for (i = 0; i < rall.length; i++) {\n r = rall[i],\n\t\t fl = r.getAttribute("data-flavour");\n if (fl=="cycle") {\n cannext = canprev = true;\n }\n else {\n if (r.firstChild.getAttribute("data-enabled") == !1+"") {\n canprev = true;\n }\n if (r.lastChild.getAttribute("data-enabled") == !1+"") {\n\t\t\t cannext = true;\n\t\t\t}\n }\n }\n var can = (l.classList.contains("revert") ? canprev : cannext);\n (can ? enableLink : disableLink)(l);\n }\n function toggleText(w) {\n w.classList.toggle(rl + "Enabled");\n w.classList.toggle(rl + "Disabled");\n w.style.display = ((w.style.display == "none") ? "inline" : "none");\n }\n var rl = "reviseLink";\n if (c.length < 2) {\n throwError(a, b + ' macro needs 2 parameters');\n return;\n }\n rname = c.shift().replace(" ", "_");\n l = Wikifier.createInternalLink(a, null);\n l.className = "internalLink " + rl + " " + rl + "_" + rname + " " + b;\n var v = "";\n var end = false;\n var out = false;\n if(c.length>1 && c[0][0] == "$") {\n v = c[0].slice(1);\n c.shift();\n }\n switch(c[c.length - 1]) {\n case "end":\n end = true;\n c.pop();\n break;\n case "out":\n out = true;\n c.pop();\n break;\n }\n var h = state.history[0].variables;\n for(var i = 0; i < c.length; i++) {\n var on = (i == Math.max(c.indexOf(h[v]), 0));\n var d = insertElement(null, "span", null, rl + ((on) ? "En" : "Dis") + "abled");\n if(on) {\n h[v] = c[i];\n l.setAttribute("data-cycle", i);\n } else {\n d.style.display="none";\n }\n insertText(d, c[i]);\n l.appendChild(d);\n }\n l.onclick = function () {\n reviseAll(b, rname);\n var t = this.childNodes,\n u = this.getAttribute("data-cycle") - 0,\n m = t.length,\n\t\t n, lall, i;\n if((end || out) && u == m - (end ? 2 : 1)) {\n if (end) {\n n = this.removeChild(t[u + 1]);\n n.className = rl + "End";\n n.style.display = "inline";\n this.parentNode.replaceChild(n, this);\n } else {\n this.parentNode.removeChild(this);\n return;\n }\n } else {\n toggleText(t[u]);\n u = (u + 1) % m;\n if(v) {\n h[v] = c[u];\n }\n toggleText(t[u]);\n this.setAttribute("data-cycle", u);\n }\n lall = document.getElementsByClassName(rl + "_" + rname);\n for (i = 0; i < lall.length; i++) {\n updateLink(lall[i]);\n }\n };\n disableLink(l);\n setTimeout(function () {\n updateLink(l);\n }, 1);\n }\n }\n macros['mouserevise'] = macros['hoverrevise'] = {\n handler: function (a, b, c, d) {\n var endtags = ["end" + b];\n var t = tagcontents(d, [b], endtags, endtags, d.source.indexOf('>>', d.matchStart) + 2);\n if (t) {\n var rname = c[0].replace(" ", "_"),\n h = insertElement(a, "span", null, "hoverrevise hoverrevise_" + rname),\n\t\t f = function() {\n var done = !reviseAll("revise", rname);\n\t\t if (b != "hoverrevise" && done) {\n\t\t this.onmouseenter = null;\n\t\t }\n };\n\t\tnew Wikifier(h, t[0]);\n if (b == "hoverrevise") {\n\t\t h.onmouseover = f;\n\t\t h.onmouseout = function () {\n reviseAll("revert", rname);\n }\n\t\t} else {\n\t\t h.onmouseenter = f;\n\t\t}\n }\n }\n }\n macros['endmouserevise'] = nullobj;\n macros['endhoverrevise'] = nullobj;\n}());
Rape, Pillage, Makane!
He did not pass the maiden, but embraced her on the grass amidst her sheep. She was not one who could resist a knight, and none could have resisted Sir Makane, whose size was outmatched only by his strength. \n\nBeside the road, as Sir Makane wandered the land, he came upon a peasant locked in stocks. She must have been imprisoned for some time because she was a piteous sight with her body begrimed. Take mercy on me please, sir knight, she said.\n\n[[SLAY|2s]] / [[LAY|2l]]<<set $lay to $lay +1>>
version.extensions.timedgotoMacro={major:1,minor:1,revision:0};macros["goto"]=macros["timedgoto"]={timer:null,handler:function(a,b,c,d){\nfunction cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return Number(s.slice(0,-2))||0;\n}else{if(s.slice(-1).toLowerCase()=="s"){return Number(s.slice(0,-1))*1000||0;}}}throwError(a,s+" isn't a CSS time unit");\nreturn 0;}var t,d,m,s;t=c[c.length-1];d=d.fullArgs();m=0;if(b!="goto"){d=d.slice(0,d.lastIndexOf(t));\nm=cssTimeUnit(t);}d=eval(Wikifier.parse(d));if(d+""){if(this.timer){clearTimeout(this.timer);\n}s=state.history[0].passage.title;this.timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a);\n}},m);}}};
It did not take a minute for the knight to fall upon her in the flowerbed. She was much overcome and Sir Makane came much with such a handsome lady for his bedfellow. His seed he spilt in copious amounts to plant more blossoms where the lady had picked them, wishing not to leave the meadow he had plowed fallow, which would have been unknightly and undutiful.\n\nBut he had barely finished with the lady when another knight approached clad in black plate. What knight are you to lay my lady thus? said the black knight. I, who art a truer knight and pure, shall strike thee down!\n\n[[SLAY|4s]] / [[LAY|4l]]<<set $lay to $lay +1>>
She needn't have pleaded with him, because he would have ravished her in any case. He dropped his armor to the ground and bound his naked form to hers, thrusting upon the slab until its stone surface was slick with sweat and fluids more divine. And such love had the princess never known, for no man wields his sword with a knight's expertise.\n\nThese sights were what the monster met that crawled from its cavern, and when it saw its sacrifice despoiled it was wroth. It blew fire and raked the mountainside in a display to make the mightiest heart quake. \n\n[[SLAY|7s]] / [[LAY|7l]]<<set $lay to $lay +1>>
Her pleading gaze he answered with a gash across her eyes, driving his blade with force enough to cleave her skull and show the lobes therein, just as a pomegranate shows its pulp. He would not have desired her to perish in a baser way; far better to have been slain by a knight.\n\nThis sight was what the monster met that crawled from its cavern, and when it saw its sacrifice despoiled it was wroth. It blew fire and raked the mountainside in a display to make the mightiest heart quake. \n\n[[SLAY|7s]] / [[LAY|7l]]<<set $deadprincess to $deadprincess +1>><<set $slay to $slay +1>>
What words they spoke had no import when flattery, above all other vices, most offends a knight, and Sir Makane replied by running through both rulers on their thrones. He had not committed a treason, because he served his sacred weapon first, and every learned person will agree upon the loyalty he shewed.<<if $deadprincess is 0>> He did another kindness when he stabbed the princess to prevent her woe.<<endif>>\n\nAt which point none remained within the chamber but the cat who always sat to look upon the king and queen, in keeping with its station in the realm. It had not blinked at what it saw, and now it looked upon the knight.\n\n[[SLAY|10s]] / [[LAY|10l]]<<set $slay to $slay +1>>
/* Your story will use the CSS in this passage to style the page.\nGive this passage more tags, and it will only affect passages with those tags.\nExample selectors: */\n#sidebar { display: none; }\n \n#passages { margin-left: 15%; margin-top: 8%; margin-right: 10%; margin-bottom: 8%}\n\n#passages { border-left: 0px; padding-left: 0; }\n\n html, body { height:75%; margin-top: 0 50% !important; }\n #passages { display:table; height:100%; }\n .passage { display: table-cell; vertical-align:middle; }\n\n #passages { box-sizing:border-box; padding: 0% } .passage { text-align:left; }\n\n.passage { max-width:100%; }\n\nbody {\n\t/* This affects the entire page */\n\t\n\t\n}\n.passage {font-size:1.75em;\n\t/* This only affects passages */\n\t\n\t\n}\n.passage a { color: #880000\n\t/* This affects passage links */\n\t\n\t\n}\n.passage a:hover { color: #E00000\n\t/* This affects links while the cursor is over them */\n\n}\n.passage a {\n}\n\n#passages p {\n text-indent: 2.5em;\n}\n\n#passages r {\n\ttext-align: right;\n}
Mercy is what Sir Makane took when he put his sword into the peasant's throat for a scabbard, and when he pulled it out down came the crows to make themselves a feast. Death is a criminal's only mercy, as every knight knows well who calls himself a knight.\n\nIn a green meadow, where ladies often came to gather flowers in the spring, a lady rode upon a white palfrey. This lady was without her chaperone, having taken the fancy to canter ahead, and had already woven a garland when Sir Makane discovered her in the blossoms.\n\n[[SLAY|3s]] / [[LAY|3l]]<<set $slay to $slay +1>>
version.extensions.timedgotoMacro={major:1,minor:1,revision:0};macros["goto"]=macros["timedgoto"]={timer:null,handler:function(a,b,c,d){\nfunction cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return Number(s.slice(0,-2))||0;\n}else{if(s.slice(-1).toLowerCase()=="s"){return Number(s.slice(0,-1))*1000||0;}}}throwError(a,s+" isn't a CSS time unit");\nreturn 0;}var t,d,m,s;t=c[c.length-1];d=d.fullArgs();m=0;if(b!="goto"){d=d.slice(0,d.lastIndexOf(t));\nm=cssTimeUnit(t);}d=eval(Wikifier.parse(d));if(d+""){if(this.timer){clearTimeout(this.timer);\n}s=state.history[0].passage.title;this.timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a);\n}},m);}}};
Sir Makane clashed with the black knight, who was not true no matter what he said, and being false was destined to lose any knightly contest. His blade was like butter to Sir Makane's blade, and his armor was also butter, but his flesh was fine sirloin when Sir Makane's sword bit into its marrow depths. \n\nThen Sir Makane did travel into mountainous terrain, where beasts fill their lairs with bones from dead knights and no man treads fearless. But Sir Makane was not afraid. He found shelter within a nunnery whose abbess had deprived the world great beauty with her vows.\n\n[[SLAY|5s]] / [[LAY|5l]]<<set $slay to $slay +1>>
version.extensions.timedgotoMacro={major:1,minor:1,revision:0};macros["goto"]=macros["timedgoto"]={timer:null,handler:function(a,b,c,d){\nfunction cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return Number(s.slice(0,-2))||0;\n}else{if(s.slice(-1).toLowerCase()=="s"){return Number(s.slice(0,-1))*1000||0;}}}throwError(a,s+" isn't a CSS time unit");\nreturn 0;}var t,d,m,s;t=c[c.length-1];d=d.fullArgs();m=0;if(b!="goto"){d=d.slice(0,d.lastIndexOf(t));\nm=cssTimeUnit(t);}d=eval(Wikifier.parse(d));if(d+""){if(this.timer){clearTimeout(this.timer);\n}s=state.history[0].passage.title;this.timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a);\n}},m);}}};
Both knights battled, but hardly had their battle raged when Sir Makane was hard, bent the black knight, and buggered him. In love as in war Sir Makane was stronger and to his opponent he would not grant any quarter. Such dominance left the black knight more battered than combat, and gave Sir Makane greater satisfaction.\n\nThen Sir Makane did travel into mountainous terrain, where beasts fill their lairs with bones from dead knights and no man treads fearless. But Sir Makane was not afraid. He found shelter within a nunnery whose abbess had deprived the world great beauty with her vows.\n\n[[SLAY|5s]] / [[LAY|5l]]<<set $lay to $lay +1>>
Sir Makane took her from behind instead. She had been taken in such wise before, but no other traveler who took her had been named a knight; and had some other perhaps been a knight, none could have pleased her as deeply as Sir Makane, because there was no knight as noble nor as attractive.\n\nIn a green meadow, where ladies often came to gather flowers in the spring, a lady rode upon a white palfrey. This lady was without her chaperone, having taken the fancy to canter ahead, and had already woven a garland when Sir Makane discovered her in the blossoms.\n\n[[SLAY|3s]] / [[LAY|3l]]<<set $lay to $lay +1>>
"Rape, Pillage, Makane!" is copyright 2015 by Chandler Groover. It may be distributed for free, but not sold or included in any \nfor-profit collection without written permission from the author. \n\nIt was written for the 34th Ludum Dare's Two Button Challenge and directly inspired by Kristian Kirsfeldt's 2002 game "Rape, Pillage, Galore!" For that reason, I call it a galorelike.\n\n\n