The rationale should be something like this:
If the hero has no ballistics skill, the ballista will shoot just once and it has 10% chance of dealing no damage, 60% of dealing 1 point of damage and 30% chance of dealing two points of damage.
So by the same logic, at Expert level, the ballista will fire two shots and each shot will take 2 points of damage.
And what happens when the catapult is controlled by the user? Does that affect the hit probabilities of the different types of castle objects?
For example, if I aim at the keep, is it more like (than usual) to hit the keep, or it just doesn’t matter? Id yes, are those probabilities hard-coded, or in a another file? If not, then what’s the point of aiming with the catapult?
From what I can remember, at least one hit goes to the part you’ve aimed for and the other one is like a normal (non-aimed) shot.
Look on chances to hit on high level - they are much higher than 100% in total. They used to determine if controlled catapult will shoot your target or will hit something else.
For example you’re trying to attack gates:
On expert: 2 strikes, 40% chance to hit, always deals 2 damage. This gives you 64% chance to destroy gates in one turn.
On basic: 1 strike, 30% chance, 50% for 1 damage, 50% for 2 damage. This gives just 15% chance to destroy gate and 15% chance to damage it.
With no skill AFAIK catapult will be controlled by an AI which may choose different target at all.
Chances to hit keep or towers are much smaller but they are still better if you have levels in ballistics.
If you’re lucky enough you may hit target twice. Unless it was destroyed in first hit.
EDIT: oh, and the best thing with ballistics is that you can completely destroy castle in 4 turns. With no skill this can take extremely long time.
I haven’t said anything about “we”. It is possible that author of sieges knows exact mechanics. I think it was Tow Dragon but it was quite a while ago.
“As close as possible” may not be perfect but definitely acceptable - you can always improve code if somebody will find out exact mechanics.
For example next release will have identical to h3 implementation of Gorgon’s “Deadly Gaze” but I don’t think that somebody will notice any difference.