Effects in status bar are full of lies, LIES!

Where bugs go to lie down and rest

Moderator: Moderator

Post Reply
Message
Author
Grey
Loremaster
Posts: 3517
Joined: Thu Sep 23, 2010 10:18 pm
Location: London, England
Contact:

Effects in status bar are full of lies, LIES!

#1 Post by Grey »

Example - before casting Inner Power as a sustain I equip all my spellpower boosting items (yes, I'm a dirty cheat :P) to bump the stat bonus from +2 to +3. After casting I switcheroo my equipment back and I still have the +3 to my stats, but the tooltip on the sustain says +2 - LIES, I tell you!!

This isn't the only example of this, there's lots of tooltips that end up being inaccurate. It would be nice if the data reflected the reality. I'm sure the correct information must be available, as it removes the right amount when you take off the sustain.

There are also still discrepancies with the Grace of the Eternals tooltip and description, but I haven't a clue what the problem is there :)
http://www.gamesofgrey.com - My own T-Engine games!
Roguelike Radio - A podcast about roguelikes

marvalis
Uruivellas
Posts: 683
Joined: Sun Sep 05, 2010 5:11 am

Re: Effects in status bar are full of lies, LIES!

#2 Post by marvalis »

return game.player.sustain_talents will give you the table.
That is as far as I got ^_^ no successful bug hunt for me.

Seems to refer to the long description of the talent, as far as I can see, that should be right. Since the game shows otherwise, I am clearly wrong :].

UseTalents.lua

Code: Select all

				elseif t.mode == "sustained" then status = self.actor:isTalentActive(t.id) and tstring{{"color", "YELLOW"}, "Sustaining"} or tstring{{"color", "LIGHT_GREEN"}, "Sustain"} end
				list[#list+1] = { char=self:makeKeyChar(letter), name=t.name.." ("..typename..")", status=status, talent=t.id, desc=self.actor:getTalentFullDescription(t) }
				list.chars[self:makeKeyChar(letter)] = list[#list]
PlayerDisplay.lua

Code: Select all

	for tid, act in pairs(player.sustain_talents) do
		if act then
			local t = player:getTalentFromId(tid)
			local displayName = t.name
			if t.getDisplayName then displayName = t.getDisplayName(player, t, player:isTalentActive(tid)) end
			local desc = "#GOLD##{bold}#"..displayName.."#{normal}##WHITE#\n"..tostring(player:getTalentFullDescription(t))
			self:mouseTooltip(desc, self:makeTexture(("#LIGHT_GREEN#%s"):format(displayName), x, h, 255, 255, 255)) h = h + self.font_h
		end
	end
Whatever ;P I'm no good at this.

edge2054
Retired Ninja
Posts: 3756
Joined: Fri May 28, 2010 4:38 pm

Re: Effects in status bar are full of lies, LIES!

#3 Post by edge2054 »

Sustains just show the talent tooltip which as Grey pointed out is only accurate in the present.

Timed effects are set on cast and their display will be as it is when cast and not as it would be if it was cast right now.

One possible fix would be to add a secondary description to all sustained effects, in essence breaking the status bar away from the talent description.

Another, probably less popular fix would be to have all your sustains auto-refresh every time your stats changed :twisted: Thus preventing such cheesiness (which I abuse too so I'm not pointing fingers ;) ) in the first place.

Of course, that could get spammy, but maybe auto-refreshing like that (and on level up) could be made invisible to the player.

Grey
Loremaster
Posts: 3517
Joined: Thu Sep 23, 2010 10:18 pm
Location: London, England
Contact:

Re: Effects in status bar are full of lies, LIES!

#4 Post by Grey »

Auto-refreshing would be good I feel, as the current system have negatives for the player as well as abuses. However stats can change fairly frequently - is it appropriate to update sustains that often?
http://www.gamesofgrey.com - My own T-Engine games!
Roguelike Radio - A podcast about roguelikes

marvalis
Uruivellas
Posts: 683
Joined: Sun Sep 05, 2010 5:11 am

Re: Effects in status bar are full of lies, LIES!

#5 Post by marvalis »

edge2054 wrote:One possible fix would be to add a secondary description to all sustained effects, in essence breaking the status bar away from the talent description.
Or just copy the string to a new variable at the time of activating?

Post Reply