Popup.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
westui |
Revision as of 16:49, 18 September 2018
westui={lang:{input_level:"Your level",input_search:"Search",damages:"Damages",per_level:"per Level",speed:"Speed",level:"Level",unsalable:"Unsalable",auction:"Auctionable",not_auction:"Not auctionable",not_upgrade:"Not upgradeable",upgrade:"Upgradeable",total:"Total",popup:{dmg:{dmglvl:'
+ #1 Damages#2
'},skills:{str:'
+ #1 Strength#2
',mob:'
+ #1 Mobility#2
',dex:'
+ #1 Dexterity#2
',cha:'
+ #1 Charisma#2
',con:'
+ #1 Construction#2
',vig:'
+ #1 Vigor#2
',tou:'
+ #1 Toughness#2
',sta:'
+ #1 Stamina#2
',hea:'
+ #1 Health Points#2
',rid:'
+ #1 Horseback Riding#2
',ref:'
+ #1 Reflex#2
',dod:'
+ #1 Dodging#2
',hid:'
+ #1 Hiding#2
',swi:'
+ #1 Swimming#2
',aim:'
+ #1 Aiming#2
',sho:'
+ #1 Shooting#2
',pit:'
+ #1 Setting traps#2
',fin:'
+ #1 Fine Motor Skills#2
',rep:'
+ #1 Repairing#2
',lea:'
+ #1 Leadership#2
',tac:'
+ #1 Tactics#2
',tra:'
+ #1 Trading#2
',ani:'
+ #1 Animal Instinct#2
',app:'
+ #1 Appearance#2
'},fb:{fbdef:'
+ #1 Defense (Fort battle bonus)#2
',fboff:'
+ #1 Attack (Fort battle bonus)#2
',fbres:'
+ #1 Resistance (Fort battle bonus)#2
',fbdefs:'
+ #1 Defense (Fort battle sector bonus)#2
',fboffs:'
+ #1 Attack (Fort battle sector bonus)#2
',fbdmgs:'
+ #1 Damages (Fort battle sector bonus)#2
'},special:{xp:'
+ #1% Experience from jobs, duels and fort battles#2
',money:'
+ #1% Money from jobs and duels#2
',luck:'
+ #1% Improved Luck#2
',regen:'
+ #1% Regeneration#2
',drop:'
+ #1% Improved drop chance#2
',labor_pts:'
+ #1 labor point#2
',spd:'
+ #1% Speed#2
'}}},config:{enable_set_calc:!0,plain_popup:!0,redirect_on_dblclick:!1,link_on_dblclick:!0,enable_sorting:!0,cdn:"https://westzz.innogamescdn.com",img_buyprice:"/images/5/57/Buy_price.png",img_sellprice:"/images/f/fc/Sell_price.png",img_male:"/images/c/c5/Gender_m.png",img_female:"/images/4/41/Gender_f.png",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:"/images/1/1a/Set_Fb_defense_sec.png"},fboffs:{name:"Attack (Fort battle sector bonus)",img:"/images/f/fe/Set_Fb_offense_sec.png"},fbdmgs:{name:"Damages (Fort battle sector bonus)",img:"/images/b/b3/Damages_sector.png"},xp:{name:"Experience from jobs, duels, and fort battles (%)",img:"/images/7/71/Set_xp.png"},money:{name:"Money from jobs and duels (%)",img:"/images/d/df/Set_money.png"},luck:{name:"Increased Luck",img:"/images/c/c1/Set_luck.png"},regen:{name:"Regeneration",img:"/images/5/53/Regeneration.png"},drop:{name:"Improved drop chance",img:"/images/thumb/b/b8/Drop.png/40px-Drop.png"},spd:{name:"Speed",img:"/images/thumb/1/1a/QuarterHorse.png/40px-QuarterHorse.png"}},sorting:{Strength:'{"str":1}',Mobility:'{"mob":1}',Dexterity:'{"dex":1}',Charisma:'{"cha":1}',Construction:'{"str":1,"con":1}',Vigor:'{"str":1,"vig":1}',Toughness:'{"str":1,"tou":1}',Stamina:'{"str":1,"sta":1}',"Health Points":'{"str":1,"hea":1}',"Horseback Riding":'{"mob":1,"rid":1}',Reflex:'{"mob":1,"ref":1}',Dodging:'{"mob":1,"dod":1}',Hiding:'{"mob":1,"hid":1}',Swimming:'{"mob":1,"swi":1}',Aiming:'{"dex":1,"aim":1}',Shooting:'{"dex":1,"sho":1}',"Setting traps":'{"dex":1,"pit":1}',"Fine Motor Skills":'{"dex":1,fin":1}',Repairing:'{"dex":1,"rep":1}',Leadership:'{"cha":1,"lea":1}',Tactics:'{"cha":1,"tac":1}',Trading:'{"cha":1,"tra":1}',"Animal Instinct":'{"cha":1,"ani":1}',Appearance:'{"cha":1,"app":1}',"Labor points towards building":'{"str":3,"con":3,"dex":1,"rep":1,"cha":1,"lea":1}',"Experience from jobs, duels, and fort battles (%)":'{"xp":1}',"Money from jobs and duels (%)":'{"xp":1}',"Increased Luck (%)":'{"luck":1}',"Regeneration (%)":'{"regen":1}',"Improved drop chance (%)":'{"drop":1}',"Speed (%)":'{"spd":1,"hspd":1,"mob":1,"rid":1}',"Average damage":'{"dmg_min":0.5,"dmg_max":0.5,"dmglvl":1}',"Maximum damage":'{"dmg_max":1,"dmglvl":1}'}},initPage:function(){if(1===$("#input_level").length)var t=$('<input type="number" style="width:80px;" class="west" placeholder="'+westui.lang.input_level+'" min="0" max="150">').bind("propertychange keyup input paste",function(){150<this.value?this.value=150:this.value<0&&(this.value=0),$(".calc").each(function(){0==t.val()?($(this).html(this.id),$(".per_level_off").addClass("per_level").removeClass("per_level_off")):($(this).html(Math.ceil(Number(this.id)*t.val())),$(".per_level").addClass("per_level_off").removeClass("per_level"))})}).appendTo($("#input_level"));if(1===$("#input_search").length)$('<input type="search" class="west" placeholder="'+westui.lang.input_search+'">').bind("propertychange keyup input paste",function(){var t=this.value.toLowerCase();""===t?$(".item_container").show():($(".item_container").hide(),$(".item_container").filter(function(){return-1<$(this).attr("data-popup").toLowerCase().indexOf(t)}).show())}).appendTo($("#input_search"));1===$("#switch").length&&($("#fire").hide(),$("#switch").on("click",function(){$("#melee, #fire").toggle()})),1===$("#switch_prod").length&&($("#prod2").hide(),$("#switch_prod").on("click",function(){$("#prod, #prod2").toggle()})),westui.config.plain_popup&&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(westui.popup.createPopup($(".item_container").attr("data-popup"),$(".item_container").attr("data-cdn-cat"),$(".item_container").attr("data-cdn-img"),0)),$("#popup_plain").slideDown()),westui.config.redirect_on_dblclick&&$(".item_container img").on("dblclick",function(){window.location="/wiki/"+mw.config.get("wgFormattedNamespaces")[10]+":Item_"+JSON.parse($(this).parent().attr("data-popup")).id/1e3}),westui.config.link_on_dblclick&&$(".item_container img").on("dblclick",function(){window.location="/wiki/"+$(this).parent().attr("data-link")})},popup:{content:"",delay:200,active:!1,show:function(t){westui.popup.content=westui.popup.createPopup($(t).attr("data-popup"),$(t).attr("data-cdn-cat"),$(t).attr("data-cdn-img"),parseInt($(t).attr("data-lvl"))),westui.popup.active=!0,westui.popup.setTimeout(),westui.popup.getContainer().html(westui.popup.content)},hide:function(){westui.popup.getEl().css({display:"none",top:0,left:0}),westui.popup.active=!1,westui.popup.clearTimeout()},setTimeout:function(){westui.popup.clearTimeout(),westui.popup.timer=window.setTimeout(function(){westui.popup.getEl().css("display","block")},westui.popup.delay)},clearTimeout:function(){westui.popup.timer&&window.clearTimeout(westui.popup.timer)},getEl:function(){return $("#popup_window")},getContainer:function(){return $("#popup_contents")},createPopup:function(t,e,i,a){t=JSON.parse(t);var s='
'+t.name+'
'+t.type+"
",n=!1;if(1<=a&&a<=5&&(n=!0,t.auc=!1),t.dmg_min&&t.dmg_max&&(n&&(t.dmg_min+=Math.round(Math.max(1,.1*t.dmg_min*a)),t.dmg_max+=Math.round(Math.max(1,.1*t.dmg_max*a))),s+='
'+t.dmg_min+"-"+t.dmg_max+" "+westui.lang.damages+"
"),t.text){for(var p=0;p<t.text.length;p++)s+='
'+t.text[p]+"
";s+="
"}for(var o in westui.lang.popup){var l=0;for(var c in westui.lang.popup[o])if(t.hasOwnProperty(c)){l++;var r="";t[c]<0?0<$("#input_level input").val()?(t[c]=Math.ceil($("#input_level input").val()*-t[c]),n&&(t[c]+=Math.round(Math.max(1,.1*t[c]*a)))):(t[c]=-t[c],r=" ("+westui.lang.per_level+")",n&&(t[c]=Math.round(1e6*(1*t[c]+Math.round(Math.max(1,1e3*t[c]*a))/1e4))/1e6)):n&&(t[c]<1?t[c]=Math.round(1e6*(1*t[c]+Math.round(Math.max(1,1e3*t[c]*a))/1e4))/1e6:t[c]+=Math.round(Math.max(1,.1*t[c]*a))),s+=westui.lang.popup[o][c].replace("#1",t[c]).replace("#2",r)}0<l&&(s+="
")}if(t.textjob){for(p=0;p<t.textjob.length;p++)s+='
'+t.textjob[p]+"
";s+="
"}if(t.bonus){for(p=0;p<t.bonus.length;p++)s+='
'+t.bonus[p]+"
";s+="
"}if(t.jobs){s+='
<img src="'+westui.config.cdn+"/images/jobs/"+t.jobs[p][1]+'.png"/> | '+t.jobs[p][0]+" |
"}if(t.craft){s+='
<img src="'+westui.config.cdn+"/images/crafting/profsymbol_"+t.craft.id+'_small.png"/> | ';for(p=0;p<t.craft.req.length;p++)s+='';s+="";for(p=0;p<t.craft.req.length;p++)s+="";s+="
|
"}return s+='
'+westui.lang.speed+": +"+t.hspd+"%
"),t.set&&(s+='
<a class="popup_set" href="/wiki/'+t.set+'">'+t.set+"</a>
"),t.sp?s+='<img src="'+westui.config.img_buyprice+'"/>'+t.bp+' <img src="'+westui.config.img_sellprice+'"/> '+t.sp+"
":s+=""+westui.lang.unsalable+"
",t.lvl&&(s+=westui.lang.level+" "+t.lvl+"
"),t.sex&&(0==t.sex?s+='<img src="'+westui.config.img_male+'"/> ':s+='<img src="'+westui.config.img_female+'"/> '),1==t.auc?s+=''+westui.lang.auction+"
":s+=''+westui.lang.not_auction+"
",0==t.upg?s+=''+westui.lang.not_upgrade+"
":s+=''+westui.lang.upgrade+"
",s+='
[item='+t.id+"]
"},setPosition:function(t){var e,i,a=$(window).width(),s=$(window).height(),n=westui.popup.getEl().outerWidth(),p=westui.popup.getEl().outerHeight(),o=t.clientX,l=t.clientY;i=a<o+n+20?o-n-20+(t.pageX-t.clientX):o+20+(t.pageX-t.clientX),e=s<l+p+20?s-p+(t.pageY-t.clientY):l+20+(t.pageY-t.clientY),westui.popup.getEl().css({top:e,left:i})},init:function(){$("body").append('
'),$(document).on("mouseenter",".item_container",function(t){westui.popup.show(this),westui.popup.setPosition(t)}),$(document).on("mouseleave",".item_container",function(){westui.popup.hide()}),$(document).on("mousemove",".item_container",function(t){westui.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)),westui.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)),westui.popup.show(t[0])})}},set_calc:{bonus:{extra_set_bonus:{}},data:{},itemStatus:{},getData:function(){$(".set_container").each(function(){var t=$(this).attr("data-set-id");westui.set_calc.itemStatus[t]={},westui.set_calc.data[t]={items:{},set:{}}}),$(".infoSet").each(function(){var e=$(this).attr("data-set-id");$(this).find(".infosetatt").each(function(){var t=$(this).attr("data-nb");westui.set_calc.data[e].set[t]={},$(this).find(".set_bonus").each(function(){key=$(this).attr("data-type"),0!==$(this).find(".calc").length?westui.set_calc.data[e].set[t][key]=-parseFloat($(this).find(".calc").attr("id")):westui.set_calc.data[e].set[t][key]=parseFloat($(this).find(".val").text()),westui.config.set_bonus.hasOwnProperty(key)||(westui.set_calc.bonus.extra_set_bonus[key]={img:$(this).find("img").attr("src"),name:$(this).find("#tooltip_content").text()})})})}),$(".set_container").each(function(){var i=$(this).attr("data-set-id");$(this).find(".item_container").each(function(){var t=JSON.parse($(this).attr("data-popup"));for(var e in $(this).is(":hidden")?westui.set_calc.itemStatus[i][t.id]=!1:westui.set_calc.itemStatus[i][t.id]=0,t)t.hasOwnProperty(e)&&(westui.config.set_bonus.hasOwnProperty(e)||westui.set_calc.bonus.extra_set_bonus.hasOwnProperty(e))&&(westui.set_calc.data[i].items[e]||(westui.set_calc.data[i].items[e]={}),westui.set_calc.data[i].items[e][t.id]=t[e])})})},calc:function(){if(0===$("#input_level").length|""!==$("#input_level input").val()){var t=parseInt($("#input_level input").val());for(var e in total={},westui.set_calc.data){for(var i in westui.set_calc.data[e].items)for(var a in westui.set_calc.data[e].items[i])if(!1!==westui.set_calc.itemStatus[e][a]){lvl=westui.set_calc.itemStatus[e][a],total[i]||(total[i]=0);var s=westui.set_calc.data[e].items[i][a];westui.set_calc.data[e].items[i][a]<0?(s=-s,0<westui.set_calc.itemStatus[e][a]?total[i]+=Math.ceil(s*t)+Math.round(Math.max(1,.1*Math.ceil(s*t)*lvl)):total[i]+=Math.ceil(s*t)):0<westui.set_calc.itemStatus[e][a]?total[i]+=s<1?Math.round(1e6*(1*s+Math.round(Math.max(1,1e3*s*lvl))/1e4))/1e6:Math.round(Math.max(1,.1*s*lvl)):total[i]+=s}var n=0;for(var a in westui.set_calc.itemStatus[e])!1!==westui.set_calc.itemStatus[e][a]&&n++;for(var i in westui.set_calc.data[e].set[n])total[i]||(total[i]=0),westui.set_calc.data[e].set[n][i]<0?total[i]+=Math.ceil(-westui.set_calc.data[e].set[n][i]*t):total[i]+=westui.set_calc.data[e].set[n][i]}var p='
";for(var i in westui.config.set_bonus)total.hasOwnProperty(i)&&(p+=' <img src="'+westui.config.set_bonus[i].img+'">+'+total[i]+(-1!==["xp","money","luck","spd","regen","drop"].indexOf(i)?"%":"")+' ");for(var i in westui.set_calc.bonus.extra_set_bonus)total.hasOwnProperty(i)&&(p+=''+westui.config.set_bonus[i].name+" <img src="'+westui.set_calc.bonus.extra_set_bonus[i].img+'">+'+total[i]+(-1!==["xp","money","luck","spd","regen","drop"].indexOf(i)?"%":"")+' ");$("#set_calc").html(p)}else $("#set_calc").html("")},initEvents:function(){$(".item_container > img").on("click",function(){var t=$(this).closest(".item_container");t.toggleClass("item_off");var e=t.closest(".set_container").attr("data-set-id"),i=JSON.parse(t.attr("data-popup")).id;t.hasClass("item_off")||t.is(":hidden")?westui.set_calc.itemStatus[e][i]=!1:westui.set_calc.itemStatus[e][i]=parseInt(t.attr("data-lvl")),westui.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")||(westui.set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl")),westui.set_calc.calc())}),$("#input_level").bind("propertychange keyup input paste",function(){westui.set_calc.calc()}),$("#switch").on("click",function(){$("#melee, #fire").each(function(){var t=$(this).find(".item_container"),e=$(this).closest(".set_container").attr("data-set-id");$(this).is(":hidden")?westui.set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=!1:westui.set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl"))}),westui.set_calc.calc()})},init:function(){westui.set_calc.initEvents(),westui.set_calc.getData(),$("#mw-content-text").append(''),0===$("#input_level").length&&westui.set_calc.calc()}},sorting:{sortItems:function(s){function i(t){var e=JSON.parse($(t).attr("data-popup")),i=0;for(var a in s)e[a]&&(e[a]<0?i+=Math.ceil(-e[a]*($("#input_level input").val()?$("#input_level input").val():150))*s[a]:i+=e[a]*s[a]);$(t).attr("data-sort",i),0!==$(t).find("p.number").length?$(t).find("p.number").html(i):$(t).append(''+westui.set_calc.bonus.extra_set_bonus[i].name+" '+i+" ")}$(".item_container").removeAttr("data-sort"),$("#mw-content-text").find(".item_container").sort(function(t,e){return $(t).attr("data-sort")||i(t),$(e).attr("data-sort")||i(e),$(e).attr("data-sort")-$(t).attr("data-sort")}).appendTo("#mw-content-text")},init:function(){if(1===$("div#sort_items").length){var t="<select id='sort_items' class='west'><option selected disabled>Order by :</option>";for(var e in westui.config.sorting)t+="<option value='"+westui.config.sorting[e]+"'>"+e+"</option>";t+="</select> ",$("div#sort_items").html(t),$("select#sort_items").on("change",function(){westui.sorting.sortItems(JSON.parse($(this).find("option:selected").attr("value")))})}}},init:function(){westui.initPage(),westui.popup.init(),westui.config.enable_sorting&&westui.sorting.init(),westui.config.enable_set_calc&&0!==$(".infoSet").length&&westui.set_calc.init()}},westui.init(); |