Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- needRepair: function () {
- if (me.getStat(14) + me.getStat(15) < me.getRepairCost()) { // Check if we can afford repairs
- return false;
- }
- var i, durability, quantity, charge,
- repairPercent = 40, // TODO: Move this somewhere else
- item = me.getItem(-1, 1); // Id -1 = any, Mode 1 = equipped
- if (!item) { // No equipped items
- return false;
- }
- do {
- if (item.getFlag(0x400000)) { // Skip ethereal items
- continue;
- }
- // Durability check
- durability = item.getStat(72);
- if (durability && durability * 100 / item.getStat(73) <= repairPercent) {
- return true;
- }
- // Charged item check
- charge = item.getStat(-2)[204];
- if (typeof(charge) === "object") {
- if (charge instanceof Array) {
- for (i = 0; i < charge.length; i += 1) {
- if (charge[i].charges * 100 / charge[i].maxcharges <= repairPercent) {
- return true;
- }
- }
- } else if (charge.charges * 100 / charge.maxcharges <= repairPercent) {
- return true;
- }
- }
- // Quantity check
- quantity = item.getStat(70);
- if (quantity && quantity * 100 / (getBaseStat("items", item.classid, "maxstack") + item.getStat(254)) <= repairPercent) { // Stat 254 = increased stack size
- return true;
- }
- } while (item.getNext());
- return false;
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement