I agree, the actively sustained talents should be shown both in the m-menu and in the hotkeys area. I am starting to use T-Engine to write my own RL, and what better way to familiarize myself with the codebase than to dive into it.
It wasn't until looking in the code that I realized the HotkeysDisplay already does this, showing active tasks in yellow. I am red/green color-blind so I never noticed this (the variation between yellow and green are too subtle for such small text). I changed the active color to blue in the patch below and can see it much better. DG, can you revisit the color choices?
Code: Select all
--- HotkeysDisplay.lua.old 2010-07-13 08:49:29.000000000 -0700
+++ HotkeysDisplay.lua 2010-07-13 08:49:35.000000000 -0700
@@ -78,7 +78,7 @@
color = {255,0,0}
elseif a:isTalentActive(t.id) then
txt = t.name
- color = {255,255,0}
+ color = {0,0,255}
else
txt = t.name
color = {0,255,0}
I had originally planned on having the color scheme of the m-menu reflect that of the hotkeys, but digging through the code I found that would require changes to the engine.Dialog.drawSelectionList function and decided that this fix was much cleaner. Here is the unified diff that adds "active" to the parentheses in the m-menu if a talent is active. Let me know if you think these patches are sufficient, and if you would prefer the color scheme implemented I can take a look into doing that. Cheers!
Code: Select all
--- UseTalents.lua.old 2010-07-13 09:09:50.000000000 -0700
+++ UseTalents.lua 2010-07-13 13:21:36.000000000 -0700
@@ -132,6 +132,8 @@
if self.actor:knowTalent(t.id) and t.mode ~= "passive" then
local typename = "talent"
if t.type[1]:find("^spell/") then typename = "spell" end
+ if self.actor:isTalentActive(t.id) then typename = typename..", active" end
+ if self.actor:isTalentCoolingDown(t) then typename = typename.." - "..self.actor:isTalentCoolingDown(t) end
list[#list+1] = { name=self:makeKey(letter)..") "..t.name.." ("..typename..")", talent=t.id }
keybind[self:makeKey(letter)] = #list + 1
if not self.sel then self.sel = #list + 1 end
EDIT: Modified the UseTalents diff to include a cooling down indicator in the m-menu.