Zelda Wiki

Want to contribute to this wiki?
Sign up for an account, and get started!

Come join the Zelda Wiki community Discord server!

READ MORE

Zelda Wiki
mNo edit summary
 
mNo edit summary
 
Line 1: Line 1:
  +
// [[User:Zocky/PicturePopupsVector.js]]
{{Noncanon}}
 
  +
//importScript('https://en.wikipedia.org/wiki/User:Zocky/PicturePopupsVector.js');
{{Object
 
  +
//Credit to Zocky; I'm just copy-pasting in full to see if it works because ^ doesn't
|name = Gate of Souls
 
  +
/*
|image = [[File:HW Gate of Souls.jpg|300px]]
 
  +
jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
|caption =
 
  +
Liscensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
|game = {{HW}}
 
  +
*/
|other =
 
  +
(function(E){E.fn.drag=function(L,K,J){if(K){this.bind("dragstart",L)}if(J){this.bind("dragend",J)}return !L?this.trigger("drag"):this.bind("drag",K?K:L)};var A=E.event,B=A.special,F=B.drag={not:":input",distance:0,which:1,dragging:false,setup:function(J){J=E.extend({distance:F.distance,which:F.which,not:F.not},J||{});J.distance=I(J.distance);A.add(this,"mousedown",H,J);if(this.attachEvent){this.attachEvent("ondragstart",D)}},teardown:function(){A.remove(this,"mousedown",H);if(this===F.dragging){F.dragging=F.proxy=false}G(this,true);if(this.detachEvent){this.detachEvent("ondragstart",D)}}};B.dragstart=B.dragend={setup:function(){},teardown:function(){}};function H(L){var K=this,J,M=L.data||{};if(M.elem){K=L.dragTarget=M.elem;L.dragProxy=F.proxy||K;L.cursorOffsetX=M.pageX-M.left;L.cursorOffsetY=M.pageY-M.top;L.offsetX=L.pageX-L.cursorOffsetX;L.offsetY=L.pageY-L.cursorOffsetY}else{if(F.dragging||(M.which>0&&L.which!=M.which)||E(L.target).is(M.not)){return }}switch(L.type){case"mousedown":E.extend(M,E(K).offset(),{elem:K,target:L.target,pageX:L.pageX,pageY:L.pageY});A.add(document,"mousemove mouseup",H,M);G(K,false);F.dragging=null;return false;case !F.dragging&&"mousemove":if(I(L.pageX-M.pageX)+I(L.pageY-M.pageY)<M.distance){break}L.target=M.target;J=C(L,"dragstart",K);if(J!==false){F.dragging=K;F.proxy=L.dragProxy=E(J||K)[0]}case"mousemove":if(F.dragging){J=C(L,"drag",K);if(B.drop){B.drop.allowed=(J!==false);B.drop.handler(L)}if(J!==false){break}L.type="mouseup"}case"mouseup":A.remove(document,"mousemove mouseup",H);if(F.dragging){if(B.drop){B.drop.handler(L)}C(L,"dragend",K)}G(K,true);F.dragging=F.proxy=M.elem=false;break}return true}function C(M,K,L){M.type=K;var J=E.event.handle.call(L,M);return J===false?false:J||M.result}function I(J){return Math.pow(J,2)}function D(){return(F.dragging===false)}function G(K,J){if(!K){return }K.unselectable=J?"off":"on";K.onselectstart=function(){return J};if(K.style){K.style.MozUserSelect=J?"":"none"}}})(jQuery);
|uses = Summoning monsters<br>Time travel
 
|comp = [[Gate of Time]]
 
}}
 
The '''Gates of Souls''' are several gates that appear in {{HW}}. They are gateways to other eras, and can be manipulated to summon monsters, people, and even entire lands from other times. A Gate of Souls is located in the [[Valley of Seers]], and more are opened when [[Cia]] uses it to merge regions into present day Hyrule.
 
   
  +
importStylesheetURI('//en.wikipedia.org/w/index.php?action=raw&ctype=text/css&title=User%3AZocky%2FPicturePopups.css');
==Features==
 
The Gate of Souls is the "doorway of time itself."<ref>{{cite|Having pushed the light from her heart, the darkness compelled her to open the Gate of Souls, the doorway of time itself.|Narrator|HW}}</ref> It is a circular gate with red rings and dark, purple energy swirling inside. The gate acts as a portal to other ages, and has the potential to summon elements from these ages, including monsters, people and lands.<ref name="Monsters">{{Cite|Monsters from across the ages poured through the gate, bringing ruin to the land of Hyrule once more.|Narrator|HW}}</ref> Summoning lands causes them to merge with the present landscape, and as a result spawns additional Gates of Souls. Once opened, they can only be closed with the power of light.
 
   
  +
(function($) {
==History==
 
  +
var zTop = 10;
The Gate of Souls is first seen in the flashback when Cia, the sorceress who was tasked with observing the balance of the [[Triforce]], became corrupted by [[Ganon]]dorf's spirit. Compelled by the darkness, she used the Gate of Souls to summon monsters from other ages, intending to lead them to wage war over Hyrule.<ref name="Monsters"/>
 
  +
var $doc = $(document);
  +
$('.imagenotetoggle').live('click', function(e) {
  +
$(this).closest('.imagenote').toggleClass('imagenoteminimized');
  +
});
  +
$('.imagenoteclose').live('click', function(e) {
  +
$(this).closest('.imagenote').remove();
  +
});
  +
$('#content a.image img').live('click',function(e){
  +
if (e.ctrlKey || e.shiftKey) return;
  +
var $this = $(this);
  +
var $link = $this.closest('a.image');
  +
if (!$link.length) return;
  +
e.preventDefault();
  +
var filename = decodeURIComponent($link.attr('href').match(/(\/wiki\/|title=)[^:]+:([^&]*)/)[2].replace(/_/g," "));
  +
var $thumb = $this.closest('.thumbinner');
  +
var title = '<a href="' + $link.attr('href') + '">[&gt;]</a> ' + filename;
  +
var caption = $thumb.length ? $thumb.find('.thumbcaption').html() : '';
  +
var content = '<blink>loading...</blink>';
   
  +
var $popup = $('<div class="imagenote">'
The [[Hyrulean Forces]] later encounter Cia and the Gate of Souls at the Valley of Seers. Cia manages to steal [[Link]]'s Triforce of Courage and [[Sheik]]'s Triforce of Wisdom, and with the full Triforce in her possession, carries out her plan as she uses the Gate to open realms of other ages, merging them into present Hyrule. The Gate merges the lands of [[Death Mountain (Stage)|Death Mountain]], [[Lake Hylia (Stage)|Lake Hylia]], [[Twilight Field]], [[Palace of Twilight (Stage)|Palace of Twilight]], [[Skyloft (Stage)|Skyloft]], and the [[Sealed Grounds (Stage)|Sealed Grounds]] into Hyrule, opening three new Gates of Souls as three of Ganondorf's scattered dark fragments return to Cia. The Hyrulean Forces then resolve and split up to close these other Gates.
 
  +
+ '<table><tr class="imagenotetitlebar">'
{{clear}}
 
  +
+ '<td class="imagenotetitle" ><span>' + title + '</span></td>'
  +
+ '<td class="imagenoteicons" align="right">'
  +
+ '<span class="imagenotebutton imagenotetoggle">[–]</a> '
  +
+ '<span class="imagenotebutton imagenoteclose">[×]</a>'
  +
+ '</td></tr>'
  +
+ '<tr><td class="imagenotecontent" colspan="2">'+content+'</td></tr>'
  +
+ '<tr><td class="imagenotecaption" colspan="2">'+caption+'</td></tr></table>'
  +
);
  +
  +
$popup
  +
.appendTo($('body'))
  +
.css({
  +
top: Math.round(Math.random()*200)+'px',
  +
left: Math.round(Math.random()*200)+'px',
  +
// width:'600px',
  +
zIndex: zTop++
  +
})
  +
.mousedown(function(e) {
  +
$popup.css({
  +
zIndex: zTop++
  +
})
  +
})
  +
.bind('drag', function(e) {
  +
$popup.css({
  +
top: e.offsetY-$doc.scrollTop()+'px',
  +
left: e.offsetX-$doc.scrollLeft()+'px'
  +
});
  +
});
  +
  +
$.getJSON (
  +
'/w/api.php', {
  +
format: 'json',
  +
action: 'query',
  +
prop: 'imageinfo',
  +
titles: 'file:' + filename,
  +
iiprop: 'url|size|dimensions|mime',
  +
iiurlwidth: window.picturePopupsWidth || 800,
  +
iiurlheight: window.picturePopupsHeight || 600
  +
}, function (data) {
  +
var info;
  +
var page;
  +
for (var i in data.query.pages) {
  +
page = data.query.pages[i];
  +
info = data.query.pages[i].imageinfo[0];
  +
}
  +
var content =
  +
'<img src="' + info.thumburl+ '"/>'
  +
+ '<br/>'
  +
+ '<a href="'+info.url+'"> full resolution ('+info.width+'×'+info.height+', '+info.mime+')</a>';
  +
$popup.find('.imagenotecontent').html(content);
  +
});
  +
});
   
  +
})(jQuery);
==Gallery==
 
<gallery>
 
File:Cia2.jpg|Cia with the Gate of Souls
 
File:Hyrule Warriors Gate of Souls.jpg|Cia opening the Gate of Souls
 
</gallery>
 
 
{{Ref}}
 
 
[[Category:Objects]]
 
[[Category:Time]]
 

Revision as of 03:32, 31 December 2015

// [[User:Zocky/PicturePopupsVector.js]]
//importScript('https://en.wikipedia.org/wiki/User:Zocky/PicturePopupsVector.js');
//Credit to Zocky; I'm just copy-pasting in full to see if it works because ^ doesn't
/* 
jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)  
Liscensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
*/
(function(E){E.fn.drag=function(L,K,J){if(K){this.bind("dragstart",L)}if(J){this.bind("dragend",J)}return !L?this.trigger("drag"):this.bind("drag",K?K:L)};var A=E.event,B=A.special,F=B.drag={not:":input",distance:0,which:1,dragging:false,setup:function(J){J=E.extend({distance:F.distance,which:F.which,not:F.not},J||{});J.distance=I(J.distance);A.add(this,"mousedown",H,J);if(this.attachEvent){this.attachEvent("ondragstart",D)}},teardown:function(){A.remove(this,"mousedown",H);if(this===F.dragging){F.dragging=F.proxy=false}G(this,true);if(this.detachEvent){this.detachEvent("ondragstart",D)}}};B.dragstart=B.dragend={setup:function(){},teardown:function(){}};function H(L){var K=this,J,M=L.data||{};if(M.elem){K=L.dragTarget=M.elem;L.dragProxy=F.proxy||K;L.cursorOffsetX=M.pageX-M.left;L.cursorOffsetY=M.pageY-M.top;L.offsetX=L.pageX-L.cursorOffsetX;L.offsetY=L.pageY-L.cursorOffsetY}else{if(F.dragging||(M.which>0&&L.which!=M.which)||E(L.target).is(M.not)){return }}switch(L.type){case"mousedown":E.extend(M,E(K).offset(),{elem:K,target:L.target,pageX:L.pageX,pageY:L.pageY});A.add(document,"mousemove mouseup",H,M);G(K,false);F.dragging=null;return false;case !F.dragging&&"mousemove":if(I(L.pageX-M.pageX)+I(L.pageY-M.pageY)<M.distance){break}L.target=M.target;J=C(L,"dragstart",K);if(J!==false){F.dragging=K;F.proxy=L.dragProxy=E(J||K)[0]}case"mousemove":if(F.dragging){J=C(L,"drag",K);if(B.drop){B.drop.allowed=(J!==false);B.drop.handler(L)}if(J!==false){break}L.type="mouseup"}case"mouseup":A.remove(document,"mousemove mouseup",H);if(F.dragging){if(B.drop){B.drop.handler(L)}C(L,"dragend",K)}G(K,true);F.dragging=F.proxy=M.elem=false;break}return true}function C(M,K,L){M.type=K;var J=E.event.handle.call(L,M);return J===false?false:J||M.result}function I(J){return Math.pow(J,2)}function D(){return(F.dragging===false)}function G(K,J){if(!K){return }K.unselectable=J?"off":"on";K.onselectstart=function(){return J};if(K.style){K.style.MozUserSelect=J?"":"none"}}})(jQuery);

importStylesheetURI('//en.wikipedia.org/w/index.php?action=raw&ctype=text/css&title=User%3AZocky%2FPicturePopups.css');

(function($) {
var zTop = 10;
var $doc = $(document);
$('.imagenotetoggle').live('click', function(e) {
  $(this).closest('.imagenote').toggleClass('imagenoteminimized');
});
$('.imagenoteclose').live('click', function(e) {
  $(this).closest('.imagenote').remove();
});
$('#content a.image img').live('click',function(e){
  if (e.ctrlKey || e.shiftKey) return;
  var $this = $(this);
  var $link = $this.closest('a.image');
  if (!$link.length) return;
  e.preventDefault();
  var filename = decodeURIComponent($link.attr('href').match(/(\/wiki\/|title=)[^:]+:([^&]*)/)[2].replace(/_/g," "));
  var $thumb = $this.closest('.thumbinner');
  var title = '<a href="' + $link.attr('href') + '">[&gt;]</a> ' + filename;
  var caption = $thumb.length ? $thumb.find('.thumbcaption').html() : '';
  var content = '<blink>loading...</blink>';

  var $popup = $('<div class="imagenote">'
	+ '<table><tr class="imagenotetitlebar">'
	+ '<td class="imagenotetitle" ><span>' + title + '</span></td>'
	+ '<td class="imagenoteicons" align="right">'
	+ '<span class="imagenotebutton imagenotetoggle">[–]</a> ' 
	+ '<span class="imagenotebutton imagenoteclose">[×]</a>' 
	+ '</td></tr>'
	+ '<tr><td class="imagenotecontent" colspan="2">'+content+'</td></tr>'
	+ '<tr><td class="imagenotecaption" colspan="2">'+caption+'</td></tr></table>'
  );
  
  $popup
  .appendTo($('body'))
  .css({
	top: Math.round(Math.random()*200)+'px',
	left: Math.round(Math.random()*200)+'px',
   // width:'600px',
	zIndex: zTop++
  })
  .mousedown(function(e) {
	  $popup.css({
		zIndex: zTop++
	  })    
  })
  .bind('drag', function(e) { 
	$popup.css({ 
	  top: e.offsetY-$doc.scrollTop()+'px', 
	  left: e.offsetX-$doc.scrollLeft()+'px'
	}); 
  }); 
  
  $.getJSON (
      '/w/api.php', {
      format: 'json',
      action: 'query',
      prop: 'imageinfo',
      titles: 'file:' + filename,
      iiprop: 'url|size|dimensions|mime',
      iiurlwidth: window.picturePopupsWidth || 800,
      iiurlheight: window.picturePopupsHeight || 600
    }, function (data) {
      var info;
      var page;
      for (var i in data.query.pages) {
        page = data.query.pages[i];
        info = data.query.pages[i].imageinfo[0];
      }
 	  var content = 
 	    '<img src="' + info.thumburl+ '"/>'
 	    + '<br/>'
 	    + '<a href="'+info.url+'"> full resolution ('+info.width+'×'+info.height+', '+info.mime+')</a>';
 	    $popup.find('.imagenotecontent').html(content);
    });
 });

})(jQuery);