// ==UserScript== // @name THE WEST RO - PRO // @description Va va arata cele mai bune iteme pentru munca selecatata // @include http://*.the-west.*/game.php* // @include http://www.the-west.*/index.php?page=logout // @version 1.004n.c // ==/UserScript== var twpro_version = "scripts"; var url = window.location.href; if (url.indexOf(".the-west.") != -1) { if (url.indexOf("game.php") != -1) { var insertBeforeElement = document.getElementById('left_top'); var newScriptElement = document.createElement('script'); newScriptElement.setAttribute('type', 'text/javascript'); var myScript = "var twpro_version = '"+twpro_version+"';"; newScriptElement.innerHTML = myScript; insertBeforeElement.parentNode.insertBefore(newScriptElement, insertBeforeElement); } if (localStorage.getItem("TWPro_LanguagePack") && decodeURIComponent(localStorage.getItem("TWPro_LanguagePack")) != "fr" && decodeURIComponent(localStorage.getItem("TWPro_LanguagePack")) != "http://fr"){ try{ var myScript = document.createElement("script"); myScript.type = "text/javascript"; myScript.src = decodeURIComponent(localStorage.getItem("TWPro_LanguagePack")); document.body.appendChild(myScript); }catch(e){} } (function(f){var d=document,s=d.createElement('script');s.setAttribute('type','application/javascript');s.textContent = '('+f.toString()+')()';(d.body||d.head||d.documentElement).appendChild(s);s.parentNode.removeChild(s)})(function(){ window.addEvent('domready', check_TW_version); function check_TW_version() { var url = window.location.href; if (url.indexOf(".the-west.") != -1 && url.indexOf("game.php") != -1) { if (TheWestApi.version >= 1.30){ var twpro_lang = { info: ['', 'mailto:@gmail.com', 666, '.w5.'], AUTHOR: '', TRANSLATOR: '', TWPRO_DISABLED: 'script disabled', SORTBYNAME: 'Sortare dupa <b>nume</b>', SORTBYXP: 'Sortare dupa <b>experienta</b>', SORTBYWAGES: 'Sortare dupa <b>bani</b>', SORTBYLUCK: 'Sortare dupa <b>noroc</b>', SORTBYCOMB: 'Sortare dupa <b>top munca</b>', SORTBYDANGER: 'Sortare dupa <b>pericol</b>', SORTBYLABORP: 'Sortare dupa <b>puncte de munca</b>', FILTERJOBS: "Ascunde muncile care nu le pot face", FILTERCLOTHING: 'Arata doar cele ma bune haine pt munca selectata', CHOOSEJOB: 'Choose activity...', CALCJOB: 'va rugam asteptati ... se conecteaza', INVENTSTATS: 'statistica inventarului', SELLVALUE: 'valorile vanzari', OBJECTS: 'Obiecte', PRODUCTS: 'Produse', TOTAL: 'Total', QUANTITIES: 'Cantitati', NONYIELDS: 'Non-yields', LABORP: 'Puncte de munca', CONSTRUCTION: 'Constructii', HPTOTAL: 'Total puncte viata', STARTCALC: 'Calculate data...', CONVERT: 'Convert', MULTISEL: 'vinzare multiple items...', SELL: 'vinzare selectate', CONFIRMSELL: 'Do you really want to sell %1 stacks of items?', SELLING: 'Selling...', SALEDONE: 'The selected items have been sold.', NONESELECTED: 'You have to select at least one item!', JOBRANKSETTINGS: 'Job ranking settings', SEARCHINVENTORY: 'Search inventory', NOSEARCHRESULT: 'Your search for %1 returned no results.%2Display all items%3', DISABLEBESTFORJOB: 'Disable hiding items which are inferior for a selected activity.', SEARCHHELP: 'Search the inventory. You can use wildcards (* for zero or more characters, ? for one character)', DUELSHOOTINGATT: '\u25B7 duelist atacator)', DUELSHOOTINGDEF: '\u25B7 duelist aparator', DUELVIGOR: '\u25B7 duelist vigoare', FORTATTACK: '\u25B7 fort atacator', FORTDEFEND: '\u25B7 fort aparator', FORTMESSAGE: 'Message to participants', FORTMESSAGERCP: 'Number of recipients', HIDEJOBS: 'Hide activities and itemsets', CONFIRM: 'Confirm', HIDEJOBDESC: 'Jobs can be hidden here. Mark all activities which should not be calculated automatically, and click Confirm.', SHOWN: 'Shown', HIDDEN: 'Hidden', SETTINGSSAVED: 'The settings for TW Pro have been applied!', SETTINGSSAVEDSESSION: 'The settings for TW Pro have been applied! (for this session only)', PERSISTSETTINGS: 'Save these settings for every session.', CANNOTWEAR: 'You cannot wear this set, or this set has no influence on the Activity calculations.', SETSETTINGS: 'Disable itemsets for faster calculations. Sets with special, unmet requirements are disabled by default.', CUSTOMNAME: 'Enter the desired name for an activity', CUSTOMCALCULATION: 'Enter a valid TW Pro calculation here.', CUSTOMENABLED: 'Check this box to enable this activity', NEW: 'New', SPEED: '\u25B7 maxim viteza', REGENERATION: '\u25B7 maxim regenerare viata', SETSINFO: "seturi", WITHSETITEMS: 'Bonuses with %1 items', LABORPOINTS: 'Labor points', USEFULITEM: 'This number indicates the amount of items which are used in calculations', PERCREGENERATION: 'regenerare', LUCK: 'noroc', PRAYING: 'praying', NOITEMSETS: "You don\'t have any item of this Set" }; var twpro_langs = {}; twpro_langs.fr = { info: ["Zyphir Randrott", "mailto:zyphir.randrott@gmail.com", 4145, ".fr1."], AUTHOR: "Auteurs", TRANSLATOR: "Traducteur", TWPRO_DISABLED: "script d\xE9sactiv\xE9", SORTBYNAME: "Trier par <b>Nom</b>", SORTBYXP: "Trier par <b>Exp\xE9rience</b>", SORTBYWAGES: "Trier par <b>Salaire</b>", SORTBYLUCK: "Trier par <b>Chance</b>", SORTBYCOMB: "Trier par <b>Importance</b>", SORTBYDANGER: "Trier par <b>Danger</b>", SORTBYLABORP: "Trier par <b>Points de Travail</b>", FILTERJOBS: "Cacher les travaux que je ne peux pas faire", FILTERCLOTHING: "Afficher uniquement le meilleur \xE9quipement disponible pour l\'activit\xE9 s\xE9lectionn\xE9e", CHOOSEJOB: "Choisir une Activit\xE9...", CALCJOB: "Calcul en cours, veuillez patienter...", INVENTSTATS: "Statistiques Inventaire", SELLVALUE: "Valeurs de vente", OBJECTS: "Objets", PRODUCTS: "Produits", TOTAL: "Total", QUANTITIES: "Quantit\xE9s", NONYIELDS: "Produits", LABORP: "PT", CONSTRUCTION: "Construction", HPTOTAL: "Total des coups r\xE9ussis", STARTCALC: "Lancer le calcul...", CONVERT: "Convertir", MULTISEL: "Vendre plusieurs articles...", SELL: "Vendre la s\xE9lection", CONFIRMSELL: "Souhaitez-vous vraiment vendre ces %1 types d\'articles?", SELLING: "Vente en cours...", SALEDONE: "Les articles s\xE9lectionn\xE9s ont \xE9t\xE9 vendus.", NONESELECTED: "Vous devez s\xE9lectionner au moins un article!", JOBRANKSETTINGS: "Niveaux d\'Importance", SEARCHINVENTORY: "Chercher dans l\'inventaire", NOSEARCHRESULT: "Votre recherche pour %1 n\'a pas donn\xE9 de r\xE9sultat.%2Afficher tous les articles%3", DISABLEBESTFORJOB: "D\xE9sactivez la fonction qui cache les articles inf\xE9rieurs pour un job s\xE9lectionn\xE9.", SEARCHHELP: "Recherche dans l\'inventaire. Vous pouvez utiliser des caract\xE8res joker (* pour plusieurs caract\xE8res, ? pour un seul caract\xE8re)", DUELSHOOTINGATT: "\u25B7 Duel / Arme \xE0 feu (attaquant)", DUELSHOOTINGDEF: "\u25B7 Duel / Arme \xE0 feu (d\xE9fenseur)", DUELVIGOR: "\u25B7 Duel / Arme de contact", FORTATTACK: "\u25B7 Bataille de fort (attaquant)", FORTDEFEND: "\u25B7 Bataille de fort (d\xE9fenseur)", FORTMESSAGE: 'Message aux participants', FORTMESSAGERCP: 'Nombre de destinataires', HIDEJOBS: "Cacher les Activit\xE9s et Objets de Sets.", CONFIRM: "Confirmer", HIDEJOBDESC: "Les travaux peuvent \xEAtre cach\xE9s ici. S\xE9lectionnez toutes les Activit\xE9s qui ne doivent pas \xEAtre calcul\xE9es automatiquement et cliquez sur Confirmer.", SHOWN: "Affich\xE9s", HIDDEN: "Cach\xE9s", SETTINGSSAVED: "Les param\xE8tres TW Pro ont \xE9t\xE9 appliqu\xE9s!", SETTINGSSAVEDSESSION: 'Les param\xE8tres TW Pro ont \xE9t\xE9 appliqu\xE9s! (pour cette session uniquement)', PERSISTSETTINGS: "Sauver ces param\xE8tres pour toutes les sessions.", CANNOTWEAR: "Vous ne pouvez pas porter ce Set, ou ce Set n\'a aucune influence sur les calculs d\'Activit\xE9s.", SETSETTINGS: "D\xE9sactivez les objets de Sets pour am\xE9liorer la vitesse de calcul. Les Sets avec des conditions sp\xE9ciales requises non remplies sont d\xE9sactiv\xE9s par d\xE9faut.", CUSTOMNAME: "Entrez le nom d\xE9sir\xE9 pour l\'Activit\xE9.", CUSTOMCALCULATION: "Entrez ici une formule TW Pro valide.", CUSTOMENABLED: "Cochez cette case pour activer cette Activit\xE9", NEW: "Nouveau", SPEED: "\u25B7 Vitesse", REGENERATION: "\u25B7 R\xE9g\xE9n\xE9ration PV", SETSINFO: "Objets de Sets", WITHSETITEMS: "Bonus avec %1 objets", LABORPOINTS: "Points de Travail", USEFULITEM: "Ce nombre indique le nombre d\'objets qui sont utilis\xE9s dans les calculs.", PERCREGENERATION: "R\xE9g\xE9n\xE9ration", LUCK: "Chance", PRAYING: "Prier", NOITEMSETS: "Vous ne possédez aucun objet de ce Set" }; var twpro_langname = location.host.match(/(\D+)\d+\./); if(twpro_langname && twpro_langs[twpro_langname[1]]) twpro_lang = twpro_langs[twpro_langname[1]]; if (decodeURIComponent(localStorage.getItem("TWPro_LanguagePack")) == "fr" || decodeURIComponent(localStorage.getItem("TWPro_LanguagePack")) == "http://fr") twpro_lang = twpro_langs['fr']; if (typeof twpro_lp_custom != "undefined"){ for (var twpro_lang_translations in twpro_lang) { if (typeof twpro_lp_custom[twpro_lang_translations] != "undefined") twpro_lang[twpro_lang_translations] = twpro_lp_custom[twpro_lang_translations]; } } function twpro_initLanguage(lang) { localStorage.setItem("TWPro_LanguagePack", encodeURIComponent(lang)); } //Sprites für Sortierbuttons var twpro_sortButtonImg = 'iVBORw0KGgoAAAANSUhEUgAAAIwAAAAiCAYAAACN1jGgAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR42sV6eVhT19b+OkkIMwi8SUiAMARIwiCDzMgokIQwKyIKKA4IDuCEiiPFidYJbSuKs2it1dpbW9te6+1gr7WT9fa2t6NDax1ah7baOivr94fRWgWq/b7v/nieBc9zyNnZZ593v2u9a7/EzMRE/7XYVO/iYSUWpEQk/p+OJZHaChIbR/F/c/7/FyFxEFmRiKREJCIiobvP2tpY29vZ2Hja29k6Ed2+5698ZyZlWhnIkGIgQ4qRjKlGMuabyCRlIjKSMSHPNS/fSMZ8AxnyMynTmYmImW//+m8tjNzFWnzgSe8NMmfBi4iciMjqr4xj5ywX2zo4O0YUzDD1LF833MbNL1hi6+wmiCRiJqI/W/ROx3Swk7q6u6pcFC7+kLt6u7q76HsonEMceziqJBKJLRGJ/8q4DxP2AVInwZrsLYDpFgB1QwY19DMafq0dVlouCIKSiGz/yncayJBuJCObyMQmMrGZzGfv/M9M5h/N1mY2kYmNZGQDGWTdAqaDSDhnazv+ulpdyCKR5JYguP5mbz/6qkLRcE0uL+mwsZH/lUmunh7V6+Q23a/VRmEwEfkQkcOj3O8s97bxi+mbGjVk47SEsbt3JNbuPuc3cBvLctccUJsXrkJY8VCJo0pPJLJ+FDC6qxTSsrEDUqZvn763dkPtV1NWT3x17PrR35U+VXquf11Bi59GHSESiZz+6m7uLiJnBmRGfeO+zT5H6EticiQiaVefHVVe4jWzruadiNAQzooKeUspRxoRKYhI8qjfayTjfBOZeKphKg/wGsA5lPM8E1EO5YTlUA5PSJ3A1b2q2USmU3fv6wowl4lUpwXh9esazR62snK8LgheP1hZNV+yto4/5+g4+6qtbdZfWZwXFqc1/7BDe2POQOFlIoqzPOxD7VpHNw/7/IZX5vUavedXx4wnb9nGTj1qm7zwjBA97xqFTb3oZGxjxYCXb9qmLX2DXENzLQxm/TBjp2QkqGZvmr566MYRbF6Wz1lLs7n3gjTWTQjh3lUJ30bEhExwsLPzFYlE1v9bLOMdr3KIfyJ4eu9jfrdcF9BJm1QaIUjJm4jsurpnzLChk2YO7Xdtad9w9rETd0RovRcSURAROfzZvNIpPTaTMmcbyDDbSMbZJjIdHug7kBvzGjmXcjmXct/IpdyZuZT7bC7l8ty+c7nUu5TNZP7RRKb1RjKO6xIwPxAN/EUQvuuQyS4z0OsakfoHa+uWa05Oxb/Z20+9bm0d96gL1EvvJv54i/nD08/68Ipq4YydNZUSkeZhdodIbCVEZo8ZnDzxDabwhl/IOXgDEZVRYMWLFDLqBNm5ryS38PUUPe8MJSxm0lYcIivHFCJytqSSLpkBMldRTGKE1+hl1VvMy/M6Ih6L4aDpYawZp2XPQT4dQdn6415+HrPh5hrq5upib29nJxKLxf8j0ESPCFWXfNRna+QXSrafREcEF6oiokQi8usKMDWDS3Wjhg7+aO2wJP5hRi8uDnZmTxeHY2qlopiIlH/GqBmUUZ9JmWwgw50UxPOK53F9Wj3nUi7nUd7dKJGV8MKBC7nAoYALnQu5SFbEuc65L3YKmGtEPX4gWnXOyur7nyWSax0BAYuuEalPW1ktv2JrW/KTre3IK05OJpZI7B5lkZpGRced31tw7vtNct49U7jZpyctIyJ9Z4C5vyC2tndxMkzZu8VnwLNMyqyDRDSMiLJdY8fusIqeeozENhOIqIR66GaRt/lt6qFbQ9Y9Cu8sZGcFtkIps/YP8tMWVxb0Co8ODTNVZDXlLsw9HzIrnP0mBLLXUB9WmTwvyP1lr7jKXWp1PQPSwuNDNfrgQAcHB3urR2WaO5+PGx2uqfwmd7/ugAvbjqKvRQ5UT0S5RBRFROjsxUcEBViNqx42p740++au4TH8j2F63tLPn/2crTv0KtetgiCEWjaH0A1gphvIwA3mBp6VN4ubCpt4fv/53FzSzIsGLuLFpYt5celiXjhgIS8pX8KLyxbzE6VPcHNJM5d4lbCJTC90CpifiJLPWVl9dMnJqeUTsfjzGx4eX193dIz4USptYmtr1W8iUdFVB4cqlkhcOpvY5gaP6C2NIa3rZkQsXt0Q3rKqIXz5qoaoRR9sNO0//WLCrW/XOfKny4lfbbQ5vrBavW1Ffeiqtim65avHuSxbVSNaPzFfyLeVktO9Y4qtHR18+65a6JL3DFPwmONkg3oiCvPLqF9vl9x8mMR2lUSUSII4lCR2vYkogYh6EpGMiCSdMczQyRV9apaM3DVhQ93b5lrTqqiMyGnG6sy9cbMTLvvWBrC61PeKR4zHQbXea3NqacpW86ScrYmjE5cEJetyHBztld3VGl1F/NgIv6H/yX9Xf8CZ7cfSj2InaiKiYiKKJSJ5VyxRVVYSVVdZ9vnOmhSekKxmf1c73jkwkMfEylnmaHfG39O9hoi8uptTJmU2GcjARjKymcycQzm8oP8CrvCt4HLvcq7wrrgbQ7VDeVHpIs6jPM6lXC5wKGATmXY8AJibRNZniCZfcHI6ynZ2xvcFYdEVG5sLV318Jhyzsmo+7+g466JUOuWGSBTLgtBpKkkMtnV/b5nisZ9e8L3504tBfP7FcD73Ui8+tSOEv92k4KNtUj66SsTfb7Dn01s9+fx2d/5mtQO/MkvKDX1ph96DMsUiUt63OyUiV11voffSryl+MVsnLjjrlTxqXdiAljdt05cdIYnDEMsO9bAsvAcRuRGRTVdSddb2mXuqNlezYamZk+en/ZY4JvHDtLLkV5LHJh3Rjwm5oivSf98zM/RAVm3W54NWlF/MXpZ7za9W+2t4/7A9rjIXg9TKyu1RwJJYH+k34tO+ByLfc2enyfSbWE5PE9FgC7jlXaXmiKAAu7qq4UunlWZ2fDstjqtj5GwnseL2vj78xjAd62DPapnLHgcH+3gicu2KZTIpM91AhtkmMs02k/mdHMrheX3ncV+HvlxABV8UUMELhVT4ZiEV8uTUyTw1Y+odwDSVqErqzGTOfgAwF4m0PwjCrhsuLrvZxibwO6LEY2LxxQ6NZvcNiQQ3RSLcEonc2M5Oz66usWxn59oJ9Vq5OJDH8Exh4v7HxWeOrJLwd2ut+dgaGz7aJuGjqwQ+ukrgb1pF/O7jIt5QK/CEPLoc7kvPWYlpMBHFEJHivjFFRORK9h5m8uu3RQgbd1Ka9tT1HrmbbohTW29S/MILSkPzu95ZjUsd/NLuKAf77no9E58etzu/pehS9Jx41k8P5dBp4Td61fX6IWZE9OGYETEnYipjjqdOTjtnXpJ3I31xFofOiGCPCjWHmUI+dXF1HtrD2cmvy5rLSrAWBJLeAYGuwM9m+Ht9tyV9GMiuc+iWNJReJqIaIkojIvfu6o+q0n4pVQP7H91WFc/np4Xx9BQVB7g58PYSDR+eEMTj4txZ5eJ0KUDp1iQI5EtEtn+WLs1kfrZYVsyNuY2cR3lcQAWlTESFVFhWSIU8t2Auj40ey3mU92su5QqdqqQOIvFPRAPOWlufYyenKSyR2HYQifYRHexwdPyOPTySbhE53RCLx1wRi5vOi0RDL9vYpHYCGAkRORKRb5AXlT83mT482mZ149s1VnfBcnSVwB8tFvjpkUJHQYxw0tWBNhHRaCLKJCJ/InK8P/9bmlRyIiGKiMxk71FDEfUfUMTki+TX9zNRr+lnXXM33VIUPXNZHFrTQlZO/pZ5dMowdXNqGrKbc78Pmx3FfuMD2WeUf4emKuBy5MjIs8mjep9KrEk4HjMl7mLk7JiO4Bnh7DdRy+pBPh1+sX4fKOSolbm5hjwg+30cXYq298k3749d7VXnVE0icpZIJZLC1ZktBV/GdyhWiNkmiQ4S0RQiyrG0FrpUcnqNj9OYyoo10/un89eTovj8pGB+IkvNCd4u/FpZIB8fF8xvVAZyhMKefRXy9xVuPXIsaVjcCcPI81zzwkxkijGT+evBAYN5fOL4O4AZVEAFKQVUsLO/c39eMnAJVwZUch7lHc2l3Pwcysk3kUn3B8BcJXI/JQhrrjk7f8MODqY7X3SQqOFXG5vfWK1+/LJEknZJKq1lsVjVXXFnUSYOROQR6mdX+M4yvy/OPOPKxyxgObZK4A8WCdzQT7jgaEubLWBJIyJvCzOIHlRKEkHq5G4rSGxBRL5EFGgfOWqbOHLi9yS2biRBPEqiHdjuZN50jRKX3yCEN1lSk11nL2Vsa83bCU3JF/zH6dhjiHeHVz/v30IKg06mjE3+JWla8pW4ytgjPYtCDwUM0571qwu85T1Kw25FCtZmBJ4M1PnNsbe3C7t/zKKPkmdUfJHNmYfCWLvf8axNH3FV79HRo8sOG89777Rm+wF0TrCmx4looKXgt+uODSr7FZhGDig4/0pNPB8fH8onxgXx+nwfLg9X8L7KQP5mtJ6/rgvimSkq9nB2uOWNHi0SsSjIsobCfYDZeG8NMzJ8JFfqK+8qowIq4AIq4MqASl44YCEXORRxLuVyDuWwmcxsIlPTXcB0EAkXiRJOCcK3HT16HGK5fCw7O+eys3PueUfHqeesrDo65PJ9vwITLtjZVbFEIn1YZVCUrjadernP8RPt4I8WEX+yVOCvVgj8SYvArdXCVZ2XsImITESktrDIAwsoiES2vr3yysIqt0238jUmWWjXRpUyqc0mvvEoiW3HEJHJ1llu8i5a+QHFtzC5hbxkqWvc7mcsJqJhzRUvhddHXvcdrOnwzvH5NSDJ//M+ZanH8ublX0+Yl9QRNibiF3269m2fWO+XNP38j2nKA2545nlxXH7UhfCIkKVWVpLo+8f0meqSHf6a8pugAz1YfUDMgc+4fJn5auTx4Pdc2GkS3RC70xYiGmlJuz26A0uwVtOjamDJ9vkD0/i7+kj+qkbLh0fr+O0hWt7WP5A/HqnjL2t0fGSMnt8doeNYlQPrvZVHVXAus6hD6X0qaWOBewGPSRjDtYm1PDNnJo9PHM9T0qdwQ2YDT8ucxtMyp3Fz/2Zu7t/M84vn8wzTDG4wNLCZzGwk4++AuUlkd5po+kWx+OoFO7vDp93c9p0G3jwNvHnaxeWdkyLRj9ednE784uX1zE+OjmPZ2vp2wScIfyotm2tjxl3bG3tj33wrbhlGPKu/8NObcwT+z3KB9zQKXBAnvG5hly6beNYObh5ZM96/qB36CosjJ71GErtgJqIAw9Qn7dOXfUNiu/4igfT+MfnDAsq2naWQ8UwOntuJKN2yeA8outDooKy+Y3NfTypNPBISp38n2ZTwTtn8QRcKn+rHsXMTWTsp6FbgAO23njrVGi+dx9PhhtD3Y81R3yb1iXsvSK+dJZFIojrZIPbOhVbl+vecr/rts2b/d+3Yb58Nuy0mtk6gfxHRdCLKepi+ycTqypzKItONd8cl8vd1wfxVtZYP1wbxtGQP7uPvxs+X+PNXY/T8ZbWOj48P5oUGL1bYW3OAl/tmF2fHBCLqce94fb37bsyT5XGxVzEXygp5Rs4MLlGVcLlvOVdoKrhCU8GDNYN5Xt95PK9oHpf5lnG5ppzLAso4zznvj4C5RuTxnSD866aNzReXbG1HnydKvxPniDKOETV8b2Nz9ZJC8dppN7f5v7m6jrnl4JB308Ghb3cP3Ttc7vz9zoSdX62y56lFdLmnDx1wtqPV5l7Cy6/MFH75cKHAM/sLR3vYCxUWhulUKQgSG3uHuCkTrA3tTGnrWBpZ/5abJm5kVOkTu3uY158UPNKa3SLKWwMG7zphnbiASR77AQniSUSU3BXD2NhYy2NjIvO1Ok1dRGTovKHTKz4ZsmbYrfTFWRw6M4I1E7XsOyLgujZL+55cickubj2qoHCb6OLSY7S9nZ1ZEARNJ4CRim3FgcHr3HeFHnJj5T+I3VYQO5TSJZETtRFRKRHpiMimu3UrNKa5jhpY9MaWkal8aWYkf1cbxCfGB/GpSaE8I9WT+2jc+OXyAD4xIYi/qwvi0xOC+Yu6EM70tecQf99TGh+vkYIgqO/r9M7JoIz9mZR5Nschh+sz6u808D7NoZw3cyjn4xzK4dqEWh4aPJTNZL5kJvObJjL900jGQwYy1NwFzA9EAy5IJFfZ2Xk7S6UPKJ9fiIIOiURHbrm5fXxZJqv4WSrNvGhlZbhpZaXt7sH7pbhGXdihODV/EJ32dKN1RHS7wUZkiNfRtI219M3GWqGjp4/QRETarrqcRGRFVi4aUqUvpoipP0pSnmbXwu3XZUVbr0uTl94SYudet09b2kG6qqPUQ7+FxNYTichsGdO2s/6EIAhSG2trONjba1IyEgaOXVHzSdqiLNZODmGfMRpWj/RlVamag/OCznj7ey6QWlmlCILQ08bGWi8SidRE5NxZChZEglSe7VgZ+rHrTawjdh5FLNXRu0Q0jojuSN9uz6TmTR8/Lj7Ij5/M1/BTJg9ekOnJj2d58kKDJ8/t48WNqV7cnOXJC7NuX38iy5OXmNVcpHdmZwf7i1Ibm5lEFNqFvP602KuYq6Or2XL4GGFRToPNZOZJ6ZO4v6o/m8j02gP33wHMG0RbPxWLj16wtR3bWZq5RIT3iZ7+2M7uxBlHx+pbgmBz63Yh2W1KKkkSlWydJNotc6IaC1DSiSiQiFRE5Octp+JJBfT37F5CKxEFdNWttCgdexJZ+ZOtvJLslPNIkdROYVOPk27Yz+Tkt4ts5C0ksasjonwiSrUUlc5dqSRLcS4Ri8VS30BvrXFsVlvIxPCrqgHqm/7FAdc8i9S3VGYvjjSFnwvUaZa49OjRWyIRw9paaisSibq1Z1jrhSjPXeKvXSYTS4NonyChJiLKthT1f3q+NaK8uDLSR8E6Vyl7u9iwt4v13Qhws2GdzJb9XK3/cN3HxZp9XGxY4WR3RSIWGoko/P5xizXFjhmUcXOgfiCX6cvYQIYrRjJKmIiGBA9ZWeBawENDh3KuQy4bybigS8D8XxzZh/qQdJSJtHCkSCIKJ6IwS+62sagoWyJSONhQbLCazApn0llksNAFy9yR6yoLGKJIU/wSaQefIrH1eAtQEiyHcSqLSnuo02WJlcRG6eee2mdgyo54c8x7So3788EJunfTCnofT0iOfhtwmyCVWkUIguAgPETdJpITHMuo0ronzSGBhlvAEtjd8/3B7mBnq7STWpUT0WwS6ElBoJV3g+6Je64T0SqRILRKJeIFIkEYQEQPsH8apfVOp/SfMyjj5wzKuJJJme/fY3fYZyDDz/dE0X8VMNZWJLazJhvLLpdb/lrtqY7zVMohdXJyklhUkZNIIJlYRG5E1O1p8D39GEciUpDYOlYQ2xYQCRmWowCFBYiSRznrISKxWCxydXZ2ind1cym2klj10wZoaszGjAW+PuqxIpEo3VJjPdRpNQkkFSTkTgIFW+blfacn1NnnNUpYyQEpABEAwSK33YkogoiSLKIglYhSrcQio72NtFgqEWcLgpBx7/+IKMXiAtARUbedaEMgrAxapBi0SDFqkWrUIt+kxW0DlRYJg8ORb9Qi36BFviEQ/38MVJHeEB95vGRDmBe8ADgB+EsGqlAviHUecGzLgmlzgXp4pDeC/ZRwU8ggZiIC8MinyVoPSBP8oIrzhX+8H7wT/KCP9UVITy+oVHLYAhD/lXEfJtL84eShgL0FMN2y4t/KghrasvDri+XB5TJACeCvGai0SDdqwSZLmHX43UClw49FwbevG7VggxbdG6jasiCsNsjGPz8gsHCNQS5ZbZC5rs9Wjt5a5Nuwtci3ZINZ+ZcMVAcmpvX6dd2YX1szMBiAD4BHMlDF+8GmLhqpW4t8p+2qCNnxUkXouQ1mJS9Nw4ElaVg1JBxDdR7QA7B+FDCm+kO6qyIk5djC0r2fNeZ99Z/G/Fc/nZ373bsTUs/9rSyopTAIEQoZnP7sZf6VeK7YP/PwguJtNb3QVyGDI4Aue1zPDwj0eqMm7p2qSPDUeLyVqEEaAAWARzdQaTHfpAU/29ePJ8aCzTo8bwFLmFkHbs/z5BUZYJMWf26gas2AqiUdr78wSL9nncndsS0LXisy0LzGII9fZ3KfvT5b+ZcMVF/OKWq+tLHuxrZ+mpcBxFke9qF2bZQ37N8cFT/vhUH6XxsTcWtULxytj8OZkZG4VhGGi/OTwGuNipsN8XgjXI1cC4M9lIGqORmqwwuKV38yI5vfGp3Ae6tjePeQMN6U68HteZ7f1kVjQqAKvgoZrP+3WGZEBBxeqgid/t2iQbfa8zxPDuqJESo5vAF0aRvZVREyafeQsGs7S7UcrkZHeRgWAggC4PBn88oIQKwhELMNWsw2ajHbpMXhqfHgFwbpOUcHztHhjRwdZubo8GyODvxSRSjXx4HNOvxo0mK9UYuuDVRL0zDw6T747tm+fpe3Fvn2WpkJdWsmWjblehSvz1ZOXWdyf2QDVUUYxD+tqv7w4trR/Epl2BkfJUoBaB5mdyjlEJanY/BrwyK4Ihy/hHhiA4CyfD1eLAnFCY0SKyPUWF8ViTNjo8AFQTjkoUAKAGdLKumSGeJ8IZoaD68PJ2dueWt0QsfOUi1vLfLl9dlKbk5GR2MijufoMDvGB6FRPrAPUEGklP/PQLPO5K4+vrhs61dzi/jJPjgSoEIVgEQAfl0BZmepVve3sqCPXh8ZzYeb+/P4GHCsL46l+6MYt1NTt4yaFYh6QyDY8HsK4t1DwnhzgZpzdOBc/e9R0wu8Z0QvHtQTXBEOrooEl4WhcwPVykz0WJqGVa2Z+L41E9d2VYQsWpkJ9dMZWL7O5F6yxiAfuSnXw7TWqHgkA9WrQ8Pj+G9zzp1fOZI/qM+4WR2JZQD0nQEGwB8ka6AKTnurY7asz1ZyogYHAQwDkD02CjuqInFMKcMEACWhXpjVJwBvh3phjdodhXcW8v7xmIiS/WE9sCe02/ppetVGI6w9z7PpHzWx558r9ucNZiW3pIMnxeKCSYtX4nxROyQMaRNioKkIg4PeA1aPyjR3Pt+e56k5v3Lk/oNTs3hBMr72VaIeQC6AKNz+eeDFV4bD6pXKsDnPDwi8+faYRN43NpFfqgjlWF90GLXYKgNCLZtD6AYw0w1a8Pb+/rxzoI5fLA/mVyrD+NWh4bynKupu/H14JO+tjuHXR0bz34dH8qtDw3lCDNikRecGquV9kNyaiY825qhaFiTj8+39/b/elOsR0ZqBpvXZStXKTBRtzFFVrTUqOjVQ7R+fEv3RlKzW9yalL94/PqVl/7jk5fvHpyw6s2L4/utbJt364amhfOTxEj44Nev4K5Vh2/aNTVz1z7qk5f+oiV322rCI9euzlfne7viDgcrbHQ5tWVjYkg7uH4LjPrcXOWxuEtbXx+GwUo5KAIkyIFQpR28ACQB6ApABkHTGMH8fHtnn/fo+uz5/rODtHSUBqxoTMe3Zvn57dw7UXV5rVPCCZFwZEoaD/UKwea1RsfWFQfqtmwvUSybGIifIA8ruao2uYnOB2u/MiuHvHpyaxYtS8aO/Ek0AigHEApB3xRI7SgKiXiwP/vyfdUncmgFO1ID/PjySF6aCw7xwxqRFDQCv7uZkCESTwVLEmnW345XKMJ6eAJ4aD264J+Ym3WaYXD04Rwce1BNs0uJBA1VbFqxb0jF5g1l5dGOOytiYiEXrTO4XdpZqJyxLR/M6k/us1QbZlNUGWexqg6zTVDI0HO6Hm/s/drV9ws3rWybx9S2T+ObWer60sY7PtVbxqWWD+WRLBZ9ZMZwvrBnFv22o5VPLBvOHkzO5Pc9zR1YgMt1lUN63OyXhavQeF4Ovx0SBx8fgbEM81m0wK9+cnoAjKjmGWHaoh2XhPQC4AbC5I1Xvn+e3iwbu+awxj/9RE8u7h4T9tqXQ+8P12cpXthb5HlmfrbyyIBnfz0rEge39/T9/b1L6xTdHxV9ba1T8uiwde2J9YfBS4JEMVNv6afzOto448MmMbG7NwG8hnngawGALuOVdpebKcNjtHhK2dGeptuPreX25ORmsdge/WB7M79T25lR/cJIGe/QeiAfg2hXLGAKRbrhdu8w26/COWQd+eXBPrggD5+vxRb4eL+QH4c38IHB7gRdvLfK9A5imumjUmXV40ED1dB9oW9Kxa3OBevcGszJwUSoSl6Th4ovlwbvXGORYbZBhtUHmtjFHpX+myCd2Y47KtRPqtdJ7wGNZOib+pzH/zIml5fzDk5V8evkQPtlSwSeWlvOJpeV8fHEZ/6cxn/dWx/A6k/vlgiA8p5RjMIAYAIr7xhQBcPVXwmzUYktZGE42xOP64jTcmByHm6OjcGFBMt5dkIylZt1d5WDfWSq6E5/MyN799pjESy8M0vPWIl9+tq/fjfZ8rx82mJWHN5iVJ9YaFcefHxB47o2auBt7qqJ4Wz8NL0wBP9Ybn0Z6Y2iYF7o0UKnksJbd7qtImIjmJMHmZEvFti+aCnmDWXkrKxAvA6gBkAbAvbv6Y1s/Tcpzxf5H3xqdwIeb+/Nqg4yTNLfZ4dPZubwkDRzjg0tZgWiSAb4AbP8sXZp1eLa6F3jnQB3n6sH5epQyEeUHoSw/CLyrIoTbssC5evyao0PnBqq2LIiX98GAVZk4157vNWWtUWHblgXR9AQcbM/z/G5HSUBSWxacVhtkY9qy0PR0Hwxda1SkdgIYCQBHAL5GLcrfqe394cmWihunlw+5C5YTS8v5q7lFvHtIWMfkOJwM8sAmAKMBZALwB+B4f/7H7RcgtzCJ2V+JmopwfFARjotGLT4bFo6zS9JwqzUTlwf2RIuH4vY4XTHM/nHJDXuqor7fURLA67OV3JaFjpWZuLw+W3l2S6H3qfZ8r+PPFftffH5AYMezff14g1nJj6egoyoSHyT6oTbGBw8YqFL84XJomjH/q7lFq9uyUC0HnL0UkOwfn9JysqWiY0dJAJeE4iCAKQByLK2FLpVcvxA4/a0saM2OkgD+rDGPv5pbxO35Xtw/BLy3JoY/nZ3Lb49JZIMWnO6P92N9kWNJw+/84mwAAAjuSURBVOJOGEY+OBxhJi1izDp83ZgIXm9W3gHMoHw9UvL12Dk0HPz6yGh+rDc4V4+jOTrkm3XIN2nxRwNVaybcl6ZhTXue5zfteZ53DVSNiWhYY5D/trNU+/hqgyxtjUFeu9aoUHVX3FmUiQMAj8IgFB5eUPzFhTWj7jLMyZYK/nJOEbfne13wV2KzBSxpALwtzCDqTCkFecJWJQdweycFDovAtspwfO8uQ6MMGFUYhPaFKbhWF40bkd5osqQmu85eyqFpxrdfLA++sD5byYtS0fFYb/zWnIyTW4t8f9lZqr2yzuR+ZGEqDrVm4Ow6k/uttqzbuX5KPE6WhmKOVoUHDFTHFpbOOLNiOB9u7s8fTs48WxGOqs0F6tHnWqvOvz4ymuvjcM5DgccBDLQU/HbdscGWQm/Ttn6a8/vHp/BnjXn8WWMe7xyo4xmJ4H1jE/nQNCN/MiObVxtkHOWDW701aFHKEWRZQ+E+wGy8t4ZZng6en/S7Msq3xGO9b9dH5WG365c79Y5Ji9/tDW1ZEJ7ug4Slafh2c4H60LZ+mrGbC9S5mwvUuetM7lNbM9GxrZ9m3+YC9YS1RkXVWqNC+rDKYGEKTDe31h8/v3IkfzmniA8vKObvFg3iwwuK+ZXKsKuGQGwCYAKgtrDIAwuokMF2VC+UbS3ynW4IRJKFdm2mJ6BtbDSOKuUYA8AU6gXTykx8MCYKHK7GSxY2crufsZiI3qnt/dIzRT7Xl6ahY1oCfq2Nxufrzcpje6qirr9UEdqxMUf1y+Q4vD08Ai/NS8KxpWm4MS0BvCQNF2p6YamnAg8YqDaYldkHJqZ9c3BqFr83KZ33VEV9+a/ppuMfNxj4qT64EeaFLQBGWtJuj+7AMqgnejxX7L/9b2VB/EVTIR+cmsWHphl539hE3l0Zxu/X9+GDU7P4X9NNvH98yp0XfjTBD2UWdSi9TyVtrI4ErzUqeJ3JnZ8fEMjrzUreUujNz/b1uxuvDg3nV4eG8+4hYby9vz9v66dhsw5svA8wdkvSMH1lJq6uNSoOb8xR7duYo3pzY47qzfXZynda0vFje57niW39NM+sM7mPXZ+tdGMiWm2Q/am0fH1k9LiOF+fe+PesHH6xPJi3FHr/9K/pJj76xAA+ODWLG+LxuoVdumziaT3g8dbohItbi3y5MhyvKeUIZiJ6IgVPzkjEN0o5+ssBfV00hrXneZ4tDQUHqLAdQLpl8R5QdKOjkLVzoO711QbZkdpovLMoFe+8NTrhwj/rkvjF8mBuz/O8tSgV3xYFYU1RMJ5uTMT7T6Tg23lJeK88DLNUckR1skHsx8eg/ODUrKsHJqbxB/UZfGBiGj9T5MN9g/EvANMBZD1M3+TVoeE57fleNz5uMPCns3P54NQs/mRGNrdlgYeEg18dGs6Hphn5oylZ/FljHm8uUHOoFzhbh81haiQA+IOBanwMNg4LB4+PAY+IAD8/IJDrosHTE8CzEn+Plwf35JcqQnlaAnim5Vp52H2AWZkJj0Wp+Nf6bOUX60zuo5enI/1OLEtHxsIUNLRm4OrWIt/XNuao5rfne43ZlOuRtynXo1sD1ahecL7SPn7niaXlvCnX43KeHgcCVVg9PgYvf1Cf8cuXc4p4S6H3Ua0HKiwMI+micWc/NgoTmnqDp8SDh4XjrTw9Rm7K9di9MBUnkzRoHh6B1s0F6hPjY8AxPvhABkwCkNwVw/gpIZ8Ui/zSnqgbHYV5r4+M/uTjBsOtPVVR/FyxP2/MUXFrBq43JOC9JA0m9/JGVYIfJkZ4Y3SACmYZoOkEMFJvdwS+Nixi179n5fC+sYm8vb8/T4nHJX8l2gCUAtAB6NZA1ZoB1+39/d94a3QCf7toIP97Vg5/1pjHXzQV8hqDnAeHg/dWx/B/GvP537Ny+PPHCviTGdlcHgYuCcWpPD1GygD1fZ3eOVmB2G8IxNkBoeAthd53GnifmnV406zDx2YdeJ3JnR9PAZt1uGTW4U2TFv80anHIoMXvBqqlaRiwKhNXNxeot6/PVj6gfJ7qg6C5STjyTJHPx1sKvSvaspDZlgXDWqOiWwPV/CREXd407tT2/v6nY3ywDrjdYANgKAvDtL3VMd/srY7pyNOjCYC2qy4nACtPBTS9NVg8OBw/1seBn+6D660ZuF4fh1s1vXB9WgI6ioJxNNQLW9xlmAjAbBnTtrP+hAyQ+ioBrQc0zckYeGia8ZM9I3pxe74XrzbIeEXG7X7E3CScKQjCAi8FUmRATz8l9AoZ1ACcO0vBChmkddGo/PesnJsvDNLzwhRwqj/eBTAOuCt9RX9y5jZuRMTtJtvWIt87RxS8uUDNG8xKXmtUcHueJ7fne939u7XIl8dGg4M8cdFXiZkAQruQ15+OjwG3Zt6uZ0xaRFiU02CzDry5QM210WCTFl0bqBrisbU5GUfXGhVjO0szKzKA2Yl4enEaTqw1KqpXG2Q2bVmwbsvqXr419UbJ22MSd/f0Qo0FKOkAAgGoAPgl+qF4g1n59/ExaAUQ0FW30qJ07BUy+PspUalRYl6cL9orwnC8KAg/6z2wy0eJFqUcdQDyAaRaikrnrlSSpTiXKOWQ9g2Gdnt//7b2fK+rc5Jwc0Eyrs1OxK36OPDcJJwrDcWScDV6q+SAjztsFTJIu5Ps6f6I2lsd83VrJriPP/YpZWgCkG0p6v/0fGtHSUBlvxBwbw04zhcce0/01oDT/MEJfn+8HmeJcDWuKOVoBPCAgWpyHByzAnGzMRHc1Bts0OKKUXub1RckY2VlOHhhCrg0FGzU4r9roMrVQ7oyE9oQT0QCCAcQZsndNhYVZQtAoVEiNlsLc7gaOosMFrpgmTtyXWUBQ5RJi5cKgnDKXYbxFqAkWA7jVBaV9lCnyx4K2Ji0SF1nct+xKBXvZevwfF003l2RgeOzEvF2rC8mqN0RIQMcZA9xJBDiCUxPQKUhEHNkwHALWAK7e757I0AFpY8S5QBmy4AnZcDKO4F74r7rq+RAq4cCC+TAAADaTg4ge2cE4OesQPycFYgrhkC8f4/dYZ9Bi5/viU4NVP8P9ptM0eRm/y0AAAAASUVORK5CYII=' var twpro_searchButtonImg = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAHNJREFUOMvNkbENwCAMBM/p6BiNcRiTEVKwh9O4QAEiQ1LkJUvokc/yG/6mAGRAgWrvsNJ8AgVIVsU8FyRbQ2y8aF72AKpNvSvZ31DHlwHOVlDvCqMQtantMz5CxAnWWY8sZDSEyGLQHUQ2rqWbG0wh73QBwKsfIwV17B4AAAAASUVORK5CYII%3D' var twpro_loadingSearchImg = 'data:image/gif;base64,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' var specialMessages = { '[del]construct': function(twpro_job){ return ""; //Zou de ingebrachte constructiepunten voor een bepaalde level moeten weergeven }, '[del]speed': function(){ return ""; }, 'regeneration': function(twpro_job){ return Character.skill_titles.health+": " + twpro_job.maxlifes + " @ " + Math.round(TWPro.twpro_sleeperBonus(twpro_job.sleepCount)*10000)/100 + "%"; /* Regen_speed: Job: .02 Idle: .05 Fort: 1-80%, 2-85%, 3-90%, 4-95%, 5-100%, 6-100% - 6 uur Hotel: 1-64%, 2-72%, 3-80%, 4-88%, 5-100% - 8 uur LP = level + LP_level * (soldier?15:10) + 90 var regens = { fort: [000, .80, .85, .90, .95, 1.0, 1.0], hotl: [000, .64, .72, .80, .88, 1.0] } FortSpeed: 1/6 * regens.fort[stars] * (1+REGENMOD_SLEEPERSET) * LP = CONSTANT * (1+%REGEN) * LP HotelSped: 1/8 * regens.hotl[stars] * (1+REGENMOD_SLEEPERSET) * LP = CONSTANT * (1+%REGEN) * LP ---> = CONSTANT * (1+REGENMOD_SLEEPERSET) * LP Sleeper: # REGEN diff 6 .25 --- 5 .18 .07 4 .12 .06 3 .08 .04 2 .06 .02 1/0 .00 .06 Calculaton procedure: START: VARS cache, equip, lifes, dlife, newlifes VAR regen [] EQUIP all sleeper items > equip[] soldier ? 1.5 : 1 > dlife 90 + level *10 + lifepoints_skill * dlife > lifes ORDER equipment_slots BY lifepoints_bonus (highest at top) > cache LOOP THROUGH cache # sleeper_count = sleeper count # sleeper_count_minus_one = new sleeper count TEST_EQUIP clothing lifes + xtra_life_bonus * dlife > newlifes IF lifes * (1+regen[sleeper_count]) < newlifes * (1+regen[sleeper_count_minus_one]) clothing > equip[] lifes = newlifes CONTINUE ELSE BREAK / / / # equip[] = best Life regeneration 1 item: d(%REGEN)/dt * LP > (1+%REGEN) * d(LP)/dt n items: */ } }; { // Duelconverter and Fort Message function makefortmessage(twpro_fort_elementin){ var twpro_fort_elementid=twpro_fort_elementin.id; var twpro_fort_instructions=twpro_fort_elementid.replace('window_fort_battlepage','fortbattle_placement_map')+"_instructions"; var tmparray3=document.getElementById(twpro_fort_instructions).getElementsByTagName('a'); var tmparray3=tmparray3[0].parentNode; var twpro_fort_divplayerid=twpro_fort_elementid.replace('window_fort_battlepage','fortbattle_placement_map')+"_playerlistdiv"; n = new Element('a', {'href': "javascript:makefortlist('"+twpro_fort_divplayerid+"');", 'style':'cursor: pointer;'}); n.innerHTML="<br/><br/>"+TWPro.lang.FORTMESSAGE; tmparray3.appendChild(n); } function makefortlist(twpro_fort_divplayerid){ var tmparray2=document.getElementById(twpro_fort_divplayerid).childNodes; alert(TWPro.lang.FORTMESSAGERCP+':\n'+tmparray2.length); var fortplayerlist=tmparray2[0].innerHTML; for (var j = 1 ; j < tmparray2.length ; j++){ if (tmparray2[j].innerHTML == Character.name){ } else { fortplayerlist +=";"+tmparray2[j].innerHTML; } } AjaxWindow.show('messages',{addressee:fortplayerlist}); } function makeadvicemessage(twpro_advice_elementin, data){ var twpro_advice_elementid=twpro_advice_elementin.id; data = data.replace(/Saloon<\/h2>/, '$&<a onclick="makeadvicelist(\''+twpro_advice_elementid+'\');" href="#" class="button_wrap button"><span class="button_left"></span><span class="button_middle">Mensaje</span><span class="button_right"></span><span style="clear:both"></span></a><br>'); return data; } function makeadvicelist(twpro_advice_elementid){ var tbl=document.getElementById(twpro_advice_elementid).getElementsByTagName('table'); tbl = tbl[2].getElementsByTagName('a'); var adviceplayerlist = tbl[0].innerHTML; for (var i=1;i<tbl.length;i++){ if (tbl[i].href.search(/profile/) != -1) { adviceplayerlist += ';'+tbl[i].innerHTML; } } AjaxWindow.show('messages',{addressee:adviceplayerlist}); } { // Duelconverter by Lekensteyn function convertduelreport(winname, data){ if(data && data.indexOf("Reports.switchDuel") > 0){ data = data.replace(/"ReportPublish\.selectPublish.+?\n\s+.+?\n\s+.+?\n\s+<\/th>/, '$&<th style="width:20px"><a onclick="convertduelreportfunc(\''+winname+'\');" href="javascript:void(0);"><img src="/images/forum/icon/spanner.png" alt="'+TWPro.lang.CONVERT+'" title="'+TWPro.lang.CONVERT+'"></a></th>'); } return data; } function convertduelreportfunc(dc) { var dce = document.getElementById(dc); if(document.getElementById(dc+'_cnv')) return; if (dce.innerHTML.indexOf('images/report/attacker.png') != -1) { var duel = duellers = avatars = place = ''; var tbl = dce.getElementsByTagName('table'); var k = 0; var si = tbl[2].rows[0].cells; var s1 = si[0].getElementsByTagName('strong'); var s2 = si[5].getElementsByTagName('strong'); var ex = '[player]'+s1[0].firstChild.innerHTML+'[/player]'; if(s1.length > 1) ex += ' ('+s1[1].innerHTML+')'; ex += " \u2015 "; if(s2[0].getElementsByTagName('a').length){ ex += '[player]'+s2[0].getElementsByTagName('a')[0].innerHTML.replace(/^\s+|\s+$/g, '')+'[/player]'; } else{ ex += '[b]'+s2[0].innerHTML.replace(/^\s+|\s+$/g, '')+'[/b]'; } if(s2.length > 1) ex += ' ('+s2[1].innerHTML+')'; ex += "\n"; ex += '[img]'+si[1].getElementsByTagName('img')[0].src+'[/img]'; ex += '[img]'+si[2].getElementsByTagName('img')[0].src+'[/img]'; ex += '[img]/images/jobs/duell.png[/img]'; ex += '[img]'+si[3].getElementsByTagName('img')[0].src+'[/img]'; ex += '[img]'+si[4].getElementsByTagName('img')[0].src+'[/img]'; ex += '\n__________________________________________________\n'; var dh = tbl[3].rows; var bpa = { '0px 0px': 'http://img43.imageshack.us/img43/3745/nohitatt.png', '0px -78px': 'http://img196.imageshack.us/img196/6343/haedatt.png', '0px -156px': 'http://img269.imageshack.us/img269/382/rightscatt.png', '0px -234px': 'http://img195.imageshack.us/img195/8398/leftscatt.png', '0px -312px': 'http://img39.imageshack.us/img39/1285/righthaatt.png', '0px -390px': 'http://img35.imageshack.us/img35/3261/lefthaatt.png', '0px -468px': 'http://img32.imageshack.us/img32/1503/winatt.png', '0px -546px': 'http://img193.imageshack.us/img193/1825/loseatt.png', '0px -624px': 'http://img9.imageshack.us/img9/5177/leftdie.png' }; var bpd = { '0px 0px': 'http://img196.imageshack.us/img196/5995/nohitdeff.png', '0px -78px': 'http://img39.imageshack.us/img39/6522/haeddeff.png', '0px -156px': 'http://img195.imageshack.us/img195/8905/rightscdeff.png', '0px -234px': 'http://img32.imageshack.us/img32/9089/leftscdeff.png', '0px -312px': 'http://img35.imageshack.us/img35/3111/righthadeff.png', '0px -390px': 'http://img269.imageshack.us/img269/7476/lefthadeff.png', '0px -468px': 'http://img193.imageshack.us/img193/7641/windeff.png', '0px -546px': 'http://img194.imageshack.us/img194/8311/losedeff.png', '0px -624px': 'http://img30.imageshack.us/img30/8627/rightdie.png' }; for(var i=0; i<dh.length; i++){ if(i == dh.length-1){ ex += '[b]_______________'+TWPro.lang.HPTOTAL+':_______________[/b]\n'; } var d1 = dh[i].cells[0].getElementsByTagName('span'); if(d1.length > 1){ d1 = d1[1].innerHTML; if(d1.length < 9){ d1 = '[color=#D3C6AF]'+(new Array(10-d1.length)).join('0')+'[/color][color=red]'+d1; } else{ d1 = '[color=red]'+d1; } ex += '[b][size=17]'+d1+' [/color][/size][/b]'; } else{ ex += '[size=17][color=#D3C6AF]0000000[/color]0 [/size]'; } var dud = dh[i].cells[1].getElementsByTagName('div'); ex += '[img]'+bpa[dud[1].style.backgroundPosition]+'[/img][img]'+bpd[dud[2].style.backgroundPosition]+'[/img]'; var d2 = dh[i].cells[2].getElementsByTagName('span'); if(d2.length > 1){ ex += '[b][size=17][color=blue]'+d2[1].innerHTML+'[/color][/size][/b]'; } else{ ex += '[size=17][color=#D3C6AF]0000[/color]0 [/size]'; } ex += '\n'; } ex += '[b][size=16]'+dce.getElementsByTagName('h4')[0].innerHTML+'[/size][/b]'; var dd = document.createElement('div'); dd.style.cssText = 'overflow: auto; position: relative; height: 340px; padding: 5px;'; dd.id = dc+'_cnv'; dd.innerHTML = '<img src="/img.php?type=button&subtype=normal&value=back" alt="Back" style="float:right;cursor:pointer" onclick="this.parentNode.previousSibling.style.display=\'\';this.parentNode.parentNode.removeChild(this.parentNode);">BB Code: <br><textarea rows="10" cols="40" style="width:85%;height:80%;background-image: url(images/muster.jpg);margin-left:auto;margin-right:auto;" onfocus="this.select();" readonly="readonly">' + ex + "</textarea>"; var bf = tbl[2].parentNode.nextSibling; bf.previousSibling.style.display = 'none'; bf.parentNode.insertBefore(dd, bf); } } } } if ((window.location.href.indexOf('.the-west.') != -1 || window.location.href.indexOf('tw.innogames.net') != -1) && window.location.href.indexOf('game') != -1) { /* Diese Script wird von http://www.tw-pro.de/ bereitgestellt. Es gelten die im Impressum http://www.tw-pro.de/?site=impressum hinterlegten rechtlichen Hinweise. Insbesondere bedarf eine Veraenderung, Weitergabe oder eine eigene Veroeffentlichung dieses Scripts oder Teilen davon einer schriftlichen Genehmigung des Autors. Das Copyright liegt beim Autor. */ // manipuliert interne Funktionen und fuegt eigene Aufrufe ein function twpro_injectScript() { var style = document.createElement('style'), css = '.twpro_search_hide{display:none;}.twpro_setinfo_entry{margin:5px;border:1px solid #32201A;padding:2px;}.twpro_setinfo_name_clicker{cursor:pointer;color:#523E30;}.twpro_setinfo_set{background:url(../images/messages/post-bgr.jpg) repeat scroll 0 0 transparent;margin-left:10px;}.twpro_setinfo_xitems{margin-left:-5px;padding:0;}'; style.setAttribute('type', 'text/css'); if(style.styleSheet){ // IE style.styleSheet.cssText = css; } else{ style.appendChild(document.createTextNode(css)); } document.getElementsByTagName('head')[0].appendChild(style); /* TWPro.locationSharp = location.href.replace(/^([^#]+)#?/, '$1')+"#"; TWPro.hrefSharpToJSVoid = window.setInterval(function(){for(var a=document.getElementsByTagName("a"),i=a.length-1;i>=0;i--)if(a[i].href==TWPro.locationSharp) a[i].href="javascript:void(0);";}, 200); try{ WMap.recalcMarker = eval('('+WMap.recalcMarker.toString().replace(/"#"/g, '"javascript:void(0);"')+')'); }catch(e){} */ TWPro.enablebbcodes = true; TWPro.twpro_calculated = false; TWPro.twpro_failure = false; TWPro.twpro_failureInject = false; TWPro.twpro_failureRollback = []; TWPro.twpro_active = true; TWPro.twpro_bestAnimal = 0; TWPro.damage_min = {left_arm:0, right_arm_shot:0, right_arm_hand: 0}; TWPro.damage_max = {left_arm:0, right_arm_shot:0, right_arm_hand: 0}; TWPro.twpro_sorts = ['name', 'erfahrung', 'money', 'luckItemValue', 'comb', 'gefahr', 'laborp']; function getPCookie(n){var c='; '+document.cookie+';',s='; twpro_'+Character.playerId+'_'+encodeURIComponent(n)+'=',b=c.indexOf(s),e;if(b==-1)return'';b=b+s.length;e=c.indexOf(';',b);return decodeURIComponent(c.substring(b,e))} TWPro.prefs = { 'Hide_unjobs': 1, 'dispJobClothingOnly': 2, 'multipliers': getPCookie('multipliers'), 'reportaccess': getPCookie('reportaccess'), 'hidejobs': getPCookie('hidejobs'), 'disabledSets': getPCookie('disabledSets'), 'customJobs': getPCookie('customJobs') }; TWPro.prefNumber = parseInt(getPCookie('prefs'), 10) || 0; TWPro.multipliers = {xp:1, wages:1, luck:1, danger:1}; var multiplier, savedMultipliers = TWPro.twpro_preference('multipliers').split(':'), j=0, disabled = TWPro.twpro_preference('hidejobs').split('|'); for(var i in TWPro.multipliers){ multiplier = parseInt(savedMultipliers[j++], 10); if(!isNaN(multiplier)){ TWPro.multipliers[i] = multiplier; } } try { TWPro.item_type_title = eval("(" + ItemPopup.prototype.getXHTML.toString().match(/var item_type_title\s*=\s*(\{[^}]+\})/)[1] + ")"), TWPro.item_sub_title = eval("(" + ItemPopup.prototype.getXHTML.toString().match(/var item_sub_title\s*=\s*(\{[^}]+\})/)[1] + ")"); } catch (e) { TWPro.item_type_title = {}; TWPro.item_sub_title = {}; } TWPro.job_titles = {}; for (var i in JobList) { TWPro.job_titles[JobList[i].shortName] = JobList[i].name; } //TWPro.job_titles.construct = TWPro.lang.CONSTRUCTION; TWPro.disabledJobs = {}; for(var i=0;i<disabled.length; i++){ TWPro.disabledJobs[disabled[i]] = true; } TWPro.searchInventory = {timer:null}; TWPro.searchTrader = {}; TWPro.twpro_jobs = []; // Jobs { TWPro.twpro_jobValues = {}; TWPro.twpro_jobValues.swine = {}; TWPro.twpro_jobValues.swine.erfahrung = 1; TWPro.twpro_jobValues.swine.lohn = 3; TWPro.twpro_jobValues.swine.glueck = 0; TWPro.twpro_jobValues.swine.gefahr = 1; TWPro.twpro_jobValues.scarecrow = {}; TWPro.twpro_jobValues.scarecrow.erfahrung = 3; TWPro.twpro_jobValues.scarecrow.lohn = 1; TWPro.twpro_jobValues.scarecrow.glueck = 2; TWPro.twpro_jobValues.scarecrow.gefahr = 20; TWPro.twpro_jobValues.wanted = {}; TWPro.twpro_jobValues.wanted.erfahrung = 3; TWPro.twpro_jobValues.wanted.lohn = 2; TWPro.twpro_jobValues.wanted.glueck = 0; TWPro.twpro_jobValues.wanted.gefahr = 10; TWPro.twpro_jobValues.tabacco = {}; TWPro.twpro_jobValues.tabacco.erfahrung = 1; TWPro.twpro_jobValues.tabacco.lohn = 6; TWPro.twpro_jobValues.tabacco.glueck = 2; TWPro.twpro_jobValues.tabacco.gefahr = 2; TWPro.twpro_jobValues.cotton = {}; TWPro.twpro_jobValues.cotton.erfahrung = 4; TWPro.twpro_jobValues.cotton.lohn = 1; TWPro.twpro_jobValues.cotton.glueck = 0; TWPro.twpro_jobValues.cotton.gefahr = 3; TWPro.twpro_jobValues.sugar = {}; TWPro.twpro_jobValues.sugar.erfahrung = 2; TWPro.twpro_jobValues.sugar.lohn = 5; TWPro.twpro_jobValues.sugar.glueck = 4; TWPro.twpro_jobValues.sugar.gefahr = 1; TWPro.twpro_jobValues.angle = {}; TWPro.twpro_jobValues.angle.erfahrung = 0; TWPro.twpro_jobValues.angle.lohn = 1; TWPro.twpro_jobValues.angle.glueck = 6; TWPro.twpro_jobValues.angle.gefahr = 2; TWPro.twpro_jobValues.cereal = {}; TWPro.twpro_jobValues.cereal.erfahrung = 6; TWPro.twpro_jobValues.cereal.lohn = 2; TWPro.twpro_jobValues.cereal.glueck = 2; TWPro.twpro_jobValues.cereal.gefahr = 4; TWPro.twpro_jobValues.berry = {}; TWPro.twpro_jobValues.berry.erfahrung = 6; TWPro.twpro_jobValues.berry.lohn = 2; TWPro.twpro_jobValues.berry.glueck = 5; TWPro.twpro_jobValues.berry.gefahr = 6; TWPro.twpro_jobValues.sheeps = {}; TWPro.twpro_jobValues.sheeps.erfahrung = 5; TWPro.twpro_jobValues.sheeps.lohn = 3; TWPro.twpro_jobValues.sheeps.glueck = 0; TWPro.twpro_jobValues.sheeps.gefahr = 2; TWPro.twpro_jobValues.newspaper = {}; TWPro.twpro_jobValues.newspaper.erfahrung = 1; TWPro.twpro_jobValues.newspaper.lohn = 6; TWPro.twpro_jobValues.newspaper.glueck = 2; TWPro.twpro_jobValues.newspaper.gefahr = 1; TWPro.twpro_jobValues.cut = {}; TWPro.twpro_jobValues.cut.erfahrung = 7; TWPro.twpro_jobValues.cut.lohn = 5; TWPro.twpro_jobValues.cut.glueck = 3; TWPro.twpro_jobValues.cut.gefahr = 3; TWPro.twpro_jobValues.grinding = {}; TWPro.twpro_jobValues.grinding.erfahrung = 7; TWPro.twpro_jobValues.grinding.lohn = 11; TWPro.twpro_jobValues.grinding.glueck = 0; TWPro.twpro_jobValues.grinding.gefahr = 5; TWPro.twpro_jobValues.corn = {}; TWPro.twpro_jobValues.corn.erfahrung = 7; TWPro.twpro_jobValues.corn.lohn = 4; TWPro.twpro_jobValues.corn.glueck = 8; TWPro.twpro_jobValues.corn.gefahr = 5; TWPro.twpro_jobValues.beans = {}; TWPro.twpro_jobValues.beans.erfahrung = 7; TWPro.twpro_jobValues.beans.lohn = 9; TWPro.twpro_jobValues.beans.glueck = 4; TWPro.twpro_jobValues.beans.gefahr = 5; TWPro.twpro_jobValues.fort_guard = {}; TWPro.twpro_jobValues.fort_guard.erfahrung = 9; TWPro.twpro_jobValues.fort_guard.lohn = 3; TWPro.twpro_jobValues.fort_guard.glueck = 2; TWPro.twpro_jobValues.fort_guard.gefahr = 7; TWPro.twpro_jobValues.tanning = {}; TWPro.twpro_jobValues.tanning.erfahrung = 15; TWPro.twpro_jobValues.tanning.lohn = 12; TWPro.twpro_jobValues.tanning.glueck = 5; TWPro.twpro_jobValues.tanning.gefahr = 18; TWPro.twpro_jobValues.digging = {}; TWPro.twpro_jobValues.digging.erfahrung = 3; TWPro.twpro_jobValues.digging.lohn = 11; TWPro.twpro_jobValues.digging.glueck = 5; TWPro.twpro_jobValues.digging.gefahr = 7; TWPro.twpro_jobValues.grave = {}; TWPro.twpro_jobValues.grave.erfahrung = 12; TWPro.twpro_jobValues.grave.lohn = 16; TWPro.twpro_jobValues.grave.glueck = 22; TWPro.twpro_jobValues.grave.gefahr = 9; TWPro.twpro_jobValues.turkey = {}; TWPro.twpro_jobValues.turkey.erfahrung = 14; TWPro.twpro_jobValues.turkey.lohn = 3; TWPro.twpro_jobValues.turkey.glueck = 7; TWPro.twpro_jobValues.turkey.gefahr = 21; TWPro.twpro_jobValues.rail = {}; TWPro.twpro_jobValues.rail.erfahrung = 18; TWPro.twpro_jobValues.rail.lohn = 10; TWPro.twpro_jobValues.rail.glueck = 5; TWPro.twpro_jobValues.rail.gefahr = 10; TWPro.twpro_jobValues.cow = {}; TWPro.twpro_jobValues.cow.erfahrung = 17; TWPro.twpro_jobValues.cow.lohn = 5; TWPro.twpro_jobValues.cow.glueck = 0; TWPro.twpro_jobValues.cow.gefahr = 11; TWPro.twpro_jobValues.fence = {}; TWPro.twpro_jobValues.fence.erfahrung = 11; TWPro.twpro_jobValues.fence.lohn = 7; TWPro.twpro_jobValues.fence.glueck = 5; TWPro.twpro_jobValues.fence.gefahr = 6; TWPro.twpro_jobValues.saw = {}; TWPro.twpro_jobValues.saw.erfahrung = 12; TWPro.twpro_jobValues.saw.lohn = 23; TWPro.twpro_jobValues.saw.glueck = 6; TWPro.twpro_jobValues.saw.gefahr = 32; TWPro.twpro_jobValues.stone = {}; TWPro.twpro_jobValues.stone.erfahrung = 8; TWPro.twpro_jobValues.stone.lohn = 17; TWPro.twpro_jobValues.stone.glueck = 9; TWPro.twpro_jobValues.stone.gefahr = 33; TWPro.twpro_jobValues.straighten = {}; TWPro.twpro_jobValues.straighten.erfahrung = 22; TWPro.twpro_jobValues.straighten.lohn = 8; TWPro.twpro_jobValues.straighten.glueck = 15; TWPro.twpro_jobValues.straighten.gefahr = 12; TWPro.twpro_jobValues.wood = {}; TWPro.twpro_jobValues.wood.erfahrung = 5; TWPro.twpro_jobValues.wood.lohn = 18; TWPro.twpro_jobValues.wood.glueck = 2; TWPro.twpro_jobValues.wood.gefahr = 21; TWPro.twpro_jobValues.irrigation = {}; TWPro.twpro_jobValues.irrigation.erfahrung = 13; TWPro.twpro_jobValues.irrigation.lohn = 7; TWPro.twpro_jobValues.irrigation.glueck = 15; TWPro.twpro_jobValues.irrigation.gefahr = 6; TWPro.twpro_jobValues.brand = {}; TWPro.twpro_jobValues.brand.erfahrung = 25; TWPro.twpro_jobValues.brand.lohn = 8; TWPro.twpro_jobValues.brand.glueck = 0; TWPro.twpro_jobValues.brand.gefahr = 35; TWPro.twpro_jobValues.wire = {}; TWPro.twpro_jobValues.wire.erfahrung = 13; TWPro.twpro_jobValues.wire.lohn = 17; TWPro.twpro_jobValues.wire.glueck = 6; TWPro.twpro_jobValues.wire.gefahr = 0; TWPro.twpro_jobValues.dam = {}; TWPro.twpro_jobValues.dam.erfahrung = 18; TWPro.twpro_jobValues.dam.lohn = 4; TWPro.twpro_jobValues.dam.glueck = 9; TWPro.twpro_jobValues.dam.gefahr = 41; TWPro.twpro_jobValues.gems = {}; TWPro.twpro_jobValues.gems.erfahrung = 7; TWPro.twpro_jobValues.gems.lohn = 25; TWPro.twpro_jobValues.gems.glueck = 8; TWPro.twpro_jobValues.gems.gefahr = 4; TWPro.twpro_jobValues.claim = {}; TWPro.twpro_jobValues.claim.erfahrung = 4; TWPro.twpro_jobValues.claim.lohn = 31; TWPro.twpro_jobValues.claim.glueck = 4; TWPro.twpro_jobValues.claim.gefahr = 29; TWPro.twpro_jobValues.chuck_wagon = {}; TWPro.twpro_jobValues.chuck_wagon.erfahrung = 23; TWPro.twpro_jobValues.chuck_wagon.lohn = 5; TWPro.twpro_jobValues.chuck_wagon.glueck = 42; TWPro.twpro_jobValues.chuck_wagon.gefahr = 11; TWPro.twpro_jobValues.break_in = {}; TWPro.twpro_jobValues.break_in.erfahrung = 32; TWPro.twpro_jobValues.break_in.lohn = 13; TWPro.twpro_jobValues.break_in.glueck = 10; TWPro.twpro_jobValues.break_in.gefahr = 52; TWPro.twpro_jobValues.trade = {}; TWPro.twpro_jobValues.trade.erfahrung = 3; TWPro.twpro_jobValues.trade.lohn = 15; TWPro.twpro_jobValues.trade.glueck = 25; TWPro.twpro_jobValues.trade.gefahr = 12; TWPro.twpro_jobValues.mast = {}; TWPro.twpro_jobValues.mast.erfahrung = 25; TWPro.twpro_jobValues.mast.lohn = 21; TWPro.twpro_jobValues.mast.glueck = 3; TWPro.twpro_jobValues.mast.gefahr = 14; TWPro.twpro_jobValues.spring = {}; TWPro.twpro_jobValues.spring.erfahrung = 33; TWPro.twpro_jobValues.spring.lohn = 9; TWPro.twpro_jobValues.spring.glueck = 23; TWPro.twpro_jobValues.spring.gefahr = 19; TWPro.twpro_jobValues.beaver = {}; TWPro.twpro_jobValues.beaver.erfahrung = 17; TWPro.twpro_jobValues.beaver.lohn = 32; TWPro.twpro_jobValues.beaver.glueck = 6; TWPro.twpro_jobValues.beaver.gefahr = 21; TWPro.twpro_jobValues.coal = {}; TWPro.twpro_jobValues.coal.erfahrung = 14; TWPro.twpro_jobValues.coal.lohn = 30; TWPro.twpro_jobValues.coal.glueck = 0; TWPro.twpro_jobValues.coal.gefahr = 13; TWPro.twpro_jobValues.print = {}; TWPro.twpro_jobValues.print.erfahrung = 20; TWPro.twpro_jobValues.print.lohn = 30; TWPro.twpro_jobValues.print.glueck = 5; TWPro.twpro_jobValues.print.gefahr = 7; TWPro.twpro_jobValues.fishing = {}; TWPro.twpro_jobValues.fishing.erfahrung = 23; TWPro.twpro_jobValues.fishing.lohn = 6; TWPro.twpro_jobValues.fishing.glueck = 23; TWPro.twpro_jobValues.fishing.gefahr = 38; TWPro.twpro_jobValues.trainstation = {}; TWPro.twpro_jobValues.trainstation.erfahrung = 47; TWPro.twpro_jobValues.trainstation.lohn = 12; TWPro.twpro_jobValues.trainstation.glueck = 7; TWPro.twpro_jobValues.trainstation.gefahr = 15; TWPro.twpro_jobValues.windmeel = {}; TWPro.twpro_jobValues.windmeel.erfahrung = 43; TWPro.twpro_jobValues.windmeel.lohn = 42; TWPro.twpro_jobValues.windmeel.glueck = 6; TWPro.twpro_jobValues.windmeel.gefahr = 18; TWPro.twpro_jobValues.explore = {}; TWPro.twpro_jobValues.explore.erfahrung = 45; TWPro.twpro_jobValues.explore.lohn = 1; TWPro.twpro_jobValues.explore.glueck = 22; TWPro.twpro_jobValues.explore.gefahr = 37; TWPro.twpro_jobValues["float"] = {}; TWPro.twpro_jobValues["float"].erfahrung = 45; TWPro.twpro_jobValues["float"].lohn = 23; TWPro.twpro_jobValues["float"].glueck = 0; TWPro.twpro_jobValues["float"].gefahr = 52; TWPro.twpro_jobValues.bridge = {}; TWPro.twpro_jobValues.bridge.erfahrung = 33; TWPro.twpro_jobValues.bridge.lohn = 17; TWPro.twpro_jobValues.bridge.glueck = 18; TWPro.twpro_jobValues.bridge.gefahr = 53; TWPro.twpro_jobValues.springe = {}; TWPro.twpro_jobValues.springe.erfahrung = 45; TWPro.twpro_jobValues.springe.lohn = 29; TWPro.twpro_jobValues.springe.glueck = 0; TWPro.twpro_jobValues.springe.gefahr = 42; TWPro.twpro_jobValues.coffin = {}; TWPro.twpro_jobValues.coffin.erfahrung = 8; TWPro.twpro_jobValues.coffin.lohn = 42; TWPro.twpro_jobValues.coffin.glueck = 15; TWPro.twpro_jobValues.coffin.gefahr = 20; TWPro.twpro_jobValues.dynamite = {}; TWPro.twpro_jobValues.dynamite.erfahrung = 12; TWPro.twpro_jobValues.dynamite.lohn = 23; TWPro.twpro_jobValues.dynamite.glueck = 64; TWPro.twpro_jobValues.dynamite.gefahr = 93; TWPro.twpro_jobValues.coyote = {}; TWPro.twpro_jobValues.coyote.erfahrung = 43; TWPro.twpro_jobValues.coyote.lohn = 15; TWPro.twpro_jobValues.coyote.glueck = 26; TWPro.twpro_jobValues.coyote.gefahr = 45; TWPro.twpro_jobValues.buffalo = {}; TWPro.twpro_jobValues.buffalo.erfahrung = 62; TWPro.twpro_jobValues.buffalo.lohn = 24; TWPro.twpro_jobValues.buffalo.glueck = 0; TWPro.twpro_jobValues.buffalo.gefahr = 72; TWPro.twpro_jobValues.fort = {}; TWPro.twpro_jobValues.fort.erfahrung = 71; TWPro.twpro_jobValues.fort.lohn = 33; TWPro.twpro_jobValues.fort.glueck = 17; TWPro.twpro_jobValues.fort.gefahr = 35; TWPro.twpro_jobValues.indians = {}; TWPro.twpro_jobValues.indians.erfahrung = 14; TWPro.twpro_jobValues.indians.lohn = 11; TWPro.twpro_jobValues.indians.glueck = 63; TWPro.twpro_jobValues.indians.gefahr = 34; TWPro.twpro_jobValues.clearing = {}; TWPro.twpro_jobValues.clearing.erfahrung = 8; TWPro.twpro_jobValues.clearing.lohn = 62; TWPro.twpro_jobValues.clearing.glueck = 9; TWPro.twpro_jobValues.clearing.gefahr = 16; TWPro.twpro_jobValues.silver = {}; TWPro.twpro_jobValues.silver.erfahrung = 8; TWPro.twpro_jobValues.silver.lohn = 76; TWPro.twpro_jobValues.silver.glueck = 0; TWPro.twpro_jobValues.silver.gefahr = 32; TWPro.twpro_jobValues.diligence_guard = {}; TWPro.twpro_jobValues.diligence_guard.erfahrung = 77; TWPro.twpro_jobValues.diligence_guard.lohn = 34; TWPro.twpro_jobValues.diligence_guard.glueck = 45; TWPro.twpro_jobValues.diligence_guard.gefahr = 43; TWPro.twpro_jobValues.wolf = {}; TWPro.twpro_jobValues.wolf.erfahrung = 63; TWPro.twpro_jobValues.wolf.lohn = 21; TWPro.twpro_jobValues.wolf.glueck = 15; TWPro.twpro_jobValues.wolf.gefahr = 67; TWPro.twpro_jobValues.track = {}; TWPro.twpro_jobValues.track.erfahrung = 60; TWPro.twpro_jobValues.track.lohn = 10; TWPro.twpro_jobValues.track.glueck = 30; TWPro.twpro_jobValues.track.gefahr = 33; TWPro.twpro_jobValues.ox = {}; TWPro.twpro_jobValues.ox.erfahrung = 34; TWPro.twpro_jobValues.ox.lohn = 64; TWPro.twpro_jobValues.ox.glueck = 18; TWPro.twpro_jobValues.ox.gefahr = 43; TWPro.twpro_jobValues.guard = {}; TWPro.twpro_jobValues.guard.erfahrung = 35; TWPro.twpro_jobValues.guard.lohn = 25; TWPro.twpro_jobValues.guard.glueck = 38; TWPro.twpro_jobValues.guard.gefahr = 4; TWPro.twpro_jobValues.bible = {}; TWPro.twpro_jobValues.bible.erfahrung = 61; TWPro.twpro_jobValues.bible.lohn = 5; TWPro.twpro_jobValues.bible.glueck = 52; TWPro.twpro_jobValues.bible.gefahr = 77; TWPro.twpro_jobValues.ponyexpress = {}; TWPro.twpro_jobValues.ponyexpress.erfahrung = 48; TWPro.twpro_jobValues.ponyexpress.lohn = 15; TWPro.twpro_jobValues.ponyexpress.glueck = 51; TWPro.twpro_jobValues.ponyexpress.gefahr = 44; TWPro.twpro_jobValues.weapons = {}; TWPro.twpro_jobValues.weapons.erfahrung = 35; TWPro.twpro_jobValues.weapons.lohn = 15; TWPro.twpro_jobValues.weapons.glueck = 72; TWPro.twpro_jobValues.weapons.gefahr = 82; TWPro.twpro_jobValues.dead = {}; TWPro.twpro_jobValues.dead.erfahrung = 14; TWPro.twpro_jobValues.dead.lohn = 14; TWPro.twpro_jobValues.dead.glueck = 90; TWPro.twpro_jobValues.dead.gefahr = 34; TWPro.twpro_jobValues.grizzly = {}; TWPro.twpro_jobValues.grizzly.erfahrung = 78; TWPro.twpro_jobValues.grizzly.lohn = 25; TWPro.twpro_jobValues.grizzly.glueck = 35; TWPro.twpro_jobValues.grizzly.gefahr = 71; TWPro.twpro_jobValues.oil = {}; TWPro.twpro_jobValues.oil.erfahrung = 25; TWPro.twpro_jobValues.oil.lohn = 83; TWPro.twpro_jobValues.oil.glueck = 20; TWPro.twpro_jobValues.oil.gefahr = 7; TWPro.twpro_jobValues.treasure_hunting = {}; TWPro.twpro_jobValues.treasure_hunting.erfahrung = 20; TWPro.twpro_jobValues.treasure_hunting.lohn = 20; TWPro.twpro_jobValues.treasure_hunting.glueck = 83; TWPro.twpro_jobValues.treasure_hunting.gefahr = 24; TWPro.twpro_jobValues.army = {}; TWPro.twpro_jobValues.army.erfahrung = 76; TWPro.twpro_jobValues.army.lohn = 55; TWPro.twpro_jobValues.army.glueck = 17; TWPro.twpro_jobValues.army.gefahr = 35; TWPro.twpro_jobValues.steal = {}; TWPro.twpro_jobValues.steal.erfahrung = 50; TWPro.twpro_jobValues.steal.lohn = 48; TWPro.twpro_jobValues.steal.glueck = 74; TWPro.twpro_jobValues.steal.gefahr = 66; TWPro.twpro_jobValues.mercenary = {}; TWPro.twpro_jobValues.mercenary.erfahrung = 52; TWPro.twpro_jobValues.mercenary.lohn = 92; TWPro.twpro_jobValues.mercenary.glueck = 23; TWPro.twpro_jobValues.mercenary.gefahr = 65; TWPro.twpro_jobValues.bandits = {}; TWPro.twpro_jobValues.bandits.erfahrung = 75; TWPro.twpro_jobValues.bandits.lohn = 28; TWPro.twpro_jobValues.bandits.glueck = 85; TWPro.twpro_jobValues.bandits.gefahr = 83; TWPro.twpro_jobValues.aggression = {}; TWPro.twpro_jobValues.aggression.erfahrung = 27; TWPro.twpro_jobValues.aggression.lohn = 78; TWPro.twpro_jobValues.aggression.glueck = 78; TWPro.twpro_jobValues.aggression.gefahr = 86; TWPro.twpro_jobValues.diligence_aggression = {}; TWPro.twpro_jobValues.diligence_aggression.erfahrung = 73; TWPro.twpro_jobValues.diligence_aggression.lohn = 43; TWPro.twpro_jobValues.diligence_aggression.glueck = 95; TWPro.twpro_jobValues.diligence_aggression.gefahr = 67; TWPro.twpro_jobValues.bounty = {}; TWPro.twpro_jobValues.bounty.erfahrung = 32; TWPro.twpro_jobValues.bounty.lohn = 92; TWPro.twpro_jobValues.bounty.glueck = 79; TWPro.twpro_jobValues.bounty.gefahr = 72; TWPro.twpro_jobValues.captured = {}; TWPro.twpro_jobValues.captured.erfahrung = 69; TWPro.twpro_jobValues.captured.lohn = 23; TWPro.twpro_jobValues.captured.glueck = 85; TWPro.twpro_jobValues.captured.gefahr = 44; TWPro.twpro_jobValues.train = {}; TWPro.twpro_jobValues.train.erfahrung = 87; TWPro.twpro_jobValues.train.lohn = 67; TWPro.twpro_jobValues.train.glueck = 92; TWPro.twpro_jobValues.train.gefahr = 96; TWPro.twpro_jobValues.burglary = {}; TWPro.twpro_jobValues.burglary.erfahrung = 34; TWPro.twpro_jobValues.burglary.lohn = 80; TWPro.twpro_jobValues.burglary.glueck = 81; TWPro.twpro_jobValues.burglary.gefahr = 26; TWPro.twpro_jobValues.quackery = {}; TWPro.twpro_jobValues.quackery.erfahrung = 50; TWPro.twpro_jobValues.quackery.lohn = 65; TWPro.twpro_jobValues.quackery.glueck = 52; TWPro.twpro_jobValues.quackery.gefahr = 67; TWPro.twpro_jobValues.peace = {}; TWPro.twpro_jobValues.peace.erfahrung = 68; TWPro.twpro_jobValues.peace.lohn = 33; TWPro.twpro_jobValues.peace.glueck = 76; TWPro.twpro_jobValues.peace.gefahr = 44; TWPro.twpro_jobValues.ship = {}; TWPro.twpro_jobValues.ship.erfahrung = 35; TWPro.twpro_jobValues.ship.lohn = 82; TWPro.twpro_jobValues.ship.glueck = 15; TWPro.twpro_jobValues.ship.gefahr = 14; TWPro.twpro_jobValues.smuggle = {}; TWPro.twpro_jobValues.smuggle.erfahrung = 45; TWPro.twpro_jobValues.smuggle.lohn = 62; TWPro.twpro_jobValues.smuggle.glueck = 83; TWPro.twpro_jobValues.smuggle.gefahr = 56; TWPro.twpro_jobValues.ranch = {}; TWPro.twpro_jobValues.ranch.erfahrung = 61; TWPro.twpro_jobValues.ranch.lohn = 28; TWPro.twpro_jobValues.ranch.glueck = 17; TWPro.twpro_jobValues.ranch.gefahr = 24; TWPro.twpro_jobValues.iron = {}; TWPro.twpro_jobValues.iron.erfahrung = 32; TWPro.twpro_jobValues.iron.lohn = 52; TWPro.twpro_jobValues.iron.glueck = 15; TWPro.twpro_jobValues.iron.gefahr = 29; TWPro.twpro_jobValues.agave = {}; TWPro.twpro_jobValues.agave.erfahrung = 42; TWPro.twpro_jobValues.agave.lohn = 25; TWPro.twpro_jobValues.agave.glueck = 12; TWPro.twpro_jobValues.agave.gefahr = 27; TWPro.twpro_jobValues.tomato = {}; TWPro.twpro_jobValues.tomato.erfahrung = 12; TWPro.twpro_jobValues.tomato.lohn = 13; TWPro.twpro_jobValues.tomato.glueck = 7; TWPro.twpro_jobValues.tomato.gefahr = 11; TWPro.twpro_jobValues.horseshoe = {}; TWPro.twpro_jobValues.horseshoe.erfahrung = 28; TWPro.twpro_jobValues.horseshoe.lohn = 14; TWPro.twpro_jobValues.horseshoe.glueck = 9; TWPro.twpro_jobValues.horseshoe.gefahr = 23; TWPro.twpro_jobValues.fire = {}; TWPro.twpro_jobValues.fire.erfahrung = 41; TWPro.twpro_jobValues.fire.lohn = 15; TWPro.twpro_jobValues.fire.glueck = 65; TWPro.twpro_jobValues.fire.gefahr = 45; TWPro.twpro_jobValues.orange = {}; TWPro.twpro_jobValues.orange.erfahrung = 25; TWPro.twpro_jobValues.orange.lohn = 14; TWPro.twpro_jobValues.orange.glueck = 10; TWPro.twpro_jobValues.orange.gefahr = 21; TWPro.twpro_jobValues.muck_out = {}; TWPro.twpro_jobValues.muck_out.erfahrung = 5; TWPro.twpro_jobValues.muck_out.lohn = 4; TWPro.twpro_jobValues.muck_out.glueck = 2; TWPro.twpro_jobValues.muck_out.gefahr = 6; TWPro.twpro_jobValues.shoes = {}; TWPro.twpro_jobValues.shoes.erfahrung = 2; TWPro.twpro_jobValues.shoes.lohn = 3; TWPro.twpro_jobValues.shoes.glueck = 3; TWPro.twpro_jobValues.shoes.gefahr = 2; TWPro.twpro_jobValues.socks_darn = {}; TWPro.twpro_jobValues.socks_darn.erfahrung = 4; TWPro.twpro_jobValues.socks_darn.lohn = 1; TWPro.twpro_jobValues.socks_darn.glueck = 0; TWPro.twpro_jobValues.socks_darn.gefahr = 0; TWPro.twpro_jobValues.potatoe = {}; TWPro.twpro_jobValues.potatoe.erfahrung = 53; TWPro.twpro_jobValues.potatoe.lohn = 8; TWPro.twpro_jobValues.potatoe.glueck = 5; TWPro.twpro_jobValues.potatoe.gefahr = 5; TWPro.twpro_jobValues.feed_animal = {}; TWPro.twpro_jobValues.feed_animal.erfahrung = 60; TWPro.twpro_jobValues.feed_animal.lohn = 17; TWPro.twpro_jobValues.feed_animal.glueck = 10; TWPro.twpro_jobValues.feed_animal.gefahr = 20; TWPro.twpro_jobValues.pumpkin = {}; TWPro.twpro_jobValues.pumpkin.erfahrung = 45; TWPro.twpro_jobValues.pumpkin.lohn = 45; TWPro.twpro_jobValues.pumpkin.glueck = 10; TWPro.twpro_jobValues.pumpkin.gefahr = 10; TWPro.twpro_jobValues.blueberries = {}; TWPro.twpro_jobValues.blueberries.erfahrung = 35; TWPro.twpro_jobValues.blueberries.lohn = 52; TWPro.twpro_jobValues.blueberries.glueck = 35; TWPro.twpro_jobValues.blueberries.gefahr = 15; TWPro.twpro_jobValues.plant_trees = {}; TWPro.twpro_jobValues.plant_trees.erfahrung = 25; TWPro.twpro_jobValues.plant_trees.lohn = 34; TWPro.twpro_jobValues.plant_trees.glueck = 54; TWPro.twpro_jobValues.plant_trees.gefahr = 25; TWPro.twpro_jobValues.gather_feathers = {}; TWPro.twpro_jobValues.gather_feathers.erfahrung = 23; TWPro.twpro_jobValues.gather_feathers.lohn = 47; TWPro.twpro_jobValues.gather_feathers.glueck = 60; TWPro.twpro_jobValues.gather_feathers.gefahr = 15; TWPro.twpro_jobValues.lotus_gathering = {}; TWPro.twpro_jobValues.lotus_gathering.erfahrung = 45; TWPro.twpro_jobValues.lotus_gathering.lohn = 54; TWPro.twpro_jobValues.lotus_gathering.glueck = 35; TWPro.twpro_jobValues.lotus_gathering.gefahr = 20; TWPro.twpro_jobValues.crab_hunting = {}; TWPro.twpro_jobValues.crab_hunting.erfahrung = 56; TWPro.twpro_jobValues.crab_hunting.lohn = 67; TWPro.twpro_jobValues.crab_hunting.glueck = 35; TWPro.twpro_jobValues.crab_hunting.gefahr = 12; TWPro.twpro_jobValues.teaching = {}; TWPro.twpro_jobValues.teaching.erfahrung = 79; TWPro.twpro_jobValues.teaching.lohn = 54; TWPro.twpro_jobValues.teaching.glueck = 5; TWPro.twpro_jobValues.teaching.gefahr = 23; TWPro.twpro_jobValues.sheriff_work = {}; TWPro.twpro_jobValues.sheriff_work.erfahrung = 76; TWPro.twpro_jobValues.sheriff_work.lohn = 67; TWPro.twpro_jobValues.sheriff_work.glueck = 56; TWPro.twpro_jobValues.sheriff_work.gefahr = 45; TWPro.twpro_jobValues.sulfur_gathering = {}; TWPro.twpro_jobValues.sulfur_gathering.erfahrung = 34; TWPro.twpro_jobValues.sulfur_gathering.lohn = 76; TWPro.twpro_jobValues.sulfur_gathering.glueck = 78; TWPro.twpro_jobValues.sulfur_gathering.gefahr = 32; TWPro.twpro_jobValues.wildwater = {}; TWPro.twpro_jobValues.wildwater.erfahrung = 74; TWPro.twpro_jobValues.wildwater.lohn = 84; TWPro.twpro_jobValues.wildwater.glueck = 30; TWPro.twpro_jobValues.wildwater.gefahr = 57; TWPro.twpro_jobValues.gambler = {}; TWPro.twpro_jobValues.gambler.erfahrung = 57; TWPro.twpro_jobValues.gambler.lohn = 67; TWPro.twpro_jobValues.gambler.glueck = 69; TWPro.twpro_jobValues.gambler.gefahr = 63; TWPro.twpro_jobValues.rattlesnake = {}; TWPro.twpro_jobValues.rattlesnake.erfahrung = 46; TWPro.twpro_jobValues.rattlesnake.lohn = 72; TWPro.twpro_jobValues.rattlesnake.glueck = 71; TWPro.twpro_jobValues.rattlesnake.gefahr = 73; TWPro.twpro_jobValues.salpeter_gathering = {}; TWPro.twpro_jobValues.salpeter_gathering.erfahrung = 53; TWPro.twpro_jobValues.salpeter_gathering.lohn = 62; TWPro.twpro_jobValues.salpeter_gathering.glueck = 58; TWPro.twpro_jobValues.salpeter_gathering.gefahr = 27; TWPro.twpro_jobValues.horse_transport = {}; TWPro.twpro_jobValues.horse_transport.erfahrung = 82; TWPro.twpro_jobValues.horse_transport.lohn = 66; TWPro.twpro_jobValues.horse_transport.glueck = 69; TWPro.twpro_jobValues.horse_transport.gefahr = 48; TWPro.twpro_jobValues.rodeo = {}; TWPro.twpro_jobValues.rodeo.erfahrung = 56; TWPro.twpro_jobValues.rodeo.lohn = 76; TWPro.twpro_jobValues.rodeo.glueck = 69; TWPro.twpro_jobValues.rodeo.gefahr = 78; TWPro.twpro_jobValues.travelling_salesman = {}; TWPro.twpro_jobValues.travelling_salesman.erfahrung = 46; TWPro.twpro_jobValues.travelling_salesman.lohn = 59; TWPro.twpro_jobValues.travelling_salesman.glueck = 97; TWPro.twpro_jobValues.travelling_salesman.gefahr = 67; TWPro.twpro_jobValues.con_artist = {}; TWPro.twpro_jobValues.con_artist.erfahrung = 89; TWPro.twpro_jobValues.con_artist.lohn = 78; TWPro.twpro_jobValues.con_artist.glueck = 35; TWPro.twpro_jobValues.con_artist.gefahr = 83; TWPro.twpro_jobValues.cougar = {}; TWPro.twpro_jobValues.cougar.erfahrung = 89; TWPro.twpro_jobValues.cougar.lohn = 46; TWPro.twpro_jobValues.cougar.glueck = 39; TWPro.twpro_jobValues.cougar.gefahr = 93; TWPro.twpro_jobValues.alcohol = {}; TWPro.twpro_jobValues.alcohol.erfahrung = 91; TWPro.twpro_jobValues.alcohol.lohn = 74; TWPro.twpro_jobValues.alcohol.glueck = 34; TWPro.twpro_jobValues.alcohol.gefahr = 56; TWPro.twpro_jobValues.lead_gathering = {}; TWPro.twpro_jobValues.lead_gathering.erfahrung = 72; TWPro.twpro_jobValues.lead_gathering.lohn = 89; TWPro.twpro_jobValues.lead_gathering.glueck = 22; TWPro.twpro_jobValues.lead_gathering.gefahr = 72; TWPro.twpro_jobValues.gem_gathering = {}; TWPro.twpro_jobValues.gem_gathering.erfahrung = 78; TWPro.twpro_jobValues.gem_gathering.lohn = 91; TWPro.twpro_jobValues.gem_gathering.glueck = 23; TWPro.twpro_jobValues.gem_gathering.gefahr = 77; TWPro.twpro_jobValues.mission = {}; TWPro.twpro_jobValues.mission.erfahrung = 82; TWPro.twpro_jobValues.mission.lohn = 92; TWPro.twpro_jobValues.mission.glueck = 54; TWPro.twpro_jobValues.mission.gefahr = 38; TWPro.twpro_jobValues.casino = {}; TWPro.twpro_jobValues.casino.erfahrung = 92; TWPro.twpro_jobValues.casino.lohn = 78; TWPro.twpro_jobValues.casino.glueck = 23; TWPro.twpro_jobValues.casino.gefahr = 47; TWPro.twpro_jobValues.marshall = {}; TWPro.twpro_jobValues.marshall.erfahrung = 90; TWPro.twpro_jobValues.marshall.lohn = 87; TWPro.twpro_jobValues.marshall.glueck = 60; TWPro.twpro_jobValues.marshall.gefahr = 94; TWPro.twpro_jobValues.shatter_gang = {}; TWPro.twpro_jobValues.shatter_gang.erfahrung = 70; TWPro.twpro_jobValues.shatter_gang.lohn = 84; TWPro.twpro_jobValues.shatter_gang.glueck = 89; TWPro.twpro_jobValues.shatter_gang.gefahr = 99; TWPro.twpro_jobValues.bankrobbery = {}; TWPro.twpro_jobValues.bankrobbery.erfahrung = 84; TWPro.twpro_jobValues.bankrobbery.lohn = 93; TWPro.twpro_jobValues.bankrobbery.glueck = 30; TWPro.twpro_jobValues.bankrobbery.gefahr = 89; TWPro.twpro_jobValues.free_slaves = {}; TWPro.twpro_jobValues.free_slaves.erfahrung = 93; TWPro.twpro_jobValues.free_slaves.lohn = 84; TWPro.twpro_jobValues.free_slaves.glueck = 28; TWPro.twpro_jobValues.free_slaves.gefahr = 92; TWPro.twpro_jobValues.buffelo_bill = {}; TWPro.twpro_jobValues.buffelo_bill.erfahrung = 94; TWPro.twpro_jobValues.buffelo_bill.lohn = 92; TWPro.twpro_jobValues.buffelo_bill.glueck = 65; TWPro.twpro_jobValues.buffelo_bill.gefahr = 70; extra_jobs = ['construct', 'duelshootingatt', 'duelshootingdef', 'duelvigor', 'fortatt', 'fortdef', 'speed', 'regeneration']; for(var i=0; i<extra_jobs.length; i++){ TWPro.twpro_jobValues[extra_jobs[i]] = {'erfahrung':-1, 'lohn':-6, 'glueck':-6, 'gefahr':-1}; } } TWPro.twpro_setBonusParsed = false; // Setitems { TWPro.twpro_setBonus = {}; TWPro.twpro_setBonus.set_sleeper = []; TWPro.twpro_setBonus.set_sleeper[1] = {image:"images/items/head/mini/sleep_cap.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_sleeper[2] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_sleeper[3] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_sleeper[4] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_sleeper[5] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_sleeper[6] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.season_set = []; TWPro.twpro_setBonus.season_set[1] = {image:"images/items/yield/mini/dfgrocket1a.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.season_set[2] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:2}; TWPro.twpro_setBonus.season_set[3] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:6}; TWPro.twpro_setBonus.season_set[4] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:15}; TWPro.twpro_setBonus.season_set[5] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:25}; TWPro.twpro_setBonus.season_set[6] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:37}; TWPro.twpro_setBonus.season_set[7] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:52}; TWPro.twpro_setBonus.season_set[8] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:0}; TWPro.twpro_setBonus.season_set[9] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:0}; TWPro.twpro_setBonus.season_set[10] = {bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{},luckBonus:0}; TWPro.twpro_setBonus.set_indian = []; TWPro.twpro_setBonus.set_indian[1] = {image:"images/items/head/mini/indian_hat.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_indian[2] = {}; TWPro.twpro_setBonus.set_indian[2].bonus = {}; TWPro.twpro_setBonus.set_indian[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_indian[2].bonus.attributes.flexibility = 2; TWPro.twpro_setBonus.set_indian[2].bonus.skills = {}; TWPro.twpro_setBonus.set_indian[2].bonus.skills.hide = 8; TWPro.twpro_setBonus.set_indian[2].jobBonus = {}; TWPro.twpro_setBonus.set_indian[2].jobBonus.all = 0; TWPro.twpro_setBonus.set_indian[2].jobBonus.coyote = 30; TWPro.twpro_setBonus.set_indian[2].speedBonus = 15; TWPro.twpro_setBonus.set_indian[2].parsedBonus = {}; TWPro.twpro_setBonus.set_indian[3] = {}; TWPro.twpro_setBonus.set_indian[3].bonus = {}; TWPro.twpro_setBonus.set_indian[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_indian[3].bonus.attributes.flexibility = 5; TWPro.twpro_setBonus.set_indian[3].bonus.skills = {}; TWPro.twpro_setBonus.set_indian[3].bonus.skills.hide = 8; TWPro.twpro_setBonus.set_indian[3].bonus.skills.swim = 8; TWPro.twpro_setBonus.set_indian[3].jobBonus = {}; TWPro.twpro_setBonus.set_indian[3].jobBonus.all = 0; TWPro.twpro_setBonus.set_indian[3].jobBonus.coyote = 30; TWPro.twpro_setBonus.set_indian[3].jobBonus.buffalo = 40; TWPro.twpro_setBonus.set_indian[3].speedBonus = 30; TWPro.twpro_setBonus.set_indian[3].parsedBonus = {}; TWPro.twpro_setBonus.set_indian[4] = {}; TWPro.twpro_setBonus.set_indian[4].bonus = {}; TWPro.twpro_setBonus.set_indian[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_indian[4].bonus.attributes.flexibility = 8; TWPro.twpro_setBonus.set_indian[4].bonus.skills = {}; TWPro.twpro_setBonus.set_indian[4].bonus.skills.hide = 8; TWPro.twpro_setBonus.set_indian[4].bonus.skills.swim = 8; TWPro.twpro_setBonus.set_indian[4].bonus.skills.pitfall = 8; TWPro.twpro_setBonus.set_indian[4].jobBonus = {}; TWPro.twpro_setBonus.set_indian[4].jobBonus.all = 0; TWPro.twpro_setBonus.set_indian[4].jobBonus.coyote = 30; TWPro.twpro_setBonus.set_indian[4].jobBonus.buffalo = 40; TWPro.twpro_setBonus.set_indian[4].jobBonus.wolf = 50; TWPro.twpro_setBonus.set_indian[4].speedBonus = 45;/////////////////// The West shows 44%, but in reality, the speed is 45%!!! TWPro.twpro_setBonus.set_indian[4].parsedBonus = {}; TWPro.twpro_setBonus.set_indian[5] = {}; TWPro.twpro_setBonus.set_indian[5].bonus = {}; TWPro.twpro_setBonus.set_indian[5].bonus.attributes = {}; TWPro.twpro_setBonus.set_indian[5].bonus.attributes.flexibility = 12; TWPro.twpro_setBonus.set_indian[5].bonus.skills = {}; TWPro.twpro_setBonus.set_indian[5].bonus.skills.hide = 8; TWPro.twpro_setBonus.set_indian[5].bonus.skills.swim = 8; TWPro.twpro_setBonus.set_indian[5].bonus.skills.pitfall = 8; TWPro.twpro_setBonus.set_indian[5].bonus.skills.animal = 8; TWPro.twpro_setBonus.set_indian[5].jobBonus = {}; TWPro.twpro_setBonus.set_indian[5].jobBonus.all = 0; TWPro.twpro_setBonus.set_indian[5].jobBonus.coyote = 30; TWPro.twpro_setBonus.set_indian[5].jobBonus.buffalo = 40; TWPro.twpro_setBonus.set_indian[5].jobBonus.wolf = 50; TWPro.twpro_setBonus.set_indian[5].jobBonus.grizzly = 60; TWPro.twpro_setBonus.set_indian[5].speedBonus = 60; TWPro.twpro_setBonus.set_indian[5].parsedBonus = {}; TWPro.twpro_setBonus.set_gentleman = []; TWPro.twpro_setBonus.set_gentleman[1] = {image:"images/items/yield/mini/cane.png",gender:"male",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_gentleman[2] = {}; TWPro.twpro_setBonus.set_gentleman[2].bonus = {}; TWPro.twpro_setBonus.set_gentleman[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_gentleman[2].bonus.attributes.charisma = 1; TWPro.twpro_setBonus.set_gentleman[2].bonus.skills = {}; TWPro.twpro_setBonus.set_gentleman[2].bonus.skills.appearance = 8; TWPro.twpro_setBonus.set_gentleman[2].jobBonus = {}; TWPro.twpro_setBonus.set_gentleman[2].jobBonus.all = 5; TWPro.twpro_setBonus.set_gentleman[2].speedBonus = 0; TWPro.twpro_setBonus.set_gentleman[2].parsedBonus = {}; TWPro.twpro_setBonus.set_gentleman[3] = {}; TWPro.twpro_setBonus.set_gentleman[3].bonus = {}; TWPro.twpro_setBonus.set_gentleman[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_gentleman[3].bonus.attributes.charisma = 3; TWPro.twpro_setBonus.set_gentleman[3].bonus.skills = {}; TWPro.twpro_setBonus.set_gentleman[3].bonus.skills.leadership = 8; TWPro.twpro_setBonus.set_gentleman[3].bonus.skills.appearance = 8; TWPro.twpro_setBonus.set_gentleman[3].jobBonus = {}; TWPro.twpro_setBonus.set_gentleman[3].jobBonus.all = 15; TWPro.twpro_setBonus.set_gentleman[3].speedBonus = 0; TWPro.twpro_setBonus.set_gentleman[3].parsedBonus = {}; TWPro.twpro_setBonus.set_gentleman[4] = {}; TWPro.twpro_setBonus.set_gentleman[4].bonus = {}; TWPro.twpro_setBonus.set_gentleman[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_gentleman[4].bonus.attributes.charisma = 6; TWPro.twpro_setBonus.set_gentleman[4].bonus.skills = {}; TWPro.twpro_setBonus.set_gentleman[4].bonus.skills.leadership = 8; TWPro.twpro_setBonus.set_gentleman[4].bonus.skills.trade = 8; TWPro.twpro_setBonus.set_gentleman[4].bonus.skills.appearance = 8; TWPro.twpro_setBonus.set_gentleman[4].jobBonus = {}; TWPro.twpro_setBonus.set_gentleman[4].jobBonus.all = 30; TWPro.twpro_setBonus.set_gentleman[4].speedBonus = 0; TWPro.twpro_setBonus.set_gentleman[4].parsedBonus = {}; TWPro.twpro_setBonus.set_gentleman[5] = {}; TWPro.twpro_setBonus.set_gentleman[5].bonus = {}; TWPro.twpro_setBonus.set_gentleman[5].bonus.attributes = {}; TWPro.twpro_setBonus.set_gentleman[5].bonus.attributes.charisma = 10; TWPro.twpro_setBonus.set_gentleman[5].bonus.skills = {}; TWPro.twpro_setBonus.set_gentleman[5].bonus.skills.leadership = 8; TWPro.twpro_setBonus.set_gentleman[5].bonus.skills.trade = 8; TWPro.twpro_setBonus.set_gentleman[5].bonus.skills.appearance = 16; TWPro.twpro_setBonus.set_gentleman[5].jobBonus = {}; TWPro.twpro_setBonus.set_gentleman[5].jobBonus.all = 50; TWPro.twpro_setBonus.set_gentleman[5].speedBonus = 0; TWPro.twpro_setBonus.set_gentleman[5].parsedBonus = {}; TWPro.twpro_setBonus.set_dancer = []; TWPro.twpro_setBonus.set_dancer[1] = {image:"images/items/yield/mini/umbrella.png",gender:"female",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_dancer[2] = {}; TWPro.twpro_setBonus.set_dancer[2].bonus = {}; TWPro.twpro_setBonus.set_dancer[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_dancer[2].bonus.attributes.charisma = 2; TWPro.twpro_setBonus.set_dancer[2].bonus.skills = {}; TWPro.twpro_setBonus.set_dancer[2].bonus.skills.appearance = 10; TWPro.twpro_setBonus.set_dancer[2].jobBonus = {}; TWPro.twpro_setBonus.set_dancer[2].jobBonus.all = 5; TWPro.twpro_setBonus.set_dancer[2].speedBonus = 0; TWPro.twpro_setBonus.set_dancer[2].parsedBonus = {}; TWPro.twpro_setBonus.set_dancer[3] = {}; TWPro.twpro_setBonus.set_dancer[3].bonus = {}; TWPro.twpro_setBonus.set_dancer[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_dancer[3].bonus.attributes.charisma = 5; TWPro.twpro_setBonus.set_dancer[3].bonus.skills = {}; TWPro.twpro_setBonus.set_dancer[3].bonus.skills.animal = 10; TWPro.twpro_setBonus.set_dancer[3].bonus.skills.appearance = 10; TWPro.twpro_setBonus.set_dancer[3].jobBonus = {}; TWPro.twpro_setBonus.set_dancer[3].jobBonus.all = 15; TWPro.twpro_setBonus.set_dancer[3].speedBonus = 0; TWPro.twpro_setBonus.set_dancer[3].parsedBonus = {}; TWPro.twpro_setBonus.set_dancer[4] = {}; TWPro.twpro_setBonus.set_dancer[4].bonus = {}; TWPro.twpro_setBonus.set_dancer[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_dancer[4].bonus.attributes.charisma = 9; TWPro.twpro_setBonus.set_dancer[4].bonus.skills = {}; TWPro.twpro_setBonus.set_dancer[4].bonus.skills.finger_dexterity = 12; TWPro.twpro_setBonus.set_dancer[4].bonus.skills.animal = 10; TWPro.twpro_setBonus.set_dancer[4].bonus.skills.appearance = 10; TWPro.twpro_setBonus.set_dancer[4].jobBonus = {}; TWPro.twpro_setBonus.set_dancer[4].jobBonus.all = 30; TWPro.twpro_setBonus.set_dancer[4].speedBonus = 0; TWPro.twpro_setBonus.set_dancer[4].parsedBonus = {}; TWPro.twpro_setBonus.set_dancer[5] = {}; TWPro.twpro_setBonus.set_dancer[5].bonus = {}; TWPro.twpro_setBonus.set_dancer[5].bonus.attributes = {}; TWPro.twpro_setBonus.set_dancer[5].bonus.attributes.charisma = 11; TWPro.twpro_setBonus.set_dancer[5].bonus.skills = {}; TWPro.twpro_setBonus.set_dancer[5].bonus.skills.finger_dexterity = 12; TWPro.twpro_setBonus.set_dancer[5].bonus.skills.endurance = 6; TWPro.twpro_setBonus.set_dancer[5].bonus.skills.animal = 10; TWPro.twpro_setBonus.set_dancer[5].bonus.skills.appearance = 16; TWPro.twpro_setBonus.set_dancer[5].jobBonus = {}; TWPro.twpro_setBonus.set_dancer[5].jobBonus.all = 50; TWPro.twpro_setBonus.set_dancer[5].speedBonus = 0; TWPro.twpro_setBonus.set_dancer[5].parsedBonus = {}; TWPro.twpro_setBonus.set_quackery = []; TWPro.twpro_setBonus.set_quackery[1] = {image:"images/items/yield/mini/potion.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_quackery[2] = {}; TWPro.twpro_setBonus.set_quackery[2].bonus = {}; TWPro.twpro_setBonus.set_quackery[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_quackery[2].bonus.attributes.dexterity = 1; TWPro.twpro_setBonus.set_quackery[2].bonus.skills = {}; TWPro.twpro_setBonus.set_quackery[2].bonus.skills.endurance = 5; TWPro.twpro_setBonus.set_quackery[2].bonus.skills.trade = 5; TWPro.twpro_setBonus.set_quackery[2].jobBonus = {}; TWPro.twpro_setBonus.set_quackery[2].jobBonus.all = 0; TWPro.twpro_setBonus.set_quackery[2].jobBonus.quackery = 30; TWPro.twpro_setBonus.set_quackery[2].speedBonus = 0; TWPro.twpro_setBonus.set_quackery[2].parsedBonus = {}; TWPro.twpro_setBonus.set_quackery[3] = {}; TWPro.twpro_setBonus.set_quackery[3].bonus = {}; TWPro.twpro_setBonus.set_quackery[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_quackery[3].bonus.attributes.dexterity = 2; TWPro.twpro_setBonus.set_quackery[3].bonus.skills = {}; TWPro.twpro_setBonus.set_quackery[3].bonus.skills.endurance = 10; TWPro.twpro_setBonus.set_quackery[3].bonus.skills.trade = 10; TWPro.twpro_setBonus.set_quackery[3].jobBonus = {}; TWPro.twpro_setBonus.set_quackery[3].jobBonus.all = 0; TWPro.twpro_setBonus.set_quackery[3].jobBonus.quackery = 60; TWPro.twpro_setBonus.set_quackery[3].speedBonus = 0; TWPro.twpro_setBonus.set_quackery[3].parsedBonus = {}; TWPro.twpro_setBonus.set_quackery[4] = {}; TWPro.twpro_setBonus.set_quackery[4].bonus = {}; TWPro.twpro_setBonus.set_quackery[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_quackery[4].bonus.attributes.dexterity = 4; TWPro.twpro_setBonus.set_quackery[4].bonus.skills = {}; TWPro.twpro_setBonus.set_quackery[4].bonus.skills.endurance = 15; TWPro.twpro_setBonus.set_quackery[4].bonus.skills.trade = 15; TWPro.twpro_setBonus.set_quackery[4].jobBonus = {}; TWPro.twpro_setBonus.set_quackery[4].jobBonus.all = 0; TWPro.twpro_setBonus.set_quackery[4].jobBonus.quackery = 90; TWPro.twpro_setBonus.set_quackery[4].speedBonus = 0; TWPro.twpro_setBonus.set_quackery[4].parsedBonus = {}; TWPro.twpro_setBonus.set_quackery[5] = {}; TWPro.twpro_setBonus.set_quackery[5].bonus = {}; TWPro.twpro_setBonus.set_quackery[5].bonus.attributes = {}; TWPro.twpro_setBonus.set_quackery[5].bonus.attributes.dexterity = 6; TWPro.twpro_setBonus.set_quackery[5].bonus.skills = {}; TWPro.twpro_setBonus.set_quackery[5].bonus.skills.endurance = 20; TWPro.twpro_setBonus.set_quackery[5].bonus.skills.trade = 20; TWPro.twpro_setBonus.set_quackery[5].jobBonus = {}; TWPro.twpro_setBonus.set_quackery[5].jobBonus.all = 0; TWPro.twpro_setBonus.set_quackery[5].jobBonus.quackery = 120; TWPro.twpro_setBonus.set_quackery[5].speedBonus = 0; TWPro.twpro_setBonus.set_quackery[5].parsedBonus = {}; TWPro.twpro_setBonus.set_quackery[6] = {}; TWPro.twpro_setBonus.set_quackery[6].bonus = {}; TWPro.twpro_setBonus.set_quackery[6].bonus.attributes = {}; TWPro.twpro_setBonus.set_quackery[6].bonus.attributes.dexterity = 9; TWPro.twpro_setBonus.set_quackery[6].bonus.skills = {}; TWPro.twpro_setBonus.set_quackery[6].bonus.skills.tough = 18; TWPro.twpro_setBonus.set_quackery[6].bonus.skills.endurance = 20; TWPro.twpro_setBonus.set_quackery[6].bonus.skills.reflex = 18; TWPro.twpro_setBonus.set_quackery[6].bonus.skills.aim = 18; TWPro.twpro_setBonus.set_quackery[6].bonus.skills.shot = 18; TWPro.twpro_setBonus.set_quackery[6].bonus.skills.trade = 20; TWPro.twpro_setBonus.set_quackery[6].jobBonus = {}; TWPro.twpro_setBonus.set_quackery[6].jobBonus.all = 0; TWPro.twpro_setBonus.set_quackery[6].jobBonus.quackery = 120; TWPro.twpro_setBonus.set_quackery[6].speedBonus = 0; TWPro.twpro_setBonus.set_quackery[6].parsedBonus = {}; TWPro.twpro_setBonus.set_mexican = []; TWPro.twpro_setBonus.set_mexican[1] = {image:"images/items/head/mini/mexican_sombrero.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_mexican[2] = {}; TWPro.twpro_setBonus.set_mexican[2].bonus = {}; TWPro.twpro_setBonus.set_mexican[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_mexican[2].bonus.attributes.strength = 1; TWPro.twpro_setBonus.set_mexican[2].bonus.skills = {}; TWPro.twpro_setBonus.set_mexican[2].jobBonus = {}; TWPro.twpro_setBonus.set_mexican[2].jobBonus.all = 0; TWPro.twpro_setBonus.set_mexican[2].speedBonus = 12; TWPro.twpro_setBonus.set_mexican[2].parsedBonus = {}; TWPro.twpro_setBonus.set_mexican[3] = {}; TWPro.twpro_setBonus.set_mexican[3].bonus = {}; TWPro.twpro_setBonus.set_mexican[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_mexican[3].bonus.attributes.strength = 2; TWPro.twpro_setBonus.set_mexican[3].bonus.skills = {}; TWPro.twpro_setBonus.set_mexican[3].jobBonus = {}; TWPro.twpro_setBonus.set_mexican[3].jobBonus.all = 0; TWPro.twpro_setBonus.set_mexican[3].jobBonus.agave = 60; TWPro.twpro_setBonus.set_mexican[3].speedBonus = 24; TWPro.twpro_setBonus.set_mexican[3].parsedBonus = {}; TWPro.twpro_setBonus.set_mexican[4] = {}; TWPro.twpro_setBonus.set_mexican[4].bonus = {}; TWPro.twpro_setBonus.set_mexican[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_mexican[4].bonus.attributes.strength = 4; TWPro.twpro_setBonus.set_mexican[4].bonus.skills = {}; TWPro.twpro_setBonus.set_mexican[4].jobBonus = {}; TWPro.twpro_setBonus.set_mexican[4].jobBonus.all = 0; TWPro.twpro_setBonus.set_mexican[4].jobBonus.oil = 70; TWPro.twpro_setBonus.set_mexican[4].jobBonus.agave = 60; TWPro.twpro_setBonus.set_mexican[4].speedBonus = 36; TWPro.twpro_setBonus.set_mexican[4].parsedBonus = {}; TWPro.twpro_setBonus.set_mexican[5] = {}; TWPro.twpro_setBonus.set_mexican[5].bonus = {}; TWPro.twpro_setBonus.set_mexican[5].bonus.attributes = {}; TWPro.twpro_setBonus.set_mexican[5].bonus.attributes.strength = 6; TWPro.twpro_setBonus.set_mexican[5].bonus.skills = {}; TWPro.twpro_setBonus.set_mexican[5].jobBonus = {}; TWPro.twpro_setBonus.set_mexican[5].jobBonus.all = 0; TWPro.twpro_setBonus.set_mexican[5].jobBonus.oil = 70; TWPro.twpro_setBonus.set_mexican[5].jobBonus.smuggle = 80; TWPro.twpro_setBonus.set_mexican[5].jobBonus.agave = 60; TWPro.twpro_setBonus.set_mexican[5].speedBonus = 48; TWPro.twpro_setBonus.set_mexican[5].parsedBonus = {}; TWPro.twpro_setBonus.set_mexican[6] = {}; TWPro.twpro_setBonus.set_mexican[6].bonus = {}; TWPro.twpro_setBonus.set_mexican[6].bonus.attributes = {}; TWPro.twpro_setBonus.set_mexican[6].bonus.attributes.strength = 9; TWPro.twpro_setBonus.set_mexican[6].bonus.skills = {}; TWPro.twpro_setBonus.set_mexican[6].jobBonus = {}; TWPro.twpro_setBonus.set_mexican[6].jobBonus.all = 0; TWPro.twpro_setBonus.set_mexican[6].jobBonus.dynamite = 90; TWPro.twpro_setBonus.set_mexican[6].jobBonus.oil = 70; TWPro.twpro_setBonus.set_mexican[6].jobBonus.smuggle = 80; TWPro.twpro_setBonus.set_mexican[6].jobBonus.agave = 60; TWPro.twpro_setBonus.set_mexican[6].speedBonus = 60; TWPro.twpro_setBonus.set_mexican[6].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male = []; TWPro.twpro_setBonus.set_pilgrim_male[1] = {image:"images/items/head/mini/pilger_hat.png",gender:"male",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_pilgrim_male[2] = {}; TWPro.twpro_setBonus.set_pilgrim_male[2].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_male[2].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_male[2].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[2].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_male[2].jobBonus.construct = 5; TWPro.twpro_setBonus.set_pilgrim_male[2].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_male[2].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[3] = {}; TWPro.twpro_setBonus.set_pilgrim_male[3].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_male[3].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_male[3].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[3].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_male[3].jobBonus.construct = 15; TWPro.twpro_setBonus.set_pilgrim_male[3].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_male[3].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[4] = {}; TWPro.twpro_setBonus.set_pilgrim_male[4].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_male[4].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_male[4].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[4].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_male[4].jobBonus.construct = 30; TWPro.twpro_setBonus.set_pilgrim_male[4].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_male[4].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[5] = {}; TWPro.twpro_setBonus.set_pilgrim_male[5].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[5].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_male[5].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_male[5].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_male[5].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_male[5].jobBonus.bible = 150; TWPro.twpro_setBonus.set_pilgrim_male[5].jobBonus.construct = 50; TWPro.twpro_setBonus.set_pilgrim_male[5].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_male[5].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female = []; TWPro.twpro_setBonus.set_pilgrim_female[1] = {image:"images/items/head/mini/pilger_cap.png",gender:"female",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_pilgrim_female[2] = {}; TWPro.twpro_setBonus.set_pilgrim_female[2].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_female[2].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_female[2].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[2].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_female[2].jobBonus.construct = 5; TWPro.twpro_setBonus.set_pilgrim_female[2].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_female[2].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[3] = {}; TWPro.twpro_setBonus.set_pilgrim_female[3].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_female[3].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_female[3].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[3].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_female[3].jobBonus.construct = 15; TWPro.twpro_setBonus.set_pilgrim_female[3].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_female[3].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[4] = {}; TWPro.twpro_setBonus.set_pilgrim_female[4].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_female[4].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_female[4].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[4].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_female[4].jobBonus.construct = 30; TWPro.twpro_setBonus.set_pilgrim_female[4].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_female[4].parsedBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[5] = {}; TWPro.twpro_setBonus.set_pilgrim_female[5].bonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[5].bonus.attributes = {}; TWPro.twpro_setBonus.set_pilgrim_female[5].bonus.skills = {}; TWPro.twpro_setBonus.set_pilgrim_female[5].jobBonus = {}; TWPro.twpro_setBonus.set_pilgrim_female[5].jobBonus.all = 0; TWPro.twpro_setBonus.set_pilgrim_female[5].jobBonus.bible = 150; TWPro.twpro_setBonus.set_pilgrim_female[5].jobBonus.construct = 50; TWPro.twpro_setBonus.set_pilgrim_female[5].speedBonus = 0; TWPro.twpro_setBonus.set_pilgrim_female[5].parsedBonus = {}; TWPro.twpro_setBonus.greenhorn_set = []; TWPro.twpro_setBonus.greenhorn_set[1] = {image:"images/items/neck/mini/greenhorn_neck.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.greenhorn_set[2] = {}; TWPro.twpro_setBonus.greenhorn_set[2].bonus = {}; TWPro.twpro_setBonus.greenhorn_set[2].bonus.attributes = {}; TWPro.twpro_setBonus.greenhorn_set[2].bonus.skills = {}; TWPro.twpro_setBonus.greenhorn_set[2].jobBonus = {}; TWPro.twpro_setBonus.greenhorn_set[2].jobBonus.all = 0; TWPro.twpro_setBonus.greenhorn_set[2].jobBonus.sugar = 10; TWPro.twpro_setBonus.greenhorn_set[2].speedBonus = 0; TWPro.twpro_setBonus.greenhorn_set[2].parsedBonus = {}; TWPro.twpro_setBonus.greenhorn_set[3] = {}; TWPro.twpro_setBonus.greenhorn_set[3].bonus = {}; TWPro.twpro_setBonus.greenhorn_set[3].bonus.attributes = {}; TWPro.twpro_setBonus.greenhorn_set[3].bonus.skills = {}; TWPro.twpro_setBonus.greenhorn_set[3].jobBonus = {}; TWPro.twpro_setBonus.greenhorn_set[3].jobBonus.all = 0; TWPro.twpro_setBonus.greenhorn_set[3].jobBonus.wood = 20; TWPro.twpro_setBonus.greenhorn_set[3].jobBonus.sugar = 10; TWPro.twpro_setBonus.greenhorn_set[3].speedBonus = 0; TWPro.twpro_setBonus.greenhorn_set[3].parsedBonus = {}; TWPro.twpro_setBonus.greenhorn_set[4] = {}; TWPro.twpro_setBonus.greenhorn_set[4].bonus = {}; TWPro.twpro_setBonus.greenhorn_set[4].bonus.attributes = {}; TWPro.twpro_setBonus.greenhorn_set[4].bonus.skills = {}; TWPro.twpro_setBonus.greenhorn_set[4].jobBonus = {}; TWPro.twpro_setBonus.greenhorn_set[4].jobBonus.all = 0; TWPro.twpro_setBonus.greenhorn_set[4].jobBonus.tanning = 20; TWPro.twpro_setBonus.greenhorn_set[4].jobBonus.wood = 20; TWPro.twpro_setBonus.greenhorn_set[4].jobBonus.sugar = 10; TWPro.twpro_setBonus.greenhorn_set[4].speedBonus = 0; TWPro.twpro_setBonus.greenhorn_set[4].parsedBonus = {}; TWPro.twpro_setBonus.greenhorn_set[5] = {}; TWPro.twpro_setBonus.greenhorn_set[5].bonus = {}; TWPro.twpro_setBonus.greenhorn_set[5].bonus.attributes = {}; TWPro.twpro_setBonus.greenhorn_set[5].bonus.skills = {}; TWPro.twpro_setBonus.greenhorn_set[5].jobBonus = {}; TWPro.twpro_setBonus.greenhorn_set[5].jobBonus.all = 0; TWPro.twpro_setBonus.greenhorn_set[5].jobBonus.turkey = 20; TWPro.twpro_setBonus.greenhorn_set[5].jobBonus.tanning = 20; TWPro.twpro_setBonus.greenhorn_set[5].jobBonus.wood = 20; TWPro.twpro_setBonus.greenhorn_set[5].jobBonus.sugar = 10; TWPro.twpro_setBonus.greenhorn_set[5].speedBonus = 0; TWPro.twpro_setBonus.greenhorn_set[5].parsedBonus = {}; TWPro.twpro_setBonus.greenhorn_set[6] = {}; TWPro.twpro_setBonus.greenhorn_set[6].bonus = {}; TWPro.twpro_setBonus.greenhorn_set[6].bonus.attributes = {}; TWPro.twpro_setBonus.greenhorn_set[6].bonus.skills = {}; TWPro.twpro_setBonus.greenhorn_set[6].jobBonus = {}; TWPro.twpro_setBonus.greenhorn_set[6].jobBonus.all = 0; TWPro.twpro_setBonus.greenhorn_set[6].jobBonus.cow = 20; TWPro.twpro_setBonus.greenhorn_set[6].jobBonus.turkey = 20; TWPro.twpro_setBonus.greenhorn_set[6].jobBonus.tanning = 20; TWPro.twpro_setBonus.greenhorn_set[6].jobBonus.wood = 20; TWPro.twpro_setBonus.greenhorn_set[6].jobBonus.sugar = 10; TWPro.twpro_setBonus.greenhorn_set[6].speedBonus = 0; TWPro.twpro_setBonus.greenhorn_set[6].parsedBonus = {}; TWPro.twpro_setBonus.greenhorn_set[7] = {}; TWPro.twpro_setBonus.greenhorn_set[7].bonus = {}; TWPro.twpro_setBonus.greenhorn_set[7].bonus.attributes = {}; TWPro.twpro_setBonus.greenhorn_set[7].bonus.skills = {}; TWPro.twpro_setBonus.greenhorn_set[7].jobBonus = {}; TWPro.twpro_setBonus.greenhorn_set[7].jobBonus.all = 5; TWPro.twpro_setBonus.greenhorn_set[7].jobBonus.cow = 20; TWPro.twpro_setBonus.greenhorn_set[7].jobBonus.turkey = 20; TWPro.twpro_setBonus.greenhorn_set[7].jobBonus.tanning = 20; TWPro.twpro_setBonus.greenhorn_set[7].jobBonus.wood = 20; TWPro.twpro_setBonus.greenhorn_set[7].jobBonus.sugar = 10; TWPro.twpro_setBonus.greenhorn_set[7].speedBonus = 0; TWPro.twpro_setBonus.greenhorn_set[7].parsedBonus = {}; TWPro.twpro_setBonus.greenhorn_set[8] = {}; TWPro.twpro_setBonus.greenhorn_set[8].bonus = {}; TWPro.twpro_setBonus.greenhorn_set[8].bonus.attributes = {}; TWPro.twpro_setBonus.greenhorn_set[8].bonus.attributes.strength = 1; TWPro.twpro_setBonus.greenhorn_set[8].bonus.attributes.charisma = 1; TWPro.twpro_setBonus.greenhorn_set[8].bonus.skills = {}; TWPro.twpro_setBonus.greenhorn_set[8].jobBonus = {}; TWPro.twpro_setBonus.greenhorn_set[8].jobBonus.all = 15; TWPro.twpro_setBonus.greenhorn_set[8].jobBonus.cow = 20; TWPro.twpro_setBonus.greenhorn_set[8].jobBonus.turkey = 20; TWPro.twpro_setBonus.greenhorn_set[8].jobBonus.tanning = 20; TWPro.twpro_setBonus.greenhorn_set[8].jobBonus.wood = 20; TWPro.twpro_setBonus.greenhorn_set[8].jobBonus.sugar = 10; TWPro.twpro_setBonus.greenhorn_set[8].speedBonus = 20; TWPro.twpro_setBonus.greenhorn_set[8].parsedBonus = {}; TWPro.twpro_setBonus.set_farmer = []; TWPro.twpro_setBonus.set_farmer[1] = {image:"images/items/yield/mini/pitchfork.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.set_farmer[2] = {}; TWPro.twpro_setBonus.set_farmer[2].bonus = {}; TWPro.twpro_setBonus.set_farmer[2].bonus.attributes = {}; TWPro.twpro_setBonus.set_farmer[2].bonus.attributes.strength = 1; TWPro.twpro_setBonus.set_farmer[2].bonus.attributes.flexibility = 1; TWPro.twpro_setBonus.set_farmer[2].bonus.skills = {}; TWPro.twpro_setBonus.set_farmer[2].jobBonus = {}; TWPro.twpro_setBonus.set_farmer[2].jobBonus.all = 0; TWPro.twpro_setBonus.set_farmer[2].jobBonus.cereal = 10; TWPro.twpro_setBonus.set_farmer[2].jobBonus.cut = 10; TWPro.twpro_setBonus.set_farmer[2].jobBonus.grinding = 10; TWPro.twpro_setBonus.set_farmer[2].speedBonus = 0; TWPro.twpro_setBonus.set_farmer[2].parsedBonus = {}; TWPro.twpro_setBonus.set_farmer[3] = {}; TWPro.twpro_setBonus.set_farmer[3].bonus = {}; TWPro.twpro_setBonus.set_farmer[3].bonus.attributes = {}; TWPro.twpro_setBonus.set_farmer[3].bonus.attributes.strength = 1; TWPro.twpro_setBonus.set_farmer[3].bonus.attributes.flexibility = 1; TWPro.twpro_setBonus.set_farmer[3].bonus.attributes.dexterity = 1; TWPro.twpro_setBonus.set_farmer[3].bonus.attributes.charisma = 1; TWPro.twpro_setBonus.set_farmer[3].bonus.skills = {}; TWPro.twpro_setBonus.set_farmer[3].jobBonus = {}; TWPro.twpro_setBonus.set_farmer[3].jobBonus.all = 0; TWPro.twpro_setBonus.set_farmer[3].jobBonus.cereal = 10; TWPro.twpro_setBonus.set_farmer[3].jobBonus.cut = 10; TWPro.twpro_setBonus.set_farmer[3].jobBonus.grinding = 10; TWPro.twpro_setBonus.set_farmer[3].jobBonus.cow = 20; TWPro.twpro_setBonus.set_farmer[3].jobBonus.wire = 20; TWPro.twpro_setBonus.set_farmer[3].jobBonus.horseshoe = 20; TWPro.twpro_setBonus.set_farmer[3].speedBonus = 0; TWPro.twpro_setBonus.set_farmer[3].parsedBonus = {}; TWPro.twpro_setBonus.set_farmer[4] = {}; TWPro.twpro_setBonus.set_farmer[4].bonus = {}; TWPro.twpro_setBonus.set_farmer[4].bonus.attributes = {}; TWPro.twpro_setBonus.set_farmer[4].bonus.attributes.strength = 2; TWPro.twpro_setBonus.set_farmer[4].bonus.attributes.flexibility = 2; TWPro.twpro_setBonus.set_farmer[4].bonus.attributes.dexterity = 2; TWPro.twpro_setBonus.set_farmer[4].bonus.attributes.charisma = 2; TWPro.twpro_setBonus.set_farmer[4].bonus.skills = {}; TWPro.twpro_setBonus.set_farmer[4].jobBonus = {}; TWPro.twpro_setBonus.set_farmer[4].jobBonus.all = 0; TWPro.twpro_setBonus.set_farmer[4].jobBonus.cereal = 10; TWPro.twpro_setBonus.set_farmer[4].jobBonus.cut = 10; TWPro.twpro_setBonus.set_farmer[4].jobBonus.grinding = 10; TWPro.twpro_setBonus.set_farmer[4].jobBonus.cow = 20; TWPro.twpro_setBonus.set_farmer[4].jobBonus.wire = 20; TWPro.twpro_setBonus.set_farmer[4].jobBonus.windmeel = 40; TWPro.twpro_setBonus.set_farmer[4].jobBonus.springe = 40; TWPro.twpro_setBonus.set_farmer[4].jobBonus.ranch = 40; TWPro.twpro_setBonus.set_farmer[4].jobBonus.horseshoe = 20; TWPro.twpro_setBonus.set_farmer[4].speedBonus = 0; TWPro.twpro_setBonus.set_farmer[4].parsedBonus = {}; TWPro.twpro_setBonus.gold_set = []; TWPro.twpro_setBonus.gold_set[1] = {image:"images/items/left_arm/mini/golden_rifle.png",gender:"mixed",bonus:{attributes:{},skills:{}},jobBonus:{all:0},speedBonus:0,parsedBonus:{}}; TWPro.twpro_setBonus.gold_set[2] = {}; TWPro.twpro_setBonus.gold_set[2].bonus = {}; TWPro.twpro_setBonus.gold_set[2].bonus.attributes = {}; TWPro.twpro_setBonus.gold_set[2].bonus.skills = {}; TWPro.twpro_setBonus.gold_set[2].bonus.skills.health = 10; TWPro.twpro_setBonus.gold_set[2].jobBonus = {}; TWPro.twpro_setBonus.gold_set[2].jobBonus.all = 25; TWPro.twpro_setBonus.gold_set[2].speedBonus = 20; TWPro.twpro_setBonus.gold_set[2].parsedBonus = {}; TWPro.twpro_setBonus.fireworker_set = []; TWPro.twpro_setBonus.fireworker_set[1] = {}; TWPro.twpro_setBonus.fireworker_set[1].image = "images/items/yield/mini/bucket_fire.png"; TWPro.twpro_setBonus.fireworker_set[1].gender = "mixed"; TWPro.twpro_setBonus.fireworker_set[1].bonus = {}; TWPro.twpro_setBonus.fireworker_set[1].bonus.attributes = {}; TWPro.twpro_setBonus.fireworker_set[1].bonus.skills = {}; TWPro.twpro_setBonus.fireworker_set[1].jobBonus = {}; TWPro.twpro_setBonus.fireworker_set[1].jobBonus.all = 0; TWPro.twpro_setBonus.fireworker_set[1].jobBonus.fire = 15; TWPro.twpro_setBonus.fireworker_set[1].speedBonus = 0; TWPro.twpro_setBonus.fireworker_set[1].parsedBonus = {}; }; for(var set in TWPro.twpro_setBonus){ for(var i=0; i<TWPro.twpro_setBonus[set].length; i++){ if (TWPro.twpro_setBonus[set][i] && TWPro.twpro_setBonus[set][i].bonus) { TWPro.twpro_setBonus[set][i].jobBonus.speed = ((TWPro.twpro_setBonus[set][i].bonus.attributes && TWPro.twpro_setBonus[set][i].bonus.attributes.flexibility || 0) + (TWPro.twpro_setBonus[set][i].bonus.skills && TWPro.twpro_setBonus[set][i].bonus.skills.ride || 0)); } } } TWPro.set_names = {}; for(var internal_name in TWPro.twpro_setBonus){ TWPro.set_names[internal_name] = '<em>'+internal_name+'</em>'; } TWPro.twpro_invHash = ''; TWPro.twpro_itemStorage = {}; while (TWPro.twpro_active) { //alert('// Original AjaxWindow.show:\n'+AjaxWindow.show.toString()); //alert('// Original Bag.getInstance().add:\n'+Bag.getInstance().add.toString()); //for(var twpro_i = 0; twpro_i < ItemPopup.prototype.getXHTML.toString().length; twpro_i += 2000) //{ // alert(((twpro_i == 0)?('// Original ItemPopup.prototype.getXHTML:\n'):(''))+ItemPopup.prototype.getXHTML.toString().substr(twpro_i,2000)); //} var twpro_matchtest; if (AjaxWindow.show.toString().search(/evalJS/) == -1) { if ((AjaxWindow.show.toString().search(/if *\(data\.page *!= *undefined\) *{/) == -1) || (AjaxWindow.show.toString().search(/eval\(data\.js\);/) == -1)) { TWPro.twpro_failureInject = true; break; } TWPro.twpro_failureRollback.unshift('AjaxWindow.show = ' + AjaxWindow.show.toString()); eval('AjaxWindow.show = ' + AjaxWindow.show.toString().replace(/if *\(data\.page *!= *undefined\) *{/, 'if(data.page!=undefined){TWPro.twpro_injectionSwitch(extendeName,\'page\',data,null,params);').replace(/eval\(data\.js\);/, 'TWPro.twpro_injectionSwitch(extendeName,\'js\',data,\'js\',params);try{eval(data.js);}catch(e){new HumanMessage("TW Pro detected an error in AjaxWindow.show: "+e)/*add debug code here*/}TWPro.twpro_injectionSwitch(extendeName,\'after\',data,null,params);')); //alert('// TW Pro AjaxWindow.show:\n'+AjaxWindow.show.toString()); } else { if ((AjaxWindow.show.toString().search(/if *\(data\.page *!= *undefined\) *{/) == -1) || (AjaxWindow.show.toString().search(/this\.evalJS\(\);/) == -1)) { TWPro.twpro_failureInject = true; break; } TWPro.twpro_failureRollback.unshift('AjaxWindow.show = ' + AjaxWindow.show.toString()); var newAjaxWindowShow = 'AjaxWindow.show = ' + AjaxWindow.show.toString().replace(/if *\(data\.page *!= *undefined\) *{/, 'if(data.page!=undefined){TWPro.twpro_injectionSwitch(extendeName,\'page\',data,null,params);').replace(/this\.evalJS\(\);/, 'this.twpro_extendeName=extendeName;this.twpro_params=params;if(data.js)this.jsContent=data.js;this.evalJS();'), newAjax_index = newAjaxWindowShow.lastIndexOf('new Ajax('); newAjaxWindowShow = newAjaxWindowShow.substring(0,newAjax_index)+newAjaxWindowShow.substring(newAjax_index).replace(/([^A-Za-z0-9_$])extendeName([^A-Za-z0-9_$])/g, '$1(data.newExtendeName||extendeName)$2'); eval(newAjaxWindowShow); //alert('// TW Pro AjaxWindow.show:\n'+AjaxWindow.show.toString()); //alert('// Original Ajax.prototype.evalJS:\n'+Ajax.prototype.evalJS.toString()); if (Ajax.prototype.evalJS.toString().search(/eval\(this\.jsContent\);/) == -1) { TWPro.twpro_failureInject = true; break; } TWPro.twpro_failureRollback.unshift('Ajax.prototype.evalJS = ' + Ajax.prototype.evalJS.toString()); eval('Ajax.prototype.evalJS = ' + Ajax.prototype.evalJS.toString().replace(/eval\(this\.jsContent\);/, 'TWPro.twpro_injectionSwitch(this.twpro_extendeName,\'js\',this,\'jsContent\',this.twpro_params);try{eval(this.jsContent.replace("Merci d\'indiquer","Merci d\\\\\'indiquer").replace("C\'est un petit","C\\\\\'est un petit"));}catch(e){new HumanMessage("TW Pro detected an error in Ajax.evalJS: "+e)/*add debug code here*/;}TWPro.twpro_injectionSwitch(this.twpro_extendeName,\'after\',this,null,this.twpro_params);')); // Zyphir : temporary bugfix for fr worlds //alert('// TW Pro Ajax.prototype.evalJS:\n'+Ajax.prototype.evalJS.toString()); } WEvent.register('inventory_add', { exec: function(data){data=typeof data=='string'?Json.evaluate(data[0]):data[0];setTimeout(TWPro.twpro_changeItem, 0, {inv_id:data.inv_id})} }); WEvent.register('inventory_remove', { exec: function(inv_id){setTimeout(TWPro.twpro_changeItem, 0, {inv_id:inv_id,deleted:1})} }); if (Bag.getInstance().add.toString().search(/}, *('*)over/) == -1) { TWPro.twpro_failureInject = true; break; } twpro_matchtest = Bag.getInstance().add.toString().match(/(["'])wear_["'] *\+ *item\.get_type\(\) *\+ *["']_highlight["']/g); if (twpro_matchtest == null || twpro_matchtest.length != 3) { TWPro.twpro_failureInject = true; break; } TWPro.twpro_failureRollback.unshift('Bag.getInstance().add = ' + Bag.getInstance().add.toString()); eval('Bag.getInstance().add = ' + Bag.getInstance().add.toString().replace(/(["'])wear_["'] *\+ *item\.get_type\(\) *\+ *["']_highlight["']/g, '(TWPro.twpro_activeJob())?($1$1):($1wear_$1+item.get_type()+$1_highlight$1)')); if (ItemPopup.prototype.getXHTML.toString().replace(/xhtml *\+= *(['"])<span class=(\\*)"item_popup_trader_price/) == -1) { TWPro.twpro_failureInject = true; break; } TWPro.twpro_failureRollback.unshift('ItemPopup.prototype.getXHTML = ' + ItemPopup.prototype.getXHTML.toString()); eval('ItemPopup.prototype.getXHTML = ' + ItemPopup.prototype.getXHTML.toString().replace(/xhtml *\+= *(['"])<span class=(\\*)"item_popup_trader_price/, 'xhtml+=TWPro.twpro_popup(item);xhtml+=$1<span class=$2"item_popup_trader_price')); //for(var twpro_i = 0; twpro_i < ItemPopup.prototype.getXHTML.toString().length; twpro_i += 2000) //{ // alert(((twpro_i == 0)?('// TW Pro ItemPopup.prototype.getXHTML:\n'):(''))+ItemPopup.prototype.getXHTML.toString().substr(twpro_i,2000)); //} break; } TWPro.twpro_world = location.hostname.match(/^[^.]+/)[0]; var twpro_support = document.createElement('div'); twpro_support.id = 'twpro_support'; twpro_support.style.cssText = 'position:absolute; color:#656565; font-size:10px; margin-left:2px; z-index:2'; var twpro_supportLink = document.createElement('a'); twpro_supportLink.id = 'twpro_supportLink'; twpro_supportLink.href = 'http://userscripts.org/users/81979/scripts'; twpro_supportLink.target = '_blank'; twpro_supportLink.appendChild(document.createTextNode(' '+twpro_version)); var twpro_supportAuthor = document.createElement('a'); twpro_supportAuthor.id = 'twpro_supportAuthor'; twpro_supportAuthor.style.cursor = 'help'; twpro_supportAuthor.appendChild(document.createTextNode("")); twpro_support.appendChild(document.createTextNode(": : ")); twpro_support.appendChild(twpro_supportLink); twpro_support.appendChild(document.createTextNode(' '+TWPro.lang.AUTHOR+': ')); twpro_support.appendChild(twpro_supportAuthor); var translator = TWPro.lang.info; if(translator && translator.length){ var twpro_translatorLink = document.createElement('a'); twpro_translatorLink.appendChild(document.createTextNode(translator[0])); if(translator.length > 1){ if(translator.length > 3 && translator[3].indexOf('.'+location.host.match(/\w+\./)) != -1){ twpro_translatorLink.href = 'javascript:AjaxWindow.show("profile",{char_id:'+translator[2]+'},"'+translator[2]+'");'; } else{ twpro_translatorLink.href = translator[1]; twpro_translatorLink.target = '_blank'; } } twpro_support.appendChild(document.createTextNode(" "+TWPro.lang.TRANSLATOR+": ")); twpro_support.appendChild(twpro_translatorLink); } twpro_support.appendChild(document.createTextNode(" ")); var langChanger = document.createElement("a"); langChanger.appendChild(document.createTextNode(" ")); langChanger.href = "javascript://Change language"; langChanger.onclick = function() { var newlang = prompt("LANGUAGE PACK\n\n Visit your community forum to know if there is one for your language or learn how to make your own at this page: http://userscripts.org/scripts/show/94133\n\n For French language, you can just type \"fr\" in this box.\n\nPlease enter a valid language pack url:\n", (localStorage.getItem("TWPro_LanguagePack") ? decodeURIComponent(localStorage.getItem("TWPro_LanguagePack")) : "http://")); if (newlang != null) { if (newlang.length > 7 || newlang == "fr") { if (decodeURIComponent(localStorage.getItem("TWPro_LanguagePack")) != newlang) new HumanMessage("Language pack applied.<br><br>Please refresh your page (press F5).", {type:'success'}); window.twpro_initLanguage(newlang); } else { localStorage.removeItem("TWPro_LanguagePack") } } }; twpro_support.appendChild(langChanger); twpro_support.appendChild(document.createTextNode(" ")); if (!TWPro.twpro_active) { twpro_support.appendChild(document.createTextNode(" ("+TWPro.lang.TWPRO_DISABLED+")")); } var flags = 'data:image/gif;base64,R0lGODlhPgAKAMQaAAAAAK4cKMYLHv7LAO0pOeJnD5MAAOSzt//EAP3DAtaVDN0AAP///+KxD6NODrWKWc2KLYhAIKl5cehFALXB2M6sLLl8Fb5rG//OACFGi////wAAAAAAAAAAAAAAAAAAACH5BAHoAxoALAAAAAA+AAoAAAWXICCOZCkGaKquQuu+cDnMM2HbZk6uvAr/LxltcMPpdL1kYclsOoW0IsFArVqv1IN2y+0ivgmFIvEtl6G14mLNbrvXjLh8Ti83HI+G2Ywmqt+AbHSDc2UQERIQe2ckQ343E5GSk5SRFJeYmZplFRYXFYtffVIYpaanqKUZq6ytrk6wTaNFqbWnrritQLuzN7a/ucG7QL02IQA7' var ib = document.getElementById('main_footnotes'); ib.insertBefore(twpro_support, ib.firstChild); $(twpro_supportAuthor.id).addMousePopup(new MousePopup('<table cellspacing="0" cellpadding="0"><tr><td>Author:</td><td>Nexton<div style="float:right;margin-left:3px;margin-top:3px;background:url('+flags+')0px;width:17px;height: 10px;"></div></td></tr><tr><td>Contributor:</td><td>Lekensteyn<div style="float:right;margin-left:3px;margin-top:3px;background:url('+flags+')-17px;width:15px;height: 10px;"></div></td></tr><tr><td>Contributor:</td><td>Sandevil<div style="float:right;margin-left:3px;margin-top:3px;background:url('+flags+')-32px;width:15px;height: 10px;"></div></td></tr><tr><td>Contributor:</td><td>Pedro Ramirez<div style="float:right;margin-left:3px;margin-top:3px;background:url('+flags+')0px;width:17px;height: 10px;"></div></td></tr><tr><td>This release: </td><td>Zyphir Randrott<div style="float:right;margin-left:3px;margin-top:3px;background:url('+flags+')-47px;width:15px;height: 10px;"></div></td></tr></table>')); if (TWPro.twpro_failureInject) { TWPro.twpro_throwFailure(); } } function twpro_preference(pref, enabledValue){ if(!(pref in TWPro.prefs)) return false; var prefVal = TWPro.prefs[pref]; if(typeof enabledValue == 'undefined'){ if(typeof prefVal != 'number') return prefVal; return TWPro.prefNumber & prefVal; } if(typeof prefVal != 'number'){ document.cookie = 'twpro_'+Character.playerId+'_'+pref+'='+enabledValue+'; max-age=5184000'; return enabledValue; } if(enabledValue) TWPro.prefNumber |= prefVal; else TWPro.prefNumber = (TWPro.prefNumber | prefVal) - prefVal; document.cookie = 'twpro_'+Character.playerId+'_prefs='+TWPro.prefNumber+'; max-age=5184000'; return enabledValue; } function twpro_throwFailure() { if (TWPro.twpro_failure) return; TWPro.twpro_failure = true; for (var twpro_i = 0; twpro_i < TWPro.twpro_failureRollback.length; twpro_i++) { eval(TWPro.twpro_failureRollback[twpro_i]); } } function twpro_injectionSwitch(twpro_extendeName, twpro_injectionType, twpro_data, twpro_jsversion, twpro_params) { if (TWPro.twpro_failure) return; if (!twpro_extendeName) { return; } else //alert(twpro_extendeName+"\n\n"+twpro_injectionType+"\n\n"+twpro_data[twpro_jsversion]); switch (twpro_injectionType) { case 'page': { if (twpro_extendeName == 'inventory') { TWPro.twpro_internalWindowToTop("window_inventory"); TWPro.twpro_insertList(twpro_data); } else if(twpro_extendeName == 'item_trader'){ TWPro.twpro_getPlace(twpro_data, twpro_extendeName, twpro_jsversion); } else if(twpro_extendeName.substr(0, 16) == 'building_market_'){ var town_id = twpro_extendeName.match(/\d+/), market_id = twpro_data.page.match(/InventoryTownTraderControl\(AjaxWindow\.getWindowDivId\('market',\d+\)\), 'market', '(\d+)'\);/); if(!town_id || !market_id) return; market_id = market_id[1]; TWPro.searchTrader[town_id] = {timer:null}; (new Image()).src = twpro_loadingSearchImg; twpro_data.page = twpro_data.page.replace(/top:18px' id="market_\d+_inv_div"><\/div>/, 'height:350px;$&<div style="margin-top:19px;position:relative;"><label style="position:absolute;top:4px;left:21px;font-style:italic;color:#636;cursor:pointer" for="twpro_market_'+town_id+'_search" class="twpro_lang_SEARCHINVENTORY">'+TWPro.lang.SEARCHINVENTORY+'</label><input type="text" style="width:150px;background:#F0CD8B url(data:image/png;base64,'+twpro_searchButtonImg+') no-repeat scroll 0 0;padding:0 2px 0 19px" id="twpro_market_'+town_id+'_search" onfocus="previousSibling.style.display=\'none\'" onblur="if(this.value==\'\')previousSibling.style.display=\'block\'" onkeyup="TWPro.twpro_searchTrader(event.keyCode==13,null,'+town_id+', '+market_id+')" /><span id="twpro_search_help" style="font-weight:bold;color:#191970;cursor:help;background:#D4C7B0;width:20px;height:17px" title="'+TWPro.lang.SEARCHHELP+'">?</span></div>'); } else if(twpro_extendeName.substr(0, 4) == 'job_' || twpro_extendeName.substr(0, 15) == 'cityhall_build_'){ var workSpeed = (twpro_data.js ? twpro_data.js.match(/JobCalculation\.workSpeed\s*=\s*([^;]+);/) : JobCalculation.workSpeed)||[,1]; var hours = workSpeed[1] * 2, seconds = hours * 3600; twpro_data.page = twpro_data.page.replace(new RegExp('(value="'+seconds+'")( label="'+hours+' .+?")?>'+hours+' '), '$1$2 selected="selected">'+hours+' '); } else if(twpro_extendeName.substr(0, 13) == 'reports_show_'){ if(twpro_data.page.match(/<object /)){ twpro_data.page = twpro_data.page.replace('width: 460px; height: 270px;', 'width: 414px; height: 243px;').replace(/height="270"/g, 'height="243"').replace(/width="460"/g, 'width="414"').replace('</object>', '</object><br />'); } twpro_data.page = convertduelreport('window_'+twpro_extendeName, twpro_data.page); } /* else if(twpro_extendeName.substr(0, 7) == 'profile' && twpro_params){ // hack to have one profile window if(typeof twpro_params.player_name == "string"){ var char_id = twpro_data.page.match(/WMap\.scroll_map_to_player\((\d+)\);/), profile_name = 'profile_'+decodeURIComponent(twpro_params.player_name); if(!char_id) break; twpro_params.char_id = char_id[1]; char_id = 'profile_'+char_id[1]; var oldWindow = document.getElementById("window_"+char_id); if(oldWindow){ document.getElementById("window_"+profile_name).style.cssText = oldWindow.style.cssText; AjaxWindow.close(char_id); } document.getElementById("window_"+profile_name).id = "window_"+char_id; document.getElementById("window_"+profile_name+"_title").id = "window_"+char_id+"_title"; document.getElementById("window_"+char_id+"_title").firstChild.innerHTML = "window_"+char_id+"_title"; document.getElementById("window_"+profile_name+"_content").id = "window_"+char_id+"_content"; twpro_profile = document.getElementById("window_"+char_id).getElementsByTagName("a"); twpro_profile[0].href = "javascript:AjaxWindow.show('profile',{char_id:'"+char_id.substr(8)+"'}, '"+char_id.substr(8)+"');"; twpro_profile[2].href = decodeURIComponent(twpro_profile[1].href).replace(profile_name, char_id); twpro_profile[3].href = decodeURIComponent(twpro_profile[2].href).replace(profile_name, char_id); twpro_data.page = twpro_data.page.replace(new RegExp(profile_name.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), "gi"), char_id); twpro_data.js = twpro_data.js.replace(new RegExp(profile_name.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), "gi"), char_id); AjaxWindow.windows[char_id] = AjaxWindow.windows[profile_name]; AjaxWindow.windows[profile_name] = null; delete twpro_params.player_name; delete AjaxWindow.windows[profile_name]; twpro_data.newExtendeName = char_id; } }*/ else if(twpro_extendeName.substr(0,15) == 'building_saloon' ){ var twpro_advice_elementid="window_"+twpro_extendeName; var twpro_advice_elementin=$(twpro_advice_elementid); if (Character.name == 'William Manney' || Character.name == 'Sandevil' || Character.name == 'Belgo' || Character.name == 'Manolkin' || Character.name == 'Coprofagia' || Character.name == 'cliff hamett' || Character.name == 'walkerutebo' || Character.name == 'igmu' || Character.name == 'henryque' || Character.name == 'Ambrosio II' || Character.name == 'Zebx') { twpro_data.page = makeadvicemessage(twpro_advice_elementin, twpro_data.page); } } break; } case 'js': { if ((twpro_extendeName == 'inventory') || (twpro_extendeName.substr(0, 15) == 'building_tailor') || (twpro_extendeName.substr(0, 17) == 'building_gunsmith') || (twpro_extendeName.substr(0, 16) == 'building_general')) { TWPro.twpro_getPlace(twpro_data, twpro_extendeName, twpro_jsversion); } else if(twpro_extendeName.substr(0, 7) == 'profile'){ if(typeof twpro_params.player_name == "string"){ var char_id = twpro_data.page.match(/WMap\.scroll_map_to_player\((\d+)\);/), profile_name = 'profile_'+decodeURIComponent(twpro_params.player_name); if(!char_id) break; twpro_data.js = twpro_data.js.replace(new RegExp(profile_name.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), "gi"), char_id); twpro_data.js = "alert(1)"; AjaxWindow.windows[char_id] = AjaxWindow.windows[profile_name]; AjaxWindow.windows[profile_name] = null; delete twpro_params.player_name; delete AjaxWindow.windows[profile_name]; twpro_data.newExtendeName = char_id; } try{ var who = twpro_data.response.text.match(/messages', {addressee:'([^']+)'}/); if(who){ try{ who = Json.evaluate('"'+who[1]+'"'); } catch(e){ who = null; } } if(!who){ who = $('window_'+twpro_extendeName).getElement('.char_name'); who = (who.textContent ? who.textContent : who.innerText).replace(/^\s+/, '').replace(/ \([^)]+\)$/, ''); } if(who) (new Ajax('/game.php?window=ranking&mode=ajax_duels', { data: { type: 'duels', page: 0, skill: 0, search: who, rank: 0, action: 'search' }, method: 'post', onComplete: function(resp){ if(resp){ var re=new RegExp("'"+twpro_extendeName.substr(8)+"'\\);\\\\\">[^<]+<\\\\\\/a><\\\\\\/div><\\\\\\/td>\\\\n\\\\t\\\\t<td class=\\\\\"center\\\\\"><div class='anti_wrap'>\\d+<\\\\\\/div><\\\\\\/td>\\\\n\\\\t\\\\t<td class=\\\\\"center\\\\\"><div class='anti_wrap'>(\\d+)<\\\\\\/div><\\\\\\/td>\\\\n\\\\t\\\\t<td class=\\\\\"center\\\\\"><div class='anti_wrap'>(\\d+)<\\\\\\/div><\\\\\\/td>\\\\n\\\\t\\\\t<td class=\\\\\"center\\\\\"><div class='anti_wrap'>(-?\\d+)<"), d = resp.match(re); if(d){ var tr = document.createElement('tr'), td = document.createElement('td'); td.colSpan = '2'; td.style.cssText = "max-width:212px;font-size:8pt;"; var trans = resp.match(/("gew|"ver|diff)\\">[^.<]+/g); td.appendChild(document.createTextNode(eval('"' + trans[0].substr(7) + ": " + d[1] + " | " + trans[1].substr(7) + ": " + d[2] + " | " + trans[2].substr(7) + ": " + d[3] + '"'))); tr.appendChild(td); var rp = $('window_'+twpro_extendeName).getElement('.rank').parentNode; rp.nextSibling.nextSibling.cells[0].style.padding = '0'; rp.parentNode.insertBefore(tr, rp.nextSibling); rp.parentNode.parentNode.style.borderCollapse = 'collapse'; } } } })).request(); } catch(e){} } break; } case 'after': { if (twpro_extendeName == 'inventory') { var specialMessageDiv = document.getElementById("twpro_specialMessage"); if(specialMessageDiv) specialMessageDiv.innerHTML = ""; else{ specialMessageDiv = document.createElement("div"); specialMessageDiv.id = "twpro_specialMessage"; specialMessageDiv.style.cssText = "position: absolute; font-size: 10px; color:#ffffff; top: 2px; height: 2em; left: 375px; overflow: hidden; width: 200px; z-index: 1; font-weight:normal;"; document.getElementById("window_inventory_title").appendChild(specialMessageDiv); } var twpro_aktuelleapvalueDiv = document.getElementById("twpro_aktuelleapvalue"); if(twpro_aktuelleapvalueDiv) twpro_aktuelleapvalueDiv.innerHTML = ""; else{ twpro_aktuelleapvalueDiv = document.createElement("div"); twpro_aktuelleapvalueDiv.id = "twpro_aktuelleapvalue"; twpro_aktuelleapvalueDiv.style.cssText = "position:absolute;right:80px;top:-4px;border-style:solid;border-width:1px;padding:2px;font-size:13px;color:#000000;visibility:hidden;"; document.getElementById("window_inventory_title").appendChild(twpro_aktuelleapvalueDiv); } TWPro.twpro_showList(); } else if(twpro_extendeName.substr(0,15) == 'fort_battlepage' ){ var twpro_fort_elementid="window_"+twpro_extendeName; var twpro_fort_elementin=$(twpro_fort_elementid); makefortmessage(twpro_fort_elementin); } else if (twpro_extendeName == 'messages') { document.getElementById('tab_write').firstChild.style.width = '610px'; var messagebox = document.getElementById('write_table'); messagebox.parentNode.style.cssText = 'overflow: auto; height: 397px; width: 595px;'; messagebox.style.width = '575px'; messagebox = messagebox.getElementById('text'); insertbbcodesfunc(messagebox, false); } else if(twpro_extendeName.substr(0, 15) == 'building_hotel_'){ var twpro_table_rooms = document.querySelector('table.rooms'); if (twpro_table_rooms) { for (var i=twpro_table_rooms.getElementsByTagName('input').length-1;i>=0;i--) { if (!twpro_table_rooms.getElementsByTagName('input')[i].disabled && (twpro_table_rooms.getElementsByClassName('costs')[i].innerHTML.indexOf('$') == -1 || i == 0)){ twpro_table_rooms.getElementsByTagName('input')[i].checked = "checked"; break; } } } } else if(twpro_extendeName.substr(0, 15) == 'building_tailor' || twpro_extendeName.substr(0, 17) == 'building_gunsmith' || twpro_extendeName.substr(0, 16) == 'building_general'){ try{ var ins = $('window_'+twpro_extendeName+'_content').getElement('#own_inv_div h2'), stu = $('window_'+twpro_extendeName+'_content').getElements('.own_inv .bag_item'), but = document.createElement('button'), bas = document.createElement('input'); but.style.cssText = 'font-size:small;position:absolute;right:9px'; bas.style.cssText = 'bottom:25px;float:right;font-size:small;font-weight:bold;right:3px;opacity:.7;overflow:hidden;position:relative;z-index:2;text-align:center;width:18px;height:16px;'; bas.type = 'text'; bas.className = 'lkn_shopsell'; but.innerHTML = TWPro.lang.MULTISEL; but.onclick = function(){ but.disabled = true; for(var i=0, wat, count; i<stu.length; i++){ wat = bas.cloneNode(false); if(!stu[i].getElementsByTagName('p').length){ wat.readonly = 'readonly'; wat.onclick = function(){ this.value = this.value == 1 ? '' : 1; }; } else{ wat.onclick = function(){ var all = this.parentNode.getElementsByTagName('p')[0].innerHTML; this.value = this.value == all ? '' : all; this.select(); }; wat.maxLength = 2; wat.onblur = function(){ var n = Math.max(parseInt(this.value, 10) || 0, 0); n = Math.min(n, this.parentNode.getElementsByTagName('p')[0].innerHTML); this.value = n == '0' ? '' : n; }; } stu[i].appendChild(wat); } but.innerHTML = TWPro.lang.SELL; but.onclick = function(){ but.disabled = true; var sellList = [], building = twpro_extendeName.match(/building_[^_]+/)+'', baseUrl='game.php?window='+building+'&action=sell&h='+h, town_id=twpro_extendeName.match(/\d+/); for(var i=0, n; i<stu.length; i++){ if((n=1*stu[i].getElement('.lkn_shopsell').value)){ sellList.push([stu[i].id.substr(5), n]); } } if(!sellList.length){ alert(TWPro.lang.NONESELECTED); but.disabled = false; } else if(confirm(TWPro.lang.CONFIRMSELL.replace(/%1/g, sellList.length))){ var that = this; this.innerHTML = TWPro.lang.SELLING + ' (0/'+sellList.length+')'; var sold = 0, errors = []; function sellStuff(inv_id, count){ (new Ajax(baseUrl, { method: 'post', data: { inv_id: inv_id, town_id: town_id, count: count }, onComplete: function(data){ sold++; that.innerHTML = TWPro.lang.SELLING + ' ('+sold+'/'+sellList.length+')'; data = Json.evaluate(data); if(data.error[0]){ errors.push(data.error[1]); } else{ Character.set_money(data.money); WEvent.trigger('inventory_remove', [inv_id]); } if(sold == sellList.length){ that.innerHTML = TWPro.lang.SELL; that.disabled = false; new HumanMessage(TWPro.lang.SALEDONE, {type:'success'}); if(errors.length){ alert('Sale errors:\n'+errors.join('\n')); } AjaxWindow.show(building, {town_id:town_id}, town_id); } }.bind(this) })).request(); } for(var i=0; i<sellList.length; i++){ sellStuff(sellList[i][0], sellList[i][1]); } } else{ but.disabled = false; } }; but.disabled = false; }; ins.parentNode.insertBefore(but, ins); } catch(e){} } break; } } } var skill_to_AttNum = { build: ["strength", 0], punch: ["strength", 1], tough: ["strength", 2], endurance: ["strength", 3], health: ["strength", 4], ride: ["flexibility", 0], reflex: ["flexibility", 1], dodge: ["flexibility", 2], hide: ["flexibility", 3], swim: ["flexibility", 4], aim: ["dexterity", 0], shot: ["dexterity", 1], pitfall: ["dexterity", 2], finger_dexterity: ["dexterity", 3], repair: ["dexterity", 4], leadership: ["charisma", 0], tactic: ["charisma", 1], trade: ["charisma", 2], animal: ["charisma", 3], appearance: ["charisma", 4] }; function twpro_bestLifeRestore(){ var bag_items = Bag.getInstance().items, wear={}, iid, type, item, order=[], i, setcount=0, dlife = Character.characterClass == "soldier"?(PremiumBoni.hasBonus('character')?20:15):10, lifes = 90 + 10 * Character.level + dlife * Character.skills.health, newlifes, sleeper_bonuses = [ [.00, 00]/*0*/, [.00, .06]/*1*/, [.06, .02]/*2*/, [.08, .04]/*3*/, [.12, .06]/*4*/, [.18, .07]/*5*/, [.25, 00]/*6*/ ], twpro_job = { twpro_calculation: "(90 + 10 * Character.level + (Character.characterClass=='soldier'?(PremiumBoni.hasBonus('character')?20:15):10) * ((Character.bonus.attributes.health||0) + (Character.skills.health||0))) * TWPro.twpro_sleeperBonus()", malus: -1, name: TWPro.lang.REGENERATION, shortName: "regeneration", twpro_jobid: 0,//////////// TWPro.twpro_jobs.length twpro_skill: Character.skills.health,////// min level twpro_skills: "0", twpro_attributes: "0", twpro_bestStats: {}, twpro_aps: 0, twpro_parsedItemBonus: {},// Set items... twpro_bestCombi: {},// Set items... twpro_noSetAps: 0, luckItemValue: 0, money: 0, maxlifes: 0, sleepCount: 0 }, bestStats, items, mexican=1, donkey=[]; for(type=0; type<TWPro.twpro_bag.twpro_types.length; type++){ wear[TWPro.twpro_bag.twpro_types[type]] = [[]/*sleeper item & best item*/, [{twpro_jobbonus:{regeneration:0}}]/*lifepoints bonus item*/, []/*Mexican set?*/]; } for(type in Wear.wear){ if((item=Wear.wear[type].obj) && item.set && item.set.key == "set_sleeper" && TWPro.twpro_wearItem(item)){ if(!wear[item.type][0][0]) setcount++; wear[item.type][0].push(item); } else if(item.bonus && (newlifes=(item.bonus.skills && item.bonus.skills.health || 0)+(item.bonus.attributes && item.bonus.attributes.strength || 0)) && TWPro.twpro_wearItem(item)){ if(!item.twpro_jobbonus) item.twpro_jobbonus = {}; if(!TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus) TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus = {}; TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus.regeneration = item.twpro_jobbonus.regeneration = dlife * newlifes; if(dlife*newlifes == wear[item.type][1][0].twpro_jobbonus.regeneration){ wear[item.type][1].push(item); } else if(dlife*newlifes > wear[item.type][1][0].twpro_jobbonus.regeneration){ wear[item.type][1] = [item]; } } if(item.set && item.set.key == "set_mexican" && TWPro.twpro_wearItem(item)){ if(item["short"] == "donkey"){ donkey.push(item); } else wear[item.type][2].push(item); } } for(iid in bag_items){ if((item=bag_items[iid].obj) && item.set && item.set.key == "set_sleeper" && TWPro.twpro_wearItem(item)){ if(!wear[item.type][0][0]) setcount++; wear[item.type][0].push(item); } else if(item.bonus && (newlifes=(item.bonus.skills && item.bonus.skills.health || 0)+(item.bonus.attributes && item.bonus.attributes.strength || 0)) && TWPro.twpro_wearItem(item)){ if(!item.twpro_jobbonus) item.twpro_jobbonus = {}; if(!TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus) TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus = {}; TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus.regeneration = item.twpro_jobbonus.regeneration = dlife * newlifes; if(dlife*newlifes == wear[item.type][1][0].twpro_jobbonus.regeneration){ wear[item.type][1].push(item); } else if(dlife*newlifes > wear[item.type][1][0].twpro_jobbonus.regeneration){ wear[item.type][1] = [item]; } } if(item.set && item.set.key == "set_mexican" && TWPro.twpro_wearItem(item)){ if(item["short"] == "donkey"){ donkey.push(item); } else wear[item.type][2].push(item); } } for(type in wear){ if(wear[type][1][0].twpro_jobbonus.regeneration){ order.push(wear[type][1]); } } order.sort(function(x,y){return y[0].twpro_jobbonus.regeneration-x[0].twpro_jobbonus.regeneration;}); for(i=order.length-1; i>=0; i--){ type = order[i][0].type; if(!wear[type][0][0]){ wear[type][0] = order[i]; lifes += order[i][0].twpro_jobbonus.regeneration; order.splice(i, 1); } } for(i=0; i<order.length; i++){ type = order[i][0].type; newlifes = lifes + order[i][0].twpro_jobbonus.regeneration; if(lifes * (1+sleeper_bonuses[setcount--][0]) < newlifes * (1+sleeper_bonuses[setcount][0])){ wear[type][0] = order[i]; lifes = newlifes; continue; } else{ // All other sleeper set items will > the other Lifepoints clothing setcount++; break; } } if(donkey.length){//if a donkey exists, mexican=1 counts for donkey nextWearType:for(type in wear){ if(!wear[type][0][0] && wear[type][2][0]){ mexican++; } else{ for(i=0; i<wear[type][0].length; i++){ if(wear[type][0][i].set && wear[type][0][i].set.key == "set_mexican"){ mexican++; continue nextWearType; } } wear[type][2] = []; } } if(mexican > 1){ for(type in wear){ if(wear[type][2][0]){ for(i=0; i<wear[type][2].length; i++){ if(!wear[type][2][i].twpro_jobbonus) wear[type][2][i].twpro_jobbonus = {regeneration:0}; wear[type][2][i].twpro_jobbonus.regeneration++; } wear[type][0] = wear[type][2]; } } var mexicanLifes = [0, 0, 1, 2, 4, 5, 9][mexican]*dlife; for(i=0; i<donkey.length; i++){ if(!donkey[i].twpro_jobbonus) donkey[i].twpro_jobbonus = {}; donkey[i].twpro_jobbonus.regeneration = mexicanLifes; } wear["animal"][0] = donkey; lifes += mexicanLifes; twpro_job.twpro_bestAnimal = mexicanLifes; } } for(type in wear){ items = wear[type][0]; item = items[0]; if(!items[0]) bestStats = 0; else if(item.set && item.set.key == "set_sleeper"){ bestStats = Math.round(sleeper_bonuses[setcount][0] * lifes); } else{ bestStats = item.twpro_jobbonus.regeneration; } twpro_job.twpro_bestStats[type] = bestStats; for(i=0; i<items.length; i++){ if(!items[i].twpro_jobbonus) items[i].twpro_jobbonus = {}; if(!TWPro.twpro_itemStorage[items[i].item_id].twpro_jobbonus) TWPro.twpro_itemStorage[items[i].item_id].twpro_jobbonus = {}; TWPro.twpro_itemStorage[items[i].item_id].twpro_jobbonus.regeneration = items[i].twpro_jobbonus.regeneration = bestStats; TWPro.twpro_itemStorage[items[i].item_id].twpro_bonus = items[i].twpro_bonus = true; } } twpro_job.maxlifes = lifes; twpro_job.sleepCount = setcount; TWPro.twpro_jobValues.regeneration.laborp = twpro_job.twpro_skill = twpro_job.twpro_aps = twpro_job.twpro_noSetAps = Math.round(lifes * (1+sleeper_bonuses[setcount][0])); return twpro_job; } function twpro_sleeperBonus(sleepCount){ var type, sleeper_bonuses = [ [.00, 00]/*0*/, [.00, .06]/*1*/, [.06, .02]/*2*/, [.08, .04]/*3*/, [.12, .06]/*4*/, [.18, .07]/*5*/, [.25, 00]/*6*/ ]; if(!(1*sleepCount) || isNaN(sleepCount)){ sleepCount = 0; for(type in Wear.wear){ if(Wear.wear[type].obj.set && Wear.wear[type].obj.set.key == "set_sleeper") sleepCount++; } } return 1+sleeper_bonuses[sleepCount][0]; } function twpro_activeJob() { if (TWPro.twpro_failure) return false; return TWPro.twpro_calculated && document.getElementById("twpro_jobList") && document.getElementById("twpro_jobList").selectedIndex != 0; } function twpro_getPlace(twpro_data, twpro_extendeName, twpro_jsversion) { //alert('2: '+twpro_extendeName); if (TWPro.twpro_failure) return; if (twpro_extendeName == 'inventory') { if (twpro_data[twpro_jsversion].search(/wear_content\[i\]\);(\s*)\}/) == -1) { //alert('1'); TWPro.twpro_throwFailure(); return; } if (twpro_data[twpro_jsversion].search(/bag_content\[i\]\);(\s*)\}/) == -1) { //alert('2'); TWPro.twpro_throwFailure(); return; } twpro_data[twpro_jsversion] = twpro_data[twpro_jsversion].replace(/wear_content\[i\]\);(\s*)\}/, 'wear_content[i]);$1};TWPro.twpro_initializeItems(\'wear\',null);').replace(/bag_content\[i\]\);(\s*)\}/, 'bag_content[i]);$1};TWPro.twpro_initializeItems(\'bag\',null);'); //for(var twpro_i = 0; twpro_i < twpro_data[twpro_jsversion].length; twpro_i += 2000) //{ // alert(twpro_data[twpro_jsversion].substr(twpro_i,2000)); //} } else if(twpro_extendeName == 'item_trader'){ twpro_data.page = twpro_data.page.replace(/var trader_inv/, 'TWPro.twpro_initializeItems(\'own\',playerInventory);var trader_inv').replace(/trader_inv\[i\], *(['"])(\w*)['"]\);(\s*)\}/, 'trader_inv[i],$1$2$1);$3};TWPro.twpro_initializeItems(\'trader\',traderInventory);'); } else { if (twpro_data[twpro_jsversion].search(/var trader_inv/) == -1) { //alert('3'); TWPro.twpro_throwFailure(); return; } if (twpro_data[twpro_jsversion].search(/trader_inv\[i\]\);(\s*)\}/) == -1 && twpro_data[twpro_jsversion].search(/trader_inv\[i\], *(['"])(\w*)['"]\);(\s*)\}/) == -1) { //alert('4'); TWPro.twpro_throwFailure(); return; } //for(var twpro_i = 0; twpro_i < twpro_data[twpro_jsversion].length; twpro_i += 2000) //{ // alert(twpro_data[twpro_jsversion].substr(twpro_i,2000)); //} twpro_data[twpro_jsversion] = twpro_data[twpro_jsversion].replace('var trader_inv', 'TWPro.twpro_initializeItems(\'own\',playerInventory);var trader_inv').replace(/trader_inv\[i\]\);(\s*)\}/, 'trader_inv[i]);$1};TWPro.twpro_initializeItems(\'trader\',traderInventory);').replace(/trader_inv\[i\], *(['"])(\w*)['"]\);(\s*)\}/, 'trader_inv[i],$1$2$1);$3};TWPro.twpro_initializeItems(\'trader\',traderInventory);'); //for(var twpro_i = 0; twpro_i < twpro_data[twpro_jsversion].length; twpro_i += 2000) //{ // alert(twpro_data[twpro_jsversion].substr(twpro_i,2000)); //} } } // wird beim Erstellen eines Popups ausgefuehrt, stellt Code fuer diesen zusammen function twpro_popup(twpro_item) { if (TWPro.twpro_failure) return ''; var twpro_xhtml = ''; if (TWPro.twpro_calculated && twpro_item.twpro_place && document.getElementById("twpro_jobList")) { if ((twpro_item.twpro_place == 'wear') || (twpro_item.twpro_place == 'bag')) { if (document.getElementById("twpro_jobList").selectedIndex != 0) { var twpro_selectedJob = parseInt(document.getElementById("twpro_jobList")[document.getElementById("twpro_jobList").selectedIndex].value); if (twpro_selectedJob >= 0) { var twpro_job = TWPro.twpro_jobs[twpro_selectedJob]; if (twpro_item.twpro_bonus == undefined) { TWPro.twpro_prepareItem(twpro_item); if (twpro_item.twpro_bonus) { for (var twpro_i = 0; twpro_i < TWPro.twpro_jobs.length; twpro_i++) { twpro_item.twpro_jobbonus[TWPro.twpro_jobs[twpro_i].shortName] = TWPro.twpro_testItem(TWPro.twpro_jobs[twpro_i], twpro_item); } } } if (twpro_item.twpro_bonus) { var twpro_aktplus = twpro_item.twpro_jobbonus[TWPro.twpro_jobs[twpro_selectedJob].shortName]; if (twpro_aktplus > 0) { twpro_xhtml += '<span class="item_popup_bonus">+'+ twpro_aktplus + ' ' + twpro_job.name+ '<br /></span><br />'; } } } } } if (twpro_item.twpro_place == 'trader') { if (twpro_item.twpro_bonus == undefined) { TWPro.twpro_prepareItem(twpro_item); if (twpro_item.twpro_bonus) { for (var twpro_i = 0; twpro_i < TWPro.twpro_jobs.length; twpro_i++) { twpro_item.twpro_jobbonus[TWPro.twpro_jobs[twpro_i].shortName] = TWPro.twpro_testItem(TWPro.twpro_jobs[twpro_i], twpro_item); } } } if (twpro_item.twpro_bonus) { var twpro_j = 0; var twpro_plus = []; var twpro_better; var twpro_xhtml_activejob = ''; for (var twpro_i = 0; twpro_i < TWPro.twpro_jobs.length; twpro_i++) { twpro_better = twpro_item.twpro_jobbonus[TWPro.twpro_jobs[twpro_i].shortName] - TWPro.twpro_jobs[twpro_i].twpro_bestStats[twpro_item.type]; if (twpro_better > 0) { var re_jobname = TWPro.twpro_jobs[parseInt(document.getElementById('twpro_jobList')[document.getElementById('twpro_jobList').selectedIndex].value)] || ''; if(re_jobname) re_jobname = re_jobname.name; if (TWPro.twpro_activeJob() && (TWPro.twpro_jobs[twpro_i].name.indexOf(re_jobname) != -1)){ twpro_xhtml_activejob = '<span style="white-space:nowrap;color:rgb(34, 34, 136);">+' + twpro_better + ' ' + TWPro.twpro_jobs[twpro_i].name + '</span><br />'; } else{ twpro_plus.push(twpro_better + ' ' + TWPro.twpro_jobs[twpro_i].name); } twpro_j++; } } if (twpro_j > 0) { twpro_plus.sort(TWPro.twpro_sortPlus); twpro_xhtml += '<span class="item_popup_bonus"><table><tr><td>'; if (twpro_xhtml_activejob) twpro_xhtml += twpro_xhtml_activejob; var bool_j = twpro_j > 30 && twpro_j <= 33; for (var twpro_i = 0; (twpro_i < twpro_plus.length) && (twpro_i < 33); twpro_i++) { twpro_xhtml += '<span style="white-space:nowrap;'; twpro_xhtml += '">+' + twpro_plus[twpro_i] + '</span><br />'; if ((twpro_j <= 30 && twpro_i == 14) || (bool_j && (twpro_i == (Math.round(twpro_j / 2) - 1))) || (twpro_j > 33 && twpro_i == 16)) { twpro_xhtml += '</td><td>'; } } if (twpro_i < twpro_plus.length) { twpro_xhtml += '...'; } twpro_xhtml += '</td></tr></table></span><br />'; } } } } return twpro_xhtml; } // fuegt Auswahlliste in das Inventar ein function twpro_insertList(twpro_data) { if (TWPro.twpro_failure) return; if (!TWPro.twpro_jobsort) { TWPro.twpro_jobsort = 'name'; } TWPro.twpro_bag = {}; TWPro.twpro_bag.twpro_priceWear = 0; TWPro.twpro_bag.twpro_priceBag = 0; TWPro.twpro_bag.twpro_priceItems = 0; TWPro.twpro_bag.twpro_priceYields = 0; TWPro.twpro_wear_items_list = ''; TWPro.twpro_bag.twpro_countType = {}; TWPro.twpro_bag.twpro_countType_diff = {}; TWPro.twpro_bag.twpro_types = []; TWPro.twpro_setItems = {}; TWPro.twpro_setItemsCount = {}; for (var twpro_set in TWPro.twpro_setBonus) { TWPro.twpro_setItemsCount[twpro_set] = 0; } TWPro.twpro_invHashTest = []; for (var twpro_type in Character.itemLevelRequirementDecrease) { if ((twpro_type != 'all') && (!isNaN(Character.itemLevelRequirementDecrease[twpro_type]))) { TWPro.twpro_bag.twpro_types.push(twpro_type); TWPro.twpro_bag.twpro_countType[twpro_type] = 0; TWPro.twpro_bag.twpro_countType_diff[twpro_type] = 0; } } if(typeof Character.itemLevelRequirementDecrease.belt == "undefined" || typeof Character.itemLevelRequirementDecrease.pants == "undefined"){ TWPro.twpro_bag.twpro_types.push("belt", "pants"); TWPro.twpro_bag.twpro_countType["belt"] = 0; TWPro.twpro_bag.twpro_countType_diff["belt"] = 0; TWPro.twpro_bag.twpro_countType["pants"] = 0; TWPro.twpro_bag.twpro_countType_diff["pants"] = 0; Character.itemLevelRequirementDecrease.belt = 0; Character.itemLevelRequirementDecrease.pants = 0; } $('window_inventory').style.height = "502px"; var new_inventory ="data:image/jpg;base64,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"; // wood background var twpro_xhtml = '<div style="background:url(images/inventory/west_inventar_2.jpg); margin-top:-33px; margin-left:-15px; width:770px; height:100%;"></div><div style="position: absolute; background:url('+new_inventory+'); top:0px; margin-top:2px; margin-left:-9px; width:100%; height:49px;"></div>'; twpro_data.page += twpro_xhtml; $('window_inventory_content').style.height = "460px"; twpro_xhtml = '<div style="text-align:right;width:100%;position:relative;margin-top:-6px;height:50px;"><table width="200px" id="twpro_jobDisplay" style="display: inline;position: absolute; visibility:hidden; right:-24px; z-index:2;text-align:right;"><tr><td>'; for(var i=0; i<TWPro.twpro_sorts.length; i++){ var name = TWPro.twpro_sorts[i]; twpro_xhtml += '<a href="javascript:" onmouseup="TWPro.twpro_sortList(\''+name+'\')"><img id="twpro_jobsort_link_'+name+'" alt="" src="images/transparent.png" width="20" height="17" style="background-image:url(data:image/png;base64,'+twpro_sortButtonImg+');background-position:-'+(i*20)+'px '+(TWPro.twpro_jobsort==name?0:-17)+'px" onmouseover="this.style.backgroundPosition=\'-'+(i*20)+'px 0\'" onmouseout="if(TWPro.twpro_jobsort!=\''+name+'\')this.style.backgroundPosition=\'-'+(i*20)+'px -17px\'"/></a>'; } twpro_xhtml += '<a href="javascript:/*Click here to configure TW Pro*/TWPro.twpro_disableJobs();"><img id="twpro_config_button" title="TW Pro ' + AjaxWindow.possibleValues['settings'] + '" width="25" height="15" style="border: 1px solid rgb(62, 44, 35); background: url(/img.php?type=menu) repeat scroll -128px -180px transparent;" src="images/transparent.png"></a>'; twpro_xhtml += '</td></tr><tr><td>'; twpro_xhtml += '<input id="twpro_jobsort_filter" type="checkbox"' + (TWPro.twpro_preference('Hide_unjobs')?' checked="checked"':'') + ' onclick="TWPro.twpro_preference(\'Hide_unjobs\',this.checked);TWPro.twpro_clickfilterList()"/> <select id="twpro_jobList" size="1" onchange="TWPro.twpro_changeJob()" onclick="TWPro.twpro_clickList()" style="background-color: rgb(207, 195, 166); font-size: 10px; width:130px;"><option value="-1" id="twpro_wait" style="background-color: rgb(207, 195, 166);">'+TWPro.lang.STARTCALC+'</option></select>'; twpro_xhtml += ' <input id="twpro_clothingfilter" type="checkbox"' + (TWPro.twpro_preference('dispJobClothingOnly')?' checked="checked"':'') + ' onclick="TWPro.twpro_preference(\'dispJobClothingOnly\',this.checked);TWPro.twpro_bagVis()" />'; twpro_xhtml += '</td></tr></table></div>'; twpro_xhtml += '<div style="position:absolute;top: 52px; left: 72px; overflow-y:auto;height:34px;width:189px;opacity:0.9;z-index:2;" id="twpro_currentJobSkills"><div style="margin:0;float:left;"></div><div style="margin:0;float:left;"></div><div style="margin:0;float:left;"></div><div style="margin:0;float:left;"></div><div style="margin:0;float:left;"></div></div>'; twpro_data.page = twpro_data.page.replace(/<div(.*)top: 13px; left: 5px;"><h2>/, '<div id="div_equipment"$1top: 58px; left: 5px;"><h2>'); for (var twpro_i = 0; twpro_i < TWPro.twpro_bag.twpro_types.length; twpro_i++) { var rep_filter = new RegExp("<div id=\"filter_"+TWPro.twpro_bag.twpro_types[twpro_i]+"\"","g"); twpro_data.page = twpro_data.page.replace(rep_filter, '<div id="filter_'+TWPro.twpro_bag.twpro_types[twpro_i]+'" style="top:98px;"'); } twpro_data.page = twpro_data.page.replace(/<div id="item_trader_button"/, '<div id="item_trader_button" style="position: absolute; margin-top:45px;"'); twpro_data.page = twpro_xhtml+twpro_data.page; // settings for job rankings twpro_xhtml = '<div style="left:320px;position:absolute; top:0px; margin-top:3px;color:#C77341;text-align:center;line-height:160%">'+TWPro.lang.JOBRANKSETTINGS+'<br>'; var imgorder = [20, 40, 60, 100], j=0; for(var i in TWPro.multipliers){ twpro_xhtml += '<img src="images/transparent.png" alt="" style="background-image:url(data:image/png;base64,'+twpro_sortButtonImg+');background-position:-'+imgorder[j++]+'px 0;margin-left:5px" width="20" height="17" /><input type="text" style="background-color: rgb(207, 195, 166);width:23px" value="'+TWPro.multipliers[i]+'" onchange="TWPro.twpro_handleJobrank(this, \''+i+'\')" />'; } twpro_xhtml += '</div>'; twpro_data.page += twpro_xhtml; // search inventory TWPro.searchInventory = {timer:null}; (new Image()).src = twpro_loadingSearchImg; twpro_xhtml = '<label style="z-index:2;position:absolute;top:8px;right:26px;font-size:13px;font-weight:normal;font-style:italic;color:#636;cursor:pointer" for="twpro_searchinventory">'+TWPro.lang.SEARCHINVENTORY+'</label><input type="text" style="z-index:2;width:150px;background:#F0CD8B url(data:image/png;base64,'+twpro_searchButtonImg+') no-repeat scroll 0 0;padding:0 2px 0 19px" id="twpro_searchinventory" onfocus="previousSibling.style.display=\'none\'" onblur="if(this.value==\'\')previousSibling.style.display=\'block\'" onkeyup="TWPro.twpro_searchInventory(event.keyCode==13)" /><span id="twpro_search_help" style="z-index:2;font-size:13px;font-weight:bold;color:#191970;cursor:help;background:#D4C7B0;width:20px;height:17px">?</span> '; twpro_data.page = twpro_data.page.replace(/<div(.*)text-align: center; top: 13px; left: 316px;"><h2>(.+)<\/h2>/, '<div id="twpro_bag" style="position:absolute; z-index:2;left: 318px; margin-top:6px;"><img src="/images/items/yield/bagpack.png" width="25" height="25"></div><div$1top: 58px; left: 316px;text-align: right;z-index:1;"><h2>$2 '+twpro_xhtml+'</h2>'); twpro_xhtml = '<div id ="display_sets" style="z-index:2;position:absolute;right:3px;top:105px;">'; twpro_xhtml_2 = ''; for (var twpro_set in TWPro.twpro_setBonus) { if (TWPro.twpro_setBonus[twpro_set][1].gender == Character.characterSex || TWPro.twpro_setBonus[twpro_set][1].gender == "mixed"){ twpro_xhtml += '<a href="javascript:void(0)"><img id="twpro_set_filters_'+twpro_set+'_bg" src="images/inventory/bag.png" style="z-index:1;width:20px;height:20px;"/><img id="twpro_set_filters_'+twpro_set+'" alt="" src="'+TWPro.twpro_setBonus[twpro_set][1].image+'" style="z-index:2;width:20px;height:20px;margin-left:-20px;opacity:0.65;" onmouseover="this.setOpacity(parseFloat(this.style.opacity)+0.35);" onmouseout="this.setOpacity(parseFloat(this.style.opacity)-0.35);" onclick="this.setOpacity(1.35);TWPro.twpro_show_set(\''+twpro_set+'\')"/></a><br>'; } else{ twpro_xhtml_2 += '<a href="javascript:void(0)"><img id="twpro_set_filters_'+twpro_set+'_bg" src="images/inventory/bag.png" style="z-index:1;width:20px;height:20px;"/><img id="twpro_set_filters_'+twpro_set+'" alt="" src="'+TWPro.twpro_setBonus[twpro_set][1].image+'" style="z-index:2;width:20px;height:20px;margin-left:-20px;opacity:0.65;" onmouseover="this.setOpacity(parseFloat(this.style.opacity)+0.35);" onmouseout="this.setOpacity(parseFloat(this.style.opacity)-0.35);" onclick="this.setOpacity(1.35);TWPro.twpro_show_set(\''+twpro_set+'\')"/></a><br>'; } } twpro_xhtml_2 += '</div>'; twpro_data.page += twpro_xhtml+twpro_xhtml_2; } function twpro_handleJobrank(field, type){ var val = parseFloat(field.value); if(isNaN(val)) val = 1; field.value = val; TWPro.multipliers[type] = 1*val; var multipliers = []; for(var i in TWPro.multipliers){ multipliers.push(TWPro.multipliers[i]); } TWPro.twpro_preference('multipliers', multipliers.join(':')); if(TWPro.twpro_jobsort == 'comb'){ TWPro.twpro_sortList('comb'); } } twpro_toggle_set = 0; function twpro_show_set(set_searched){ var anyresult = null; if (twpro_toggle_set != set_searched && set_searched != 0){ if(document.getElementById('twpro_searchinventory').value != ''){ document.getElementById('twpro_searchinventory').value = ''; TWPro.twpro_searchInventory(true); document.getElementById('twpro_searchinventory').previousSibling.style.display = ''; } remove_highlight(); twpro_toggle_set = set_searched; var bag_items = document.getElementById('bag').getElementsByTagName('div'), i, inv_id; for(i=0; i<bag_items.length; i++){ if (bag_items[i].firstChild.getAttribute('src') !=null){ bag_items[i].style.display = 'none'; inv_id = (bag_items[i].id).replace("item_", ""); if (Bag.getInstance().items[inv_id].obj.set != null){ if (Bag.getInstance().items[inv_id].obj.set.key == set_searched){ bag_items[i].style.display = ''; anyresult = 1; } } } } for (var twpro_wear in Wear.wear) { if (Wear.wear[twpro_wear].obj.set != null && Wear.wear[twpro_wear].obj.set.key == set_searched){ $('char_'+twpro_wear).className = $('char_'+twpro_wear).className + ' wear_'+twpro_wear+'_highlight'; } else{ $('char_'+twpro_wear).className = $('char_'+twpro_wear).className.replace(' wear_'+twpro_wear+'_highlight',' wear_'+twpro_wear+'_highlight2'); } } } else{ remove_highlight(); twpro_toggle_set = 0; TWPro.twpro_bagVis(); } function remove_highlight(){ if (twpro_toggle_set != 0) { $('twpro_set_filters_'+twpro_toggle_set).setOpacity(parseFloat($('twpro_set_filters_'+twpro_toggle_set).style.opacity)-0.35); for (var twpro_wear in Wear.wear) { if (Wear.wear[twpro_wear].obj.set != null && Wear.wear[twpro_wear].obj.set.key == twpro_toggle_set){ $('char_'+twpro_wear).className = $('char_'+twpro_wear).className.replace(' wear_'+twpro_wear+'_highlight', ''); } else{ $('char_'+twpro_wear).className = $('char_'+twpro_wear).className.replace(' wear_'+twpro_wear+'_highlight2',' wear_'+twpro_wear+'_highlight'); } } } } } function twpro_searchInventory(searchNow, updateItemId){ if(twpro_toggle_set != 0) TWPro.twpro_show_set(0); if(!TWPro.searchInventory.cache && updateItemId) return; if(!searchNow){ clearTimeout(TWPro.searchInventory.timer); TWPro.searchInventory.timer = setTimeout(TWPro.twpro_searchInventory, 500, true, updateItemId); return; } clearTimeout(TWPro.searchInventory.timer); TWPro.searchInventory.timer = null; var search = document.getElementById('twpro_searchinventory'); if(!search) return; TWPro.twpro_internalWindowToTop("window_inventory"); var cache, i, item, invent = document.getElementById('bag'), reJunk = /<[^>]+>|\n+/g, reSplit = /\t+/g, rePopupType = /"item_popup_type">([^<]+)<\/span>/, rePopupBonusAttr = /"item_popup_bonus_attr">((?:[+\-]\d{1,2}\s[^<]+(?:<br \/>)?)+)<\/span>/, rePopupBonusSkill = /"item_popup_bonus_skill">((?:[+\-]\d{1,2}\s[^<]+(?:<br \/>)?)+)<\/span>/, unjunk = function(subject, replace){return subject.replace(reJunk, replace||'').replace(reSplit, ' ').toLowerCase()}, searchTerms = unjunk(search.value), isRegExp = false; // anyresult; if(/[*?]/.test(searchTerms)){ searchTerms = new RegExp(searchTerms.replace(/[.+\[\]()\\{}]/g, '\\$&').replace(/\?+/g, '[^\t]?').replace(/\*+/g, '[^\t]*?')); isRegExp = true; } search.style.backgroundImage = 'url('+twpro_loadingSearchImg+')'; var processbagItem = function(iid, bag_item){ if(bag_item){ bag_obj = bag_item.obj; cache[iid] = unjunk(bag_obj.name); if((wat = bag_obj.description)){ cache[iid] += '\t' + unjunk(wat); } if((wat = bag_item.popup.popup.xhtml.match(rePopupType))){ cache[iid] += '\t' + unjunk(wat[1]); } if((wat = bag_item.popup.popup.xhtml.match(rePopupBonusAttr))){ cache[iid] += '\t' + unjunk(wat[1], '\t'); } if((wat = bag_item.popup.popup.xhtml.match(rePopupBonusSkill))){ cache[iid] += '\t' + unjunk(wat[1], '\t'); } if((wat = bag_obj.set)){ cache[iid] += '\t' + unjunk(wat.name); } } if((item=invent.getElementById('item_'+iid))){ disp = isRegExp ? searchTerms.test(cache[iid]) : cache[iid].indexOf(searchTerms) != -1; // don't add them together, FF 3.6 has an annoying bug: disp = false instead of '' or 'twpro_search_hide' disp = disp ? '' : 'twpro_search_hide'; item.className = item.className.replace(/\s*twpro_search_hide|$/, " " + disp); } }, bag_items = Bag.getInstance().items, i, disp if(!(cache = TWPro.searchInventory.cache)){ cache = TWPro.searchInventory.cache = {}; for(i in bag_items){ processbagItem(i, bag_items[i]); } } else{ for(i in cache){ processbagItem(i); } if(bag_items[updateItemId]){ processbagItem(updateItemId, bag_items[updateItemId]); } } if(search.value == '') TWPro.searchInventory.cache = null; // avoid full bag reload when using set filters TWPro.twpro_bagVis(); search.style.backgroundImage = 'url(data:image/png;base64,'+twpro_searchButtonImg+')'; } function twpro_searchTrader(searchNow, updateItemId, town_id, market_id){ var searchIn = TWPro.searchTrader[town_id]; if(!searchIn.cache && updateItemId) return; if(!searchNow){ clearTimeout(searchIn.timer); searchIn.timer = setTimeout(TWPro.twpro_searchTrader, 500, true, updateItemId, town_id, market_id); return; } clearTimeout(searchIn.timer); searchIn.timer = null; var search = document.getElementById('twpro_market_'+town_id+'_search'); if(!search) return; TWPro.twpro_internalWindowToTop("window_building_market_"+town_id); var cache, item, invent = document.getElementById('market_'+town_id+'_inv_div'), reJunk = /<[^>]+>|\n+/g, reSplit = /\t+/g, rePopupType = /"item_popup_type">([^<]+)<\/span>/, rePopupBonusAttr = /"item_popup_bonus_attr">((?:[+\-]\d{1,2}\s[^<]+(?:<br \/>)?)+)<\/span>/, rePopupBonusSkill = /"item_popup_bonus_skill">((?:[+\-]\d{1,2}\s[^<]+(?:<br \/>)?)+)<\/span>/, unjunk = function(subject, replace){return subject.replace(reJunk, replace||'').replace(reSplit, ' ').toLowerCase()}, searchTerms = unjunk(search.value), isRegExp = false, anyresult=0; if(/[*?]/.test(searchTerms)){ searchTerms = new RegExp(searchTerms.replace(/[.+\[\]()\\{}]/g, '\\$&').replace(/\?+/g, '[^\t]?').replace(/\*+/g, '[^\t]*?')); isRegExp = true; } search.style.backgroundImage = 'url('+twpro_loadingSearchImg+')'; var processbagItem = function(iid, bag_item){ if(bag_item){ bag_obj = bag_item.obj; cache[iid] = unjunk(bag_obj.name); if((wat = bag_obj.description)){ cache[iid] += '\t' + unjunk(wat); } if((wat = bag_item.popup.popup.xhtml.match(rePopupType))){ cache[iid] += '\t' + unjunk(wat[1]); } if((wat = bag_item.popup.popup.xhtml.match(rePopupBonusAttr))){ cache[iid] += '\t' + unjunk(wat[1], '\t'); } if((wat = bag_item.popup.popup.xhtml.match(rePopupBonusSkill))){ cache[iid] += '\t' + unjunk(wat[1], '\t'); } if((wat = bag_obj.set)){ cache[iid] += '\t' + unjunk(wat.name); } } if((item=invent.getElementById('item_'+iid))){ disp = isRegExp ? searchTerms.test(cache[iid]) : cache[iid].indexOf(searchTerms) != -1; // don't add them together, FF 3.6 has an annoying bug: disp = false instead of '' or 'twpro_search_hide' disp = disp ? '' : 'twpro_search_hide'; item.className = item.className.replace(/\s*twpro_search_hide|$/, " " + disp); } }, bii_bag_items = PlayerInventory.getInstance().bags["market_"+market_id].items, i, disp, bag_items = invent.getElementsByTagName('div'), nores = document.getElementById('twpro_nosearchresult'+town_id); if(!(cache = searchIn.cache)){ cache = searchIn.cache = {}; for(i in bii_bag_items){ processbagItem(i, bii_bag_items[i]); } } else{ for(i in cache){ processbagItem(i); } if(bii_bag_items[updateItemId]){ processbagItem(updateItemId, bii_bag_items[updateItemId]); } } for(i=0; i<bag_items.length; i++){ if(bag_items[i].id.substr(0, 5) != 'item_') continue; if(bag_items[i].className.indexOf("twpro_search_hide") != -1 || bag_items[i].className.indexOf("nonauctionable") != -1){ continue; } anyresult = 1; } if(!anyresult){ if(!nores){ nores = document.createElement('div'); nores.id = 'twpro_nosearchresult'+town_id; nores.style.cssText = 'height: 290px;'; invent.appendChild(nores); } nores.innerHTML = TWPro.lang.NOSEARCHRESULT.replace('%2', '<br><a href="javascript:" onclick="document.getElementById(\'twpro_market_'+town_id+'_search\').value=\'\';TWPro.twpro_searchTrader(true, null, '+town_id+', '+market_id+')">').replace('%3', '</a>').replace('%1', '<em>'+document.getElementById('twpro_market_'+town_id+'_search').value.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&')+'</em>'); } else if(nores){ nores.parentNode.removeChild(nores); } search.style.backgroundImage = 'url(data:image/png;base64,'+twpro_searchButtonImg+')'; } function twpro_bagVis(){ var bag_items = document.getElementById('bag').getElementsByTagName('div'), i, hide = TWPro.twpro_preference('dispJobClothingOnly') && document.getElementById('twpro_jobList').selectedIndex != 0, anyresult, nores = document.getElementById('twpro_nosearchresult'); for(i=0; i<bag_items.length; i++){ if(bag_items[i].id.substr(0, 5) != 'item_') continue; if(bag_items[i].className.indexOf('twpro_search_hide') != -1){ continue; } if(hide && bag_items[i].firstChild.className == ''){ bag_items[i].style.display = 'none'; } else{ bag_items[i].style.display = ''; anyresult = 1; } } if(!anyresult){ var extra = hide?'<br /><br /><a href="javascript:TWPro.twpro_preference(\'dispJobClothingOnly\',document.getElementById(\'twpro_clothingfilter\').checked=false);TWPro.twpro_bagVis()">'+TWPro.lang.DISABLEBESTFORJOB+'</a>':''; if(!nores){ nores = document.createElement('div'); nores.id = 'twpro_nosearchresult'; // nores.style.color = "#C77341"; nores.style.cssText = 'padding: 5px; background-image: url("/images/bgdark.png");border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;'; document.getElementById('bag').appendChild(nores); } nores.innerHTML = TWPro.lang.NOSEARCHRESULT .replace('%2', '<br /><a href="javascript:" onclick="document.getElementById(\'twpro_searchinventory\').value=\'\';TWPro.twpro_searchInventory(true)">') .replace('%3', '</a>'+extra) .replace('%1', '<em>'+document.getElementById('twpro_searchinventory').value.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&')+'</em>'); } else if(nores){ nores.parentNode.removeChild(nores); } } function internalWindowToTop(windowId){ var windows = document.getElementById("windows"), inv = document.getElementById(windowId); if(inv && inv.parentNode == windows && inv != windows.firstChild){ windows.insertBefore(inv, windows.firstChild); } } function twpro_sortList(twpro_jobSortItem) { if (TWPro.twpro_failure) return; TWPro.twpro_jobsort = twpro_jobSortItem; for(var i=0; i<TWPro.twpro_sorts.length; i++){ TWPro.twpro_jobSortMark(TWPro.twpro_sorts[i], false); } TWPro.twpro_jobSortMark(twpro_jobSortItem, true); if (TWPro.twpro_calculated && document.getElementById("twpro_jobList")) { if (document.getElementById('twpro_wait').text == TWPro.lang.CHOOSEJOB) { document.getElementById('twpro_wait').text = TWPro.lang.CALCJOB; var twpro_selectedJobName = 'none'; if (document.getElementById("twpro_jobList").selectedIndex != 0) { var twpro_selectedJob = parseInt(document.getElementById("twpro_jobList")[document.getElementById("twpro_jobList").selectedIndex].value); if (twpro_selectedJob >= 0) { twpro_selectedJobName = TWPro.twpro_jobs[twpro_selectedJob].shortName; } } document.getElementById("twpro_jobList").selectedIndex = 0; while (document.getElementById("twpro_jobList").lastChild.id != 'twpro_wait') { document.getElementById("twpro_jobList").removeChild(document.getElementById("twpro_jobList").lastChild); } TWPro.twpro_sortJobs(); TWPro.twpro_insertListItems(); for (var twpro_i = 0; twpro_i < TWPro.twpro_jobs.length; twpro_i++) { TWPro.twpro_jobs[twpro_i].twpro_jobid = twpro_i; } for (var twpro_i = 0; twpro_i < document.getElementById("twpro_jobList").options.length; twpro_i++) { var twpro_jobTest = parseInt(document.getElementById("twpro_jobList").options[twpro_i].value); if (twpro_jobTest >= 0) { if (twpro_selectedJobName == TWPro.twpro_jobs[twpro_jobTest].shortName) { document.getElementById("twpro_jobList").selectedIndex = twpro_i; } } } document.getElementById('twpro_wait').text = TWPro.lang.CHOOSEJOB; } else { TWPro.twpro_sortJobs(); } } document.getElementById('twpro_jobsort_link_' + twpro_jobSortItem).blur(); } function twpro_jobSortMark(twpro_jobSortItem, twpro_jobSortValue) { if (TWPro.twpro_failure) return; var twpro_bgposition = ''; for(var i=0; i<TWPro.twpro_sorts.length; i++){ if(TWPro.twpro_sorts[i] == twpro_jobSortItem){ twpro_bgposition = (20*-i)+'px '; break; } } twpro_bgposition += twpro_jobSortValue ? '0px' : '-17px'; document.getElementById('twpro_jobsort_link_' + twpro_jobSortItem).style.backgroundPosition = twpro_bgposition; } // macht die Liste sichtbar function twpro_showList() { if (TWPro.twpro_failure) return; $('twpro_jobsort_link_name').addMousePopup(new MousePopup(TWPro.lang.SORTBYNAME, 100, {opacity:0.95})); $('twpro_jobsort_link_erfahrung').addMousePopup(new MousePopup(TWPro.lang.SORTBYXP, 100, {opacity:0.95})); $('twpro_jobsort_link_money').addMousePopup(new MousePopup(TWPro.lang.SORTBYWAGES, 100, {opacity:0.95})); $('twpro_jobsort_link_luckItemValue').addMousePopup(new MousePopup(TWPro.lang.SORTBYLUCK, 100, {opacity:0.95})); $('twpro_jobsort_link_comb').addMousePopup(new MousePopup(TWPro.lang.SORTBYCOMB, 100, {opacity:0.95})); $('twpro_jobsort_link_gefahr').addMousePopup(new MousePopup(TWPro.lang.SORTBYDANGER, 100, {opacity:0.95})); $('twpro_jobsort_link_laborp').addMousePopup(new MousePopup(TWPro.lang.SORTBYLABORP, 100, {opacity:0.95})); $('twpro_jobsort_filter').addMousePopup(new MousePopup(TWPro.lang.FILTERJOBS, 100, {opacity:0.95})); $('twpro_clothingfilter').addMousePopup(new MousePopup(TWPro.lang.FILTERCLOTHING, 100, {opacity:0.95})); $('twpro_search_help').addMousePopup(new MousePopup(TWPro.lang.SEARCHHELP, 100, {opacity:0.95})); for (var twpro_wear in Wear.wear) { if (Wear.wear[twpro_wear].obj.set != null){ TWPro.twpro_setBonus[Wear.wear[twpro_wear].obj.set.key][1].name = Wear.wear[twpro_wear].obj.set.name; } } var bagitems = Bag.getInstance().items; for (var twpro_bag in bagitems) { if (bagitems[twpro_bag].obj.set != null){ TWPro.twpro_setBonus[bagitems[twpro_bag].obj.set.key][1].name = bagitems[twpro_bag].obj.set.name; } } for (var twpro_set in TWPro.twpro_setBonus) { if (TWPro.twpro_setBonus[twpro_set][1].name){ $('twpro_set_filters_'+twpro_set).addMousePopup(new MousePopup('<b>'+TWPro.twpro_setBonus[twpro_set][1].name+'</b>', 100, {opacity:0.95})); } else{ $('twpro_set_filters_'+twpro_set).addMousePopup(new MousePopup(TWPro.lang.NOITEMSETS+' (<i>'+twpro_set+'</i>)', 100, {opacity:0.95})); $('twpro_set_filters_'+twpro_set).setOpacity(0.05); $('twpro_set_filters_'+twpro_set).style.cursor="default"; $('twpro_set_filters_'+twpro_set).onclick="void(0)"; } } TWPro.twpro_bag.twpro_bagPopup = new MousePopup('', 100, {opacity:0.95}); TWPro.twpro_bag.twpro_bagPopup.twpro_refresh = function () { this.setXHTML(TWPro.twpro_getBagPopup()); }; TWPro.twpro_bag.twpro_bagPopup.twpro_refresh(); $('twpro_bag').addMousePopup(TWPro.twpro_bag.twpro_bagPopup); if (TWPro.twpro_invHash == TWPro.twpro_invHashTest.join(',')) { for (var twpro_wear in Wear.wear) { TWPro.twpro_prepareItem(Wear.wear[twpro_wear].obj); if (Wear.wear[twpro_wear].obj.twpro_bonus) { Wear.wear[twpro_wear].obj.twpro_jobbonus = TWPro.twpro_itemStorage[Wear.wear[twpro_wear].obj.item_id].twpro_jobbonus; } } var bagitems = Bag.getInstance().items; for (var twpro_bag in bagitems) { TWPro.twpro_prepareItem(bagitems[twpro_bag].obj); if (bagitems[twpro_bag].obj.twpro_bonus) { bagitems[twpro_bag].obj.twpro_jobbonus = TWPro.twpro_itemStorage[bagitems[twpro_bag].obj.item_id].twpro_jobbonus; } } TWPro.twpro_insertListItems(); document.getElementById('twpro_wait').text = TWPro.lang.CHOOSEJOB; } document.getElementById('twpro_jobDisplay').style.visibility = 'visible'; } function twpro_getBagPopup() { if (TWPro.twpro_failure) return ''; eval(String(ItemPopup.prototype.getXHTML.toString().match(/var item_type_title.+"};/))); var twpro_xhtml = ''; twpro_xhtml += '<div class="item_popup">'; twpro_xhtml += '<span class="item_popup_title">'+TWPro.lang.INVENTSTATS+'</span>'; twpro_xhtml += '<span class="item_popup_requirement_text"><hr>'+TWPro.lang.SELLVALUE+'<hr></span>'; twpro_xhtml += '<table>'; twpro_xhtml += '<tr><td class="item_popup_trader_price">'+document.getElementById('window_inventory_content').getElementsByTagName('h2')[1].innerHTML+': </td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + TWPro.twpro_bag.twpro_priceWear + ' $</td></tr>'; twpro_xhtml += '<tr><td class="item_popup_trader_price">'+document.getElementById('window_inventory_content').getElementsByTagName('h2')[0].innerHTML.substring(0,document.getElementById('window_inventory_content').getElementsByTagName('h2')[0].innerHTML.indexOf(" <label"))+': <hr></td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + TWPro.twpro_bag.twpro_priceBag + ' $<hr></td></tr>'; twpro_xhtml += '<tr><td class="item_popup_trader_price">'+TWPro.lang.OBJECTS+': </td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + TWPro.twpro_bag.twpro_priceItems + ' $</td></tr>'; twpro_xhtml += '<tr><td class="item_popup_trader_price">'+TWPro.lang.PRODUCTS+': <hr></td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + TWPro.twpro_bag.twpro_priceYields + ' $<hr></td></tr>'; twpro_xhtml += '<tr><td class="item_popup_trader_price">'+TWPro.lang.TOTAL+': </td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + parseInt(TWPro.twpro_bag.twpro_priceWear + TWPro.twpro_bag.twpro_priceBag) + ' $</td></tr>'; twpro_xhtml += '</table>'; twpro_xhtml += '<hr><span style="text-align:right;font-weight:normal;float:right;">[≠] </span><span class="item_popup_requirement_text">'+TWPro.lang.QUANTITIES+'</span><hr>'; twpro_xhtml += '<table width="100%">'; var twpro_all = 0; var twpro_all_diff = 0; for (var twpro_type in item_type_title){ if (twpro_type != "yield"){ twpro_xhtml += '<tr><td class="item_popup_trader_price">'+item_type_title[twpro_type]+': </td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + TWPro.twpro_bag.twpro_countType[twpro_type] + '</td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;font-weight:normal;">[' + TWPro.twpro_bag.twpro_countType_diff[twpro_type] + ']</td></tr>'; twpro_all += TWPro.twpro_bag.twpro_countType[twpro_type]; twpro_all_diff += TWPro.twpro_bag.twpro_countType_diff[twpro_type]; } } twpro_xhtml += '<tr><td></td><td><hr></td><td><hr></td></tr><tr><td class="item_popup_trader_price">'+TWPro.lang.OBJECTS+': <hr></td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + twpro_all + '<hr></td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;font-weight:normal;">[' + twpro_all_diff + ']<hr></td></tr>'; twpro_xhtml += '<tr><td class="item_popup_trader_price">'+TWPro.lang.PRODUCTS+': <hr></td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + TWPro.twpro_bag.twpro_countType['yield'] + '<hr></td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;font-weight:normal;">[' + TWPro.twpro_bag.twpro_countType_diff['yield'] + ']<hr></td></tr>'; twpro_xhtml += '<tr><td class="item_popup_trader_price">'+TWPro.lang.TOTAL+': </td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;">' + parseInt(twpro_all + TWPro.twpro_bag.twpro_countType['yield']) + '</td>'; twpro_xhtml += '<td class="item_popup_trader_price" style="text-align:right;font-weight:normal;">[' + parseInt(twpro_all_diff + TWPro.twpro_bag.twpro_countType_diff['yield']) + ']</td></tr>'; twpro_xhtml += '</table>'; twpro_xhtml += '</div>'; return twpro_xhtml; } // wird beim draufklicken auf die Liste ausgefuehrt, stoesst Berechnungen an function twpro_clickList() { if (TWPro.twpro_failure) return; if (document.getElementById('twpro_wait').text != TWPro.lang.CALCJOB && document.getElementById('twpro_wait').text != TWPro.lang.CHOOSEJOB) { document.getElementById('twpro_wait').text = TWPro.lang.CALCJOB; window.setTimeout(TWPro.twpro_updateList, 0); } } function twpro_clickfilterList() { if (TWPro.twpro_failure) return; if (document.getElementById('twpro_wait').text == TWPro.lang.CHOOSEJOB) { // document.getElementById('twpro_wait').text = TWPro.lang.LOADING; var twpro_wait = document.getElementById('twpro_wait'); document.getElementById('twpro_jobList').style.backgroundColor = 'rgb(207, 195, 166)'; document.getElementById('twpro_jobList').innerHTML = '<option style="background-color: rgb(207, 195, 166);" id="twpro_wait" value="-1">'+twpro_wait.text+'</option>'; //twpro_clickList(); TWPro.twpro_insertListItems(); } } function twpro_setInfo(centerWindowId) { var html = '<table class="shadow_table" style="width:100%;height:100%;">'; html += '<tbody><tr>'; html += '<td class="edge_shadow_top_left"></td>'; html += '<td class="border_shadow_top"></td>'; html += '<td class="edge_shadow_top_right"></td>'; html += '</tr>'; html += '<tr>'; html += '<td class="border_shadow_left"></td>'; html += '<td class="shadow_content">'; html += '<div style="overflow:auto;height:400px;width:250px;">'; for (var setName in TWPro.twpro_setBonus) { //if (setName == "fireworker_set") continue; var friendlyName = TWPro.set_names[setName]; html += '<div class="item_popup twpro_setinfo_entry">'; if (friendlyName.charAt(0) != "<") { html += '<a style="float:right;" href="javascript://Search inventory for items from this set" onclick="(function(){var search=decodeURIComponent(\'' + encodeURIComponent(friendlyName).replace(/'/g, "\\'") + '\'),query=document.getElementById(\'twpro_searchinventory\').value==search?\'\':search;document.getElementById(\'twpro_searchinventory\').previousSibling.style.display=query?\'none\':\'\';document.getElementById(\'twpro_searchinventory\').value=query;TWPro.twpro_searchInventory(true);})()"><img title="' + TWPro.lang.SEARCHINVENTORY + ': ' + friendlyName + '" alt="Q" src="data:image/png;base64,'+twpro_searchButtonImg+'" width="16" height="16" style="border:1px solid black;"></a>'; } html += '<span class="item_popup_title twpro_setinfo_name_clicker"'; html += ' onclick="nextSibling.style.display=nextSibling.style.display?\'\':\'none\'">' + friendlyName + "</span>"; html += '<div class="twpro_setinfo_set" style="display:none">'; var items = TWPro.twpro_setBonus[setName], html2, html3; for (var i=0; i<items.length; i++) { if (!items[i]) continue; if (setName == "set_sleeper" && i==1) continue; html3 = '<span class="item_popup_requirement_text twpro_setinfo_xitems">' + TWPro.lang.WITHSETITEMS.replace('%1', i) + '</span>'; var setInfo = items[i], anyinfo=0; if (setInfo.bonus) { if (setInfo.bonus.attributes) { html2 = ''; for (var attr_name in setInfo.bonus.attributes) { if (setInfo.bonus.attributes[attr_name]) { if (setInfo.bonus.attributes[attr_name] > 0) { html2 += '+'; } html2 += setInfo.bonus.attributes[attr_name] + ' ' + Character.attribute_titles[attr_name] + '<br>'; } } if (html2) { html3 += '<span class="item_popup_bonus_attr">' + html2 + '</span>'; anyinfo++; } } if (setInfo.bonus.skills) { html2 = ''; for (var skill_name in setInfo.bonus.skills) { if (setInfo.bonus.skills[skill_name]) { if (setInfo.bonus.skills[skill_name] > 0) { html2 += '+'; } html2 += setInfo.bonus.skills[skill_name] + ' ' + Character.skill_titles[skill_name] + '<br>'; } } if (html2) { html3 += '<span class="item_popup_bonus_skill">' + html2 + '</span>'; anyinfo++; } } } if (setInfo.jobBonus) { html2 = ''; for (var job_name in setInfo.jobBonus) { if (setInfo.jobBonus[job_name]) { var job_title = job_name == 'all' ? TWPro.lang.LABORPOINTS : TWPro.job_titles[job_name]; if (!job_title) { job_title = job_name; } if (setInfo.jobBonus[job_name] > 0) { html2 += '+'; } html2 += setInfo.jobBonus[job_name] + ' ' + job_title + '<br>'; } } if (html2) { html3 += '<span class="item_popup_bonus">' + html2 + '</span>'; anyinfo++; } } if (setInfo.speedBonus) { html3 += '<span class="item_popup_bonus">+' + setInfo.speedBonus + '% ' + TWPro.lang.SPEED + '</span>'; anyinfo++; } if (setName == "set_sleeper") { html3 += '<span class="item_popup_bonus">+' + Math.abs(Math.round(100-100*TWPro.twpro_sleeperBonus(i))) + '% '+TWPro.lang.PERCREGENERATION; if (i == 6) { html3 += '<br>+1 ' + TWPro.lang.PRAYING; } html3 += '</span>'; anyinfo++; } if (setInfo.luckBonus) { html3 += '<span class="item_popup_bonus">+' + setInfo.luckBonus + '% '+TWPro.lang.LUCK+'</span>'; anyinfo++; } if (anyinfo) { html += html3; } } html += '</div></div>'; } html += '</div></td>'; html += '<td class="border_shadow_right"></td>'; html += '</tr>'; html += '<tr>'; html += '<td class="edge_shadow_bottom_left"></td>'; html += '<td class="border_shadow_bottom"></td>'; html += '<td class="edge_shadow_bottom_right"></td>'; html += '</tr>'; html += '</tbody></table>'; var wasPreviouslyOpened = document.getElementById("window_TWPro_setsInfo_Sets") ? true : false; AjaxWindow.show("TWPro_setsInfo", undefined, "Sets", html, {title:TWPro.lang.SETSINFO}, true); $E("#window_TWPro_setsInfo_Sets .window_refresh").href = "javascript:TWPro.twpro_setInfo('" + (centerWindowId||"") + "');"; var window_TWPro_setsInfo_Sets = document.getElementById("window_TWPro_setsInfo_Sets"); window_TWPro_setsInfo_Sets.style.width = "296px"; if (window_TWPro_setsInfo_Sets.firstChild.className != "twpro_left_border") { window_TWPro_setsInfo_Sets.firstChild.style.backgroundPosition = "right center"; var leftBorder = document.createElement("div"); leftBorder.style.cssText = "background: url(../images/main/borders_window.png) repeat scroll 0 0 transparent;height:100%"; leftBorder.className = "twpro_left_border"; window_TWPro_setsInfo_Sets.insertBefore(leftBorder, window_TWPro_setsInfo_Sets.firstChild); } window_TWPro_setsInfo_Sets.getElementsByTagName("h2")[0].style.cssText = "width:285px;text-align:center"; document.getElementById("window_TWPro_setsInfo_Sets_content").style.cssText = "width:272px;height:409px;"; var centerWindow; if (centerWindowId && (centerWindow=document.getElementById(centerWindowId))) { window_TWPro_setsInfo_Sets.style.top = centerWindow.offsetTop + "px"; var totalWidthRequired = centerWindow.offsetWidth + window_TWPro_setsInfo_Sets.offsetWidth, availWidth = document.body.offsetWidth; if (totalWidthRequired < availWidth * 1.1) {// ten percent treshold if (centerWindow.offsetLeft + totalWidthRequired > availWidth) { centerWindow.style.left = Math.max(0, availWidth - totalWidthRequired) / 2 + "px"; } window_TWPro_setsInfo_Sets.style.left = centerWindow.offsetLeft + centerWindow.offsetWidth + "px"; } } } function twpro_disableJobs(){ var CustomJobList = { 'construct': TWPro.lang.CONSTRUCTION, 'duelshootingatt': TWPro.lang.DUELSHOOTINGATT, 'duelshootingdef': TWPro.lang.DUELSHOOTINGDEF, 'duelvigor': TWPro.lang.DUELVIGOR, 'fortatt': TWPro.lang.FORTATTACK, 'fortdef': TWPro.lang.FORTDEFEND, 'speed': TWPro.lang.SPEED, 'regeneration': TWPro.lang.REGENERATION }; if(!TWPro.disabledJobs) TWPro.disabledJobs = {}; var xhtmlShowHide = ['', ''], ShowHide = ['show_to_hide', 'hide_to_show'], jobs = [], xhtml = '<table class="shadow_table" style="width:100%;height:100%;">'; xhtml += '<tbody><tr>'; xhtml += '<td class="edge_shadow_top_left"></td>'; xhtml += '<td class="border_shadow_top"></td>'; xhtml += '<td class="edge_shadow_top_right"></td>'; xhtml += '</tr>'; xhtml += '<tr>'; xhtml += '<td class="border_shadow_left"></td>'; xhtml += '<td class="shadow_content">'; xhtml += '<div style="overflow:auto;height:400px;width:679px;">'; xhtml += '<table id="twpro_settings_hidejob_table"><tbody>'; xhtml += '<tr><td colSpan="4">' + TWPro.lang.HIDEJOBDESC + '</td></tr>'; xhtml += '<tr><td colSpan="2">'+TWPro.lang.SHOWN; xhtml += '</td><td>'+TWPro.lang.HIDDEN+'</td>'; xhtml += '<td><a href="javascript:/*Click here to open the Set info window*/TWPro.twpro_setInfo(\'window_TWPro_settings_Jobs\');">' + TWPro.lang.SETSINFO + '</a></td></tr>\n'; for(var job in JobList){ job = JobList[job]; jobs.push([job.shortName, job.name]); } for(var job in CustomJobList){ jobs.push([job, CustomJobList[job]]); } jobs.sort(function(x,y){return x[1].localeCompare(y[1])}); for(var i=0;i<jobs.length;i++){ job = jobs[i]; xhtmlShowHide[!!TWPro.disabledJobs[job[0]]*1] += '<option ondblclick="javascript:void TWPro.twpro_moveJobSetting(\''+ShowHide[!!TWPro.disabledJobs[job[0]]*1]+'\');" value="'+job[0]+'">'+job[1]+'</option>\n'; } xhtml += '<tr id="twpro_settings_jobs_main"><td><select id="twpro_settings_jobs_shown" multiple="multiple" size="15" style="width:200px;">'; xhtml += xhtmlShowHide[0]; xhtml += '</select></td><td><div style="width:46px">'; xhtml += '<a href="javascript:void TWPro.twpro_moveJobSetting(\'show_to_hide\');" class="button_wrap button"><span class="button_left"></span><span class="button_middle">>></span><span class="button_right"></span><span style="clear: both;"></span></a>'; xhtml += '<br /><a href="javascript:void TWPro.twpro_moveJobSetting(\'hide_to_show\');" class="button_wrap button"><span class="button_left"></span><span class="button_middle"><<</span><span class="button_right"></span><span style="clear: both;"></span></a>'; // xhtml += '<br /><input id="twpro_jobsort_filter" type="checkbox"' + (TWPro.twpro_preference('Hide_unjobs')?' checked="checked"':'') + ' title="'+TWPro.lang.FILTERJOBS+'" />'; xhtml += '</div></td><td><select id="twpro_settings_jobs_hidden" multiple="multiple" size="15" style="width:200px;">'; xhtml += xhtmlShowHide[1]; xhtml += '</select></td>'; xhtml += '<td><div style="height:259px;overflow-y:auto;width:200px;"><p style="font-size:10.5px;">'; xhtml += TWPro.lang.SETSETTINGS + '</p>'; for (var internal_name in TWPro.set_names) { if(internal_name == "fireworker_set") continue; var isValidSet = TWPro.twpro_validSet(internal_name); xhtml += '<label id="twpro_settings_setlabel_' + internal_name + '" title="'; if (!isValidSet) { xhtml += TWPro.lang.CANNOTWEAR; xhtml += '" style="text-decoration:line-through' } xhtml += '"><input type="checkbox" id="twpro_settings_enabled_'+internal_name+'"'+(isValidSet&&TWPro.prefs['disabledSets'].indexOf('|'+internal_name+'|')==-1?' checked="checked"':'')+'"'+(isValidSet?'':' disabled="disabled"')+' />' + TWPro.set_names[internal_name]+'</label> <span title="'+TWPro.lang.USEFULITEM+'">('+TWPro.twpro_setItemsCount[internal_name]+')</span><br />'; } xhtml += '</div></td><td></td></tr>'; xhtml += '<tr><td colSpan="5">'; xhtml += '<div id="twpro_settings_customJob">'; xhtml += '<span style="position:relative"><div style="position:absolute;bottom:20px;left:330px;width:275px;display:none;background-image:url(\'../images/border/table/bright.png\');" id="twpro_settings_calc_helper">'; var lines = 0; for(var skill_name in TWPro.skill_to_AttNum){ if(lines && lines++%5==0) xhtml += '<br style="clear:both;" />'; xhtml += '<a href="javascript:void TWPro.twpro_customJobs(\'editCalculation\',\''+skill_name+'\');"><div class="skill_box skill_'+TWPro.skill_to_AttNum[skill_name][0]+' img'+TWPro.skill_to_AttNum[skill_name][1]+'" title="'+Character.skill_titles[skill_name]+'" style="margin:0px;cursor:pointer;"></div></a>'; } xhtml += '</div></span>'; xhtml += '<button onfocus="TWPro.twpro_customJobs(\'calcBlurNow\');" onclick="TWPro.twpro_customJobs(\'new\')" title="'+TWPro.lang.NEW+'">+</button> ' xhtml += '<select onfocus="TWPro.twpro_customJobs(\'calcBlurNow\');TWPro.twpro_customJobs(\'switchFocus\')" style="width: 190px;" onchange="TWPro.twpro_customJobs(\'switch\')"><option>...</option></select>'; xhtml += '<input type="hidden" title="{shortname}" maxlength="20" />'; xhtml += '<input onfocus="TWPro.twpro_customJobs(\'calcBlurNow\');" type="text" title="'+TWPro.lang.CUSTOMNAME+'" style="width: 100px;" onblur="TWPro.twpro_customJobs(\'blur\', [3, this.value, this])" />'; xhtml += '<input type="text" title="'+TWPro.lang.CUSTOMCALCULATION+'" style="width: 300px;" onblur="TWPro.twpro_customJobs(\'calcBlur\')" onfocus="TWPro.twpro_customJobs(\'calcFocus\')" />'; xhtml += '<input onfocus="TWPro.twpro_customJobs(\'calcBlurNow\');" type="checkbox" title="'+TWPro.lang.CUSTOMENABLED+'" checked="checked" onblur="TWPro.twpro_customJobs(\'blur\', [1, this.checked*1, this])" />'; xhtml += '</div>'; xhtml += '<br><input type="checkbox" id="twpro_settings_persist" checked="checked" title="'+TWPro.lang.PERSISTSETTINGS+'" />'; xhtml += '<a href="javascript:void TWPro.twpro_confirmHideJobs();" class="button_wrap button"><span class="button_left"></span><span class="button_middle">'+TWPro.lang.CONFIRM+'</span><span class="button_right"></span><span style="clear: both;"></span></a><span style="position:absolute;bottom:12px;right:27px;font-size:10.5px;">Powered by <a href="http://twpro.lekensteyn.nl/" target="_blank">Lekensteyn</a></span></td></tr>'; xhtml += '</tbody></table></div>'; xhtml += '</div></td>'; xhtml += '<td class="border_shadow_right"></td>'; xhtml += '</tr>'; xhtml += '<tr>'; xhtml += '<td class="edge_shadow_bottom_left"></td>'; xhtml += '<td class="border_shadow_bottom"></td>'; xhtml += '<td class="edge_shadow_bottom_right"></td>'; xhtml += '</tr>'; xhtml += '</tbody></table>'; AjaxWindow.show("TWPro_settings", undefined, "Jobs", xhtml, {title:TWPro.lang.HIDEJOBS}, true); $E("#window_TWPro_settings_Jobs .window_refresh").href = "javascript:TWPro.twpro_disableJobs();"; document.getElementById("window_TWPro_settings_Jobs").getElementsByTagName("h2")[0].style.cssText = "text-align:center"; TWPro.moveJobAdjusted = false; TWPro.disableSetsAdjusted = false; TWPro.twpro_customJobs("load"); } function twpro_confirmHideJobs(){ var disabledSets = '|'; for(var internal_name in TWPro.twpro_setItemsCount){ if(document.getElementById("twpro_settings_enabled_"+internal_name) && !document.getElementById("twpro_settings_enabled_"+internal_name).checked){ disabledSets += internal_name+'|'; } } TWPro.disableSetsAdjusted = TWPro.prefs["disabledSets"] != disabledSets; if(TWPro.disableSetsAdjusted){ TWPro.prefs["disabledSets"] = disabledSets; if(document.getElementById("twpro_settings_persist").checked) document.cookie = "twpro_"+Character.playerId+"_disabledSets=" +disabledSets + "; max-age=5184000"; TWPro.twpro_setItems = {}; TWPro.twpro_setItemsCount = {}; for (var twpro_set in TWPro.twpro_setBonus) { TWPro.twpro_setItemsCount[twpro_set] = 0; } for (var twpro_wear in Wear.wear) { if ((Wear.wear[twpro_wear].obj.set != null) && !TWPro.twpro_setItems[Wear.wear[twpro_wear].obj.item_id] && TWPro.twpro_validSet(Wear.wear[twpro_wear].obj)) { TWPro.twpro_setItems[Wear.wear[twpro_wear].obj.item_id] = Wear.wear[twpro_wear].obj; TWPro.twpro_setItemsCount[Wear.wear[twpro_wear].obj.set.key]++; } } var bagitems = Bag.getInstance().items; for (var twpro_bag in bagitems) { if ((bagitems[twpro_bag].obj.set != null) && !TWPro.twpro_setItems[bagitems[twpro_bag].obj.item_id] && TWPro.twpro_validSet(bagitems[twpro_bag].obj)) { TWPro.twpro_setItems[bagitems[twpro_bag].obj.item_id] = bagitems[twpro_bag].obj; TWPro.twpro_setItemsCount[bagitems[twpro_bag].obj.set.key]++; } } } if(TWPro.moveJobAdjusted){ var hidden = document.getElementById("twpro_settings_jobs_hidden"), inputs, disable={},persist=[], count=0; if(!hidden) return; hidden = hidden.options; for(; count<hidden.length; count++){ persist.push(hidden[count].value); disable[hidden[count].value] = true; } TWPro.disabledJobs = disable; TWPro.twpro_invHash = ''; TWPro.twpro_calculated = false; inputs = document.getElementById("twpro_settings_jobs_shown").options.length*1; inputs += count; persist = persist.join("|"); TWPro.prefs["hidejobs"] = persist; if(document.getElementById("twpro_settings_persist").checked) document.cookie = "twpro_"+Character.playerId+"_hidejobs=" +persist + "; max-age=5184000"; } if((TWPro.twpro_customJobs("save") && !(TWPro.twpro_calculated=false)) || document.getElementById("twpro_jobsort_filter") && TWPro.twpro_preference("Hide_unjobs") != TWPro.twpro_preference("Hide_unjobs", document.getElementById("twpro_jobsort_filter").checked) || (TWPro.moveJobAdjusted && document.getElementById('twpro_jobList') && document.getElementById('twpro_jobList').options.length > 1) || TWPro.disableSetsAdjusted){ TWPro.twpro_setBonusParsed = false; var lastSelected = document.getElementById('twpro_jobList').options[document.getElementById('twpro_jobList').selectedIndex].value*1; if(lastSelected >= 0) lastSelected = TWPro.twpro_jobs[lastSelected].shortName; TWPro.twpro_customJobs("clear_item_cache"); document.getElementById('twpro_jobList').options.length = 1; document.getElementById('twpro_wait').text = TWPro.lang.CHOOSEJOB; TWPro.twpro_updateList(); if(lastSelected && TWPro.prefs["hidejobs"].indexOf('|'+lastSelected+'|') == -1){ for(var i=1; i<document.getElementById('twpro_jobList').options.length; i++){ if(TWPro.twpro_jobs[document.getElementById('twpro_jobList').options[i].value].shortName == lastSelected && (lastSelected=i))break; } } if(typeof lastSelected != "number" || lastSelected < 0)lastSelected = 0; document.getElementById('twpro_jobList').selectedIndex = lastSelected; TWPro.twpro_changeJob(); } new HumanMessage(document.getElementById("twpro_settings_persist").checked?TWPro.lang.SETTINGSSAVED:TWPro.lang.SETTINGSSAVEDSESSION, {type:'success'}); TWPro.moveJobAdjusted = false; TWPro.disableSetsAdjusted = false; } function twpro_moveJobSetting(from_to_dest){ var from,dest,dest_to_from,temp=document.createDocumentFragment(); if(from_to_dest == "show_to_hide"){ from = document.getElementById("twpro_settings_jobs_shown").options; dest = document.getElementById("twpro_settings_jobs_hidden"); dest_to_from = "hide_to_show"; } else if(from_to_dest == "hide_to_show"){ from = document.getElementById("twpro_settings_jobs_hidden").options; dest = document.getElementById("twpro_settings_jobs_shown"); dest_to_from = "show_to_hide"; } else { new HumanMessage("TWPro.moveJobSetting(): Unexpected error."); return; } for(var i=from.length-1; i>=0; i--){ if(from[i].selected) { from[i].setAttribute('ondblclick', "javascript:void TWPro.twpro_moveJobSetting(\'"+dest_to_from+"\');"); temp.insertBefore(from[i], temp.firstChild); } } dest.appendChild(temp); TWPro.moveJobAdjusted = true; } function twpro_updateInternalJobInfo(){ var twpro_jobCount = 0; if(!TWPro.disabledJobs) TWPro.disabledJobs = {}; TWPro.twpro_customJobs("clear_cache"); TWPro.twpro_jobs = []; for (var twpro_job in JobList) { if(TWPro.disabledJobs[JobList[twpro_job].shortName]) continue; TWPro.twpro_jobs[twpro_job*1] = JobList[twpro_job]; TWPro.twpro_jobs[twpro_job*1].west_id = twpro_job; TWPro.twpro_jobs[twpro_job*1].twpro_calculation = TWPro.twpro_jobs[parseInt(twpro_job)].formular.replace(/skills\./g, 'Character.skills.'); twpro_jobCount++; } if(!TWPro.disabledJobs['construct']) (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': '3 * Character.skills.build + 1 * Character.skills.repair + 1 * Character.skills.leadership', 'malus': -1, 'name': TWPro.lang.CONSTRUCTION, 'shortName': 'construct' }) && twpro_jobCount++; if(!TWPro.disabledJobs['duelshootingatt']) (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': '1 * Character.skills.aim + 1 * Character.skills.dodge + 1 * Character.skills.appearance + 1 * Character.skills.shot', 'malus': -1, 'name': TWPro.lang.DUELSHOOTINGATT, 'shortName': 'duelshootingatt' }) && twpro_jobCount++; if(!TWPro.disabledJobs['duelshootingdef']) (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': '1 * Character.skills.aim + 1 * Character.skills.dodge + 1 * Character.skills.tactic + 1 * Character.skills.shot', 'malus': -1, 'name': TWPro.lang.DUELSHOOTINGDEF, 'shortName': 'duelshootingdef' }) && twpro_jobCount++; if(!TWPro.disabledJobs['duelvigor']) (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': '1 * Character.skills.aim + 1 * Character.skills.reflex + 1 * Character.skills.tough + 1 * Character.skills.punch', 'malus': -1, 'name': TWPro.lang.DUELVIGOR, 'shortName': 'duelvigor' }) && twpro_jobCount++; if(!TWPro.disabledJobs['fortatt']) (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': '1 * Character.skills.aim + 1 * Character.skills.dodge + 2 * Character.skills.leadership + 2 * Character.skills.endurance + 1 * Character.skills.health', 'malus': -1, 'name': TWPro.lang.FORTATTACK, 'shortName': 'fortatt' }) && twpro_jobCount++; if(!TWPro.disabledJobs['fortdef']) (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': '1 * Character.skills.aim + 1 * Character.skills.dodge + 2 * Character.skills.leadership + 2 * Character.skills.hide + 1 * Character.skills.health', 'malus': -1, 'name': TWPro.lang.FORTDEFEND, 'shortName': 'fortdef' }) && twpro_jobCount++; if(!TWPro.disabledJobs['speed']) (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': '1 * Character.skills.ride + 100',//=100 * Character.default_speed/Character.speed 'malus': -1, 'name': TWPro.lang.SPEED, 'shortName': 'speed' }) && twpro_jobCount++; twpro_jobCount += TWPro.twpro_customJobs("get")*1||0; TWPro.twpro_sortJobs(); while (TWPro.twpro_jobs.length > twpro_jobCount) { TWPro.twpro_jobs.pop(); } } function twpro_customJobs(action, args){try{ var custom = TWPro.prefs["customJobs"],//(?:\d\s*\*\s*[A-Za-z_.\[\]"']+(?:\s*\+\s*)?)+ REcustom = /^(cj_\d+)#([01])#(.+?)#(.+?)$/, screen_settings = document.getElementById("twpro_settings_customJob"); if(action == "get"){ if(!custom) return 0; var customs = custom.split('|'), twpro_jobCount=0; for(var i=0; i<customs.length; i++){ var custom_i = customs[i].match(REcustom); if(!custom_i) continue; var shortName = custom_i[1], enabledJob = custom_i[2], twpro_calculation = custom_i[3]; name = custom_i[4]; if((function(){try{var i=0, customs=0, custom=0;if(isNaN(eval(twpro_calculation)))throw NaN}catch(e){return true}return false})()) continue; TWPro.twpro_jobValues[shortName] = {'erfahrung':-1, 'lohn':-6, 'glueck':-6, 'gefahr':-1}; if(enabledJob == "1") (TWPro.twpro_jobs[TWPro.twpro_jobs.length] = { 'twpro_calculation': twpro_calculation, 'malus': -1, 'name': name, 'shortName': shortName }) && twpro_jobCount++; } return twpro_jobCount; } else if(action == "clear_cache"){ for(var i=TWPro.twpro_jobs.length-1, cleared=0; i>=0; i--){ if(TWPro.twpro_jobs[i].shortName.match(/^cj_\d+$/)){ TWPro.twpro_jobValues[TWPro.twpro_jobs[i].shortName] = null; delete TWPro.twpro_jobValues[TWPro.twpro_jobs[i].shortName]; TWPro.twpro_jobs.splice(i, 1); cleared++; } } return cleared; } else if(action == "clear_item_cache"){ var items = Bag.getInstance().items, i, item, j, k, deleted=0; for(i in items){ item = items[i].obj; if(item.twpro_jobbonus){ k=0; for(j in item.twpro_jobbonus){ k++; if(j.match(/^cj_\d+$/)){ delete item.twpro_jobbonus[j]; if(TWPro.twpro_itemStorage[item.item_id] && TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus){ delete TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus[j]; } k--; deleted++; } } if(!k) delete item.twpro_jobbonus; } } for(i in Wear.wear){ item = Wear.wear[i].obj; if(item.twpro_jobbonus){ k=0; for(j in item.twpro_jobbonus){ k++; if(j.match(/^cj_\d+$/)){ delete item.twpro_jobbonus[j]; if(TWPro.twpro_itemStorage[item.item_id] && TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus){ delete TWPro.twpro_itemStorage[item.item_id].twpro_jobbonus[j]; } k--; deleted++; } } if(!k) delete item.twpro_jobbonus; } } return deleted; } else if(screen_settings){ var select = screen_settings.getElementsByTagName("select")[0], shortName = screen_settings.getElementsByTagName("input")[0], name = screen_settings.getElementsByTagName("input")[1], calculation = screen_settings.getElementsByTagName("input")[2], enabledJob = screen_settings.getElementsByTagName("input")[3], wannabejob = shortName.value+"#"+enabledJob.checked*1+"#"+calculation.value+"#"+name.value; if(action == "load"){ select.options.length = 0; if(custom){ var customs = custom.split('|'); for(var i=0; i<customs.length; i++){ var custom_i = customs[i].match(REcustom), valid = true; if(!custom_i && (invalid = false)) custom_i = select.options[select.selectedIndex].value.match(/^(.+?)#(.+?)#(.+?)#(.+?)$/); if(!custom_i) continue; var shortName = custom_i[1], enabledJob = custom_i[2], calculation = custom_i[3], name = custom_i[4]; select.add(new Option(name, shortName+"#"+enabledJob+"#"+calculation+"#"+name), null); select.options[select.options.length-1].style.backgroundColor = valid?enabledJob=="1"?"#A0DA78":"#FFA500":"#E89678"; } } if(!custom || !customs.length) return TWPro.twpro_customJobs("new"); return TWPro.twpro_customJobs("switch"); } else if(select.selectedIndex >= 0){ if(action == "switch"){ custom = select.options[select.selectedIndex].value.match(REcustom); if(!custom) custom = select.options[select.selectedIndex].value.match(/^(.+?)#(.+?)#(.+?)#(.+?)$/); if(!custom){ shortName.value = "cj_"+((new Date()).getTime()+"").substring(3); enabledJob.checked = true; calculation.value = ""; name.value = TWPro.lang.NEW; name.style.backgroundColor = "#AODA78"; calculation.style.backgroundColor = "#E89678"; return 0; } window.clearTimeout(TWPro.twpro_calc_blurred); shortName.value = custom[1]; enabledJob.checked = custom[2] == "1"; calculation.value = custom[3]; name.value = custom[4]; TWPro.twpro_customJobs("check"); } else if(action == "blur" || action == "save" || action == "new"){ select.options[select.selectedIndex].value = wannabejob; select.options[select.selectedIndex].style.backgroundColor = wannabejob.match(REcustom) ? enabledJob.checked ? "#A0DA78" : "#FFA500" : "#E89678"; select.options[select.selectedIndex].innerHTML = name.value.replace(/&/g,'&').replace(/</g, '<').replace(/>/g, '>'); } } if(action == "new" || action == "cleared&new"){ if(action == "new" && (name.value == "" || name.value == TWPro.lang.NEW) && calculation.value == "" && select.options.length){ if(select.selectedIndex < 0) select.selectedIndex = 0; } else { for(var i=0; i<select.options.length; i++){ if(select.options[i].value == "" || select.options[i].value.replace(/^cj_\d+/,'') == "###" || select.options[i].value.replace(/^cj_\d+/,'') == "###"+TWPro.lang.NEW){ select.selectedIndex = i; TWPro.twpro_customJobs("switch"); return 0; } } document.getElementById("twpro_settings_calc_helper").style.display = "none"; select.add(new Option(TWPro.lang.NEW, ""), null); select.options[select.options.length-1].style.backgroundColor = "#E89678"; select.selectedIndex = select.options.length-1; select.options[select.options.length-1].value = shortName.value+"###"+TWPro.lang.NEW; shortName.value = "cj_"+((new Date()).getTime()+"").substring(3); enabledJob.checked = true; calculation.value = ""; name.value = TWPro.lang.NEW; calculation.style.backgroundColor = "#E89678"; } } else if(action == "check" || action == "blur"){ name.style.backgroundColor = ["cj_0123456789", "1", "1 * Character.skills.ride", name.value].join("#").match(REcustom) ? "#A0DA78" : "#E89678"; var code = calculation.value, check = ["cj_0123456789", "1", code, "Valid name"]; try{(function(){var res=0,i=0,select=0,args=0,check=0,calculation=0,name=0,shortName=0,wannabejob=0,enabledJob=0;if(isNaN(eval(code)))throw NaN})();}catch(e){/*new HumanMessage("Invalid TW Pro Calculation!");*/check = [];} if(args && args[1] == 2) shortName.value = "cj_"+((new Date()).getTime()+"").substring(3); wannabejob = wannabejob.replace(/^.*?#/, shortName.value+"#"); select.options[select.selectedIndex].value = wannabejob; calculation.style.backgroundColor = check.join("#").match(REcustom) ? "#A0DA78" : "#E89678"; } else if(action == "switchFocus"){ if((name.value == "" || name.value == TWPro.lang.NEW) && calculation.value == ""){ select.remove(select.selectedIndex); TWPro.twpro_customJobs("cleared&new"); return 0; } } else if(action == "calcFocus"){ window.clearTimeout(TWPro.twpro_calc_blurred); TWPro.twpro_calc_blurred = null; document.getElementById("twpro_settings_calc_helper").style.display = "block"; } else if(action == "calcBlur"){ TWPro.twpro_customJobs("blur", [2, calculation.value, calculation]); if((typeof TWPro.twpro_calc_blurred != "undefined" && TWPro.twpro_calc_blurred != null) || action == "calcBlur"){ window.clearTimeout(TWPro.twpro_calc_blurred); TWPro.twpro_calc_blurred = window.setTimeout(function(){ TWPro.twpro_customJobs("calcBlurNow"); }, 500); } } else if(action == "calcBlurNow"){ window.clearTimeout(TWPro.twpro_calc_blurred); TWPro.twpro_calc_blurred = null; document.getElementById("twpro_settings_calc_helper").style.display = "none"; } else if(action == "editCalculation" && typeof args == "string" && (args in TWPro.skill_to_AttNum)){ var calc = calculation.value, REcalc = new RegExp("(\\d)\\s*\\*\\s*Character\\.skills\\."+args, ""), match; if((match=calc.match(REcalc))){ var count = match[1]*1; if(++count <= 9) calc = calc.replace(REcalc, count + " * Character.skills."+args); } else { calc += (calc==""?"":" + ")+"1 * Character.skills."+args; } calculation.value = calc; TWPro.twpro_customJobs("blur", [2, calc, calculation]); calculation.focus(); } else if(action == "save"){ var res = [], res; for(var i=0; i<select.options.length; i++){ if((match=select.options[i].value.match(REcustom))){ var code = match[2]; (function(){var res=0,i=0,select=0,custom=0;if(isNaN(eval(code)))throw NaN})(); res.push(encodeURIComponent(select.options[i].value)); } } res = res.join('|'); custom = TWPro.prefs["customJobs"] != decodeURIComponent(res); TWPro.prefs["customJobs"] = decodeURIComponent(res); if(document.getElementById("twpro_settings_persist").checked) document.cookie = "twpro_"+Character.playerId+"_customJobs="+res+"; max-age=5184000"; return custom; } } }catch(e){new HumanMessage("TWPro error, customJobs: "+e)}return 0} function twpro_updateList() { if (TWPro.twpro_failure) return; if (!TWPro.twpro_calculated) { document.getElementById('twpro_jobList').blur(); TWPro.twpro_updateInternalJobInfo(); document.getElementById('twpro_jobList').focus(); } TWPro.twpro_calculateJobs(); TWPro.twpro_sortJobs(); TWPro.twpro_insertListItems(); document.getElementById('twpro_wait').text = TWPro.lang.CHOOSEJOB; } function twpro_insertListItems() { if (TWPro.twpro_failure) return; var twpro_jobList = document.getElementById('twpro_jobList'), jobsort = TWPro.twpro_jobsort, twpro_jobElement, twpro_apstmp, extra; for (var twpro_i=0; twpro_i<TWPro.twpro_jobs.length; twpro_i++) { var twpro_job = TWPro.twpro_jobs[twpro_i]; var twpro_aktuelleap = twpro_job.twpro_skill - twpro_job.malus; var twpro_setCounter = new Object(); for(var twpro_wear in Wear.wear){ if(Wear.wear[twpro_wear].obj.twpro_bonus && Wear.wear[twpro_wear].obj.twpro_jobbonus[twpro_job.shortName]){ twpro_aktuelleap += Wear.wear[twpro_wear].obj.twpro_jobbonus[twpro_job.shortName]; } if(Wear.wear[twpro_wear].obj.set != null){ if(twpro_setCounter[Wear.wear[twpro_wear].obj.set.key]==undefined){ twpro_setCounter[Wear.wear[twpro_wear].obj.set.key] = 1; } else { twpro_setCounter[Wear.wear[twpro_wear].obj.set.key]++; } } } for(var twpro_set in twpro_setCounter){ if(twpro_setCounter[twpro_set]>=2 && TWPro.twpro_setBonus[twpro_set][twpro_setCounter[twpro_set]].parsedBonus[twpro_job.shortName]){ twpro_aktuelleap += TWPro.twpro_setBonus[twpro_set][twpro_setCounter[twpro_set]].parsedBonus[twpro_job.shortName]; } } twpro_jobElement = document.createElement('option'); var n = 1; if(Character.characterClass == 'worker' && twpro_job.shortName == 'construct'){ n = PremiumBoni.hasBonus('character') ? 1.10 : 1.05; } twpro_aktuelleap = Math.floor(n*twpro_aktuelleap); if ( jobsort == 'erfahrung' ) { extra = ' ' + TWPro.twpro_jobValues[twpro_job.shortName].experience + ' xp'; } else if ( jobsort == 'money' ) { extra = ' ' + TWPro.twpro_jobValues[twpro_job.shortName].wages + ' $'; } else if ( jobsort == 'luckItemValue' ) { extra = ' ' + TWPro.twpro_jobValues[twpro_job.shortName].luckvaluemin + ' - ' + TWPro.twpro_jobValues[twpro_job.shortName].luckvaluemax + ' $'; } else if ( jobsort == 'gefahr' ) { extra = ' ' + TWPro.twpro_jobValues[twpro_job.shortName].danger + ' /!\\'; } else if ( jobsort == 'comb' ) { extra = ' ' + TWPro.twpro_jobValues[twpro_job.shortName].jobrank + '%'; } else { extra = ''; } // twpro_apstmp = eval(twpro_job.twpro_aps - (twpro_job.malus<0?twpro_job.malus:0)); twpro_apstmp = eval(TWPro.twpro_jobValues[twpro_job.shortName].laborp - (twpro_job.malus<0?twpro_job.malus:0)); // twpro_apstmp = TWPro.twpro_jobValues[twpro_job.shortName].laborp; twpro_jobElement.value = twpro_i; twpro_strreplace = TWPro.twpro_jobs[twpro_i].name.replace(/'/g,"\'"); if(twpro_job.shortName != "speed" && twpro_job.shortName != "regeneration" ){ if (TWPro.twpro_jobValues[twpro_job.shortName].experience < 0) { extra = ''; } twpro_jobElement.appendChild(document.createTextNode(((twpro_strreplace.length > 25) ? (unescape(twpro_strreplace.substr(0, 23)) + '...') : unescape(twpro_strreplace)) + ' (' + eval(twpro_apstmp - 1) + ' / '+ eval(twpro_aktuelleap - 1) + ' '+TWPro.lang.LABORP+')'+extra)); } else{ if(twpro_job.shortName == "speed"){ twpro_aktuelleap = Math.round(100*Character.default_speed/Character.speed); if(!isFinite(twpro_aktuelleap)) twpro_aktuelleap = 100; twpro_aktuelleap = twpro_aktuelleap + "%" } else if(twpro_job.shortName == "regeneration") twpro_aktuelleap = Math.round(eval(twpro_job.twpro_calculation)); twpro_jobElement.appendChild(document.createTextNode(((twpro_strreplace.length > 25) ? (unescape(twpro_strreplace.substr(0, 23)) + '...') : unescape(twpro_strreplace)) + ' (' + eval(twpro_apstmp - 1) + ' / '+ twpro_aktuelleap + ')')); } if (twpro_apstmp > 0) { if (twpro_aktuelleap <= 0) { twpro_jobElement.style.backgroundColor='rgb(230, 235, 108)'; // yellow } else { twpro_jobElement.style.backgroundColor = 'rgb(160, 218, 120)'; // green } twpro_jobList.appendChild(twpro_jobElement); } else if (!TWPro.twpro_preference('Hide_unjobs')) { twpro_jobElement.style.backgroundColor = 'rgb(232, 150, 120)'; // red twpro_jobList.appendChild(twpro_jobElement); } } } // bestimmt Sortierreihenfolge der Jobs in der Liste function twpro_sortJobs(){ if (TWPro.twpro_failure) return; var sortby = TWPro.twpro_jobsort, twpro_jobValues = TWPro.twpro_jobValues; twpro_jobValues.regeneration.jobrank = twpro_jobValues.regeneration.experience = twpro_jobValues.regeneration.wages = twpro_jobValues.regeneration.luckvaluemax = twpro_jobValues.regeneration.danger = -2; var moneyFactor = 1 + (PremiumBoni.hasBonus('money')?.50:0), multiplier, twpro_apstmp; for(var i=0; i<TWPro.twpro_jobs.length; i++){ if(!(twpro_job=TWPro.twpro_jobs[i])) continue; var n = 1; if(Character.characterClass == 'worker' && twpro_job.shortName == 'construct'){ n = PremiumBoni.hasBonus('character') ? 1.10 : 1.05; } else if(Character.characterClass == 'duelist' && twpro_job.shortName == 'speed'){ n = PremiumBoni.hasBonus('character') ? 1.20 : 1.10; } // TWPro.twpro_jobValues[twpro_job.shortName].laborp = twpro_job.twpro_aps = Math[twpro_job.shortName == 'speed' ? "round" : "floor"](n*twpro_job.twpro_aps); // TWPro.twpro_jobValues[twpro_job.shortName].laborp = Math[twpro_job.shortName == 'speed' ? "round" : "floor"](n*twpro_job.twpro_aps); TWPro.twpro_jobValues[twpro_job.shortName].laborp = Math[n != 1 ? "floor" : "round"](n*Math[twpro_job.shortName == 'speed' ? "round" : "floor"](twpro_job.twpro_aps)); twpro_apstmp = TWPro.twpro_jobs[i].twpro_aps - (twpro_job.malus<0?twpro_job.malus:0); multiplier = Math.pow(Math.max(1,twpro_apstmp),.2) * moneyFactor; TWPro.twpro_jobValues[twpro_job.shortName].luckvaluemin = Math.floor(5 * (.9 * TWPro.twpro_jobValues[twpro_job.shortName].glueck + 5) * multiplier); TWPro.twpro_jobValues[twpro_job.shortName].luckvaluemax = Math.floor(15 * (.9 * TWPro.twpro_jobValues[twpro_job.shortName].glueck + 5) * multiplier); TWPro.twpro_jobValues[twpro_job.shortName].wages = Math.round((.9 * TWPro.twpro_jobValues[twpro_job.shortName].lohn + 5) * multiplier * 2); if(TWPro.twpro_jobValues[twpro_job.shortName].gefahr < 0) { TWPro.twpro_jobValues[twpro_job.shortName].danger = -1; TWPro.twpro_jobValues[twpro_job.shortName].jobrank = -1; } else{ TWPro.twpro_jobValues[twpro_job.shortName].danger = Math.round((8*Math.pow(TWPro.twpro_jobValues[twpro_job.shortName].gefahr,1.35)) / (Math.max(1,twpro_apstmp)+3)); TWPro.twpro_jobValues[twpro_job.shortName].jobrank = Math.round((TWPro.multipliers.xp * TWPro.twpro_jobValues[twpro_job.shortName].erfahrung + (TWPro.multipliers.wages * TWPro.twpro_jobValues[twpro_job.shortName].lohn + TWPro.multipliers.luck * TWPro.twpro_jobValues[twpro_job.shortName].glueck ) * pow(Math.max(1,twpro_apstmp),0.2) + TWPro.multipliers.danger * (100 - (TWPro.twpro_jobValues[twpro_job.shortName].gefahr/((Math.max(1,twpro_apstmp)+3)/8))))/Math.max(1,(TWPro.multipliers.xp+TWPro.multipliers.wages+TWPro.multipliers.luck+TWPro.multipliers.danger))); } if(Character.characterClass == 'worker'){ n = PremiumBoni.hasBonus('character') ? 1.10 : 1.05; } TWPro.twpro_jobValues[twpro_job.shortName].experience = Math.round(TWPro.twpro_jobValues[twpro_job.shortName].erfahrung*2*n); // TWPro.twpro_jobValues[twpro_job.shortName].twpro_apstmp = twpro_apstmp; } var sortfunc = function(twpro_a, twpro_b){ var twpro_a_str = twpro_a.name, twpro_b_str = twpro_b.name; if(sortby == 'name'){ return twpro_a_str.localeCompare(twpro_b_str); } if(sortby == 'comb'){ return (twpro_jobValues[twpro_a.shortName].jobrank == twpro_jobValues[twpro_b.shortName].jobrank) ? twpro_a_str.localeCompare(twpro_b_str) : (twpro_jobValues[twpro_b.shortName].jobrank - twpro_jobValues[twpro_a.shortName].jobrank); } if(sortby == 'erfahrung'){ return (twpro_jobValues[twpro_a.shortName].experience == twpro_jobValues[twpro_b.shortName].experience) ? twpro_a_str.localeCompare(twpro_b_str) : (twpro_jobValues[twpro_b.shortName].experience - twpro_jobValues[twpro_a.shortName].experience); } if(sortby == 'money'){ return (twpro_jobValues[twpro_a.shortName].wages == twpro_jobValues[twpro_b.shortName].wages) ? twpro_a_str.localeCompare(twpro_b_str) : (twpro_jobValues[twpro_b.shortName].wages - twpro_jobValues[twpro_a.shortName].wages); } if(sortby == 'luckItemValue'){ return (twpro_jobValues[twpro_a.shortName].luckvaluemax == twpro_jobValues[twpro_b.shortName].luckvaluemax) ? twpro_a_str.localeCompare(twpro_b_str) : (twpro_jobValues[twpro_b.shortName].luckvaluemax - twpro_jobValues[twpro_a.shortName].luckvaluemax); } if(sortby == 'gefahr'){ return (twpro_jobValues[twpro_a.shortName].danger == twpro_jobValues[twpro_b.shortName].danger) ? twpro_a_str.localeCompare(twpro_b_str) : (twpro_jobValues[twpro_a.shortName].danger - twpro_jobValues[twpro_b.shortName].danger); } else { return (twpro_jobValues[twpro_a.shortName][sortby] == twpro_jobValues[twpro_b.shortName][sortby]) ? twpro_a_str.localeCompare(twpro_b_str) : (twpro_jobValues[twpro_b.shortName][sortby] - twpro_jobValues[twpro_a.shortName][sortby]); } } TWPro.twpro_jobs.sort(sortfunc); //if(sortby == 'danger') TWPro.twpro_jobs.reverse(); } function twpro_sortPlus(twpro_a, twpro_b) { if (TWPro.twpro_failure) return 0; var twpro_a_num = parseInt(twpro_a.substring(0, twpro_a.search(/ /))); var twpro_b_num = parseInt(twpro_b.substring(0, twpro_b.search(/ /))); return twpro_b_num - twpro_a_num; } function twpro_validSet(obj_set_obj){ var valid = true, obj_set=obj_set_obj, disabledSets = TWPro.prefs["disabledSets"], wearable = true; if(!(obj_set_obj = typeof obj_set_obj == "string")){ wearable = TWPro.twpro_wearItem(obj_set); obj_set = obj_set.set; TWPro.set_names[obj_set.key] = obj_set.name; obj_set = obj_set.key; } if(obj_set == 'season_set' || obj_set == 'set_sleeper'){ valid = false;//No bonuses, don't calculate } else if(obj_set == 'set_dancer'){ valid = Character.characterSex == 'female'; } else if(obj_set == 'set_farmer'){ } else if(obj_set == 'set_gentleman'){ //valid = Character.characterSex == characterSex; } else if(obj_set == 'set_indian'){ } else if(obj_set == 'set_mexican'){ } else if(obj_set == 'set_pilgrim_female'){ valid = Character.characterSex == 'female'; } else if(obj_set == 'set_pilgrim_male'){ valid = Character.characterSex == 'male'; } else if(obj_set == 'set_quackery'){ } else if(obj_set == 'fireworker_set'){ valid = false;//Handled by TWPro.twpro_prepareItem } else if(obj_set == 'gold_set'){ } else if(obj_set == 'greenhorn_set'){ } else { if(!top.twpro_unknown_sets) top.twpro_unknown_sets = []; top.twpro_unknown_sets.push(obj_set); valid = false;//unknown set } return valid && (obj_set_obj || (disabledSets+'').indexOf('|'+obj_set+'|') == -1) && wearable; } function twpro_initializeItems(twpro_place, twpro_itemlist) { if (TWPro.twpro_failure) return; var twpro_i = 0; if (twpro_place == 'wear') { for (var twpro_wear in Wear.wear) { Wear.wear[twpro_wear].obj.twpro_place = twpro_place; Wear.wear[twpro_wear].obj.twpro_html = document.getElementById('char_' + Wear.wear[twpro_wear].obj.type); TWPro.twpro_bag.twpro_priceWear += Wear.wear[twpro_wear].obj.sell_price; TWPro.twpro_bag.twpro_countType[Wear.wear[twpro_wear].obj.type]++; TWPro.twpro_bag.twpro_countType_diff[Wear.wear[twpro_wear].obj.type]++; TWPro.twpro_wear_items_list += ';'+Wear.wear[twpro_wear].obj.item_id+';'; if (Wear.wear[twpro_wear].obj.type == 'yield') { TWPro.twpro_bag.twpro_priceYields += Wear.wear[twpro_wear].obj.sell_price; } else { TWPro.twpro_bag.twpro_priceItems += Wear.wear[twpro_wear].obj.sell_price; } if ((Wear.wear[twpro_wear].obj.set != null) && !TWPro.twpro_setItems[Wear.wear[twpro_wear].obj.item_id] && TWPro.twpro_validSet(Wear.wear[twpro_wear].obj)) { TWPro.twpro_setItems[Wear.wear[twpro_wear].obj.item_id] = Wear.wear[twpro_wear].obj; TWPro.twpro_setItemsCount[Wear.wear[twpro_wear].obj.set.key]++; } if (!TWPro.twpro_invHashTest[Wear.wear[twpro_wear].obj.item_id]) { TWPro.twpro_invHashTest[Wear.wear[twpro_wear].obj.item_id] = 1; } } } if (twpro_place == 'bag') { var twpro_itemcount; var bagitems = Bag.getInstance().items; for (var twpro_bag in bagitems) { bagitems[twpro_bag].obj.twpro_place = twpro_place; bagitems[twpro_bag].obj.twpro_html = bagitems[twpro_bag].bag_item; if (bagitems[twpro_bag].count_text) { twpro_itemcount = parseInt(bagitems[twpro_bag].count_text.firstChild.data); } else { twpro_itemcount = 1; } TWPro.twpro_bag.twpro_priceBag += twpro_itemcount * bagitems[twpro_bag].obj.sell_price; TWPro.twpro_bag.twpro_countType[bagitems[twpro_bag].obj.type] += twpro_itemcount; if (TWPro.twpro_wear_items_list.indexOf(';'+bagitems[twpro_bag].obj.item_id+';') == -1) { TWPro.twpro_bag.twpro_countType_diff[bagitems[twpro_bag].obj.type]++; } if (bagitems[twpro_bag].obj.type == 'yield') { TWPro.twpro_bag.twpro_priceYields += twpro_itemcount * bagitems[twpro_bag].obj.sell_price; } else { TWPro.twpro_bag.twpro_priceItems += twpro_itemcount * bagitems[twpro_bag].obj.sell_price; } if ((bagitems[twpro_bag].obj.set != null) && !TWPro.twpro_setItems[bagitems[twpro_bag].obj.item_id] && TWPro.twpro_validSet(bagitems[twpro_bag].obj)) { TWPro.twpro_setItems[bagitems[twpro_bag].obj.item_id] = bagitems[twpro_bag].obj; TWPro.twpro_setItemsCount[bagitems[twpro_bag].obj.set.key]++; } if (!TWPro.twpro_invHashTest[bagitems[twpro_bag].obj.item_id]) { TWPro.twpro_invHashTest[bagitems[twpro_bag].obj.item_id] = 1; } } } else if (twpro_place == 'trader') { for (var twpro_obj in twpro_itemlist.items) { twpro_itemlist.items[twpro_obj].obj.twpro_place = twpro_place; twpro_itemlist.items[twpro_obj].obj.twpro_html = twpro_itemlist.items[twpro_obj].bag_item; twpro_itemlist.items[twpro_obj].popup.refresh(); twpro_i++; } } else if (twpro_place == 'own') { for (var twpro_obj in twpro_itemlist.data) { twpro_itemlist.data[twpro_obj].twpro_place = twpro_place; twpro_i++; } for (var twpro_bag in twpro_itemlist.bags) { for (var twpro_obj in twpro_itemlist.bags[twpro_bag].items) { twpro_itemlist.bags[twpro_bag].items[twpro_obj].obj.twpro_html = twpro_itemlist.bags[twpro_bag].items[twpro_obj].bag_item; } } } } // ermittelt die optimalen Kleidungsstuecke und errechnet die resultierenden Arbeitspunkte function twpro_calculateJobs() { if (TWPro.twpro_failure) return; var twpro_setitembonus; var twpro_setitemjobname; for (var twpro_wear in Wear.wear) { TWPro.twpro_prepareItem(Wear.wear[twpro_wear].obj); } var bagitems = Bag.getInstance().items; for (var twpro_bag in bagitems) { TWPro.twpro_prepareItem(bagitems[twpro_bag].obj); } TWPro.twpro_calculated = false; // alle Setberechnungen löschen TWPro.twpro_setItemsCalc = {}; TWPro.twpro_setItemsEffect = false; for (var twpro_i = 0; twpro_i < TWPro.twpro_bag.twpro_types.length; twpro_i++) { TWPro.twpro_setItemsCalc[TWPro.twpro_bag.twpro_types[twpro_i]] = [null]; } // Check ob Berechnung nötig und Flags setzen --> für 1er Sets müsste hier von >=2 auf >=1 geändert werden TWPro.twpro_setCount = {}; for (var twpro_setItemId in TWPro.twpro_setItems) { var twpro_setItem = TWPro.twpro_setItems[twpro_setItemId]; if (twpro_setItem.twpro_wearable && TWPro.twpro_setItemsCount[twpro_setItem.set.key] >= 2) { TWPro.twpro_setItemsCalc[twpro_setItem.type].push(twpro_setItem); TWPro.twpro_setCount[twpro_setItem.set.key] = 0; TWPro.twpro_setItemsEffect = true; } } if(!TWPro.twpro_re_att){ TWPro.twpro_re_att = {}; TWPro.twpro_re_skill = {}; TWPro.twpro_re_skills = {}; for(var twpro_attname in Character.skill_names){ var skill_names = Character.skill_names[twpro_attname]; TWPro.twpro_re_skills[twpro_attname] = new RegExp(skill_names.join('|'), 'g'); TWPro.twpro_re_att[twpro_attname] = new RegExp(twpro_attname, 'g'); for(var i=0; i<skill_names.length; i++){ TWPro.twpro_re_skill[skill_names[i]] = new RegExp(skill_names[i], 'g'); } } } var re_char_skills = /Character\.skills\./g, regen_exist = -1; for (var twpro_i=0; twpro_i<TWPro.twpro_jobs.length; twpro_i++) { var twpro_job = TWPro.twpro_jobs[twpro_i]; if(TWPro.disabledJobs[twpro_job.shortName] || (twpro_job.shortName == "regeneration" && (regen_exist=twpro_i))) continue; twpro_job.twpro_jobid = twpro_i; twpro_job.twpro_skill = eval(twpro_job.twpro_calculation); if(!isFinite(twpro_job.twpro_skill) || isNaN(twpro_job.twpro_skill)) twpro_job.twpro_skill = 0; twpro_job.twpro_skills = twpro_job.twpro_calculation.replace(/\s*\+\s*\d+$/, '').replace(re_char_skills, ''); twpro_job.twpro_attributes = twpro_job.twpro_skills.replace(re_char_skills, ''); for (var twpro_attname in Character.skill_names) { twpro_job.twpro_attributes = twpro_job.twpro_attributes.replace(TWPro.twpro_re_skills[twpro_attname], twpro_attname); } // Hier folgt Setberechnung, wenn oben Flag gesetzt wurde if (TWPro.twpro_setItemsEffect && !TWPro.twpro_setBonusParsed) { for (var twpro_itemSet in TWPro.twpro_setBonus) { var twpro_itemSetBouns = TWPro.twpro_setBonus[twpro_itemSet]; // Berechnung ab hier auch für twpro_j=1 (war vorher 2) um auch 1er Sets zu berücksichtigen) for (var twpro_j = 2; twpro_j < twpro_itemSetBouns.length; twpro_j++) { twpro_setitembonus = twpro_itemSetBouns[twpro_j]; twpro_setitemjobname = twpro_job.shortName; twpro_setitembonus.parsedBonus[twpro_setitemjobname] = (twpro_job.malus == -1 ? 0 : twpro_setitembonus.jobBonus.all) + (!twpro_setitembonus.jobBonus[twpro_setitemjobname] ? 0 : twpro_setitembonus.jobBonus[twpro_setitemjobname]) + TWPro.twpro_testItem(twpro_job, twpro_setitembonus); } } } twpro_job.twpro_bestStats = {}; for (var twpro_j = 0; twpro_j < TWPro.twpro_bag.twpro_types.length; twpro_j++) { twpro_job.twpro_bestStats[TWPro.twpro_bag.twpro_types[twpro_j]] = 0; } if (twpro_job.shortName == "fortatt" || twpro_job.shortName == "fortdef") { for (var twpro_wear in Wear.wear) { if (twpro_wear != "left_arm") { TWPro.twpro_compareItem(twpro_job, Wear.wear[twpro_wear].obj); } } for (var twpro_bag in bagitems) { if (bagitems[twpro_bag].obj.type != "left_arm") { TWPro.twpro_compareItem(twpro_job, bagitems[twpro_bag].obj); } } } else if (twpro_job.shortName == "duelshootingatt" || twpro_job.shortName == "duelshootingdef") { for (var twpro_wear in Wear.wear) { var twpro_item = Wear.wear[twpro_wear].obj; if (twpro_item.sub_type == "shot") { twpro_item.twpro_bonus = true; if (!twpro_item.twpro_jobbonus) twpro_item.twpro_jobbonus = {}; twpro_item.twpro_jobbonus[twpro_job.shortName] = 1; if (!TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus) TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus = {}; TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus[twpro_job.shortName] = 1; twpro_job.twpro_bestStats[twpro_item.type] = 1; } else if (twpro_item.sub_type != "hand") { TWPro.twpro_compareItem(twpro_job, twpro_item); } } for (var twpro_bag in bagitems) { var twpro_item = bagitems[twpro_bag].obj; if (twpro_item.sub_type == "shot") { twpro_item.twpro_bonus = true; if (!twpro_item.twpro_jobbonus) twpro_item.twpro_jobbonus = {}; twpro_item.twpro_jobbonus[twpro_job.shortName] = 1; if (!TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus) TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus = {}; TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus[twpro_job.shortName] = 1; twpro_job.twpro_bestStats[twpro_item.type] = 1; } else if (twpro_item.sub_type != "hand") { TWPro.twpro_compareItem(twpro_job, twpro_item); } } } else if (twpro_job.shortName == "duelvigor") { for (var twpro_wear in Wear.wear) { var twpro_item = Wear.wear[twpro_wear].obj; if (twpro_item.sub_type == "hand") { twpro_item.twpro_bonus = true; if (!twpro_item.twpro_jobbonus) twpro_item.twpro_jobbonus = {}; twpro_item.twpro_jobbonus[twpro_job.shortName] = 1; if (!TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus) TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus = {}; TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus[twpro_job.shortName] = 1; twpro_job.twpro_bestStats[twpro_item.type] = 1; } else if (twpro_item.sub_type != "shot") { TWPro.twpro_compareItem(twpro_job, twpro_item); } } for (var twpro_bag in bagitems) { var twpro_item = bagitems[twpro_bag].obj; if (twpro_item.sub_type == "hand") { twpro_item.twpro_bonus = true; if (!twpro_item.twpro_jobbonus) twpro_item.twpro_jobbonus = {}; twpro_item.twpro_jobbonus[twpro_job.shortName] = 1; if (!TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus) TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus = {}; TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus[twpro_job.shortName] = 1; twpro_job.twpro_bestStats[twpro_item.type] = 1; } else if (twpro_item.sub_type != "shot") { TWPro.twpro_compareItem(twpro_job, twpro_item); } } } else { for (var twpro_wear in Wear.wear) { TWPro.twpro_compareItem(twpro_job, Wear.wear[twpro_wear].obj); } for (var twpro_bag in bagitems) { TWPro.twpro_compareItem(twpro_job, bagitems[twpro_bag].obj); } } twpro_job.twpro_aps = twpro_job.twpro_skill - Math.max(0, twpro_job.malus); // twpro_job.twpro_aps = twpro_job.twpro_skill - Math.max(0, twpro_job.malus+1); if (twpro_job.shortName == "speed") { if (!TWPro.twpro_bestAnimal || Character.characterClass == "greenhorn") { for(var twpro_bag in bagitems){ var twpro_item = bagitems[twpro_bag].obj; if (twpro_item.twpro_jobbonus && twpro_item.twpro_jobbonus.speed) { twpro_item.twpro_jobbonus.speed = 0; TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus.speed = 0; } } for (var twpro_j = 0; twpro_j < TWPro.twpro_bag.twpro_types.length; twpro_j++) { twpro_job.twpro_bestStats[TWPro.twpro_bag.twpro_types[twpro_j]] = 0; } twpro_job.twpro_aps = Character.characterClass == "greenhorn" ? 250 : 100; } else { for (var twpro_type in twpro_job.twpro_bestStats) { twpro_job.twpro_aps += twpro_job.twpro_bestStats[twpro_type]; } } } else { for (var twpro_type in twpro_job.twpro_bestStats) { twpro_job.twpro_aps += twpro_job.twpro_bestStats[twpro_type]; } } if (TWPro.twpro_setItemsEffect) { var twpro_setItem; twpro_job.twpro_parsedItemBonus = {}; twpro_job.twpro_bestCombi = {}; for (var twpro_type in twpro_job.twpro_bestStats) { twpro_job.twpro_bestCombi[twpro_type] = 0; for (var twpro_j = 1; twpro_j < TWPro.twpro_setItemsCalc[twpro_type].length; twpro_j++) { twpro_setItem = TWPro.twpro_setItemsCalc[twpro_type][twpro_j]; twpro_job.twpro_parsedItemBonus[twpro_setItem.item_id] = TWPro.twpro_testItem(twpro_job, twpro_setItem); } } twpro_job.twpro_noSetAps = twpro_job.twpro_aps; } } if (TWPro.twpro_setItemsEffect) { TWPro.twpro_calcSets(); } if(!TWPro.disabledJobs['regeneration']){ if(regen_exist == -1){ twpro_job = TWPro.twpro_bestLifeRestore(); twpro_job.twpro_jobid = TWPro.twpro_jobs.length; TWPro.twpro_jobs.push(TWPro.twpro_bestLifeRestore()); } else TWPro.twpro_jobs[regen_exist] = TWPro.twpro_bestLifeRestore(); } TWPro.twpro_setBonusParsed = true; TWPro.twpro_invHash = TWPro.twpro_invHashTest.join(','); TWPro.twpro_calculated = true; } function twpro_calcSets() { var twpro_testCombi = {}; for (var twpro_i = 0; twpro_i < TWPro.twpro_bag.twpro_types.length; twpro_i++) { twpro_testCombi[TWPro.twpro_bag.twpro_types[twpro_i]] = 0; } var twpro_setCounter = TWPro.twpro_setCount; TWPro.twpro_testnextvalid = []; var twpro_testnextvalid = TWPro.twpro_testnextvalid; TWPro.twpro_testnextnamen = {}; var twpro_testnextnamen = TWPro.twpro_testnextnamen; for (var twpro_set in twpro_setCounter) { twpro_testnextnamen[twpro_set] = twpro_testnextvalid.push(0) - 1; } var twpro_next = false; var twpro_set; do { for (var twpro_i=0; twpro_i<TWPro.twpro_jobs.length; twpro_i++) { var twpro_job = TWPro.twpro_jobs[twpro_i]; var twpro_testAps = twpro_job.twpro_noSetAps; var speedfactor = 1; if ((twpro_job.shortName == "duelshootingatt" || twpro_job.shortName == "duelshootingdef" || twpro_job.shortName == "duelvigor") && twpro_testCombi.right_arm) continue; for (var twpro_type in twpro_testCombi) { if (twpro_testCombi[twpro_type]) { twpro_testAps -= twpro_job.twpro_bestStats[twpro_type]; var twpro_setItem = TWPro.twpro_setItemsCalc[twpro_type][twpro_testCombi[twpro_type]]; twpro_testAps += twpro_job.twpro_parsedItemBonus[twpro_setItem.item_id]; } } for (var twpro_set in twpro_setCounter) { if (twpro_setCounter[twpro_set] > 0) { twpro_testAps += TWPro.twpro_setBonus[twpro_set][twpro_setCounter[twpro_set]].parsedBonus[twpro_job.shortName]; speedfactor += TWPro.twpro_setBonus[twpro_set][twpro_setCounter[twpro_set]].speedBonus/100 || 0; } } if (twpro_job.shortName == "speed") { if (Character.characterClass == "greenhorn") { twpro_testAps = 250; speedfactor = 1; } else if (!TWPro.twpro_bestAnimal) twpro_testAps = 100; twpro_testAps *= speedfactor; } if (twpro_testAps > twpro_job.twpro_aps) { twpro_job.twpro_aps = twpro_testAps; for (var twpro_type in twpro_testCombi) { twpro_job.twpro_bestCombi[twpro_type] = twpro_testCombi[twpro_type]; } } } do { //TWPro.anzahl3++; twpro_next = false; for (var twpro_type in twpro_testCombi) { var twpro_setItemsCalcType = TWPro.twpro_setItemsCalc[twpro_type]; var twpro_testCombiType = twpro_testCombi[twpro_type]; if (twpro_testCombiType) { twpro_set = twpro_setItemsCalcType[twpro_testCombiType].set.key; if ((--twpro_setCounter[twpro_set]) == 1) { twpro_testnextvalid[twpro_testnextnamen[twpro_set]] = 1; } else { twpro_testnextvalid[twpro_testnextnamen[twpro_set]] = 0; } } if ((twpro_testCombiType + 1) < twpro_setItemsCalcType.length) { twpro_set = twpro_setItemsCalcType[++twpro_testCombi[twpro_type]].set.key; if ((++twpro_setCounter[twpro_set]) == 1) { twpro_testnextvalid[twpro_testnextnamen[twpro_set]] = 1; } else { twpro_testnextvalid[twpro_testnextnamen[twpro_set]] = 0; } twpro_next = true; break; } else { twpro_testCombi[twpro_type] = 0; } } } while (twpro_next && twpro_testnextvalid.join('') > 0); } while (twpro_next); } function twpro_prepareItem(twpro_item) { try { if (TWPro.twpro_failure) return; var twpro_storedItem; if (!(twpro_storedItem=TWPro.twpro_itemStorage[twpro_item.item_id])) { TWPro.twpro_itemStorage[twpro_item.item_id] = {}; twpro_storedItem = TWPro.twpro_itemStorage[twpro_item.item_id]; } else { if ((twpro_item.twpro_bonus = twpro_storedItem.twpro_bonus)) { if(twpro_storedItem.twpro_jobbonus) twpro_item.twpro_jobbonus = twpro_storedItem.twpro_jobbonus; else twpro_item.twpro_jobbonus = {}; } twpro_item.twpro_wearable = twpro_storedItem.twpro_wearable; return; } // if ((twpro_item.twpro_wearable = TWPro.twpro_wearItem(twpro_item))) { if (twpro_item["short"] == "bucket_fire") { twpro_item.twpro_bonus = true; twpro_item.twpro_jobbonus = {"fire": 15}; twpro_storedItem.twpro_jobbonus = {"fire": 15}; TWPro.set_names.fireworker_set = twpro_item.set.name; } else { var speed=Math.round(100/twpro_item.speed-100); if(!isFinite(speed) || isNaN(speed)) speed = 0; var twpro_i = 0; if (twpro_item.bonus.skills.length == undefined) { for (var twpro_skillname in twpro_item.bonus.skills) { twpro_i++; } speed += twpro_item.bonus.skills.ride*1||0; } if (twpro_item.bonus.attributes.length == undefined) { for (var twpro_attname in twpro_item.bonus.attributes) { twpro_i++; } speed += twpro_item.bonus.attributes.flexibility*1||0; } if (twpro_i > 0) { twpro_item.twpro_bonus = true; twpro_item.twpro_jobbonus = {}; twpro_storedItem.twpro_jobbonus = {}; } else { twpro_item.twpro_bonus = false; } if(speed > 0){ twpro_item.twpro_jobbonus = {"speed": speed}; twpro_storedItem.twpro_jobbonus = {"speed": speed}; twpro_item.twpro_bonus = true; if (twpro_item.type == "animal") { if(speed > TWPro.twpro_bestAnimal) TWPro.twpro_bestAnimal = speed; } } if (twpro_item.damage) { var damage_type = twpro_item.type; if (twpro_item.sub_type) { damage_type += '_' + twpro_item.sub_type; } if (twpro_item.damage.damage_min > TWPro.damage_min[damage_type]) TWPro.damage_min[damage_type] = twpro_item.damage.damage_min; if (twpro_item.damage.damage_max > TWPro.damage_max[damage_type]) TWPro.damage_max[damage_type] = twpro_item.damage.damage_max; } } twpro_storedItem.twpro_bonus = twpro_item.twpro_bonus; // } twpro_item.twpro_wearable = TWPro.twpro_wearItem(twpro_item) twpro_storedItem.twpro_wearable = twpro_item.twpro_wearable; } catch (e) { new HumanMessage("TW Pro error, twpro_prepareItem: "+e+"<br />"+(twpro_item&&twpro_item.name)); } } function twpro_wearItem(twpro_item) { if (TWPro.twpro_failure) return false; if ((twpro_item.characterClass != null) && (twpro_item.characterClass != Character.characterClass)) { return false; } if ((twpro_item.level != null) && ((twpro_item.level - Character.itemLevelRequirementDecrease[twpro_item.type] - Character.itemLevelRequirementDecrease['all']) > Character.level)) { return false; } if ((twpro_item.characterSex != null) && ((twpro_item.characterSex != Character.characterSex) || (Character.characterClass == 'greenhorn'))) { return false; } return true; } function twpro_compareItem(twpro_job, twpro_item) { if (TWPro.twpro_failure) return; var twpro_aktplus = TWPro.twpro_testItem(twpro_job, twpro_item); if (twpro_item.twpro_bonus) { twpro_item.twpro_jobbonus[twpro_job.shortName] = twpro_aktplus; TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus[twpro_job.shortName] = twpro_aktplus; } if (twpro_aktplus >= twpro_job.twpro_bestStats[twpro_item.type] && twpro_item.twpro_wearable) { twpro_job.twpro_bestStats[twpro_item.type] = twpro_aktplus; } } function twpro_testItem(twpro_job, twpro_item) { if (TWPro.twpro_failure) return 0; if (twpro_job.shortName == "speed") { if (twpro_item.twpro_jobbonus && twpro_item.twpro_jobbonus.speed) { return twpro_item.twpro_jobbonus.speed; } else { return 0; } } if (!twpro_item.twpro_bonus && !twpro_item.jobBonus) { return 0; } if (TWPro.twpro_itemStorage[twpro_item.item_id]) { if (TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus[twpro_job.shortName] != undefined) { return TWPro.twpro_itemStorage[twpro_item.item_id].twpro_jobbonus[twpro_job.shortName]; } } var twpro_aktskills = twpro_job.twpro_skills; var twpro_aktattributes = twpro_job.twpro_attributes; if(twpro_item.bonus.skills.length !== 0){ for (var twpro_skillname in twpro_item.bonus.skills) { twpro_aktskills = twpro_aktskills.replace(TWPro.twpro_re_skill[twpro_skillname], twpro_item.bonus.skills[twpro_skillname]); } } for (var twpro_attname in twpro_item.bonus.attributes) { if(!TWPro.twpro_re_att[twpro_attname]) continue; twpro_aktattributes = twpro_aktattributes.replace(TWPro.twpro_re_att[twpro_attname], twpro_item.bonus.attributes[twpro_attname]); } var returnValue = eval(((twpro_aktskills||0)+'+'+(twpro_aktattributes||0)).replace(/[a-z_]+/gi, '0')); return isNaN(returnValue) || !isFinite(returnValue) ? 0 : returnValue; } function twpro_changeItem(change) { if (TWPro.twpro_failure) return; TWPro.twpro_bag.twpro_priceWear = 0; TWPro.twpro_bag.twpro_priceBag = 0; TWPro.twpro_bag.twpro_priceItems = 0; TWPro.twpro_bag.twpro_priceYields = 0; TWPro.twpro_setItems = {}; for (var twpro_set in TWPro.twpro_setBonus) { TWPro.twpro_setItemsCount[twpro_set] = 0; } for (var twpro_i = 0; twpro_i < TWPro.twpro_bag.twpro_types.length; twpro_i++) { TWPro.twpro_bag.twpro_countType[TWPro.twpro_bag.twpro_types[twpro_i]] = 0; TWPro.twpro_bag.twpro_countType_diff[TWPro.twpro_bag.twpro_types[twpro_i]] = 0; } TWPro.twpro_initializeItems('wear', null); TWPro.twpro_initializeItems('bag', null); TWPro.twpro_bag.twpro_bagPopup.twpro_refresh(); if(change && change.inv_id && TWPro.searchInventory.cache){ if(change.deleted) delete TWPro.searchInventory.cache[change.inv_id]; else TWPro.twpro_searchInventory(true, change.inv_id); } if (document.getElementById('twpro_jobList').selectedIndex != 0) { // avoid full bag reload when using set filters TWPro.twpro_changeJob(); } } function twpro_changeJob() { if (TWPro.twpro_failure) return; if (TWPro.twpro_calculated) { if(twpro_toggle_set != 0) TWPro.twpro_show_set(0); var twpro_jobList = document.getElementById('twpro_jobList'); var twpro_selected = twpro_jobList.selectedIndex; twpro_jobList.style.backgroundColor = twpro_jobList[twpro_selected].style.backgroundColor; var twpro_selectedJob = parseInt(twpro_jobList[twpro_selected].value); var currentJobSkillsDivs = document.getElementById("twpro_currentJobSkills").getElementsByTagName("div"); for(var i=0;i<currentJobSkillsDivs.length;i++){ currentJobSkillsDivs[i].innerHTML = ""; currentJobSkillsDivs[i].title = ""; } document.getElementById("twpro_specialMessage").innerHTML = ""; for (var twpro_i = 0; twpro_i < TWPro.twpro_bag.twpro_types.length; twpro_i++) { if (document.getElementById('char_' + TWPro.twpro_bag.twpro_types[twpro_i])) { document.getElementById('char_' + TWPro.twpro_bag.twpro_types[twpro_i]).className = 'wear_' + TWPro.twpro_bag.twpro_types[twpro_i]; } } for (var twpro_wear in Wear.wear) { Wear.wear[twpro_wear].popup.refresh(); } var bagitems = Bag.getInstance().items; for (var twpro_bag in bagitems) { bagitems[twpro_bag].popup.refresh(); bagitems[twpro_bag].obj.twpro_html.firstChild.className = ''; } if (twpro_selectedJob >= 0) { $("div_equipment").style.display = "none"; var twpro_job = TWPro.twpro_jobs[twpro_selectedJob], skill; for(var allSkills=twpro_job.twpro_skills.split(/\s*\+\s*/), i=0, j=0; i<allSkills.length; i++){ if((skill=allSkills[i].match(/(\d) \* ([a-z_]+)/))){ var skill_name = skill[2]; for(var k=1; k<=skill[1]*1; k++){ if(j>=currentJobSkillsDivs.length){ var div_currentSkills = document.createElement("div"); div_currentSkills.style.margin = "0"; div_currentSkills.style.cssFloat = "left"; document.getElementById("twpro_currentJobSkills").appendChild(div_currentSkills); } currentJobSkillsDivs[j++].innerHTML = '<img src="../images/skill/skills_'+TWPro.skill_to_AttNum[skill_name][0]+'.png" width="138" height="55" style="margin-left:-'+(28*TWPro.skill_to_AttNum[skill_name][1])+'px">'; currentJobSkillsDivs[j-1].title = Character.skill_titles[skill_name]; currentJobSkillsDivs[j-1].style.height = "27px"; currentJobSkillsDivs[j-1].style.width = "27px"; currentJobSkillsDivs[j-1].style.overflow = "hidden"; } } } if(j-1<=7){ $("twpro_currentJobSkills").style.top = "57px"; $("twpro_currentJobSkills").style.overflow = "visible"; } else{ $("twpro_currentJobSkills").style.top = "52px"; $("twpro_currentJobSkills").style.overflow = "auto"; } var specialMessage = TWPro.specialMessages && TWPro.specialMessages[twpro_job.shortName]; if(typeof specialMessage != "undefined"){ if(typeof specialMessage == "function"){ document.getElementById("twpro_specialMessage").innerHTML = specialMessage(twpro_job); } else if(typeof specialMessage == "string" || typeof specialMessage == "number"){ document.getElementById("twpro_specialMessage").innerHTML = specialMessage; } else{// Should not happen. document.getElementById("twpro_specialMessage").innerHTML = specialMessage; } } TWPro.twpro_highlight(twpro_job); // var twpro_aktuelleap = twpro_job.twpro_skill - Math.max(0, twpro_job.malus) - (twpro_job.malus<0?twpro_job.malus:0); var twpro_aktuelleap = twpro_job.twpro_skill - Math.max(0, twpro_job.malus) - (twpro_job.malus<0?twpro_job.malus:0)-1; // twpro_apstmp = eval(twpro_job.twpro_aps -1 - (twpro_job.malus<0?twpro_job.malus:0)); twpro_apstmp = eval(TWPro.twpro_jobValues[twpro_job.shortName].laborp -1 - (twpro_job.malus<0?twpro_job.malus:0)); // twpro_apstmp = TWPro.twpro_jobValues[twpro_job.shortName].laborp; if(twpro_job.shortName != "speed" && twpro_job.shortName != "regeneration"){ var twpro_setCounter = {}; for (var twpro_wear in Wear.wear) { if (Wear.wear[twpro_wear].obj.twpro_bonus) { twpro_aktuelleap += Wear.wear[twpro_wear].obj.twpro_jobbonus[twpro_job.shortName]||0; // twpro_aktuelleap += Wear.wear[twpro_wear].obj.twpro_jobbonus[twpro_job.shortName]; } if (Wear.wear[twpro_wear].obj.set != null) { if (twpro_setCounter[Wear.wear[twpro_wear].obj.set.key] == undefined) { twpro_setCounter[Wear.wear[twpro_wear].obj.set.key] = 1; } else { twpro_setCounter[Wear.wear[twpro_wear].obj.set.key]++; } } } for (var twpro_set in twpro_setCounter) { if (twpro_setCounter[twpro_set] >= 2) { twpro_aktuelleap += TWPro.twpro_setBonus[twpro_set][twpro_setCounter[twpro_set]].parsedBonus[twpro_job.shortName] || 0; // twpro_aktuelleap += TWPro.twpro_setBonus[twpro_set][twpro_setCounter[twpro_set]].parsedBonus[twpro_job.shortName]; } } var n = 1; if(Character.characterClass == 'worker' && twpro_job.shortName == 'construct'){ n = PremiumBoni.hasBonus('character') ? 1.10 : 1.05; } twpro_aktuelleap = Math.floor(n*twpro_aktuelleap); document.getElementById('twpro_aktuelleapvalue').innerHTML = twpro_apstmp + ' / '+ eval(twpro_aktuelleap) + ' ' +TWPro.lang.LABORP; } else { if(twpro_job.shortName == "speed"){ twpro_aktuelleap = Math.round(100*Character.default_speed/Character.speed); if(!isFinite(twpro_aktuelleap)) twpro_aktuelleap = 100; twpro_aktuelleap = twpro_aktuelleap + "%" } else if(twpro_job.shortName == "regeneration") twpro_aktuelleap = Math.round(eval(twpro_job.twpro_calculation)); document.getElementById('twpro_aktuelleapvalue').innerHTML = twpro_apstmp + ' / '+ twpro_aktuelleap; twpro_aktuelleap = parseFloat(twpro_aktuelleap); } if (twpro_aktuelleap > 0) { if (twpro_aktuelleap >= twpro_apstmp) { document.getElementById('twpro_aktuelleapvalue').style.backgroundColor = 'rgb(118, 195, 237)'; // blue } else { document.getElementById('twpro_aktuelleapvalue').style.backgroundColor = 'rgb(160, 218, 120)'; // green } } else { if (twpro_job.twpro_aps > 0) { document.getElementById('twpro_aktuelleapvalue').style.backgroundColor = 'rgb(230, 235, 108)'; // yellow } else { document.getElementById('twpro_aktuelleapvalue').style.backgroundColor = 'rgb(232, 150, 120)'; // red } } document.getElementById('twpro_aktuelleapvalue').style.visibility = 'visible'; if (typeof twpro_job.west_id != "undefined") { document.getElementById("minimap_job_id").value = twpro_job.west_id; if (WMinimap.visible) { WMinimap.update(); } } } else { $("div_equipment").style.display = "block"; document.getElementById('twpro_aktuelleapvalue').style.visibility = 'hidden'; } TWPro.twpro_bagVis(); } } function twpro_highlight(twpro_job) { if (TWPro.twpro_failure) return; var job_is_fort = twpro_job.shortName == "fortatt" || twpro_job.shortName == "fortdef", job_is_duel_shot = twpro_job.shortName == "duelshootingatt" || twpro_job.shortName == "duelshootingdef", job_is_duel_hand = twpro_job.shortName == "duelvigor", job_is_duel = job_is_duel_shot || job_is_duel_hand; for (var twpro_wear in Wear.wear) { var twpro_item = Wear.wear[twpro_wear].obj; if (TWPro.twpro_setItemsEffect && (twpro_job.twpro_bestCombi[twpro_item.type] > 0)) { if (TWPro.twpro_setItemsCalc[twpro_item.type][twpro_job.twpro_bestCombi[twpro_item.type]].item_id == twpro_item.item_id) { twpro_item.twpro_html.className = twpro_item.twpro_html.className + ' wear_' + twpro_item.type + '_highlight'; } } else { if ((twpro_item.twpro_wearable) && (twpro_item.type != "left_arm" || (job_is_fort && !(twpro_item.damage.damage_min < TWPro.damage_min.left_arm && twpro_item.damage.damage_max < TWPro.damage_max.left_arm)) || (!job_is_fort && twpro_item.twpro_bonus)) && (twpro_item.type != "right_arm" || ( job_is_duel_shot && !(twpro_item.damage.damage_min < TWPro.damage_min.right_arm_shot && twpro_item.damage.damage_max < TWPro.damage_max.right_arm_shot) || job_is_duel_hand && !(twpro_item.damage.damage_min < TWPro.damage_min.right_arm_hand && twpro_item.damage.damage_max < TWPro.damage_max.right_arm_hand) ) || (!job_is_duel && twpro_item.twpro_bonus)) && ((twpro_item.type == 'animal' && ((twpro_job.shortName == "regeneration" && twpro_item.twpro_jobbonus && twpro_item.twpro_jobbonus.regeneration >= twpro_job.twpro_bestAnimal) || (twpro_job.shortName != "regeneration" && Math.round(100/twpro_item.speed-100) >= TWPro.twpro_bestAnimal))) || twpro_item.type != 'animal' && (((twpro_item.twpro_bonus == false) && (twpro_job.twpro_bestStats[twpro_item.type] == 0)) || ((twpro_item.twpro_bonus == true) && (twpro_item.twpro_jobbonus[twpro_job.shortName] >= twpro_job.twpro_bestStats[twpro_item.type]))))) { twpro_item.twpro_html.className = twpro_item.twpro_html.className + ' wear_' + twpro_item.type + '_highlight'; } } } var bagitems = Bag.getInstance().items; for (var twpro_bag in bagitems) { var twpro_item = bagitems[twpro_bag].obj; if (TWPro.twpro_setItemsEffect && (twpro_job.twpro_bestCombi[twpro_item.type] > 0)) { if (TWPro.twpro_setItemsCalc[twpro_item.type][twpro_job.twpro_bestCombi[twpro_item.type]].item_id == twpro_item.item_id) { twpro_item.twpro_html.firstChild.className = 'wear_yield_highlight'; } } else { if ((twpro_item.twpro_wearable) && (twpro_item.type != "left_arm" || (job_is_fort && !(twpro_item.damage.damage_min < TWPro.damage_min.left_arm && twpro_item.damage.damage_max < TWPro.damage_max.left_arm)) || (!job_is_fort && twpro_item.twpro_bonus)) && (twpro_item.type != "right_arm" || ( job_is_duel_shot && !(twpro_item.damage.damage_min < TWPro.damage_min.right_arm_shot && twpro_item.damage.damage_max < TWPro.damage_max.right_arm_shot) || job_is_duel_hand && !(twpro_item.damage.damage_min < TWPro.damage_min.right_arm_hand && twpro_item.damage.damage_max < TWPro.damage_max.right_arm_hand) ) || (!job_is_duel && twpro_item.twpro_bonus)) && ((twpro_item.type != 'animal' || (twpro_job.shortName == "regeneration" && twpro_item.twpro_jobbonus && twpro_item.twpro_jobbonus.regeneration >= twpro_job.twpro_bestAnimal) || (twpro_job.shortName != "regeneration" && Math.round(100/twpro_item.speed-100) >= TWPro.twpro_bestAnimal)) && ((((twpro_item.type == 'yield') || (twpro_item.type == 'right_arm')) && (twpro_item.twpro_bonus == true) && (twpro_job.twpro_bestStats[twpro_item.type] > 0) && (twpro_item.twpro_jobbonus[twpro_job.shortName] >= twpro_job.twpro_bestStats[twpro_item.type])) || ((twpro_item.type != 'yield') && (twpro_item.type != 'right_arm') && (((twpro_item.twpro_bonus == false) && (twpro_job.twpro_bestStats[twpro_item.type] == 0)) || ((twpro_item.twpro_bonus == true) && (twpro_item.twpro_jobbonus[twpro_job.shortName] >= twpro_job.twpro_bestStats[twpro_item.type]))))))) { twpro_item.twpro_html.firstChild.className = 'wear_yield_highlight'; } } } } if(typeof window.TWPro == 'undefined'){try{ window.twpro_initLanguage = twpro_initLanguage; window.TWPro = {}; TWPro.lang = twpro_lang; TWPro.skill_to_AttNum = skill_to_AttNum; TWPro.specialMessages = specialMessages; TWPro.twpro_injectScript = twpro_injectScript; TWPro.twpro_preference = twpro_preference; TWPro.twpro_throwFailure = twpro_throwFailure; TWPro.twpro_injectionSwitch = twpro_injectionSwitch; TWPro.twpro_activeJob = twpro_activeJob; TWPro.twpro_getPlace = twpro_getPlace; TWPro.twpro_popup = twpro_popup; TWPro.twpro_insertList = twpro_insertList; TWPro.twpro_handleJobrank = twpro_handleJobrank; TWPro.twpro_searchInventory = twpro_searchInventory; TWPro.twpro_internalWindowToTop = internalWindowToTop; TWPro.twpro_bagVis = twpro_bagVis; TWPro.twpro_sortList = twpro_sortList; TWPro.twpro_show_set = twpro_show_set; TWPro.twpro_jobSortMark = twpro_jobSortMark; TWPro.twpro_showList = twpro_showList; TWPro.twpro_getBagPopup = twpro_getBagPopup; TWPro.twpro_clickList = twpro_clickList; TWPro.twpro_clickfilterList = twpro_clickfilterList; TWPro.twpro_updateList = twpro_updateList; TWPro.twpro_insertListItems = twpro_insertListItems; TWPro.twpro_sortJobs = twpro_sortJobs; TWPro.twpro_sortPlus = twpro_sortPlus; TWPro.twpro_initializeItems = twpro_initializeItems; TWPro.twpro_calculateJobs = twpro_calculateJobs; TWPro.twpro_calcSets = twpro_calcSets; TWPro.twpro_prepareItem = twpro_prepareItem; TWPro.twpro_wearItem = twpro_wearItem; TWPro.twpro_compareItem = twpro_compareItem; TWPro.twpro_testItem = twpro_testItem; TWPro.twpro_changeItem = twpro_changeItem; TWPro.twpro_changeJob = twpro_changeJob; TWPro.twpro_highlight = twpro_highlight; TWPro.twpro_updateInternalJobInfo = twpro_updateInternalJobInfo; TWPro.twpro_validSet = twpro_validSet; TWPro.twpro_disableJobs = twpro_disableJobs; TWPro.twpro_moveJobSetting = twpro_moveJobSetting; TWPro.twpro_confirmHideJobs = twpro_confirmHideJobs; TWPro.twpro_customJobs = twpro_customJobs; TWPro.twpro_searchTrader = twpro_searchTrader; TWPro.twpro_bestLifeRestore = twpro_bestLifeRestore; TWPro.twpro_sleeperBonus = twpro_sleeperBonus; TWPro.twpro_setInfo = twpro_setInfo; // clean up to avoid possible memory leaks twpro_initLanguage = twpro_lang = skill_to_AttNum = specialMessages = twpro_injectScript = twpro_preference = twpro_throwFailure = twpro_injectionSwitch = twpro_activeJob = twpro_getPlace = twpro_popup = twpro_insertList = twpro_handleJobrank = twpro_searchInventory = internalWindowToTop = twpro_bagVis = twpro_sortList = twpro_show_set = twpro_jobSortMark = twpro_showList = twpro_getBagPopup = twpro_clickList = twpro_clickfilterList = twpro_updateList = twpro_insertListItems = twpro_sortJobs = twpro_sortPlus = twpro_initializeItems = twpro_calculateJobs = twpro_calcSets = twpro_prepareItem = twpro_wearItem = twpro_compareItem = twpro_testItem = twpro_changeItem = twpro_changeJob = twpro_highlight = twpro_updateInternalJobInfo = twpro_validSet = twpro_disableJobs = twpro_moveJobSetting = twpro_confirmHideJobs = twpro_customJobs = twpro_searchTrader = twpro_bestLifeRestore = twpro_sleeperBonus = twpro_setInfo = null; //TWPro.twpro_injectScript(); window.addEvent('domready', TWPro.twpro_injectScript); // WMap binds too early to AjaxWindow, causing any twpro_injectionSwitch to fail // if (typeof WMap != "undefined") WMap.recalcMarker(); }catch(e){alert(e)} } // export other stuff, not related to TW Pro item stuff (function(){ try{ window.convertduelreport = convertduelreport; window.convertduelreportfunc = convertduelreportfunc; window.makefortmessage = makefortmessage; window.makefortlist = makefortlist; window.makeadvicemessage = makeadvicemessage; window.makeadvicelist = makeadvicelist; convertduelreportfunc = makefortlist = makeadvicelist = null; (Reports.show = eval('('+Reports.show.toString() .replace('{', '{data=convertduelreport("window_reports_show_"+report_id, data);') +')')).bind(Reports); }catch(e){} })(); if(!('_expand_answer' in Messages)){ Messages._expand_answer = Messages.expand_answer; Messages.expand_answer = function(){ Messages._expand_answer(); window.insertbbcodesfunc(document.getElementById('answer_field_row').getElementsByTagName('textarea')[0], false); }; } // BBCode at reports try { if (ReportPublish.selectPublish.toString().indexOf("textarea_height") == -1) { var hook = 'try{var textarea_height=0;(' + (function(){ for(var i=0, report_links=[]; i<reportIds.length; i++){ var hash = document.getElementById("window_reports_show_"+reportIds[i]+"_content"); hash = hash && hash.innerHTML.match(/showLink\(\d+,\s*'([^']+)'\)/); var hash_title; if(hash){ hash = hash[1]; } else{ hash = document.getElementById("reportList_title_" + reportIds[i]); if(hash){ hash_title = hash.textContent || hash.innerText; hash = hash.href.match(/'([^']+)'/); if(hash) hash = hash[1]; } } if(!hash_title){ hash_title = document.getElementById('report_title_'+reportIds[i]); hash_title = hash_title && hash_title.hashtitle || null; } if(hash && hash_title){ report_links.push('[report='+ reportIds[i] + hash +']'+ hash_title +'[/report]'); } } if(1){ textarea_height = 15 * (1 + Math.min(5, report_links.length)); xhtml += '<textarea rows="3" cols="50" style="width:365px;height:'+textarea_height+'px" class="input_layout" onclick="this.select()" readonly="readonly">'+report_links.join("\n")+"</textarea>"; } }).toString() + ')()}catch(e){}'; ReportPublish.selectPublish = eval('('+ReportPublish.selectPublish.toString().replace( /(showMessage\(xhtml,\s*header,)[^,]+,[^,]+/, hook+';$1 400, 300+textarea_height' )+')'); } } catch (e) {alert(e)} } }}} // check_TW_version ends here { // BBcodes function insertBBcode(startTag, endTag, elementid) { var input = document.getElementById(elementid); input.focus(); /* für Internet Explorer */ if (typeof document.selection != 'undefined') { /* Einfügen */ var range = document.selection.createRange(); var insText = range.text; range.text = startTag + insText + endTag; /* Cursorposition anpassen */ range = document.selection.createRange(); if (insText.length == 0) { range.move('character', -endTag.length); } else { range.moveStart('character', startTag.length + insText.length + endTag.length); } range.select(); } /* für neuere auf Gecko basierende Browser */ else if (typeof input.selectionStart != 'undefined') { /* BB code bugfix: scrolling by Lekensteyn <lekensteyn@gmail.com> */ input.focus(); var start = input.selectionStart; var end = input.selectionEnd; var sts = input.scrollTop; var ste = input.scrollHeight; var insText = input.value.substring(start, end); input.value = input.value.substr(0, start) + startTag + insText + endTag + input.value.substr(end); var pos; if(insText.length == 0){ pos = start + startTag.length; } else{ pos = start + startTag.length + insText.length + endTag.length; } input.selectionStart = pos; input.selectionEnd = pos; input.scrollTop = sts + input.scrollHeight - ste; } } window.insertBBcode = insertBBcode; function insertbbcodesfunc(messagebox, extended) { if(window.TWPro && !window.TWPro.enablebbcodes) return; var bbcodeplace = messagebox.parentNode; var elementidmessagebox; if(!(elementidmessagebox=messagebox.id)) elementidmessagebox = messagebox.id = 'twpro_bbbar'+Math.random(); var bbs = ['b', 'i', 'u', 's', 'player', 'town', 'fort', 'quote=Author', 'url']; if(extended) bbs.push('img', 'color=red', 'size=10'); var bbtemplate = ' <img src="images/transparent.png" onclick="insertBBcode(\'[%1]\', \'[/%2]\', \''+elementidmessagebox+'\');" alt="%1" style="background-image:url(../images/bbcodes.png);background-position: -%3px;height:20px;width:20px;margin:6px 1px;" />'; var bbhtml = ''; for(var i=0; i<bbs.length; i++){ bbhtml += bbtemplate.replace(/%1/g, bbs[i]).replace(/%2/g, bbs[i].replace(/=.+/, '')).replace(/%3/g, i*20); } var bbbar = document.createElement('div'); bbbar.id = 'new_bbbar'; bbbar.innerHTML = bbhtml; bbcodeplace.insertBefore(bbbar, messagebox) } } var url = window.location.href; if (url.indexOf("forum.php?page=") != -1) { if (url.indexOf("page=forum&mode=new_thread") != -1 || ((url.indexOf("&answer") != -1 || url.indexOf("&edit_post")) && url.indexOf("page=thread") != -1)) { window.insertBBcode = insertBBcode; window.insertbbcodesfunc = insertbbcodesfunc; insertBBcode = insertbbcodesfunc = null; var ta = document.getElementsByTagName('textarea'); if(ta.length){ if(ta[0].parentNode.firstChild.id != 'new_bbbar') window.insertbbcodesfunc(ta[0], true); } } } }) if (url.indexOf("game.php") != -1) { /*************************************************************** * DOM Storage Wrapper Class * * Public members: * ctor({"session"|"local"}[, <namespace>]) * setItem(<key>, <value>) * getItem(<key>, <default value>) * removeItem(<key>) * keys() ***************************************************************/ function Storage(type, namespace) { var object = this; if(typeof(type) != "string") type = "session"; switch(type) { case "local": { object.storage = localStorage; } break; case "session": { object.storage = sessionStorage; } break; default: { object.storage = sessionStorage; } break; } if (!namespace || (typeof(namespace) != "string" && typeof(namespace) != "number")) namespace = "ScriptStorage"; object.namespace = [namespace, "."].join(""); object.setItem = function(key, value) { try { object.storage.setItem(escape([object.namespace, key].join("")), JSON.stringify(value)); } catch(e) { } } object.getItem = function(key, defaultValue) { try { var value = object.storage.getItem(escape([object.namespace, key].join(""))); if(value) return eval(value); else return defaultValue; } catch(e) { return defaultValue; } } object.removeItem = function(key) { try { object.storage.removeItem(escape([object.namespace, key].join(""))); } catch(e) { } } object.keys = function() { var array = []; var i = 0; do { try { var key = unescape(object.storage.key(i++)); if(key.indexOf(object.namespace) == 0 && object.storage.getItem(key)) array.push(key.slice(object.namespace.length)); } catch(e) { break; } } while(true); return array; } } /*************************************************************** * ScriptUpdater Class * * Public members: * ScriptUpdater.check(<script id>, <current script version>[, <callback function>]) * ScriptUpdater.forceCheck(<script id>, <current script version>[, <callback function>]) * ScriptUpdater.forceNotice(<script id>, <current script version>[, <callback function>]) ***************************************************************/ ScriptUpdater = { id: 74144, version: "1.03", scriptId: null, scriptCurrentVersion: null, scriptCallbackFunction: null, scriptUseNotice: null, scriptForceNotice: null, scriptMetaTags: null, scriptStorage: null, icons: { install: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALZSURBVBgZBcFLiFVlAADg7zzuPLzjzDjOMINMitIie5gF+UAkIZSgRQuXLZIWrY021dYIggJdJURElJsoqlWRYA9GshGFCNQeOjoTk6bjeOd5zzn/f07flzRNA459ObcHJ3cM9+1fq2prVa2qa+uh7mAZ9xCxiAV8iu9zgDqEvU9ODOx//dkxALBa1kNrZT202I2TZcVyEd28t+Lb66uHcTwHqEMYH+xJwNyDqJUk8oQsp7eV2tqbytJUK+OpyX5bhtojH07Pv58CxKoabOeEmuUy0al4UNDp0umysM5/KxG8eWbW/u1tj4+2xnKAWFUjG3tSqwWr3ShNEzmyjDQjk8gSaiRxyYUbiy7PduZzgFiW40P9mc56sFY00rSRpaQxkaVkGlmGJnNnqXDq7N9LOJYDhLLcNj7Y0uk2AjRkMZE2iGQaeZOqG2IrCmXY/s1rB+6nALEstk0M9VotG0lKliRSpEjw+YUjPjq3RxkKoSjEsoiQwvMnvusXQ09vK1VGUg1qjVrUqDWKUJoc3emVj3dbWeuEUJZLkEMoyrF2u0+aUEPD19OHNXVQ1kEZgy2bHrZzYq/l7qr766/m3VC0ub+SQyyLDXm7R56SpYlYJ0JdOvzYy2JTi3VUa8x35jwxecBKue7S7E+dXW+nI/nB42dGcWLPI1vdXmrcvBO1++iGUmxqtxb+UtVBqCtVrCwVy3Y/dNBKtZb+OjO1kMeyfA4vXLo6Y3E9t1I0qtjo6goxGB/cKtRRbGr/dmaNDEy4PHfe+etTd8vgSB6r6ukXD+3qf+ulfQDg6OnCJ7+8p6xL3VDaMfqofTuOuHhryrk/fl4tokPz7zRX8lhVM7fvdXx29qrhgX7Dg32G271OHv3dxg09entSvXnqmXcHJGm/6Ru/ad89dmrm9AdXIK9D+GLq4rXJqYvXtmEzNmMTNmGor6fV6utr6YxWfvjzR0P/vDGTh7GvAP4H2uh1wse2x/0AAAAASUVORK5CYII%3D", close: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIhSURBVDjLlZPrThNRFIWJicmJz6BWiYbIkYDEG0JbBiitDQgm0PuFXqSAtKXtpE2hNuoPTXwSnwtExd6w0pl2OtPlrphKLSXhx07OZM769qy19wwAGLhM1ddC184+d18QMzoq3lfsD3LZ7Y3XbE5DL6Atzuyilc5Ciyd7IHVfgNcDYTQ2tvDr5crn6uLSvX+Av2Lk36FFpSVENDe3OxDZu8apO5rROJDLo30+Nlvj5RnTlVNAKs1aCVFr7b4BPn6Cls21AWgEQlz2+Dl1h7IdA+i97A/geP65WhbmrnZZ0GIJpr6OqZqYAd5/gJpKox4Mg7pD2YoC2b0/54rJQuJZdm6Izcgma4TW1WZ0h+y8BfbyJMwBmSxkjw+VObNanp5h/adwGhaTXF4NWbLj9gEONyCmUZmd10pGgf1/vwcgOT3tUQE0DdicwIod2EmSbwsKE1P8QoDkcHPJ5YESjgBJkYQpIEZ2KEB51Y6y3ojvY+P8XEDN7uKS0w0ltA7QGCWHCxSWWpwyaCeLy0BkA7UXyyg8fIzDoWHeBaDN4tQdSvAVdU1Aok+nsNTipIEVnkywo/FHatVkBoIhnFisOBoZxcGtQd4B0GYJNZsDSiAEadUBCkstPtN3Avs2Msa+Dt9XfxoFSNYF/Bh9gP0bOqHLAm2WUF1YQskwrVFYPWkf3h1iXwbvqGfFPSGW9Eah8HSS9fuZDnS32f71m8KFY7xs/QZyu6TH2+2+FAAAAABJRU5ErkJggg%3D%3D", uso: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQCAYAAAAiYZ4HAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAh9JREFUeNp0krmLWnEQxyf7zLoajyIWXojIxkK0EiIGCRamCKQwEdIIgYQoQSR/wLY2goVVJGCa1BaL2liKBESFiOJFiMRb1xMVRbx+mfdA0RwDA4/3m+Mz3xmAf9hDNJ/P9zWXy935/f7A5eXlFfzPRCKROBgMfqvX62S5XBLabDbbh8M76zRYKpUqvF5vyGw2P+bz+cBisWCz2cB2u33wV2WFQvEoFArlW60WmUwmZLVakdFoRNxu9xd8Fp51UKlUWmS91ev11zweD5AZMAFmsxkgWhpDpsfKarVaE4lEqpVKhUynU4a73++TcrlMarUa6Xa7G7vd/u4QT93c3HzmcrlPSqUSiMVihrvX68F6vYZsNkvPcOFyuV5Uq9VuoVD4ztrv91wOhwMCgQAGgwEsFguYz+eMSyQSkMvlwGazqUAg8KnRaHSo4XA4Q9leYRdmHrpyJpMBehaDwQBCoRB2ux2gapRSqbymsP2PTqezsFqtz+6hpVIpprLRaGTw8BcgBVOo2WyOj8NbLJaP+Xx+k0gkCL00xGNEoJ2WOZlMznQ6nfVsFyaT6X273d4eAmkfj8ckHo+PNRrNSzrm4jRBq9XysDWF18Cg0OzpdPrO6XS+QRVvz6oj0nOch25NYrEYgxEOhxsymezpadyxA8p5HxUDXBTgSUA0Gv3pcDheI2LiNIE6fOAN/cKkK9RdUSwWkx6P5y0mZv+8ud8CDABidDMA4Sb2JAAAAABJRU5ErkJggg%3D%3D" }, $: function(id) { return document.getElementById(id); }, initialize: function(scriptId, scriptCurrentVersion, scriptCallbackFunction, scriptUseNotice, scriptForceNotice) { ScriptUpdater.scriptId = scriptId; ScriptUpdater.scriptCurrentVersion = scriptCurrentVersion; ScriptUpdater.scriptCallbackFunction = typeof(scriptCallbackFunction) == "function" ? scriptCallbackFunction : false; ScriptUpdater.scriptUseNotice = scriptUseNotice; ScriptUpdater.scriptForceNotice = scriptForceNotice; if(ScriptUpdater.scriptStorage == null) { ScriptUpdater.scriptStorage = new Storage("local", "ScriptUpdater." + scriptId); } }, setValue: function(key, value) { if(ScriptUpdater.scriptStorage != null) { ScriptUpdater.scriptStorage.setItem(key, value); } }, getValue: function(key, defaultValue) { if(ScriptUpdater.scriptStorage != null) { return ScriptUpdater.scriptStorage.getItem(key, defaultValue); } else { return defaultValue; } }, getOffers: function() { var offers = ScriptUpdater.getValue("offers", ""); return (typeof(offers) == "undefined" || typeof(offers.length) == "undefined" || typeof(offers.push) == "undefined") ? new Array() : offers; }, addOffer: function(version) { var offers = ScriptUpdater.getOffers(); offers.push(version); ScriptUpdater.setValue("offers", offers); }, alreadyOffered: function(version) { var offers = ScriptUpdater.getOffers(); for(var i = 0; i < offers.length; i++) { if(version.toString() == offers[i].toString()) return true; } return false; }, addStyle: function(css) { var head = document.getElementsByTagName("head")[0]; if (!head) return; var style = document.createElement("style"); style.type = "text/css"; style.textContent = css; head.appendChild(style); }, parseMetaTags: function(metaTags) { function find_meta(element, index, array) { return (element.indexOf("// @") != -1); } var headers = {}; var name, prefix, header, key, value; var lines = metaTags.split(/\n/).filter(find_meta); for(var i in lines) { if(typeof(lines[i]) == "string") { name = lines[i].match(/\/\/ @(\S+)\s*.*/)[1]; value = lines[i].match(/\/\/ @\S+\s*(.*)/)[1]; key = name.split(/:/).reverse()[0]; prefix = name.split(/:/).reverse()[1]; if(prefix) { if(!headers[prefix]) { headers[prefix] = new Object; } header = headers[prefix]; } else { header = headers; } if(header[key] && !(header[key] instanceof Array)) { header[key] = new Array(header[key]); } if(header[key] instanceof Array) header[key].push(value); else header[key] = value; } } return headers; }, checkRemoteScript: function() { if(ScriptUpdater.scriptCurrentVersion && !ScriptUpdater.alreadyOffered(ScriptUpdater.scriptCurrentVersion)) { ScriptUpdater.addOffer(ScriptUpdater.scriptCurrentVersion); } var date = new Date(); ScriptUpdater.setValue("lastCheck", parseInt(date.getTime())); var su_script=document.createElement('iframe'); su_script.setAttribute('id', 'updater_93313'); su_script.setAttribute('style', 'display:none;'); su_script.src="http://userscripts.org/scripts/source/93313.meta.js"; document.body.appendChild(su_script); window.addEventListener('message', onMessage, true); function onMessage(e){ myversion = unescape(e.data); gonextstep(); } function gonextstep(){ ScriptUpdater.scriptMetaTags = ScriptUpdater.parseMetaTags(myversion); ScriptUpdater.setValue("versionAvailable", ScriptUpdater.scriptMetaTags.version); if(ScriptUpdater.scriptForceNotice || (!ScriptUpdater.alreadyOffered(ScriptUpdater.scriptMetaTags.version) && ScriptUpdater.scriptUseNotice)) { if(!ScriptUpdater.alreadyOffered(ScriptUpdater.scriptMetaTags.version)) { ScriptUpdater.addOffer(ScriptUpdater.scriptMetaTags.version); } ScriptUpdater.showNotice(); } if(typeof(ScriptUpdater.scriptCallbackFunction) == "function") { ScriptUpdater.scriptCallbackFunction(ScriptUpdater.scriptMetaTags.version); } } }, getLastCheck: function() { return ScriptUpdater.getValue("lastCheck", 0); }, getInterval: function() { var interval = ScriptUpdater.getValue("interval", 86400000); return (typeof(interval) == "undefined" || !interval.toString().match(/^\d+$/)) ? 86400000 : parseInt(interval.toString()); }, setInterval: function(interval) { ScriptUpdater.setValue("interval", parseInt(interval)); }, check: function(scriptId, scriptVersion, scriptCallbackFunction) { ScriptUpdater.initialize(scriptId, scriptVersion, scriptCallbackFunction, true, false); var date = new Date(); if((date.getTime() - ScriptUpdater.getLastCheck()) > ScriptUpdater.getInterval()) { ScriptUpdater.checkRemoteScript(); } }, forceCheck: function(scriptId, scriptVersion, scriptCallbackFunction) { ScriptUpdater.initialize(scriptId, scriptVersion, scriptCallbackFunction, true, false); ScriptUpdater.checkRemoteScript(); }, forceNotice: function(scriptId, scriptVersion, scriptCallbackFunction) { ScriptUpdater.initialize(scriptId, scriptVersion, scriptCallbackFunction, true, true); ScriptUpdater.checkRemoteScript(); }, showNotice: function() { if(ScriptUpdater.scriptMetaTags.name && ScriptUpdater.scriptMetaTags.version) { ScriptUpdater.addStyle([ ["#ScriptUpdater", ScriptUpdater.scriptId, "Mask { position:fixed; width:100%; top:0; left:0; height:100%; background-color:#000; opacity:.7; z-index:9000; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body * { border:none; font-size:12px; color:#333; font-weight:normal; margin:0; padding:0; background:none; text-decoration:none; font-family:Helvetica Neue,Arial,Helvetica,sans-serif; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body { width:500px; margin:auto; top:125px; position:fixed; left:35%; text-align:left; background:#DED7C5; border:1px outset #333; padding:0; font-family:Arial; font-size:14px; -moz-border-radius:5px; cursor:default; z-index:9010; color:#333; padding-bottom:1em ; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body a { margin:0 .5em; text-decoration:underline; color:#000099; font-weight:bold; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body strong { font-weight:bold; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body h1 { font-size:13px; font-weight:bold; padding:.5em; border-bottom:1px solid #333; background-color:#999; margin-bottom:.75em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body h2 { font-weight:bold; margin:.5em 1em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body h1 a { font-size:13px; font-weight:bold; color:#fff; text-decoration:none; cursor:help; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body h1 a:hover { text-decoration:underline; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body table { width:auto; margin:0 1em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body table tr th { padding-left:2em; text-align:right; padding-right:.5em; line-height:2em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body table tr td { line-height:2em; font-weight:bold; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body li { list-style-type:circle; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Body p { font-size:12px; font-weight:normal; margin:1em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "History { margin:0 1em 1em 1em; max-height:150px; overflow-y:auto; border:1px inset #999; padding:0 1em 1em; width:448px; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "History ul { margin-left:2em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Close { float:right; cursor:pointer; height:14px; opacity:.5; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Close:hover { opacity:.9; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Footer { margin:.75em 1em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Footer input { border:1px outset #666; padding:3px 5px 5px 20px; background:no-repeat 4px center #eee; -moz-border-radius:3px; cursor:pointer; width:70px; float:right; margin-left:.5em; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Footer input:hover { background-color:#f9f9f9; }"].join(""), ["#ScriptUpdater", ScriptUpdater.scriptId, "Footer select { border:1px inset #666; }"].join(""), "" ].join("\n")); var html = new Array(); html.push(["<h2><a href=\"http://userscripts.org/scripts/show/", ScriptUpdater.id, "\" target=\"_blank\" title=\"About the Userscripts.org Script Updater\"><img src=\"", ScriptUpdater.icons.uso, "\" align=\"absmiddle\" style=\"margin-top:-2px;\"/></a><img id=\"ScriptUpdater", ScriptUpdater.scriptId, "Close\" src=\"", ScriptUpdater.icons.close, "\" title=\"Close\"/>Userscripts.org Updater</h2>"].join("")); if(!ScriptUpdater.scriptForceNotice) { html.push(["<p>There is a new version of <strong><a href=\"http://userscripts.org/scripts/show/", ScriptUpdater.scriptId, "\" target=\"_blank\" title=\"Go to script page\">", ScriptUpdater.scriptMetaTags.name, "</a></strong> available for installation.</p>"].join("")); } else { html.push(["<p><strong><a href=\"http://userscripts.org/scripts/show/", ScriptUpdater.scriptId, "\" target=\"_blank\" title=\"Go to script page\" style=\"margin:0; padding:0;\">", ScriptUpdater.scriptMetaTags.name, "</a></strong></p>"].join("")); } if(ScriptUpdater.scriptCurrentVersion) { html.push(["<p>You currently have version <strong>", ScriptUpdater.scriptCurrentVersion, "</strong> installed. The latest version is <strong>", ScriptUpdater.scriptMetaTags.version, "</strong></p>"].join("")); } if(ScriptUpdater.scriptMetaTags.history) { html.push(["<h2>Version History:</h2><div id=\"ScriptUpdater", ScriptUpdater.scriptId, "History\">"].join("")); var history = new Array(); var version, desc; if(typeof(ScriptUpdater.scriptMetaTags.history) != "string") { for(var i = 0; i < ScriptUpdater.scriptMetaTags.history.length; i++) { version = ScriptUpdater.scriptMetaTags.history[i].match(/(\S+)\s+.*$/)[1]; change = ScriptUpdater.scriptMetaTags.history[i].match(/\S+\s+(.*)$/)[1]; history[version] = typeof(history[version]) == "undefined" ? new Array() : history[version]; history[version].push(change); } } else { version = ScriptUpdater.scriptMetaTags.history.match(/(\S+)\s+.*$/)[1]; change = ScriptUpdater.scriptMetaTags.history.match(/\S+\s+(.*)$/)[1]; history[version] = typeof(history[version]) == "undefined" ? new Array() : history[version]; history[version].push(change); } for(var v in history) { if(typeof(v) == "string" && v.match(/v?[0-9.]+[a-z]?/) || typeof(v) == "number") { html.push(["<div style=\"margin-top:.75em;\"><strong>v", v, "</strong></div><ul>"].join("")); for(var i = 0; i < history[v].length; i++) { html.push(["<li>", history[v][i], "</li>"].join("")); } html.push("</ul>"); } } html.push("</div>"); } html.push(["<div id=\"ScriptUpdater" + ScriptUpdater.scriptId + "Footer\">", "<input type=\"button\" id=\"ScriptUpdater", ScriptUpdater.scriptId, "CloseButton\" value=\"Close\" style=\"background-image:url(", ScriptUpdater.icons.close, ")\"/><input type=\"button\" id=\"ScriptUpdater" + ScriptUpdater.scriptId + "BodyInstall\" value=\"Install\" style=\"background-image:url(", ScriptUpdater.icons.install, ");\"/>", "Check this script for updates "].join("")); html.push(["<select id=\"ScriptUpdater", ScriptUpdater.scriptId, "Interval\">", "<option value=\"3600000\">every hour</option>", "<option value=\"21600000\">every 6 hours</option>", "<option value=\"86400000\">every day</option>", "<option value=\"604800000\">every week</option>", "<option value=\"0\">never</option>", "</select>"].join("")); html.push("</div>"); var noticeBackground = document.createElement("div"); noticeBackground.id = ["ScriptUpdater", ScriptUpdater.scriptId, "Mask"].join(""); document.body.appendChild(noticeBackground); var noticeWrapper = document.createElement("div"); noticeWrapper.setAttribute("style", "position:absolute; width:100%; top:0; left:0; z-index:9010; max-width:auto; min-width:auto; max-height:auto; min-height:auto;"); noticeWrapper.id = ["ScriptUpdater", ScriptUpdater.scriptId, "BodyWrapper"].join(""); var notice = document.createElement("div"); notice.id = ["ScriptUpdater", ScriptUpdater.scriptId, "Body"].join(""); notice.innerHTML = html.join(""); noticeWrapper.appendChild(notice); document.body.appendChild(noticeWrapper); ScriptUpdater.$(["ScriptUpdater", ScriptUpdater.scriptId, "Close"].join("")).addEventListener("click", ScriptUpdater.closeNotice, true); ScriptUpdater.$(["ScriptUpdater", ScriptUpdater.scriptId, "CloseButton"].join("")).addEventListener("click", ScriptUpdater.closeNotice, true); ScriptUpdater.$(["ScriptUpdater", ScriptUpdater.scriptId, "BodyInstall"].join("")).addEventListener("click", function() { setTimeout(ScriptUpdater.closeNotice, 500); document.location = ["http://userscripts.org/scripts/source/", ScriptUpdater.scriptId, ".user.js"].join(""); }, true); var selector = ScriptUpdater.$(["ScriptUpdater", ScriptUpdater.scriptId, "Interval"].join("")); for(var i = 0; i < selector.options.length; i++) { if(selector.options[i].value.toString() == ScriptUpdater.getInterval().toString()) selector.options[i].selected = true; } ScriptUpdater.setInterval(selector.value); selector.addEventListener("change", function() { ScriptUpdater.setInterval(selector.value); }, true); window.addEventListener("keyup", ScriptUpdater.keyUpHandler, true); } }, closeNotice: function() { document.body.removeChild(ScriptUpdater.$(['ScriptUpdater', ScriptUpdater.scriptId, 'BodyWrapper'].join(""))); document.body.removeChild(ScriptUpdater.$(['ScriptUpdater', ScriptUpdater.scriptId, 'Mask'].join(""))); window.removeEventListener("keyup", ScriptUpdater.keyUpHandler, true); }, keyUpHandler: function(event) { switch(event.keyCode) { case 27: ScriptUpdater.closeNotice(); break; } } }; //ScriptUpdater.forceNotice(93313, twpro_version); //ScriptUpdater.forceCheck(93313, twpro_version); ScriptUpdater.check(93313, twpro_version); } } else { (function(f){var d=document,s=d.createElement('script');s.setAttribute('type','application/javascript');s.textContent = '('+f.toString()+')()';(d.body||d.head||d.documentElement).appendChild(s);s.parentNode.removeChild(s)})(function(){ function sendMessage(){ var dstWindow = window.parent; mymessage = String(escape(document.body.textContent)); if(dstWindow.postMessage){ dstWindow.postMessage(mymessage, '*'); } } sendMessage(); }) } if(document.location.href.indexOf("page=logout")!="-1"){ document.location.href="http://www.the-west.ro"; }
Mozilla add on,User script,Grease Monkey Script, greasemonkey userscripts, updater userscripts mafia wars userscripts mafia wars autoplayer userscripts mafia wars wall userscripts scripts userscripts travian greasemonkey greasemonkey download greasemonkey facebook greasemonkey tutorial greasemonkey youtube greasemonkey travian greasemonkey chrome greasemonkey mafia wars greasemonkey mafia wars autoplayer
Sunday, January 23, 2011
THE WEST RO - PRO pt v1.30
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment