i want to edit my pick files of the awesome-o bot
i want my bot to pick up flawless amethysts and to stash any jewels
can somebody please help me to edit these files?
would be really nice
Code:
table.insert(itemActions, function(item, action) -- GEMS local priority = 3 -- pick priority if not isGem(item) then return false elseif action == aPICK then return priority end return false end ) -- note: make sure that the last line on returns -- does not include "or", and that all lines except the last do -- Thanks to plusmedic and wreinhardt! function isGem(item) return ( isPerfectGem(item) or isFlawlessGem(item) --isNormalGem(item) or --isFlawedGem(item or --isChippedGem(item) ) end function isPerfectGem(item) return ( item.baseItem.code == "gpv" or -- Perfect Amethyst item.baseItem.code == "gpw" or -- Perfect Diamond item.baseItem.code == "gpg" or -- Perfect Emerald item.baseItem.code == "gpr" or -- Perfect Ruby item.baseItem.code == "gpb" or -- Perfect Sapphire item.baseItem.code == "skz" or -- Perfect Skull item.baseItem.code == "gpy" -- Perfect Topaz ) end function isFlawlessGem(item) return ( item.baseItem.code == "gzv" or -- Flawless Amethyst item.baseItem.code == "glw" or -- Flawless Diamond item.baseItem.code == "glg" or -- Flawless Emerald item.baseItem.code == "glr" or -- Flawless Ruby item.baseItem.code == "glb" or -- Flawless Sapphire item.baseItem.code == "skl" or -- Flawless Skull item.baseItem.code == "gly" -- Flawless Topaz ) end function isNormalGem(item) return ( item.baseItem.code == "gsv" or -- Amethyst item.baseItem.code == "gsw" or -- Diamond item.baseItem.code == "gsg" or -- Emerald item.baseItem.code == "gsr" or -- Ruby item.baseItem.code == "gsb" or -- Sapphire item.baseItem.code == "sku" or -- Skull item.baseItem.code == "gsy" -- Topaz ) end function isFlawedGem(item) return ( item.baseItem.code == "gfv" or -- Flawed Amethyst item.baseItem.code == "gfw" or -- Flawed Diamond item.baseItem.code == "gfg" or -- Flawed Emerald item.baseItem.code == "gfr" or -- Flawed Ruby item.baseItem.code == "gfb" or -- Flawed Sapphire item.baseItem.code == "skf" or -- Flawed Skull item.baseItem.code == "gfy" -- Flawed Topaz ) end function isChippedGem(item) return ( item.baseItem.code == "gcv" or -- Chipped Amethyst item.baseItem.code == "gcw" or -- Chipped Diamond item.baseItem.code == "gcg" or -- Chipped Emerald item.baseItem.code == "gcr" or -- Chipped Ruby item.baseItem.code == "gcb" or -- Chipped Sapphire item.baseItem.code == "skc" or -- Chipped Skull item.baseItem.code == "gcy" -- Chipped Topaz ) end
Code:
table.insert(itemActions, function(item, action) -- MAGIC jewels -- see: dir .. "readme.txt" for information regarding these variables local priority = 6 local identify = true -- use false if you want to keep junk jewels local dump = true if not (item.quality == ItemQuality.Magic and item.baseItem.code == "jew") then return false elseif action == aPICK and (not item.flags.Identified or isGoodMagicJewel(item)) then return priority elseif action == aIDENT then return identify elseif action == aSELL and item.flags.Identified and not isGoodMagicJewel(item) then return true elseif action == aDUMP and item.flags.Identified and not isGoodMagicJewel(item) then return dump end return false end ) function isGoodMagicJewel(item) -- note: edam, mp, str, dex, eng, and hp are all assigned values -- so you can add custom jewels in the return -- do not try to compare other variables (bools) with numbers -- feel free to change the lower prefix/suffix bounds local prefix = false local edam, mp = 0, 0 local suffix = false local str, ar, dex, dtm, def, eng, hp, ias, fhr, req = 0, 0, 0, 0, 0, 0, 0, false, false, false local affix = false local lmnd, lmxd = false, false if hasRes(item, 10, 4) or hasRes(item, 20, 1) then -- 10+allres or 20+singleres->prefix prefix = true end if hasRes(item, 15, 4) then -- 15allres->affix affix = true end for i = 0, item.mods:size() - 1 do if item.mods[i].Stat.Type == StatType.MaxDamagePercent then if item.mods[i].Value >= 30 then -- 30+edam->prefix prefix = true end edam = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.MaxMana then if item.mods[i].Value >= 15 then -- 15+mp->prefix prefix = true end mp = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.ArmorClass then if item.mods[i].Value >= 41 then -- 41+def->prefix -- ivory prefix = true end def = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.DamageToMana then if item.mods[i].Value >= 7 then -- 7+dmg2mana->prefix -- dun prefix = true end dtm = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.Strength then if item.mods[i].Value >= 7 then -- 7+str->suffix suffix = true end str = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.Dexterity then if item.mods[i].Value >= 7 then -- 7+dex->suffix suffix = true end dex = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.Energy then if item.mods[i].Value >= 7 then -- 7+eng->suffix suffix = true end eng = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.MaxLife then if item.mods[i].Value >= 15 then -- 15+hp->suffix suffix = true end hp = item.mods[i].Value elseif item.mods[i].Stat.Type == StatType.LightMinDamage then if item.mods[i].Value >= 1 then -- 1+litemindmg->lmnd check lmnd = true end elseif item.mods[i].Stat.Type == StatType.LightMaxDamage then if item.mods[i].Value >= 61 then -- 61+litemaxdmg->lmxd check lmxd = true end elseif item.mods[i].Stat.Type == StatType.FasterAttackRate then ias = true -- ias->suffix suffix = true elseif item.mods[i].Stat.Type == StatType.FasterHitRecovery then fhr = true -- fhr->suffix suffix = true elseif item.mods[i].Stat.Type == StatType.LowerRequirementsPercent then req = true -- req->suffix suffix = true end end if (lmnd == true and lmxd == true) then suffix = true end return ( (edam == 40) or -- example of custom jewel (prefix and suffix) or affix ) end