Infinite Furnace Vent procs from enemy

Where bugs go to lie down and rest

Moderator: Moderator

Message
Author
elboyo
Halfling
Posts: 113
Joined: Thu Jan 02, 2014 4:22 am

Infinite Furnace Vent procs from enemy

#1 Post 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

ibanix
Wyrmic
Posts: 244
Joined: Thu May 23, 2013 12:25 am

Re: Infinite Furnace Vent procs from enemy

#2 Post 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.
Please help with the ToME wiki!

elboyo
Halfling
Posts: 113
Joined: Thu Jan 02, 2014 4:22 am

Re: Infinite Furnace Vent procs from enemy

#3 Post 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.

ibanix
Wyrmic
Posts: 244
Joined: Thu May 23, 2013 12:25 am

Re: Infinite Furnace Vent procs from enemy

#4 Post by ibanix »

Certainly, it would be better than nothing!
Please help with the ToME wiki!

elboyo
Halfling
Posts: 113
Joined: Thu Jan 02, 2014 4:22 am

Re: Infinite Furnace Vent procs from enemy

#5 Post by elboyo »


ibanix
Wyrmic
Posts: 244
Joined: Thu May 23, 2013 12:25 am

Re: Infinite Furnace Vent procs from enemy

#6 Post 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.
Please help with the ToME wiki!

elboyo
Halfling
Posts: 113
Joined: Thu Jan 02, 2014 4:22 am

Re: Infinite Furnace Vent procs from enemy

#7 Post 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

ibanix
Wyrmic
Posts: 244
Joined: Thu May 23, 2013 12:25 am

Re: Infinite Furnace Vent procs from enemy

#8 Post 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
Please help with the ToME wiki!

ibanix
Wyrmic
Posts: 244
Joined: Thu May 23, 2013 12:25 am

Re: Infinite Furnace Vent procs from enemy

#9 Post 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.
Please help with the ToME wiki!

elboyo
Halfling
Posts: 113
Joined: Thu Jan 02, 2014 4:22 am

Re: Infinite Furnace Vent procs from enemy

#10 Post 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?

ibanix
Wyrmic
Posts: 244
Joined: Thu May 23, 2013 12:25 am

Re: Infinite Furnace Vent procs from enemy

#11 Post 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.
Please help with the ToME wiki!

Steven Aus
Archmage
Posts: 366
Joined: Sat Dec 13, 2014 3:38 pm

Re: Infinite Furnace Vent procs from enemy

#12 Post 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. :)

twas Brillig
Wyrmic
Posts: 279
Joined: Sun Nov 30, 2014 9:06 pm

Re: Infinite Furnace Vent procs from enemy

#13 Post 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.

ibanix
Wyrmic
Posts: 244
Joined: Thu May 23, 2013 12:25 am

Re: Infinite Furnace Vent procs from enemy

#14 Post 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....
Please help with the ToME wiki!

twas Brillig
Wyrmic
Posts: 279
Joined: Sun Nov 30, 2014 9:06 pm

Re: Infinite Furnace Vent procs from enemy

#15 Post 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.)

Post Reply