CINXE.COM

Homestuck (Webcomic) - TV Tropes

<!DOCTYPE html> <html> <head lang="en"> <link rel="alternate" type="application/rss+xml" href="https://tvtropes.org/pmwiki/rss-feed.php?filter=newest_pages" /> <link rel="alternate" type="application/rss+xml" href="https://tvtropes.org/pmwiki/rss-feed.php?filter=most_popular" /> <link rel="alternate" type="application/rss+xml" href="https://tvtropes.org/pmwiki/rss-feed.php?filter=updated_content" /> <link rel="preload" href="/images/loading-graphic.png" as="image"> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-XPPLXMRF6Z"></script> <script> var pbjs = pbjs || {}; // Used for Video players on Tropes var tropes_videos_commands = tropes_videos_commands || []; window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XPPLXMRF6Z'); window.googletag = window.googletag || {cmd: []}; </script> <script> function object(objectId) { if (document.getElementById && document.getElementById(objectId)) { return document.getElementById(objectId); } else if (document.all && document.all(objectId)) { return document.all(objectId); } else if (document.layers && document.layers[objectId]) { return document.layers[objectId]; } else { return false; } } // JAVASCRIPT COOKIES CODE: for getting and setting user viewing preferences var cookies = { create: function (name, value, days2expire, path) { var date = new Date(); date.setTime(date.getTime() + (days2expire * 24 * 60 * 60 * 1000)); var expires = date.toUTCString(); document.cookie = name + '=' + value + ';' + 'expires=' + expires + ';domain=.tvtropes.org;' + 'path=' + path + ';'; }, createWithExpire: function(name, value, expires, path) { document.cookie = name + '=' + value + ';' + 'expires=' + expires + ';domain=.tvtropes.org;' + 'path=' + path + ';'; }, read: function (name) { var cookie_value = "", current_cookie = "", name_expr = name + "=", all_cookies = document.cookie.split(';'), n = all_cookies.length; for (var i = 0; i < n; i++) { current_cookie = all_cookies[i].trim(); if (current_cookie.indexOf(name_expr) === 0) { cookie_value = current_cookie.substring(name_expr.length, current_cookie.length); break; } } return cookie_value; }, update: function (name, val) { this.create(name, val, 300, "/"); }, remove: function (name) { //delete cookie with and without domain setting document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=.tvtropes.org; path=/;"; document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/;"; } }; function updateUserPrefs() { //GENERAL: detect and set browser, if not cookied (will be treated like a user-preference and added to the #user-pref element) if( !cookies.read('user-browser') ){ var broswer = ''; if(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) ){ browser = 'iOS'; } else if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { browser = 'opera'; } else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { browser = 'MSIE'; } else if (/Navigator[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { browser = 'netscape'; } else if (/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { browser = 'chrome'; } else if (/Safari[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { browser = 'safari'; /Version[\/\s](\d+\.\d+)/.test(navigator.userAgent); browserVersion = new Number(RegExp.$1); } else if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { browser = 'firefox'; } else { browser = 'internet_explorer'; } cookies.create('user-browser',browser,1,'/'); document.getElementById('user-prefs').classList.add('browser-' + browser); } else { document.getElementById('user-prefs').classList.add('browser-' + cookies.read('user-browser')); } //update user preference settings if (cookies.read('wide-load') !== '') document.getElementById('user-prefs').classList.add('wide-load'); if (cookies.read('mono-font') !== '') document.getElementById('user-prefs').classList.add('mono-font'); if (cookies.read('night-vision') !== '') document.getElementById('user-prefs').classList.add('night-vision'); if (cookies.read('sticky-header') !== '') document.getElementById('user-prefs').classList.add('sticky-header'); if (cookies.read('show-spoilers') !== '') document.getElementById('user-prefs').classList.add('show-spoilers'); if (cookies.read('tvtropes-editor-on') !== '') document.getElementById('user-prefs').classList.add('tvtropes-editor-on'); if (cookies.read('folders-open') !== '') document.getElementById('user-prefs').classList.add('folders-open'); if (cookies.read('lefthand-sidebar') !== '') document.getElementById('user-prefs').classList.add('lefthand-sidebar'); if (cookies.read('highlight-links') !== '') document.getElementById('user-prefs').classList.add('highlight-links'); if (cookies.read('forum-gingerbread') !== '') document.getElementById('user-prefs').classList.add('forum-gingerbread'); //if the user is logged in, update cookies based on their database settings //updates element if(cookies.read('shared-avatars') !== '') document.getElementById('user-prefs').classList.add('shared-avatars'); if(cookies.read('new-search') !== '') document.getElementById('user-prefs').classList.add('new-search'); if(cookies.read('stop-auto-play-video') !== '') document.getElementById('user-prefs').classList.add('stop-auto-play-video'); //desktop view on mobile if (cookies.read('desktop-on-mobile') !== ''){ document.getElementById('user-prefs').classList.add('desktop-on-mobile'); var viewport = document.querySelector("meta[name=viewport]"); viewport.setAttribute('content', 'width=1000'); } } function updateDesktopPrefs() { if (cookies.read('wide-load') !== '') document.getElementById('sidebar-toggle-wideload').classList.add('active'); if (cookies.read('night-vision') !== '') document.getElementById('sidebar-toggle-nightvision').classList.add('active'); if (cookies.read('sticky-header') !== '') document.getElementById('sidebar-toggle-stickyheader').classList.add('active'); if (cookies.read('show-spoilers') !== '') document.getElementById('sidebar-toggle-showspoilers').classList.add('active'); } function updateMobilePrefs() { if (cookies.read('show-spoilers') !== '') document.getElementById('mobile-toggle-showspoilers').classList.add('active'); if (cookies.read('night-vision') !== '') document.getElementById('mobile-toggle-nightvision').classList.add('active'); if (cookies.read('sticky-header') !== '') document.getElementById('mobile-toggle-stickyheader').classList.add('active'); if (cookies.read('highlight-links') !== '') document.getElementById('mobile-toggle-highlightlinks').classList.add('active'); } function is_mobile() { if(document.body.clientWidth && document.body.clientWidth<=768) return true; else return false; } </script> <script type="text/javascript"> var country_code_list = ['AT','BE','BG','CH','CY','CZ','DE','DK','EE','ES','FI','FR','GB','GF','GP','GR','HR','HU','IC','IE','IS','IT','LI','LT','LU','LV','MF','MQ','MT','NL','NO','PL','PT','RE','RO','SE','SI','SK','SX','YT']; var site_htl_settings = { "adx" : "yes", // yes/no if we should include adx on page "groupname" : "Webcomic", // track groupname in htl/gam "has_folders" : "no", // track folder pages in htl/gam "user_type" : "guest", // track member/guest in htl/gam "is_testing" : "no", // yes/no if in testing mode "split_testing" : "1", // 0/1, 0=control, 1=test, for a/b testing "send_reports" : "1", // true/false if reports should be sent for logging in DataBricks "report_url" : "https://analytics.tvtropes.org/analytics-data/tvtropes/", // Endpoint for logging (data stream) "logging_turned_on": "1", // true/false if console logging should be turned on "site_name" : "tvtropes", // Site name for display in logging "sticky_slot_names": ["tvtropes_dt_sticky", "tvtropes_m_sticky"], // Possible slot names for the sticky slot } </script> <script> // Create the ad project var ads_project = (function(sent_in_settings){ //default settings var setting_defaults = { "adx" : "yes", "groupname" : "", "has_folders" : "unknown", "user_type" : "guest", "is_testing" : "no", "split_testing" : "0", "send_reports" : "0", "logging_turned_on": "false", "site_name" : "site_name", "report_url" : "", "page_template" : "", "sticky_slot_names": [] } // Combine defaults with sent in parameters var project_settings = {...setting_defaults, ...sent_in_settings}; /*************************************** --------------- AD CODE --------------- ***************************************/ window.BCLighthouseTag = window.BCLighthouseTag || {}; window.BCLighthouseTag.cmd = window.BCLighthouseTag.cmd || []; BCLighthouseTag.cmd.push(function() { // Only set these if given in settings if(project_settings.groupname != "") BCLighthouseTag.setTargeting("groupname", project_settings.groupname); if(project_settings.page_template != "") BCLighthouseTag.setTargeting("page_template", project_settings.page_template); BCLighthouseTag.setTargeting("adx", project_settings.adx); BCLighthouseTag.setTargeting('website', project_settings.site_name); BCLighthouseTag.setTargeting('user_type', project_settings.user_type); BCLighthouseTag.setTargeting('has_folders', project_settings.has_folders); }); // Logging function output_logging(content){ if(project_settings.logging_turned_on){ if(typeof content == "string") console.log(project_settings.site_name + " Ads: " + content); else console.log(content); } } })(site_htl_settings); </script> <script type="text/javascript"> var tvtropes_config = { asteri_stream_enabled : "1", is_logged_in : "", live_server : "1", bigcrunch_live : "1", handle : "", email_popup : "0", troper_email : "", get_asteri_stream : "", revnum : "a1fdc3097a55e179219cd1bf535ab41b48dc60da", img_domain : "https://static.tvtropes.org", adblock : "1", adblock_url : "propermessage.io", universal_page_type : "Article", pause_editing : "0", pause_editing_msg : "", pause_site_changes : "0", assets_domain : "https://assets.tvtropes.org" }; // This will track the total number of ads inserted over time var globalAdInsertionCount = 0; // Check to see if this page is isolated, if so, run BCLighthouseTag.disableGoogleAdManager(); if(window.site_htl_settings.adx == "no"){ console.log("disabling google"); BCLighthouseTag.cmd.push(() => { BCLighthouseTag.disableGoogleAdManager(); }); } </script> <script> // Add second script to the head var htl_script = document.createElement('script'); htl_script.async = "async"; // Add the fundingchoices script to the head var script = document.createElement('script'); script.src = "https://fundingchoicesmessages.google.com/i/pub-6608306193529351?ers=1"; script.async = true; script.nonce = "rczD8qB5ececf2fL1Vj9XQ"; // Add second script to the head var script2 = document.createElement('script'); script2.nonce = "rczD8qB5ececf2fL1Vj9XQ"; script2.innerHTML = "(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();"; // Add both scripts to head document.head.appendChild(script); document.head.appendChild(script2); var bigcrunch_url = window.tvtropes_config.bigcrunch_live == 1 ? "https://lh.bigcrunch.com/main.js" : "https://dev-lh.bigcrunch.com/main.js"; htl_script.src = bigcrunch_url; htl_script.id = "bigcrunchtag"; htl_script.setAttribute('data-property-id', '34a5ddec-697b-424e-81d2-e6bb46a1b83e'); // Add both scripts to head document.head.appendChild(htl_script); </script> <script> // Add HTL script to head document.head.appendChild(htl_script); </script> <script>(function(){/* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */ 'use strict';var aa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ca={a:!0},n={};try{n.__proto__=ca;m=n.a;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null} var p=k,q=function(a,b){a.prototype=ba(b.prototype);a.prototype.constructor=a;if(p)p(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.v=b.prototype},r=this||self,da=function(){},t=function(a){return a};var u;var w=function(a,b){this.g=b===v?a:""};w.prototype.toString=function(){return this.g+""};var v={},x=function(a){if(void 0===u){var b=null;var c=r.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(d){r.console&&r.console.error(d.message)}u=b}else u=b}a=(b=u)?b.createScriptURL(a):a;return new w(a,v)};var A=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};var B={},C=null;var D="function"===typeof Uint8Array;function E(a,b,c){return"object"===typeof a?D&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):F(a,b,c):b(a)}function F(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),e=0;e<a.length;e++){var f=a[e];null!=f&&(d[e]=E(f,b,c))}Array.isArray(a)&&a.s&&G(d);return d}d={};for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(f=a[e],null!=f&&(d[e]=E(f,b,c)));return d} function ea(a){return F(a,function(b){return"number"===typeof b?isFinite(b)?b:String(b):b},function(b){var c;void 0===c&&(c=0);if(!C){C={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],f=0;5>f;f++){var h=d.concat(e[f].split(""));B[f]=h;for(var g=0;g<h.length;g++){var l=h[g];void 0===C[l]&&(C[l]=g)}}}c=B[c];d=Array(Math.floor(b.length/3));e=c[64]||"";for(f=h=0;h<b.length-2;h+=3){var y=b[h],z=b[h+1];l=b[h+2];g=c[y>>2];y=c[(y&3)<< 4|z>>4];z=c[(z&15)<<2|l>>6];l=c[l&63];d[f++]=""+g+y+z+l}g=0;l=e;switch(b.length-h){case 2:g=b[h+1],l=c[(g&15)<<2]||e;case 1:b=b[h],d[f]=""+c[b>>2]+c[(b&3)<<4|g>>4]+l+e}return d.join("")})}var fa={s:{value:!0,configurable:!0}},G=function(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,fa);return a};var H;var J=function(a,b,c){var d=H;H=null;a||(a=d);d=this.constructor.u;a||(a=d?[d]:[]);this.j=d?0:-1;this.h=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||"object"!=typeof d||Array.isArray(d)||D&&d instanceof Uint8Array))){this.l=a-this.j;this.i=d;break a}void 0!==b&&-1<b?(this.l=Math.max(b,a+1-this.j),this.i=null):this.l=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)a=c[b],a<this.l?(a+=this.j,(d=this.g[a])?G(d):this.g[a]=I):(d=this.l+this.j,this.g[d]||(this.i=this.g[d]={}),(d=this.i[a])? G(d):this.i[a]=I)},I=Object.freeze(G([])),K=function(a,b){if(-1===b)return null;if(b<a.l){b+=a.j;var c=a.g[b];return c!==I?c:a.g[b]=G([])}if(a.i)return c=a.i[b],c!==I?c:a.i[b]=G([])},M=function(a,b){var c=L;if(-1===b)return null;a.h||(a.h={});if(!a.h[b]){var d=K(a,b);d&&(a.h[b]=new c(d))}return a.h[b]};J.prototype.toJSON=function(){var a=N(this,!1);return ea(a)}; var N=function(a,b){if(a.h)for(var c in a.h)if(Object.prototype.hasOwnProperty.call(a.h,c)){var d=a.h[c];if(Array.isArray(d))for(var e=0;e<d.length;e++)d[e]&&N(d[e],b);else d&&N(d,b)}return a.g},O=function(a,b){H=b=b?JSON.parse(b):null;a=new a(b);H=null;return a};J.prototype.toString=function(){return N(this,!1).toString()};var P=function(a){J.call(this,a)};q(P,J);function ha(a){var b,c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document,d=null===(b=c.querySelector)||void 0===b?void 0:b.call(c,"script[nonce]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)};var Q=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)},R=function(a){this.g=a||r.document||document};R.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a,b,c,d,e,f){try{var h=a.g,g=Q(a.g,"SCRIPT");g.async=!0;g.src=b instanceof w&&b.constructor===w?b.g:"type_error:TrustedResourceUrl";ha(g);h.head.appendChild(g);g.addEventListener("load",function(){e();d&&h.head.removeChild(g)});g.addEventListener("error",function(){0<c?S(a,b,c-1,d,e,f):(d&&h.head.removeChild(g),f())})}catch(l){f()}};var ia=r.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ja=r.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),ka=r.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),la=function(a,b,c){this.h=a;this.j=new R(this.h);this.g=null;this.i=[];this.l=!1;this.o=b;this.m=c},V=function(a){if(a.h.body&&!a.l){var b= function(){T(a);r.setTimeout(function(){return U(a,3)},50)};S(a.j,a.o,2,!0,function(){r[a.m]||b()},b);a.l=!0}},T=function(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.h.body.appendChild(d);a.i.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=ma(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=ma(0,10,0,10,0,10);b.style.display= "flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Q(a.j.g,"IMG");d.className=A();d.src=ia;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ja;var h=X(a);h.textContent=ka;Y(a, e,f);Y(a,e,h);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.h.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.h.body.appendChild(d),a.i.push(d)},Y=function(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)},W=function(a,b){return Math.floor(a+Math.random()*(b-a))},ma=function(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f, 255)).toString()+")"},X=function(a){a=Q(a.j.g,"DIV");a.className=A();return a},U=function(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(na(a),T(a),r.setTimeout(function(){return U(a,b-1)},50))},na=function(a){var b=a.i;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:aa(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.i=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};var pa=function(a,b,c,d,e){var f=oa(c),h=function(l){l.appendChild(f);r.setTimeout(function(){f?(0!==f.offsetHeight&&0!==f.offsetWidth?b():a(),f.parentNode&&f.parentNode.removeChild(f)):a()},d)},g=function(l){document.body?h(document.body):0<l?r.setTimeout(function(){g(l-1)},e):b()};g(3)},oa=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var L=function(a){J.call(this,a)};q(L,J);var qa=function(a){J.call(this,a)};q(qa,J);var ra=function(a,b){this.l=a;this.m=new R(a.document);this.g=b;this.i=K(this.g,1);b=M(this.g,2);this.o=x(K(b,4)||"");this.h=!1;b=M(this.g,13);b=x(K(b,4)||"");this.j=new la(a.document,b,K(this.g,12))};ra.prototype.start=function(){sa(this)}; var sa=function(a){ta(a);S(a.m,a.o,3,!1,function(){a:{var b=a.i;var c=r.btoa(b);if(c=r[c]){try{var d=O(P,r.atob(c))}catch(e){b=!1;break a}b=b===K(d,1)}else b=!1}b?Z(a,K(a.g,14)):(Z(a,K(a.g,8)),V(a.j))},function(){pa(function(){Z(a,K(a.g,7));V(a.j)},function(){return Z(a,K(a.g,6))},K(a.g,9),K(a.g,10),K(a.g,11))})},Z=function(a,b){a.h||(a.h=!0,a=new a.l.XMLHttpRequest,a.open("GET",b,!0),a.send())},ta=function(a){var b=r.btoa(a.i);a.l[b]&&Z(a,K(a.g,5))};(function(a,b){r[a]=function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];r[a]=da;b.apply(null,d)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ra(window,O(qa,window.atob(a)))).start()});}).call(this); window.__h82AlnkH6D91__("WyJwdWItMjU3NTc4ODY5MDc5ODI4MiIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi0yNTc1Nzg4NjkwNzk4MjgyIl0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hWV0tMOXhFeS1ZVk1sOTdzcC10MW5mbkxvWmZweWVjaGRJdUxJU244LXpjbUwxM1R5Mlhhb2RoQTJFU3VNS3ljQm1kVHgxSUNlMVBrX2hIeUxHa1ZZNHJ3XHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFZCeVhDdDlWajY1eXNrMWFHVW9LUUpLdktrTlh4WVdlRDBhYnhmS3RVUi00eDZfRTNWOXpqSm5vYkFfVzIxeGNDb3F3M1RmN1dYRmxXZFZaazVMMFlQQ2dcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFV4bEsxQ0dxcEpGY3lvcXZXZ0ZnWWRBRjhMMzBOU0Y1ci1paGZSd1VRNzV4YmF6NGxydWVfRUhoWmU1ai00UUhRYXc4MUVZREFkQ2pBN21Tb1BxUUsxaFFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFZJUWxpOV9jN0NuWWlHWkU3S2xIV2JWVi10NlpYQ2hQTnlHVTRobGhmSjdLQnJnNjllSFhHYm9aSXRqRm42MDViNWpuaG5KYkxCcU1ySURyY2lLVEk0VmdcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUSTFOelUzT0RnMk9UQTNPVGd5T0RJXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi0yNTc1Nzg4NjkwNzk4MjgyLmpzP3VzcXBcdTAwM2RDQkEiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4V1hNUEJXZjVaNURyT1VGdDZwVVR5eGh1YzBFNlVGQnJJZUhuUUNCMVlUOWVtYlJTbGxYQ3F6NDV5ODdqT3RVWC1SX3JkcmdudFdjejdtazA2WkZYWDQyd1x1MDAzZFx1MDAzZCJd"); </script> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Homestuck (Webcomic) - TV Tropes</title> <meta name="description" content="&gt; Begin reading excessively verbose document. A sort of Interactive Comic/Flash game hybrid, Homestuck is the fourth and latest series of MS Paint &hellip;" /> <link rel="canonical" href="https://tvtropes.org/pmwiki/pmwiki.php/Webcomic/Homestuck" /> <link rel="shortcut icon" href="https://assets.tvtropes.org/img/icons/favicon.ico" type="image/x-icon" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@tvtropes" /> <meta name="twitter:owner" content="@tvtropes" /> <meta name="twitter:title" content="Homestuck (Webcomic) - TV Tropes" /> <meta name="twitter:description" content="&gt; Begin reading excessively verbose document. A sort of Interactive Comic/Flash game hybrid, Homestuck is the fourth and latest series of MS Paint &hellip;" /> <meta name="twitter:image:src" content="https://mediaproxy.tvtropes.org/width/1200/https://static.tvtropes.org/pmwiki/pub/images/ezgif_5_f18d094592.png" /> <meta property="og:site_name" content="TV Tropes" /> <meta property="og:locale" content="en_US" /> <meta property="article:publisher" content="https://www.facebook.com/tvtropes" /> <meta property="og:title" content="Homestuck - TV Tropes" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://tvtropes.org/pmwiki/pmwiki.php/Webcomic/Homestuck" /> <meta property="og:image" content="https://mediaproxy.tvtropes.org/width/1200/https://static.tvtropes.org/pmwiki/pub/images/ezgif_5_f18d094592.png" /> <meta property="og:description" content="&gt; Begin reading excessively verbose document. A sort of Interactive Comic/Flash game hybrid, Homestuck is the fourth and latest series of MS Paint Adventures, a series of web comics done in the style of old text-based adventure games, written &hellip;" /> <meta name="robots" content="max-image-preview:large"> <link rel="apple-touch-icon" sizes="57x57" href="https://assets.tvtropes.org/img/icons/apple-icon-57x57.png" type="image/png"> <link rel="apple-touch-icon" sizes="60x60" href="https://assets.tvtropes.org/img/icons/apple-icon-60x60.png" type="image/png"> <link rel="apple-touch-icon" sizes="72x72" href="https://assets.tvtropes.org/img/icons/apple-icon-72x72.png" type="image/png"> <link rel="apple-touch-icon" sizes="76x76" href="https://assets.tvtropes.org/img/icons/apple-icon-76x76.png" type="image/png"> <link rel="apple-touch-icon" sizes="114x114" href="https://assets.tvtropes.org/img/icons/apple-icon-114x114.png" type="image/png"> <link rel="apple-touch-icon" sizes="120x120" href="https://assets.tvtropes.org/img/icons/apple-icon-120x120.png" type="image/png"> <link rel="apple-touch-icon" sizes="144x144" href="https://assets.tvtropes.org/img/icons/apple-icon-144x144.png" type="image/png"> <link rel="apple-touch-icon" sizes="152x152" href="https://assets.tvtropes.org/img/icons/apple-icon-152x152.png" type="image/png"> <link rel="apple-touch-icon" sizes="180x180" href="https://assets.tvtropes.org/img/icons/apple-icon-180x180.png" type="image/png"> <link rel="icon" sizes="16x16" href="https://assets.tvtropes.org/img/icons/favicon-16x16.png" type="image/png"> <link rel="icon" sizes="32x32" href="https://assets.tvtropes.org/img/icons/favicon-32x32.png" type="image/png"> <link rel="icon" sizes="96x96" href="https://assets.tvtropes.org/img/icons/favicon-96x96.png" type="image/png"> <link rel="icon" sizes="192x192" href="https://assets.tvtropes.org/img/icons/favicon-192x192.png" type="image/png"> <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <link rel="stylesheet" href="https://assets.tvtropes.org/design/assets/bundle.css?rev=a1fdc3097a55e179219cd1bf535ab41b48dc60da" /> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-3821842-1', 'auto'); ga('send', 'pageview'); </script> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '850567933835915'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=850567933835915&ev=PageView&noscript=1" /></noscript> <script> !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document); rdt('init','a2_fksv8rryv493'); rdt('track', 'PageVisit'); </script> </head> <body class=""> <i id="user-prefs"></i> <script>updateUserPrefs();</script> <div id="fb-root"></div> <div id="modal-box"> <div class="modal-loading-graphic"></div> </div> <style> @keyframes rotate-forever { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #modal-box > .modal-loading-graphic { display: none; /* Hidden by default */ background: no-repeat center url('/images/loading-graphic.png'); background-size: 80px 80px; width: 80px; height: 80px; border-radius: 50%; position: absolute; top: calc(30% - 40px); left: calc(50% - 40px); z-index: 2; animation: rotate-forever 0.34s linear infinite; } #modal-box.active > .modal-loading-graphic { display: block; /* Show only when modal is active */ } </style> <header id="main-header-bar" class="headroom-element "> <div id="main-header-bar-inner"> <span id="header-spacer-left" class="header-spacer"></span> <a href="#mobile-menu" id="main-mobile-toggle" class="mobile-menu-toggle-button tablet-on"><span></span><span></span><span></span></a> <a href="/" id="main-header-logoButton" class="no-dev"></a> <span id="header-spacer-right" class="header-spacer"></span> <nav id="main-header-nav" class="tablet-off"> <a href="/pmwiki/pmwiki.php/Main/Tropes">Tropes</a> <a href="/pmwiki/pmwiki.php/Main/Media">Media</a> <a href="/pmwiki/browse.php" class="nav-browse">Browse</a> <a href="/pmwiki/popular-pages.php">Popular</a> <a href="/pmwiki/topics.php">Forums</a> <a href="/pmwiki/recent_videos.php" class="nav-browse">Videos</a> </nav> <div id="main-header-bar-right"> <div id="signup-login-box" class="font-xs mobile-off"> <a href="#" class="hover-underline bold" data-modal-target="signup">Join</a> <a href="#" class="hover-underline bold" data-modal-target="login">Login</a> </div> <div id="signup-login-mobileToggle" class="mobile-on inline"> <a href="#" data-modal-target="login"><i class="fa fa-user"></i></a> </div> <div id="search-box"> <form class="search" action="/pmwiki/search_result.php"> <input type="text" name="q" class="search-box" placeholder="Search" value="" required> <input type="submit" class="submit-button" value="&#xf002;" /> <input type="hidden" name="search_type" value="article"> <input type="hidden" name="page_type" value="all"> <input type="hidden" name="cx" value="partner-pub-6610802604051523:amzitfn8e7v"> <input type="hidden" name="cof" value="FORID:10"> <input type="hidden" name="ie" value="ISO-8859-1"> <input name="siteurl" type="hidden" value=""> <input name="ref" type="hidden" value=""> <input name="ss" type="hidden" value=""> </form> <a href="#close-search" class="mobile-on mobile-search-toggle close-x"><i class="fa fa-close"></i></a> </div> <div id="random-box"> <a href="/pmwiki/pmwiki.php/Main/StandardPoliceMotto" class="button-random-trope" rel="nofollow" onclick="gtag('event', 'trope_random_button_click', {'is_user': 0});"></a> <a href="/pmwiki/pmwiki.php/WesternAnimation/RobinsonCrusoe" class="button-random-media" rel="nofollow" onclick="gtag('event', 'media_random_button_click', {'is_user': 0});"></a> </div> </div> </div> <div id="mobile-menu" class="tablet-on"><div class="mobile-menu-options"> <div class="nav-wrapper"> <a href="/pmwiki/pmwiki.php/Main/Tropes" class="xl">Tropes</a> <a href="/pmwiki/pmwiki.php/Main/Media" class="xl">Media</a> <a href="/pmwiki/browse.php" class="xl">Browse</a> <a href="/pmwiki/popular-pages.php" class="xl">Popular</a> <a href="/pmwiki/index_report.php" class="xl">Indexes</a> <a href="/pmwiki/topics.php" class="xl">Forums</a> <a href="/pmwiki/recent_videos.php" class="xl">Videos</a> <a href="/pmwiki/query.php?type=att">Ask The Tropers</a> <a href="/pmwiki/query.php?type=tf">Trope Finder</a> <a href="/pmwiki/query.php?type=ykts">Media Finder</a> <a href="/pmwiki/tlp_activity.php">Trope Launch Pad</a> <a href="/pmwiki/query.php?type=wl">Tech Wishlist</a> <a href="/pmwiki/review_activity.php">Reviews</a> <a href="#tools" data-click-toggle="active">Tools <i class="fa fa-chevron-down"></i></a> <div class="tools-dropdown mobile-dropdown-linkList"> <a href="/pmwiki/cutlist.php" data-modal-target="login" rel="nofollow">Cut List</a> <a href="/pmwiki/image-fixer.php" data-modal-target="login" rel="nofollow">Image Fixer</a> <a href="/pmwiki/changes.php">New Edits</a> <a href="/pmwiki/articles_new.php">New Articles</a> <a href="/pmwiki/recent_edit_reasons.php">Edit Reasons</a> <a href="/pmwiki/launches.php" data-modal-target="login" rel="nofollow">Launches</a> <a href="/pmwiki/img_list.php" data-modal-target="login" rel="nofollow">Images List</a> <a href="/pmwiki/crown_activity.php">Crowner Activity</a> <a href="/pmwiki/no_types.php">Un-typed Pages</a> <a href="/pmwiki/page_type_audit.php">Recent Page Type Changes</a> <a href="/pmwiki/changelog.php">Changelog</a> </div> <a href="#tips" data-click-toggle="active">Tips <i class="fa fa-chevron-down"></i></a> <div class="tips-dropdown mobile-dropdown-linkList"> <a href="/pmwiki/pmwiki.php/Administrivia/CreatingNewRedirects">Creating New Redirects</a> <a href="/pmwiki/pmwiki.php/Administrivia/Crosswicking">Cross Wicking</a> <a href="/pmwiki/pmwiki.php/Administrivia/TipsForEditing">Tips for Editing</a> <a href="/pmwiki/pmwiki.php/Administrivia/TextFormattingRules">Text Formatting Rules</a> <a href="/pmwiki/pmwiki.php/Administrivia/TVTropesGlossary?from=Main.TVTropesGlossary">Glossary</a> <a href="/pmwiki/pmwiki.php/Administrivia/EditReasonsAndWhyYouShouldUseThem">Edit Reasons</a> <a href="/pmwiki/pmwiki.php/Administrivia/HandlingSpoilers">Handling Spoilers</a> <a href="/pmwiki/pmwiki.php/Administrivia/WordCruft">Word Cruft</a> <a href="/pmwiki/pmwiki.php/Main/Administrivia">Administrivia</a> <a href="/pmwiki/pmwiki.php/Main/FAQ">FAQ</a> </div> <a href="#hq" data-click-toggle="active">Tropes HQ <i class="fa fa-chevron-down"></i></a> <div class="tools-dropdown mobile-dropdown-linkList"> <a href="/pmwiki/about.php">About Us</a> <a href="/pmwiki/contact.php">Contact Us</a> <a href="/pmwiki/dmca.php">DMCA Notice</a> <a href="/pmwiki/privacypolicy.php">Privacy Policy</a> <a href="/pmwiki/query.php?type=bug">Report Bug</a> </div> <a href="/pmwiki/ad-free-subscribe.php">Go Ad-Free</a> <a href="/pmwiki/changelog.php">Changelog</a></li> <div class="toggle-switches"> <ul class="mobile-menu display-toggles"> <li>Show Spoilers <div id="mobile-toggle-showspoilers" class="display-toggle show-spoilers"></div></li> <li>Night Vision <div id="mobile-toggle-nightvision" class="display-toggle night-vision"></div></li> <li>Sticky Header <div id="mobile-toggle-stickyheader" class="display-toggle sticky-header"></div></li> <li>Highlight Links <div id="mobile-toggle-highlightlinks" class="display-toggle highlight-links"></div></li> </ul> <script>updateMobilePrefs();</script> </div> </div> </div> </div> </header> <div id="homepage-introBox-mobile" class="mobile-on"> <a href="/"><img src="/images/logo-white-big.png" class="logo-small" /></a> <form class="search" action="/pmwiki/search_result.php" style="margin:10px -5px -6px -5px;"> <input type="text" name="q" class="search-box" placeholder="Search" value="" required> <input type="submit" class="submit-button" value="&#xf002;" /> <input type="hidden" name="search_type" value="article"> <input type="hidden" name="page_type" value="all"> <input type="hidden" name="cx" value="partner-pub-6610802604051523:amzitfn8e7v"> <input type="hidden" name="cof" value="FORID:10"> <input type="hidden" name="ie" value="ISO-8859-1"> <input name="siteurl" type="hidden" value=""> <input name="ref" type="hidden" value=""> <input name="ss" type="hidden" value=""> </form> </div> <script> // Get device type function get_device_type(){ var ua = navigator.userAgent.toLowerCase(); var device_type = ""; // This is usually "tablet", but for this case we are going to call it mobile if(/(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(ua)) device_type = "mobile"; // This is mobile else if(/(mobi|ipod|phone|blackberry|opera mini|fennec|minimo|symbian|psp|nintendo ds|archos|skyfire|puffin|blazer|bolt|gobrowser|iris|maemo|semc|teashark|uzard)/.test(ua)) device_type = "mobile"; // Otherwise desktop else device_type = "desktop"; return device_type; } var show_modal_loaded = false; //// MOBILE MENU TOGGLE FUNCTIONS //// function show_modal(type, message, confirmation_url, call_back, oauth_finalize, groupname, title, video_id) { console.log("showing modal " + type); const modalBox = document.getElementById('modal-box'); const childDivs = modalBox.querySelectorAll(':scope > div'); // Check if there are more than one child divs in the modal box, indicating a modal is already there if (childDivs.length > 1) { kill_modal(); } // Show the modal and the loading graphic modalBox.classList.add('active'); let alert = ''; if (typeof message === 'object' && message !== null) { Object.keys(message).forEach(function(key) { alert += '&' + key + '=' + encodeURIComponent(message[key]); }); } else { alert = '&message=' + encodeURIComponent(message); } // Construct the URL with parameters const url = '/design/parts/component-modalBox.php?window=' + type + alert + (confirmation_url ? '&curl=' + encodeURIComponent(confirmation_url) : "") + (oauth_finalize ? '&oauth_finalize=' + encodeURIComponent(oauth_finalize) : "") + (groupname ? '&groupname=' + groupname : "") + (video_id ? '&video_id=' + encodeURIComponent(video_id) : ""); fetch(url) .then(response => response.text()) .then(html => { modalBox.innerHTML = html; // Find and execute scripts const scripts = modalBox.querySelectorAll('script'); scripts.forEach(script => { const newScript = document.createElement('script'); newScript.type = 'text/javascript'; if (script.src) { newScript.src = script.src; // Wait for Dropzone.js to load before adding the imguploader.js if(newScript.src.includes('/design/js/dropzone.js')) { newScript.onload = function() { // Now load the imguploader.js script const img_uploader_script = document.createElement('script'); img_uploader_script.type = 'text/javascript'; img_uploader_script.src = "/design/js/imguploader.js"; img_uploader_script.onload = function (){ myAwesomeDropzone = new Dropzone("#myAwesomeDropzone", { url: "/ajax/uploadImg.php" }); } document.body.appendChild(img_uploader_script); } } } else { newScript.textContent = script.textContent; } // Remove the old script and add the new one script.parentNode.removeChild(script); modalBox.appendChild(newScript); }); if(call_back) { call_back(); } }); if(show_modal_loaded == false){ // Kill modal if blackout is clicked modalBox.addEventListener('click', function(e) { if (e.target === e.currentTarget) { kill_modal(); } }); } show_modal_loaded = true; } // Modal kill function function kill_modal() { console.log("killing modal"); const modalBox = document.getElementById('modal-box'); modalBox.classList.remove('active'); // Replace the content directly with the new loading graphic modalBox.innerHTML = '<div class="modal-loading-graphic"></div>'; } // Modal "loading" mode, without killing function pause_modal() { var modal = document.querySelector('#modal-box > div.modal'); if(!modal) modal = document.querySelector('#modal-box'); modal.classList.add('hidden'); const modalBox = document.getElementById('modal-box'); modalBox.classList.add('paused'); const loadingGraphic = document.createElement('div'); loadingGraphic.className = 'modal-loading-graphic'; modalBox.appendChild(loadingGraphic); } function unpause_modal() { const modalBox = document.getElementById('modal-box'); modalBox.classList.remove('paused'); var modal = document.querySelector('#modal-box > div.modal'); if(!modal) modal = document.querySelector('#modal-box'); modal.classList.remove('hidden'); const loadingGraphic = document.querySelector('#modal-box > div.modal-loading-graphic'); if (loadingGraphic) { modalBox.removeChild(loadingGraphic); } } // COMPONENT: LOAD GRAPHIC function show_loader() { console.log("Displaying loading graphic"); kill_modal(); const modalBox = document.getElementById('modal-box'); modalBox.classList.add('active'); const loadingGraphic = document.createElement('div'); loadingGraphic.className = 'modal-loading-graphic'; modalBox.appendChild(loadingGraphic); } // TOGGLE NOTES function togglenote(id){ var ele=object(id); var state = ele.style.display; if(state=='none') ele.style.display='inline'; if(state=='inline')ele.style.display='none'; } // Toggle more menu function toggle_more_menu(position){ var more_menu = document.getElementById(position+"_more_list"); more_menu.classList.toggle("hidden_more_list"); more_menu.classList.toggle("display"); var menu_button = document.getElementById(position+"_more_button"); menu_button.classList.toggle("is-open"); } // scroll to top of page function scroll_to_top(duration) { var start = window.pageYOffset; var start_time = performance.now(); if ('requestAnimationFrame' in window === false) { window.scrollTo(0, 0); return; } function scroll() { var current_time = performance.now(); var elapsed_time = current_time - start_time; var progress = elapsed_time / duration; var ease_in_out_quad = progress < 0.5 ? 2 * progress * progress : -1 + (4 - 2 * progress) * progress; window.scrollTo(0, start * (1 - ease_in_out_quad)); if (elapsed_time < duration) { requestAnimationFrame(scroll); } else { window.scrollTo(0, 0); } } scroll(); } // FOLDER BUTTONS (unused) - declared to prevent console errors. function toggleAllFolders() {} function togglefolder(id) {} var device_type = get_device_type(); const mobile_menu_button = document.querySelector('.mobile-menu-toggle-button'); if (mobile_menu_button) { mobile_menu_button.addEventListener('click', function(e) { e.preventDefault(); const header = document.querySelector('header#main-header-bar'); if (header.classList.contains('mobile-menu-active')) { header.classList.remove('mobile-menu-active'); } else { header.classList.add('mobile-menu-active'); } }); } // tracking height for multiple folders to insert ads var global_pHeight = 0; // MODAL - FOLDER - SPOILER BUTTONS document.body.addEventListener('click', function(e) { // WATCH / FOLLOW BUTTONS const target = e.target.closest('.watch-button'); const loggedInElement = document.getElementById('logged_in'); const loggedIn = loggedInElement ? loggedInElement.value : null; //special code for the desktop-on-mobile-toggle cookie link if (e.target.closest('#desktop-on-mobile-toggle > a')) { e.preventDefault(); var body_class = "desktop-on-mobile"; var userPrefs = document.getElementById('user-prefs'); if (userPrefs.classList.contains(body_class)) { cookies.remove(body_class); } else { cookies.create(body_class, 'true', 300, '/'); } location.reload(); } // Display toggle buttons for user preferences if (e.target.closest('.display-toggles > li')) { var toggle = e.target; if(toggle.tagName.toLowerCase() === 'li') toggle = toggle.children[0]; var body_class = ''; var pref = ''; var val = 0; // SIDEBAR AND MOBILE MENU OPTIONS if (toggle.classList.contains('wide-load')) { body_class = "wide-load"; } else if (toggle.classList.contains('sticky-header')) { body_class = "sticky-header"; } else if (toggle.classList.contains('night-vision')) { body_class = "night-vision"; } else if (toggle.classList.contains('show-spoilers')) { body_class = "show-spoilers"; } else if (toggle.classList.contains('tvtropes-editor-on')) { body_class = "tvtropes-editor-on"; } // PROFILE PAGE OPTIONS else if (toggle.classList.contains('folders-open')) { body_class = "folders-open"; } else if (toggle.classList.contains('wysiwyg-toggle')) { body_class = "wysiwyg-toggle"; } else if (toggle.classList.contains('mono-font')) { body_class = "mono-font"; } else if (toggle.classList.contains('lefthand-sidebar')) { body_class = "lefthand-sidebar"; } else if (toggle.classList.contains('highlight-links')) { body_class = "highlight-links"; } else if (toggle.classList.contains('forum-gingerbread')) { body_class = "forum-gingerbread"; } else if (toggle.classList.contains('shared-avatars')) { body_class = "shared-avatars"; pref = 'accept_share'; val = toggle.classList.contains('active') ? 0 : 1; } else if (toggle.classList.contains('new-search')) { body_class = "new-search"; pref = 'new_search'; val = toggle.classList.contains('active') ? 0 : 1; } else if (toggle.classList.contains('stop-auto-play-video')) { body_class = "stop-auto-play-video"; pref = 'stop_auto_play_video'; val = toggle.classList.contains('active') ? 0 : 1; } else if (toggle.classList.contains('notification-pm')) { body_class = 'notification-pm'; pref = 'toggle_notification_pm'; val = toggle.classList.contains('active') ? 0 : 1; } else if (toggle.classList.contains('notification-video')) { body_class = 'notification-video'; pref = 'toggle_notification_video'; val = toggle.classList.contains('active') ? 0 : 1; } else if (toggle.classList.contains('notification-query')) { body_class = 'notification-query'; pref = 'toggle_notification_query'; val = toggle.classList.contains('active') ? 0 : 1; } if (pref === 'accept_share' || pref === 'new_search' || pref === 'stop_auto_play_video' || pref === 'toggle_notification_query' || pref === 'toggle_notification_pm' || pref === 'toggle_notification_video') { if (pref === 'new_search' && document.querySelector('#new-search-toggle')) show_loader(); fetch('/ajax/toggle_user_prefs.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'pref=' + encodeURIComponent(pref) + '&value=' + encodeURIComponent(val) }) .then(response => response.json()) .then(json => { if (pref === 'new_search') { const newSearchToggle = document.querySelector('#new-search-toggle'); const searchInput = document.getElementById('srch-term').value; const pageType = document.getElementsByName('page_type')[0].value; if (newSearchToggle && newSearchToggle.classList.contains('active')) { kill_modal(); window.location.href = '/pmwiki/elastic_search_result.php?new_search=true&q=' + encodeURIComponent(searchInput) + '&page_type=' + encodeURIComponent(pageType); } else if (newSearchToggle) { kill_modal(); window.location.href = '/pmwiki/search_result.php?new_search=false&q=' + encodeURIComponent(searchInput); } } }) .catch(error => { console.error('Error:', error); }); document.querySelector('form.search').addEventListener('submit', function(e) { if (cookies.read('new-search') === 'true') { e.preventDefault(); this.setAttribute('action', "/pmwiki/elastic_search_result.php"); } }); } // Toggle 'active' class based on body_class var displayToggles = document.querySelectorAll('.display-toggle.' + body_class); displayToggles.forEach(item_to_toggle => { item_to_toggle.classList.toggle('active'); }); var userPrefs = document.getElementById('user-prefs'); userPrefs.classList.toggle(body_class); console.log('BODY CLASS:',body_class); if (userPrefs.classList.contains(body_class)) { cookies.create(body_class, 'true', 300, '/'); } else { cookies.remove(body_class); // Specific logic for 'show-spoilers' class if (body_class === "show-spoilers") { document.querySelectorAll('.spoiler').forEach(spoiler => { spoiler.classList.remove('off'); }); } } } if (target && loggedIn !== null) { e.preventDefault(); if (loggedIn === 'true') { target.classList.add('processing'); } // Article if (target.getAttribute('data-watch-info')) { var data = target.dataset.watchInfo.split(','); if (!data.length) return; var addOrDrop = target.classList.contains('watching') || target.parentElement.classList.contains('watching') ? 'drop' : 'add'; handleWatchItem(addOrDrop, data[0], data[1], target); // Discussion page } else if (target.getAttribute('data-watch-discussion-info')) { var data = target.dataset.watchDiscussionInfo.split(','); if (!data.length) return; var addOrDrop = target.classList.contains('watching') || target.parentElement.classList.contains('watching') ? 'drop' : 'add'; var pageType = 'Discussion'; handleWatchItem(addOrDrop, data[0], data[1], target, pageType); // Forum thread } else if (target.getAttribute('data-watch-thread-id')) { var threadId = target.getAttribute('data-watch-thread-id'); var url = target.classList.contains('watching') || target.parentElement.classList.contains('watching') ? '/pmwiki/thread_watch_drop.php?thread=' : '/pmwiki/setthreadwatch.php?d_id='; url += threadId; handleWatchThread(url, target); } } // Check for kill modal button click if (e.target.classList.contains('kill-modal-button')) { e.preventDefault(); kill_modal(); } // Check for data-click-toggle without data-click-toggle-target const targetWithoutToggleTarget = e.target.closest('*[data-click-toggle]:not([data-click-toggle-target])'); if (targetWithoutToggleTarget) { e.preventDefault(); const toggleClass = targetWithoutToggleTarget.getAttribute('data-click-toggle'); targetWithoutToggleTarget.classList.toggle(toggleClass); } // Check for data-click-toggle with data-click-toggle-target const targetWithToggleTarget = e.target.closest('*[data-click-toggle][data-click-toggle-target]:not(#signup-form-toggles a)'); if (targetWithToggleTarget) { e.preventDefault(); // Check if the target contains fetch_articles in the onclick attribute const hasFetchArticles = targetWithToggleTarget.getAttribute('onclick') && targetWithToggleTarget.getAttribute('onclick').includes('fetch_articles'); // If fetch_articles is not in the onclick attribute, stop propagation if (!hasFetchArticles) { e.stopPropagation(); } const toggleTargetId = targetWithToggleTarget.getAttribute('data-click-toggle-target'); const toggleClass = targetWithToggleTarget.getAttribute('data-click-toggle'); const isExclusive = targetWithToggleTarget.getAttribute('data-click-toggle-exclusive') === 'true'; if (isExclusive) { // Exclusive mode: toggle target and clear siblings const toggleTarget = document.getElementById(toggleTargetId); if (toggleTarget) { // Remove the toggle class from all siblings const siblings = Array.from(toggleTarget.parentNode.children); for (let sibling of siblings) { if (sibling !== toggleTarget) { sibling.classList.remove(toggleClass); } } // Add the toggle class to the target element toggleTarget.classList.add(toggleClass); } } else { // Non-exclusive mode: toggle targets normally if (toggleTargetId.indexOf(',') > -1) { const targets = toggleTargetId.split(","); targets.forEach(t => { document.querySelectorAll('#' + t).forEach(el => { el.classList.toggle(toggleClass); }); }); } else { document.querySelectorAll('#' + toggleTargetId).forEach(el => { el.classList.toggle(toggleClass); }); } } } // initiate all modals const modalTarget = e.target.closest('*[data-modal-target]'); if(modalTarget) { if (!modalTarget) { return; // Skip, if no target found with the specified attribute } // Get modal details let modal = modalTarget.getAttribute('data-modal-target'); let msg = modalTarget.getAttribute('data-modal-vars') ? modalTarget.getAttribute('data-modal-vars') : modalTarget.getAttribute('data-modal-confirmation-message'); let url = modalTarget.getAttribute('data-modal-confirmation-url'); // convert to json if possible try { var obj = JSON.parse(msg); if (obj && typeof obj === "object") { msg = obj; } } catch (e) { } // Skip modal and go straight to the link if (modal === "allow") return; // Don't allow link since we are showing a modal instead e.preventDefault(); // Add support for alert tags if (modal.substring(0, 6) === "alert-") { // Message array const msgArr = { "alert-banned": "Your permissions for this area have been suspended. Please visit <a href='/pmwiki/pmwiki.php/Administrivia/WhatToDoIfYouAreSuspended'>this page</a> for more details.", "alert-bounced": "This account has committed severe or repeated violations of our rules and is permanently denied access to many of the account features of the site. If you feel that this may be an error, please <a href=\"/pmwiki/contact.php\">contact the mods</a>.", "alert-denied": "Your account was denied by a moderator. If you believe this was done in error please <a href=\"/pmwiki/contact.php\">contact the mods</a>.", "alert-verify": "You must verify your email address before doing this. Check your email for a link.", "alert-approval": "Your account must be approved by a moderator before you can do this. If you still have this problem in a couple hours try <a href=\"/pmwiki/contact.php\">contacting the mods</a>.", "alert-age": "Your account is not old enough. Give it a little more time.", "alert-mod": "This page is only for moderators. Try something else.", "alert-db": "We are currently updating our database systems to UTF-8MB4. Please try again in 10-12 hours." }; if (modal in msgArr) { msg = msgArr[modal]; } else { msg = "Unknown error. Please <a href=\"/pmwiki/contact.php\">Contact us</a> if the problem persists."; } modal = "alert"; } // Bring up modal now show_modal(modal, msg, url); } // SPOILERS const spoilers = e.target.closest('.spoiler'); if (spoilers) { spoilers.classList.toggle('off'); } // OPEN INDIVIDUAL FOLDERS const folders = e.target.closest('.folderlabel'); if (folders && e.target.getAttribute('onclick') !== "toggleAllFolders();") { e.preventDefault(); folders.classList.toggle('is-open'); let folder = folders.nextElementSibling; if (folders.classList.contains('is-open')) { gtag('event', 'folder_click', {'device_type': device_type}); } if (folder && folders.classList.contains('is-open') && live_ads == 1 && (document.body.clientWidth && document.body.clientWidth<=768) && tvtropes_config.universal_page_type == 'Article') { if (folder.querySelectorAll('.tvtropes-ad-unit').length === 0) { global_pHeight = insert_ads_in_content(folder, globalAdInsertionCount, global_pHeight); } } } // OPEN ALL FOLDERS const allFolders = e.target.closest('div[onclick*="toggleAllFolders()"]'); if (allFolders) { let parentElement = allFolders.parentNode; // If the button is inside an H2, select the parent div of it if (parentElement.tagName === 'H2') parentElement = parentElement.parentNode; let isCurrentlyOpen = e.target.classList.contains('is-open'); // Select only folder labels that are inside the same parent div as the clicked button let foldersAndButtons = parentElement.querySelectorAll('.folderlabel, .toggle-all-folders-button'); foldersAndButtons.forEach(function(element) { if (isCurrentlyOpen) { element.classList.remove('is-open'); } else { element.classList.add('is-open'); } }); if (!isCurrentlyOpen) { gtag('event', 'all_folders_click', {'device_type': device_type}); // Also target only .folder elements within the same parent div parentElement.querySelectorAll('.folder').forEach(function(folder) { if (!folder.querySelector('.tvtropes-ad-unit') && live_ads == 1 && (document.body.clientWidth && document.body.clientWidth<=768) && tvtropes_config.universal_page_type == 'Article') { global_pHeight = insert_ads_in_content(folder, globalAdInsertionCount, global_pHeight); } }); } } }, true); // Add/remove watched article var handleWatchItem = function(addOrDrop, groupname, title, obj, pageType = '') { fetch("/ajax/watchlist.php", { method: "POST", headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }, body: `groupname=${encodeURIComponent(groupname)}&title=${encodeURIComponent(title)}&type=${encodeURIComponent(addOrDrop)}&json=1&pageType=${encodeURIComponent(pageType)}` }) .then(response => response.json()) .then(data => { obj.classList.remove('processing'); if (obj.classList.contains('tile-watch-button')) { obj.parentNode.classList.toggle('watching'); } else { obj.classList.toggle('watching'); } }) .catch(error => { obj.classList.remove('processing'); show_modal('alert-red', 'Whoops, something went wrong. Please try adding again.'); }); } // add/remove watched forum thread var handleWatchThread = function(url, obj) { fetch(url) .then(response => response.text()) // assuming the server responds with plain text .then(data => { obj.classList.remove('processing'); if (obj.classList.contains('tile-watch-button')) { obj.parentNode.classList.toggle('watching'); } else { obj.classList.toggle('watching'); } }) .catch(error => { obj.classList.remove('processing'); show_modal('alert-red', 'Whoops, something went wrong. Please try adding again.'); }); } </script> <script> if(is_mobile()) { document.write("<div class=\"htlad-tvtropes_m_sticky\"></div>"); } else { document.write("<div class=\"htlad-tvtropes_dt_sticky\"></div>"); } </script> <div id="tvtropes_oop_ad_slot" style="display: none;"></div> <div id="top_container_spacing"></div> <div id="main-container"> <div id="action-bar-top" class="action-bar mobile-off"> <div class="action-bar-right"> <p>Follow TV Tropes</p> <a href="https://www.facebook.com/TVTropes" class="button-fb"> <i class="fa fa-facebook"></i></a> <a href="https://www.twitter.com/TVTropes" class="button-tw"> <i class="fa fa-twitter"></i></a> </div> <nav class="actions-wrapper" itemscope itemtype="http://schema.org/SiteNavigationElement"> <ul id="top_main_list" class="page-actions"> <li class="link-edit"> <a rel = "nofollow" class = "article-edit-button"data-modal-target= "login"href = "/pmwiki/pmwiki.php/Webcomic/Homestuck?action=edit"> <i class="fa fa-pencil"></i> Edit Page</a></li><li class="link-related"><a href="/pmwiki/relatedsearch.php?term=Webcomic/Homestuck"> <i class="fa fa-share-alt"></i> Related</a></li><li class="link-history"><a href="/pmwiki/article_history.php?article=Webcomic.Homestuck" data-modal-target="login" rel="nofollow"> <i class="fa fa-history"></i> History</a></li><li class="link-reviews"><a href="/pmwiki/reviews.php?target_group=Webcomic&target_title=Homestuck"> <i class="fa fa-star-half-o"></i> 41 Reviews</a></li><li class="link-discussion"><a href="/pmwiki/remarks.php?trope=Webcomic.Homestuck" data-modal-target="login" rel="nofollow"> <i class="fa fa-comment"></i> Discussion</a></li> </ul> <button id="top_more_button" onclick="toggle_more_menu('top');" type="button" class="nav__dropdown-toggle">More</button> <ul id="top_more_list" class="more_menu hidden_more_list"> <li class="link-todo tuck-always more_list_item"><a href="#todo" data-modal-target="login" rel="nofollow"><i class="fa fa-check-circle"></i> To Do</a></li><li class="link-pageSource tuck-always more_list_item"><a href="/pmwiki/pmwiki.php/Webcomic/Homestuck?action=source" target="_blank" rel="nofollow"data-modal-target= "login"><i class="fa fa-code"></i> Page Source</a></li> </ul> </nav> <div class="WikiWordModalStub"></div> <div class="ImgUploadModalStub" data-page-type="Article"></div> <div class="login-alert" style="display: none;"> You need to <a href="/pmwiki/login.php" style="color:#21A0E8">login</a> to do this. <a href="/pmwiki/login.php?tab=register_account" style="color:#21A0E8">Get Known</a> if you don't have an account </div> </div> <div id="main-content" class="page-Article "> <article id="main-entry" class="with-sidebar"> <!-- HIDDEN INPUTS FOR JS --> <input type="hidden" id="groupname-hidden" value="Webcomic"/> <input type="hidden" id="title-hidden" value="Homestuck"/> <input type="hidden" id="article_id" value="286383" /> <input type="hidden" id="logged_in" value="false" /> <p id="current_url" class="hidden">http://tvtropes.org/pmwiki/pmwiki.php/Webcomic/Homestuck</p> <meta itemprop="datePublished" content=""/> <meta itemprop="articleSection" content="" /> <meta itemprop="image" content=""> <div class="watch_rank_wrap"> <a href="#watch" class="watch-button " data-modal-target="login" >Follow<span>ing</span></a> </div> <div class="span_entry_breadcrumb"> <span class="entry-breadcrumb"><a href="/pmwiki/pmwiki.php/Main/Webcomics" style="text-decoration:none;">Webcomics</a> &raquo;</span> <h1 itemprop="headline" class="entry-title"> Homestuck </h1> </div> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "TV Tropes", "item": "https://tvtropes.org/" },{ "@type": "ListItem", "position": 2, "name": "Webcomics", "item": "https://tvtropes.org/pmwiki/pmwiki.php/Main/Webcomics" },{ "@type": "ListItem", "position": 3, "name": "Homestuck", "item": "https://tvtropes.org/pmwiki/pmwiki.php/Webcomic/Homestuck" }] } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "name": "Homestuck (Webcomic)", "headline": "Homestuck (Webcomic)", "url": "https://tvtropes.org/pmwiki/pmwiki.php/Webcomic/Homestuck", "image": "https://mediaproxy.tvtropes.org/width/1200/https://static.tvtropes.org/pmwiki/pub/images/ezgif_5_f18d094592.png", "author": { "@type": "Organization", "name": "Contributors to TV Tropes (aka Tropers)" }, "datePublished": "2011-08-06T00:00:00-07:00", "dateModified": "2025-02-20T09:50:13-08:00" } </script> <a href="#mobile-actions-toggle" id="mobile-actionbar-toggle" class="mobile-actionbar-toggle mobile-on" data-click-toggle="active" > <p class="tiny-off">Go To</p><span></span><span></span><span></span><i class="fa fa-pencil"></i></a> <nav id="mobile-actions-bar" class="mobile-actions-wrapper mobile-on"></nav> <script> //duplicate action bar to the mobile-action-bar holder if (document.getElementById("mobile-actions-bar")) { // Clone the main list var top_main_list = document.getElementById('top_main_list'); var top_main_list_cln = top_main_list.cloneNode(true); // Clone the more list var top_more_list = document.getElementById('top_more_list'); var top_more_list_cln = top_more_list.cloneNode(true); top_more_list_cln.querySelectorAll("li").forEach(function(child){ top_main_list_cln.appendChild(child); }); document.getElementById("mobile-actions-bar").appendChild(top_main_list_cln); } </script> <nav class="body-options" itemscope itemtype="http://schema.org/SiteNavigationElement"> <ul class="subpage-links"> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Homestuck" class="subpage-link curr-subpage" title="The Webcomic page"> <span class="wrapper"><span class="spi webcomic"></span>Webcomic</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Awesome/Homestuck" class="subpage-link " title="The Awesome page"> <span class="wrapper"><span class="spi awesome"></span>Awesome</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/AwesomeMusic/Homestuck" class="subpage-link " title="The AwesomeMusic page"> <span class="wrapper"><span class="spi awesomemusic"></span>AwesomeMusic</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Characters/Homestuck" class="subpage-link " title="The Characters page"> <span class="wrapper"><span class="spi characters"></span>Characters</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/FanficRecs/Homestuck" class="subpage-link " title="The FanficRecs page"> <span class="wrapper"><span class="spi fanficrecs"></span>FanficRecs</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/FanWorks/Homestuck" class="subpage-link " title="The FanWorks page"> <span class="wrapper"><span class="spi fanworks"></span>FanWorks</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Franchise/Homestuck" class="subpage-link " title="The Franchise page"> <span class="wrapper"><span class="spi franchise"></span>Franchise</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Fridge/Homestuck" class="subpage-link " title="The Fridge page"> <span class="wrapper"><span class="spi fridge"></span>Fridge</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Funny/Homestuck" class="subpage-link " title="The Funny page"> <span class="wrapper"><span class="spi funny"></span>Funny</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Headscratchers/Homestuck" class="subpage-link " title="The Headscratchers page"> <span class="wrapper"><span class="spi headscratchers"></span>Headscratchers</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Heartwarming/Homestuck" class="subpage-link " title="The Heartwarming page"> <span class="wrapper"><span class="spi heartwarming"></span>Heartwarming</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/HoYay/Homestuck" class="subpage-link " title="The HoYay page"> <span class="wrapper"><span class="spi hoyay"></span>HoYay</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Laconic/Homestuck" class="subpage-link " title="The Laconic page"> <span class="wrapper"><span class="spi laconic-icon"></span>Laconic</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Music/Homestuck" class="subpage-link " title="The Music page"> <span class="wrapper"><span class="spi music"></span>Music</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/NightmareFuel/Homestuck" class="subpage-link " title="The NightmareFuel page"> <span class="wrapper"><span class="spi nightmarefuel"></span>NightmareFuel</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Pantheon/Homestuck" class="subpage-link " title="The Pantheon page"> <span class="wrapper"><span class="spi pantheon"></span>Pantheon</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Quotes/Homestuck" class="subpage-link " title="The Quotes page"> <span class="wrapper"><span class="spi quotes"></span>Quotes</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Recap/Homestuck" class="subpage-link " title="The Recap page"> <span class="wrapper"><span class="spi recap"></span>Recap</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/ShoutOut/Homestuck" class="subpage-link " title="The ShoutOut page"> <span class="wrapper"><span class="spi shoutout"></span>ShoutOut</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/TearJerker/Homestuck" class="subpage-link " title="The TearJerker page"> <span class="wrapper"><span class="spi tearjerker"></span>TearJerker</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Trivia/Homestuck" class="subpage-link " title="The Trivia page"> <span class="wrapper"><span class="spi trivia"></span>Trivia</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/WMG/Homestuck" class="subpage-link " title="The WMG page"> <span class="wrapper"><span class="spi wmg"></span>WMG</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/YMMV/Homestuck" class="subpage-link " title="The YMMV page"> <span class="wrapper"><span class="spi ymmv"></span>YMMV</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/VideoExamples/Homestuck" class="subpage-link video-examples-tab " title="Video Examples"> <img src="/images/play-button-logo.png" alt="play" class=""> <span class="wrapper">VideoExamples</span> </a> </li> <li class="more-subpages"> <a href="javascript:void(0);" class="subpage-toggle-button" > <span class="wrapper more">More <i class="fa fa-chevron-down"></i></span> <span class="wrapper less"><i class="fa fa-chevron-left"></i> Less</span> </a> <select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);" tabindex="0"> <option value="">- More -</option> <option value="/pmwiki/pmwiki.php/AlternativeCharacterInterpretation/Homestuck">AlternativeCha&#8230;</option> <option value="/pmwiki/pmwiki.php/BrokenBase/Homestuck">BrokenBase</option> <option value="/pmwiki/pmwiki.php/ContinuityNod/Homestuck">ContinuityNod</option> <option value="/pmwiki/pmwiki.php/EsWebComics/Homestuck">EsWebComics</option> <option value="/pmwiki/pmwiki.php/FandomSpecificPlot/Homestuck">FandomSpecific&#8230;</option> <option value="/pmwiki/pmwiki.php/Fanon/Homestuck">Fanon</option> <option value="/pmwiki/pmwiki.php/FunnyAneurysmMoment/Homestuck">FunnyAneurysmM&#8230;</option> <option value="/pmwiki/pmwiki.php/Haiku/Homestuck">Haiku</option> <option value="/pmwiki/pmwiki.php/HarsherInHindsight/Homestuck">HarsherInHinds&#8230;</option> <option value="/pmwiki/pmwiki.php/LateArrivalSpoiler/Homestuck">LateArrivalSpo&#8230;</option> <option value="/pmwiki/pmwiki.php/Memes/Homestuck">Memes</option> <option value="/pmwiki/pmwiki.php/MoodWhiplash/Homestuck">MoodWhiplash</option> <option value="/pmwiki/pmwiki.php/Timeline/Homestuck">Timeline</option> <option value="/pmwiki/pmwiki.php/WarpThatAesop/Homestuck">WarpThatAesop</option> <option value="/pmwiki/pmwiki.php/WhamEpisode/Homestuck">WhamEpisode</option> <option value="/pmwiki/pmwiki.php/Woobie/Homestuck">Woobie</option> </select> </li> <li class="create-subpage dropdown"> <a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> <span class="wrapper">Create Subpage <i class="fa fa-plus-circle"></i></span> </a> <select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"> <option value="">- Create New -</option> <option value="/pmwiki/pmwiki.php/Analysis/Homestuck?action=edit">Analysis</option> <option value="/pmwiki/pmwiki.php/Archive/Homestuck?action=edit">Archive</option> <option value="/pmwiki/pmwiki.php/DerivativeWorks/Homestuck?action=edit">DerivativeWork&#8230;</option> <option value="/pmwiki/pmwiki.php/ImageLinks/Homestuck?action=edit">ImageLinks</option> <option value="/pmwiki/pmwiki.php/ImageSource/Homestuck?action=edit">ImageSource</option> <option value="/pmwiki/pmwiki.php/MediaNotes/Homestuck?action=edit">MediaNotes</option> <option value="/pmwiki/pmwiki.php/Newsletter/Homestuck?action=edit">Newsletter</option> <option value="/pmwiki/pmwiki.php/PlayingWith/Homestuck?action=edit">PlayingWith</option> <option value="/pmwiki/pmwiki.php/QuoteSource/Homestuck?action=edit">QuoteSource</option> <option value="/pmwiki/pmwiki.php/ReferencedBy/Homestuck?action=edit">ReferencedBy</option> <option value="/pmwiki/pmwiki.php/Shocking/Homestuck?action=edit">Shocking</option> </select> </li> </ul> </nav> <div id="main-article" class="article-content retro-folders"> <p><!--&#010;--><!-- Add character tropes to the character sheet, not this page.--><!--&#010;--><!-- Due to the rapidly-developing nature of this comic and Hussie's writing style, please refrain from adding examples regarding recent story events until the events in question have fully resolved themselves.--><!--&#010;--><!-- Be careful about using the word "recent" or "recently" when referring to recent updates, as soon the update won't be recent anymore. It's better to say "As of the beginning of Act 5 Act 2" than "As of a recent update."--><!--&#010;--><!--&#010;--></p><p><div class="quoteright" style="width:350px;" ><div class="lazy_load_img_box" style="padding-top:93.6%"><img src='https://mediaproxy.tvtropes.org/width/1200/https://static.tvtropes.org/pmwiki/pub/images/ezgif_5_f18d094592.png' class='embeddedimage' border='0' alt='Homestuck (Webcomic)' width=1200 height=1123></div></div><div class="acaptionright" style="width:350px;" >You have a feeling it's going to be a long day.</div></p><p><div class='indent'><em>"I don't merely <strong>draw</strong> Homestuck... (Click "==&gt;", I am about to make a joke.)" <span class="notelabel" onclick="togglenote('note09n6j');"><sup>==&gt;</sup></span><span id="note09n6j" class="inlinefolder" isnote="true" onclick="togglenote('note09n6j');" style="cursor:pointer;font-size:smaller;display:none;"><br data-format="\\" />I <strong>CONJURE</strong> THIS INTREPID FANTASYSCAPE WITH TEARS BLED FROM THE WISDOM-WEARY EYES OF FIFTY THOUSAND IMAGINARY MAGICIANS. I PULL HEAVY DRAGS FROM THE BRUMES OF INSPIRATION WITH ENCHANTED BELLOWS MARAUDED FROM A GUILD OF CHURLISH MYTHICAL DWARVES. VAST BULBOUS RIDDLESPIDERS PUSH THE SILKEN STRANDS OF PURE WHIMSY THROUGH HIDEOUS ABDOMINAL SPINNERETS AND IT IS THAT WITH WHICH I WEAVE THIS AUDACIOUS COCOON OF EXQUISITE LIES. AND WHEN IT HATCHES A GREAT MOTH OF TITILLATION WILL AWAKEN AND ROAR AND BEAT ITS WINGS, AND THE POWDER SETTLING DOWN WILL ARREST THE HUMORS OF AN ENORMOUS TERRIBLE OLD BEGGAR, RELAXING THE VULTUROUS LEATHERY VICEGRIP HE'S FIXED AROUND YOUR CAPTIVE MIND.</span></em><div class='indent'>&#8212; <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Creator/AndrewHussie' title='/pmwiki/pmwiki.php/Creator/AndrewHussie' data-format='Q3JlYXRvci9BbmRyZXdIdXNzaWU='>Andrew Hussie</a></strong>, <a class='urllink' href='https://www.homestuck.com/story/1677'>this page<img src="https://static.tvtropes.org/pmwiki/pub/external_link.gif" height="12" width="12" style="border:none;" /></a></div></div></p><p><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Main/Doorstopper' title='/pmwiki/pmwiki.php/Main/Doorstopper' data-format='W1t7e0Rvb3JzdG9wcGVyfX0gJmd0OyBCZWdpbiByZWFkaW5nIGV4Y2Vzc2l2ZWx5IHZlcmJvc2UgZG9jdW1lbnQuXV0='>&gt; Begin reading excessively verbose document.</a></strong></p><p>A sort of <a class='twikilink' href='/pmwiki/pmwiki.php/Main/InteractiveComic' title='/pmwiki/pmwiki.php/Main/InteractiveComic' data-format='SW50ZXJhY3RpdmVDb21pYw=='>Interactive Comic</a>/Flash game hybrid, <em><a class='urllink' href='https://homestuck.github.io/'>Homestuck<img src="https://static.tvtropes.org/pmwiki/pub/external_link.gif" height="12" width="12" style="border:none;" /></a></em> is the fourth and latest series of <em><a class='twikilink' href='/pmwiki/pmwiki.php/Webcomic/MSPaintAdventures' title='/pmwiki/pmwiki.php/Webcomic/MSPaintAdventures' data-format='V2ViY29taWMvTVNQYWludEFkdmVudHVyZXM='>MS Paint Adventures</a></em>, a series of web comics done in the style of old <a class='twikilink' href='/pmwiki/pmwiki.php/Main/InteractiveFiction' title='/pmwiki/pmwiki.php/Main/InteractiveFiction' data-format='W1tJbnRlcmFjdGl2ZUZpY3Rpb24gdGV4dC1iYXNlZF1d'>text-based</a> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/AdventureGame' title='/pmwiki/pmwiki.php/Main/AdventureGame' data-format='e3thZHZlbnR1cmUgZ2FtZX19cw=='>adventure games</a>, written by <a class='twikilink' href='/pmwiki/pmwiki.php/Creator/AndrewHussie' title='/pmwiki/pmwiki.php/Creator/AndrewHussie' data-format='Q3JlYXRvci9BbmRyZXdIdXNzaWU='>Andrew Hussie</a>. <em>Homestuck</em> started like the others, with every update prompted by a <a class='twikilink' href='/pmwiki/pmwiki.php/Main/AudienceParticipation' title='/pmwiki/pmwiki.php/Main/AudienceParticipation' data-format='W1tBdWRpZW5jZVBhcnRpY2lwYXRpb24gdXNlciBzdWdnZXN0aW9uXV0='>user suggestion</a>, but it soon shed its suggestion box when the plot outgrew it, and has since become a multimedia <em><a class='twikilink' href='/pmwiki/pmwiki.php/Main/MediumBlending' title='/pmwiki/pmwiki.php/Main/MediumBlending' data-format='W1tNZWRpdW1CbGVuZGluZyB0aGluZ11d'>thing</a></em> which has grown to be truly enormous.</p><p>A young man stands in his bedroom. It just so happens that today, the 13th of April, 2009, is this young man's birthday. Though it was thirteen years ago he was given life, it is only today he will be given a name!</p><p><a class='twikilink' href='/pmwiki/pmwiki.php/Main/HelloInsertNameHere' title='/pmwiki/pmwiki.php/Main/HelloInsertNameHere' data-format='W1tIZWxsb0luc2VydE5hbWVIZXJlIFdoYXQgd2lsbCB0aGUgbmFtZSBvZiB0aGlzIHlvdW5nIG1hbiBiZT9dXQ=='>What will the name of this young man be?</a></p><p>...It will be Zoosmell Pooplord... er, sorry. It will be John Egbert. Our chief protagonist is one of four thirteen-year-old friends&#8212;the other three being Rose Lalonde, Dave Strider, and Jade Harley&#8212;who are fated to play <em>Sburb</em>, a widely hyped multi-player video game with real-life effects. <em>Sburb</em> allows players to manipulate and modify each other's environments in real time in a way reminiscent of <em><a class='twikilink' href='/pmwiki/pmwiki.php/VideoGame/TheSims' title='/pmwiki/pmwiki.php/VideoGame/TheSims' data-format='VmlkZW9HYW1lL1RoZVNpbXM='>The Sims</a></em>. But as it turns out, the consequences of playing <em>Sburb</em> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheGamePlaysYou' title='/pmwiki/pmwiki.php/Main/TheGamePlaysYou' data-format='W1tUaGVHYW1lUGxheXNZb3UgYXJlIHNpZ25pZmljYW50bHkgZnVydGhlci1yZWFjaGluZyB0aGFuIHRoZXkgaW5pdGlhbGx5IGFwcGVhciB0byBiZV1d'>are significantly further-reaching than they initially appear to be</a>, and what begins as a series of amusing domestic struggles and game-mechanics goofs quickly <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SerialEscalation' title='/pmwiki/pmwiki.php/Main/SerialEscalation' data-format='W1tTZXJpYWxFc2NhbGF0aW9uIHNwaXJhbHMgaW50byBhIHN1Y2Nlc3Npb24gb2YgZXZlbnRzXV0='>spirals into a succession of events</a> far beyond the expectations of its participants.</p><p><em>Homestuck</em> began on April 13, 2009, only one month after the end of the highly successful <em><a class='twikilink' href='/pmwiki/pmwiki.php/Webcomic/ProblemSleuth' title='/pmwiki/pmwiki.php/Webcomic/ProblemSleuth' data-format='V2ViY29taWMvUHJvYmxlbVNsZXV0aA=='>Problem Sleuth</a></em>. It rapidly rose in popularity for many reasons, primarily for its <a class='twikilink' href='/pmwiki/pmwiki.php/Main/JigsawPuzzlePlot' title='/pmwiki/pmwiki.php/Main/JigsawPuzzlePlot' data-format='W1tKaWdzYXdQdXp6bGVQbG90IGludHJpY2F0ZV1d'>intricate</a> multi-timeline apocalypse-centric plot, insanely fast update schedule for the first few years<span class="notelabel" onclick="togglenote('note0yfjx');"><sup>note&nbsp;</sup></span><span id="note0yfjx" class="inlinefolder" isnote="true" onclick="togglenote('note0yfjx');" style="cursor:pointer;font-size:smaller;display:none;">At its peak, <em>Homestuck</em> updated with 5.5 pages a day on average, a veritable torrent of updates save for <a class='twikilink' href='/pmwiki/pmwiki.php/Main/AnimationBump' title='/pmwiki/pmwiki.php/Main/AnimationBump' data-format='W1tBbmltYXRpb25CdW1wIEZsYXNoIGFuaW1hdGlvbnNdXQ=='>Flash animations</a></span>, a visual upgrade from the style of <em>Problem Sleuth</em>, Flash animations and games accompanied by <a class='twikilink' href='/pmwiki/pmwiki.php/Music/Homestuck' title='/pmwiki/pmwiki.php/Music/Homestuck' data-format='W1tNdXNpYy97e0hvbWVzdHVja319IGEgbWFzc2l2ZSBzb3VuZHRyYWNrXV0='>a massive soundtrack</a>, and its <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Troperiffic' title='/pmwiki/pmwiki.php/Main/Troperiffic' data-format='W1t7e1Ryb3BlcmlmZmljfX0gaW5jcmVkaWJseSBoaWdoIHRyb3BlIGRlbnNpdHldXQ=='>incredibly high trope density</a>.</p><p>As the scope and scale of the comic grew, Hussie began <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SeriesHiatus' title='/pmwiki/pmwiki.php/Main/SeriesHiatus' data-format='W1tTZXJpZXNIaWF0dXMgcGF1c2luZyB1cGRhdGVzIG9mIHRoZSBjb21pY11d'>pausing updates of the comic</a> in order to produce Flash animations, develop <em><a class='twikilink' href='/pmwiki/pmwiki.php/VideoGame/Hiveswap' title='/pmwiki/pmwiki.php/VideoGame/Hiveswap' data-format='VmlkZW9HYW1lL3t7SGl2ZXN3YXB9fQ=='>Hiveswap</a></em>, and work on larger chunks of the story at once, including a weeks-long hiatus for the End of Act 5 flash, a year-long "Gigapause" during Act 6, and an eight-month "Omegapause" from July 2015. <em>Homestuck</em><span class='esc-seq' title='non-wikiword'>'</span>s final stretch of updates began on March 28th, 2016, and the climax of the story finally ended on <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ArcNumber' title='/pmwiki/pmwiki.php/Main/ArcNumber' data-format='W1tBcmNOdW1iZXIgQXByaWwgMTN0aF1d'>April 13th</a>, 2016, the seventh anniversary of the comic. However, Hussie also made a <a class='urllink' href='https://www.youtube.com/watch?v=rMZU89jY2j8'>credits video<img src="https://static.tvtropes.org/pmwiki/pub/external_link.gif" height="12" width="12" style="border:none;" /></a> released on <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ArcNumber' title='/pmwiki/pmwiki.php/Main/ArcNumber' data-format='W1tBcmNOdW1iZXIgT2N0b2JlciAyNSwgMjAxNl1d'>October 25, 2016</a>, and eventually <em><a class='twikilink' href='/pmwiki/pmwiki.php/Literature/TheHomestuckEpilogues' title='/pmwiki/pmwiki.php/Literature/TheHomestuckEpilogues' data-format='TGl0ZXJhdHVyZS9UaGVIb21lc3R1Y2tFcGlsb2d1ZXM='>The Homestuck Epilogues</a></em>, which started on <a class='twikilink' href='/pmwiki/pmwiki.php/Main/BookEnds' title='/pmwiki/pmwiki.php/Main/BookEnds' data-format='W1tCb29rRW5kcyBBcHJpbCAxMywgMjAxOV1d'>April 13, 2019</a>. October 25 of the same year, he released the beginning of an official sequel (so to speak) to the comic, <em><a class='twikilink' href='/pmwiki/pmwiki.php/Webcomic/HomestuckBeyondCanon' title='/pmwiki/pmwiki.php/Webcomic/HomestuckBeyondCanon' data-format='V2ViY29taWMvSG9tZXN0dWNrQmV5b25kQ2Fub24='>Homestuck: Beyond Canon</a></em>.</p><p><em>Homestuck</em> has spawned several major side projects, including the Kickstarter-funded <em><a class='twikilink' href='/pmwiki/pmwiki.php/VideoGame/Hiveswap' title='/pmwiki/pmwiki.php/VideoGame/Hiveswap' data-format='VmlkZW9HYW1lL3t7SGl2ZXN3YXB9fQ=='>Hiveswap</a></em>, the online anthology <em><a class='twikilink' href='/pmwiki/pmwiki.php/Webcomic/ParadoxSpace' title='/pmwiki/pmwiki.php/Webcomic/ParadoxSpace' data-format='V2ViY29taWMvUGFyYWRveFNwYWNl'>Paradox Space</a></em>, and the multimedia <em><a class='urllink' href='https://www.youtube.com/watch?v=SxHnKT_2u64'>Homestuck 2.0<img src="https://static.tvtropes.org/pmwiki/pub/external_link.gif" height="12" width="12" style="border:none;" /></a></em> with eager involvement from <a class='twikilink' href='/pmwiki/pmwiki.php/Creator/DanteBasco' title='/pmwiki/pmwiki.php/Creator/DanteBasco' data-format='Q3JlYXRvci9EYW50ZUJhc2Nv'>Dante Basco</a>. For a full list of side projects, see <a class='twikilink' href='/pmwiki/pmwiki.php/Franchise/Homestuck' title='/pmwiki/pmwiki.php/Franchise/Homestuck' data-format='W1tGcmFuY2hpc2Uve3tIb21lc3R1Y2t9fSB0aGUgRnJhbmNoaXNlIHBhZ2VdXQ=='>the Franchise page</a>.</p><p>Voice acting troupe <a class='twikilink' href='/pmwiki/pmwiki.php/Creator/Voxus' title='/pmwiki/pmwiki.php/Creator/Voxus' data-format='Q3JlYXRvci97e1ZveHVzfX0='>Voxus</a> is in the process of dubbing <em>Homestuck</em>, and as of June 2024 the project has finished Act 6 Act 5 Act 1, soon to begin Act 6 Act 5 Act 2.</p><p>In October of 2017, <a class='twikilink' href='/pmwiki/pmwiki.php/Creator/VIZMedia' title='/pmwiki/pmwiki.php/Creator/VIZMedia' data-format='Q3JlYXRvci9WSVpNZWRpYQ=='>VIZ Media</a> <a class='urllink' href='https://www.viz.com/news/newsroom/v/1006506'>announced<img src="https://static.tvtropes.org/pmwiki/pub/external_link.gif" height="12" width="12" style="border:none;" /></a> that they had acquired <em>Homestuck</em> in addition to their plans to publish the comic in book form. Webcomic merchandising company <span class='esc-seq' title='non-wikiword'>TopatoCo</span> had previously attempted to do the same, but ultimately only published the first three acts. As of March 2020, the VIZ book series has reached Act 5 Act 2 Part 2.</p><p>Note: with the end of Flash on internet browsers, <em>Homestuck</em> is no longer accessible online in its original form (most Flash content has been replaced with low-res videos), and lack of maintenance has left the original site increasingly difficult to use. The fan-made <a class='urllink' href='https://homestuck.github.io/'>Unofficial Homestuck Collection<img src="https://static.tvtropes.org/pmwiki/pub/external_link.gif" height="12" width="12" style="border:none;" /></a>, a downloadable version of the webcomic, has been <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ApprovalOfGod' title='/pmwiki/pmwiki.php/Main/ApprovalOfGod' data-format='W1tBcHByb3ZhbE9mR29kIGVuZG9yc2VkXV0='>endorsed</a> by the author as the least broken way to read <em>Homestuck</em>, and is currently undergoing development for an official release. It also contains the other <em>MS Paint Adventures</em>' webcomics.<!--[[https://homestuck.giovanh.com/ An online version]] was also made available in 2023, which uses Ruffle to emulate the Flash-based content.--><!-- This is down again, keep an eye out for if a new web-readable version goes online (2025-02-20).--></p><p><hr data-format='&#8212;&#8212;' /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Main/LateArrivalSpoiler' title='/pmwiki/pmwiki.php/Main/LateArrivalSpoiler' data-format='TGF0ZUFycml2YWxTcG9pbGVy'>Late-Arrival Spoiler</a> Warning:</strong> <em>Homestuck</em> is an enormous, deeply complicated story that features rapid plot developments. Additionally, it features a cast of characters filled with <a class='twikilink' href='/pmwiki/pmwiki.php/Main/WalkingSpoiler' title='/pmwiki/pmwiki.php/Main/WalkingSpoiler' data-format='e3t3YWxraW5nIHNwb2lsZXJ9fXM='>walking spoilers</a> that have become ubiquitous in the story, and a majority of the story's seemingly minor events, themes and jokes themselves constitute or foreshadow what were originally major twists. Therefore, <strong>all spoilers for <em>Homestuck</em> have been left unmarked</strong>. <em>Homestuck</em> is freely available in its entirety, and there are no barriers to reading. To fully enjoy the experience, it is <em>highly</em> suggested you read the whole comic <em>before</em> visiting any of the following links.<span class="notelabel" onclick="togglenote('note10min');"><sup>note&nbsp;</sup></span><span id="note10min" class="inlinefolder" isnote="true" onclick="togglenote('note10min');" style="cursor:pointer;font-size:smaller;display:none;">Well, except the Laconic link.</span> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Administrivia/YouHaveBeenWarned' title='/pmwiki/pmwiki.php/Administrivia/YouHaveBeenWarned' data-format='QWRtaW5pc3RyaXZpYS9Zb3VIYXZlQmVlbldhcm5lZA=='>You Have Been Warned</a></strong>. <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ArchivePanic' title='/pmwiki/pmwiki.php/Main/ArchivePanic' data-format='W1tBcmNoaXZlUGFuaWMgR29vZCBsdWNrXV0='>Good luck</a>.<hr data-format='&#8212;&#8212;' /><h2> &gt; Contextualize currently-compiled list of common media devices exemplified in <em>Homestuck</em>.</h2>PSYCHE! The tropes for this work have been split alphabetically due to their sheer numbers. Looks like you'll have to visit the sub-pages for the trope listing.<!-- Please do not add tropes to this page. Instead, go to the appropriate sub-page.--><!&#8212;index&#8212;></p><p><ul ><li> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Homestuck/TropesAToL' title='/pmwiki/pmwiki.php/Homestuck/TropesAToL' data-format='W1tIb21lc3R1Y2svVHJvcGVzQVRvTCAmZ3Q7IERvY3VtZW50IHRyb3BlcyBBIHRocm91Z2ggTC5dXQ=='>&gt; Document tropes A through L.</a></strong></li><li> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Homestuck/TropesMToZ' title='/pmwiki/pmwiki.php/Homestuck/TropesMToZ' data-format='W1tIb21lc3R1Y2svVHJvcGVzTVRvWiAmZ3Q7IERvY3VtZW50IHRyb3BlcyBNIHRocm91Z2ggWi5dXQ=='>&gt; Document tropes M through Z.</a></strong></li></ul><hr data-format='&#8212;&#8212;' /><ul ><li> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/ContinuityNod/Homestuck' title='/pmwiki/pmwiki.php/ContinuityNod/Homestuck' data-format='W1tDb250aW51aXR5Tm9kL3t7SG9tZXN0dWNrfX0gJmd0OyBOb2QgdG8gZXN0YWJsaXNoZWQgY29udGludWl0eS5dXQ=='>&gt; Nod to established continuity.</a></strong></li><li> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/LateArrivalSpoiler/Homestuck' title='/pmwiki/pmwiki.php/LateArrivalSpoiler/Homestuck' data-format='W1tMYXRlQXJyaXZhbFNwb2lsZXIve3tIb21lc3R1Y2t9fSAmZ3Q7IEludmVzdGlnYXRlIG5vdy1oaWdobHktcHJldmFsZW50IHNwb2lsZXJzLl1d'>&gt; Investigate now-highly-prevalent spoilers.</a></strong></li><li> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/MoodWhiplash/Homestuck' title='/pmwiki/pmwiki.php/MoodWhiplash/Homestuck' data-format='W1tNb29kV2hpcGxhc2gve3tIb21lc3R1Y2t9fSAmZ3Q7IFJlY2FsbCB0b25hbCBqdXh0YXBvc2l0aW9ucy5dXQ=='>&gt; Recall tonal juxtapositions.</a></strong></li><li> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/ShoutOut/Homestuck' title='/pmwiki/pmwiki.php/ShoutOut/Homestuck' data-format='W1tTaG91dE91dC97e0hvbWVzdHVja319ICZndDsgRG9jdW1lbnQgcmVmZXJlbmNlcyB0byBvdGhlciBtZWRpYS5dXQ=='>&gt; Document references to other media.</a></strong></li><li> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/WhamEpisode/Homestuck' title='/pmwiki/pmwiki.php/WhamEpisode/Homestuck' data-format='W1tXaGFtRXBpc29kZS97e0hvbWVzdHVja319ICZndDsgUmVzcG9uZCB0byBkcmFtYXRpYyB0dXJucyBvZiBldmVudHMuXV0='>&gt; Respond to dramatic turns of events.</a></strong></li></ul></p><p><!&#8212;/index&#8212;><hr data-format='&#8212;&#8212;' /><h2> <strong>&gt; Gather articles of supplemental data related to <em>Homestuck</strong></em>.</h2><!&#8212;index&#8212;><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Music/Homestuck' title='/pmwiki/pmwiki.php/Music/Homestuck' data-format='W1tNdXNpYy97e0hvbWVzdHVja319ICZndDsgQ2FwdGNoYWxvZ3VlIHNpY2sgYmVhdHMuXV0='>&gt; Captchalogue sick beats.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Characters/Homestuck' title='/pmwiki/pmwiki.php/Characters/Homestuck' data-format='W1tDaGFyYWN0ZXJzL3t7SG9tZXN0dWNrfX0gJmd0OyBTdHVkeSBjYXN0IGRvc3NpZXIuXV0='>&gt; Study cast dossier.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/SelfDemonstrating/DocScratch' title='/pmwiki/pmwiki.php/SelfDemonstrating/DocScratch' data-format='W1tTZWxmRGVtb25zdHJhdGluZy9Eb2NTY3JhdGNoICZndDsgQmUgRG9jIFNjcmF0Y2guXV0='>&gt; Be Doc Scratch.</a></strong><br data-format="\\\" /><br /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/YMMV/Homestuck' title='/pmwiki/pmwiki.php/YMMV/Homestuck' data-format='W1tZTU1WL3t7SG9tZXN0dWNrfX0gJmd0OyBXZWlnaCBpbiBvbiBzdWJqZWN0aXZlIG1hdHRlcnMuXV0='>&gt; Weigh in on subjective matters.</a></strong><dl ><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Awesome/Homestuck' title='/pmwiki/pmwiki.php/Awesome/Homestuck' data-format='W1tBd2Vzb21lL3t7SG9tZXN0dWNrfX0gJmd0OyBETyBUSEUgQVdFU09NRSBUSElORy5dXQ=='>&gt; DO THE AWESOME THING.</a></strong></dd><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/BrokenBase/Homestuck' title='/pmwiki/pmwiki.php/BrokenBase/Homestuck' data-format='W1tCcm9rZW5CYXNlL3t7SG9tZXN0dWNrfX0gJmd0OyBFbmdhZ2UgaW4gY29uZnJvbnRhdGlvbmFsIGRlYmF0ZXMuXV0='>&gt; Engage in confrontational debates.</a></strong></dd><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Funny/Homestuck' title='/pmwiki/pmwiki.php/Funny/Homestuck' data-format='W1tGdW5ueS97e0hvbWVzdHVja319ICZndDsgRXhwZXJpZW5jZSBtaXJ0aGZ1bCBzaGVuYW5pZ2Fucy5dXQ=='>&gt; Experience mirthful shenanigans.</a></strong></dd><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Heartwarming/Homestuck' title='/pmwiki/pmwiki.php/Heartwarming/Homestuck' data-format='W1tIZWFydHdhcm1pbmcve3tIb21lc3R1Y2t9fSAmZ3Q7IEluc3BlY3QgYnVybmluZyB2YXNjdWxhciBwdW1wLl1d'>&gt; Inspect burning vascular pump.</a></strong></dd><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/HoYay/Homestuck' title='/pmwiki/pmwiki.php/HoYay/Homestuck' data-format='W1tIb1lheS97e0hvbWVzdHVja319ICZndDsgRG9jdW1lbnQgaG9tb3JvbWFudGljIGFmZmVjdGlvbnMuXV0='>&gt; Document homoromantic affections.</a></strong></dd><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/Memes/Homestuck' title='/pmwiki/pmwiki.php/Memes/Homestuck' data-format='W1tNZW1lcy97e0hvbWVzdHVja319ICZndDsgU2xldXRoIG91dCBpbnRlcm5ldCBjb2xsb3F1aWFsaXNtcy5dXQ=='>&gt; Sleuth out internet colloquialisms.</a></strong></dd><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/NightmareFuel/Homestuck' title='/pmwiki/pmwiki.php/NightmareFuel/Homestuck' data-format='W1tOaWdodG1hcmVGdWVsL3t7SG9tZXN0dWNrfX0gJmd0OyBQZXJ1c2UgYmFkIGRyZWFtIGNhdGFseXN0cy5dXQ=='>&gt; Peruse bad dream catalysts.</a></strong></dd><dt> </dt><dd> <strong><a class='twikilink' href='/pmwiki/pmwiki.php/TearJerker/Homestuck' title='/pmwiki/pmwiki.php/TearJerker/Homestuck' data-format='W1tUZWFySmVya2VyL3t7SG9tZXN0dWNrfX0gJmd0OyBTaGVkIHNpbmdsZSB0ZWFyIG9mIGJsYWNrIGxpcXVpZCBzb3Jyb3cuXV0='>&gt; Shed single tear of black liquid sorrow.</a></strong><br data-format="\\\" /><br /></dd></dl><strong><a class='twikilink' href='/pmwiki/pmwiki.php/AwesomeMusic/Homestuck' title='/pmwiki/pmwiki.php/AwesomeMusic/Homestuck' data-format='W1tBd2Vzb21lTXVzaWMve3tIb21lc3R1Y2t9fSAmZ3Q7IEFwcHJlY2lhdGUgYmVhdCBjb2xsZWN0aW9ucy5dXQ=='>&gt; Appreciate beat collections.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Trivia/Homestuck' title='/pmwiki/pmwiki.php/Trivia/Homestuck' data-format='W1tUcml2aWEve3tIb21lc3R1Y2t9fSAmZ3Q7IEVuZ2FnZSBpbiB1c2VsZXNzIGxlYXJuaW5nLl1d'>&gt; Engage in useless learning.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Laconic/Homestuck' title='/pmwiki/pmwiki.php/Laconic/Homestuck' data-format='W1tMYWNvbmljL3t7SG9tZXN0dWNrfX0gJmd0OyBTdWNjdW1iIHRvIHVuZmF0aG9tYWJsZSBicmV2aXR5Ll1d'>&gt; Succumb to unfathomable brevity.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Quotes/Homestuck' title='/pmwiki/pmwiki.php/Quotes/Homestuck' data-format='W1tRdW90ZXMve3tIb21lc3R1Y2t9fSAmZ3Q7IEZvbmRseSByZWdhcmQgcXVvdGF0aW9ucy5dXQ=='>&gt; Fondly regard quotations.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Timeline/Homestuck' title='/pmwiki/pmwiki.php/Timeline/Homestuck' data-format='W1tUaW1lbGluZS97e0hvbWVzdHVja319ICZndDsgQXR0ZW1wdCB0byB1bmRlcnN0YW5kIG1pbmQtYmVuZGluZyBjaHJvbm9sb2d5Ll1d'>&gt; Attempt to understand mind-bending chronology.</a></strong><br data-format="\\\" /><br /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Fanworks/Homestuck' title='/pmwiki/pmwiki.php/Fanworks/Homestuck' data-format='W1tGYW53b3Jrcy97e0hvbWVzdHVja319ICZndDsgQ29tcGlsZSBmYW4gd29ya3MuXV0='>&gt; Compile fan works.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Music/HomestuckFanMusic' title='/pmwiki/pmwiki.php/Music/HomestuckFanMusic' data-format='W1tNdXNpYy9Ib21lc3R1Y2tGYW5NdXNpYyAmZ3Q7IE9ic2VydmUgZmFuLW1hZGUgYWRkaXRpb25zIHRvIGVzdGFibGlzaGVkIHNpY2sgYmVhdHMuXV0='>&gt; Observe fan-made additions to established sick beats.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/FanficRecs/Homestuck' title='/pmwiki/pmwiki.php/FanficRecs/Homestuck' data-format='W1tGYW5maWNSZWNzL3t7SG9tZXN0dWNrfX0gJmd0OyBSZXZpZXcgdW5zYW5jdGlvbmVkIHN0b3J5dGVsbGluZy5dXQ=='>&gt; Review unsanctioned storytelling.</a></strong><br data-format="\\\" /><br /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/WMG/Homestuck' title='/pmwiki/pmwiki.php/WMG/Homestuck' data-format='W1tXTUcve3tIb21lc3R1Y2t9fSAmZ3Q7IEludmVzdGlnYXRlIHVuZm9jdXNlZCBwcmVkaWN0aW9ucy5dXQ=='>&gt; Investigate unfocused predictions.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Headscratchers/Homestuck' title='/pmwiki/pmwiki.php/Headscratchers/Homestuck' data-format='W1tIZWFkc2NyYXRjaGVycy97e0hvbWVzdHVja319ICZndDsgUmVwb3J0IGNyYW5pYWwgaXJyaXRhdGlvbi5dXQ=='>&gt; Report cranial irritation.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Fridge/Homestuck' title='/pmwiki/pmwiki.php/Fridge/Homestuck' data-format='W1tGcmlkZ2Uve3tIb21lc3R1Y2t9fSAmZ3Q7IFRha2UgaW52ZW50b3J5IG9mIHRoZXJtYWwgaHVsbC5dXQ=='>&gt; Take inventory of thermal hull.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Haiku/Homestuck' title='/pmwiki/pmwiki.php/Haiku/Homestuck' data-format='W1tIYWlrdS97e0hvbWVzdHVja319ICZndDsgQ29tcG9zZSBKYXBhbmVzZSBwb2V0cnkuXV0='>&gt; Compose Japanese poetry.</a></strong><br data-format="\\" /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/WarpThatAesop/Homestuck' title='/pmwiki/pmwiki.php/WarpThatAesop/Homestuck' data-format='W1tXYXJwVGhhdEFlc29wL3t7SG9tZXN0dWNrfX0gJmd0OyBEaXN0b3J0IHByZXNlbnRlZCBsaWZlIGxlc3NvbnMuXV0='>&gt; Distort presented life lessons.</a></strong><br data-format="\\\" /><br /><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Literature/TheHomestuckEpilogues' title='/pmwiki/pmwiki.php/Literature/TheHomestuckEpilogues' data-format='W1tMaXRlcmF0dXJlL1RoZUhvbWVzdHVja0VwaWxvZ3VlcyA9PSZndDtdXQ=='>==&gt;</a></strong><br data-format="\\\" /><br /><!&#8212;/index&#8212;></p><p><hr data-format='&#8212;&#8212;' /><dl><dd><div class='indent'><strong><a class='urllink' href='http://readmspa.org/stats/'>4/13/2009 - 4/13/2016<img src="https://static.tvtropes.org/pmwiki/pub/external_link.gif" height="12" width="12" style="border:none;" /></a></strong></div><div class='indent'>2558 days</div><div class='indent'>8124 pages</div><div class='indent'>14,913 panels</div><div class='indent'>817,612 words (incl. 113,319 transcribed)</div><div class='indent'>about 282% the size of The Lord Of The Rings, 176% the size of the King James Bible, 125% the size of the Harry Potter series, or 77% the size of A Song Of Ice And Fire (the five books so far)</div><div class='indent'>164 Flash updates</div><div class='indent'>3.2 pages per day</div><div class='indent'>4 hours, 5 minutes, 2 seconds of animated footage</div><div class='indent'>29 albums<span class="notelabel" onclick="togglenote('note2zomi');"><sup>note&nbsp;</sup></span><span id="note2zomi" class="inlinefolder" isnote="true" onclick="togglenote('note2zomi');" style="cursor:pointer;font-size:smaller;display:none;">26 if you count <em>Homestuck Vol. 1-4</em> as one.</span></div><div class='indent'>51 Sweet Bro and Hella Jeffs</div><div class='indent'>&#8212;<strong>Anthony Bailey</strong>, stats for <em>Homestuck</em>'s final year</div></dd></dl><hr data-format='&#8212;&#8212;' /><span class="font-s"><strong><a class='twikilink' href='/pmwiki/pmwiki.php/Webcomic/MSPaintAdventures' title='/pmwiki/pmwiki.php/Webcomic/MSPaintAdventures' data-format='W1tXZWJjb21pYy9NU1BhaW50QWR2ZW50dXJlcyBTdGFydCBPdmVyXV0='>Start Over</a> | <a class='twikilink' href='/pmwiki/pmwiki.php/Webcomic/ProblemSleuth' title='/pmwiki/pmwiki.php/Webcomic/ProblemSleuth' data-format='W1tXZWJjb21pYy9Qcm9ibGVtU2xldXRoIEdvIEJhY2tdXQ=='>Go Back</a></strong></span> <span class="notelabel" onclick="togglenote('note1njbz');"><sup>*</sup></span><span id="note1njbz" class="inlinefolder" isnote="true" onclick="togglenote('note1njbz');" style="cursor:pointer;font-size:smaller;display:none;"><span class="font-s"><strong>Save Game (?) | Auto-Save! (?) | Load Game | Delete Game Data</strong></span></span><hr data-format='&#8212;&#8212;' /></p></div> <div class="lazy-video-script"> <a id="VideoExamples"></a> <div>&nbsp;</div> <div class="video-examples has-thumbnails"> <div class="video-examples-header"> <a href="#feedback" class="font-s float-right text-blue" data-modal-target="login" >Feedback</a> <h3 class="bold">Video Example(s):</h3> </div> <div class="video-examples-featured"> <div class="example_video_box"> <a href="#video-link" data-video-id="goc6bu" data-video-descrip="Jack Noir dons his kingdoms ring of power and slaughters the Dersites and Prospitians almost to a man. He then fights Bro, the comics best swordsman at the time, to a standstill." data-video-title="Jack: Ascend" data-video-url="https://d1w6li7s85ibls.cloudfront.net/qvbr/goc6bu_640x360p_qvbr.mp4" data-mpd-url="https://d1w6li7s85ibls.cloudfront.net/dash/goc6bu.mpd" data-hls-url="https://d1w6li7s85ibls.cloudfront.net/hls/goc6bu.m3u8" data-video-thumbnail="https://static.tvtropes.org/trope_videos_transcoded/images/sd/goc6bu.jpg" data-video-trope="Main/KnightOfCerebus" data-video-tropename="Knight of Cerebus" data-video-approval="APPROVED" data-video-troper-rating="" data-video-average-rating="4.88" data-video-rating-count="17" data-video-media-sources="Webcomic/Homestuck" class="video-launch-link video-overlay-link featured-widget-vid"> <div class="featured-widget-vid-iframe"> <div id="tvtropes_no_volume_player" data-video-image="https://static.tvtropes.org/trope_videos_transcoded/images/sd/goc6bu.jpg" data-video-url="https://d1w6li7s85ibls.cloudfront.net/qvbr/goc6bu_640x360p_qvbr.mp4" data-mpd-url="https://d1w6li7s85ibls.cloudfront.net/dash/goc6bu.mpd" data-hls-url="https://d1w6li7s85ibls.cloudfront.net/hls/goc6bu.m3u8" data-controls="0" data-muted="1"> <script> tropes_videos_commands.push(function(){ new_video_project.load_video("tvtropes_no_volume_player", false); }); </script> </div> </div> </a> </div> <h2 class="bold font-l">Jack: Ascend</h2> <p class="_pmvv-vidbox-descTxt"> Jack Noir dons his kingdoms ring of power and slaughters the Dersites and Prospitians almost to a man. He then fights Bro, the comics best swordsman at the time, to a standstill. </p> <p class='example_row'>Example of:<br><a href="/pmwiki/pmwiki.php/Main/KnightOfCerebus"class='trope-example-link'>Knight of Cerebus</a></p> </div> </div> </div> <div class="section-links" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div class="titles"> <div><h3 class="text-center text-uppercase">Previous</h3></div> <div><h3 class="text-center text-uppercase">Index</h3></div> <div><h3 class="text-center text-uppercase">Next</h3></div> </div> <div class="links"> <ul> <li> <a href="/pmwiki/pmwiki.php/VideoGame/NamcoHigh">Namco High</a> </li> <li> <a href="/pmwiki/pmwiki.php/Franchise/Homestuck">Franchise/Homestuck</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/ParadoxSpace">Paradox Space</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/ProblemSleuth">Problem Sleuth</a> </li> <li> <a href="/pmwiki/pmwiki.php/Creator/AndrewHussie">Creator/Andrew Hussie</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/ParadoxSpace">Paradox Space</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/ProblemSleuth">Problem Sleuth</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/MSPaintAdventures">Webcomic/MS Paint Adventures</a> </li> <li> <a href="/pmwiki/pmwiki.php/Literature/TheHomestuckEpilogues">The Homestuck Epilogues</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Floraverse">Floraverse</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/NewWeird">New Weird</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/KillSixBillionDemons">Kill Six Billion Demons</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HetaliaAxisPowers">Hetalia: Axis Powers</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/WebFirst">Web First</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/ProblemSleuth">Problem Sleuth</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Series/TerminatorTheSarahConnorChronicles">Terminator: The Sarah Connor Chronicles</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/TheNew10s">The New '10s</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/JoeVsElanSchool">Joe vs. Elan School</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HitmenForDestiny">Hitmen for Destiny</a> </li> <li> <a href="/pmwiki/pmwiki.php/LGBTRepresentationInMedia/Webcomics">LGBTRepresentationInMedia/Webcomics</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HomestuckBeyondCanon">Homestuck: Beyond Canon</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/ProblemSleuth">Problem Sleuth</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/SelfDemonstratingArticle">Self-Demonstrating Article</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/MuseumOfTheStrangeAndUnusual">Museum of the Strange and Unusual</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HeroMaterial">Hero Material</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/SciFiWebcomics">Sci-Fi Webcomics</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Ice">Ice</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Manga/Doraemon">Doraemon</a> </li> <li> <a href="/pmwiki/pmwiki.php/Creator/VizMedia">Creator/Viz Media</a> </li> <li> <a href="/pmwiki/pmwiki.php/Literature/TheHomestuckEpilogues">The Homestuck Epilogues</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/ProblemSleuth">Problem Sleuth</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/TheEpic">The Epic</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Nixvir">Nixvir</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/DeadEndia">DeadEndia</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/TimeTravelTales">Time Travel Tales</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/LuminaryChildren">Luminary Children</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Main/PunchAWall">Punch a Wall</a> </li> <li> <a href="/pmwiki/pmwiki.php/QuoteSource/Webcomics">QuoteSource/Webcomics</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/AlternateSelf">Alternate Self</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Heartcore">Heartcore</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/ScienceFantasy">Science Fantasy</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Iothera">Iothera</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Main/SuperEmpowering">Super-Empowering</a> </li> <li> <a href="/pmwiki/pmwiki.php/ImageSource/WebcomicsAToL">ImageSource/Webcomics A To L</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/CreepyJazzMusic">Creepy Jazz Music</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/TheDragonDoctors">The Dragon Doctors</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/MundaneFantastic">Mundane Fantastic</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Meadowhawk">Meadowhawk</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Main/RealityWarper">Reality Warper</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/PsychologicalHorror">Psychological Horror</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/GhostTeller">Ghost Teller</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Literature/TheHolyGrailOfEris">The Holy Grail of Eris</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/WebSerialNovel">Web Serial Novel</a> </li> <li> <a href="/pmwiki/pmwiki.php/Literature/TheHomestuckEpilogues">The Homestuck Epilogues</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HitmenForDestiny">Hitmen for Destiny</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/CompletedWebcomics">Completed Webcomics</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HonkaiImpact3rdSecondEruption">Honkai Impact 3rd: Second Eruption</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/DarkestNight">Darkest Night</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/SpeculativeFictionLGBT">Speculative Fiction LGBT</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Kochab">Kochab</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HolidayWars">Holiday Wars</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/UrbanFantasy">Urban Fantasy</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HorrorShop">Horror Shop</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Platform/DummComics">Dumm Comics</a> </li> <li> <a href="/pmwiki/pmwiki.php/MediaNotes/AdobeFlash">MediaNotes/Adobe Flash</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/KeychainOfCreation">Keychain of Creation</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Holystone">Holystone</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/FantasyWebcomics">Fantasy Webcomics</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Hooky">Hooky</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Webcomic/HitmenForDestiny">Hitmen for Destiny</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/WebcomicsOfThe2000s">Webcomics of the 2000s</a> </li> <li> <a href="/pmwiki/pmwiki.php/Webcomic/Housepets">Housepets!</a> </li> </ul> </div> </div> <script> if( document.getElementById('user-prefs').classList.contains('folders-open') ){ console.log('open all folders'); var elements = document.querySelectorAll('.folderlabel, .toggle-all-folders-button'); elements.forEach((element) => { element.classList.add('is-open'); }); } </script> <script> function insert_ad(adCount, paragraph, adName, folder = 0){ var ad_count = adCount < 10 ? "0"+adCount : adCount; var inside_folder = folder ? "1" : "0"; // Create element for ad unit var adUnit = document.createElement('div'); adUnit.setAttribute("class", `htlad-${adName}`); adUnit.setAttribute("id", `${adName}_${adCount}`); adUnit.setAttribute("data-targeting", `{"slot_number": "${ad_count}", "in_folder": "${inside_folder}"}`); // Add Advertisement label var adLabel = document.createElement("span"); adLabel.innerHTML = "Advertisement:" adLabel.setAttribute("class","ad-caption"); var adWrapper = document.createElement("div"); adWrapper.setAttribute("class","tvtropes-ad-unit mobile-fad square_fad mobile_unit_scroll"); adWrapper.setAttribute("id","mobile_"+adCount); // Merge all pieces adWrapper.appendChild(adLabel); adWrapper.appendChild(adUnit); // Insert into DOM paragraph.parentNode.insertBefore(adWrapper, paragraph.nextSibling); // for getting correct ad count even when ones are deleted globalAdInsertionCount++; } function insert_ads_in_content(folder = 0, totalAdsCount = 0, pHeight = 0) { if(folder) var node = folder.firstElementChild; // Get the first traversable element of the folder else var node = document.getElementById("main-article").firstElementChild; var pCount = 0; var adCount = totalAdsCount + 1; var nodeCount = 0; var nodeLevel = 0; var x = 0; //loop through elements of content while(x<300) { x++; nodeCount++; //traverse to the next element (if exists) if(nodeCount>1) { if(!node.nextElementSibling) { console.log('adparser: no next element'); if(nodeLevel>0) { nodeLevel--; node = node.parentElement; console.log('adparser: we were down a level, go back up ('+nodeLevel+')'); continue; } else { break; } } node = node.nextElementSibling; } //skip inserted ads or empty nodes if(!node || node==="null" || typeof node !== "object") continue; if(!node.offsetHeight || node.offsetHeight==0) continue; if(node.className && node.className.includes('tvtropes-ad-unit')) continue; //skip if image block that has a caption after it (NEW: ALWAYS SKIP THE IMAGE BLOCK) if(node.className && node.className.includes('quoteright')) { // if(node.nextElementSibling && node.nextElementSibling.className && node.nextElementSibling.className.includes('acaptionright')) { pHeight += node.offsetHeight; continue; // } } //if very large element, loop through elements inside if(node.offsetHeight>700 && node.firstElementChild) { nodeLevel++; console.log('adparser: traverse through large element='+node.nodeName+', height='+node.offsetHeight+' level='+nodeLevel); node = node.firstElementChild; nodeCount = 0; continue; } // Skip if after a folder label or if the current node is a folder label itself if ((node.previousElementSibling && node.previousElementSibling.className && node.previousElementSibling.className.includes("folderlabel")) || (node.className && node.className.includes("folderlabel"))) { console.log('adparser: skipping ad insertion related to folder label'); if (!node.className || !node.className.includes("folderlabel")) { // If it's not the folder label itself, skip the insertion continue; } else { pHeight += node.offsetHeight; // If it is the folder label, just add its height to pHeight and continue continue; } } //paragraph counter if(node.nodeName=="P") pCount++; //add height of node to counter pHeight += node.offsetHeight; //add margin of node to counter if available try { var nodeStyle = getComputedStyle(node); if(nodeStyle.marginTop && parseInt(nodeStyle.marginTop)>0) pHeight+=parseInt(nodeStyle.marginTop); if(nodeStyle.marginBottom && parseInt(nodeStyle.marginBottom)>0) pHeight+=parseInt(nodeStyle.marginBottom); //console.log(nodeStyle.marginTop+','+nodeStyle.marginBottom); } catch(e) { } //debug logging console.log('adparser: name='+node.nodeName+', height='+node.offsetHeight+' =>'+pHeight); //console.log(node.className); // check if user is logged in var logged_in = 0; // Calculate the required height based on the user's logged-in status or ad count var requiredHeight = globalAdInsertionCount > 15 ? 1500 : 750; if(logged_in) requiredHeight = 2250; // only inserts an ad if the total height and paragraph count conditions are met if ((adCount === 1 && pCount >= 1 && pHeight >= 400) || pHeight >= requiredHeight) { // Check existing ad positions and compare with the item about to be inserted after var ads = document.querySelectorAll('.tvtropes-ad-unit'); var nodeBottomPosition = node.getBoundingClientRect().bottom + window.scrollY; // Get bottom position of current node var canInsertAd = true; // Flag to track if we can insert an ad ads.forEach(function (ad) { var adTop = ad.getBoundingClientRect().top + window.scrollY; var adBottom = ad.getBoundingClientRect().bottom + window.scrollY; // Ensure the new ad is at least requiredHeight away from any existing ads if (Math.abs(nodeBottomPosition - adTop) < requiredHeight || Math.abs(nodeBottomPosition - adBottom) < requiredHeight) { canInsertAd = false; console.log('adparser: cannot insert ad, not enough space between ads.'); } }); // If we can't insert an ad, skip to the next node if(!canInsertAd) continue; // after 50 ads, stop inserting. Or after 20 ads if the user is logged in if ((adCount > 50 || (adCount > 20 && logged_in))) { break; } console.log('adparser: insert ad '+adCount); insert_ad(adCount, node, "tvtropes_m_incontent_dynamic", folder); adCount++; pHeight = 0; pCount = 0; } } //insert one at end if room var maxpHeight = 500; if(logged_in) maxpHeight=1500; if(pHeight>=maxpHeight && folder==0) { console.log('adparser: insert ad'); insert_ad(adCount, document.getElementById("main-article").lastElementChild, "tvtropes_m_incontent_dynamic"); } // delete ads after the 8th one to reduce load times BCLighthouseTag.cmd.push(function() { googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRequested', function(event) { const slot = event.slot; const slotName = slot.getAdUnitPath().split('/').pop() || slot.getAdUnitPath(); if(slotName === 'tvtropes_m_incontent_dynamic') { const slotNumber = parseInt(slot.getTargeting('slot_number')[0]); console.log(slotName+' = '+slotNumber); // Determine the ad slot that needs to be deleted. const adNumberToDelete = slotNumber - 8; if(adNumberToDelete > 0) { const adToDelete = document.getElementById(`mobile_${adNumberToDelete}`); if(adToDelete) { var adHeight = window.pageYOffset + adToDelete.getBoundingClientRect().top; var windowHeight = window.scrollY; // Check if the ad element exists and is above the current viewport (above the fold). if (adHeight < windowHeight) { console.log('ad delete = '+adNumberToDelete); adToDelete.remove(); } } } } }); }); }); // return pHeight return pHeight; } if(1 && (document.body.clientWidth && document.body.clientWidth<=768) ) { insert_ads_in_content(); } </script> </article> <div id="main-content-sidebar"><div class="sidebar-item display-options"> <ul class="sidebar display-toggles"> <li>Show Spoilers <div id="sidebar-toggle-showspoilers" class="display-toggle show-spoilers"></div></li> <li>Night Vision <div id="sidebar-toggle-nightvision" class="display-toggle night-vision"></div></li> <li>Sticky Header <div id="sidebar-toggle-stickyheader" class="display-toggle sticky-header"></div></li> <li>Wide Load <div id="sidebar-toggle-wideload" class="display-toggle wide-load"></div></li> </ul> <script>updateDesktopPrefs();</script> </div> <div class="sidebar-item quick-links" itemtype="http://schema.org/SiteNavigationElement"> <p class="sidebar-item-title" data-title="Important Links">Important Links</p> <div class="padded"> <a href="/pmwiki/query.php?type=att">Ask The Tropers</a> <a href="/pmwiki/query.php?type=tf">Trope Finder</a> <a href="/pmwiki/query.php?type=ykts">Media Finder</a> <a href="/pmwiki/tlp_activity.php">Trope Launch Pad</a> <a href="/pmwiki/query.php?type=wl">Tech Wishlist</a></li> <a href="/pmwiki/review_activity.php">Reviews</a> <a href="/pmwiki/ad-free-subscribe.php">Go Ad Free!</a> <div class="crucial_browsing_dropdown"> <a href="javascript:void(0);" onclick="double_dropdown(); return false;" id="crucial_browsing_dropdown"><span class="new_blue">Crucial Browsing</span><i class="fa fa-angle-down"></i></a> <ul id="main_dropdown"> <li class="first_dropdown"><a href="/pmwiki/index_report.php">Indexes</a> <li class="first_dropdown"><a href="javascript:void(0);" data-click-toggle="active">Genre</a> <ul> <li><a href='/pmwiki/pmwiki.php/Main/ActionAdventureTropes' title='Main/ActionAdventureTropes'>Action Adventure</a></li> <li><a href='/pmwiki/pmwiki.php/Main/ComedyTropes' title='Main/ComedyTropes'>Comedy</a></li> <li><a href='/pmwiki/pmwiki.php/Main/CommercialsTropes' title='Main/CommercialsTropes'>Commercials</a></li> <li><a href='/pmwiki/pmwiki.php/Main/CrimeAndPunishmentTropes' title='Main/CrimeAndPunishmentTropes'>Crime &amp; Punishment</a></li> <li><a href='/pmwiki/pmwiki.php/Main/DramaTropes' title='Main/DramaTropes'>Drama</a></li> <li><a href='/pmwiki/pmwiki.php/Main/HorrorTropes' title='Main/HorrorTropes'>Horror</a></li> <li><a href='/pmwiki/pmwiki.php/Main/LoveTropes' title='Main/LoveTropes'>Love</a></li> <li><a href='/pmwiki/pmwiki.php/Main/NewsTropes' title='Main/NewsTropes'>News</a></li> <li><a href='/pmwiki/pmwiki.php/Main/ProfessionalWrestling' title='Main/ProfessionalWrestling'>Professional Wrestling</a></li> <li><a href='/pmwiki/pmwiki.php/Main/SpeculativeFictionTropes' title='Main/SpeculativeFictionTropes'>Speculative Fiction</a></li> <li><a href='/pmwiki/pmwiki.php/Main/SportsStoryTropes' title='Main/SportsStoryTropes'>Sports Story</a></li> <li><a href='/pmwiki/pmwiki.php/Main/WarTropes' title='Main/WarTropes'>War</a></li> </ul> </li> <li class="first_dropdown"><a href="javascript:void(0);" data-click-toggle="active">Media</a> <ul> <li><a href="/pmwiki/pmwiki.php/Main/Media" title="Main/Media">All Media</a></li> <li><a href="/pmwiki/pmwiki.php/Main/AnimationTropes" title="Main/AnimationTropes">Animation (Western)</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Anime" title="Main/Anime">Anime</a></li> <li><a href="/pmwiki/pmwiki.php/Main/ComicBookTropes" title="Main/ComicBookTropes">Comic Book</a></li> <li><a href="/pmwiki/pmwiki.php/Main/FanFic" title="FanFic/FanFics">Fan Fics</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Film" title="Main/Film">Film</a></li> <li><a href="/pmwiki/pmwiki.php/Main/GameTropes" title="Main/GameTropes">Game</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Literature" title="Main/Literature">Literature</a></li> <li><a href="/pmwiki/pmwiki.php/Main/MusicAndSoundEffects" title="Main/MusicAndSoundEffects">Music And Sound Effects</a></li> <li><a href="/pmwiki/pmwiki.php/Main/NewMediaTropes" title="Main/NewMediaTropes">New Media</a></li> <li><a href="/pmwiki/pmwiki.php/Main/PrintMediaTropes" title="Main/PrintMediaTropes">Print Media</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Radio" title="Main/Radio">Radio</a></li> <li><a href="/pmwiki/pmwiki.php/Main/SequentialArt" title="Main/SequentialArt">Sequential Art</a></li> <li><a href="/pmwiki/pmwiki.php/Main/TabletopGames" title="Main/TabletopGames">Tabletop Games</a></li> <li><a href="/pmwiki/pmwiki.php/MediaNotes/Television" title="MediaNotes/Television">Television</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Theater" title="Main/Theater">Theater</a></li> <li><a href="/pmwiki/pmwiki.php/Main/VideogameTropes" title="Main/VideogameTropes">Videogame</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Webcomics" title="Main/Webcomics">Webcomics</a></li> </ul> </li> <li class="first_dropdown"><a href="javascript:void(0);" data-click-toggle="active">Narrative</a> <ul> <li><a href="/pmwiki/pmwiki.php/Main/UniversalTropes" title="Main/UniversalTropes">Universal</a></li> <li><a href="/pmwiki/pmwiki.php/Main/AppliedPhlebotinum" title="Main/AppliedPhlebotinum">Applied Phlebotinum</a></li> <li><a href="/pmwiki/pmwiki.php/Main/CharacterizationTropes" title="Main/CharacterizationTropes">Characterization</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Characters" title="Main/Characters">Characters</a></li> <li><a href="/pmwiki/pmwiki.php/Main/CharactersAsDevice" title="Main/CharactersAsDevice">Characters As Device</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Dialogue" title="Main/Dialogue">Dialogue</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Motifs" title="Main/Motifs">Motifs</a></li> <li><a href="/pmwiki/pmwiki.php/Main/NarrativeDevices" title="Main/NarrativeDevices">Narrative Devices</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Paratext" title="Main/Paratext">Paratext</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Plots" title="Main/Plots">Plots</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Settings" title="Main/Settings">Settings</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Spectacle" title="Main/Spectacle">Spectacle</a></li> </ul> </li> <li class="first_dropdown"><a href="javascript:void(0);" data-click-toggle="active">Other Categories</a> <ul> <li><a href="/pmwiki/pmwiki.php/Main/BritishTellyTropes" title="Main/BritishTellyTropes">British Telly</a></li> <li><a href="/pmwiki/pmwiki.php/Main/TheContributors" title="Main/TheContributors">The Contributors</a></li> <li><a href="/pmwiki/pmwiki.php/Main/CreatorSpeak" title="Main/CreatorSpeak">Creator Speak</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Creators" title="Main/Creators">Creators</a></li> <li><a href="/pmwiki/pmwiki.php/Main/DerivativeWorks" title="Main/DerivativeWorks">Derivative Works</a></li> <li><a href="/pmwiki/pmwiki.php/Main/LanguageTropes" title="Main/LanguageTropes">Language</a></li> <li><a href="/pmwiki/pmwiki.php/Main/LawsAndFormulas" title="Main/LawsAndFormulas">Laws And Formulas</a></li> <li><a href="/pmwiki/pmwiki.php/Main/ShowBusiness" title="Main/ShowBusiness">Show Business</a></li> <li><a href="/pmwiki/pmwiki.php/Main/SplitPersonalityTropes" title="Main/SplitPersonalityTropes">Split Personality</a></li> <li><a href="/pmwiki/pmwiki.php/Main/StockRoom" title="Main/StockRoom">Stock Room</a></li> <li><a href="/pmwiki/pmwiki.php/Main/TropeTropes" title="Main/TropeTropes">Trope</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Tropes" title="Main/Tropes">Tropes</a></li> <li><a href="/pmwiki/pmwiki.php/Main/TruthAndLies" title="Main/TruthAndLies">Truth And Lies</a></li> <li><a href="/pmwiki/pmwiki.php/Main/TruthInTelevision" title="Main/TruthInTelevision">Truth In Television</a></li> </ul> </li> <li class="first_dropdown"><a href="javascript:void(0);" data-click-toggle="active">Topical Tropes</a> <ul> <li><a href="/pmwiki/pmwiki.php/Main/BetrayalTropes" title="Main/BetrayalTropes">Betrayal</a></li> <li><a href="/pmwiki/pmwiki.php/Main/CensorshipTropes" title="Main/CensorshipTropes">Censorship</a></li> <li><a href="/pmwiki/pmwiki.php/Main/CombatTropes" title="Main/CombatTropes">Combat</a></li> <li><a href="/pmwiki/pmwiki.php/Main/DeathTropes" title="Main/DeathTropes">Death</a></li> <li><a href="/pmwiki/pmwiki.php/Main/FamilyTropes" title="Main/FamilyTropes">Family</a></li> <li><a href="/pmwiki/pmwiki.php/Main/FateAndProphecyTropes" title="Main/FateAndProphecyTropes">Fate And Prophecy</a></li> <li><a href="/pmwiki/pmwiki.php/Main/FoodTropes" title="Main/FoodTropes">Food</a></li> <li><a href="/pmwiki/pmwiki.php/Main/HolidayTropes" title="Main/HolidayTropes">Holiday</a></li> <li><a href="/pmwiki/pmwiki.php/Main/MemoryTropes" title="Main/MemoryTropes">Memory</a></li> <li><a href="/pmwiki/pmwiki.php/Main/MoneyTropes" title="Main/MoneyTropes">Money</a></li> <li><a href="/pmwiki/pmwiki.php/Main/MoralityTropes" title="Main/MoralityTropes">Morality</a></li> <li><a href="/pmwiki/pmwiki.php/Main/PoliticsTropes" title="Main/PoliticsTropes">Politics</a></li> <li><a href="/pmwiki/pmwiki.php/Main/ReligionTropes" title="Main/ReligionTropes">Religion</a></li> <li><a href="/pmwiki/pmwiki.php/Main/SchoolTropes" title="Main/SchoolTropes">School</a></li> </ul> </li> </ul> </div> <div class="resources_dropdown"> <a href="javascript:void(0);" onclick="second_double_dropdown(); return false;" id="resources_dropdown"><span class="new_blue blue">Resources</span><i class="fa fa-angle-down"></i></a> <ul id="second_main_dropdown" class="padded font-s" itemscope itemtype="http://schema.org/SiteNavigationElement"> <li class="second_dropdown"><a href="#test" data-click-toggle="active">Tools</a> <ul> <li><a href="/pmwiki/pmwiki.php/Administrivia/IttyBittyWikiTools">Wiki Tools</a></li> <li><a href="/pmwiki/cutlist.php" data-modal-target="login" rel="nofollow">Cut List</a></li> <li><a href="/pmwiki/image-fixer.php" data-modal-target="login" rel="nofollow">Image Fixer</a></li> <li><a href="/pmwiki/changes.php">New Edits</a></li> <li><a href="/pmwiki/articles_new.php">New Articles</a></li> <li><a href="/pmwiki/recent_edit_reasons.php">Edit Reasons</a></li> <li><a href="/pmwiki/isolated_pages.php">Isolated Pages</a></li> <li><a href="/pmwiki/launches.php" data-modal-target="login" rel="nofollow">Launches</a></li> <li><a href="/pmwiki/img_list.php" data-modal-target="login" rel="nofollow">Images List</a></li> <li><a href="/pmwiki/recent_videos.php">Recent Videos</a></li> <li><a href="/pmwiki/crown_activity.php">Crowner Activity</a></li> <li><a href="/pmwiki/no_types.php">Un-typed Pages</a></li> <li><a href="/pmwiki/page_type_audit.php">Recent Page Type Changes</a></li> </ul> </li> <li class="second_dropdown"><a href="javascript:void(0);" data-click-toggle="active">Templates</a> <ul> <li><a href="/pmwiki/pmwiki.php/Main/TropeEntryTemplate">Trope Entry</a></li> <li><a href="/pmwiki/pmwiki.php/Main/ProgramEntryTemplate">Works</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/CharacterSheetTemplate">Character Sheet</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/PlayingWithWikiTemplate">Playing With</a></li> <li><a href="/pmwiki/pmwiki.php/FanficRecs/TemplatePageForNewFandomRecommendations">Fandom</a></li> </ul> </li> <li class="second_dropdown"><a href="javascript:void(0);" data-click-toggle="active">Tips</a> <ul> <li><a href="/pmwiki/pmwiki.php/Administrivia/CreatingNewRedirects">Creating New Redirects</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/Crosswicking">Cross Wicking</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/TipsForEditing">Tips for Editing</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/TextFormattingRules">Text Formatting Rules</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/TVTropesGlossary">Glossary</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/EditReasonsAndWhyYouShouldUseThem">Edit Reasons</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/HandlingSpoilers">Handling Spoilers</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/WordCruft">Word Cruft</a></li> <li><a href="/pmwiki/pmwiki.php/Main/Administrivia">Administrivia</a></li> <li><a href="/pmwiki/pmwiki.php/Main/FAQ">FAQ</a></li> </ul> </li> <li class="second_dropdown"><a href="/pmwiki/changelog.php">Changelog</a></li> <li class="second_dropdown"><a href="/pmwiki/query.php?type=bug">Report Bug</a></li> <li class="second_dropdown"><a href="/pmwiki/conversations.php?topic=renames">Trope Repair Shop</a></li> <li class="second_dropdown"><a href="/pmwiki/conversations.php?topic=images">Image Pickin'</a></li> </ul> </div> </div> <div id="asteri-sidebar" style="display:none"> <p style="margin-top: 20px;" class="sidebar-item-title" data-title="Advertisement">Advertisement:</p> <div id="asteri_cont"></div> </div> <script> //asteri enabled if((tvtropes_config.asteri_stream_enabled || tvtropes_config.get_asteri_stream == 'live')) { //aster stream currently live and not a logged-in troper if(!tvtropes_config.is_logged_in && cookies.read('asteri_event_active') != '') { document.getElementById('asteri-sidebar').style.display=""; } } </script> </div> <script> if(!is_mobile()) { //don't insert if content is too small on page var tropes_insert_side_ad=true; if(document.getElementById("main-article") && document.getElementById("main-article").clientHeight) { var sidebar_height=document.getElementById("main-article").clientHeight; if(sidebar_height>0 && sidebar_height<500) { tropes_insert_side_ad=false; console.log('ad parser: content too small for sidebar ad'); } } if(tropes_insert_side_ad) { document.write(` <div id="stick-cont" class="sidebar-item sb-fad-unit"> <p class="sidebar-item-title" data-title="Advertisement">Advertisement:</p> <div id="stick-bar" class="sidebar-section"> <div class="square_fad fad-size-300x600 fad-section text-center"> <div class='tvtropes-ad-unit '> <div id='tvtropes_dt_inview' class='htlad-tvtropes_dt_inview'></div> </div> </div> </div> </div> `); } } </script> </div> </div> <div id="action-bar-bottom" class="action-bar tablet-off"> <a href="#top-of-page" class="scroll-to-top dead-button" onclick="scroll_to_top(500);">Top</a> </div> </div> <footer id="main-footer"> <div id="main-footer-inner"> <div class="footer-left"> <a href="/" class="img-link"><img data-src="/img/tvtropes-footer-logo.png" alt="TV Tropes" class="logo_image lazy-image" title="TV Tropes" /></a> <ul class="social-buttons"> <li><a class="btn fb" target="_blank" onclick="_gaq.push(['_trackEvent', 'btn-social-icon', 'click', 'btn-facebook']);" href="https://www.facebook.com/tvtropes"><i class="fa fa-facebook"></i></a></li> <li><a class="btn tw" target="_blank" onclick="_gaq.push(['_trackEvent', 'btn-social-icon', 'click', 'btn-twitter']);" href="https://www.twitter.com/tvtropes"><i class="fa fa-twitter"></i></a> </li> </ul> </div> <hr/> <ul class="footer-menu" itemscope itemtype="http://schema.org/SiteNavigationElement"> <li><h4 class="footer-menu-header">TVTropes</h4></li> <li><a href="/pmwiki/pmwiki.php/Main/Administrivia">About TVTropes</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/TheGoalsOfTVTropes">TVTropes Goals</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/TheTropingCode">Troping Code</a></li> <li><a href="/pmwiki/pmwiki.php/Administrivia/TVTropesCustoms">TVTropes Customs</a></li> <li><a href="/pmwiki/pmwiki.php/JustForFun/TropesOfLegend">Tropes of Legend</a></li> <li><a href="/pmwiki/ad-free-subscribe.php">Go Ad-Free</a></li> </ul> <hr/> <ul class="footer-menu" itemscope itemtype="http://schema.org/SiteNavigationElement"> <li><h4 class="footer-menu-header">Community</h4></li> <li><a href="/pmwiki/query.php?type=att">Ask The Tropers</a></li> <li><a href="/pmwiki/tlp_activity.php">Trope Launch Pad</a></li> <li><a href="/pmwiki/query.php?type=tf">Trope Finder</a></li> <li><a href="/pmwiki/query.php?type=ykts">Media Finder</a></li> <li><a href="/pmwiki/query.php?type=wl">Tech Wishlist</a></li> <li><a href="/pmwiki/review_activity.php">Reviews</a></li> <li><a href="/pmwiki/topics.php">Forum</a></li> </ul> <hr/> <ul class="footer-menu" itemscope itemtype="http://schema.org/SiteNavigationElement"> <li><h4 class="footer-menu-header">Tropes HQ</h4></li> <li><a href="/pmwiki/about.php">About Us</a></li> <li><a href="/pmwiki/contact.php">Contact Us</a></li> <li><a href="/pmwiki/query.php?type=bug">Report Bug</a></li> <li><a href="/pmwiki/changelog.php">Changelog</a></li> <li><a href="/pmwiki/dmca.php">DMCA Notice</a></li> <li><a href="/pmwiki/privacypolicy.php">Privacy Policy</a></li> </ul> </div> <div id="desktop-on-mobile-toggle" class="text-center gutter-top gutter-bottom tablet-on"> <a href="/pmwiki/switchDeviceCss.php?mobileVersion=1" rel="nofollow">Switch to <span class="txt-desktop">Desktop</span><span class="txt-mobile">Mobile</span> Version</a> </div> <div class="legal"> <p>TVTropes is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. <br>Permissions beyond the scope of this license may be available from <a xmlns:cc="http://creativecommons.org/ns#" href="mailto:thestaff@tvtropes.org" rel="cc:morePermissions"> thestaff@tvtropes.org</a>.</p> <br> <div class="privacy_wrapper"> </div> </div> </footer> <style> div.fc-ccpa-root { position: absolute !important; bottom: 93px !important; margin: auto !important; width: 100% !important; z-index: 9999 !important; overflow: hidden !important; } .fc-ccpa-root .fc-dns-dialog .fc-dns-link p{ outline: none !important; text-decoration: underline !important; font-size: .7em !important; font-family: sans-serif !important; } .fc-ccpa-root .fc-dns-dialog .fc-dns-link .fc-button-background { background: none !important; } </style> <div id="_pm_videoViewer" class="full-screen"> <a href="#close" class="close" id="_pm_videoViewer-close"></a> <div class="_pmvv-body"> <div class="_pmvv-vidbox"> <div id="overlay_outer_player_max"> <div id="overlay_outer_player_wrapper"> <div id="tvtropes_overlay_player" data-video-id="tvtropes-videos-goc6bu" data-video-image="https://static.tvtropes.org/trope_videos_transcoded/images/sd/goc6bu.jpg" data-video-title="Jack: Ascend" data-video-url="https://d1w6li7s85ibls.cloudfront.net/qvbr/goc6bu_640x360p_qvbr.mp4" data-mpd-url="https://d1w6li7s85ibls.cloudfront.net/dash/goc6bu.mpd" data-hls-url="https://d1w6li7s85ibls.cloudfront.net/hls/goc6bu.m3u8" data-small-player="never" data-track-events="1" data-do-not-loop="1" data-starting-quality="1" data-autoplay="true"> </div> </div> </div> <div class="_pmvv-vidbox-desc"> <h1 id="overlay-title">Jack: Ascend</h1> <p id="overlay-descrip" class="_pmvv-vidbox-descTxt"> Jack Noir dons his kingdoms ring of power and slaughters the Dersites and Prospitians almost to a man. He then fights Bro, the comics best swordsman at the time, to a standstill. </p> <div class="rating-row" data-video-id="goc6bu" > <input type="hidden" name="is_logged_in" value="0" > <p>How well does it match the trope?</p> <div id="star-rating-group"> <div class="trope-rate"> <input type="radio" id="lamp5" name="rate" value="5" /> <label for="lamp5" title="Absolutely">&starf;</label> <input type="radio" id="lamp4" name="rate" value="4" /> <label for="lamp4" title="Yes">&starf;</label> <input type="radio" id="lamp3" name="rate" value="3" /> <label for="lamp3" title="Kind of">&starf;</label> <input type="radio" id="lamp2" name="rate" value="2" /> <label for="lamp2" title="Not really">&starf;</label> <input type="radio" id="lamp1" name="rate" value="1" /> <label for="lamp1" title="No">&starf;</label> </div> <div id="star-rating-total"> 4.88 (17 votes) </div> </div> </div> <div class="example-media-row"> <div class="example-overlay"> <p>Example of:</p> <div id="overlay-trope">Main / KnightOfCerebus</div> </div> <div class="media_second_wrapper"> <div class="media-sources-overlay example-overlay"> <p>Media sources:</p> <div id="overlay-media"></div> </div> <div class="example-overlay"> <div id="secondary_tropes_row"></div> <div id="overlay-second"></div> </div> </div> </div> <p class="_pmvv-vidbox-stats text-right font-s" style="padding-top:8px; border-top: solid 1px rgba(255,255,255,0.2)"> <!-- <i class="fa fa-eye"></i> 11,241--> <a href="#video-feedback" class="float-right" data-modal-target="login" >Report</a> </p> </div> </div> </div> </div> <script type="text/javascript"> var cleanCreativeEnabled = ""; var donation = ""; var live_ads = "1"; var img_domain = "https://static.tvtropes.org"; var snoozed = cookies.read('snoozedabm'); var elem = document.createElement('script'); elem.async = true; // if page type is article or homepage load bundle_nojquery. otherwise load regular bundle.js if(tvtropes_config.universal_page_type == "Article" || tvtropes_config.universal_page_type == "HomePage") { elem.src = 'https://assets.tvtropes.org/design/assets/bundle_nojquery.js?rev=a1fdc3097a55e179219cd1bf535ab41b48dc60da'; } else { elem.src = 'https://assets.tvtropes.org/design/assets/bundle.js?rev=a1fdc3097a55e179219cd1bf535ab41b48dc60da'; } elem.onload = function() { } document.getElementsByTagName('head')[0].appendChild(elem); </script> <script type="text/javascript"> function send_analytics_event(user_type, donation){ // if(user_type == 'uncached' || user_type == 'cached'){ // ga('send', 'event', 'caching', 'load', user_type, {'nonInteraction': 1}); // return; // } var event_name = user_type; if(donation == 'true'){ event_name += "_donation" }else if(typeof(valid_user) == 'undefined'){ event_name += "_blocked" }else if(valid_user == true){ event_name += "_unblocked"; }else{ event_name = "_unknown" } ga('send', 'event', 'ads', 'load', event_name, {'nonInteraction': 1}); } send_analytics_event("guest", "false"); </script> <!-- Quantcast Tag --> <script type="text/javascript"> window._qevents = window._qevents || []; (function() { var elem = document.createElement('script'); elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; elem.async = true; elem.type = "text/javascript"; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); window._qevents.push({ qacct:"p-mEzuYq24VEJ-3" }); </script> <noscript> <div style="display:none;"> <img src="//pixel.quantserve.com/pixel/p-mEzuYq24VEJ-3.gif" border="0" height="1" width="1" alt="Quantcast"/> </div> </noscript> <!-- End Quantcast tag --> <!-- Begin comScore Tag --> <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "38282685" }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = "https://sb.scorecardresearch.com/cs/38282685/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="https://sb.scorecardresearch.com/p?c1=2&amp;c2=38282685&amp;cv=3.6.0&amp;cj=1"> </noscript> <!-- End comScore Tag --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10