CINXE.COM
Fate and Prophecy Tropes - 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" : "Main", // 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 || []; // If user type is a member if(project_settings.user_type == "member"){ // Check for UID2 cookie var uid2_cookie = cookies.read('uid2_identity'); var json_cookie = (uid2_cookie) ? JSON.parse(uid2_cookie) : ""; // If UID2 cookie exists and it's not in the banned country list, set UID2 if(!uid2_cookie || (json_cookie && json_cookie.response)){ var request = new XMLHttpRequest(); request.open("post", "/ajax/uid2_creation.php", 1); request.setRequestHeader("Content-Type", "application/json; charset=UTF-8") request.onload = function(){ if(request.status == 200){ var json = JSON.parse(request.responseText); // Create cookie with response from request cookies.create('uid2_identity', json.response, 7, '/'); output_logging("UID2 cookie created"); // Refresh specific modules pbjs.refreshUserIds({ submoduleNames: ['uid2'] }); } else output_logging("Failed to create UID2 cookie"); } request.send(); } } 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 : "34f2653e14b8f0604d7c8ab2d8e0002abf7d2ab4", 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; </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>Fate and Prophecy Tropes - TV Tropes</title> <meta name="description" content="An index page listing Fate and Prophecy Tropes content. You were always going to read this category description. See also Seekers and Seers. Character Tropes …" /> <link rel="canonical" href="https://tvtropes.org/pmwiki/pmwiki.php/Main/FateAndProphecyTropes" /> <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="Fate and Prophecy Tropes - TV Tropes" /> <meta name="twitter:description" content="An index page listing Fate and Prophecy Tropes content. You were always going to read this category description. See also Seekers and Seers. Character Tropes …" /> <meta name="twitter:image:src" content="https://static.tvtropes.org/pmwiki/pub/images/logo_light.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="Fate and Prophecy Tropes - TV Tropes" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://tvtropes.org/pmwiki/pmwiki.php/Main/FateAndProphecyTropes" /> <meta property="og:image" content="https://static.tvtropes.org/pmwiki/pub/images/logo_light.png" /> <meta property="og:description" content="You were always going to read this category description. See also Seekers and Seers. Character Tropes Apocalypse Maiden: An innocent character is destined to bring about The End of the World as We Know It just by existing. Blind Seer: A …" /> <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=34f2653e14b8f0604d7c8ab2d8e0002abf7d2ab4" /> <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="" /> <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/Mutants" class="button-random-trope" rel="nofollow" onclick="gtag('event', 'trope_random_button_click', {'is_user': 0});"></a> <a href="/pmwiki/pmwiki.php/Film/TheLastLions" 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="" /> <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, fb_token, 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) : "") + (fb_token ? '&fb_token=' + encodeURIComponent(fb_token) : "") + (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]'); 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 toggleTarget = targetWithToggleTarget.getAttribute('data-click-toggle-target'); const toggleClass = targetWithToggleTarget.getAttribute('data-click-toggle'); if (toggleTarget.indexOf(',') > -1) { const targets = toggleTarget.split(","); targets.forEach(t => { document.querySelectorAll('#' + t).forEach(el => { el.classList.toggle(toggleClass); }); }); } else { document.querySelectorAll('#' + toggleTarget).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/Main/FateAndProphecyTropes?action=edit"> <i class="fa fa-pencil"></i> Edit Page</a></li><li class="link-related"><a href="/pmwiki/relatedsearch.php?term=Main/FateAndProphecyTropes"> <i class="fa fa-share-alt"></i> Related</a></li><li class="link-history"><a href="/pmwiki/article_history.php?article=Main.FateAndProphecyTropes" data-modal-target="login" rel="nofollow"> <i class="fa fa-history"></i> History</a></li><li class="link-discussion"><a href="/pmwiki/remarks.php?trope=Main.FateAndProphecyTropes" data-modal-target="login" rel="nofollow"> <i class="fa fa-comment"></i> Discussion</a></li><li class="link-todo tuck-always"><a href="#todo" data-modal-target="login" rel="nofollow"><i class="fa fa-check-circle"></i> To Do</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-pageSource tuck-always more_list_item"><a href="/pmwiki/pmwiki.php/Main/FateAndProphecyTropes?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="Main"/> <input type="hidden" id="title-hidden" value="FateAndProphecyTropes"/> <input type="hidden" id="article_id" value="2275" /> <input type="hidden" id="logged_in" value="false" /> <p id="current_url" class="hidden">http://tvtropes.org/pmwiki/pmwiki.php/Main/FateAndProphecyTropes</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> <h1 itemprop="headline" class="entry-title"> Fate and Prophecy Tropes </h1> <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": "Fate and Prophecy Tropes", "item": "https://tvtropes.org/pmwiki/pmwiki.php/Main/FateAndProphecyTropes" }] } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "name": "Fate and Prophecy Tropes", "headline": "Fate and Prophecy Tropes", "url": "https://tvtropes.org/pmwiki/pmwiki.php/Main/FateAndProphecyTropes", "image": "https://static.tvtropes.org/pmwiki/pub/images/logo_light.png", "author": { "@type": "Organization", "name": "Contributors to TV Tropes (aka Tropers)" }, "datePublished": "2007-09-23T00:00:00-07:00", "dateModified": "2024-10-06T22:58:52-07: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/Main/FateAndProphecyTropes" class="subpage-link curr-subpage" title="The Main page"> <span class="wrapper"><span class="spi main-page"></span>Main</span></a> </li> <li> <a href="/pmwiki/pmwiki.php/Quotes/FateAndProphecyTropes" class="subpage-link " title="The Quotes page"> <span class="wrapper"><span class="spi quotes"></span>Quotes</span></a> </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/FateAndProphecyTropes?action=edit">Analysis</option> <option value="/pmwiki/pmwiki.php/Archive/FateAndProphecyTropes?action=edit">Archive</option> <option value="/pmwiki/pmwiki.php/Awesome/FateAndProphecyTropes?action=edit">Awesome</option> <option value="/pmwiki/pmwiki.php/Characters/FateAndProphecyTropes?action=edit">Characters</option> <option value="/pmwiki/pmwiki.php/DerivativeWorks/FateAndProphecyTropes?action=edit">DerivativeWork…</option> <option value="/pmwiki/pmwiki.php/FanWorks/FateAndProphecyTropes?action=edit">FanWorks</option> <option value="/pmwiki/pmwiki.php/FanficRecs/FateAndProphecyTropes?action=edit">FanficRecs</option> <option value="/pmwiki/pmwiki.php/Fridge/FateAndProphecyTropes?action=edit">Fridge</option> <option value="/pmwiki/pmwiki.php/Funny/FateAndProphecyTropes?action=edit">Funny</option> <option value="/pmwiki/pmwiki.php/Haiku/FateAndProphecyTropes?action=edit">Haiku</option> <option value="/pmwiki/pmwiki.php/Headscratchers/FateAndProphecyTropes?action=edit">Headscratchers</option> <option value="/pmwiki/pmwiki.php/Heartwarming/FateAndProphecyTropes?action=edit">Heartwarming</option> <option value="/pmwiki/pmwiki.php/ImageLinks/FateAndProphecyTropes?action=edit">ImageLinks</option> <option value="/pmwiki/pmwiki.php/ImageSource/FateAndProphecyTropes?action=edit">ImageSource</option> <option value="/pmwiki/pmwiki.php/Laconic/FateAndProphecyTropes?action=edit">Laconic</option> <option value="/pmwiki/pmwiki.php/MediaNotes/FateAndProphecyTropes?action=edit">MediaNotes</option> <option value="/pmwiki/pmwiki.php/Newsletter/FateAndProphecyTropes?action=edit">Newsletter</option> <option value="/pmwiki/pmwiki.php/NightmareFuel/FateAndProphecyTropes?action=edit">NightmareFuel</option> <option value="/pmwiki/pmwiki.php/PlayingWith/FateAndProphecyTropes?action=edit">PlayingWith</option> <option value="/pmwiki/pmwiki.php/QuoteSource/FateAndProphecyTropes?action=edit">QuoteSource</option> <option value="/pmwiki/pmwiki.php/Recap/FateAndProphecyTropes?action=edit">Recap</option> <option value="/pmwiki/pmwiki.php/ReferencedBy/FateAndProphecyTropes?action=edit">ReferencedBy</option> <option value="/pmwiki/pmwiki.php/Shocking/FateAndProphecyTropes?action=edit">Shocking</option> <option value="/pmwiki/pmwiki.php/TearJerker/FateAndProphecyTropes?action=edit">TearJerker</option> <option value="/pmwiki/pmwiki.php/Timeline/FateAndProphecyTropes?action=edit">Timeline</option> <option value="/pmwiki/pmwiki.php/Trivia/FateAndProphecyTropes?action=edit">Trivia</option> <option value="/pmwiki/pmwiki.php/WMG/FateAndProphecyTropes?action=edit">WMG</option> <option value="/pmwiki/pmwiki.php/YMMV/FateAndProphecyTropes?action=edit">YMMV</option> </select> </li> </ul> </nav> <div id="main-article" class="article-content retro-folders"> <p><em>You were always going to read this category description.</em> </p><p>See also <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Seekers' title='/pmwiki/pmwiki.php/Main/Seekers' data-format='e3tTZWVrZXJzfX0='>Seekers</a> and <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Seers' title='/pmwiki/pmwiki.php/Main/Seers' data-format='e3tTZWVyc319'>Seers</a>. <hr data-format='——' /> <!—index—> </p><p><h2>Character Tropes</h2> <ul ><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ApocalypseMaiden' title='/pmwiki/pmwiki.php/Main/ApocalypseMaiden' data-format='QXBvY2FseXBzZU1haWRlbg=='>Apocalypse Maiden</a>: An innocent character is destined to bring about <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheEndOfTheWorldAsWeKnowIt' title='/pmwiki/pmwiki.php/Main/TheEndOfTheWorldAsWeKnowIt' data-format='VGhlRW5kT2ZUaGVXb3JsZEFzV2VLbm93SXQ='>The End of the World as We Know It</a> just by existing. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/BlindSeer' title='/pmwiki/pmwiki.php/Main/BlindSeer' data-format='QmxpbmRTZWVy'>Blind Seer</a>: A character who is physically blind, and yet they can see more than we can, e.g. into the future. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a>: The ancient prophecy says that only a certain person can save the world. <ul ><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChooserOfTheOne' title='/pmwiki/pmwiki.php/Main/TheChooserOfTheOne' data-format='VGhlQ2hvb3Nlck9mVGhlT25l'>The Chooser of the One</a>: The one that decides who <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a> is. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenPeople' title='/pmwiki/pmwiki.php/Main/TheChosenPeople' data-format='VGhlQ2hvc2VuUGVvcGxl'>The Chosen People</a>: A specific civilization or nationality is chosen by a higher power as its favorite, often for a higher purpose. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenWannabe' title='/pmwiki/pmwiki.php/Main/TheChosenWannabe' data-format='VGhlQ2hvc2VuV2FubmFiZQ=='>The Chosen Wannabe</a>: The character is envious of the actual <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='W1tUaGVDaG9zZW5PbmUgQ2hvc2VuIE9uZV1d'>Chosen One</a> and wants to replace them. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenMany' title='/pmwiki/pmwiki.php/Main/TheChosenMany' data-format='VGhlQ2hvc2VuTWFueQ=='>The Chosen Many</a>: <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a>, but there's several of them. Alternately, a superpowered individual discovers an organization of similarly-powered individuals. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenZero' title='/pmwiki/pmwiki.php/Main/TheChosenZero' data-format='VGhlQ2hvc2VuWmVybw=='>The Chosen Zero</a>: <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a> is a loser. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ThePoorlyChosenOne' title='/pmwiki/pmwiki.php/Main/ThePoorlyChosenOne' data-format='VGhlUG9vcmx5Q2hvc2VuT25l'>The Poorly Chosen One</a>: Where <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a> fails at being the Chosen One. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ItSucksToBeTheChosenOne' title='/pmwiki/pmwiki.php/Main/ItSucksToBeTheChosenOne' data-format='SXRTdWNrc1RvQmVUaGVDaG9zZW5PbmU='>It Sucks to Be the Chosen One</a>: Being <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a> comes with more problems than perks. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheUnchosenOne' title='/pmwiki/pmwiki.php/Main/TheUnchosenOne' data-format='VGhlVW5jaG9zZW5PbmU='>The Unchosen One</a>: A character decides to save the world despite not being marked as <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a>. </li></ul></li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ExternallyValidatedProphecy' title='/pmwiki/pmwiki.php/Main/ExternallyValidatedProphecy' data-format='RXh0ZXJuYWxseVZhbGlkYXRlZFByb3BoZWN5'>Externally Validated Prophecy</a>: When a character makes a prediction about the future which is not fulfilled in the work, yet an audience aware of history knows will be fulfilled. In other words, a <a class='twikilink' href='/pmwiki/pmwiki.php/Main/CallForward' title='/pmwiki/pmwiki.php/Main/CallForward' data-format='Q2FsbEZvcndhcmQ='>Call-Forward</a> to real life. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/FaintingSeer' title='/pmwiki/pmwiki.php/Main/FaintingSeer' data-format='RmFpbnRpbmdTZWVy'>Fainting Seer</a>: An oracle/seer has a dramatic negative reaction to the future they see. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheFatalist' title='/pmwiki/pmwiki.php/Main/TheFatalist' data-format='VGhlRmF0YWxpc3Q='>The Fatalist</a>: A character who believes everything that happens is destined to happen and there is no way to escape it </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ImmuneToFate' title='/pmwiki/pmwiki.php/Main/ImmuneToFate' data-format='SW1tdW5lVG9GYXRl'>Immune to Fate</a>: <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ScrewDestiny' title='/pmwiki/pmwiki.php/Main/ScrewDestiny' data-format='W1tTY3Jld0Rlc3RpbnkgU2NyZXdpbmcgRGVzdGlueV1d'>Screwing Destiny</a> as a superpower. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/InstantOracleJustAddWater' title='/pmwiki/pmwiki.php/Main/InstantOracleJustAddWater' data-format='SW5zdGFudE9yYWNsZUp1c3RBZGRXYXRlcg=='>Instant Oracle: Just Add Water!</a>: The Dehydrated Oracle immerses themself nearly or completely in water, and through contact with the liquid is gifted with visions of the future. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/JunkieProphet' title='/pmwiki/pmwiki.php/Main/JunkieProphet' data-format='SnVua2llUHJvcGhldA=='>Junkie Prophet</a>: A character relies on drug-tripping hallucinations or other trance-induced behaviours to see the future. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/MadOracle' title='/pmwiki/pmwiki.php/Main/MadOracle' data-format='TWFkT3JhY2xl'>Mad Oracle</a>: A character who can see the future, but seems to have terrible mental health. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/MagicalSeventhSon' title='/pmwiki/pmwiki.php/Main/MagicalSeventhSon' data-format='TWFnaWNhbFNldmVudGhTb24='>Magical Seventh Son</a>: Being the seventh son of a seventh son is an omen of supernatural powers or greatness. Often this power is being a seer. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/MultipleChoiceFuture' title='/pmwiki/pmwiki.php/Main/MultipleChoiceFuture' data-format='TXVsdGlwbGVDaG9pY2VGdXR1cmU='>Multiple-Choice Future</a>: There are multiple, equally-probable futures. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/MysticalWaif' title='/pmwiki/pmwiki.php/Main/MysticalWaif' data-format='TXlzdGljYWxXYWlm'>Mystical Waif</a>: A fragile young woman infused with plot-relevant magical powers. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/NonLinearCharacter' title='/pmwiki/pmwiki.php/Main/NonLinearCharacter' data-format='Tm9uTGluZWFyQ2hhcmFjdGVy'>Non-Linear Character</a>: A character that is both in and out of time. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/NotSoOmniscientAfterAll' title='/pmwiki/pmwiki.php/Main/NotSoOmniscientAfterAll' data-format='Tm90U29PbW5pc2NpZW50QWZ0ZXJBbGw='>Not So Omniscient After All</a>: A character doesn't know everything, to the great surprise of themselves or people around them. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheOmniscient' title='/pmwiki/pmwiki.php/Main/TheOmniscient' data-format='VGhlT21uaXNjaWVudA=='>The Omniscient</a>: A character who knows everything. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/OmniscientHero' title='/pmwiki/pmwiki.php/Main/OmniscientHero' data-format='T21uaXNjaWVudEhlcm8='>Omniscient Hero</a>: The main character knows everything. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/OracularUrchin' title='/pmwiki/pmwiki.php/Main/OracularUrchin' data-format='T3JhY3VsYXJVcmNoaW4='>Oracular Urchin</a>: A young person who makes mysterious comments that imply or indicate they know the future, or at least more than they should. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PrecrimeArrest' title='/pmwiki/pmwiki.php/Main/PrecrimeArrest' data-format='UHJlY3JpbWVBcnJlc3Q='>Precrime Arrest</a>: Someone gets arrested for a crime that they would commit in the future. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PrescienceByAnalysis' title='/pmwiki/pmwiki.php/Main/PrescienceByAnalysis' data-format='UHJlc2NpZW5jZUJ5QW5hbHlzaXM='>Prescience by Analysis</a>: Predicting the future with probability, statistics, and mathematics and science in general. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Seers' title='/pmwiki/pmwiki.php/Main/Seers' data-format='e3tTZWVyc319'>Seers</a>: People who can see into the future, past and to faraway places. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/WaifProphet' title='/pmwiki/pmwiki.php/Main/WaifProphet' data-format='V2FpZlByb3BoZXQ='>Waif Prophet</a>: A weak and/or sickly (either physically or mentally) character who can see into the future. Usually but not exclusively female. </li></ul></p><p><h2>Other Tropes</h2> <ul ><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/BecauseDestinySaysSo' title='/pmwiki/pmwiki.php/Main/BecauseDestinySaysSo' data-format='QmVjYXVzZURlc3RpbnlTYXlzU28='>Because Destiny Says So</a>: Fate is accepted as objective fact. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/BirthmarkOfDestiny' title='/pmwiki/pmwiki.php/Main/BirthmarkOfDestiny' data-format='QmlydGhtYXJrT2ZEZXN0aW55'>Birthmark of Destiny</a>: <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a> has a mark that means they're the Chosen One. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/CantRefuseTheCallAnymore' title='/pmwiki/pmwiki.php/Main/CantRefuseTheCallAnymore' data-format='Q2FudFJlZnVzZVRoZUNhbGxBbnltb3Jl'>Can't Refuse the Call Anymore</a>: <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a> accepts their fate after repeatedly refusing <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheCall' title='/pmwiki/pmwiki.php/Main/TheCall' data-format='VGhlQ2FsbA=='>The Call</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/CheatedDeathDiedAnyway' title='/pmwiki/pmwiki.php/Main/CheatedDeathDiedAnyway' data-format='Q2hlYXRlZERlYXRoRGllZEFueXdheQ=='>Cheated Death, Died Anyway</a>: Narrowly avoiding death in one incident, then getting killed in a totally separate incident shortly thereafter. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Chronoscope' title='/pmwiki/pmwiki.php/Main/Chronoscope' data-format='e3tDaHJvbm9zY29wZX19'>Chronoscope</a>: A device that allows its user to view past and future events. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/CometOfDoom' title='/pmwiki/pmwiki.php/Main/CometOfDoom' data-format='Q29tZXRPZkRvb20='>Comet of Doom</a>: A comet in the sky signals鈥攐r perhaps causes鈥攁 truly momentous event. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/CrystalBall' title='/pmwiki/pmwiki.php/Main/CrystalBall' data-format='Q3J5c3RhbEJhbGw='>Crystal Ball</a>: Crystal balls are used for magical purposes, typically for seeing things, and especially the future. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/DeadMansHand' title='/pmwiki/pmwiki.php/Main/DeadMansHand' data-format='RGVhZE1hbnNIYW5k'>Dead Man's Hand</a>: A poker hand with two aces, two eights, and any other unmatched card. Usually a <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PortentOfDoom' title='/pmwiki/pmwiki.php/Main/PortentOfDoom' data-format='UG9ydGVudE9mRG9vbQ=='>Portent of Doom</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/DreamingOfThingsToCome' title='/pmwiki/pmwiki.php/Main/DreamingOfThingsToCome' data-format='RHJlYW1pbmdPZlRoaW5nc1RvQ29tZQ=='>Dreaming of Things to Come</a>: A character has prophetic dreams of a future event. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/EitherOrProphecy' title='/pmwiki/pmwiki.php/Main/EitherOrProphecy' data-format='RWl0aGVyT3JQcm9waGVjeQ=='>Either/Or Prophecy</a>: A prophecy specifies two possible outcomes to an event. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/FailedFutureForecast' title='/pmwiki/pmwiki.php/Main/FailedFutureForecast' data-format='RmFpbGVkRnV0dXJlRm9yZWNhc3Q='>Failed Future Forecast</a>: A work makes a prediction about the future that doesn't come to pass. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/FateDrivesUsTogether' title='/pmwiki/pmwiki.php/Main/FateDrivesUsTogether' data-format='RmF0ZURyaXZlc1VzVG9nZXRoZXI='>Fate Drives Us Together</a>: The main couple meets by repeatedly bumping into each other. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/FlashSideways' title='/pmwiki/pmwiki.php/Main/FlashSideways' data-format='Rmxhc2hTaWRld2F5cw=='>Flash Sideways</a>: A <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Flashback' title='/pmwiki/pmwiki.php/Main/Flashback' data-format='W1t7e0ZsYXNoYmFja319IHN1ZGRlbmx5IHJlc3VyZmFjaW5nIG1lbW9yeV1d'>suddenly resurfacing memory</a> which comes from the character's <a class='twikilink' href='/pmwiki/pmwiki.php/Main/AlternateSelf' title='/pmwiki/pmwiki.php/Main/AlternateSelf' data-format='QWx0ZXJuYXRlU2VsZg=='>Alternate Self</a> in an <a class='twikilink' href='/pmwiki/pmwiki.php/Main/AlternateUniverse' title='/pmwiki/pmwiki.php/Main/AlternateUniverse' data-format='QWx0ZXJuYXRlVW5pdmVyc2U='>Alternate Universe</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ForeseeingMyDeath' title='/pmwiki/pmwiki.php/Main/ForeseeingMyDeath' data-format='Rm9yZXNlZWluZ015RGVhdGg='>Foreseeing My Death</a>: A character has foreseen the circumstances under which they are going to die. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/FortuneCookieGag' title='/pmwiki/pmwiki.php/Main/FortuneCookieGag' data-format='Rm9ydHVuZUNvb2tpZUdhZw=='>Fortune Cookie Gag</a>: Fortune cookies serve as a source of <a class='twikilink' href='/pmwiki/pmwiki.php/Main/RunningGags' title='/pmwiki/pmwiki.php/Main/RunningGags' data-format='UnVubmluZ0dhZ3M='>Running Gags</a> or humorously prescient advice/knowledge. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/HijackedDestiny' title='/pmwiki/pmwiki.php/Main/HijackedDestiny' data-format='SGlqYWNrZWREZXN0aW55'>Hijacked Destiny</a>: A character manages to steal <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheChosenOne' title='/pmwiki/pmwiki.php/Main/TheChosenOne' data-format='VGhlQ2hvc2VuT25l'>The Chosen One</a>'s status away from the proper chosen one. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Horrorscope' title='/pmwiki/pmwiki.php/Main/Horrorscope' data-format='e3tIb3Jyb3JzY29wZX19'>Horrorscope</a>: A character reads something in their horoscope in the news so unbelievably horrifying that they will resort to doing anything or everything to prevent it from coming true. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/LoveWillLeadYouBack' title='/pmwiki/pmwiki.php/Main/LoveWillLeadYouBack' data-format='TG92ZVdpbGxMZWFkWW91QmFjaw=='>Love Will Lead You Back</a>: Believing your lover will return to you because it's destiny. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/LovesMeNot' title='/pmwiki/pmwiki.php/Main/LovesMeNot' data-format='TG92ZXNNZU5vdA=='>Loves Me Not</a>: A character does something (usually plucking flower petals) to determine whether someone loves them, alternating between saying the love interest "loves [them]" and "loves [them] not" with each turn. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Magic8Ball' title='/pmwiki/pmwiki.php/Main/Magic8Ball' data-format='TWFnaWM4QmFsbA=='>Magic 8-Ball</a>: A popular toy used for fortune telling. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/MagicMirror' title='/pmwiki/pmwiki.php/Main/MagicMirror' data-format='TWFnaWNNaXJyb3I='>Magic Mirror</a>: A mirror with magical powers that can do more than reflect one's image. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/MagpiesAsPortents' title='/pmwiki/pmwiki.php/Main/MagpiesAsPortents' data-format='TWFncGllc0FzUG9ydGVudHM='>Magpies as Portents</a>: The association of certain numbers of magpies with good or bad luck, and the rituals for warding the bad luck off. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/MisfortuneCookie' title='/pmwiki/pmwiki.php/Main/MisfortuneCookie' data-format='TWlzZm9ydHVuZUNvb2tpZQ=='>Misfortune Cookie</a>: The slip of paper in a fortune cookie tells the character something demotivational or otherwise grim. Could serve as <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Foreshadowing' title='/pmwiki/pmwiki.php/Main/Foreshadowing' data-format='e3tGb3Jlc2hhZG93aW5nfX0='>Foreshadowing</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/NiceJobBreakingItHerod' title='/pmwiki/pmwiki.php/Main/NiceJobBreakingItHerod' data-format='TmljZUpvYkJyZWFraW5nSXRIZXJvZA=='>Nice Job Breaking It, Herod</a>: A villain tries to kill a child who is destined to defeat them. This often <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SelfFulfillingProphecy' title='/pmwiki/pmwiki.php/Main/SelfFulfillingProphecy' data-format='W1tTZWxmRnVsZmlsbGluZ1Byb3BoZWN5IGJhY2tmaXJlc11d'>backfires</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/NoManOfWomanBorn' title='/pmwiki/pmwiki.php/Main/NoManOfWomanBorn' data-format='Tm9NYW5PZldvbWFuQm9ybg=='>No Man of Woman Born</a>: A seemingly-impossible prophesized condition is ultimately met through <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ExactWords' title='/pmwiki/pmwiki.php/Main/ExactWords' data-format='RXhhY3RXb3Jkcw=='>Exact Words</a> or <a class='twikilink' href='/pmwiki/pmwiki.php/Main/LoopholeAbuse' title='/pmwiki/pmwiki.php/Main/LoopholeAbuse' data-format='TG9vcGhvbGVBYnVzZQ=='>Loophole Abuse</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/OuijaBoard' title='/pmwiki/pmwiki.php/Main/OuijaBoard' data-format='T3VpamFCb2FyZA=='>Ouija Board</a>: A board game that is seen as a mystical device which can be used to communicate with spirits. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PokeInTheThirdEye' title='/pmwiki/pmwiki.php/Main/PokeInTheThirdEye' data-format='UG9rZUluVGhlVGhpcmRFeWU='>Poke in the Third Eye</a>: A character messes with people who are trying to scry against them. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PortentOfDoom' title='/pmwiki/pmwiki.php/Main/PortentOfDoom' data-format='UG9ydGVudE9mRG9vbQ=='>Portent of Doom</a>: An omen of ill-fate. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PreemptiveDeclaration' title='/pmwiki/pmwiki.php/Main/PreemptiveDeclaration' data-format='UHJlZW1wdGl2ZURlY2xhcmF0aW9u'>Pre-emptive Declaration</a>: Character declares a future action as if done in past tense, before <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SelfFulfillingProphecy' title='/pmwiki/pmwiki.php/Main/SelfFulfillingProphecy' data-format='W1tTZWxmRnVsZmlsbGluZ1Byb3BoZWN5IGFjdHVhbGx5IGRvaW5nIGl0XV0='>actually doing it</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PrescienceIsPredictable' title='/pmwiki/pmwiki.php/Main/PrescienceIsPredictable' data-format='UHJlc2NpZW5jZUlzUHJlZGljdGFibGU='>Prescience Is Predictable</a>: Perfect knowledge of the future makes life boring or depressing. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PropheciesAreAlwaysRight' title='/pmwiki/pmwiki.php/Main/PropheciesAreAlwaysRight' data-format='UHJvcGhlY2llc0FyZUFsd2F5c1JpZ2h0'>Prophecies Are Always Right</a>: Prophecies are always correct, and are neither lies nor jokes. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PropheciesRhymeAllTheTime' title='/pmwiki/pmwiki.php/Main/PropheciesRhymeAllTheTime' data-format='UHJvcGhlY2llc1JoeW1lQWxsVGhlVGltZQ=='>Prophecies Rhyme All the Time</a>: Prophecies all come in verse. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ProphecyArmor' title='/pmwiki/pmwiki.php/Main/ProphecyArmor' data-format='UHJvcGhlY3lBcm1vcg=='>Prophecy Armor</a>: A character destined to die from a specific circumstance <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PlotArmor' title='/pmwiki/pmwiki.php/Main/PlotArmor' data-format='W1tQbG90QXJtb3IgY2Fubm90IGRpZSBmcm9tIGFueXRoaW5nIGVsc2VdXQ=='>cannot die from anything else</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TheProphecy' title='/pmwiki/pmwiki.php/Main/TheProphecy' data-format='VGhlUHJvcGhlY3k='>The Prophecy</a>: A prophecy that drives the plot. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ProphecyPileup' title='/pmwiki/pmwiki.php/Main/ProphecyPileup' data-format='UHJvcGhlY3lQaWxldXA='>Prophecy Pileup</a>: When two or more prophecies overlap. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ProphecyTwist' title='/pmwiki/pmwiki.php/Main/ProphecyTwist' data-format='UHJvcGhlY3lUd2lzdA=='>Prophecy Twist</a>: A prophecy technically comes true, <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ExactWords' title='/pmwiki/pmwiki.php/Main/ExactWords' data-format='W1tFeGFjdFdvcmRzIGJ1dCBub3QgaW4gdGhlIHdheSBpdCBzZWVtZWQgbGlrZSBpdCB3b3VsZF1d'>but not in the way it seemed like it would</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PropheticFallacy' title='/pmwiki/pmwiki.php/Main/PropheticFallacy' data-format='UHJvcGhldGljRmFsbGFjeQ=='>Prophetic Fallacy</a>: A prophecy that is incomplete or otherwise doesn't give those who see it all the information. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PsychicDreamsForEveryone' title='/pmwiki/pmwiki.php/Main/PsychicDreamsForEveryone' data-format='UHN5Y2hpY0RyZWFtc0ZvckV2ZXJ5b25l'>Psychic Dreams for Everyone</a>: <a class='twikilink' href='/pmwiki/pmwiki.php/Main/DreamingOfThingsToCome' title='/pmwiki/pmwiki.php/Main/DreamingOfThingsToCome' data-format='RHJlYW1pbmdPZlRoaW5nc1RvQ29tZQ=='>Dreaming of Things to Come</a>? Oh, that's normal, everyone gets those. Even those that don't have <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PsychicPowers' title='/pmwiki/pmwiki.php/Main/PsychicPowers' data-format='UHN5Y2hpY1Bvd2Vycw=='>Psychic Powers</a>. Especially those that don't have <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PsychicPowers' title='/pmwiki/pmwiki.php/Main/PsychicPowers' data-format='UHN5Y2hpY1Bvd2Vycw=='>Psychic Powers</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/RedStringOfFate' title='/pmwiki/pmwiki.php/Main/RedStringOfFate' data-format='UmVkU3RyaW5nT2ZGYXRl'>Red String of Fate</a>: Character knows another character is their soulmate because a plot device (invisible red string, birthmarks, timers, etc.) connects to them. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ScrewDestiny' title='/pmwiki/pmwiki.php/Main/ScrewDestiny' data-format='U2NyZXdEZXN0aW55'>Screw Destiny</a>: Character decides to go against their written fate. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ScryVsScry' title='/pmwiki/pmwiki.php/Main/ScryVsScry' data-format='U2NyeVZzU2NyeQ=='>Scry vs. Scry</a>: When dueling <a class='twikilink' href='/pmwiki/pmwiki.php/Main/Seers' title='/pmwiki/pmwiki.php/Main/Seers' data-format='e3tTZWVyc319'>Seers</a> start <a class='twikilink' href='/pmwiki/pmwiki.php/Main/OutGambitted' title='/pmwiki/pmwiki.php/Main/OutGambitted' data-format='W1tPdXRHYW1iaXR0ZWQgdHJ5aW5nIHRvIGNvdW50ZXJdXQ=='>trying to counter</a> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/XanatosSpeedChess' title='/pmwiki/pmwiki.php/Main/XanatosSpeedChess' data-format='W1tYYW5hdG9zU3BlZWRDaGVzcyBlYWNoIG90aGVyJiMwMzk7cyBwbGFuc11d'>each other's plans</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SelfDefeatingProphecy' title='/pmwiki/pmwiki.php/Main/SelfDefeatingProphecy' data-format='U2VsZkRlZmVhdGluZ1Byb3BoZWN5'>Self-Defeating Prophecy</a>: The very existence of prophetic foreknowledge initiates <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ScrewDestiny' title='/pmwiki/pmwiki.php/Main/ScrewDestiny' data-format='W1tTY3Jld0Rlc3RpbnkgdGhlIGFsdGVyYXRpb24gb2YgdGhlIGZ1dHVyZV1d'>the alteration of the future</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SelfFulfillingProphecy' title='/pmwiki/pmwiki.php/Main/SelfFulfillingProphecy' data-format='U2VsZkZ1bGZpbGxpbmdQcm9waGVjeQ=='>Self-Fulfilling Prophecy</a>: A prophecy fulfilled by attempts to prevent it from happening. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SlidingScaleOfFreeWillVsFate' title='/pmwiki/pmwiki.php/Main/SlidingScaleOfFreeWillVsFate' data-format='U2xpZGluZ1NjYWxlT2ZGcmVlV2lsbFZzRmF0ZQ=='>Sliding Scale of Free Will vs. Fate</a>: Sliding scale determining how much free will characters really have in a work. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/StrangelySpecificHoroscope' title='/pmwiki/pmwiki.php/Main/StrangelySpecificHoroscope' data-format='U3RyYW5nZWx5U3BlY2lmaWNIb3Jvc2NvcGU='>Strangely Specific Horoscope</a>: A character's horoscope for the day literally predicts what's going to happen to them. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TarotTroubles' title='/pmwiki/pmwiki.php/Main/TarotTroubles' data-format='VGFyb3RUcm91Ymxlcw=='>Tarot Troubles</a>: Tarot card readings hint at <a class='twikilink' href='/pmwiki/pmwiki.php/Main/PortentOfDoom' title='/pmwiki/pmwiki.php/Main/PortentOfDoom' data-format='W1tQb3J0ZW50T2ZEb29tIHRlcnJpYmxlIGRhbmdlcnNdXQ=='>terrible dangers</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ThereAreNoCoincidences' title='/pmwiki/pmwiki.php/Main/ThereAreNoCoincidences' data-format='VGhlcmVBcmVOb0NvaW5jaWRlbmNlcw=='>There Are No Coincidences</a>: A character <a class='twikilink' href='/pmwiki/pmwiki.php/Main/GenreSavvy' title='/pmwiki/pmwiki.php/Main/GenreSavvy' data-format='W1tHZW5yZVNhdnZ5IGRvZXMgbm90IGJlbGlldmVdXQ=='>does not believe</a> that <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ContrivedCoincidence' title='/pmwiki/pmwiki.php/Main/ContrivedCoincidence' data-format='W1tDb250cml2ZWRDb2luY2lkZW5jZSBzdHJhbmdlIHRoaW5ncyBqdXN0IGhhcHBlbl1d'>strange things just happen</a>. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ThreadsOfFate' title='/pmwiki/pmwiki.php/Main/ThreadsOfFate' data-format='VGhyZWFkc09mRmF0ZQ=='>Threads of Fate</a>: Powerful and supernatural threads that can represent or even wield cosmic forces like destiny and fate, often to the point where cutting one can end a person's life. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/ThreadOfProphecySevered' title='/pmwiki/pmwiki.php/Main/ThreadOfProphecySevered' data-format='VGhyZWFkT2ZQcm9waGVjeVNldmVyZWQ='>Thread of Prophecy, Severed</a>: A prophecy fails to come to pass due to something involved in it going wrong. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TomesOfProphecyAndFate' title='/pmwiki/pmwiki.php/Main/TomesOfProphecyAndFate' data-format='VG9tZXNPZlByb3BoZWN5QW5kRmF0ZQ=='>Tomes of Prophecy and Fate</a>: A book of prophecies that can be used to predict the future. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TwistingTheProphecy' title='/pmwiki/pmwiki.php/Main/TwistingTheProphecy' data-format='VHdpc3RpbmdUaGVQcm9waGVjeQ=='>Twisting the Prophecy</a>: Knowingly fulfilling a prophecy in a way that creates a favourable outcome. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/VaguenessIsComing' title='/pmwiki/pmwiki.php/Main/VaguenessIsComing' data-format='VmFndWVuZXNzSXNDb21pbmc='>Vagueness Is Coming</a>: Something bad is coming, but... what, exactly? </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/VideoGamesAndFate' title='/pmwiki/pmwiki.php/Main/VideoGamesAndFate' data-format='VmlkZW9HYW1lc0FuZEZhdGU='>Video Games and Fate</a>: Video games where the strictly linear gameplay is justified in-story, by way of reference to fate, destiny or mind control. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/WhenThePlanetsAlign' title='/pmwiki/pmwiki.php/Main/WhenThePlanetsAlign' data-format='V2hlblRoZVBsYW5ldHNBbGlnbg=='>When the Planets Align</a>: As the orbits of planets and/or other celestial objects cross paths, wacky stuff begins to happen. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/WindsOfDestinyChange' title='/pmwiki/pmwiki.php/Main/WindsOfDestinyChange' data-format='V2luZHNPZkRlc3RpbnlDaGFuZ2U='>Winds of Destiny, Change!</a>: The ability to alter probability or luck. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/YouAlreadyChangedThePast' title='/pmwiki/pmwiki.php/Main/YouAlreadyChangedThePast' data-format='WW91QWxyZWFkeUNoYW5nZWRUaGVQYXN0'>You Already Changed the Past</a><span class='esc-seq' title='non-wikiword'>/</span><a class='twikilink' href='/pmwiki/pmwiki.php/Main/YouCannotChangeTheFuture' title='/pmwiki/pmwiki.php/Main/YouCannotChangeTheFuture' data-format='WW91Q2Fubm90Q2hhbmdlVGhlRnV0dXJl'>You Cannot Change The Future</a>: A character goes <a class='twikilink' href='/pmwiki/pmwiki.php/Main/TimeTravel' title='/pmwiki/pmwiki.php/Main/TimeTravel' data-format='W1tUaW1lVHJhdmVsIGJhY2sgaW4gdGltZV1d'>back in time</a> to <a class='twikilink' href='/pmwiki/pmwiki.php/Main/SetRightWhatOnceWentWrong' title='/pmwiki/pmwiki.php/Main/SetRightWhatOnceWentWrong' data-format='U2V0UmlnaHRXaGF0T25jZVdlbnRXcm9uZw=='>Set Right What Once Went Wrong</a>, only to discover that the "changes" they're making to the past were what "already" happened anyway. </li><li> <a class='twikilink' href='/pmwiki/pmwiki.php/Main/YouCantFightFate' title='/pmwiki/pmwiki.php/Main/YouCantFightFate' data-format='WW91Q2FudEZpZ2h0RmF0ZQ=='>You Can't Fight Fate</a>: Characters are unable to prevent what's been foretold. </li></ul></p><p><!—/index—> <hr data-format='——' /> </p></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/Main/BushidoIndex">Bushido Index</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/PhilosophyTropes">Philosophy Tropes</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/HedonismTropes">Hedonism Tropes</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Main/ClockIndex">Clock Index</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/TimeTropes">Time Tropes</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/FlashbacksAndChronology">Flashbacks and Chronology</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Main/FasterThanLightIndex">Faster-Than-Light Index</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/TopicalTropes">Topical Tropes</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/FearTropes">Fear Tropes</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Main/AccidentalGoodOutcome">Accidental Good Outcome</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/LuckTropes">Luck Tropes</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/GamblingTropes">Gambling Tropes</a> </li> </ul> <ul> <li> <a href="/pmwiki/pmwiki.php/Main/FasterThanLightIndex">Faster-Than-Light Index</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/SpeculativeFictionTropes">Speculative Fiction Tropes</a> </li> <li> <a href="/pmwiki/pmwiki.php/Main/FictionalCultureAndNationTropes">Fictional Culture and Nation Tropes</a> </li> </ul> </div> </div> <div id="proper_player_insert_div" class="outer_ads_by_salon_wrapper"> </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 & 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> </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=34f2653e14b8f0604d7c8ab2d8e0002abf7d2ab4'; } else { elem.src = 'https://assets.tvtropes.org/design/assets/bundle.js?rev=34f2653e14b8f0604d7c8ab2d8e0002abf7d2ab4'; } 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&c2=38282685&cv=3.6.0&cj=1"> </noscript> <!-- End comScore Tag --> </body> </html>