Portrait Text
Defining Champions

The following description of the text that one places in the cell in front of a Champion's Portrait in order to define that Champion's strength, etc. was written by ArgentumLupus and edited for consistency by me, Paul Stevens.  I take responsibilty for any errors.  Please report them to me.

=====================================================
Ok, here's the results of my research. if you can call
it that.

Let's use Hissssa as an example, because he's cool.
Razz: His text string is:
HISSSSA/LIZAR OF MAKAN//M/AAFAACGCAAAF/CIDKDACDCDCLDH/EDAAADBAAAAAAAAA

We know what HISSSSA and LIZAR OF MAKAN are. The slashes are just
separators, M is his gender. (Incidentally, I noticed Wuuf is
female. It's probably just creepy deja vu again but I could swear
I've known that for years.
Even so, is anyone else really surprised by this?)

Anyway. Hissssa's first section (AAFAACGCAAAF) breaks down
into AAFA, ACGC, and AAAF. They represent his max Health,
Stamina, and Mana values. Using four bits for each letter,
starting at 0000 for A:

AAFA = 0000-0000-0101-0000 = 0x0050 = 80 (Health)
ACGC = 0000-0010-0110-0010 = 0x0262 = 61.0 (Stamina)
AAAF = 0000-0000-0000-0101 = 0x0005 = 5 (Mana)

____________________________________________________________

The second section (CIDKDACDCDCLDH) determines Luck, Strength,
Dexterity, Wisdom, Vitality, Anti-Magic, and Anti-Fire,
breaking down into CI-DK-DA-CD-CD-CL-DH.

CI = 0010-1000 = 0x28 = 40 (Luck)
DK = 0011-1010 = 0x3a = 58 (Strength)
DA = 0011-0000 = 0x30 = 48 (Dexterity)
CD = 0010-0011 = 0x23 = 35 (Wisdom)
CD = 0010-0011 = 0x23 = 35 (Vitality)
CL = 0010-1011 = 0x2b = 43 (Anti-Magic)
DH = 0011-0111 = 0x37 = 55 (Anti-Fire)
____________________________________________________________

The third section (EDAAADBAAAAAAAAA) breaks down thusly:
E = 0100 = 4 = Hidden Fighter 1
D = 0011 = 3 = Hidden Fighter 2
A = 0000 = 0 = Hidden Fighter 3
A = 0000 = 0 = Hidden Fighter 4
A = 0000 = 0 = Hidden Ninja 1
D = 0011 = 3 = Hidden Ninja 2
B = 0001 = 1 = Hidden Ninja 3
A = 0000 = 0 = Hidden Ninja 4
A = 0000 = 0 = Hidden Priest 1
A = 0000 = 0 = Hidden Priest 2
A = 0000 = 0 = Hidden Priest 3
A = 0000 = 0 = Hidden Priest 4
A = 0000 = 0 = Hidden Wizard 1
A = 0000 = 0 = Hidden Wizard 2
A = 0000 = 0 = Hidden Wizard 3
A = 0000 = 0 = Hidden Wizard 4
____________________________________________________________


-Argent

PS- Thanks for pointing me to that function. It was
actually a huge help knowing the size of the groupings,
and I really wouldn't have ever found it by myself. [

P.P.S. Argent is referring to the function 'EncodePortraitText' which is part of the file 'EditText.cpp' in the CSBuild sources.
-Paul

The following conversion table was provided by zoooom:

Letter  4th  3rd  2nd  1st
  A      0     0    0   0
  B   4096   256   16   1
  C   8192   512   32   2
  D  12288   768   48   3
  E  16384  1024   64   4
  F  20480  1280   80   5
  G  24576  1536   96   6
  H  28672  1792  112   7
  I  32768  2048  128   8
  J  36864  2304  144   9
  K  40960  2560  160  10
  L  45056  2816  176  11
  M  49152  3072  192  12
  N  53248  3328  208  13
  O  57344  3584  224  14
  P  61440  3840  240  15

Example: DECK = 12288 + 1024 + 32 + 10 = 13354
Example: AN   = 0 + 13 = 13
Example: FINE = 20480 + 2048 + 208 + 4 = 22740