[crossfire] displaying protections changes with colors (was: Improved/redone client)

Raphaël Quinet raphael at gimp.org
Mon Oct 9 14:32:44 CDT 2006


On Mon, 9 Oct 2006 20:57:40 +0200, Raphaël Quinet <raphael at gimp.org> wrote:
> The most important information (from my point of wiew) would be:
> - The current range/attack: spell, weapon, bow, rod, ...
> - The total exp: it is very useful to be able to see if that number
>   changes while you are doing something, and by how much.  If I want
>   to see the details I can go to the "Skills & Experience" tab, but
>   usually it is enough for me to see if the total is increasing.
> - The current armor and other protections.  I am usually playing
>   characters that have temporary resistances from spell or potions and
>   I do not always see the messages telling me that some of them have
>   expired (especially in the middle of some combat that generates lots
>   of messages).  So keeping an eye on the protections is rather
>   useful.

I just thought about a way to improve how protections are displayed in
the client: temporarily change the color of the protection name and
value (percentage) in the "Protections" tab so that the player can see
quickly what has changed and in what direction (increase or decrease)
without having to read all the messages in the normal message window.

So for example, if you cast "protection from poison", you would see
the "poison" protection and its percentage displayed in green for 1 or
2 seconds, after which it switches back to black (or slowly fades to
black if we want to be fancy and waste CPU cycles).  When the spell
effect runs out, the percentage would be displayed in red for 1 or 2
seconds.  The same would happen if you drink a potion that protects
you from fire or cold, etc.

The colors would change briefly whenever your protections are
changing, so this would also happen if you wear or remove armor, rings
and other items that change your protections.  This would be a
complement to the usual messages and it would be easier to see quickly
what has changed without having to read all messages.

We could even use this brief change of colors for all values that can
change during the game: primary and secondary stats, skills and
experience, etc.  But maybe it would be too distracting for things
that change frequently, such as the total experience.  Anyway, it
shouldn't be too hard to implement this in a generic way in the client
(timer + callback for changing the color of the labels).

A further extension (even nicer) would be possible if the client could
know the difference between temporary and permanent changes to the
protections.  Temporary changes are the ones granted by spells or
potions; permanent changes come from equipment or player stats.  If
the client could know that some protections are temporary, they could
be displayed in some other color such as blue instead of black.  So
for example, if you cast "protection from attack" and then "protection
from cold", you would see the following changes in the protections:
  - armor % is displayed in green for 1-2 seconds (increase)
  - cold % is displayed in green for 1-2 seconds (increase)
  - armor % is displayed in blue (temporary protection, will expire)
  - cold % is displayed in blue (temporary protection, will expire)
  - after a while, armor % drops back to its normal value and is
    displayed in red (decrease) for 1-2 seconds, then back to black
  - same for cold %: red for 1-2 seconds, then the usual black.

-Raphaël



More information about the crossfire mailing list