Total RP 3

Total RP 3

4M Downloads

"Health Status" in tooltip

MortonSaltMug opened this issue ยท 2 comments

commented

The TRP3 tooltip contains a lot of information, but one piece of data I've noticed it to be lacking is a visual indicator of how "healthy" a character is in-game. Some tooltip addons include this reference as a bar (ElvUI comes to mind) with the actual UnitHealth() text.

I would like to see, as perhaps a toggle-able option, a reference indicator that corresponds to this value. I've made an internal test mock-up of the tooltip as a proof of concept and I'll include a screenshot. The inspiration comes from the old M.U.D. days when you'd inspect someone.

Additional context
wounds-tooltip

register_tooltip.lua

	--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
	-- OOC More information
	--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

	if showMoreInformation() and info.character and (info.character.CO or ""):len() > 0 then
		tooltipBuilder:AddLine(loc.DB_STATUS_CURRENTLY_OOC, 1, 1, 1, getSubLineFontSize());

		local text = strtrim(info.character.CO);
		text = limitText(text, getCurrentMaxSize(), getCurrentMaxLines());
		tooltipBuilder:AddLine(text, 1, 0.75, 0, getSmallLineFontSize(), true);
	end

tooltipBuilder:AddSpace();
	local healthNumStatus = (UnitHealth('mouseover') / UnitHealthMax('mouseover')) * 100;
	if healthNumStatus == 0 then 
		healthStatus = "|cFF9d9d9dDead|r";
	elseif healthNumStatus < 15 then 
		healthStatus = "|cFFb90000Near Death|r";
	elseif healthNumStatus < 25 then 
		healthStatus = "|cFFc4540aMortally Wounded|r";
	elseif healthNumStatus < 35 then 
		healthStatus = "|cFFef8616Gravely Wounded|r";
	elseif healthNumStatus < 45 then 
		healthStatus = "|cFFe69914Critical Wounds|r";
	elseif healthNumStatus < 55 then 
		healthStatus = "|cFFfaca25Severe Wounds|r";
	elseif healthNumStatus < 65 then 
		healthStatus = "|cFFedf429Major Wounds|r";
	elseif healthNumStatus < 75 then 
		healthStatus = "|cFFb9dd28Moderate Wounds|r";
	elseif healthNumStatus < 85 then 
		healthStatus = "|cFFc5fd4dMinor Wounds|r";
	elseif healthNumStatus >= 95 then 
		healthStatus = "|cFF00ff00Uninjured|r";
	end
	tooltipBuilder:AddLine("Health Status: " .. healthStatus, 1, 1, 1, getSubLineFontSize());
	tooltipBuilder:AddSpace();

	--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
	-- Target
	--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
commented

Hello.

While I agree that having a health indication in Total RP 3's tooltip is necessary, I don't think using hard-coded subjective text values will be a good fit. Everyone will see their interpretation of each step differently and will request options to customize those values, which will be a nightmare to maintain.

Also since a character's HP are not something you can directly control (you will eventually regen) I don't think they are a good indication of an in-RP condition. For someone that wants to play their character severely wounded for a while, it will be really hard to maintain their HP between 55% and 65%. I think a character's HP is an "out of character" info more than a roleplay decision, and actual wounds and health issues are better suited for the "Currently" section of the profile.

I would prefer to have an option (disabled by default) to have the health percentage in the tooltip.

commented

Perhaps I wasn't clear on the implementation of this idea.

I didn't mean for it to be an indicator of in-character condition/status. Personally I'm a player that likes to toss out heals in the world. I mean for this to be strictly a display of actual in-game health, rather than RP Hitpoints. I also do not use friendly nameplates (because frankly, they can clutter up screen space IMO) so the only way for me to see if someone needs a quick heal tossed to them without being in a group is to target the player (thereby losing my current target). With this snippet of code, I'm able to mouseover a target and see at a glance whether or not the player needs an actual heal.

As you said, maybe text-based values aren't the best interpretation of the idea, but I do feel the tooltip could use an optional 0-100% statusbar to indicate actual in-game mechanical health.