Re: Levels, Saving Throws

From: Edward J Glamkowski (eglamkowski@angelfire.com)
Date: 07/04/00


>   I have changed the number of levels from the standard 34 to 99 mortal
>levels and imms at 100+ and impl as 105.  I also changed the defines, and
>made sure the thac0 was ok.  So far so good, it seems to work as well, but I
>need to know exactly what to change...
>   Do I need to change Saving Throws from the present 40 to 105 or
>something?  Is there anything else that I need to change?
>

You should really make formulas for saving
throws, experience, thac0 and everything else
level dependent.  That way you can add levels
with impunity, or at least without fatal
errors (though there may be game balance
issues).

For example, my THAC0 function:
/* THAC0 for classes and levels.  (To Hit Armor Class 0) */
int thaco(int class_num, int level)
{
  int t = 100;

  if (level > 0){
    switch (class_num) {
    case CLASS_MAGIC_USER:
      t = (20 - (((float)level - 1.0) * 1.0 / 3.0));

    case CLASS_CLERIC:
      t = (20 - (((float)level - 1.0) * 2.0 / 3.0));

    case CLASS_THIEF:
      t = (20 - (((float)level - 1.0) * 0.5));

    case CLASS_WARRIOR:
      t = (20 - level);

    default:
      log("SYSERR: Unknown class in thac0 chart.");
    }
  }

  if (t < 1)
    t = 1;

  return t;
}


You'll also need to go through your
init_spell_levels() function in class.c to
adjust for increased levels.  Ditto for
backstab_mult().

The biggest issue that I see with increasing
the number of levels, especially by a large
number, is rebalancing everything (hit points,
spells, damage, etc.).  But in terms of required
code things, there isn't all that much to do.



Angelfire for your free web-based e-mail. http://www.angelfire.com


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT