DEFINITELY NOT ANYTHING RELATED TO GEARS OF WAR
xax
<div id="notes">[[CONTENT NOTES|notes]]</div>\n<<display init>>\n[[character creation]]
i mean, nothing so far besides some salacious character-creation options, but presumably:\n* gay sex\n* gay sex with monsters\n* transformation\n* threesomes, gangbangs, etc\n* oviposition / impreg / birthing\n* fisting\n* rough sex\n* basically anything that happens in gow.html could happen in this\n[[back|Start]]
yr a human, living in the desolate desert outpost of {town}. when the sands spread and the {locust} rose, yr grandparents were among those left to fend for themselves outside the walls.\n\n{town}, like most desert outposts of any size, is mostly water-farming with some hardscrabble grains besides. it's out in the low desert, further than most human encampments -- easily within the domain of the great beasts, and only a few days travel from the acid flats. groups of {locust} travel through, about twice a year, to restock on long desert travels, and they trade exotic materials for yr water. human travellers from the cities are much rarer and less eagerly greeted.\n\nyr a scavenger. you go out into the wild lands to hunt for artifacts of the old order.\n\n<span class="meta">choose your initial mutations\nyou have <<block pts>><<print $ccpts>><<endblock>> mutation point<<block pts>><<print $ccpts == 1 ? "" : "s">><<endblock>>\n(mutation level: <<block pts>><<print $mutation>><<endblock>>/10)</span>\n\n* <<block pure>><<if $mutation == 0>>yr an unaltered human, comparatively-untouched by the {imulsion} in the water and dust<<endif>><<endblock>>\n* <<cycle buff>>\\n<<rmmutation "buff">><span class="meta">body \\n<<block outofpoints>><<if $ccpts == 0>>+<<else>><<revise buff "+">><<endif>><<endblock>></span>\\n<<becomes>>\\n<<addmutation "buff">>yr bigger and more muscular than most other humans, w/ blistered scales starting to show across yr shoulders and back\\n<span class="meta"><<revert buff "-">></span>\\n<<endcycle>>\\n\n* <<cycle leaky>>\\n<<rmmutation "leaky">><span class="meta">nipples \\n<<block outofpoints>><<if $ccpts == 0>>+<<else>><<revise leaky "+">><<endif>><<endblock>></span>\\n<<becomes>>\\n<<addmutation "leaky">>you've helped {locust} incubate their eggs before, & yr nipples are giant and fat, leaking milky ichor at the slightest touch\\n<span class="meta"><<revert leaky "-">></span>\\n<<endcycle>>\\n\n* <<cycle dick>>\\n<<rmmutation "dick">><span class="meta">dick \\n<<block outofpoints>><<if $ccpts == 0>>+<<else>><<revise dick "+">><<endif>><<endblock>></span>\\n<<becomes>>\\n<<rmmutation "knot">><<addmutation "dick">>you got a {locust} dick, green-grey and covered in knobbled warts, eagerly oozing slimy yellowish pre\\n<span class="meta"><<revert dick "-">> knot <<block outofpoints>><<if $ccpts == 0>>+<<else>><<revise dick "+">><<endif>><<endblock>></span>\\n<<becomes>>\\n<<rmmutation "dick">><<addmutation "knot">>yr friends w/ a giant beast of the deep wasteland, & over time its seed has transformed yr cock into a miniature of its own: raw purple-black flesh stored in a leathery sheath, coming to a sharp tip, w/ a tentacle-fringed knot at the base\\n<span class="meta"><<revert dick "-">></span>\\n<<endcycle>>\\n\n* <<cycle balls>>\\n<<rmmutation "balls">><span class="meta">balls \\n<<block outofpoints>><<if $ccpts == 0>>+<<else>><<revise balls "+">><<endif>><<endblock>></span>\\n<<becomes>>\\n<<addmutation "balls">>yr balls are enormous, lumpy and misshapen in an oversized sac drawn up tight b/t yr thighs. you cum {locust} cum, thick and grey-green, with gritty chunks\\n<span class="meta"><<revert balls "-">></span>\\n<<endcycle>>\\n\n* <<cycle asshole>>\\n<<rmmutation "asshole">><span class="meta">ass \\n<<block outofpoints>><<if $ccpts == 0>>+<<else>><<revise asshole "+">><<endif>><<endblock>></span>\\n<<becomes>>\\n<<addmutation "asshole">>you got an altered asshole, constantly swollen and puffy, w/ the skin of yr hole and fat asscheeks dappling into supple, rubbery grey-black hide\\n<span class="meta"><<revert asshole "-">></span>\\n<<endcycle>>\n\n[[-->|intro]]
<<if $mutations.length == 0>><<addmutation "pure">><<endif>>\\nmutation: <<print $mutation>>\nmutations: <<print $mutations>>
@font-face {\n font-family: 'Quicksand Regular';\n font-style: normal;\n font-weight: 400;\n src: local('Quicksand Regular'), local('Quicksand-Regular'), url(http://tzaphiriron.sidemoon.net/static/misc/Quicksand_Regular.ttf) format('truetype');\n}\nhtml, body {\n font-family: 'Quicksand Regular', sans-serif;\n font-size: 13pt;\n min-height: 100%;\n overflow: auto;\n}\nbody, #passages, .passage {\n margin: 0;\n padding: 0;\n min-height: 100%;\n}\n#passages, .passage { overflow: hidden; }\n\n#passages { margin: 3em 6em 0 3em; }\n\n#sidebar { display: none; }\n#passages { border-left: none; font-size: inherit; }\n.passage { font-size: inherit; }\n.passage li { margin-right: 45%; }\n\n#notes {\n display: block;\n position: fixed;\n bottom: 0;\n right: 3em;\n width: 15em;\n height: 3em;\n line-height: 3em;\n text-align: center;\n background: #f09;\n background: -webkit-linear-gradient(bottom, #f09, transparent);\n background: -moz-linear-gradient(bottom, #f09, transparent);\n background: linear-gradient(bottom, #f09, transparent);\n}\n#notes a { color: #000; }\n\n\n.meta {\n display: block;\n float: right;\n width: 45%;\n color: #aaa;\n clear: right;\n}\nli .meta { margin-right: -45%; }\n\n.revision-span-in { opacity: 0; }\n.revision-span:not(.revision-span-out) { transition: 1s; -webkit-transition: 1s; }\n.revision-span-out { position:absolute; opacity: 0; }\n\n.blockSpan { -webkit-transition: 1s; transition: 1s; }\n.blockSpanIn { opacity: 0; -webkit-transition: 0; transition: 0; }\n\n#passages .passage a {\n transition: 0.25s;\n -webkit-transition: 0.25s;\n}\n.passage a:link, .passage a:visited, .passage a {\n color: #f09;\n text-decoration: none;\n}\n.passage a:hover, .passage a:active {\n color: #f9c;\n text-decoration: none;\n}
<<set reshow (parameter(0))>>
<<nobr>>\n<<set $mutations = []>>\n<<set $mutation = 0>>\n<<set $mutvals =\n { "buff": 1\n , "leaky": 1\n , "dick": 1\n , "knot": 2\n , "balls": 1\n , "asshole": 1\n , "pure": 0\n }>>\n<<set $ccpts = 2>>\n<<endnobr>>
<<nobr>>\n<<set $_l to parameter(0)>>\n<<if $mutations.indexOf($_l) != -1>>\n<<set $_ to $mutations.splice($mutations.indexOf($_l), 1)>>\n<<set $mutation -= $mutvals[$_l]>><<set $ccpts += $mutvals[$_l]>>\n<<reshow "pts">><<reshow "pure">>\n<<if $ccpts > 0>><<reshow "outofpoints">><<endif>>\n<<endif>>\n<<endnobr>>
<<nobr>>\n<<set $_l to parameter(0)>>\n<<if $mutations.indexOf($_l) == -1>>\n<<set $_ = $mutations.push ($_l)>>\n<<set $mutation += $mutvals[$_l]>><<set $ccpts -= $mutvals[$_l]>>\n<<reshow "pts">><<reshow "pure">>\n<<if $ccpts == 0>><<reshow "outofpoints">><<endif>>\n<<endif>>\n<<endnobr>>
function innercontent(tag, parser) {\n var\n i,\n textbegin = parser.source.indexOf(">>",parser.matchStart)+2,\n textend = -1,\n text = parser.source.slice(textbegin),\n depth = 0;\n for (i = 0; i < text.length; i++) {\n if (text.substr(i,tag.length + 5) === ("<<end" + tag)) {\n if(depth===0){\n textend=textbegin+i;\n break;\n }else{\n depth--;\n }\n } else if (text.substr(i,tag.length + 2) === ("<<" + tag)) {\n depth++;\n }\n }\n if (textend === -1) {\n throwError(place,"can't find matching end"+tag,parser.fullMatch())\n return;\n }\n return [textbegin, textend];\n}\n\nmacros.block = {\n handler: function (place, macroName, params, parser) {\n var class_ = params[0][0] == "$"\n ? eval(Wikifier.parse(params[0]))\n : params[0];\n var block = insertElement (null, "span", null, "blockSpan " + class_.replace(" ", "_"));\n var inner_index = innercontent ("block", parser);\n block.tweecode = parser.source.slice(inner_index[0], inner_index[1]);\n parser.nextMatch=inner_index[1];\n place.insertBefore(block,null);\n new Wikifier(block, block.tweecode);\n }\n};\nmacros.endblock = { handler: function () {}}\n\nwindow.reshow = function (name) {\n console.log ("reshow:" + name);\n var\n rall=document.querySelectorAll(".passage .blockSpan." + name.replace(" ", "_")),\n ret=false;\n for(var i=0;i<rall.length;i++){\n ret=reshowOne(rall[i]);\n }\n return ret;\n}\n\nfunction reshowOne (target) {\n target.innerHTML="";\n new Wikifier(target,target.tweecode);\n target.classList.add("blockSpanIn");\n if(target.timeout){\n clearTimeout(target.timeout);\n }\n target.timeout=setTimeout(\n function(){\n target.classList.remove("blockSpanIn");\n },\n 1);\n}
(function(){version.extensions.replaceMacrosCombined={major:1,minor:1,revision:2};var nullobj={handler:function(){}};function showVer(n,notrans){if(!n){return\n}n.innerHTML="";new Wikifier(n,n.tweecode);n.setAttribute("data-enabled","true");n.style.display="inline";n.classList.remove("revision-span-out");\nif(!notrans){n.classList.add("revision-span-in");if(n.timeout){clearTimeout(n.timeout)}n.timeout=setTimeout(function(){n.classList.remove("revision-span-in");\nn=null},1)}}function hideVer(n,notrans){if(!n){return}n.setAttribute("data-enabled","false");n.classList.remove("revision-span-in");\nif(n.timeout){clearTimeout(n.timeout)}if(!notrans){n.classList.add("revision-span-out");n.timeout=setTimeout(function(){if(n.getAttribute("data-enabled")=="false"){n.classList.remove("revision-span-out");\nn.style.display="none";n.innerHTML=""}n=null},1000)}else{n.style.display="none";n.innerHTML="";n=null}}function tagcontents(b,starttags,desttags,endtags,k){var l=0,c="",tg,a,i;\nfunction tagfound(i,e){for(var j=0;j<e.length;j++){if(a.indexOf("<<"+e[j],i)==i){return e[j]}}}a=b.source.slice(k);for(i=0;\ni<a.length;i++){if(tg=tagfound(i,starttags)){l++}else{if((tg=tagfound(i,desttags))&&l==0){b.nextMatch=k+i+tg.length+4;return[c,tg]\n}else{if(tg=tagfound(i,endtags)){l--;if(l<0){return null}}}}c+=a.charAt(i)}return null}var begintags=[];var endtags=[];function revisionSpanHandler(g,e,f,b){var k=b.source.indexOf(">>",b.matchStart)+2,vsns=[],vtype=e,flen=f.length,becomes,c,cn,m,h,vsn;\nfunction mkspan(vtype){h=insertElement(m,"span",null,"revision-span "+vtype);h.setAttribute("data-enabled",false);h.style.display="none";\nh.tweecode="";return h}if(this.shorthand&&flen){while(f.length>0){vsns.push([f.shift(),(this.flavour=="insert"?"gains":"becomes")])\n}}else{if(this.flavour=="insert"||(this.flavour=="continue"&&this.trigger=="time")){vsns.push(["","becomes"])}}if(this.flavour=="continue"&&flen){b.nextMatch=k+b.source.slice(k).length;\nvsns.push([b.source.slice(k),vtype])}else{becomes=["becomes","gains"];c=tagcontents(b,begintags,becomes.concat(endtags),endtags,k);\nif(c&&endtags.indexOf(c[1])==-1){while(c){vsns.push(c);c=tagcontents(b,begintags,becomes,endtags,b.nextMatch)}c=tagcontents(b,begintags,["end"+e],endtags,b.nextMatch)\n}if(!c){throwError(g,"can't find matching end"+e);return}vsns.push(c);if(this.flavour=="continue"){k=b.nextMatch;b.nextMatch=k+b.source.slice(k).length;\nvsns.push([b.source.slice(k),""])}}if(this.flavour=="remove"){vsns.push(["","becomes"])}cn=0;m=insertElement(g,"span",null,e);\nm.setAttribute("data-flavour",this.flavour);h=mkspan("initial");vsn=vsns.shift();h.tweecode=vsn[0];showVer(h,true);while(vsns.length>0){if(vsn){vtype=vsn[1]\n}vsn=vsns.shift();h=mkspan(vtype);h.tweecode=vsn[0]}if(typeof this.setup=="function"){this.setup(m,g,f)}}function quantity(m){return(m.children.length-1)+(m.getAttribute("data-flavour")=="remove")\n}function revisionSetup(m,g,f){m.className+=" "+f[0].replace(" ","_")}function keySetup(m,g,f){var fl=this.flavour,key=f[0];\nm.setEventListener("keydown",function l(e){var done=!revise("revise",m);if(done){m.removeEventListener("keydown",l)}})}function timeSetup(m,g,f){function 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(g,s+" isn't a CSS time unit");\nreturn 0}var fl=this.flavour;var tm=cssTimeUnit(f[0]);setTimeout(function timefn(){var done=!revise("revise",m);if(!done){setTimeout(timefn,tm)\n}},tm)}function hoverSetup(m){var fn,noMouseEnter=(document.head.onmouseenter!==null);m.onmouseenter=function(){revise("revise",this)\n};m.onmouseleave=function(){revise("revert",this)};if(noMouseEnter){fn=function(n){return function(e){if(!event.relatedTarget||(event.relatedTarget!=this&&!(this.compareDocumentPosition(event.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY))){this[n]()\n}}};m.onmouseover=fn("onmouseenter");m.onmouseout=fn("onmouseleave")}m=null}function mouseSetup(m){var fl=this.flavour,evt=(document.head.onmouseenter===null?"onmouseenter":"onmouseover");\nm[evt]=function(){var done=!revise("revise",this);if(done){this[evt]=null}};m=null}function linkSetup(m,g,f){var fl=this.flavour,l=Wikifier.createInternalLink(),p=m.parentNode;\nl.className="internalLink replaceLink";p.insertBefore(l,m);l.insertBefore(m,null);l.onclick=function(){var p,done=false;if(m&&m.parentNode==this){done=!revise("revise",m);\nscrollWindowTo(m)}if(done){this.parentNode.insertBefore(m,this);this.parentNode.removeChild(this)}};l=null}function visitedSetup(m,g,f){var i,done,shv=state.history[0].variables,os="once seen",d=(m.firstChild&&(this.flavour=="insert"?m.firstChild.nextSibling:m.firstChild).tweecode);\nshv[os]=shv[os]||{};if(d&&!shv[os].hasOwnProperty(d)){shv[os][d]=1}else{for(i=shv[os][d];i>0&&!done;i--){done=!revise("revise",m,true)\n}if(shv[os].hasOwnProperty(d)){shv[os][d]+=1}}}[{name:"insert",flavour:"insert",trigger:"link",setup:linkSetup},{name:"timedinsert",flavour:"insert",trigger:"time",setup:timeSetup},{name:"insertion",flavour:"insert",trigger:"revisemacro",setup:revisionSetup},{name:"later",flavour:"insert",trigger:"visited",setup:visitedSetup},{name:"keyinsert",flavour:"insert",trigger:"key",setup:keySetup},{name:"replace",flavour:"replace",trigger:"link",setup:linkSetup},{name:"timedreplace",flavour:"replace",trigger:"time",setup:timeSetup},{name:"mousereplace",flavour:"replace",trigger:"mouse",setup:mouseSetup},{name:"hoverreplace",flavour:"replace",trigger:"hover",setup:hoverSetup},{name:"revision",flavour:"replace",trigger:"revisemacro",setup:revisionSetup},{name:"keyreplace",flavour:"replace",trigger:"key",setup:keySetup},{name:"timedremove",flavour:"remove",trigger:"time",setup:timeSetup},{name:"mouseremove",flavour:"remove",trigger:"mouse",setup:mouseSetup},{name:"hoverremove",flavour:"remove",trigger:"hover",setup:hoverSetup},{name:"removal",flavour:"remove",trigger:"revisemacro",setup:revisionSetup},{name:"once",flavour:"remove",trigger:"visited",setup:visitedSetup},{name:"keyremove",flavour:"remove",trigger:"key",setup:keySetup},{name:"continue",flavour:"continue",trigger:"link",setup:linkSetup},{name:"timedcontinue",flavour:"continue",trigger:"time",setup:timeSetup},{name:"mousecontinue",flavour:"continue",trigger:"mouse",setup:mouseSetup},{name:"keycontinue",flavour:"continue",trigger:"key",setup:keySetup},{name:"cycle",flavour:"cycle",trigger:"revisemacro",setup:revisionSetup},{name:"mousecycle",flavour:"cycle",trigger:"mouse",setup:mouseSetup},{name:"timedcycle",flavour:"cycle",trigger:"time",setup:timeSetup},{name:"keycycle",flavour:"replace",trigger:"key",setup:keySetup}].forEach(function(e){e.handler=revisionSpanHandler;\ne.shorthand=(["link","mouse","hover"].indexOf(e.trigger)>-1);macros[e.name]=e;macros["end"+e.name]=nullobj;begintags.push(e.name);\nendtags.push("end"+e.name)});function insideDepartingSpan(elem){var r=elem.parentNode;while(!r.classList.contains("passage")){if(r.classList.contains("revision-span-out")){return true\n}r=r.parentNode}}function reviseAll(rt,rname){var rall=document.querySelectorAll(".passage ."+rname),ret=false;for(var i=0;\ni<rall.length;i++){if(!insideDepartingSpan(rall[i])){ret=revise(rt,rall[i])||ret}}return ret}function revise(rt,r,notrans){var ind2,curr,next,ind=-1,rev=(rt=="revert"),rnd=(rt.indexOf("random")>-1),fl=r.getAttribute("data-flavour"),rc=r.childNodes,cyc=(fl=="cycle"),rcl=rc.length-1;\nfunction doToGainerSpans(n,fn){for(var k=n-1;k>=0;k--){if(rc[k+1].classList.contains("gains")){fn(rc[k],notrans)}else{break\n}}}for(var k=0;k<=rcl;k++){if(rc[k].getAttribute("data-enabled")=="true"){ind=k}}if(rev){ind-=1}curr=(ind>=0?rc[ind]:(cyc?rc[rcl]:null));\nind2=ind;if(rnd){ind2=(ind+(Math.floor(Math.random()*rcl)))%rcl}next=((ind2<rcl)?rc[ind2+1]:(cyc?rc[0]:null));var docurr=(rev?showVer:hideVer);\nvar donext=(rev?hideVer:showVer);var currfn=function(){if(!(next&&next.classList.contains("gains"))||rnd){docurr(curr,notrans);\ndoToGainerSpans(ind,docurr,notrans)}};var nextfn=function(){donext(next,notrans);if(rnd){doToGainerSpans(ind2+1,donext,notrans)\n}};if(!rev){currfn();nextfn()}else{nextfn();currfn()}return(cyc?true:(rev?(ind>0):(ind2<rcl-1)))}macros.revert=macros.revise=macros.randomise=macros.randomize={handler:function(a,b,c){var l,rev,rname;\nfunction disableLink(l){l.style.display="none"}function enableLink(l){l.style.display="inline"}function updateLink(l){if(l.className.indexOf("random")>-1){enableLink(l);\nreturn}var rall=document.querySelectorAll(".passage ."+rname),cannext,canprev,i,ind,r,fl;for(i=0;i<rall.length;i++){r=rall[i],fl=r.getAttribute("data-flavour");\nif(insideDepartingSpan(r)){continue}if(fl=="cycle"){cannext=canprev=true}else{if(r.firstChild.getAttribute("data-enabled")==!1+""){canprev=true\n}if(r.lastChild.getAttribute("data-enabled")==!1+""){cannext=true}}}var can=(l.classList.contains("revert")?canprev:cannext);\n(can?enableLink:disableLink)(l)}function toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}var rl="reviseLink";if(c.length<2){throwError(a,b+" macro needs 2 parameters");\nreturn}rname=c.shift().replace(" ","_");l=Wikifier.createInternalLink(a,null);l.className="internalLink "+rl+" "+rl+"_"+rname+" "+b;\nvar v="";var end=false;var out=false;if(c.length>1&&c[0][0]=="$"){v=c[0].slice(1);c.shift()}switch(c[c.length-1]){case"end":end=true;\nc.pop();break;case"out":out=true;c.pop();break}var h=state.history[0].variables;for(var i=0;i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));\nvar d=insertElement(null,"span",null,rl+((on)?"En":"Dis")+"abled");if(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"\n}insertText(d,c[i]);l.appendChild(d)}l.onclick=function(){reviseAll(b,rname);var t=this.childNodes,u=this.getAttribute("data-cycle")-0,m=t.length,n,lall,i;\nif((end||out)&&u==m-(end?2:1)){if(end){n=this.removeChild(t[u+1]);n.className=rl+"End";n.style.display="inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}}else{toggleText(t[u]);u=(u+1)%m;if(v){h[v]=c[u]}toggleText(t[u]);this.setAttribute("data-cycle",u)\n}lall=document.getElementsByClassName(rl+"_"+rname);for(i=0;i<lall.length;i++){updateLink(lall[i])}};l=null}};macros.mouserevise=macros.hoverrevise={handler:function(a,b,c,d){var endtags=["end"+b],evt=(window.onmouseenter===null?"onmouseenter":"onmouseover"),t=tagcontents(d,[b],endtags,endtags,d.source.indexOf(">>",d.matchStart)+2);\nif(t){var rname=c[0].replace(" ","_"),h=insertElement(a,"span",null,"hoverrevise hoverrevise_"+rname),f=function(){var done=!reviseAll("revise",rname);\nif(b!="hoverrevise"&&done){this[evt]=null}};new Wikifier(h,t[0]);if(b=="hoverrevise"){h.onmouseover=f;h.onmouseout=function(){reviseAll("revert",rname)\n}}else{h[evt]=f}h=null}}};macros.instantrevise={handler:function(a,b,c,d){reviseAll("revise",c[0].replace(" ","_"))}};macros.endmouserevise=nullobj;\nmacros.endhoverrevise=nullobj}());
window.reshowAll=function reshowAll(e){var t=document.querySelectorAll(".passage ."+e.replace(" ","_")),n=false;for(var r=0;r<t.length;r++){n=reshow(t[r])}return n};function reshow(e){e.innerHTML="";new Wikifier(e,e.tweecode);e.classList.remove("revision-span-out");e.classList.add("revision-span-in");if(e.timeout){clearTimeout(e.timeout)}e.timeout=setTimeout(function(){e.classList.remove("revision-span-in")},1)}macros.pane={handler:function(place,macroName,params,parser){var name=params[0][0]=="$"?eval(Wikifier.parse(params[0])):params[0];var passage=params[1][0]=="$"?eval(Wikifier.parse(params[1])):params[1];var pane=document.createElement("span");var contents=document.createElement("span");pane.id=name.replace(" ","_");contents.className=" "+name.replace(" ","_");contents.tweecode='<<set $_ to $_current.push ("'+name+'")>><<display $_'+name+">><<set $_ to $_current.pop()>>";var h=state.history[0].variables;h["_"+name]=passage;if(typeof h._current=="undefined"){h._current=[]}pane.insertBefore(contents,null);place.insertBefore(pane,null);new Wikifier(contents,contents.tweecode)}};macros.link=macros.linkTo={handler:function(place,macroName,params,parser){var to,text,target;var h=state.history[0].variables;if(typeof h._current=="undefined"){h._current=[]}if(macroName=="link"){if(params.length<2){throwError(place,macroName+" macro needs 2 parameters");return}to=params[0][0]=="$"?eval(Wikifier.parse(params[0])):params[0];text=params[1][0]=="$"?eval(Wikifier.parse(params[1])):params[1];target=h._current[h._current.length-1]}else{if(params.length<3){throwError(place,macroName+" macro needs 3 parameters");return}target=params[0][0]=="$"?eval(Wikifier.parse(params[0])):params[0];to=params[1][0]=="$"?eval(Wikifier.parse(params[1])):params[1];text=params[2][0]=="$"?eval(Wikifier.parse(params[2])):params[2]}var link=Wikifier.createInternalLink();link.className="internalLink paneLink";link.id=to;link.insertBefore(document.createTextNode(text),null);link.onclick=function(){h["_"+target]=to;reshowAll(target)};place.insertBefore(link,null)}};macros.linkMany={handler:function(place,macroName,params,parser){if(params.length<3||params.length%2!=1){throwError(place,macroName+": invalid args, needs [pane passage...] link text");return}var h=state.history[0].variables;if(typeof h._current=="undefined"){h._current=[]}var text=params[params.length-1][0]=="$"?eval(Wikifier.parse(params[params.length-1])):params[params.length-1];var to,target;var link=Wikifier.createInternalLink();link.className="internalLink paneLink";link.insertBefore(document.createTextNode(text),null);link.onclick=function(){while(params.length!=1){target=params.shift();target=text[0]=="$"?eval(Wikifier.parse(target)):target;to=params.shift();to=to[0]=="$"?eval(Wikifier.parse(to)):to;h["_"+target]=to;reshowAll(target)}};place.insertBefore(link,null)}}