Changeset 1019

Show
Ignore:
Timestamp:
10/02/08 15:58:28 (3 months ago)
Author:
takkaria
Message:

Make more skills be displayed numerically.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/files.c

    r1017 r1019  
    16231623         panel[i].value[0] = val1; panel[i].value[1] = val2; \ 
    16241624         i++; } 
     1625 
     1626/* colours for table items */ 
     1627static const byte colour_table[] = 
     1628{ 
     1629        TERM_RED, TERM_RED, TERM_RED, TERM_L_RED, TERM_ORANGE, 
     1630        TERM_YELLOW, TERM_YELLOW, TERM_GREEN, TERM_GREEN, TERM_L_GREEN, 
     1631        TERM_L_BLUE 
     1632}; 
    16251633 
    16261634int get_panel(int oid, data_panel *panel, size_t size) 
     
    17031711                panel[i].color = TERM_L_BLUE; 
    17041712                panel[i].label = skills[i].name; 
    1705                 if (i == 0) 
    1706                 { 
     1713                if (skills[i].skill == SKILL_SAVE || 
     1714                                skills[i].skill == SKILL_SEARCH) 
     1715                { 
     1716                        if (skill > 100) skill = 100; 
    17071717                        panel[i].fmt = "%y%%"; 
    17081718                        panel[i].value[0] = i2u(skill); 
    1709                         (void)likert(skill, skills[i].div, &panel[i].color); 
     1719                        panel[i].color = colour_table[skill / 10]; 
     1720                } 
     1721                else if (skills[i].skill == SKILL_SEARCH_FREQUENCY) 
     1722                { 
     1723                        if (skill <= 0) skill = 1; 
     1724                        if (skill >= 50) 
     1725                        { 
     1726                                panel[i].fmt = "1 in 1"; 
     1727                                panel[i].color = colour_table[10]; 
     1728                        } 
     1729                        else 
     1730                        { 
     1731                                /* convert to % chance of searching */ 
     1732                                skill = 50 - skill; 
     1733                                panel[i].fmt = "1 in %y"; 
     1734                                panel[i].value[0] = i2u(skill); 
     1735                                panel[i].color = 
     1736                                        colour_table[(100 - skill*2) / 10]; 
     1737                        } 
     1738                } 
     1739                else if (skills[i].skill == SKILL_DISARM) 
     1740                { 
     1741                        /* assume disarming a dungeon trap */ 
     1742                        skill -= 5; 
     1743                        if (skill > 100) skill = 100; 
     1744                        if (skill < 2) skill = 2; 
     1745                        panel[i].fmt = "%y%%"; 
     1746                        panel[i].value[0] = i2u(skill); 
     1747                        panel[i].color = colour_table[skill / 10]; 
    17101748                } 
    17111749                else