Re: Level Code Blocks

From: George Greer (greerga@circlemud.org)
Date: 01/13/01


On Sat, 13 Jan 2001, Brandon Allen wrote:

>/* WARRIOR */
>/* 0                   5                  10              15      */
>  {100, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3,
>  2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
>  /* 20             25             30                               */
>};
[...]
>  case CLASS_WARRIOR:
>    switch (level) {
>    case  0: return 100;
>    case  1: return  20;
>(BLAH BLAH BLAH)
> case 32: return   1;
> case 33: return   1;
> case 34: return   1;
>     default:
>      log("SYSERR: Missing level for warrior thac0.");
>    }
>  default:
>    log("SYSERR: Unknown class in thac0 chart.");
[...]
>may i ask why the this wqas changed ... ?

Because people would increase the number of levels in their MUD and cause
the array reference to go wildly off the end of the actual values, reading
some random bits of memory or possibly crashing.  This way we get to smack
them over the head and make them add more values.

--
George Greer            | If it's about the CircleMUD mailing list,
greerga@circlemud.org   | mail owner-circle@post.queensu.ca instead.

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/03/01 PST