My solution? A crazy formula to determine the range for preternatural senses for any given frame, that makes it less reliable overall, while still providing benefits that scale clearly and powerfully with talent level:
floor(TL + TL(0.25(sin(1.6(self.hp/self.maxhp)+3.1(self.x)/20)) + 0.25(sin(1.6(self.hp/self.maxhp)+3.1(self.x)/11)) + 0.25(sin(1.6(3.1(self.y)/20)) + 0.25(sin(3.1(self.y)/11)) + 2(self.hate/self.maxhate))
Since that formula is crazy and you don't want to read it, let me describe it:
The main component is the addition of four sine waves feeding off of your x and y position, ranging from 0 to twice your modified talent level. There's a low frequency wave (period 20 tiles) and a high frequency wave (period 11 tiles) for each axis. The two waves gives you 220 tiles in any direction before repetition.
The next component is your health, which offsets half of the sine waves by up to half of their period.
The final component is your hate, which adds 0-2 tiles to range, linearly with hate.
I just used 3.1 for pi. You could use sawtooths instead of sine waves if you foresaw a performance problem from the trig. The output's so chunky anyways.
If you want to make it even less powerful, do some precomputation for talent level, or just give it a cap.
What does this do? It makes your senses typically have the same range as they do now. It makes your range change, without telling you, in a smooth, somewhat predictable, non-repetitive manner. It makes it so you can't just wait a few turns to game an RNG based range, because unless your circumstances (position, stats) change, your range won't change. It makes your range slightly dynamic even without regard to your position, peaking during combat, and changing as you heal or take damage, but not changing so much with your hitpoints that you can game it without risk, or that anybody would likely try.
I think that leaves a little bit of room for adding mapping/stealth/invis detection/blindsight/whatever, at a small fraction of your basic range. That fractional range might frequently be floored to zero, but might sometimes be positive. 1/5th would probably be a good fraction, depending on the effect.
Crazy idea, not expecting any bites, just throwing it out there
