MassimilianoMarangio: Starting with a speed of -41 (i.e. pspeed = 69) or lower, the rate is only one tenth of a normal speed character (pspeed = 110). The code is in dungeon.c:

int speed_use = p_ptr->pspeed;

/* Maximum */
if (speed_use > 199)
{
        speed_use = 199;
}

/* Minimum */
else if (speed_use < 0)
{
        speed_use = 0;
}

/* Basic digestion rate based on speed */
i = extract_energy[speed_use] * 2;

and extract_energy is an array found in tables.c:

byte extract_energy[300] =
{
        /* Slow */     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        /* Slow */     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        /* Slow */     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        /* Slow */     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        /* Slow */     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        /* Slow */     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        /* S-50 */     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        /* S-40 */     2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
        /* S-30 */     2,    2,    2,    2,    2,    2,    2,    3,    3,    3,
        /* S-20 */     3,    3,    3,    3,    3,    4,    4,    4,    4,    4,
        /* S-10 */     5,    5,    5,    5,    6,    6,    7,    7,    8,    9,
        /* Norm */    10,   11,   12,   13,   14,   15,   16,   17,   18,   19,
        /* F+10 */    20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
        /* F+20 */    30,   31,   32,   33,   34,   35,   36,   36,   37,   37,
        /* F+30 */    38,   38,   39,   39,   40,   40,   40,   41,   41,   41,
        /* F+40 */    42,   42,   42,   43,   43,   43,   44,   44,   44,   44,
        /* F+50 */    45,   45,   45,   45,   45,   46,   46,   46,   46,   46,
        /* F+60 */    47,   47,   47,   47,   47,   48,   48,   48,   48,   48,
        /* F+70 */    49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Fast */    49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
        /* Virtual */  49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
};

MayLith: Is there a place in the SpoilerArchive that this can be copied to?

MassimilianoMarangio: Perhaps a new page about game mechanism? (for energy/speed, food consumption rate, number of blows, effects of damage types, etc.)

MayLith: I don't know how best to insert that sort of info into the SpoilerArchive, but your suggestion sounds great. IMHO one issue would be to use the same sort of heading throughout so that a search can pick out code-based documentation easily. (e.g. if code issues are put in other places than the section you describe.)

BugReport104/spoiler (last edited 2004-09-02 20:54:37 by MayLith)