Popup.js
westui={lang:{input_level:"Το επίπεδό σου",input_search:"Αναζήτηση: ID, Σετ ή Όνομα",damages:"Ζημιά",per_level:"ανά επίπεδο",speed:"Ταχύτητα",level:"Επίπεδο",unsalable:"Μη εμπορεύσιμο",auction:"Με δυνατότητα δημοπρασίας",not_auction:"Χωρίς δυνατότητα δημοπρασίας",not_upgrade:"Χωρίς δυνατότητα αναβάθμισης",upgrade:"Με δυνατότητα αναβάθμισης",total:"Σύνολο",popup:{dmg:{dmglvl:'
+ #1 Ζημιά#2
'},skills:{str:'
+ #1 Δύναμη#2
',mob:'
+ #1 Κινητικότητα#2
',dex:'
+ #1 Επιδεξιότητα#2
',cha:'
+ #1 Χαρισματικότητα#2
',con:'
+ #1 Κατασκευή#2
',vig:'
+ #1 Σθένος#2
',tou:'
+ #1 Ανθεκτικότητα#2
',sta:'
+ #1 Αντοχή#2
',hea:'
+ #1 Πόντοι Υγείας#2
',rid:'
+ #1 Ιππασία#2
',ref:'
+ #1 Αντανακλαστικά#2
',dod:'
+ #1 Αποφυγή#2
',hid:'
+ #1 Κρύψιμο#2
',swi:'
+ #1 Κολύμπι#2
',aim:'
+ #1 Στόχευση#2
',sho:'
+ #1 Σημάδι#2
',pit:'
+ #1 Στήσιμο Παγίδων#2
',fin:'
+ #1 Εξαιρετικές Κινητικές Ικανότητες#2
',rep:'
+ #1 Επιδιόρθωση#2
',lea:'
+ #1 Ηγεσία#2
',tac:'
+ #1 Τακτικές#2
',tra:'
+ #1 Εμπόριο#2
',ani:'
+ #1 Ζωώδες Ένστικτο#2
',app:'
+ #1 Εμφάνιση#2
'},fb:{fbdef:'
+ #1 Άμυνα (Μπόνους μάχης οχυρού)#2
',fboff:'
+ #1 Επίθεση (Μπόνους μάχης οχυρού)#2
',fbres:'
+ #1 Αντίσταση (Μπόνους μάχης οχυρού)#2
',fbdmgs:'
+ #1 Ζημιά (Μπόνους τομέα μάχης οχυρού)#2
',fbdefs:'
+ #1 Άμυνα (Μπόνους τομέα μάχης οχυρού)#2
',fboffs:'
+ #1 Επίθεση (Μπόνους τομέα μάχης οχυρού)#2
'},special:{pray:'
+ #1 Προσευχή#2
',labor_pts:'
+ #1 Πόντοι εργασίας#2
',spd:'
+ #1% Ταχύτητα#2
',regen:'
+ #1% Επαναφορά#2
',xp:'
+ #1% Εμπειρία από δουλειές, μονομαχίες και μάχες οχυρού#2
',money:'
+ #1% Χρήματα από δουλειές και μονομαχίες#2
',luck:'
+ #1% Αυξημένη τύχη#2
',drop:'
+ #1% Βελτιωμένη πιθανότητα εύρεσης#2
'}}},config:{enable_set_calc:!0,plain_popup:!0,redirect_on_dblclick:!1,link_on_dblclick:!1,enable_sorting:!0,cdn:"//westgr.innogamescdn.com",img_buyprice:"/images/5/57/Buy_price.png",img_sellprice:"/images/f/fc/Sell_price.png",img_male:"/images/e/ed/Ανδρικό.png",img_female:"/images/b/b5/Γυναικείο.png",img_prof:["c/c0","c/c3","2/2d","9/9a","f/fc"],img_job:{icon:["3/3a","Όλες οι Εργασίες"]},cat_img:'
- Κατηγορία: <a src="/wiki/Κατηγορίες Χαρακτήρα"><img src="/images/',adventurer:'f/fe/Τυχοδιώκτης.png"/> ',dueller:'0/0f/Μονομάχος.png"/> ',worker:'0/0e/Εργάτης.png"/> ',soldier:'0/0e/Στρατιώτης.png"/> ',greenhorn:'f/f7/Πρωτάρης.png"/> ',set_bonus:{},sorting:{"Καμία ταξινόμηση":'{"id":1}',"Δύναμη":'{"str":1}',"Κινητικότητα":'{"mob":1}',"Επιδεξιότητα":'{"dex":1}',"Χαρισματικότητα":'{"cha":1}',"Κατασκευή":'{"str":1,"con":1}',"Σθένος":'{"str":1,"vig":1}',"Ανθεκτικότητα":'{"str":1,"tou":1}',"Αντοχή":'{"str":1,"sta":1}',"Πόντοι Υγείας":'{"str":1,"hea":1}',"Ιππασία":'{"mob":1,"rid":1}',"Αντανακλαστικά":'{"mob":1,"ref":1}',"Αποφυγή":'{"mob":1,"dod":1}',"Κρύψιμο":'{"mob":1,"hid":1}',"Κολύμπι":'{"mob":1,"swi":1}',"Στόχευση":'{"dex":1,"aim":1}',"Σημάδι":'{"dex":1,"sho":1}',"Στήσιμο Παγίδων":'{"dex":1,"pit":1}',"Εξαιρετικές Κινητικές Ικανότητες":'{"dex":1,"fin":1}',"Επιδιόρθωση":'{"dex":1,"rep":1}',"Ηγεσία":'{"cha":1,"lea":1}',"Τακτικές":'{"cha":1,"tac":1}',"Εμπόριο":'{"cha":1,"tra":1}',"Ζωώδες Ένστικτο":'{"cha":1,"ani":1}',"Εμφάνιση":'{"cha":1,"app":1}',"Κατασκευή κτηρίων":'{"str":3,"con":3,"dex":1,"rep":1,"cha":1,"lea":1}',"Εμπειρία από δουλειές, μονομαχίες και μάχες οχυρού (%)":'{"xp":1}',"Χρήματα από δουλειές και μονομαχίες (%)":'{"money":1}',"Αυξημένη τύχη (%)":'{"luck":1}',"Επαναφορά (%)":'{"regen":1}',"Βελτιωμένη πιθανότητα εύρεσης (%)":'{"drop":1}',"Ταχύτητα (%)":'{"spd":1,"hspd":1,"mob":1,"rid":1}',"Μέσος όρος ζημιάς":'{"dmg_min":0.5,"dmg_max":0.5,"dmglvl":1}',"Μέγιστη ζημιά":'{"dmg_max":1,"dmglvl":1}',"Με δυνατότητα αναβάθμισης":'{"bool":true,"upg":1}',"Χωρίς δυνατότητα αναβάθμισης":'{"bool":true,"upg":0}',"Με δυνατότητα δημοπρασίας":'{"bool":true,"auc":1}',"Χωρίς δυνατότητα δημοπρασίας":'{"bool":true,"auc":0}',"Με δυνατότητα εύρεσης από εργασίες":'{"bool":true,"dropable":1}',"Διαθέσιμα στα καταστήματα πόλης":'{"bool":true,"shop":1}',"Ευγενή αντικείμενα":'{"bool":true,"shop":0,"dropable":1}'},jobIcon:function(t,e){var s=this.img_job[t],i=s?["/images/"+s[0]+"/Job_",s[1]+(e||"")]:[this.cdn+"/images/jobs/",e];return i[0]+=t+".png",i}},initPage:function(){if(1===$("#input_level").length)var t=$('<input type="number" style="width:110px;" class="west" placeholder="'+westui.lang.input_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==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"));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 $(this).attr("data-popup").toLowerCase().indexOf(t)>-1}).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})},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,s,i){t=JSON.parse(t);var p=westui.lang,a=westui.config,o='
'+(0==t.sex?'<img height="16" src="'+a.img_male+'"/>':1==t.sex?'<img height="16" src="'+a.img_female+'"/> ':"")+t.name+"
",n=!1;if(t.ico&&(o+='
<a href="/wiki/'+t.event+'"><img src="https://media.innogamescdn.com/com_WEST_GR/wiki/event_offers/'+t.ico+'.png">',o+=""),t.event){for(l=0;l<t.event.length;l++);o+=''+t.event+"</a>
",o+=""}if(t.typeW){for(l=0;l<t.typeW.length;l++);o+='
'+t.typeW+"
",o+=""}if(t.type){for(l=0;l<t.type.length;l++);o+='
'+t.type+"
",o+=""}if(t.unique?o+='
'+t.unique+"
":o+="
",i>=1&&i<=5&&(n=!0,t.auc=!1),t.text){for(var l=0;l<t.text.length;l++)o+='
'+t.text[l]+"
";o+=""}for(var c in(t.text&&t.unique||t.text&&t.dmg_max||t.text&&t.textjob||t.text&&t.bonus||t.text&&t.jobs||t.text&&t.craft||t.text&&p.popup)&&(o+="
"),i>=1&&i<=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*i)),t.dmg_max=Math.round(Math.max(1,.1*t.dmg_max*i))),o+='
'+t.dmg_min+"-"+t.dmg_max+' ('+Math.round((t.dmg_min+t.dmg_max)/2)+") "+p.damages+"
")&&(t.dmglvl?o+="":o+="
"),p.popup){var r=0;for(var u in p.popup[c])if(t.hasOwnProperty(u)){r++;var d="";t[u]<0?$("#input_level input").val()>0?(t[u]=Math.ceil($("#input_level input").val()*-t[u]),n&&(t[u]+=Math.round(Math.max(1,.1*t[u]*i)))):(t[u]=-t[u],d=" ("+p.per_level+")",n&&(t[u]=Math.round(1e6*(1*t[u]+Math.round(Math.max(1,1e3*t[u]*i))/1e4))/1e6)):n&&(t[u]<1?t[u]=Math.round(1e6*(1*t[u]+Math.round(Math.max(1,1e3*t[u]*i))/1e4))/1e6:t[u]+=Math.round(Math.max(1,.1*t[u]*i))),o+=p.popup[c][u].replace("#1",t[u]).replace("#2",d)}r>0&&(o+="
")}if(t.textjob){for(l=0;l<t.textjob.length;l++)o+='
'+t.textjob[l]+"
";o+="
"}if(t.bonus){for(o+='
Επίδραση:
',l=0;l<t.bonus.length;l++)o+='
'+t.bonus[l]+"
";o+="
"}if(t.jobs){for(n in o+='
Από την εργασία:
',t.jobs)if("req"==n){for(var _ of(o+='"}else{var m=a.jobIcon(n,t.jobs[n]);o+='"}o+="',t.jobs[n]))o+=' <img src="'+a.cdn+"/images/items/"+(_[0].includes("/")?"":"yield/")+_[0]+'.png">'+("eqp"==_[2]?"":' ";o+="'+_[1]+" ")+" | |
<img src="'+m[1]+'"> | '+m[0]+" |
"}if(t.craft){for(o+='
Χρειάζονται για την Δημιουργία:
<img src="/images/'+a.img_prof[t.craft.id]+"/Profsymbol_"+t.craft.id+'.png" width="36px" height="36px"/> | ',l=0;l<t.craft.req.length;l++)o+=' <img src="'+a.cdn+"/images/items/yield/"+t.craft.req[l][0]+'.png"> ";o+="'+t.craft.req[l][1]+" |
"}var g=i,v=Math.pow(3,g),b=(Math.pow(3,Number(g)+Number(1))-3-2*g)/4,f=(t.bp*(v+b)).toString().replace(/\B(?=(\d{3})+(?!\d))/g,".");return o+='
'+p.speed+": +"+t.hspd+"%
"),t.set&&(o+='
<a class="popup_set" href="/wiki/'+t.set+'">'+t.set+"</a>
"),t.sp?o+='<img src="'+a.img_buyprice+'"/>'+t.bp+' <img src="'+a.img_sellprice+'"/> '+t.sp+"
":o+=""+p.unsalable+"
",t.blding?o+='
'+t.blding+"
":o+="",o+=1<=g?"Έξοδα αναβάθμισης: $"+f+"
":"
",t.lvl||t.cat?o+='
Χρειάζεται:
':o+="",t.lvl&&t.cat?o+='- '+p.level+" "+t.lvl+"
":0<t.lvl?o+='- '+p.level+" "+t.lvl+"
":o+="","Εργάτης"==t.cat?o+=a.cat_img+a.worker+t.cat+"</a>
":"Μονομάχος"==t.cat?o+=a.cat_img+a.dueller+t.cat+"</a>
":"Στρατιώτης"==t.cat?o+=a.cat_img+a.soldier+t.cat+"</a>
":"Τυχοδιώκτης"==t.cat?o+=a.cat_img+a.adventurer+t.cat+"</a>
":"Πρωτάρης"==t.cat?o+=a.cat_img+a.greenhorn+t.cat+"</a>
":o+="",1==t.auc?o+='
'+p.auction+"
":o+=''+p.not_auction+"
",0==t.upg?o+=''+p.not_upgrade+"
":o+=''+p.upgrade+"
",o+"";for(var s in westui.config.set_bonus)total.hasOwnProperty(s)&&(o+=' <img src="'+westui.config.set_bonus[s].img+'">+'+total[s]+' ");for(var s in westui.set_calc.bonus.extra_set_bonus)total.hasOwnProperty(s)&&(o+=''+westui.config.set_bonus[s].name+" <img src="'+westui.set_calc.bonus.extra_set_bonus[s].img+'">+'+total[s]+(-1!==["xp","money","luck","spd","regen","drop"].indexOf(s)?"%":"")+' ");$("#set_calc").html(o)}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"),s=JSON.parse(t.attr("data-popup")).id;t.hasClass("item_off")||t.is(":hidden")?westui.set_calc.itemStatus[e][s]=!1:westui.set_calc.itemStatus[e][s]=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(t){function e(e){var s=JSON.parse($(e).attr("data-popup")),i=$("#input_level input").val();i=i||150;var p=-1!==Object.keys(t).indexOf("id")||t.bool&&!0===t.bool,a=0;if(t.bool&&!0===t.bool)for(var o in a=1,t)"bool"!==o&&s[o]!==t[o]&&(a=0);else for(var o in t)"id"===o?a-=s[o]:(!s.lvl||s.lvl<=i)&&s[o]&&(s[o]<0?a+=Math.ceil(-s[o]*i)*t[o]:a+=s[o]*t[o]);$(e).attr("data-sort",a),0==a&&$(e).hide(),0!==$(e).find(".sortval").length?p?$(e).find(".sortval").html(""):$(e).find(".sortval").html(a):p||$(e).append(''+westui.set_calc.bonus.extra_set_bonus[s].name+" '+a+" ")}$(".item_container").removeAttr("data-sort").show(),$("#mw-content-text").find(".sorting_hidden").hide(),$(".sorting_container").each(function(){$(this).find(".item_container").sort(function(t,s){return $(t).attr("data-sort")||e(t),$(s).attr("data-sort")||e(s),$(s).attr("data-sort")-$(t).attr("data-sort")}).appendTo($(this))})},init:function(){if(1===$("div#sort_items").length){var t="<select id='sort_items' class='west'><option selected disabled>Ταξινόμηση κατά:</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(); |