Popup.js

From Wiki The-West EN
Revision as of 17:28, 26 February 2018 by Thathanka (talk | contribs) (Minified version with set calc)
Jump to navigation

if($("body").append('

'),$(document).on("mouseenter",".item_container",function(t){Popup.show(this),Popup.setPosition(t)}),$(document).on("mouseleave",".item_container",function(){Popup.hide()}),$(document).on("mousemove",".item_container",function(t){Popup.setPosition(t)}),$(".item_level").mousedown(function(t){t.preventDefault()}),$(document).on("click",".upgrade",function(){var t=$(this).closest(".item_container"),e=parseInt(t.attr("data-lvl"));5!==e&&(t.attr("data-lvl",e+1),t.find(".level").html(e+1)),Popup.show(t[0])}),$(document).on("click",".downgrade",function(){var t=$(this).closest(".item_container"),e=parseInt(t.attr("data-lvl"));0!==e&&(t.attr("data-lvl",e-1),t.find(".level").html(e-1)),Popup.show(t[0])}),1==$("#input_level").length)var input_level=$('<input type="number" style="width:80px;" class="west" placeholder="Your level" min="0" max="150">').bind("propertychange keyup input paste",function(){this.value>150?this.value=150:this.value<0&&(this.value=0),$(".calc").each(function(){0==input_level.val()?($(this).html(this.id),$(".per_level_off").addClass("per_level").removeClass("per_level_off")):($(this).html(Math.ceil(Number(this.id)*input_level.val())),$(".per_level").addClass("per_level_off").removeClass("per_level"))})}).appendTo($("#input_level"));if(1==$("#input_search").length)var input_search=$('<input type="search" class="west" placeholder="Search">').bind("propertychange keyup input paste",function(){var t=this.value.toLowerCase();""==t?$(".item_container").show():($(".item_container").hide(),$(".item_container").filter(function(){return $(this).attr("data-popup").toLowerCase().indexOf(t)>-1}).show())}).appendTo($("#input_search"));1==$("#switch").length&&($("#fire").hide(),$("#switch").on("click",function(){$("#melee, #fire").toggle()}));var Popup={content:"",delay:200,active:!1,show:function(t){Popup.content=Popup.createPopup($(t).attr("data-popup"),$(t).attr("data-cdn-cat"),$(t).attr("data-cdn-img"),parseInt($(t).attr("data-lvl"))),Popup.active=!0,Popup.setTimeout(),Popup.getContainer().html(Popup.content)},hide:function(){Popup.getEl().css({display:"none",top:0,left:0}),Popup.active=!1,Popup.clearTimeout()},setTimeout:function(){Popup.clearTimeout(),Popup.timer=window.setTimeout(function(){Popup.getEl().css("display","block")},Popup.delay)},clearTimeout:function(){Popup.timer&&window.clearTimeout(Popup.timer)},getEl:function(){return $("#popup_window")},getContainer:function(){return $("#popup_contents")},createPopup:function(t,e,a,i){var s='


",p=!1;for(var n in i>=1&&i<=5&&(p=!0,t.auc=!1),t.dmg_min&&t.dmg_max&&(p&&(t.dmg_min+=Math.round(Math.max(1,.1*t.dmg_min*i)),t.dmg_max+=Math.round(Math.max(1,.1*t.dmg_max*i))),s+='

"),Popup.data){var l=0;for(var o in Popup.data[n])if(t.hasOwnProperty(o)){l++;var c="";t[o]<0?$("#input_level input").val()>0?(t[o]=Math.ceil($("#input_level input").val()*-t[o]),p&&(t[o]+=Math.round(Math.max(1,.1*t[o]*i)))):(t[o]=-t[o],c=" (per Level)",p&&(t[o]=Math.round(1e6*(1*t[o]+Math.round(Math.max(1,1e3*t[o]*i))/1e4))/1e6)):p&&(t[o]<1?t[o]=Math.round(1e6*(1*t[o]+Math.round(Math.max(1,1e3*t[o]*i))/1e4))/1e6:t[o]+=Math.round(Math.max(1,.1*t[o]*i))),s+=Popup.data[n][o].replace("#1",t[o]).replace("#2",c)}l>0&&(s+="
")}if(t.text){for(var r=0;r<t.text.length;r++)s+='

";s+="
"}if(t.bonus){for(r=0;r<t.bonus.length;r++)s+='

";s+="
"}if(t.jobs){s+='

';for(r=0;r<t.jobs.length;r++)s+='";s+="

"}if(t.craft){s+='

"}return s+='

"},setPosition:function(t){var e,a,i=$(window).width(),s=$(window).height(),p=Popup.getEl().outerWidth(),n=Popup.getEl().outerHeight(),l=t.clientX,o=t.clientY;a=l+p+20>i?l-p-20+(t.pageX-t.clientX):l+20+(t.pageX-t.clientX),e=o+n+20>s?s-n+(t.pageY-t.clientY):o+20+(t.pageY-t.clientY),Popup.getEl().css({top:e,left:a})},data:{dmg:{dmglvl:'

'},skills:{str:'

',mob:'

',dex:'

',cha:'

',con:'

',vig:'

',tou:'

',sta:'

',hea:'

',rid:'

',ref:'

',dod:'

',hid:'

',swi:'

',aim:'

',sho:'

',pit:'

',fin:'

',rep:'

',lea:'

',tac:'

',tra:'

',ani:'

',app:'

'},fb:{fbdef:'

',fboff:'

',fbres:'

',fbdefs:'

',fboffs:'

',fbdmgs:'

'}}};if(new RegExp(mw.config.get("wgFormattedNamespaces")[10]+":Item_*").test(mw.config.get("wgPageName"))&&1==$(".item_container").length&&($("#mw-content-text").append('

'),$("#popup_plain").hide(),$("#popup_plain_contents").append(Popup.createPopup($(".item_container").attr("data-popup"),$(".item_container").attr("data-cdn-cat"),$(".item_container").attr("data-cdn-img"),0)),$("#popup_plain").slideDown()),0!=$(".infoSet").length){var set_calc={bonus:{set_bonus:{str:{name:"Strength",img:"/images/thumb/8/8b/Strength.png/40px-Strength.png"},mob:{name:"Mobility",img:"/images/thumb/5/5a/Mobility.png/40px-Mobility.png"},dex:{name:"Dexterity",img:"/images/thumb/0/0d/Dexterity.png/40px-Dexterity.png"},cha:{name:"Charisma",img:"/images/thumb/c/c9/Charisma.png/40px-Charisma.png"},con:{name:"Construction",img:"/images/thumb/3/37/Construction.png/40px-Construction.png"},vig:{name:"Vigor",img:"/images/thumb/9/90/Skill_Punch.png/40px-Skill_Punch.png"},tou:{name:"Toughness",img:"/images/thumb/f/f8/Skill_Tough.png/40px-Skill_Tough.png"},sta:{name:"Stamina",img:"/images/thumb/8/8d/Stamina.png/40px-Stamina.png"},hea:{name:"Health Points",img:"/images/thumb/9/94/Health.png/40px-Health.png"},rid:{name:"Horseback Riding",img:"/images/thumb/7/78/Hbr.png/40px-Hbr.png"},ref:{name:"Reflex",img:"/images/thumb/e/e9/Skill_Reflex.png/40px-Skill_Reflex.png"},dod:{name:"Dodging",img:"/images/thumb/0/07/Skill_Dodge.png/40px-Skill_Dodge.png"},hid:{name:"Hiding",img:"/images/thumb/9/97/Hiding.png/40px-Hiding.png"},swi:{name:"Swimming",img:"/images/thumb/f/f4/Swimming.png/40px-Swimming.png"},aim:{name:"Aiming",img:"/images/thumb/5/53/Skill_Aim.png/40px-Skill_Aim.png"},sho:{name:"Shooting",img:"/images/thumb/7/73/Skill_Shot.png/40px-Skill_Shot.png"},pit:{name:"Setting traps",img:"/images/thumb/e/e1/Trapping.png/40px-Trapping.png"},fin:{name:"Fine Motor Skills",img:"/images/thumb/1/18/Fms.png/40px-Fms.png"},rep:{name:"Repairing",img:"/images/thumb/d/d5/Repairing.png/40px-Repairing.png"},lea:{name:"Leadership",img:"/images/thumb/4/44/Leadership.png/40px-Leadership.png"},tac:{name:"Tactics",img:"/images/thumb/9/91/Skill_Tactic.png/40px-Skill_Tactic.png"},tra:{name:"Trading",img:"/images/thumb/f/f3/Skill_Trading.png/40px-Skill_Trading.png"},ani:{name:"Animal Instinct",img:"/images/thumb/9/9d/AnimalInstinct.png/40px-AnimalInstinct.png"},app:{name:"Appearance",img:"/images/thumb/4/4c/Skill_Appearance.png/40px-Skill_Appearance.png"},fbdef:{name:"Defense (Fort battle bonus)",img:"/images/8/82/Set_Fb_defense.png"},fboff:{name:"Attack (Fort battle bonus)",img:"/images/3/30/Set_Fb_offense.png"},fbres:{name:"Resistance (Fort battle bonus)",img:"/images/4/4b/Resistance.png"},fbdefs:{name:"Defense (Fort battle sector bonus)",img:""},fboffs:{name:"Attack (Fort battle sector bonus)",img:""},fbdmgs:{name:"Damages (Fort battle sector bonus)",img:"/images/b/b3/Damages_sector.png"}},extra_set_bonus:{}},data:{},itemStatus:{},getData:function(){$(".set_container").each(function(){var t=$(this).attr("data-set-id");set_calc.itemStatus[t]={},set_calc.data[t]={items:{},set:{}},$(this).find(".item_container").each(function(){var e=JSON.parse($(this).attr("data-popup"));for(var a in $(this).is(":hidden")?set_calc.itemStatus[t][e.id]=!1:set_calc.itemStatus[t][e.id]=0,e)e.hasOwnProperty(a)&&set_calc.bonus.set_bonus.hasOwnProperty(a)&&(set_calc.data[t].items[a]||(set_calc.data[t].items[a]={}),set_calc.data[t].items[a][e.id]=e[a])})}),$(".infoSet").each(function(){var t=$(this).attr("data-set-id");$(this).find(".infosetatt").each(function(){var e=$(this).attr("data-nb");set_calc.data[t].set[e]={},$(this).find(".set_bonus").each(function(){key=$(this).attr("data-type"),0!==$(this).find(".calc").length?set_calc.data[t].set[e][key]=-parseFloat($(this).find(".calc").attr("id")):set_calc.data[t].set[e][key]=parseFloat($(this).find(".val").text()),set_calc.bonus.set_bonus.hasOwnProperty(key)||(set_calc.bonus.extra_set_bonus[key]={img:$(this).find("img").attr("src"),name:$(this).find("#tooltip_content").text()})})})})},calc:function(){if(0==$("#input_level input").length|""!==$("#input_level input").val()){var t=parseInt($("#input_level input").val());for(var e in total={},set_calc.data){for(var a in set_calc.data[e].items)for(var i in set_calc.data[e].items[a])if(!1!==set_calc.itemStatus[e][i]){lvl=set_calc.itemStatus[e][i],total[a]||(total[a]=0);var s=set_calc.data[e].items[a][i];set_calc.data[e].items[a][i]<0?(s=-s,set_calc.itemStatus[e][i]>0?total[a]+=Math.ceil(s*t)+Math.round(Math.max(1,.1*Math.ceil(s*t)*lvl)):total[a]+=Math.ceil(s*t)):set_calc.itemStatus[e][i]>0?total[a]+=s<1?Math.ceil(Math.round(1e6*(1*s+Math.round(Math.max(1,1e3*s*lvl))/1e4))/1e6*t):Math.round(Math.max(1,.1*s*lvl)):total[a]+=s}var p=0;for(var i in set_calc.itemStatus[e])!1!==set_calc.itemStatus[e][i]&&p++;for(var a in set_calc.data[e].set[p])total[a]||(total[a]=0),set_calc.data[e].set[p][a]<0?total[a]+=Math.ceil(-set_calc.data[e].set[p][a]*t):total[a]+=set_calc.data[e].set[p][a]}var n='

<tbody>

Total
';for(var a in set_calc.bonus.set_bonus)total.hasOwnProperty(a)&&(n+='
<img src="'+set_calc.bonus.set_bonus[a].img+'">+'+total[a]+'
'+set_calc.bonus.set_bonus[a].name+"
");for(var a in set_calc.bonus.extra_set_bonus)total.hasOwnProperty(a)&&(n+='
<img src="'+set_calc.bonus.extra_set_bonus[a].img+'">+'+total[a]+'
'+set_calc.bonus.extra_set_bonus[a].name+"
");$("#set_calc").html(n)}else $("#set_calc").html("")},initEvents:function(){$(".item_container > img").click(function(){item_container=$(this).closest(".item_container"),item_container.toggleClass("item_off"),set_id=item_container.closest(".set_container").attr("data-set-id"),item_id=JSON.parse(item_container.attr("data-popup")).id,item_container.hasClass("item_off")||item_container.is(":hidden")?set_calc.itemStatus[set_id][item_id]=!1:set_calc.itemStatus[set_id][item_id]=parseInt(item_container.attr("data-lvl")),set_calc.calc()}),$(document).on("click",".upgrade, .downgrade",function(){var t=$(this).closest(".item_container"),e=t.closest(".set_container").attr("data-set-id");t.hasClass("item_off")||t.is(":hidden")||(set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl")),set_calc.calc())}),$("#input_level").bind("propertychange keyup input paste",function(){set_calc.calc()}),$("#switch").click(function(){$("#melee, #fire").each(function(){var t=$(this).find(".item_container"),e=$(this).closest(".set_container").attr("data-set-id");$(this).is(":hidden")?set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=!1:set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl"))}),set_calc.calc()})},init:function(){set_calc.initEvents(),set_calc.getData(),$("#mw-content-text").append('
')}};set_calc.init()}