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: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST