Re: Exp & Thac0 tables after adding levels

From: Mark A. Heilpern (heilpern@MINDSPRING.COM)
Date: 01/22/98

At 05:42 PM 1/21/98 -0600, you wrote:
>Just curious, those out there with 100+ levels, what did you do to your
>Thac0 tables. Did you simply reflect 20 accross your max levels or
>do some tweaking?

I have only a single thac0 table, which looks nothing like the original
(stock) table. My thac0 is an integer array; there is a single element
in the table for each class - here's what it looks like:

const int thaco[NUM_CLASSES] = {
        LVL_IMMORT * 1.3,       /* mage */
        LVL_IMMORT * 1, /* cleric */
        LVL_IMMORT * .95,       /* thief *
        LVL_IMMORT * .85        /* warrior */

What it defines is the level at which thac0 for the class is 1. (It is
assumed that level 1 for every class has a thac0 of 20.)

With this, in (i think it was fight.c), where the initial value of
calc_thaco was originally pulled from a table, I assign it as follows:

        calc_thaco - MAX(1, ((-19 / thaco[(int) GET_CLASS(ch)]) *
                GET_LEVEL(ch)) + 20);

This (unless I've messed up the math) spreads thac0 out from 20 to
1 linearly, with a slope based on the table above, and clips the bottom
end at 1.

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | |

This archive was generated by hypermail 2b30 : 12/15/00 PST