Hi, I'm creating a sort of remort system for my mud. 
At level 50, characters can specialize in a certain
area, and then they will be set back to level 1, given
skills, and be considered a specialized class, such as
Wizard, Assassin etc.  All specalized classes are
restricted to certain classes.

Here's how I'm setting it up, for reference.  I'm
having them retain their old class information, and
just giving them new special class in addition.  So
there's a struct for sp_class (merc.h):

struct    sp_class_type
{
  char *  name;              /* the full name of the
special class  */
  char    who_name    [4];   /* Three-letter name for
'who' */
  sh_int  attribute;         /* secondary attribute   
         */
  char *  skills[5];         /* skills for the class  
    */
  int * class[2];      /* what classes can be this */
};


Then in const.c, I've set up a sp_class table to put
in all the new specialized classes:

const struct sp_class_type
sp_class_table[MAX_SP_CLASS] = {
    {
      "crusader", "Cru", STAT_STR,
      {""}, {class_lookup("paladin"),
class_lookup("cleric")},  /* line 517 */
    },

    {
      "druid", "Dru", STAT_DEX,
      {""}, {class_lookup("cleric"),
class_lookup("wilder")},  /* line 521 */
    },

..... etc etc

The blank {""}s are where I will put in the skills
that each class gets.  Right now I haven't gotten to
implementing the new skills yet, so they're blank for
now.

The reason for having an array of ints called class is
for determining what classes are able to specialize
(remort) as that class.  So for Crusader, it should
only allow clerics and paladins.  I wanted to do it
this way because it would allow for less coding later
on, when I do checks for class compatability, etc.

So here's my problem....

const.c:516: initializer element is not constant
const.c:516: (near initialization for
`sp_class_table[0].class[0]')
const.c:516: initializer element is not constant
const.c:516: (near initialization for
`sp_class_table[0].class[1]')
const.c:521: initializer element is not constant
const.c:521: (near initialization for
`sp_class_table[1].class[0]')
const.c:521: initializer element is not constant
const.c:521: (near initialization for
`sp_class_table[1].class[1]')
make: *** [obj/const.o] Error 1


I'm stumped.  I don't know what to do.  I've tried
entering a number manually, instead of having the
function class_lookup return one, and I get an error
because of the pointer (making an integer from pointer
without a cast, or somesuch...)

Thanks for reading.  Any help would be greatly appreciated.

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com

Reply via email to