Thread Tools Display Modes
03-31-06, 12:58 AM   #1
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
Cirk's Innerfire

Innerfire is a priest class addon that shows the number of charges remaining to Inner Fire on its buff icon.

Current version
Innerfire is currently version 1.10.3.

Download page
http://www.wowinterface.com/download...fo.php?id=4787

Known bugs
None known.

Miscellaneous
Should now work with CTMod's, GypsyMod's, and Satrina's custom buff frames.

Future enhancements
None planned.


-- Cirk of Doomhammer
__________________
Cirk's Addons

Last edited by Cirk : 04-09-06 at 06:52 PM. Reason: version 1.10.3
  Reply With Quote
03-31-06, 08:15 AM   #2
svartalfimposter
A Wyrmkin Dreamwalker
 
svartalfimposter's Avatar
Join Date: Jul 2005
Posts: 49
You're a legend, Cirk, many thanks
  Reply With Quote
03-31-06, 01:34 PM   #3
fivehundred
A Kobold Labourer
Join Date: May 2005
Posts: 1
Originally Posted by Cirk

Future enhancements
None planned.


-- Cirk of Doomhammer
Could you perhaps make it so when you press the forward key it will execute the macro that will turn inner fire on for you? Perhaps add an option to turn this on and off?
  Reply With Quote
03-31-06, 01:49 PM   #4
svartalfimposter
A Wyrmkin Dreamwalker
 
svartalfimposter's Avatar
Join Date: Jul 2005
Posts: 49
You can't hook anything to movement keys.

Patch 1.10 killed a bazillion addons :/
  Reply With Quote
03-31-06, 01:59 PM   #5
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
Originally Posted by fivehundred
Could you perhaps make it so when you press the forward key it will execute the macro that will turn inner fire on for you? Perhaps add an option to turn this on and off?
fivehundred, that sort of functionality (hooking the movement keys) is no longer available in 1.10, but I'm not a fan of that sort of thing anyway (and apparently neither is Blizzard) so its not something I'd be adding even if it was possible. I guess I just don't find it that hard to check my buffs are up before I start attacking a new beastie - particularly for spells that might have a significant mana cost (PW:F, AI, etc.). Using a macro for checking Inner Fire (via HasInnerFire) and recasting it if its needed is a convenience feature so that I can be sure that my Inner Fire won't expire on me before I start a new fight, without worrying about wasting mana on unneccessary recasts.

Note too that Innerfire doesn't cast Inner Fire for you in any way shape or form - it just provides you information about Inner Fire when you do cast it (via action button, spellbook, or macro). So if you still want to use another addon that automatically casts all your spells for you, you can, and Innerfire will still show you the charges remaining.


-- Cirk
__________________
Cirk's Addons
  Reply With Quote
04-01-06, 05:33 AM   #6
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
I've just uploaded version 1.10.1 of Innerfire which should work now with custom buff frames such as those provided by CTMod and GypsyMod, and Satrina's Buff Frame.

Note that the standard GypsyMod BuffFrame doesn't show any stackable buffs or debuffs, so Innerfire won't work with that. You'll need an "improved" version, like the Reborn one if you use GypsyMod and want Innerfire to work with it. More details are on the download page.

Enjoy!
-- Cirk
__________________
Cirk's Addons
  Reply With Quote
04-01-06, 06:13 AM   #7
maximoz
A Kobold Labourer
Join Date: Mar 2005
Posts: 1
Originally Posted by Cirk
I've just uploaded version 1.10.1 of Innerfire which should work now with custom buff frames such as those provided by CTMod and GypsyMod, and Satrina's Buff Frame.

Note that the standard GypsyMod BuffFrame doesn't show any stackable buffs or debuffs, so Innerfire won't work with that. You'll need an "improved" version, like the Reborn one if you use GypsyMod and want Innerfire to work with it. More details are on the download page.

Enjoy!
-- Cirk
Woot ... awesome job man !!!

Many many thanks
  Reply With Quote
04-03-06, 05:48 AM   #8
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
I've just uploaded version 1.10.2 of Innerfire:
  • Fixed a bug where Innerfire wasn't recognizing when Inner Fire had failed to be cast from a macro due to you being out-of-mana or when another action was in progress.
  • Slight optimization for processing of damage events.

Hopefully thats all the changes it will be needing for now!

Cheers,
-- Cirk
__________________
Cirk's Addons
  Reply With Quote
04-10-06, 05:01 AM   #9
Heino_H
A Murloc Raider
Join Date: Apr 2006
Posts: 8
Still problems with localization

Hello Cirk,

thank you very much for your prompt help and sorry for my delayed reply but I spent some nice days in Prague without internet and wow

Well, here is my update for you (tested only with the german client so far):

With the changes you posted I don't get error messages any more and a normal hit from a mob corretly removes a charge from inner fire.

But a special attack (Shardtooth Mauler's Maul hits you for xxx.) seems to be ignored. I don't get an error message and a look into the combat log raises this suspicion because in the case I get 20 hits (4 of them special attacks) the inner fire symbol disappears after these 20 hits with 4 charges from your counter left.

I looked around and found some hints for an eventual solution in other mods.

SW_Stats

http://ui.worldofwar.net/ui.php?id=1766

In init.lua and localization.DE.lua the author does some funny things with strings. And from what I can read off his comments he had similar problems with languages other than english.

In an article about string manipulation with lua (don't know any more where I found it) the mod MarsNeedyGreedy

http://www.curse-gaming.com/mod.php?addid=2275

was mentioned, in particular the included MarsMessageParser.lua

Sure, this is a shot into the dark since my lua knowledge is still limited to "Hello World"

I will do some further investigations with the german and french client and let you know if I find something useful.

Thank you again for your help and patience

Cheers

Serentim aka Heino_H

EDIT:

After some testing with the german and french client I can say for sure that special attacks (non-crit) do not remove charges (but no error message as mentioned before). I did not get a SPELLLOGCRITOTHERSELF so far but I keep on fighting so I can see what happens then

Last edited by Heino_H : 04-10-06 at 08:26 AM.
  Reply With Quote
04-10-06, 08:21 AM   #10
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
Hey Heino_H, looking at your results again, I think the problem is that I wasn't handling the "(" and ")" characters when converting the format strings to pattern texts. So, I have a new version of Innerfire_ConvertStringToFind I'm hopinhg you can test for me. I've tested that it works on the default english client, and also wrote a quick test function to simulate it working with the german client strings that you presented in your posts, so I'm fairly confident it will work perfectly .

You'll find the Innerfire_ConvertStringToFind function at line 274 of Innerfire.lua (v1.10.3), and it needs to be replaced with this new version:
Code:
local function Innerfire_ConvertStringToFind(text)
    -- Given a text string containing %s and %d parameters, this function
    -- converts these to a string that can be passed to string.find to extract
    -- the parameters from text formatted using this string.  The approach
    -- used is to first remove any EU client parameter translation order (of
    -- the form %1$s, %2$d, etc.), then to convert all special characters
    -- except % itself, and then finally convert the %s and %d values.
    local newText = string.gsub(text, "%%%d%$", "%%");
    newText = string.gsub(newText, "([%^%$%(%)%.%[%]%*%+%-%?])", "%%%1");
    newText = string.gsub(newText, "%%s", "(.+)");
    newText = string.gsub(newText, "%%d", "(%%d+)");
    return newText;
end
Those sequences of %'s are a bit strange looking I know, but very important, and I'd definitely recommend copying and pasting this if you can rather than re-typing it, since it'd be easy to get it wrong otherwise.

Thanks again for doing this testing!

-- Cirk
PS: If you feel inspired to convert the other text strings in localization.lua and post them here, I'll try and include them in 1.10.4 to have a fully localized version for you!
__________________
Cirk's Addons
  Reply With Quote
04-10-06, 09:24 AM   #11
Heino_H
A Murloc Raider
Join Date: Apr 2006
Posts: 8
Smile

Hello Cirk.

The last changes made my day and the mod now works perfectly with the german client. Thank you very very much

With the french client the mod still behaves a bit *****y. No charges removed when hit with SPELLLOGOTHERSELF. But I'm sure you will find a solution for this

A german translation for localization.lua will come in as soon as possible. That's the least I can do to say thanks.

Cheers
  Reply With Quote
04-10-06, 11:58 AM   #12
Heino_H
A Murloc Raider
Join Date: Apr 2006
Posts: 8
German translation in localization.lua

------------------------------------------------------------------------------
-- German localization
------------------------------------------------------------------------------
if (GetLocale() == "deDE") then
INNERFIRE_TEXT = {
-- Name of spell in spellbook
SPELLNAME_INNER_FIRE = "Inneres Feuer",

-- Slash commands
COMMAND_HELP = "hilfe",
COMMAND_ON = "an",
COMMAND_ENABLE = "einschalten",
COMMAND_OFF = "aus",
COMMAND_DISABLE = "ausschalten",
COMMAND_STATUS = "status",
COMMAND_DEBUGON = "debugan",
COMMAND_DEBUGOFF = "debugaus",
COMMAND_MACRO = "makro", -- new slash command for HasInnerFire help

-- Slash command responses
COMMAND_ENABLE_CONFIRM = INNERFIRE_EM.ON.."Innerfire ist eingeschaltet"..INNERFIRE_EM.OFF,
COMMAND_DISABLE_CONFIRM = INNERFIRE_EM.ON.."Innerfire ist ausgeschaltet"..INNERFIRE_EM.OFF,
COMMAND_ENABLE_FAILED = INNERFIRE_EM.RED.."Innerfire kann f\195\188r deine Klasse nicht aktiviert werden"..INNERFIRE_EM.OFF,
COMMAND_ENABLED_STATUS = INNERFIRE_EM.ON.."Innerfire ist im Moment eingeschaltet"..INNERFIRE_EM.OFF,
COMMAND_DISABLED_STATUS = INNERFIRE_EM.ON.."Innerfire ist im Moment ausgeschaltet"..INNERFIRE_EM.OFF,
COMMAND_UNABLE_STATUS = INNERFIRE_EM.ON.."Innerfire ist f\195\188r deine Klasse nicht aktiviert"..INNERFIRE_EM.OFF,
COMMAND_MACRO_HELP = INNERFIRE_EM.ON.."Dieses Makro w\195\188rde "..INNERFIRE_EM.OFF.."\"Inneres Feuer\" "..INNERFIRE_EM.ON.."dann einschalten wenn es nicht an ist, nur noch maximal 5 Aufladungen oder 30 Sekunden Restlaufzeit hat. Bei gedr\195\188ckter ALT Taste wird "..INNERFIRE_EM.OFF.."\"Inneres Feuer\" "..INNERFIRE_EM.ON.."auf jeden Fall gecastet, egal wieviele Aufladungen oder Restzeit noch \195\188brig sind: "..INNERFIRE_EM.OFF.."\n/script if IsAltKeyDown() then CastSpellByName(\"Inneres Feuer\"); elseif not HasInnerFire(5, 30) then CastSpellByName(\"Inneres Feuer\"); end",
-- new command response and an example for HasInnerFire so I hopefully never forget how to use this useful function
COMMAND_DEBUGON_CONFIRM = "Innerfire debuggen ist eingeschaltet",
COMMAND_DEBUGOFF_CONFIRM = "Innerfire debuggen ist ausgeschaltet",

-- Debug header
DEBUG = INNERFIRE_EM.ON.."Innerfire: "..INNERFIRE_EM.OFF;
};

-- Help text
INNERFIRE_HELP = {
INNERFIRE_EM.ON.."Stellt einen Z\195\164hler zur Verf\195\188gung der anzeigt, wieviele Aufladungen f\195\188r den \"Inneres Feuer\" St\195\164rkungszauber eines Priesters verbleiben"..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_HELP..INNERFIRE_EM.ON.." zeigt diesen Hilfe Text an"..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_ON..INNERFIRE_EM.ON.." schaltet Innerfire an"..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_OFF..INNERFIRE_EM.ON.." schaltet Innerfire aus"..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_STATUS..INNERFIRE_EM.ON.." zeigt den Status von Innerfire"..INNERFIRE_EM.OFF,
INNERFIRE_EM.ON.."Bietet auch die durch ein Makro aufrufbare Funktion "..INNERFIRE_EM.OFF.."HasInnerFire(minCharges, minDuration)",
" /innerfire "..INNERFIRE_TEXT.COMMAND_MACRO..INNERFIRE_EM.ON.." zeigt ein Beispiel f\195\188r die Funktion "..INNERFIRE_EM.OFF.."HasInnerFire(minCharges, minDuration)", -- new help text for HasInnerFire

};
end

In innerfire.lua I added under command section:

elseif (command == INNERFIRE_TEXT.COMMAND_MACRO) then
if (DEFAULT_CHAT_FRAME) then
DEFAULT_CHAT_FRAME:AddMessage(INNERFIRE_TEXT.COMMAND_MACRO_HELP);

I hope I didn't break anything with these modifications but as far as I can tell everything works as well as before

EDIT:

I added some functionality to show a help for the HasInnerFire(minCharges, minDuration) function (marked above).

I hope it's ok for you that I modified the mod in this way but I'm a forgetful guy and it should be very helpful for me and maybe my guildmates

Cheers

Serentim aka Heino_H

Last edited by Heino_H : 04-12-06 at 03:49 AM.
  Reply With Quote
04-10-06, 08:04 PM   #13
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
Originally Posted by Heino_H
With the french client the mod still behaves a bit *****y. No charges removed when hit with SPELLLOGOTHERSELF. But I'm sure you will find a solution for this
Hmmm, that is odd. I did test the new StringToFind function with the french client's COMBAT and SPELL strings you posted before, and it seemed to work ok with them (i.e., testing them against "by hand" generated example strings seemed to work) so not sure what is going on there. If you want to look into this further, perhaps you could record the combat log of a fight where this happens (the command on the english client is /combatlog which toggles combat logging on and off, and it should tell you where it is putting the log) and post that here?

Originally Posted by Heino_H
German translation in localization.lua
...
Thats awesome, thankyou!

Originally Posted by Heino_H
I added some functionality to show a help for the HasInnerFire(minCharges, minDuration) function (marked above).
Thats not a bad idea, I might roll that in as well

Thankyou again for your help Serentim, its very much appreciated!

Cheers
-- Cirk
__________________
Cirk's Addons
  Reply With Quote
04-10-06, 11:37 AM   #14
akutani
A Murloc Raider
Join Date: Apr 2006
Posts: 7
Hey, I use discord mods and I can't get it to show how many charges I have at all. What do I need to do to get it to work. I know nothing about scripting .
  Reply With Quote
04-10-06, 12:12 PM   #15
akutani
A Murloc Raider
Join Date: Apr 2006
Posts: 7
i had to use the http://ui.worldofwar.net/ui.php?id=2005 reborn one to get it to work
  Reply With Quote
04-10-06, 07:12 PM   #16
limdul
A Murloc Raider
Join Date: Jan 2006
Posts: 6
Could you add a "HasShadowGuard(x duration) too? would be nice to use this on both spells, since they normaly need to be recast the same time
  Reply With Quote
04-10-06, 08:35 PM   #17
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
Originally Posted by akutani
i had to use the http://ui.worldofwar.net/ui.php?id=2005 reborn one to get it to work
Yes akutani, thats something that I noted specifically in the download page, and in my posts above - the default GypsyMod buff bar (still) doesn't have a text object for rendering the count into, so you need to use an "improved" one, such as the one you downloaded (which is the same one I linked in my post too).

Originally Posted by limdul
Could you add a "HasShadowGuard(x duration) too? would be nice to use this on both spells, since they normaly need to be recast the same time
I'd rather not roll this into the Innerfire addon directly limdul, since I really want it to be Inner Fire specific, rather than also support other things. You can pretty readily find addons that will remind you about buffs fading as well (such as Smartbuff). Alternatively, you can make a macro that will do something similar to a macro using HasInnerFire, but does it all in the one macro (no other addons required). I could write that for you if I knew what the texture for the Shadowguard buff icon was (I don't have a Troll priest of level 20 to find it out myself).

Cheers
-- Cirk
__________________
Cirk's Addons
  Reply With Quote
04-16-06, 04:42 PM   #18
corveroth
A Fallenroot Satyr
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 29
This is a very awesome mod; I was starting to think I'd need to learn some of this stuff myself to write one for this! While this is sufficient in its current state, could I make a request, hopefully a small one? Instead of having the number of charges printed on top of the buff icon, I'd rather have it print to a medium-sze (slightly bigger than a normal icon) movable frame. Of course, I'm sure that seems fairly random, so if you tell me just to muddle though learning LUA myself, I'll understand.
  Reply With Quote
04-18-06, 12:39 PM   #19
Ferdydurke
A Kobold Labourer
Join Date: Mar 2006
Posts: 1
Hi Cirk,

A french translation in localization.lua

------------------------------------------------------------------------------
-- French localization
------------------------------------------------------------------------------
if (GetLocale() == "frFR") then
INNERFIRE_TEXT = {
-- Name of spell in spellbook
SPELLNAME_INNER_FIRE = "Feu int\195\169rieur",

-- Slash commands
COMMAND_HELP = "help",
COMMAND_ON = "on",
COMMAND_ENABLE = "enable",
COMMAND_OFF = "off",
COMMAND_DISABLE = "disable",
COMMAND_STATUS = "status",
COMMAND_DEBUGON = "debugon",
COMMAND_DEBUGOFF = "debugoff",

-- Slash command responses
COMMAND_ENABLE_CONFIRM = INNERFIRE_EM.ON.."Innerfire est activ\195\169."..INNERFIRE_EM.OFF,
COMMAND_DISABLE_CONFIRM = INNERFIRE_EM.ON.."Innerfire est d\195\169sactiv\195\169."..INNERFIRE_EM.OFF,
COMMAND_ENABLE_FAILED = INNERFIRE_EM.RED.."Innerfire ne peut pas \195\170tre activ\195\169 pour votre classe."..INNERFIRE_EM.OFF,
COMMAND_ENABLED_STATUS = INNERFIRE_EM.ON.."Innerfire est actuellement activ\195\169."..INNERFIRE_EM.OFF,
COMMAND_DISABLED_STATUS = INNERFIRE_EM.ON.."Innerfire est actuellement d\195\169sactiv\195\169."..INNERFIRE_EM.OFF,
COMMAND_UNABLE_STATUS = INNERFIRE_EM.ON.."Innerfire n\39est pas activable pour votre classe."..INNERFIRE_EM.OFF,
COMMAND_DEBUGON_CONFIRM = "Innerfire debug activ\195\169.",
COMMAND_DEBUGOFF_CONFIRM = "Innerfire debug d\195\169sactiv\195\169.",

-- Debug header
DEBUG = INNERFIRE_EM.ON.."Innerfire: "..INNERFIRE_EM.OFF;
};

-- Help text
INNERFIRE_HELP = {
INNERFIRE_EM.ON.."Affiche un compteur indiquant le nombre de charges qui restent au buff Feu int\195\169rieur d\39un pr\195\170tre."..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_HELP..INNERFIRE_EM.ON.." montre ce message d\39aide"..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_ON..INNERFIRE_EM.ON.." active Innerfire"..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_OFF..INNERFIRE_EM.ON.." d\195\169sactive Innerfire"..INNERFIRE_EM.OFF,
" /innerfire "..INNERFIRE_TEXT.COMMAND_STATUS..INNERFIRE_EM.ON.." montre le r\195\169glage de Innerfire"..INNERFIRE_EM.OFF,
INNERFIRE_EM.ON.."Introduit aussi la fonction utilisable par macro "..INNERFIRE_EM.OFF.."HasInnerFire(minCharges, minDuration)"
};
end

------------------------------------------------------------------------------


Thanks for your mod !

Ferdydurke

Last edited by Ferdydurke : 04-18-06 at 12:42 PM.
  Reply With Quote
04-20-06, 11:22 AM   #20
SyrinxPriest
A Fallenroot Satyr
 
SyrinxPriest's Avatar
Join Date: Feb 2006
Posts: 22
Don't know if this has been suggested or if it's even possible but, was wondering if you could have an option to send a message/tone to the chat frame or the player frame when the charges left reach a certain number.

Say you set your charges left to 5, when your inner fire reaches 5 charges left, a tone is played notifying me to rebuff myself.

Kind of like the function you have built into your Blessing's mod for paladins when they reach a time limit.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » Released AddOns » Cirk's Innerfire


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off