UOGamers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • To obtain new Razor updates, please reinstall Razor from our new website.

Tinker - Wrong Or Missing Exceptional Chances

Bama

Bug Huntress
Tinker - Wrong Or Missing Exceptional Chances

Behavior on Demise:
Numbers in Black

Behavior on OSI:
Numbers in Red

Supporting Documentation (URLs):
Changes needed:
Code (optional):

I purposely omitted the follow because they have already been reported
Hatchet, Scorp, Nunchaku, Scissors, Sewing kit and scribe and mapmaker's pens
I also didn't do Jewelry

At GM Tinker
These all have the wrong or missing Exceptional Chance on demise
Black = demise Red = osi

Tools
Draw Knife 70 85
Saw 80 95
Dovetail Saw 80 95
Froe 80 95
Shovel 60 75
Hammer 80 95
Tongs 70 85
Smith's hammer 60 75
Sledge Hammer 60 75
Inshave 80 95
Pickaxe 60 75
Skillet 80 95
Flour Sifter 40 55
Fletcher's Tools 70 85

Utensils
Butcher's Knife 90 100
Spoons (left+right) 0 100
Plate 0 100
Fork (left+right) 0 100
Knife (left+right) 0 100
Goblet 0 100
Pewter Mug 0 100
Skinning Knife 90 100

Misc
Keyring 0 100
Candelabra 0 45
Scales 0 35
Iron Key 0 100

Globe 0 45
Spyglass 0 35
Lantern 0 95
Heating Stand 0 35
Shoji Lantern 0 25
Paper Lantern 0 25
Round Paper Lantern 0 25
 
Re: Tinker - Wrong Or Missing Exceptional Chances

For the items that already HAVE an exceptional chance, it looks like it's consistently 15% below what it is on OSI. So that indicates that the only difference we have is that the "threshold" of where items can be exceptional is simply set 15% too high. I'll try taking a look at the scripts tonight and see where it is.

Also, the omitted items SHOULD be included; they'd be fixed with the same patch, so you should merge the two reports.
 

Bama

Bug Huntress
Re: Tinker - Wrong Or Missing Exceptional Chances

Butcher's Knife 90 100
Skinning Knife 90 100

These 2 have a difference of 10

Sewing kits are a total mess
 

Bama

Bug Huntress
Re: Tinker - Wrong Or Missing Exceptional Chances

For the items that already HAVE an exceptional chance, it looks like it's consistently 15% below what it is on OSI. So that indicates that the only difference we have is that the "threshold" of where items can be exceptional is simply set 15% too high. I'll try taking a look at the scripts tonight and see where it is.

I don't think it is that

Example
on both osi and demise you need 60.1 in tinkering to have a 0.2% chance to create an exceptional skillet
Tink\'You_12-6_18.47.jpg Tune\'A\'Piano_12-6_18.49.jpg Tune\'A\'Piano_12-6_18.49.jpg Tink\'You_12-6_18.47.jpg
 
Hmm... Then this might suggest a difference in spread, rather than threshold. Been looking through the scripts: they're a bit of a mess, and I'm still not entirely certain where the number I'm looking for is.

Remember that for any difference where it's 100% on OSI, we can't know the total difference, because with any "chance to happen," it's always run through a (math.min) function to cap your chance to 100%... Since you shouldn't have a 101% or higher chance of success, now should you?
 

Nucklez

Squire
I'm working on breaking this down too. OMG! NTK you are right, this has been wrecking my brain all day! So far, this is what I've concluded. I'll stick with Tinkering since that is the skill we are working on. I'll start with the Draw Knife since it doesn't hit the 100% success cap. Demise says 70% and OSI says 85% chance to create an exceptional Draw Knife at 100 Tinkering.

*According to DefTinkering.cs, since there is no "CraftECA" override such as the one in DefBlacksmithy, our CraftECA must be the default of ChanceMinusSixty according to line 43 of CraftSystem.cs.

* Line 813 of CraftItem.cs is the method to get the create Exceptional Chance. In our case it is:
Code:
case CraftECA.ChanceMinusSixty: return chance - 0.6;

*So, we much determine what our chance is. Line 885 of CraftItem.cs states:
Code:
if ( allRequiredSkills )
     chance = craftSystem.GetChanceAtMin( this ) + ((valMainSkill - minMainSkill) / (maxMainSkill - minMainSkill) * (1.0 - craftSystem.GetChanceAtMin( this )));
     else
     chance = 0.0;

if ( allRequiredSkills && valMainSkill == maxMainSkill )
     chance = 1.0;

return chance;

* Most of the variables are pretty straight forward:
valMainSkill = 100 (GM Tinker)
minMainSkill = 30 (Check Line 178 in DefTinkering.cs for this one)
maxMainSkill = 80 (Check Line 178 in DefTinkering.cs for this one also)

*So, WTF is this GetChanceAtMin? It's 0.0 according to the Method Override at line 38 in DefTinering.cs. (Unless you are making a keg or faction trap, then it's 0.5 (50%)) This confused me for the longest time because I was trying to determine the annoying abstract double GetChanceAtMin in CraftSystem.cs. I'm not really familiar with abstracts. I need to work on that.

* Here is the final formula to get chance at 100 Tinkering for the Draw Knife (Remember we are working with Doubles here, not Integers):
Code:
chance = 0.0 + ((1.0 - 0.30/0.80 - 0.30) * (1.0 - 0.0))
The answer is!! Let me get my calculator, hang on... 1.4 (aka 140)

* So back the Exceptional Chance mentioned above. CraftECA.ChanceMinusSixty would be:
Code:
140 - 60 = 70

Hmmm, haven't we seen that 70% somewhere before. :)
 
Top