Wundersys - Anybody know what this GMCP error with alchemist humors is?

Sorry if this is the wrong place for this, I haven't found anywhere else that's up to date. I'm getting an error message whenever alchemist humors tick down.

[ AFF  ]  Temperedcholeric (4)
[rt] lose TEMPEREDCHOLERIC (4)
[ AFF  ]  temperedcholeric (3)
[rt] gain TEMPEREDCHOLERIC (3)
[Curing]: EAT ANTIMONY
You eat an antimony flake.
Your choleric humour drains some.Wsysf: stack_down( temperedcholeric ) but gmcp lost it?
[ERROR](1): stack_down( temperedcholeric ) but gmcp lost it?

This type of message repeats endlessly through fights with alchemists, and once I hit three on any humor I start eating antimony on every balance, which ends up getting me killed. This happens no matter how low my humor prio is. My echoes are correctly tracking the number, but the message makes me wonder if the system is losing track of the counts internally, running them up way higher than they're supposed to be, and then overprioritizing.

I tried googling this error and didn't see anything on it, so I don't even know where to start on fixing it. Considering switching to svof and seeing if that works any better, but if anybody's seen this error or knows what to do about it, that'd obviously be much appreciated.

EDIT: If it clarifies anything, this seems to be the relevant function, in "Aff Tracking" script:

function wsysf.aff_tracking.stack_down( aff, count )
	if wsysf.affs[aff] then
	-- Assume we only get these messages if we already know about them
		
		count = count or 1


		-- We shouldn't be using stack down with gmcp, should we?
		if wsysf.aff_tracking.lost[aff] then
			cecho("<red>Wsysf: stack_down( "..aff.." ) but gmcp lost it?")
			wsysf.core.debug.print(1, "stack_down( "..aff.." ) but gmcp lost it?")
		elseif wsysf.affv[aff] > 1 then
			wsysf.affs[aff] = wsysf.affv[aff] - count
			
			wsysf.core.debug.print(5, aff.."="..wsysf.affs[aff] )
			raiseEvent( "wsysf lost aff", aff )
		else
			wsysf.core.debug.print(2, "stack_down( "..aff.." ) at 1 stack?: "..tostring(wsysf.affs[aff]))
		end
	end
end

Best Answer

Answers

  • 90% sure that's the problem, yes. For now I've switched to svof but once I've got some more coding practice I might switch back and make adjustments, so I'll come back to this if I need to fix it in the future, thanks.

  • I'm getting this too, when I get a sec to fix it I'll post what I did.

  • Humour down trigger:

    --wsysf.aff_tracking.stack_down( "tempered"..matches[2] )

    ^Comment that line out


    There's another called Humour down:

    --wsys.humourDown(matches[2])

    wsys.humourLevelLost()

    ^Comment out that first line, I didn't see that script in mine? It...seems to be working now, and it's not the most elegant solution, but as far as I can tell, Wundersys is already tracking the stack numbers correctly, there're just some old helpers still active that are no longer needed.

Sign In or Register to comment.