How are skills gained in UO? Is that a general enough question?

Ok, so in the wonderful experience of getting a tamer to 92.0 i have seen some crazy things with skill gain and it has made me wonder what type of formulas are being used.
I would guess it is one of 2 things.
1. Cumulative Gains - at a certain level (say 90) you need a certain amount of successful uses of a skill to gain a .1, when you complete the required amount you gain your point and reset your "skill counter"
2. Percentage Gains - at a certain skill level (say 90) you have a X% chance of gaining skill on any successful use. So in theory you could increase 3-4-5 times in a row with a success but also in theory you could go thousands without a gain.
I would guess it is more like the 2nd as OSI introduced a guaranteed gains system (which i think would help people with bad dice rolls in a percentage gains system). Also while taming i noticed things like this in the upper 80's - lower 90's... Tame 10 or more giant toads including some pretames, countless great harts and multiple frenzied ossys and receive no gains then return to del and get .2 off a fresh (non-pretamed) bull.
Or is it something much more complex ?

So i dont know if devs want to answer this or if it is something they prefer remain a mystery but i would be interested in knowing how the system works.
Thanks
Happy New Year!