I see, I expected it to show up on the talent bar.

Hmm. ...

Oh:

I've possessed a weaver spider who has -15.4 regeneration of paradox. Spacetime tuning is +10, which means in actuality, every time it activates it basically fails.

I'm not sure whether that's because I'm cheating to quickly find complex rares or it'd normally have it.

In which case, there's two other things that seem off

1) This I think is a legitimate buggy behavior. startTuning defined in chronomancy/other.lua basically presumes that you have a 0 natural regen (because previously, no player character had natural regen of paradox I believe?) So sets itself up to run, presuming that will be that long to get to preferred paradox, but because a possessor can have natural regen, this number of turns can be off or completely wrong:

**Code:**

startTuning = function(self, t)

if self.preferred_paradox and (self:getParadox() ~= self:getMinParadox() or self.preferred_paradox > self:getParadox())then

local power = t.getTuning(self, t)

if math.abs(self:getParadox() - self.preferred_paradox) > 1 then

local duration = (self.preferred_paradox - self:getParadox())/power

if duration < 0 then duration = math.abs(duration); power = power - (power*2) end

duration = math.max(1, duration)

self:setEffect(self.EFF_SPACETIME_TUNING, duration, {power=power})

end

end

end,

Side effects would naturally be:

1) Resting to allow spacetime tuning to bring to desired target would fail.

2) If you do have a higher regen than 10, it basically will constantly be firing and failing.

Recommended (for just that problem anyway):

**Code:**

startTuning = function(self, t)

if self.preferred_paradox and (self:getParadox() ~= self:getMinParadox() or self.preferred_paradox > self:getParadox())then

local power = t.getTuning(self, t)

if self.paradox_regen < 0 and power < math.abs(self.paradox_regen) and self.preferred_paradox > self:getParadox() then return end

if math.abs(self:getParadox() - self.preferred_paradox) > 1 then

local duration = (self.preferred_paradox - self:getParadox())/power

if duration < 0 then duration = math.abs(duration); power = power - (power*2) end

duration = math.max(1, duration)

self:setEffect(self.EFF_SPACETIME_TUNING, duration, {power=power})

end

end

end,

2) The above thing is almost certainly safe, since it basically prevents spacetime tuning from trying to work when it can't, but there's a further wonkiness:

Monsters probably spawn with 300 paradox (Or at least possessor ones do) and then, if they have higher regen, count down per turn.. basically meaning paradox mages are probably somewhere random with their paradox each turn normally, or 0 if you've done a decent rest anywhere on the floor.

High regen, effectively, means that spacetime tuning ends up broken/useless. Well anyhow:

Should paradox regen respect Preferred Paradox?

if paradox_regen < 0 and paradox > preferred_paradox:

regen

else if paradox_regen > 0 and paradox < preferred_paradox:

regen

else:

do nothing

(Not code since I didn't look where that takes place)

That would give it the effect that if you are possessed thing with high paradox regen, you can indeed run at high paradox, and in fact recover to your preferred paradox quicker.

Problem is that would probably instantly change the balance of almost all paradox mages. The above actually is an interesting reason why paradox mage adventurer/orcs are much more dangerous than run of the mill ones, since they are almost always encountered immediately, without rest.

Does the above reasoning make sense?

_________________

ToME Tips - auto-generated spoilers for ToME. - someone else made. I find super awesome, so spreading as well.