PDA

View Full Version : Spell Window Improvements



CodE-E
04-07-2002, 01:28 PM
Hi,

I like the Spells windows in ShowEQ a lot - the one which tells you how long, approximately, the buffs you cast on people will last. I think it could me made a lot more useful though. :)

How? Well, simply add some option to make ShowEQ make a "beep", or play a sound file, whenever a buff is about to fade on the target. This would be a nice feature, in my humble opinion, for buff classes, such as Clerics, Shamans or Enchanters.

I doubt it will be very difficult to code (well, for you pros out there at least), and as I think this feature would make a lot of people happy, I ask you ShowEQ project folks to take a note of this suggestion.

Another suggestion for the Spell Window:

Display buffs in the Spell Windows not all as single elements. Display them in the same way as in the Objects Window (the one which lists NPCs, Players, Corpses etc. by default) - i.e. display a 'group' and in this there would be all the different 'items'. The 'group' would be the player name, and the 'items' would be the buffs. I am not sure if everyone will agree that this would be a better way to display buffs... please give your opinions! :)

topgun
04-18-2002, 04:16 AM
Spell timers don't work on my Damage Shield Spells. Can this be fixed, or are the DS different from other spells in the packet stream ???

The Spell timers don't add the extra time the Mage focus item adds to the duration af spell's. How come ??

(Yep im a mage)

mbozio
04-20-2002, 06:34 AM
the spell infos are extracted from the spdat.eff files. At least that's what is tell in the comment of the header file. So, if u take a look at the spell info this file have over your spell, u will see that there is no fixed time for it.

That said, seq can't set a timer on it.

Some spell use a formula to calculate the duration (based on level for the most of them) but it would be a lot of work to have seq do the same to guess the time.
Some spell's duration formula are just not documented in this files.

alt228
03-02-2003, 09:57 AM
You probably could set an alert on buffs wearing off. I mean, it has to remove the old items from the list - doesn't it? That implies it has some type of update function running.

Upon investigation, I found a piece of code in spelllist.cpp that looks like the right place to put a hook.



void SpellListItem::update()
{
//color change by Worried
//change spell colors according to time remaining

if (m_item->duration() > 120)
this->setTextColor(Qt::black);
else if (m_item->duration() <= 120 and m_item->duration() > 60)
this->setTextColor(QColor(128,54,193));
else if (m_item->duration() <= 60 and m_item->duration() > 30)
this->setTextColor(Qt::blue);
else if (m_item->duration() <= 30 and m_item->duration() > 12)
this->setTextColor(Qt::magenta);
else if (m_item->duration() <= 12)
this->setTextColor(Qt::red);

setText(SPELLCOL_SPELLID, QString("%1").arg(m_item->spellId()));
setText(SPELLCOL_SPELLNAME, m_item->spellName());
setText(SPELLCOL_CASTERID, QString("%1").arg(m_item->casterId()));
setText(SPELLCOL_CASTERNAME, m_item->casterName());
setText(SPELLCOL_TARGETID, QString("%1").arg(m_item->targetId()));
setText(SPELLCOL_TARGETNAME, m_item->targetName());
setText(SPELLCOL_CASTTIME, m_item->castTimeStr());
setText(SPELLCOL_DURATION, m_item->durationStr());
}


In fact, in the code (and comment) it appears that the color of the text already changes based on how long the spells have left to go. (I'm going to blame me not noticing it in the program on being red-green colorblind) I'm not volunteering to do this though, mainly because I wouldn't use it myself. I personally would like to see durations extended based on focus items/spells as well, and I'm going to look into that further unless somebody flames me and says that somebody else already took care of it.

Edit: typo