The relationship between dDEX and Critical Hit Rate was worked out on BG ages ago, but there have been many anecdotal reports over the years that ranged critical hit rate is not capped in situations when you would expect it. If I'm remembering right, Kirschy, Nightfyre, and Prothescar have all reported something to this effect.
This issue was recently revived by Melphina from Alla, who demonstrates that Ranged Critical Hit Rate is uncapped despite having dDEX>90. Then he demonstrated that raising his AGI to 174 and ignoring DEX increased critical hit rate. I'm currently busy irl, so afk-testing something like this is perfect. Preliminarily I've come up with these questions to answer:
Question 1) Does Ranged critical hit rate depend on dAGI (Player AGI - Monster ???) or is it purely a function of AGI?
Rationale:
Melphina's test shows that increasing AGI increases critical hit rate, but there are also some indications that dSTAT might not be involved, considering that 174 AGI is 77 AGI more than the monster's AGI (which should be only a few points lower than its DEX). That's quite substantial.
Question 2) Is Ranged critical hit rate affected by Critical Hit Rate merits?
Rationale:
Melphina's first test shows an 11% critical hit rate. This is suspiciously low considering the 10% base, which means he may have been floored in his first case if Crit rate merits matter. Short test and probably worth doing.
Question 3) Does range preference affect critical hit rate (True vs. Squarely vs. no message)?
Rationale:
SE varies Ranged Accuracy (I think) and Ranged Attack (for sure) with distance from the target depending on weapon type. It's not entirely unimaginable that they would also vary ranged critical hit rate.
Question 4) What is the mapping of AGI or dAGI to Ranged Critical Hit Rate?
Rationale:
This is pretty much the final question and the one that will be the most useful to answer.
Method:
This can be tested using one of the ToAU chakrams (Mamoolbane, Trollbane, or Lamiabane) and Hpemdes. First, you gear yourself so that you hit for 0 damage all the time (fSTR = -1) with a D1 main hand (like Trainee Needle) and the chakram. This requires that your STR be 16 less than the target's VIT. Then you line up with the monster, melee it with a low delay weapon, and set up a script to throw a chakram all night while you parse it.
Om'hpemde - Level 73-77
Ul'hpemde - Level 68-72
It's helpful to use /check so you know what level (and thus what stats) the Hpemde you're hitting has. /check gives "High Defense" when you have less attack than the target's Defense or "Low Defense" when you have 25% more attack than the target's defense, with a neutral message between those two points. I typically set my Attack at 315-318 and go around /checking Hpemdes when I want to isolate one of the level 77 ones.
Here is an example script:
You would save that in shots.txt in your scripts folder, run it in game with //exec shots.txt, and then start shooting every 6 seconds for 10 hours with //tenhourCode:alias shot input /ra;wait 6; alias min shot;shot;shot;shot;shot;shot;shot;shot;shot;shot; alias five min;min;min;min;min alias thirty five;five;five;five;five;five; alias twohour thirty;thirty;thirty;thirty; alias tenhour twohour;twohour;twohour;twohour;twohour;
Tips:
* Let the Hpemde walk away from you once to see how it paths, so you can be sure that it won't walk out of your /ra sight if it deagros.
* Try to stick near a wall on land so you avoid uninvited Yovra/Phaubo attention.
* You're unlikely to be able to keep Hpemde in "True" hit range while afk until they glitch out and stick to you no matter what. Their "oh hey I'm going to wander away now" AI glitches out after a few hours of re-claiming them and they just stick to you no matter what, at which point you could do this test. Preliminarily, stick to "Squarely" as your range.
My plan at the moment is to parse against the lowest level Hpemde and then the highest level Hpmede, and then I'll put on all the AGI I can muster and re-parse against the highest level Hpmede. These tests take a long time because it's 1 shot every 6 seconds, so I don't expect this will get done soon.
Anyone have other questions/possibilities?