Can you adjust the formula then? I love ;tpick but I'd like to get as much xp as possible. :X
Can you adjust the formula then? I love ;tpick but I'd like to get as much xp as possible. :X
Maxlock uses
and that corroborates with ;pickerassistant'sCode:if Spells.minorelemental >= 3 this_lock.push((((Stats.level / 2) + (Skills.pickinglocks / 10) + (Stats.dex[1] / 2) + (Stats.int[1] / 2) + 30 + Skills.to_bonus(Skills.pickinglocks) + Stats.dex[1]) * mod).round - 30) else this_lock.push((mod * (((Stats.level / 2) + (Skills.pickinglocks / 10) + (Stats.dex[1] / 2) + (Stats.int[1] / 2) + 30) / 2 + Skills.to_bonus(Skills.pickinglocks) + Stats.dex[1])).round - 30)
and both of those seem pretty accurate to me. If I follow their recommendations on lock size I don't break picks except on fumbles, and I get 4-5s RT for every lock I pick (which means maximum amount of XP). Current formula is definitely broken though if it wants me to use a lockpick 6 steps higher than the suggestion by both of these programs.Code:def self.suggestPick(lockSize) skillBonus = Skills.to_bonus(Skills.pickinglocks) + Stats.dex[1]; multiplier = (((50 + lockSize.to_i.abs)/skillBonus.to_f) * 20).round / 20.0 if multiplier > 2.60 if(Spell[403].known?) pick_lore = (Stats.level / 2) + (Skills.to_bonus(Skills.pickinglocks) / 10) + (Stats.dex[1]) + (Spells.minorelemental / 4) pick_lore = Skills.pickinglocks if pick_lore > Skills.pickinglocks multiplier = (((50 + lockSize.to_i.abs)/(skillBonus + pick_lore).to_f) * 20).round / 20.0 end if multiplier > 2.60 return "You are not able to pick this lock." else suggestion = self.picks.select{ |x| x[1] >= multiplier}.first.first return "I would recommend you use a " + suggestion + " lockpick or better AND locklore"; end end suggestion = self.picks.select{ |x| x[1] >= multiplier}.first.first return "I would recommend you use a " + suggestion + " lockpick or better.";
Thanks for looking into this!
Last edited by sellstuff1; 09-02-2018 at 11:54 PM.
this_lock.push(((Skills.to_bonus(Skills.pickingloc ks) + Stats.dex[1]) * mod).round - 30) -- This is ;maxlock's formula
skillBonus = Skills.to_bonus(Skills.pickinglocks) + Stats.dex[1]; -- This is ;pickerassistant's formula
pick_skill = (Skills.to_bonus(Skills.pickinglocks) + Stats.dex[1]) -- This is ;tpick's formula
Really the only difference is ;maxlock calculates the pick modifier in the formula whereas the other two scripts do it elsewhere, but those all look the same too. The other difference is it looks like ;maxlock subtracts 30 from this value whereas the other two do not.
This is the 403 formulas:
this_lock.push((((Stats.level / 2) + (Skills.pickinglocks / 10) + (Stats.dex[1] / 2) + (Stats.int[1] / 2) + 30 + Skills.to_bonus(Skills.pickinglocks) + Stats.dex[1]) * mod).round - 30)
pick_lore = (Stats.level / 2) + (Skills.to_bonus(Skills.pickinglocks) / 10) + (Stats.dex[1]) + (Spells.minorelemental / 4)
pick_lore = (Stats.level / 2) + (Skills.to_bonus(Skills.pickinglocks) / 10) + (Stats.dex[1]) + (Spells.minorelemental / 4)
If anything it looks like the person who wrote ;pickerassistant copied both formulas from ;tpick.
;pickerassistant gives different pick recommendations than tpick uses for boxes that are in the difficulty range of vaalin through veniom+lore, invar+lore, alum+lore, golvern+lore and kelyn+lore. I don't ever see tpick using veniom+lore, invar+lore, alum+lore, golvern+lore or kelyn+lore, it's either vaalin and lore or bust even with the correct settings. So, I might recommend looking into the calculations on ;tpick specifically for boxes around that relative difficulty.
What do you have for your lockroll setting?
Lock roll is set to 60
What is your lockpicking skill and dex bonus?
Picking Locks......................| 268 168
Dexterity (DEX): 94 (32) ... 94 (32)
Okay found out what's going on.
This bit of code in ;tpick right here:
So if we plug in your numbers, 268 lock pick skill + 32 dex bonus = 300 lockpicking skill.Code:if (pick_skill) * 2.50 - lock + UserVars.tpick["lock_roll"].to_i < 100 needed_pick = UserVars.tpick["vaalin"] needed_pick_id = $vaalin_lockpick_id need_403 = "yes"
Now when we do (300 * 2.50) - 715 (the highest lock possibility on an extremely well-crafted lock) + 60 (your lockroll number) we get a value of 95, since this value is lower than 100 the script says you need a vaalin lockpick + lock lore.
This is all working as intended. A lock roll value of 66 would have made the script forgo lock lore. This is probably happening because your lockpick skill is very close to the difficulty of the lock on the box.
If you think the script is being too cautious you could try upping the value of your lockroll number. It can be any number you want, even higher than 100.
So if you feel you can handle locks 50 points higher than it is now before using a higher lockpick or lore you can set the value to 110 for example.