Page 1 of 2
Infinite Furnace Vent procs from enemy
Posted: Thu Mar 24, 2016 11:14 pm
by elboyo
Made it nearly to the end of the expansion and died to an infinitely proccing enemy that instantly killed me in one turn with 19 procs of Furnace Vent.
Screenshot here:
http://imgur.com/3tvHodG
Re: Infinite Furnace Vent procs from enemy
Posted: Fri Mar 25, 2016 1:12 am
by ibanix
I don't suppose you have a save of the game before you died?
I went looking through the code of the talents, but nothing was obvious. I was wondering if it was possible for Melting Point to trigger Furnace Vent and then Furnace giving more molten points, but I can't see how.
Re: Infinite Furnace Vent procs from enemy
Posted: Fri Mar 25, 2016 1:38 am
by elboyo
I do not, unfortunately. I haven't played at all after though, so I could collect my game log if that would be helpful.
Re: Infinite Furnace Vent procs from enemy
Posted: Fri Mar 25, 2016 2:08 am
by ibanix
Certainly, it would be better than nothing!
Re: Infinite Furnace Vent procs from enemy
Posted: Fri Mar 25, 2016 2:54 am
by elboyo
Re: Infinite Furnace Vent procs from enemy
Posted: Fri Mar 25, 2016 7:29 am
by ibanix
You sure that's the right file? According to the log file, you are running a way old version - 1.2.4!
Code: Select all
Loaded module definition for tome-1.2.4 using engine te4-1.2.4
* Module: tome
** 1.2.4
* Module: boot
** 1.0.0
* Module: example
** 1.1.5
* Module: example_realtime
** 1.1.5
There's also no mention of the Embers of Rage DLC in that file.
Re: Infinite Furnace Vent procs from enemy
Posted: Fri Mar 25, 2016 2:23 pm
by elboyo
Oops. I didn't even think to check the date modified on that last one. This should be the correct log file.
https://www.dropbox.com/s/6j2sgdyhsns1u ... e.txt?dl=0
Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 11:11 am
by ibanix
You seem to have multiple versions of the base tome module. While this isn't the cause of your problem, you should likely find and delete the 'tome-1.3.3.team' file.
Code: Select all
Loaded module definition for tome-1.4.6 using engine te4-1.4.6
* Module: tome
** 1.4.6
** 1.3.3
Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 11:48 am
by ibanix
After looking through the log, it's not clear to me what happened. I do notice a few things:
1) You have a lot of addons, so it's hard to tell if any of those might be involved
2) The sher'tan had fugue clones up most of the time; might be some interaction there
3) You cast Lightning right before this happened. Since you were a Paradox Mage, I'm guessing this was an item you used. If it was a multiple-hit lightning, perhaps it triggered Furnace Vent on the sher'tan multiple times? Complete guessing here.
Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 12:11 pm
by elboyo
How many addons were active? The only ones I have activated are Stone Warden, Item Vault, Embers of Rage, Ashes of Urhok, and Ignore Race/Class Unlock.
The lightning comes from the Lightning Coil tinker that casts Lightning on spell hit.
If the mob had temporal clones up, were they constantly hitting each other and immediately firing their furnaces over and over again?
Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 12:34 pm
by ibanix
elboyo wrote:How many addons were active? The only ones I have activated are Stone Warden, Item Vault, Embers of Rage, Ashes of Urhok, and Ignore Race/Class Unlock
I can't tell.
The lightning comes from the Lightning Coil tinker that casts Lightning on spell hit.
Looking at the tinker code, I don't see anything that would cause wierdness to generate so many Furnace Vent procs.
If the mob had temporal clones up, were they constantly hitting each other and immediately firing their furnaces over and over again?
Also can't tell from the limited info the log provides.
--
Unfortunately, I don't think we'll be able to determine what happened here without more info.
Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 2:32 pm
by Steven Aus
Unfortunately, since the game automatically ends the character and deletes saves when you die, getting a save just before is basically impossible, especially if it was unexpected. Although I guess you might use the undelete function.

Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 4:37 pm
by twas Brillig
It looks like someone else reported a similar bug with their temporal clone:
Furnace Vent loop with temporal clone. Someone else in that thread mentions having a similar bug with
their inner demon.
So two things occur to me: First, are all three kinds of duplicates created in equivalent ways? Secondly, the description for the Molten Metal talent says it only adds molten points once per turn, that seems important to confirm for any kind of feedback loops.
Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 5:35 pm
by ibanix
twas Brillig wrote:
So two things occur to me: First, are all three kinds of duplicates created in equivalent ways? Secondly, the description for the Molten Metal talent says it only adds molten points once per turn, that seems important to confirm for any kind of feedback loops.
The effect itself (FURNACE_MOLTEN_POINT) doesn't have a turn limit.
Most of the code for the Furnace Vent proc when hitting 10 Molten points is inside the Molten Metal talent:
Code: Select all
callbackOnTakeDamage = function(self, t, src, x, y, type, dam, state)
if not self:isTalentActive(self.T_FURNACE) then return end
if type == DamageType.PHYSICAL or type == DamageType.MIND then return end
local mp = self:hasEffect(self.EFF_FURNACE_MOLTEN_POINT)
local reduction = 1
if mp then reduction = 0.75 ^ mp.stacks end
reduction = t.getResist(self, t) * reduction
if mp and mp.stacks >= 10 and self:isTalentActive(self.T_MELTING_POINT) and self:getSteam() > 15 then
self:callTalent(self.T_MELTING_POINT, "cleanActor") -- remove physical effect, remove 15 steam
self:forceUseTalent(self.T_FURNACE_VENT, {ignore_energy=true, force_target={x=src.x, y=src.y}})
self:removeEffect(self.EFF_FURNACE_MOLTEN_POINT, true, true)
end
if not self.turn_procs.molten_metal then self:setEffect(self.EFF_FURNACE_MOLTEN_POINT, 1, {}) end
self.turn_procs.molten_metal = true
return {dam=math.max(0, dam - reduction)}
end,
These line seems to indicate that it would only happen once per turn:
Code: Select all
if not self.turn_procs.molten_metal then self:setEffect(self.EFF_FURNACE_MOLTEN_POINT, 1, {}) end
self.turn_procs.molten_metal = true
The first time through the callbackOnTakeDamage, it would set/add the Molten Point effect to 1-turn duration (that's the EFF_FURNACE_MOLTEN_POINT, 1, {}), and then sets the self.turn_procs.molten_metal flag; so that effect would not get set again the next time through. This also has the effect of increasing the number of Molten Points by 1.
Since the effect is removed if Furnace Vent triggers (in the previous block), it shouldn't be possible for this to trigger more than once/turn....
Re: Infinite Furnace Vent procs from enemy
Posted: Sat Mar 26, 2016 6:59 pm
by twas Brillig
That looks pretty airtight, yeah. (/needs to learn more LUA) That just leaves the clones problem. I assume that clones are made by creating a new actor based off of the target actor? If that was getting mangled somehow and having clones set/clear each others' EFF_FURNACE_MELTING_POINT effect, that would certainly cause an infinite loop like we're seeing. ...but that seems like it would break...most...talents used by or on clones, so I don't know.
None of this would get around the steam cost, but the other thread points out they had exactly 6 cycles of furnace venting, which is the maximum you can trigger with less than 105 max steam (15 steam/proc times 6 procs = 90 steam, time 7 procs = 105 steam). 19 procs could happen for temporal fugue (two clones, total of three actors) only if the rare had at least one level of Compact Steam Furnace. That...really only tells us that whatever is broken, basic math still works. Yay. (Okay, also that this isn't really infinite proccing, but it's lethal enough that I'm willing to give semantics a pass.)